diff --git a/src/battle-scene.ts b/src/battle-scene.ts index cbaf07d579c..34d26b3975c 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -129,12 +129,12 @@ import { ArenaFlyout } from "#app/ui/arena-flyout"; import { EaseType } from "#enums/ease-type"; import { BattleSpec } from "#enums/battle-spec"; import { BattleStyle } from "#enums/battle-style"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import type { ExpNotification } from "#enums/exp-notification"; import { MoneyFormat } from "#enums/money-format"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { PlayerGender } from "#enums/player-gender"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { UiTheme } from "#enums/ui-theme"; import { TimedEventManager } from "#app/timed-event-manager"; import type { PokemonAnimType } from "#enums/pokemon-anim-type"; @@ -707,14 +707,14 @@ export default class BattleScene extends SceneBase { ui.setup(); - const defaultMoves = [Moves.TACKLE, Moves.TAIL_WHIP, Moves.FOCUS_ENERGY, Moves.STRUGGLE]; + const defaultMoves = [MoveId.TACKLE, MoveId.TAIL_WHIP, MoveId.FOCUS_ENERGY, MoveId.STRUGGLE]; Promise.all([ Promise.all(loadPokemonAssets), initCommonAnims().then(() => loadCommonAnimAssets(true)), - Promise.all([Moves.TACKLE, Moves.TAIL_WHIP, Moves.FOCUS_ENERGY, Moves.STRUGGLE].map(m => initMoveAnim(m))).then( - () => loadMoveAnimAssets(defaultMoves, true), - ), + Promise.all( + [MoveId.TACKLE, MoveId.TAIL_WHIP, MoveId.FOCUS_ENERGY, MoveId.STRUGGLE].map(m => initMoveAnim(m)), + ).then(() => loadMoveAnimAssets(defaultMoves, true)), this.initStarterColors(), ]).then(() => { this.pushPhase(new LoginPhase()); @@ -1225,7 +1225,7 @@ export default class BattleScene extends SceneBase { [this.luckLabelText, this.luckText].map(t => t.setVisible(false)); - this.newArena(Overrides.STARTING_BIOME_OVERRIDE || Biome.TOWN); + this.newArena(Overrides.STARTING_BIOME_OVERRIDE || BiomeId.TOWN); this.field.setVisible(true); @@ -1501,7 +1501,7 @@ export default class BattleScene extends SceneBase { pokemon.resetTera(); applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon); if ( - pokemon.hasSpecies(Species.TERAPAGOS) || + pokemon.hasSpecies(SpeciesId.TERAPAGOS) || (this.gameMode.isClassic && this.currentBattle.waveIndex > 180 && this.currentBattle.waveIndex <= 190) ) { this.arena.playerTerasUsed = 0; @@ -1532,8 +1532,8 @@ export default class BattleScene extends SceneBase { return this.currentBattle; } - newArena(biome: Biome, playerFaints?: number): Arena { - this.arena = new Arena(biome, Biome[biome].toLowerCase(), playerFaints); + newArena(biome: BiomeId, playerFaints?: number): Arena { + this.arena = new Arena(biome, BiomeId[biome].toLowerCase(), playerFaints); this.eventTarget.dispatchEvent(new NewArenaEvent()); this.arenaBg.pipelineData = { @@ -1599,7 +1599,7 @@ export default class BattleScene extends SceneBase { !isNullOrUndefined(this.currentBattle.trainer) && this.currentBattle.trainer.config.hasSpecialtyType() ) { - if (species.speciesId === Species.WORMADAM) { + if (species.speciesId === SpeciesId.WORMADAM) { switch (this.currentBattle.trainer.config.specialtyType) { case PokemonType.GROUND: return 1; // Sandy Cloak @@ -1609,7 +1609,7 @@ export default class BattleScene extends SceneBase { return 0; // Plant Cloak } } - if (species.speciesId === Species.ROTOM) { + if (species.speciesId === SpeciesId.ROTOM) { switch (this.currentBattle.trainer.config.specialtyType) { case PokemonType.FLYING: return 4; // Fan Rotom @@ -1625,7 +1625,7 @@ export default class BattleScene extends SceneBase { return 3; // Frost Rotom } } - if (species.speciesId === Species.ORICORIO) { + if (species.speciesId === SpeciesId.ORICORIO) { switch (this.currentBattle.trainer.config.specialtyType) { case PokemonType.GHOST: return 3; // Sensu Style @@ -1637,7 +1637,7 @@ export default class BattleScene extends SceneBase { return 2; // Pa'u Style } } - if (species.speciesId === Species.PALDEA_TAUROS) { + if (species.speciesId === SpeciesId.PALDEA_TAUROS) { switch (this.currentBattle.trainer.config.specialtyType) { case PokemonType.FIRE: return 1; // Blaze Breed @@ -1645,41 +1645,41 @@ export default class BattleScene extends SceneBase { return 2; // Aqua Breed } } - if (species.speciesId === Species.SILVALLY || species.speciesId === Species.ARCEUS) { + if (species.speciesId === SpeciesId.SILVALLY || species.speciesId === SpeciesId.ARCEUS) { // Would probably never happen, but might as well return this.currentBattle.trainer.config.specialtyType; } } switch (species.speciesId) { - case Species.UNOWN: - case Species.SHELLOS: - case Species.GASTRODON: - case Species.BASCULIN: - case Species.DEERLING: - case Species.SAWSBUCK: - case Species.SCATTERBUG: - case Species.SPEWPA: - case Species.VIVILLON: - case Species.FLABEBE: - case Species.FLOETTE: - case Species.FLORGES: - case Species.FURFROU: - case Species.PUMPKABOO: - case Species.GOURGEIST: - case Species.ORICORIO: - case Species.MAGEARNA: - case Species.ZARUDE: - case Species.SQUAWKABILLY: - case Species.TATSUGIRI: - case Species.PALDEA_TAUROS: + case SpeciesId.UNOWN: + case SpeciesId.SHELLOS: + case SpeciesId.GASTRODON: + case SpeciesId.BASCULIN: + case SpeciesId.DEERLING: + case SpeciesId.SAWSBUCK: + case SpeciesId.SCATTERBUG: + case SpeciesId.SPEWPA: + case SpeciesId.VIVILLON: + case SpeciesId.FLABEBE: + case SpeciesId.FLOETTE: + case SpeciesId.FLORGES: + case SpeciesId.FURFROU: + case SpeciesId.PUMPKABOO: + case SpeciesId.GOURGEIST: + case SpeciesId.ORICORIO: + case SpeciesId.MAGEARNA: + case SpeciesId.ZARUDE: + case SpeciesId.SQUAWKABILLY: + case SpeciesId.TATSUGIRI: + case SpeciesId.PALDEA_TAUROS: return randSeedInt(species.forms.length); - case Species.PIKACHU: + case SpeciesId.PIKACHU: if (this.currentBattle?.battleType === BattleType.TRAINER && this.currentBattle?.waveIndex < 30) { return 0; // Ban Cosplay and Partner Pika from Trainers before wave 30 } return randSeedInt(8); - case Species.EEVEE: + case SpeciesId.EEVEE: if ( this.currentBattle?.battleType === BattleType.TRAINER && this.currentBattle?.waveIndex < 30 && @@ -1688,27 +1688,27 @@ export default class BattleScene extends SceneBase { return 0; // No Partner Eevee for Wave 12 Preschoolers } return randSeedInt(2); - case Species.FROAKIE: - case Species.FROGADIER: - case Species.GRENINJA: + case SpeciesId.FROAKIE: + case SpeciesId.FROGADIER: + case SpeciesId.GRENINJA: if (this.currentBattle?.battleType === BattleType.TRAINER && !isEggPhase) { return 0; // Don't give trainers Battle Bond Greninja, Froakie or Frogadier } return randSeedInt(2); - case Species.URSHIFU: + case SpeciesId.URSHIFU: return randSeedInt(2); - case Species.ZYGARDE: + case SpeciesId.ZYGARDE: return randSeedInt(4); - case Species.MINIOR: + case SpeciesId.MINIOR: return randSeedInt(7); - case Species.ALCREMIE: + case SpeciesId.ALCREMIE: return randSeedInt(9); - case Species.MEOWSTIC: - case Species.INDEEDEE: - case Species.BASCULEGION: - case Species.OINKOLOGNE: + case SpeciesId.MEOWSTIC: + case SpeciesId.INDEEDEE: + case SpeciesId.BASCULEGION: + case SpeciesId.OINKOLOGNE: return gender === Gender.FEMALE ? 1 : 0; - case Species.TOXTRICITY: { + case SpeciesId.TOXTRICITY: { const lowkeyNatures = [ Nature.LONELY, Nature.BOLD, @@ -1728,7 +1728,7 @@ export default class BattleScene extends SceneBase { } return 0; } - case Species.GIMMIGHOUL: + case SpeciesId.GIMMIGHOUL: // Chest form can only be found in Mysterious Chest Encounter, if this is a game mode with MEs if (this.gameMode.hasMysteryEncounters && !isEggPhase) { return 1; // Wandering form @@ -1738,10 +1738,10 @@ export default class BattleScene extends SceneBase { if (ignoreArena) { switch (species.speciesId) { - case Species.BURMY: - case Species.WORMADAM: - case Species.ROTOM: - case Species.LYCANROC: + case SpeciesId.BURMY: + case SpeciesId.WORMADAM: + case SpeciesId.ROTOM: + case SpeciesId.LYCANROC: return randSeedInt(species.forms.length); } return 0; @@ -2172,10 +2172,10 @@ export default class BattleScene extends SceneBase { return filteredSpecies[randSeedInt(filteredSpecies.length)]; } - generateRandomBiome(waveIndex: number): Biome { + generateRandomBiome(waveIndex: number): BiomeId { const relWave = waveIndex % 250; - const biomes = getEnumValues(Biome).filter(b => b !== Biome.TOWN && b !== Biome.END); - const maxDepth = biomeDepths[Biome.END][0] - 2; + const biomes = getEnumValues(BiomeId).filter(b => b !== BiomeId.TOWN && b !== BiomeId.END); + const maxDepth = biomeDepths[BiomeId.END][0] - 2; const depthWeights = new Array(maxDepth + 1) .fill(null) .map((_, i: number) => ((1 - Math.min(Math.abs(i / (maxDepth - 1) - relWave / 250) + 0.25, 1)) / 0.75) * 250); @@ -3475,7 +3475,7 @@ export default class BattleScene extends SceneBase { fc => fc.findTrigger(formChangeTriggerType) && fc.canChange(pokemon), ); let matchingFormChange: SpeciesFormChange | null; - if (pokemon.species.speciesId === Species.NECROZMA && matchingFormChangeOpts.length > 1) { + if (pokemon.species.speciesId === SpeciesId.NECROZMA && matchingFormChangeOpts.length > 1) { // Ultra Necrozma is changing its form back, so we need to figure out into which form it devolves. const formChangeItemModifiers = ( this.findModifiers( diff --git a/src/battle.ts b/src/battle.ts index 07e520d6bc0..8e63a680c06 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -19,10 +19,10 @@ import type { EnemyPokemon, PlayerPokemon, TurnMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattleSpec } from "#enums/battle-spec"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import { PlayerGender } from "#enums/player-gender"; import { MusicPreference } from "#app/system/settings/settings"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TrainerType } from "#enums/trainer-type"; import i18next from "#app/plugins/i18n"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; @@ -78,7 +78,7 @@ export default class Battle { public battleScore = 0; public postBattleLoot: PokemonHeldItemModifier[] = []; public escapeAttempts = 0; - public lastMove: Moves; + public lastMove: MoveId; public battleSeed: string = randomString(16, true); private battleSeedState: string | null = null; public moneyScattered = 0; @@ -264,14 +264,14 @@ export default class Battle { if (pokemon.species.legendary || pokemon.species.subLegendary || pokemon.species.mythical) { if (globalScene.musicPreference === MusicPreference.GENFIVE) { switch (pokemon.species.speciesId) { - case Species.REGIROCK: - case Species.REGICE: - case Species.REGISTEEL: - case Species.REGIGIGAS: - case Species.REGIDRAGO: - case Species.REGIELEKI: + case SpeciesId.REGIROCK: + case SpeciesId.REGICE: + case SpeciesId.REGISTEEL: + case SpeciesId.REGIGIGAS: + case SpeciesId.REGIDRAGO: + case SpeciesId.REGIELEKI: return "battle_legendary_regis_g5"; - case Species.KYUREM: + case SpeciesId.KYUREM: return "battle_legendary_kyurem"; default: if (pokemon.species.legendary) { @@ -282,80 +282,80 @@ export default class Battle { } if (globalScene.musicPreference === MusicPreference.ALLGENS) { switch (pokemon.species.speciesId) { - case Species.ARTICUNO: - case Species.ZAPDOS: - case Species.MOLTRES: - case Species.MEWTWO: - case Species.MEW: + case SpeciesId.ARTICUNO: + case SpeciesId.ZAPDOS: + case SpeciesId.MOLTRES: + case SpeciesId.MEWTWO: + case SpeciesId.MEW: return "battle_legendary_kanto"; - case Species.RAIKOU: + case SpeciesId.RAIKOU: return "battle_legendary_raikou"; - case Species.ENTEI: + case SpeciesId.ENTEI: return "battle_legendary_entei"; - case Species.SUICUNE: + case SpeciesId.SUICUNE: return "battle_legendary_suicune"; - case Species.LUGIA: + case SpeciesId.LUGIA: return "battle_legendary_lugia"; - case Species.HO_OH: + case SpeciesId.HO_OH: return "battle_legendary_ho_oh"; - case Species.REGIROCK: - case Species.REGICE: - case Species.REGISTEEL: - case Species.REGIGIGAS: - case Species.REGIDRAGO: - case Species.REGIELEKI: + case SpeciesId.REGIROCK: + case SpeciesId.REGICE: + case SpeciesId.REGISTEEL: + case SpeciesId.REGIGIGAS: + case SpeciesId.REGIDRAGO: + case SpeciesId.REGIELEKI: return "battle_legendary_regis_g6"; - case Species.GROUDON: - case Species.KYOGRE: + case SpeciesId.GROUDON: + case SpeciesId.KYOGRE: return "battle_legendary_gro_kyo"; - case Species.RAYQUAZA: + case SpeciesId.RAYQUAZA: return "battle_legendary_rayquaza"; - case Species.DEOXYS: + case SpeciesId.DEOXYS: return "battle_legendary_deoxys"; - case Species.UXIE: - case Species.MESPRIT: - case Species.AZELF: + case SpeciesId.UXIE: + case SpeciesId.MESPRIT: + case SpeciesId.AZELF: return "battle_legendary_lake_trio"; - case Species.HEATRAN: - case Species.CRESSELIA: - case Species.DARKRAI: - case Species.SHAYMIN: + case SpeciesId.HEATRAN: + case SpeciesId.CRESSELIA: + case SpeciesId.DARKRAI: + case SpeciesId.SHAYMIN: return "battle_legendary_sinnoh"; - case Species.DIALGA: - case Species.PALKIA: + case SpeciesId.DIALGA: + case SpeciesId.PALKIA: if (pokemon.species.getFormSpriteKey(pokemon.formIndex) === SpeciesFormKey.ORIGIN) { return "battle_legendary_origin_forme"; } return "battle_legendary_dia_pal"; - case Species.GIRATINA: + case SpeciesId.GIRATINA: return "battle_legendary_giratina"; - case Species.ARCEUS: + case SpeciesId.ARCEUS: return "battle_legendary_arceus"; - case Species.COBALION: - case Species.TERRAKION: - case Species.VIRIZION: - case Species.KELDEO: - case Species.TORNADUS: - case Species.LANDORUS: - case Species.THUNDURUS: - case Species.MELOETTA: - case Species.GENESECT: + case SpeciesId.COBALION: + case SpeciesId.TERRAKION: + case SpeciesId.VIRIZION: + case SpeciesId.KELDEO: + case SpeciesId.TORNADUS: + case SpeciesId.LANDORUS: + case SpeciesId.THUNDURUS: + case SpeciesId.MELOETTA: + case SpeciesId.GENESECT: return "battle_legendary_unova"; - case Species.KYUREM: + case SpeciesId.KYUREM: return "battle_legendary_kyurem"; - case Species.XERNEAS: - case Species.YVELTAL: - case Species.ZYGARDE: + case SpeciesId.XERNEAS: + case SpeciesId.YVELTAL: + case SpeciesId.ZYGARDE: return "battle_legendary_xern_yvel"; - case Species.TAPU_KOKO: - case Species.TAPU_LELE: - case Species.TAPU_BULU: - case Species.TAPU_FINI: + case SpeciesId.TAPU_KOKO: + case SpeciesId.TAPU_LELE: + case SpeciesId.TAPU_BULU: + case SpeciesId.TAPU_FINI: return "battle_legendary_tapu"; - case Species.SOLGALEO: - case Species.LUNALA: + case SpeciesId.SOLGALEO: + case SpeciesId.LUNALA: return "battle_legendary_sol_lun"; - case Species.NECROZMA: + case SpeciesId.NECROZMA: switch (pokemon.getFormKey()) { case "dusk-mane": case "dawn-wings": @@ -365,50 +365,50 @@ export default class Battle { default: return "battle_legendary_sol_lun"; } - case Species.NIHILEGO: - case Species.PHEROMOSA: - case Species.BUZZWOLE: - case Species.XURKITREE: - case Species.CELESTEELA: - case Species.KARTANA: - case Species.GUZZLORD: - case Species.POIPOLE: - case Species.NAGANADEL: - case Species.STAKATAKA: - case Species.BLACEPHALON: + case SpeciesId.NIHILEGO: + case SpeciesId.PHEROMOSA: + case SpeciesId.BUZZWOLE: + case SpeciesId.XURKITREE: + case SpeciesId.CELESTEELA: + case SpeciesId.KARTANA: + case SpeciesId.GUZZLORD: + case SpeciesId.POIPOLE: + case SpeciesId.NAGANADEL: + case SpeciesId.STAKATAKA: + case SpeciesId.BLACEPHALON: return "battle_legendary_ub"; - case Species.ZACIAN: - case Species.ZAMAZENTA: + case SpeciesId.ZACIAN: + case SpeciesId.ZAMAZENTA: return "battle_legendary_zac_zam"; - case Species.GLASTRIER: - case Species.SPECTRIER: + case SpeciesId.GLASTRIER: + case SpeciesId.SPECTRIER: return "battle_legendary_glas_spec"; - case Species.CALYREX: + case SpeciesId.CALYREX: if (pokemon.getFormKey() === "ice" || pokemon.getFormKey() === "shadow") { return "battle_legendary_riders"; } return "battle_legendary_calyrex"; - case Species.GALAR_ARTICUNO: - case Species.GALAR_ZAPDOS: - case Species.GALAR_MOLTRES: + case SpeciesId.GALAR_ARTICUNO: + case SpeciesId.GALAR_ZAPDOS: + case SpeciesId.GALAR_MOLTRES: return "battle_legendary_birds_galar"; - case Species.WO_CHIEN: - case Species.CHIEN_PAO: - case Species.TING_LU: - case Species.CHI_YU: + case SpeciesId.WO_CHIEN: + case SpeciesId.CHIEN_PAO: + case SpeciesId.TING_LU: + case SpeciesId.CHI_YU: return "battle_legendary_ruinous"; - case Species.KORAIDON: - case Species.MIRAIDON: + case SpeciesId.KORAIDON: + case SpeciesId.MIRAIDON: return "battle_legendary_kor_mir"; - case Species.OKIDOGI: - case Species.MUNKIDORI: - case Species.FEZANDIPITI: + case SpeciesId.OKIDOGI: + case SpeciesId.MUNKIDORI: + case SpeciesId.FEZANDIPITI: return "battle_legendary_loyal_three"; - case Species.OGERPON: + case SpeciesId.OGERPON: return "battle_legendary_ogerpon"; - case Species.TERAPAGOS: + case SpeciesId.TERAPAGOS: return "battle_legendary_terapagos"; - case Species.PECHARUNT: + case SpeciesId.PECHARUNT: return "battle_legendary_pecharunt"; default: if (pokemon.species.legendary) { diff --git a/src/data/abilities/ability-class.ts b/src/data/abilities/ability-class.ts index 387c5fb328b..9da83a32c4d 100644 --- a/src/data/abilities/ability-class.ts +++ b/src/data/abilities/ability-class.ts @@ -1,4 +1,4 @@ -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import type { AbAttrCondition } from "#app/@types/ability-types"; import type { AbAttr } from "#app/data/abilities/ab-attrs/ab-attr"; import i18next from "i18next"; @@ -6,7 +6,7 @@ import type { Localizable } from "#app/interfaces/locales"; import type { Constructor } from "#app/utils/common"; export class Ability implements Localizable { - public id: Abilities; + public id: AbilityId; private nameAppend: string; public name: string; @@ -20,7 +20,7 @@ export class Ability implements Localizable { public attrs: AbAttr[]; public conditions: AbAttrCondition[]; - constructor(id: Abilities, generation: number) { + constructor(id: AbilityId, generation: number) { this.id = id; this.nameAppend = ""; @@ -39,7 +39,7 @@ export class Ability implements Localizable { return this.isCopiable && this.isReplaceable; } localize(): void { - const i18nKey = Abilities[this.id] + const i18nKey = AbilityId[this.id] .split("_") .filter(f => f) .map((f, i) => (i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase())) diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index f49863639f0..8f5f267f7ef 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -50,11 +50,11 @@ import { PokemonType } from "#enums/pokemon-type"; import { PokemonAnimType } from "#enums/pokemon-anim-type"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { SwitchType } from "#enums/switch-type"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveTarget } from "#enums/MoveTarget"; @@ -868,7 +868,7 @@ export class EffectSporeAbAttr extends PostDefendContactApplyStatusEffectAbAttr } override canApplyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult | null, args: any[]): boolean { - return !(attacker.hasAbility(Abilities.OVERCOAT) || attacker.isOfType(PokemonType.GRASS)) + return !(attacker.hasAbility(AbilityId.OVERCOAT) || attacker.isOfType(PokemonType.GRASS)) && super.canApplyPostDefend(pokemon, passive, simulated, attacker, move, hitResult, args); } @@ -1029,9 +1029,9 @@ export class PostDefendAbilitySwapAbAttr extends PostDefendAbAttr { } export class PostDefendAbilityGiveAbAttr extends PostDefendAbAttr { - private ability: Abilities; + private ability: AbilityId; - constructor(ability: Abilities) { + constructor(ability: AbilityId) { super(); this.ability = ability; } @@ -1139,13 +1139,13 @@ export class MoveEffectChanceMultiplierAbAttr extends AbAttr { } override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - const exceptMoves = [ Moves.ORDER_UP, Moves.ELECTRO_SHOT ]; + const exceptMoves = [ MoveId.ORDER_UP, MoveId.ELECTRO_SHOT ]; return !((args[0] as NumberHolder).value <= 0 || exceptMoves.includes((args[1] as Move).id)); } /** * @param args [0]: {@linkcode NumberHolder} Move additional effect chance. Has to be higher than or equal to 0. - * [1]: {@linkcode Moves } Move used by the ability user. + * [1]: {@linkcode MoveId } Move used by the ability user. */ override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: BooleanHolder, args: any[]): void { (args[0] as NumberHolder).value *= this.chanceMultiplier; @@ -1249,7 +1249,7 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr { * * Can be applied if: * - The ability's condition is met, e.g. pixilate only boosts normal moves, - * - The move is not forbidden from having its type changed by an ability, e.g. {@linkcode Moves.MULTI_ATTACK} + * - The move is not forbidden from having its type changed by an ability, e.g. {@linkcode MoveId.MULTI_ATTACK} * - The user is not terastallized and using tera blast * - The user is not a terastallized terapagos with tera stellar using tera starstorm * @param pokemon - The pokemon that has the move type changing ability and is using the attacking move @@ -1264,8 +1264,8 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr { return (!this.condition || this.condition(pokemon, _defender, move)) && !noAbilityTypeOverrideMoves.has(move.id) && (!pokemon.isTerastallized || - (move.id !== Moves.TERA_BLAST && - (move.id !== Moves.TERA_STARSTORM || pokemon.getTeraType() !== PokemonType.STELLAR || !pokemon.hasSpecies(Species.TERAPAGOS)))); + (move.id !== MoveId.TERA_BLAST && + (move.id !== MoveId.TERA_STARSTORM || pokemon.getTeraType() !== PokemonType.STELLAR || !pokemon.hasSpecies(SpeciesId.TERAPAGOS)))); } /** @@ -1296,7 +1296,7 @@ export class PokemonTypeChangeAbAttr extends PreAttackAbAttr { override canApplyPreAttack(pokemon: Pokemon, passive: boolean, simulated: boolean, defender: Pokemon | null, move: Move, args: any[]): boolean { if (!pokemon.isTerastallized && - move.id !== Moves.STRUGGLE && + move.id !== MoveId.STRUGGLE && /** * Skip moves that call other moves because these moves generate a following move that will trigger this ability attribute * @see {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_call_other_moves} @@ -2574,7 +2574,7 @@ export class PostSummonCopyAbilityAbAttr extends PostSummonAbAttr { if ( !target!.getAbility().isCopiable && // Wonder Guard is normally uncopiable so has the attribute, but Trace specifically can copy it - !(pokemon.hasAbility(Abilities.TRACE) && target!.getAbility().id === Abilities.WONDER_GUARD) + !(pokemon.hasAbility(AbilityId.TRACE) && target!.getAbility().id === AbilityId.WONDER_GUARD) ) { return false; } @@ -2679,7 +2679,7 @@ export class PostSummonCopyAllyStatsAbAttr extends PostSummonAbAttr { } /** - * Attribute used by {@linkcode Abilities.IMPOSTER} to transform into a random opposing pokemon on entry. + * Attribute used by {@linkcode AbilityId.IMPOSTER} to transform into a random opposing pokemon on entry. */ export class PostSummonTransformAbAttr extends PostSummonAbAttr { constructor() { @@ -2767,17 +2767,17 @@ export class PostSummonWeatherSuppressedFormChangeAbAttr extends PostSummonAbAtt * @extends PostSummonAbAttr */ export class PostSummonFormChangeByWeatherAbAttr extends PostSummonAbAttr { - private ability: Abilities; + private ability: AbilityId; - constructor(ability: Abilities) { + constructor(ability: AbilityId) { super(true); this.ability = ability; } override canApplyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - const isCastformWithForecast = (pokemon.species.speciesId === Species.CASTFORM && this.ability === Abilities.FORECAST); - const isCherrimWithFlowerGift = (pokemon.species.speciesId === Species.CHERRIM && this.ability === Abilities.FLOWER_GIFT); + const isCastformWithForecast = (pokemon.species.speciesId === SpeciesId.CASTFORM && this.ability === AbilityId.FORECAST); + const isCherrimWithFlowerGift = (pokemon.species.speciesId === SpeciesId.CHERRIM && this.ability === AbilityId.FLOWER_GIFT); return isCastformWithForecast || isCherrimWithFlowerGift; } @@ -2815,7 +2815,7 @@ export class CommanderAbAttr extends AbAttr { // TODO: Should this work with X + Dondozo fusions? const ally = pokemon.getAlly(); - return globalScene.currentBattle?.double && !isNullOrUndefined(ally) && ally.species.speciesId === Species.DONDOZO + return globalScene.currentBattle?.double && !isNullOrUndefined(ally) && ally.species.speciesId === SpeciesId.DONDOZO && !(ally.isFainted() || ally.getTag(BattlerTagType.COMMANDED)); } @@ -2826,7 +2826,7 @@ export class CommanderAbAttr extends AbAttr { // Play an animation of the source jumping into the ally Dondozo's mouth globalScene.triggerPokemonBattleAnim(pokemon, PokemonAnimType.COMMANDER_APPLY); // Apply boosts from this effect to the ally Dondozo - pokemon.getAlly()?.addTag(BattlerTagType.COMMANDED, 0, Moves.NONE, pokemon.id); + pokemon.getAlly()?.addTag(BattlerTagType.COMMANDED, 0, MoveId.NONE, pokemon.id); // Cancel the source Pokemon's next move (if a move is queued) globalScene.tryRemovePhase((phase) => phase instanceof MovePhase && phase.pokemon === pokemon); } @@ -2880,33 +2880,33 @@ export class PreSwitchOutClearWeatherAbAttr extends PreSwitchOutAbAttr { switch (weatherType) { case WeatherType.HARSH_SUN: if ( - pokemon.hasAbility(Abilities.DESOLATE_LAND) && + pokemon.hasAbility(AbilityId.DESOLATE_LAND) && globalScene .getField(true) .filter((p) => p !== pokemon) - .filter((p) => p.hasAbility(Abilities.DESOLATE_LAND)).length === 0 + .filter((p) => p.hasAbility(AbilityId.DESOLATE_LAND)).length === 0 ) { turnOffWeather = true; } break; case WeatherType.HEAVY_RAIN: if ( - pokemon.hasAbility(Abilities.PRIMORDIAL_SEA) && + pokemon.hasAbility(AbilityId.PRIMORDIAL_SEA) && globalScene .getField(true) .filter((p) => p !== pokemon) - .filter((p) => p.hasAbility(Abilities.PRIMORDIAL_SEA)).length === 0 + .filter((p) => p.hasAbility(AbilityId.PRIMORDIAL_SEA)).length === 0 ) { turnOffWeather = true; } break; case WeatherType.STRONG_WINDS: if ( - pokemon.hasAbility(Abilities.DELTA_STREAM) && + pokemon.hasAbility(AbilityId.DELTA_STREAM) && globalScene .getField(true) .filter((p) => p !== pokemon) - .filter((p) => p.hasAbility(Abilities.DELTA_STREAM)).length === 0 + .filter((p) => p.hasAbility(AbilityId.DELTA_STREAM)).length === 0 ) { turnOffWeather = true; } @@ -2990,20 +2990,20 @@ export class PreLeaveFieldClearWeatherAbAttr extends PreLeaveFieldAbAttr { // Clear weather only if user's ability matches the weather and no other pokemon has the ability. switch (weatherType) { case (WeatherType.HARSH_SUN): - if (pokemon.hasAbility(Abilities.DESOLATE_LAND) - && globalScene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(Abilities.DESOLATE_LAND)).length === 0) { + if (pokemon.hasAbility(AbilityId.DESOLATE_LAND) + && globalScene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(AbilityId.DESOLATE_LAND)).length === 0) { return true; } break; case (WeatherType.HEAVY_RAIN): - if (pokemon.hasAbility(Abilities.PRIMORDIAL_SEA) - && globalScene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(Abilities.PRIMORDIAL_SEA)).length === 0) { + if (pokemon.hasAbility(AbilityId.PRIMORDIAL_SEA) + && globalScene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(AbilityId.PRIMORDIAL_SEA)).length === 0) { return true; } break; case (WeatherType.STRONG_WINDS): - if (pokemon.hasAbility(Abilities.DELTA_STREAM) - && globalScene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(Abilities.DELTA_STREAM)).length === 0) { + if (pokemon.hasAbility(AbilityId.DELTA_STREAM) + && globalScene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(AbilityId.DELTA_STREAM)).length === 0) { return true; } break; @@ -3024,7 +3024,7 @@ export class PreLeaveFieldClearWeatherAbAttr extends PreLeaveFieldAbAttr { } /** - * Updates the active {@linkcode SuppressAbilitiesTag} when a pokemon with {@linkcode Abilities.NEUTRALIZING_GAS} leaves the field + * Updates the active {@linkcode SuppressAbilitiesTag} when a pokemon with {@linkcode AbilityId.NEUTRALIZING_GAS} leaves the field */ export class PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr extends PreLeaveFieldAbAttr { constructor() { @@ -3261,7 +3261,7 @@ export class UserFieldStatusEffectImmunityAbAttr extends PreSetStatusEffectImmun /** * Conditionally provides immunity to status effects to the user's field. * - * Used by {@linkcode Abilities.FLOWER_VEIL | Flower Veil}. + * Used by {@linkcode AbilityId.FLOWER_VEIL | Flower Veil}. * @extends UserFieldStatusEffectImmunityAbAttr * */ @@ -3297,7 +3297,7 @@ export class ConditionalUserFieldStatusEffectImmunityAbAttr extends UserFieldSta /** * Conditionally provides immunity to stat drop effects to the user's field. * - * Used by {@linkcode Abilities.FLOWER_VEIL | Flower Veil}. + * Used by {@linkcode AbilityId.FLOWER_VEIL | Flower Veil}. */ export class ConditionalUserFieldProtectStatAbAttr extends PreStatStageChangeAbAttr { /** {@linkcode BattleStat} to protect or `undefined` if **all** {@linkcode BattleStat} are protected */ @@ -3676,7 +3676,7 @@ function getSheerForceHitDisableAbCondition(): AbAttrCondition { } /** `true` if the last move's chance is above 0 and the last attacker's ability is sheer force */ - const SheerForceAffected = allMoves[lastReceivedAttack.move].chance >= 0 && lastAttacker.hasAbility(Abilities.SHEER_FORCE); + const SheerForceAffected = allMoves[lastReceivedAttack.move].chance >= 0 && lastAttacker.hasAbility(AbilityId.SHEER_FORCE); return !SheerForceAffected; }; @@ -3712,7 +3712,7 @@ function getAnticipationCondition(): AbAttrCondition { return true; } // edge case for hidden power, type is computed - if (move.getMove().id === Moves.HIDDEN_POWER) { + if (move.getMove().id === MoveId.HIDDEN_POWER) { const iv_val = Math.floor(((opponent.ivs[Stat.HP] & 1) + (opponent.ivs[Stat.ATK] & 1) * 2 + (opponent.ivs[Stat.DEF] & 1) * 4 @@ -3740,10 +3740,10 @@ function getAnticipationCondition(): AbAttrCondition { * Creates an ability condition that causes the ability to fail if that ability * has already been used by that pokemon that battle. It requires an ability to * be specified due to current limitations in how conditions on abilities work. - * @param {Abilities} ability The ability to check if it's already been applied + * @param {AbilityId} ability The ability to check if it's already been applied * @returns {AbAttrCondition} The condition */ -function getOncePerBattleCondition(ability: Abilities): AbAttrCondition { +function getOncePerBattleCondition(ability: AbilityId): AbAttrCondition { return (pokemon: Pokemon) => { return !pokemon.waveData.abilitiesApplied.has(ability); }; @@ -3764,7 +3764,7 @@ export class ForewarnAbAttr extends PostSummonAbAttr { movePower = 1; } else if (move?.getMove().hasAttr(OneHitKOAttr)) { movePower = 150; - } else if (move?.getMove().id === Moves.COUNTER || move?.getMove().id === Moves.MIRROR_COAT || move?.getMove().id === Moves.METAL_BURST) { + } else if (move?.getMove().id === MoveId.COUNTER || move?.getMove().id === MoveId.MIRROR_COAT || move?.getMove().id === MoveId.METAL_BURST) { movePower = 120; } else if (move?.getMove().power === -1) { movePower = 80; @@ -3813,10 +3813,10 @@ export class PostWeatherChangeAbAttr extends AbAttr { * @extends PostWeatherChangeAbAttr */ export class PostWeatherChangeFormChangeAbAttr extends PostWeatherChangeAbAttr { - private ability: Abilities; + private ability: AbilityId; private formRevertingWeathers: WeatherType[]; - constructor(ability: Abilities, formRevertingWeathers: WeatherType[]) { + constructor(ability: AbilityId, formRevertingWeathers: WeatherType[]) { super(false); this.ability = ability; @@ -3824,8 +3824,8 @@ export class PostWeatherChangeFormChangeAbAttr extends PostWeatherChangeAbAttr { } override canApplyPostWeatherChange(pokemon: Pokemon, passive: boolean, simulated: boolean, weather: WeatherType, args: any[]): boolean { - const isCastformWithForecast = (pokemon.species.speciesId === Species.CASTFORM && this.ability === Abilities.FORECAST); - const isCherrimWithFlowerGift = (pokemon.species.speciesId === Species.CHERRIM && this.ability === Abilities.FLOWER_GIFT); + const isCastformWithForecast = (pokemon.species.speciesId === SpeciesId.CASTFORM && this.ability === AbilityId.FORECAST); + const isCherrimWithFlowerGift = (pokemon.species.speciesId === SpeciesId.CHERRIM && this.ability === AbilityId.FLOWER_GIFT); return isCastformWithForecast || isCherrimWithFlowerGift; } @@ -4067,7 +4067,7 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr { /** * Attribute to try and restore eaten berries after the turn ends. - * Used by {@linkcode Abilities.HARVEST}. + * Used by {@linkcode AbilityId.HARVEST}. */ export class PostTurnRestoreBerryAbAttr extends PostTurnAbAttr { /** @@ -4150,7 +4150,7 @@ export class PostTurnRestoreBerryAbAttr extends PostTurnAbAttr { /** * Attribute to track and re-trigger last turn's berries at the end of the `BerryPhase`. - * Used by {@linkcode Abilities.CUD_CHEW}. + * Used by {@linkcode AbilityId.CUD_CHEW}. */ export class RepeatBerryNextTurnAbAttr extends PostTurnAbAttr { /** @@ -4212,7 +4212,7 @@ export class RepeatBerryNextTurnAbAttr extends PostTurnAbAttr { } /** - * Attribute used for {@linkcode Abilities.MOODY} to randomly raise and lower stats at turn end. + * Attribute used for {@linkcode AbilityId.MOODY} to randomly raise and lower stats at turn end. */ export class MoodyAbAttr extends PostTurnAbAttr { constructor() { @@ -4302,7 +4302,7 @@ export class PostTurnFormChangeAbAttr extends PostTurnAbAttr { */ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr { override canApplyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return pokemon.getOpponents().some(opp => (opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(Abilities.COMATOSE)) && !opp.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !opp.switchOutStatus); + return pokemon.getOpponents().some(opp => (opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(AbilityId.COMATOSE)) && !opp.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !opp.switchOutStatus); } /** * Deals damage to all sleeping opponents equal to 1/8 of their max hp (min 1) @@ -4313,7 +4313,7 @@ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr { */ override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): void { for (const opp of pokemon.getOpponents()) { - if ((opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(Abilities.COMATOSE)) && !opp.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !opp.switchOutStatus) { + if ((opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(AbilityId.COMATOSE)) && !opp.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !opp.switchOutStatus) { if (!simulated) { opp.damageAndUpdate(toDmgValue(opp.getMaxHp() / 8), { result: HitResult.INDIRECT }); globalScene.queueMessage(i18next.t("abilityTriggers:badDreams", { pokemonName: getPokemonNameWithAffix(opp) })); @@ -4579,7 +4579,7 @@ export class DoubleBerryEffectAbAttr extends AbAttr { /** * Attribute to prevent opposing berry use while on the field. - * Used by {@linkcode Abilities.UNNERVE}, {@linkcode Abilities.AS_ONE_GLASTRIER} and {@linkcode Abilities.AS_ONE_SPECTRIER} + * Used by {@linkcode AbilityId.UNNERVE}, {@linkcode AbilityId.AS_ONE_GLASTRIER} and {@linkcode AbilityId.AS_ONE_SPECTRIER} */ export class PreventBerryUseAbAttr extends AbAttr { /** @@ -4680,7 +4680,7 @@ export class ArenaTrapAbAttr extends CheckTrappedAbAttr { override canApplyCheckTrapped(pokemon: Pokemon, passive: boolean, simulated: boolean, trapped: BooleanHolder, otherPokemon: Pokemon, args: any[]): boolean { return this.arenaTrapCondition(pokemon, otherPokemon) && !(otherPokemon.getTypes(true).includes(PokemonType.GHOST) || (otherPokemon.getTypes(true).includes(PokemonType.STELLAR) && otherPokemon.getTypes().includes(PokemonType.GHOST))) - && !otherPokemon.hasAbility(Abilities.RUN_AWAY); + && !otherPokemon.hasAbility(AbilityId.RUN_AWAY); } /** @@ -4856,7 +4856,7 @@ export class RedirectMoveAbAttr extends AbAttr { */ override canApply(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - if (!this.canRedirect(args[0] as Moves, args[2] as Pokemon)) { + if (!this.canRedirect(args[0] as MoveId, args[2] as Pokemon)) { return false; } const target = args[1] as NumberHolder; @@ -4870,7 +4870,7 @@ export class RedirectMoveAbAttr extends AbAttr { target.value = newTarget; } - canRedirect(moveId: Moves, user: Pokemon): boolean { + canRedirect(moveId: MoveId, user: Pokemon): boolean { const move = allMoves[moveId]; return !![ MoveTarget.NEAR_OTHER, MoveTarget.OTHER ].find(t => move.moveTarget === t); } @@ -4884,7 +4884,7 @@ export class RedirectTypeMoveAbAttr extends RedirectMoveAbAttr { this.type = type; } - canRedirect(moveId: Moves, user: Pokemon): boolean { + canRedirect(moveId: MoveId, user: Pokemon): boolean { return super.canRedirect(moveId, user) && user.getMoveType(allMoves[moveId]) === this.type; } } @@ -5050,7 +5050,7 @@ export class InfiltratorAbAttr extends AbAttr { /** * Attribute implementing the effects of {@link https://bulbapedia.bulbagarden.net/wiki/Magic_Bounce_(ability) | Magic Bounce}. * Allows the source to bounce back {@linkcode MoveFlags.REFLECTABLE | Reflectable} - * moves as if the user had used {@linkcode Moves.MAGIC_COAT | Magic Coat}. + * moves as if the user had used {@linkcode MoveId.MAGIC_COAT | Magic Coat}. */ export class ReflectStatusMoveAbAttr extends AbAttr { } @@ -5273,7 +5273,7 @@ export class IllusionPreSummonAbAttr extends PreSummonAbAttr { // Illusion will also not activate if the Pokémon with Illusion is Terastallized and the last Pokémon in the party is Ogerpon or Terapagos. if ( lastPokemon === pokemon || - ((speciesId === Species.OGERPON || speciesId === Species.TERAPAGOS) && (lastPokemon.isTerastallized || pokemon.isTerastallized)) + ((speciesId === SpeciesId.OGERPON || speciesId === SpeciesId.TERAPAGOS) && (lastPokemon.isTerastallized || pokemon.isTerastallized)) ) { return false; } @@ -5731,7 +5731,7 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr { source?: Pokemon): boolean { const moveHistory = pokemon.getMoveHistory(); // Will not activate when the Pokémon's HP is lowered by cutting its own HP - const fordbiddenAttackingMoves = [ Moves.BELLY_DRUM, Moves.SUBSTITUTE, Moves.CURSE, Moves.PAIN_SPLIT ]; + const fordbiddenAttackingMoves = [ MoveId.BELLY_DRUM, MoveId.SUBSTITUTE, MoveId.CURSE, MoveId.PAIN_SPLIT ]; if (moveHistory.length > 0) { const lastMoveUsed = moveHistory[moveHistory.length - 1]; if (fordbiddenAttackingMoves.includes(lastMoveUsed.move)) { @@ -5740,17 +5740,17 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr { } // Dragon Tail and Circle Throw switch out Pokémon before the Ability activates. - const fordbiddenDefendingMoves = [ Moves.DRAGON_TAIL, Moves.CIRCLE_THROW ]; + const fordbiddenDefendingMoves = [ MoveId.DRAGON_TAIL, MoveId.CIRCLE_THROW ]; if (source) { const enemyMoveHistory = source.getMoveHistory(); if (enemyMoveHistory.length > 0) { const enemyLastMoveUsed = enemyMoveHistory[enemyMoveHistory.length - 1]; // Will not activate if the Pokémon's HP falls below half while it is in the air during Sky Drop. - if (fordbiddenDefendingMoves.includes(enemyLastMoveUsed.move) || enemyLastMoveUsed.move === Moves.SKY_DROP && enemyLastMoveUsed.result === MoveResult.OTHER) { + if (fordbiddenDefendingMoves.includes(enemyLastMoveUsed.move) || enemyLastMoveUsed.move === MoveId.SKY_DROP && enemyLastMoveUsed.result === MoveResult.OTHER) { return false; // Will not activate if the Pokémon's HP falls below half by a move affected by Sheer Force. // TODO: Make this use the sheer force disable condition - } else if (allMoves[enemyLastMoveUsed.move].chance >= 0 && source.hasAbility(Abilities.SHEER_FORCE)) { + } else if (allMoves[enemyLastMoveUsed.move].chance >= 0 && source.hasAbility(AbilityId.SHEER_FORCE)) { return false; // Activate only after the last hit of multistrike moves } else if (source.turnData.hitsLeft > 1) { @@ -6423,237 +6423,237 @@ function setAbilityRevealed(pokemon: Pokemon): void { */ function getPokemonWithWeatherBasedForms() { return globalScene.getField(true).filter(p => - (p.hasAbility(Abilities.FORECAST) && p.species.speciesId === Species.CASTFORM) - || (p.hasAbility(Abilities.FLOWER_GIFT) && p.species.speciesId === Species.CHERRIM) + (p.hasAbility(AbilityId.FORECAST) && p.species.speciesId === SpeciesId.CASTFORM) + || (p.hasAbility(AbilityId.FLOWER_GIFT) && p.species.speciesId === SpeciesId.CHERRIM) ); } export function initAbilities() { allAbilities.push( - new Ability(Abilities.NONE, 3), - new Ability(Abilities.STENCH, 3) + new Ability(AbilityId.NONE, 3), + new Ability(AbilityId.STENCH, 3) .attr(PostAttackApplyBattlerTagAbAttr, false, (user, target, move) => !move.hasAttr(FlinchAttr) && !move.hitsSubstitute(user, target) ? 10 : 0, BattlerTagType.FLINCHED), - new Ability(Abilities.DRIZZLE, 3) + new Ability(AbilityId.DRIZZLE, 3) .attr(PostSummonWeatherChangeAbAttr, WeatherType.RAIN) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.RAIN), - new Ability(Abilities.SPEED_BOOST, 3) + new Ability(AbilityId.SPEED_BOOST, 3) .attr(SpeedBoostAbAttr), - new Ability(Abilities.BATTLE_ARMOR, 3) + new Ability(AbilityId.BATTLE_ARMOR, 3) .attr(BlockCritAbAttr) .ignorable(), - new Ability(Abilities.STURDY, 3) + new Ability(AbilityId.STURDY, 3) .attr(PreDefendFullHpEndureAbAttr) .attr(BlockOneHitKOAbAttr) .ignorable(), - new Ability(Abilities.DAMP, 3) + new Ability(AbilityId.DAMP, 3) .attr(FieldPreventExplosiveMovesAbAttr) .ignorable(), - new Ability(Abilities.LIMBER, 3) + new Ability(AbilityId.LIMBER, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.PARALYSIS) .attr(PostSummonHealStatusAbAttr, StatusEffect.PARALYSIS) .ignorable(), - new Ability(Abilities.SAND_VEIL, 3) + new Ability(AbilityId.SAND_VEIL, 3) .attr(StatMultiplierAbAttr, Stat.EVA, 1.2) .attr(BlockWeatherDamageAttr, WeatherType.SANDSTORM) .condition(getWeatherCondition(WeatherType.SANDSTORM)) .ignorable(), - new Ability(Abilities.STATIC, 3) + new Ability(AbilityId.STATIC, 3) .attr(PostDefendContactApplyStatusEffectAbAttr, 30, StatusEffect.PARALYSIS) .bypassFaint(), - new Ability(Abilities.VOLT_ABSORB, 3) + new Ability(AbilityId.VOLT_ABSORB, 3) .attr(TypeImmunityHealAbAttr, PokemonType.ELECTRIC) .ignorable(), - new Ability(Abilities.WATER_ABSORB, 3) + new Ability(AbilityId.WATER_ABSORB, 3) .attr(TypeImmunityHealAbAttr, PokemonType.WATER) .ignorable(), - new Ability(Abilities.OBLIVIOUS, 3) + new Ability(AbilityId.OBLIVIOUS, 3) .attr(BattlerTagImmunityAbAttr, [ BattlerTagType.INFATUATED, BattlerTagType.TAUNT ]) .attr(PostSummonRemoveBattlerTagAbAttr, BattlerTagType.INFATUATED, BattlerTagType.TAUNT) .attr(IntimidateImmunityAbAttr) .ignorable(), - new Ability(Abilities.CLOUD_NINE, 3) + new Ability(AbilityId.CLOUD_NINE, 3) .attr(SuppressWeatherEffectAbAttr, true) .attr(PostSummonUnnamedMessageAbAttr, i18next.t("abilityTriggers:weatherEffectDisappeared")) .attr(PostSummonWeatherSuppressedFormChangeAbAttr) .attr(PostFaintUnsuppressedWeatherFormChangeAbAttr) .bypassFaint(), - new Ability(Abilities.COMPOUND_EYES, 3) + new Ability(AbilityId.COMPOUND_EYES, 3) .attr(StatMultiplierAbAttr, Stat.ACC, 1.3), - new Ability(Abilities.INSOMNIA, 3) + new Ability(AbilityId.INSOMNIA, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.SLEEP) .attr(PostSummonHealStatusAbAttr, StatusEffect.SLEEP) .attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY) .ignorable(), - new Ability(Abilities.COLOR_CHANGE, 3) + new Ability(AbilityId.COLOR_CHANGE, 3) .attr(PostDefendTypeChangeAbAttr) .condition(getSheerForceHitDisableAbCondition()), - new Ability(Abilities.IMMUNITY, 3) + new Ability(AbilityId.IMMUNITY, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) .attr(PostSummonHealStatusAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) .ignorable(), - new Ability(Abilities.FLASH_FIRE, 3) + new Ability(AbilityId.FLASH_FIRE, 3) .attr(TypeImmunityAddBattlerTagAbAttr, PokemonType.FIRE, BattlerTagType.FIRE_BOOST, 1) .ignorable(), - new Ability(Abilities.SHIELD_DUST, 3) + new Ability(AbilityId.SHIELD_DUST, 3) .attr(IgnoreMoveEffectsAbAttr) .ignorable(), - new Ability(Abilities.OWN_TEMPO, 3) + new Ability(AbilityId.OWN_TEMPO, 3) .attr(BattlerTagImmunityAbAttr, BattlerTagType.CONFUSED) .attr(PostSummonRemoveBattlerTagAbAttr, BattlerTagType.CONFUSED) .attr(IntimidateImmunityAbAttr) .ignorable(), - new Ability(Abilities.SUCTION_CUPS, 3) + new Ability(AbilityId.SUCTION_CUPS, 3) .attr(ForceSwitchOutImmunityAbAttr) .ignorable(), - new Ability(Abilities.INTIMIDATE, 3) + new Ability(AbilityId.INTIMIDATE, 3) .attr(PostSummonStatStageChangeAbAttr, [ Stat.ATK ], -1, false, true), - new Ability(Abilities.SHADOW_TAG, 3) + new Ability(AbilityId.SHADOW_TAG, 3) .attr(ArenaTrapAbAttr, (user, target) => { - if (target.hasAbility(Abilities.SHADOW_TAG)) { + if (target.hasAbility(AbilityId.SHADOW_TAG)) { return false; } return true; }), - new Ability(Abilities.ROUGH_SKIN, 3) + new Ability(AbilityId.ROUGH_SKIN, 3) .attr(PostDefendContactDamageAbAttr, 8) .bypassFaint(), - new Ability(Abilities.WONDER_GUARD, 3) + new Ability(AbilityId.WONDER_GUARD, 3) .attr(NonSuperEffectiveImmunityAbAttr) .uncopiable() .ignorable(), - new Ability(Abilities.LEVITATE, 3) + new Ability(AbilityId.LEVITATE, 3) .attr(AttackTypeImmunityAbAttr, PokemonType.GROUND, (pokemon: Pokemon) => !pokemon.getTag(GroundedTag) && !globalScene.arena.getTag(ArenaTagType.GRAVITY)) .ignorable(), - new Ability(Abilities.EFFECT_SPORE, 3) + new Ability(AbilityId.EFFECT_SPORE, 3) .attr(EffectSporeAbAttr), - new Ability(Abilities.SYNCHRONIZE, 3) + new Ability(AbilityId.SYNCHRONIZE, 3) .attr(SyncEncounterNatureAbAttr) .attr(SynchronizeStatusAbAttr), - new Ability(Abilities.CLEAR_BODY, 3) + new Ability(AbilityId.CLEAR_BODY, 3) .attr(ProtectStatAbAttr) .ignorable(), - new Ability(Abilities.NATURAL_CURE, 3) + new Ability(AbilityId.NATURAL_CURE, 3) .attr(PreSwitchOutResetStatusAbAttr), - new Ability(Abilities.LIGHTNING_ROD, 3) + new Ability(AbilityId.LIGHTNING_ROD, 3) .attr(RedirectTypeMoveAbAttr, PokemonType.ELECTRIC) .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.ELECTRIC, Stat.SPATK, 1) .ignorable(), - new Ability(Abilities.SERENE_GRACE, 3) + new Ability(AbilityId.SERENE_GRACE, 3) .attr(MoveEffectChanceMultiplierAbAttr, 2), - new Ability(Abilities.SWIFT_SWIM, 3) + new Ability(AbilityId.SWIFT_SWIM, 3) .attr(StatMultiplierAbAttr, Stat.SPD, 2) .condition(getWeatherCondition(WeatherType.RAIN, WeatherType.HEAVY_RAIN)), - new Ability(Abilities.CHLOROPHYLL, 3) + new Ability(AbilityId.CHLOROPHYLL, 3) .attr(StatMultiplierAbAttr, Stat.SPD, 2) .condition(getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN)), - new Ability(Abilities.ILLUMINATE, 3) + new Ability(AbilityId.ILLUMINATE, 3) .attr(ProtectStatAbAttr, Stat.ACC) .attr(DoubleBattleChanceAbAttr) .attr(IgnoreOpponentStatStagesAbAttr, [ Stat.EVA ]) .ignorable(), - new Ability(Abilities.TRACE, 3) + new Ability(AbilityId.TRACE, 3) .attr(PostSummonCopyAbilityAbAttr) .uncopiable(), - new Ability(Abilities.HUGE_POWER, 3) + new Ability(AbilityId.HUGE_POWER, 3) .attr(StatMultiplierAbAttr, Stat.ATK, 2), - new Ability(Abilities.POISON_POINT, 3) + new Ability(AbilityId.POISON_POINT, 3) .attr(PostDefendContactApplyStatusEffectAbAttr, 30, StatusEffect.POISON) .bypassFaint(), - new Ability(Abilities.INNER_FOCUS, 3) + new Ability(AbilityId.INNER_FOCUS, 3) .attr(BattlerTagImmunityAbAttr, BattlerTagType.FLINCHED) .attr(IntimidateImmunityAbAttr) .ignorable(), - new Ability(Abilities.MAGMA_ARMOR, 3) + new Ability(AbilityId.MAGMA_ARMOR, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.FREEZE) .attr(PostSummonHealStatusAbAttr, StatusEffect.FREEZE) .ignorable(), - new Ability(Abilities.WATER_VEIL, 3) + new Ability(AbilityId.WATER_VEIL, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) .attr(PostSummonHealStatusAbAttr, StatusEffect.BURN) .ignorable(), - new Ability(Abilities.MAGNET_PULL, 3) + new Ability(AbilityId.MAGNET_PULL, 3) .attr(ArenaTrapAbAttr, (user, target) => { if (target.getTypes(true).includes(PokemonType.STEEL) || (target.getTypes(true).includes(PokemonType.STELLAR) && target.getTypes().includes(PokemonType.STEEL))) { return true; } return false; }), - new Ability(Abilities.SOUNDPROOF, 3) + new Ability(AbilityId.SOUNDPROOF, 3) .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.SOUND_BASED)) .ignorable(), - new Ability(Abilities.RAIN_DISH, 3) + new Ability(AbilityId.RAIN_DISH, 3) .attr(PostWeatherLapseHealAbAttr, 1, WeatherType.RAIN, WeatherType.HEAVY_RAIN), - new Ability(Abilities.SAND_STREAM, 3) + new Ability(AbilityId.SAND_STREAM, 3) .attr(PostSummonWeatherChangeAbAttr, WeatherType.SANDSTORM) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.SANDSTORM), - new Ability(Abilities.PRESSURE, 3) + new Ability(AbilityId.PRESSURE, 3) .attr(IncreasePpAbAttr) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonPressure", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })), - new Ability(Abilities.THICK_FAT, 3) + new Ability(AbilityId.THICK_FAT, 3) .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 0.5) .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.ICE, 0.5) .ignorable(), - new Ability(Abilities.EARLY_BIRD, 3) + new Ability(AbilityId.EARLY_BIRD, 3) .attr(ReduceStatusEffectDurationAbAttr, StatusEffect.SLEEP), - new Ability(Abilities.FLAME_BODY, 3) + new Ability(AbilityId.FLAME_BODY, 3) .attr(PostDefendContactApplyStatusEffectAbAttr, 30, StatusEffect.BURN) .bypassFaint(), - new Ability(Abilities.RUN_AWAY, 3) + new Ability(AbilityId.RUN_AWAY, 3) .attr(RunSuccessAbAttr), - new Ability(Abilities.KEEN_EYE, 3) + new Ability(AbilityId.KEEN_EYE, 3) .attr(ProtectStatAbAttr, Stat.ACC) .ignorable(), - new Ability(Abilities.HYPER_CUTTER, 3) + new Ability(AbilityId.HYPER_CUTTER, 3) .attr(ProtectStatAbAttr, Stat.ATK) .ignorable(), - new Ability(Abilities.PICKUP, 3) + new Ability(AbilityId.PICKUP, 3) .attr(PostBattleLootAbAttr) .unsuppressable(), - new Ability(Abilities.TRUANT, 3) + new Ability(AbilityId.TRUANT, 3) .attr(PostSummonAddBattlerTagAbAttr, BattlerTagType.TRUANT, 1, false), - new Ability(Abilities.HUSTLE, 3) + new Ability(AbilityId.HUSTLE, 3) .attr(StatMultiplierAbAttr, Stat.ATK, 1.5) .attr(StatMultiplierAbAttr, Stat.ACC, 0.8, (_user, _target, move) => move.category === MoveCategory.PHYSICAL), - new Ability(Abilities.CUTE_CHARM, 3) + new Ability(AbilityId.CUTE_CHARM, 3) .attr(PostDefendContactApplyTagChanceAbAttr, 30, BattlerTagType.INFATUATED), - new Ability(Abilities.PLUS, 3) - .conditionalAttr(p => globalScene.currentBattle.double && [ Abilities.PLUS, Abilities.MINUS ].some(a => (p.getAlly()?.hasAbility(a) ?? false)), StatMultiplierAbAttr, Stat.SPATK, 1.5), - new Ability(Abilities.MINUS, 3) - .conditionalAttr(p => globalScene.currentBattle.double && [ Abilities.PLUS, Abilities.MINUS ].some(a => (p.getAlly()?.hasAbility(a) ?? false)), StatMultiplierAbAttr, Stat.SPATK, 1.5), - new Ability(Abilities.FORECAST, 3) + new Ability(AbilityId.PLUS, 3) + .conditionalAttr(p => globalScene.currentBattle.double && [ AbilityId.PLUS, AbilityId.MINUS ].some(a => (p.getAlly()?.hasAbility(a) ?? false)), StatMultiplierAbAttr, Stat.SPATK, 1.5), + new Ability(AbilityId.MINUS, 3) + .conditionalAttr(p => globalScene.currentBattle.double && [ AbilityId.PLUS, AbilityId.MINUS ].some(a => (p.getAlly()?.hasAbility(a) ?? false)), StatMultiplierAbAttr, Stat.SPATK, 1.5), + new Ability(AbilityId.FORECAST, 3) .uncopiable() .unreplaceable() .attr(NoFusionAbilityAbAttr) - .attr(PostSummonFormChangeByWeatherAbAttr, Abilities.FORECAST) - .attr(PostWeatherChangeFormChangeAbAttr, Abilities.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), - new Ability(Abilities.STICKY_HOLD, 3) + .attr(PostSummonFormChangeByWeatherAbAttr, AbilityId.FORECAST) + .attr(PostWeatherChangeFormChangeAbAttr, AbilityId.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), + new Ability(AbilityId.STICKY_HOLD, 3) .attr(BlockItemTheftAbAttr) .bypassFaint() .ignorable(), - new Ability(Abilities.SHED_SKIN, 3) + new Ability(AbilityId.SHED_SKIN, 3) .conditionalAttr(pokemon => !randSeedInt(3), PostTurnResetStatusAbAttr), - new Ability(Abilities.GUTS, 3) + new Ability(AbilityId.GUTS, 3) .attr(BypassBurnDamageReductionAbAttr) - .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), StatMultiplierAbAttr, Stat.ATK, 1.5), - new Ability(Abilities.MARVEL_SCALE, 3) - .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), StatMultiplierAbAttr, Stat.DEF, 1.5) + .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(AbilityId.COMATOSE), StatMultiplierAbAttr, Stat.ATK, 1.5), + new Ability(AbilityId.MARVEL_SCALE, 3) + .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(AbilityId.COMATOSE), StatMultiplierAbAttr, Stat.DEF, 1.5) .ignorable(), - new Ability(Abilities.LIQUID_OOZE, 3) + new Ability(AbilityId.LIQUID_OOZE, 3) .attr(ReverseDrainAbAttr), - new Ability(Abilities.OVERGROW, 3) + new Ability(AbilityId.OVERGROW, 3) .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.GRASS), - new Ability(Abilities.BLAZE, 3) + new Ability(AbilityId.BLAZE, 3) .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.FIRE), - new Ability(Abilities.TORRENT, 3) + new Ability(AbilityId.TORRENT, 3) .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.WATER), - new Ability(Abilities.SWARM, 3) + new Ability(AbilityId.SWARM, 3) .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.BUG), - new Ability(Abilities.ROCK_HEAD, 3) + new Ability(AbilityId.ROCK_HEAD, 3) .attr(BlockRecoilDamageAttr), - new Ability(Abilities.DROUGHT, 3) + new Ability(AbilityId.DROUGHT, 3) .attr(PostSummonWeatherChangeAbAttr, WeatherType.SUNNY) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.SUNNY), - new Ability(Abilities.ARENA_TRAP, 3) + new Ability(AbilityId.ARENA_TRAP, 3) .attr(ArenaTrapAbAttr, (user, target) => { if (target.isGrounded()) { return true; @@ -6661,246 +6661,246 @@ export function initAbilities() { return false; }) .attr(DoubleBattleChanceAbAttr), - new Ability(Abilities.VITAL_SPIRIT, 3) + new Ability(AbilityId.VITAL_SPIRIT, 3) .attr(StatusEffectImmunityAbAttr, StatusEffect.SLEEP) .attr(PostSummonHealStatusAbAttr, StatusEffect.SLEEP) .attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY) .ignorable(), - new Ability(Abilities.WHITE_SMOKE, 3) + new Ability(AbilityId.WHITE_SMOKE, 3) .attr(ProtectStatAbAttr) .ignorable(), - new Ability(Abilities.PURE_POWER, 3) + new Ability(AbilityId.PURE_POWER, 3) .attr(StatMultiplierAbAttr, Stat.ATK, 2), - new Ability(Abilities.SHELL_ARMOR, 3) + new Ability(AbilityId.SHELL_ARMOR, 3) .attr(BlockCritAbAttr) .ignorable(), - new Ability(Abilities.AIR_LOCK, 3) + new Ability(AbilityId.AIR_LOCK, 3) .attr(SuppressWeatherEffectAbAttr, true) .attr(PostSummonUnnamedMessageAbAttr, i18next.t("abilityTriggers:weatherEffectDisappeared")) .attr(PostSummonWeatherSuppressedFormChangeAbAttr) .attr(PostFaintUnsuppressedWeatherFormChangeAbAttr) .bypassFaint(), - new Ability(Abilities.TANGLED_FEET, 4) + new Ability(AbilityId.TANGLED_FEET, 4) .conditionalAttr(pokemon => !!pokemon.getTag(BattlerTagType.CONFUSED), StatMultiplierAbAttr, Stat.EVA, 2) .ignorable(), - new Ability(Abilities.MOTOR_DRIVE, 4) + new Ability(AbilityId.MOTOR_DRIVE, 4) .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.ELECTRIC, Stat.SPD, 1) .ignorable(), - new Ability(Abilities.RIVALRY, 4) + new Ability(AbilityId.RIVALRY, 4) .attr(MovePowerBoostAbAttr, (user, target, move) => user?.gender !== Gender.GENDERLESS && target?.gender !== Gender.GENDERLESS && user?.gender === target?.gender, 1.25, true) .attr(MovePowerBoostAbAttr, (user, target, move) => user?.gender !== Gender.GENDERLESS && target?.gender !== Gender.GENDERLESS && user?.gender !== target?.gender, 0.75), - new Ability(Abilities.STEADFAST, 4) + new Ability(AbilityId.STEADFAST, 4) .attr(FlinchStatStageChangeAbAttr, [ Stat.SPD ], 1), - new Ability(Abilities.SNOW_CLOAK, 4) + new Ability(AbilityId.SNOW_CLOAK, 4) .attr(StatMultiplierAbAttr, Stat.EVA, 1.2) .attr(BlockWeatherDamageAttr, WeatherType.HAIL) .condition(getWeatherCondition(WeatherType.HAIL, WeatherType.SNOW)) .ignorable(), - new Ability(Abilities.GLUTTONY, 4) + new Ability(AbilityId.GLUTTONY, 4) .attr(ReduceBerryUseThresholdAbAttr), - new Ability(Abilities.ANGER_POINT, 4) + new Ability(AbilityId.ANGER_POINT, 4) .attr(PostDefendCritStatStageChangeAbAttr, Stat.ATK, 6), - new Ability(Abilities.UNBURDEN, 4) + new Ability(AbilityId.UNBURDEN, 4) .attr(PostItemLostApplyBattlerTagAbAttr, BattlerTagType.UNBURDEN) .bypassFaint() // Allows reviver seed to activate Unburden .edgeCase(), // Should not restore Unburden boost if Pokemon loses then regains Unburden ability - new Ability(Abilities.HEATPROOF, 4) + new Ability(AbilityId.HEATPROOF, 4) .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 0.5) .attr(ReduceBurnDamageAbAttr, 0.5) .ignorable(), - new Ability(Abilities.SIMPLE, 4) + new Ability(AbilityId.SIMPLE, 4) .attr(StatStageChangeMultiplierAbAttr, 2) .ignorable(), - new Ability(Abilities.DRY_SKIN, 4) + new Ability(AbilityId.DRY_SKIN, 4) .attr(PostWeatherLapseDamageAbAttr, 2, WeatherType.SUNNY, WeatherType.HARSH_SUN) .attr(PostWeatherLapseHealAbAttr, 2, WeatherType.RAIN, WeatherType.HEAVY_RAIN) .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 1.25) .attr(TypeImmunityHealAbAttr, PokemonType.WATER) .ignorable(), - new Ability(Abilities.DOWNLOAD, 4) + new Ability(AbilityId.DOWNLOAD, 4) .attr(DownloadAbAttr), - new Ability(Abilities.IRON_FIST, 4) + new Ability(AbilityId.IRON_FIST, 4) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.PUNCHING_MOVE), 1.2), - new Ability(Abilities.POISON_HEAL, 4) + new Ability(AbilityId.POISON_HEAL, 4) .attr(PostTurnStatusHealAbAttr, StatusEffect.TOXIC, StatusEffect.POISON) .attr(BlockStatusDamageAbAttr, StatusEffect.TOXIC, StatusEffect.POISON), - new Ability(Abilities.ADAPTABILITY, 4) + new Ability(AbilityId.ADAPTABILITY, 4) .attr(StabBoostAbAttr), - new Ability(Abilities.SKILL_LINK, 4) + new Ability(AbilityId.SKILL_LINK, 4) .attr(MaxMultiHitAbAttr), - new Ability(Abilities.HYDRATION, 4) + new Ability(AbilityId.HYDRATION, 4) .attr(PostTurnResetStatusAbAttr) .condition(getWeatherCondition(WeatherType.RAIN, WeatherType.HEAVY_RAIN)), - new Ability(Abilities.SOLAR_POWER, 4) + new Ability(AbilityId.SOLAR_POWER, 4) .attr(PostWeatherLapseDamageAbAttr, 2, WeatherType.SUNNY, WeatherType.HARSH_SUN) .attr(StatMultiplierAbAttr, Stat.SPATK, 1.5) .condition(getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN)), - new Ability(Abilities.QUICK_FEET, 4) + new Ability(AbilityId.QUICK_FEET, 4) .conditionalAttr(pokemon => pokemon.status ? pokemon.status.effect === StatusEffect.PARALYSIS : false, StatMultiplierAbAttr, Stat.SPD, 2) - .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), StatMultiplierAbAttr, Stat.SPD, 1.5), - new Ability(Abilities.NORMALIZE, 4) + .conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(AbilityId.COMATOSE), StatMultiplierAbAttr, Stat.SPD, 1.5), + new Ability(AbilityId.NORMALIZE, 4) .attr(MoveTypeChangeAbAttr, PokemonType.NORMAL, 1.2), - new Ability(Abilities.SNIPER, 4) + new Ability(AbilityId.SNIPER, 4) .attr(MultCritAbAttr, 1.5), - new Ability(Abilities.MAGIC_GUARD, 4) + new Ability(AbilityId.MAGIC_GUARD, 4) .attr(BlockNonDirectDamageAbAttr), - new Ability(Abilities.NO_GUARD, 4) + new Ability(AbilityId.NO_GUARD, 4) .attr(AlwaysHitAbAttr) .attr(DoubleBattleChanceAbAttr), - new Ability(Abilities.STALL, 4) + new Ability(AbilityId.STALL, 4) .attr(ChangeMovePriorityAbAttr, (pokemon, move: Move) => true, -0.2), - new Ability(Abilities.TECHNICIAN, 4) + new Ability(AbilityId.TECHNICIAN, 4) .attr(MovePowerBoostAbAttr, (user, target, move) => { const power = new NumberHolder(move.power); applyMoveAttrs(VariablePowerAttr, user, target, move, power); return power.value <= 60; }, 1.5), - new Ability(Abilities.LEAF_GUARD, 4) + new Ability(AbilityId.LEAF_GUARD, 4) .attr(StatusEffectImmunityAbAttr) .condition(getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN)) .ignorable(), - new Ability(Abilities.KLUTZ, 4) + new Ability(AbilityId.KLUTZ, 4) .unimplemented(), - new Ability(Abilities.MOLD_BREAKER, 4) + new Ability(AbilityId.MOLD_BREAKER, 4) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonMoldBreaker", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) .attr(MoveAbilityBypassAbAttr), - new Ability(Abilities.SUPER_LUCK, 4) + new Ability(AbilityId.SUPER_LUCK, 4) .attr(BonusCritAbAttr), - new Ability(Abilities.AFTERMATH, 4) + new Ability(AbilityId.AFTERMATH, 4) .attr(PostFaintContactDamageAbAttr, 4) .bypassFaint(), - new Ability(Abilities.ANTICIPATION, 4) + new Ability(AbilityId.ANTICIPATION, 4) .conditionalAttr(getAnticipationCondition(), PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonAnticipation", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })), - new Ability(Abilities.FOREWARN, 4) + new Ability(AbilityId.FOREWARN, 4) .attr(ForewarnAbAttr), - new Ability(Abilities.UNAWARE, 4) + new Ability(AbilityId.UNAWARE, 4) .attr(IgnoreOpponentStatStagesAbAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.ACC, Stat.EVA ]) .ignorable(), - new Ability(Abilities.TINTED_LENS, 4) + new Ability(AbilityId.TINTED_LENS, 4) .attr(DamageBoostAbAttr, 2, (user, target, move) => (target?.getMoveEffectiveness(user!, move) ?? 1) <= 0.5), - new Ability(Abilities.FILTER, 4) + new Ability(AbilityId.FILTER, 4) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => target.getMoveEffectiveness(user, move) >= 2, 0.75) .ignorable(), - new Ability(Abilities.SLOW_START, 4) + new Ability(AbilityId.SLOW_START, 4) .attr(PostSummonAddBattlerTagAbAttr, BattlerTagType.SLOW_START, 5), - new Ability(Abilities.SCRAPPY, 4) + new Ability(AbilityId.SCRAPPY, 4) .attr(IgnoreTypeImmunityAbAttr, PokemonType.GHOST, [ PokemonType.NORMAL, PokemonType.FIGHTING ]) .attr(IntimidateImmunityAbAttr), - new Ability(Abilities.STORM_DRAIN, 4) + new Ability(AbilityId.STORM_DRAIN, 4) .attr(RedirectTypeMoveAbAttr, PokemonType.WATER) .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.WATER, Stat.SPATK, 1) .ignorable(), - new Ability(Abilities.ICE_BODY, 4) + new Ability(AbilityId.ICE_BODY, 4) .attr(BlockWeatherDamageAttr, WeatherType.HAIL) .attr(PostWeatherLapseHealAbAttr, 1, WeatherType.HAIL, WeatherType.SNOW), - new Ability(Abilities.SOLID_ROCK, 4) + new Ability(AbilityId.SOLID_ROCK, 4) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => target.getMoveEffectiveness(user, move) >= 2, 0.75) .ignorable(), - new Ability(Abilities.SNOW_WARNING, 4) + new Ability(AbilityId.SNOW_WARNING, 4) .attr(PostSummonWeatherChangeAbAttr, WeatherType.SNOW) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.SNOW), - new Ability(Abilities.HONEY_GATHER, 4) + new Ability(AbilityId.HONEY_GATHER, 4) .attr(MoneyAbAttr) .unsuppressable(), - new Ability(Abilities.FRISK, 4) + new Ability(AbilityId.FRISK, 4) .attr(FriskAbAttr), - new Ability(Abilities.RECKLESS, 4) + new Ability(AbilityId.RECKLESS, 4) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.RECKLESS_MOVE), 1.2), - new Ability(Abilities.MULTITYPE, 4) + new Ability(AbilityId.MULTITYPE, 4) .attr(NoFusionAbilityAbAttr) .uncopiable() .unsuppressable() .unreplaceable(), - new Ability(Abilities.FLOWER_GIFT, 4) + new Ability(AbilityId.FLOWER_GIFT, 4) .conditionalAttr(getWeatherCondition(WeatherType.SUNNY || WeatherType.HARSH_SUN), StatMultiplierAbAttr, Stat.ATK, 1.5) .conditionalAttr(getWeatherCondition(WeatherType.SUNNY || WeatherType.HARSH_SUN), StatMultiplierAbAttr, Stat.SPDEF, 1.5) .conditionalAttr(getWeatherCondition(WeatherType.SUNNY || WeatherType.HARSH_SUN), AllyStatMultiplierAbAttr, Stat.ATK, 1.5) .conditionalAttr(getWeatherCondition(WeatherType.SUNNY || WeatherType.HARSH_SUN), AllyStatMultiplierAbAttr, Stat.SPDEF, 1.5) .attr(NoFusionAbilityAbAttr) - .attr(PostSummonFormChangeByWeatherAbAttr, Abilities.FLOWER_GIFT) - .attr(PostWeatherChangeFormChangeAbAttr, Abilities.FLOWER_GIFT, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG, WeatherType.HAIL, WeatherType.HEAVY_RAIN, WeatherType.SNOW, WeatherType.RAIN ]) + .attr(PostSummonFormChangeByWeatherAbAttr, AbilityId.FLOWER_GIFT) + .attr(PostWeatherChangeFormChangeAbAttr, AbilityId.FLOWER_GIFT, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG, WeatherType.HAIL, WeatherType.HEAVY_RAIN, WeatherType.SNOW, WeatherType.RAIN ]) .uncopiable() .unreplaceable() .ignorable(), - new Ability(Abilities.BAD_DREAMS, 4) + new Ability(AbilityId.BAD_DREAMS, 4) .attr(PostTurnHurtIfSleepingAbAttr), - new Ability(Abilities.PICKPOCKET, 5) + new Ability(AbilityId.PICKPOCKET, 5) .attr(PostDefendStealHeldItemAbAttr, (target, user, move) => move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user, target})) .condition(getSheerForceHitDisableAbCondition()), - new Ability(Abilities.SHEER_FORCE, 5) + new Ability(AbilityId.SHEER_FORCE, 5) .attr(MovePowerBoostAbAttr, (user, target, move) => move.chance >= 1, 1.3) .attr(MoveEffectChanceMultiplierAbAttr, 0), // This attribute does not seem to function - Should disable life orb, eject button, red card, kee/maranga berry if they get implemented - new Ability(Abilities.CONTRARY, 5) + new Ability(AbilityId.CONTRARY, 5) .attr(StatStageChangeMultiplierAbAttr, -1) .ignorable(), - new Ability(Abilities.UNNERVE, 5) + new Ability(AbilityId.UNNERVE, 5) .attr(PreventBerryUseAbAttr), - new Ability(Abilities.DEFIANT, 5) + new Ability(AbilityId.DEFIANT, 5) .attr(PostStatStageChangeStatStageChangeAbAttr, (target, statsChanged, stages) => stages < 0, [ Stat.ATK ], 2), - new Ability(Abilities.DEFEATIST, 5) + new Ability(AbilityId.DEFEATIST, 5) .attr(StatMultiplierAbAttr, Stat.ATK, 0.5) .attr(StatMultiplierAbAttr, Stat.SPATK, 0.5) .condition((pokemon) => pokemon.getHpRatio() <= 0.5), - new Ability(Abilities.CURSED_BODY, 5) + new Ability(AbilityId.CURSED_BODY, 5) .attr(PostDefendMoveDisableAbAttr, 30) .bypassFaint(), - new Ability(Abilities.HEALER, 5) + new Ability(AbilityId.HEALER, 5) .conditionalAttr(pokemon => !isNullOrUndefined(pokemon.getAlly()) && randSeedInt(10) < 3, PostTurnResetStatusAbAttr, true), - new Ability(Abilities.FRIEND_GUARD, 5) + new Ability(AbilityId.FRIEND_GUARD, 5) .attr(AlliedFieldDamageReductionAbAttr, 0.75) .ignorable(), - new Ability(Abilities.WEAK_ARMOR, 5) + new Ability(AbilityId.WEAK_ARMOR, 5) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, Stat.DEF, -1) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, Stat.SPD, 2), - new Ability(Abilities.HEAVY_METAL, 5) + new Ability(AbilityId.HEAVY_METAL, 5) .attr(WeightMultiplierAbAttr, 2) .ignorable(), - new Ability(Abilities.LIGHT_METAL, 5) + new Ability(AbilityId.LIGHT_METAL, 5) .attr(WeightMultiplierAbAttr, 0.5) .ignorable(), - new Ability(Abilities.MULTISCALE, 5) + new Ability(AbilityId.MULTISCALE, 5) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => target.isFullHp(), 0.5) .ignorable(), - new Ability(Abilities.TOXIC_BOOST, 5) + new Ability(AbilityId.TOXIC_BOOST, 5) .attr(MovePowerBoostAbAttr, (user, target, move) => move.category === MoveCategory.PHYSICAL && (user?.status?.effect === StatusEffect.POISON || user?.status?.effect === StatusEffect.TOXIC), 1.5), - new Ability(Abilities.FLARE_BOOST, 5) + new Ability(AbilityId.FLARE_BOOST, 5) .attr(MovePowerBoostAbAttr, (user, target, move) => move.category === MoveCategory.SPECIAL && user?.status?.effect === StatusEffect.BURN, 1.5), - new Ability(Abilities.HARVEST, 5) + new Ability(AbilityId.HARVEST, 5) .attr( PostTurnRestoreBerryAbAttr, /** Rate is doubled when under sun {@link https://dex.pokemonshowdown.com/abilities/harvest} */ (pokemon) => 0.5 * (getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN)(pokemon) ? 2 : 1) ) .edgeCase(), // Cannot recover berries used up by fling or natural gift (unimplemented) - new Ability(Abilities.TELEPATHY, 5) + new Ability(AbilityId.TELEPATHY, 5) .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon.getAlly() === attacker && move instanceof AttackMove) .ignorable(), - new Ability(Abilities.MOODY, 5) + new Ability(AbilityId.MOODY, 5) .attr(MoodyAbAttr), - new Ability(Abilities.OVERCOAT, 5) + new Ability(AbilityId.OVERCOAT, 5) .attr(BlockWeatherDamageAttr) .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.POWDER_MOVE)) .ignorable(), - new Ability(Abilities.POISON_TOUCH, 5) + new Ability(AbilityId.POISON_TOUCH, 5) .attr(PostAttackContactApplyStatusEffectAbAttr, 30, StatusEffect.POISON), - new Ability(Abilities.REGENERATOR, 5) + new Ability(AbilityId.REGENERATOR, 5) .attr(PreSwitchOutHealAbAttr), - new Ability(Abilities.BIG_PECKS, 5) + new Ability(AbilityId.BIG_PECKS, 5) .attr(ProtectStatAbAttr, Stat.DEF) .ignorable(), - new Ability(Abilities.SAND_RUSH, 5) + new Ability(AbilityId.SAND_RUSH, 5) .attr(StatMultiplierAbAttr, Stat.SPD, 2) .attr(BlockWeatherDamageAttr, WeatherType.SANDSTORM) .condition(getWeatherCondition(WeatherType.SANDSTORM)), - new Ability(Abilities.WONDER_SKIN, 5) + new Ability(AbilityId.WONDER_SKIN, 5) .attr(WonderSkinAbAttr) .ignorable(), - new Ability(Abilities.ANALYTIC, 5) + new Ability(AbilityId.ANALYTIC, 5) .attr(MovePowerBoostAbAttr, (user, target, move) => { const movePhase = globalScene.findPhase((phase) => phase instanceof MovePhase && phase.pokemon.id !== user?.id); return isNullOrUndefined(movePhase); }, 1.3), - new Ability(Abilities.ILLUSION, 5) + new Ability(AbilityId.ILLUSION, 5) // The Pokemon generate an illusion if it's available .attr(IllusionPreSummonAbAttr, false) .attr(IllusionBreakAbAttr) @@ -6912,47 +6912,47 @@ export function initAbilities() { .conditionalAttr((pokemon) => pokemon.isAllowedInBattle(), IllusionPostBattleAbAttr, false) .uncopiable() .bypassFaint(), - new Ability(Abilities.IMPOSTER, 5) + new Ability(AbilityId.IMPOSTER, 5) .attr(PostSummonTransformAbAttr) .uncopiable(), - new Ability(Abilities.INFILTRATOR, 5) + new Ability(AbilityId.INFILTRATOR, 5) .attr(InfiltratorAbAttr) .partial(), // does not bypass Mist - new Ability(Abilities.MUMMY, 5) - .attr(PostDefendAbilityGiveAbAttr, Abilities.MUMMY) + new Ability(AbilityId.MUMMY, 5) + .attr(PostDefendAbilityGiveAbAttr, AbilityId.MUMMY) .bypassFaint(), - new Ability(Abilities.MOXIE, 5) + new Ability(AbilityId.MOXIE, 5) .attr(PostVictoryStatStageChangeAbAttr, Stat.ATK, 1), - new Ability(Abilities.JUSTIFIED, 5) + new Ability(AbilityId.JUSTIFIED, 5) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.DARK && move.category !== MoveCategory.STATUS, Stat.ATK, 1), - new Ability(Abilities.RATTLED, 5) + new Ability(AbilityId.RATTLED, 5) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => { const moveType = user.getMoveType(move); return move.category !== MoveCategory.STATUS && (moveType === PokemonType.DARK || moveType === PokemonType.BUG || moveType === PokemonType.GHOST); }, Stat.SPD, 1) .attr(PostIntimidateStatStageChangeAbAttr, [ Stat.SPD ], 1), - new Ability(Abilities.MAGIC_BOUNCE, 5) + new Ability(AbilityId.MAGIC_BOUNCE, 5) .attr(ReflectStatusMoveAbAttr) .ignorable() // Interactions with stomping tantrum, instruct, encore, and probably other moves that // rely on move history .edgeCase(), - new Ability(Abilities.SAP_SIPPER, 5) + new Ability(AbilityId.SAP_SIPPER, 5) .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.GRASS, Stat.ATK, 1) .ignorable(), - new Ability(Abilities.PRANKSTER, 5) + new Ability(AbilityId.PRANKSTER, 5) .attr(ChangeMovePriorityAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS, 1), - new Ability(Abilities.SAND_FORCE, 5) + new Ability(AbilityId.SAND_FORCE, 5) .attr(MoveTypePowerBoostAbAttr, PokemonType.ROCK, 1.3) .attr(MoveTypePowerBoostAbAttr, PokemonType.GROUND, 1.3) .attr(MoveTypePowerBoostAbAttr, PokemonType.STEEL, 1.3) .attr(BlockWeatherDamageAttr, WeatherType.SANDSTORM) .condition(getWeatherCondition(WeatherType.SANDSTORM)), - new Ability(Abilities.IRON_BARBS, 5) + new Ability(AbilityId.IRON_BARBS, 5) .attr(PostDefendContactDamageAbAttr, 8) .bypassFaint(), - new Ability(Abilities.ZEN_MODE, 5) + new Ability(AbilityId.ZEN_MODE, 5) .attr(PostBattleInitFormChangeAbAttr, () => 0) .attr(PostSummonFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 1 : 0) .attr(PostTurnFormChangeAbAttr, p => p.getHpRatio() <= 0.5 ? 1 : 0) @@ -6961,19 +6961,19 @@ export function initAbilities() { .unreplaceable() .unsuppressable() .bypassFaint(), - new Ability(Abilities.VICTORY_STAR, 5) + new Ability(AbilityId.VICTORY_STAR, 5) .attr(StatMultiplierAbAttr, Stat.ACC, 1.1) .attr(AllyStatMultiplierAbAttr, Stat.ACC, 1.1, false), - new Ability(Abilities.TURBOBLAZE, 5) + new Ability(AbilityId.TURBOBLAZE, 5) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonTurboblaze", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) .attr(MoveAbilityBypassAbAttr), - new Ability(Abilities.TERAVOLT, 5) + new Ability(AbilityId.TERAVOLT, 5) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonTeravolt", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) .attr(MoveAbilityBypassAbAttr), - new Ability(Abilities.AROMA_VEIL, 6) + new Ability(AbilityId.AROMA_VEIL, 6) .attr(UserFieldBattlerTagImmunityAbAttr, [ BattlerTagType.INFATUATED, BattlerTagType.TAUNT, BattlerTagType.DISABLED, BattlerTagType.TORMENT, BattlerTagType.HEAL_BLOCK ]) .ignorable(), - new Ability(Abilities.FLOWER_VEIL, 6) + new Ability(AbilityId.FLOWER_VEIL, 6) .attr(ConditionalUserFieldStatusEffectImmunityAbAttr, (target: Pokemon, source: Pokemon | null) => { return source ? target.getTypes().includes(PokemonType.GRASS) && target.id !== source.id : false; }) @@ -6987,95 +6987,95 @@ export function initAbilities() { return target.getTypes().includes(PokemonType.GRASS); }) .ignorable(), - new Ability(Abilities.CHEEK_POUCH, 6) + new Ability(AbilityId.CHEEK_POUCH, 6) .attr(HealFromBerryUseAbAttr, 1 / 3), - new Ability(Abilities.PROTEAN, 6) + new Ability(AbilityId.PROTEAN, 6) .attr(PokemonTypeChangeAbAttr), - //.condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.PROTEAN)), //Gen 9 Implementation - new Ability(Abilities.FUR_COAT, 6) + //.condition((p) => !p.summonData.abilitiesApplied.includes(AbilityId.PROTEAN)), //Gen 9 Implementation + new Ability(AbilityId.FUR_COAT, 6) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, 0.5) .ignorable(), - new Ability(Abilities.MAGICIAN, 6) + new Ability(AbilityId.MAGICIAN, 6) .attr(PostAttackStealHeldItemAbAttr), - new Ability(Abilities.BULLETPROOF, 6) + new Ability(AbilityId.BULLETPROOF, 6) .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.BALLBOMB_MOVE)) .ignorable(), - new Ability(Abilities.COMPETITIVE, 6) + new Ability(AbilityId.COMPETITIVE, 6) .attr(PostStatStageChangeStatStageChangeAbAttr, (target, statsChanged, stages) => stages < 0, [ Stat.SPATK ], 2), - new Ability(Abilities.STRONG_JAW, 6) + new Ability(AbilityId.STRONG_JAW, 6) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.BITING_MOVE), 1.5), - new Ability(Abilities.REFRIGERATE, 6) + new Ability(AbilityId.REFRIGERATE, 6) .attr(MoveTypeChangeAbAttr, PokemonType.ICE, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), - new Ability(Abilities.SWEET_VEIL, 6) + new Ability(AbilityId.SWEET_VEIL, 6) .attr(UserFieldStatusEffectImmunityAbAttr, StatusEffect.SLEEP) .attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.SLEEP) .attr(UserFieldBattlerTagImmunityAbAttr, BattlerTagType.DROWSY) .ignorable() .partial(), // Mold Breaker ally should not be affected by Sweet Veil - new Ability(Abilities.STANCE_CHANGE, 6) + new Ability(AbilityId.STANCE_CHANGE, 6) .attr(NoFusionAbilityAbAttr) .uncopiable() .unreplaceable() .unsuppressable(), - new Ability(Abilities.GALE_WINGS, 6) + new Ability(AbilityId.GALE_WINGS, 6) .attr(ChangeMovePriorityAbAttr, (pokemon, move) => pokemon.isFullHp() && pokemon.getMoveType(move) === PokemonType.FLYING, 1), - new Ability(Abilities.MEGA_LAUNCHER, 6) + new Ability(AbilityId.MEGA_LAUNCHER, 6) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.PULSE_MOVE), 1.5), - new Ability(Abilities.GRASS_PELT, 6) + new Ability(AbilityId.GRASS_PELT, 6) .conditionalAttr(getTerrainCondition(TerrainType.GRASSY), StatMultiplierAbAttr, Stat.DEF, 1.5) .ignorable(), - new Ability(Abilities.SYMBIOSIS, 6) + new Ability(AbilityId.SYMBIOSIS, 6) .unimplemented(), - new Ability(Abilities.TOUGH_CLAWS, 6) + new Ability(AbilityId.TOUGH_CLAWS, 6) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), 1.3), - new Ability(Abilities.PIXILATE, 6) + new Ability(AbilityId.PIXILATE, 6) .attr(MoveTypeChangeAbAttr, PokemonType.FAIRY, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), - new Ability(Abilities.GOOEY, 6) + new Ability(AbilityId.GOOEY, 6) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), Stat.SPD, -1, false), - new Ability(Abilities.AERILATE, 6) + new Ability(AbilityId.AERILATE, 6) .attr(MoveTypeChangeAbAttr, PokemonType.FLYING, 1.2, (user, target, move) => move.type === PokemonType.NORMAL), - new Ability(Abilities.PARENTAL_BOND, 6) + new Ability(AbilityId.PARENTAL_BOND, 6) .attr(AddSecondStrikeAbAttr, 0.25), - new Ability(Abilities.DARK_AURA, 6) + new Ability(AbilityId.DARK_AURA, 6) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonDarkAura", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) .attr(FieldMoveTypePowerBoostAbAttr, PokemonType.DARK, 4 / 3), - new Ability(Abilities.FAIRY_AURA, 6) + new Ability(AbilityId.FAIRY_AURA, 6) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonFairyAura", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) .attr(FieldMoveTypePowerBoostAbAttr, PokemonType.FAIRY, 4 / 3), - new Ability(Abilities.AURA_BREAK, 6) + new Ability(AbilityId.AURA_BREAK, 6) .ignorable() - .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.DARK_AURA)), FieldMoveTypePowerBoostAbAttr, PokemonType.DARK, 9 / 16) - .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.FAIRY_AURA)), FieldMoveTypePowerBoostAbAttr, PokemonType.FAIRY, 9 / 16) - .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.DARK_AURA) || p.hasAbility(Abilities.FAIRY_AURA)), + .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(AbilityId.DARK_AURA)), FieldMoveTypePowerBoostAbAttr, PokemonType.DARK, 9 / 16) + .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(AbilityId.FAIRY_AURA)), FieldMoveTypePowerBoostAbAttr, PokemonType.FAIRY, 9 / 16) + .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(AbilityId.DARK_AURA) || p.hasAbility(AbilityId.FAIRY_AURA)), PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonAuraBreak", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })), - new Ability(Abilities.PRIMORDIAL_SEA, 6) + new Ability(AbilityId.PRIMORDIAL_SEA, 6) .attr(PostSummonWeatherChangeAbAttr, WeatherType.HEAVY_RAIN) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HEAVY_RAIN) .attr(PreLeaveFieldClearWeatherAbAttr) .bypassFaint(), - new Ability(Abilities.DESOLATE_LAND, 6) + new Ability(AbilityId.DESOLATE_LAND, 6) .attr(PostSummonWeatherChangeAbAttr, WeatherType.HARSH_SUN) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HARSH_SUN) .attr(PreLeaveFieldClearWeatherAbAttr) .bypassFaint(), - new Ability(Abilities.DELTA_STREAM, 6) + new Ability(AbilityId.DELTA_STREAM, 6) .attr(PostSummonWeatherChangeAbAttr, WeatherType.STRONG_WINDS) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.STRONG_WINDS) .attr(PreLeaveFieldClearWeatherAbAttr) .bypassFaint(), - new Ability(Abilities.STAMINA, 7) + new Ability(AbilityId.STAMINA, 7) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, Stat.DEF, 1), - new Ability(Abilities.WIMP_OUT, 7) + new Ability(AbilityId.WIMP_OUT, 7) .attr(PostDamageForceSwitchAbAttr) .edgeCase(), // Should not trigger when hurting itself in confusion, causes Fake Out to fail turn 1 and succeed turn 2 if pokemon is switched out before battle start via playing in Switch Mode - new Ability(Abilities.EMERGENCY_EXIT, 7) + new Ability(AbilityId.EMERGENCY_EXIT, 7) .attr(PostDamageForceSwitchAbAttr) .edgeCase(), // Should not trigger when hurting itself in confusion, causes Fake Out to fail turn 1 and succeed turn 2 if pokemon is switched out before battle start via playing in Switch Mode - new Ability(Abilities.WATER_COMPACTION, 7) + new Ability(AbilityId.WATER_COMPACTION, 7) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.WATER && move.category !== MoveCategory.STATUS, Stat.DEF, 2), - new Ability(Abilities.MERCILESS, 7) + new Ability(AbilityId.MERCILESS, 7) .attr(ConditionalCritAbAttr, (user, target, move) => target?.status?.effect === StatusEffect.TOXIC || target?.status?.effect === StatusEffect.POISON), - new Ability(Abilities.SHIELDS_DOWN, 7) + new Ability(AbilityId.SHIELDS_DOWN, 7) .attr(PostBattleInitFormChangeAbAttr, () => 0) .attr(PostSummonFormChangeAbAttr, p => p.formIndex % 7 + (p.getHpRatio() <= 0.5 ? 7 : 0)) .attr(PostTurnFormChangeAbAttr, p => p.formIndex % 7 + (p.getHpRatio() <= 0.5 ? 7 : 0)) @@ -7087,33 +7087,33 @@ export function initAbilities() { .unreplaceable() .unsuppressable() .bypassFaint(), - new Ability(Abilities.STAKEOUT, 7) + new Ability(AbilityId.STAKEOUT, 7) .attr(MovePowerBoostAbAttr, (user, target, move) => !!target?.turnData.switchedInThisTurn, 2), - new Ability(Abilities.WATER_BUBBLE, 7) + new Ability(AbilityId.WATER_BUBBLE, 7) .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 0.5) .attr(MoveTypePowerBoostAbAttr, PokemonType.WATER, 2) .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) .attr(PostSummonHealStatusAbAttr, StatusEffect.BURN) .ignorable(), - new Ability(Abilities.STEELWORKER, 7) + new Ability(AbilityId.STEELWORKER, 7) .attr(MoveTypePowerBoostAbAttr, PokemonType.STEEL), - new Ability(Abilities.BERSERK, 7) + new Ability(AbilityId.BERSERK, 7) .attr(PostDefendHpGatedStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ Stat.SPATK ], 1) .condition(getSheerForceHitDisableAbCondition()), - new Ability(Abilities.SLUSH_RUSH, 7) + new Ability(AbilityId.SLUSH_RUSH, 7) .attr(StatMultiplierAbAttr, Stat.SPD, 2) .condition(getWeatherCondition(WeatherType.HAIL, WeatherType.SNOW)), - new Ability(Abilities.LONG_REACH, 7) + new Ability(AbilityId.LONG_REACH, 7) .attr(IgnoreContactAbAttr), - new Ability(Abilities.LIQUID_VOICE, 7) + new Ability(AbilityId.LIQUID_VOICE, 7) .attr(MoveTypeChangeAbAttr, PokemonType.WATER, 1, (user, target, move) => move.hasFlag(MoveFlags.SOUND_BASED)), - new Ability(Abilities.TRIAGE, 7) + new Ability(AbilityId.TRIAGE, 7) .attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.hasFlag(MoveFlags.TRIAGE_MOVE), 3), - new Ability(Abilities.GALVANIZE, 7) + new Ability(AbilityId.GALVANIZE, 7) .attr(MoveTypeChangeAbAttr, PokemonType.ELECTRIC, 1.2, (_user, _target, move) => move.type === PokemonType.NORMAL), - new Ability(Abilities.SURGE_SURFER, 7) + new Ability(AbilityId.SURGE_SURFER, 7) .conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), StatMultiplierAbAttr, Stat.SPD, 2), - new Ability(Abilities.SCHOOLING, 7) + new Ability(AbilityId.SCHOOLING, 7) .attr(PostBattleInitFormChangeAbAttr, () => 0) .attr(PostSummonFormChangeAbAttr, p => p.level < 20 || p.getHpRatio() <= 0.25 ? 0 : 1) .attr(PostTurnFormChangeAbAttr, p => p.level < 20 || p.getHpRatio() <= 0.25 ? 0 : 1) @@ -7122,7 +7122,7 @@ export function initAbilities() { .unreplaceable() .unsuppressable() .bypassFaint(), - new Ability(Abilities.DISGUISE, 7) + new Ability(AbilityId.DISGUISE, 7) .attr(NoTransformAbilityAbAttr) .attr(NoFusionAbilityAbAttr) // Add BattlerTagType.DISGUISE if the pokemon is in its disguised form @@ -7137,7 +7137,7 @@ export function initAbilities() { .unsuppressable() .bypassFaint() .ignorable(), - new Ability(Abilities.BATTLE_BOND, 7) + new Ability(AbilityId.BATTLE_BOND, 7) .attr(PostVictoryFormChangeAbAttr, () => 2) .attr(PostBattleInitFormChangeAbAttr, () => 1) .attr(NoFusionAbilityAbAttr) @@ -7145,7 +7145,7 @@ export function initAbilities() { .unreplaceable() .unsuppressable() .bypassFaint(), - new Ability(Abilities.POWER_CONSTRUCT, 7) + new Ability(AbilityId.POWER_CONSTRUCT, 7) .conditionalAttr(pokemon => pokemon.formIndex === 2 || pokemon.formIndex === 4, PostBattleInitFormChangeAbAttr, () => 2) .conditionalAttr(pokemon => pokemon.formIndex === 3 || pokemon.formIndex === 5, PostBattleInitFormChangeAbAttr, () => 3) .conditionalAttr(pokemon => pokemon.formIndex === 2 || pokemon.formIndex === 4, PostSummonFormChangeAbAttr, p => p.getHpRatio() <= 0.5 || p.getFormKey() === "complete" ? 4 : 2) @@ -7157,43 +7157,43 @@ export function initAbilities() { .unreplaceable() .unsuppressable() .bypassFaint(), - new Ability(Abilities.CORROSION, 7) + new Ability(AbilityId.CORROSION, 7) .attr(IgnoreTypeStatusEffectImmunityAbAttr, [ StatusEffect.POISON, StatusEffect.TOXIC ], [ PokemonType.STEEL, PokemonType.POISON ]) .edgeCase(), // Should poison itself with toxic orb. - new Ability(Abilities.COMATOSE, 7) + new Ability(AbilityId.COMATOSE, 7) .attr(StatusEffectImmunityAbAttr, ...getNonVolatileStatusEffects()) .attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY) .uncopiable() .unreplaceable() .unsuppressable(), - new Ability(Abilities.QUEENLY_MAJESTY, 7) + new Ability(AbilityId.QUEENLY_MAJESTY, 7) .attr(FieldPriorityMoveImmunityAbAttr) .ignorable(), - new Ability(Abilities.INNARDS_OUT, 7) + new Ability(AbilityId.INNARDS_OUT, 7) .attr(PostFaintHPDamageAbAttr) .bypassFaint(), - new Ability(Abilities.DANCER, 7) + new Ability(AbilityId.DANCER, 7) .attr(PostDancingMoveAbAttr), - new Ability(Abilities.BATTERY, 7) + new Ability(AbilityId.BATTERY, 7) .attr(AllyMoveCategoryPowerBoostAbAttr, [ MoveCategory.SPECIAL ], 1.3), - new Ability(Abilities.FLUFFY, 7) + new Ability(AbilityId.FLUFFY, 7) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user, target}), 0.5) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.FIRE, 2) .ignorable(), - new Ability(Abilities.DAZZLING, 7) + new Ability(AbilityId.DAZZLING, 7) .attr(FieldPriorityMoveImmunityAbAttr) .ignorable(), - new Ability(Abilities.SOUL_HEART, 7) + new Ability(AbilityId.SOUL_HEART, 7) .attr(PostKnockOutStatStageChangeAbAttr, Stat.SPATK, 1), - new Ability(Abilities.TANGLING_HAIR, 7) + new Ability(AbilityId.TANGLING_HAIR, 7) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.doesFlagEffectApply({flag: MoveFlags.MAKES_CONTACT, user, target}), Stat.SPD, -1, false), - new Ability(Abilities.RECEIVER, 7) + new Ability(AbilityId.RECEIVER, 7) .attr(CopyFaintedAllyAbilityAbAttr) .uncopiable(), - new Ability(Abilities.POWER_OF_ALCHEMY, 7) + new Ability(AbilityId.POWER_OF_ALCHEMY, 7) .attr(CopyFaintedAllyAbilityAbAttr) .uncopiable(), - new Ability(Abilities.BEAST_BOOST, 7) + new Ability(AbilityId.BEAST_BOOST, 7) .attr(PostVictoryStatStageChangeAbAttr, p => { let highestStat: EffectiveStat; let highestValue = 0; @@ -7206,47 +7206,47 @@ export function initAbilities() { } return highestStat!; }, 1), - new Ability(Abilities.RKS_SYSTEM, 7) + new Ability(AbilityId.RKS_SYSTEM, 7) .attr(NoFusionAbilityAbAttr) .uncopiable() .unreplaceable() .unsuppressable(), - new Ability(Abilities.ELECTRIC_SURGE, 7) + new Ability(AbilityId.ELECTRIC_SURGE, 7) .attr(PostSummonTerrainChangeAbAttr, TerrainType.ELECTRIC) .attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.ELECTRIC), - new Ability(Abilities.PSYCHIC_SURGE, 7) + new Ability(AbilityId.PSYCHIC_SURGE, 7) .attr(PostSummonTerrainChangeAbAttr, TerrainType.PSYCHIC) .attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.PSYCHIC), - new Ability(Abilities.MISTY_SURGE, 7) + new Ability(AbilityId.MISTY_SURGE, 7) .attr(PostSummonTerrainChangeAbAttr, TerrainType.MISTY) .attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.MISTY), - new Ability(Abilities.GRASSY_SURGE, 7) + new Ability(AbilityId.GRASSY_SURGE, 7) .attr(PostSummonTerrainChangeAbAttr, TerrainType.GRASSY) .attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.GRASSY), - new Ability(Abilities.FULL_METAL_BODY, 7) + new Ability(AbilityId.FULL_METAL_BODY, 7) .attr(ProtectStatAbAttr), - new Ability(Abilities.SHADOW_SHIELD, 7) + new Ability(AbilityId.SHADOW_SHIELD, 7) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => target.isFullHp(), 0.5), - new Ability(Abilities.PRISM_ARMOR, 7) + new Ability(AbilityId.PRISM_ARMOR, 7) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => target.getMoveEffectiveness(user, move) >= 2, 0.75), - new Ability(Abilities.NEUROFORCE, 7) + new Ability(AbilityId.NEUROFORCE, 7) .attr(MovePowerBoostAbAttr, (user, target, move) => (target?.getMoveEffectiveness(user!, move) ?? 1) >= 2, 1.25), - new Ability(Abilities.INTREPID_SWORD, 8) + new Ability(AbilityId.INTREPID_SWORD, 8) .attr(PostSummonStatStageChangeAbAttr, [ Stat.ATK ], 1, true), - new Ability(Abilities.DAUNTLESS_SHIELD, 8) + new Ability(AbilityId.DAUNTLESS_SHIELD, 8) .attr(PostSummonStatStageChangeAbAttr, [ Stat.DEF ], 1, true), - new Ability(Abilities.LIBERO, 8) + new Ability(AbilityId.LIBERO, 8) .attr(PokemonTypeChangeAbAttr), - //.condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.LIBERO)), //Gen 9 Implementation - new Ability(Abilities.BALL_FETCH, 8) + //.condition((p) => !p.summonData.abilitiesApplied.includes(AbilityId.LIBERO)), //Gen 9 Implementation + new Ability(AbilityId.BALL_FETCH, 8) .attr(FetchBallAbAttr) - .condition(getOncePerBattleCondition(Abilities.BALL_FETCH)), - new Ability(Abilities.COTTON_DOWN, 8) + .condition(getOncePerBattleCondition(AbilityId.BALL_FETCH)), + new Ability(AbilityId.COTTON_DOWN, 8) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, Stat.SPD, -1, false, true) .bypassFaint(), - new Ability(Abilities.PROPELLER_TAIL, 8) + new Ability(AbilityId.PROPELLER_TAIL, 8) .attr(BlockRedirectAbAttr), - new Ability(Abilities.MIRROR_ARMOR, 8) + new Ability(AbilityId.MIRROR_ARMOR, 8) .attr(ReflectStatStageChangeAbAttr) .ignorable(), /** @@ -7255,34 +7255,34 @@ export function initAbilities() { * where Cramorant is fainted. * @see {@linkcode GulpMissileTagAttr} and {@linkcode GulpMissileTag} for Gulp Missile implementation */ - new Ability(Abilities.GULP_MISSILE, 8) + new Ability(AbilityId.GULP_MISSILE, 8) .attr(NoTransformAbilityAbAttr) .attr(NoFusionAbilityAbAttr) .unsuppressable() .uncopiable() .unreplaceable() .bypassFaint(), - new Ability(Abilities.STALWART, 8) + new Ability(AbilityId.STALWART, 8) .attr(BlockRedirectAbAttr), - new Ability(Abilities.STEAM_ENGINE, 8) + new Ability(AbilityId.STEAM_ENGINE, 8) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => { const moveType = user.getMoveType(move); return move.category !== MoveCategory.STATUS && (moveType === PokemonType.FIRE || moveType === PokemonType.WATER); }, Stat.SPD, 6), - new Ability(Abilities.PUNK_ROCK, 8) + new Ability(AbilityId.PUNK_ROCK, 8) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.SOUND_BASED), 1.3) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.hasFlag(MoveFlags.SOUND_BASED), 0.5) .ignorable(), - new Ability(Abilities.SAND_SPIT, 8) + new Ability(AbilityId.SAND_SPIT, 8) .attr(PostDefendWeatherChangeAbAttr, WeatherType.SANDSTORM, (target, user, move) => move.category !== MoveCategory.STATUS) .bypassFaint(), - new Ability(Abilities.ICE_SCALES, 8) + new Ability(AbilityId.ICE_SCALES, 8) .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.category === MoveCategory.SPECIAL, 0.5) .ignorable(), - new Ability(Abilities.RIPEN, 8) + new Ability(AbilityId.RIPEN, 8) .attr(DoubleBerryEffectAbAttr), - new Ability(Abilities.ICE_FACE, 8) + new Ability(AbilityId.ICE_FACE, 8) .attr(NoTransformAbilityAbAttr) .attr(NoFusionAbilityAbAttr) // Add BattlerTagType.ICE_FACE if the pokemon is in ice face form @@ -7300,34 +7300,34 @@ export function initAbilities() { .unsuppressable() .bypassFaint() .ignorable(), - new Ability(Abilities.POWER_SPOT, 8) + new Ability(AbilityId.POWER_SPOT, 8) .attr(AllyMoveCategoryPowerBoostAbAttr, [ MoveCategory.SPECIAL, MoveCategory.PHYSICAL ], 1.3), - new Ability(Abilities.MIMICRY, 8) + new Ability(AbilityId.MIMICRY, 8) .attr(TerrainEventTypeChangeAbAttr), - new Ability(Abilities.SCREEN_CLEANER, 8) + new Ability(AbilityId.SCREEN_CLEANER, 8) .attr(PostSummonRemoveArenaTagAbAttr, [ ArenaTagType.AURORA_VEIL, ArenaTagType.LIGHT_SCREEN, ArenaTagType.REFLECT ]), - new Ability(Abilities.STEELY_SPIRIT, 8) + new Ability(AbilityId.STEELY_SPIRIT, 8) .attr(UserFieldMoveTypePowerBoostAbAttr, PokemonType.STEEL), - new Ability(Abilities.PERISH_BODY, 8) + new Ability(AbilityId.PERISH_BODY, 8) .attr(PostDefendPerishSongAbAttr, 4) .bypassFaint(), - new Ability(Abilities.WANDERING_SPIRIT, 8) + new Ability(AbilityId.WANDERING_SPIRIT, 8) .attr(PostDefendAbilitySwapAbAttr) .bypassFaint() .edgeCase(), // interacts incorrectly with rock head. It's meant to switch abilities before recoil would apply so that a pokemon with rock head would lose rock head first and still take the recoil - new Ability(Abilities.GORILLA_TACTICS, 8) + new Ability(AbilityId.GORILLA_TACTICS, 8) .attr(GorillaTacticsAbAttr), - new Ability(Abilities.NEUTRALIZING_GAS, 8) + new Ability(AbilityId.NEUTRALIZING_GAS, 8) .attr(PostSummonAddArenaTagAbAttr, true, ArenaTagType.NEUTRALIZING_GAS, 0) .attr(PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr) .uncopiable() .attr(NoTransformAbilityAbAttr) .bypassFaint(), - new Ability(Abilities.PASTEL_VEIL, 8) + new Ability(AbilityId.PASTEL_VEIL, 8) .attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) .attr(UserFieldStatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) .ignorable(), - new Ability(Abilities.HUNGER_SWITCH, 8) + new Ability(AbilityId.HUNGER_SWITCH, 8) .attr(PostTurnFormChangeAbAttr, p => p.getFormKey() ? 0 : 1) .attr(PostTurnFormChangeAbAttr, p => p.getFormKey() ? 1 : 0) .attr(NoTransformAbilityAbAttr) @@ -7335,69 +7335,69 @@ export function initAbilities() { .condition((pokemon) => !pokemon.isTerastallized) .uncopiable() .unreplaceable(), - new Ability(Abilities.QUICK_DRAW, 8) + new Ability(AbilityId.QUICK_DRAW, 8) .attr(BypassSpeedChanceAbAttr, 30), - new Ability(Abilities.UNSEEN_FIST, 8) + new Ability(AbilityId.UNSEEN_FIST, 8) .attr(IgnoreProtectOnContactAbAttr), - new Ability(Abilities.CURIOUS_MEDICINE, 8) + new Ability(AbilityId.CURIOUS_MEDICINE, 8) .attr(PostSummonClearAllyStatStagesAbAttr), - new Ability(Abilities.TRANSISTOR, 8) + new Ability(AbilityId.TRANSISTOR, 8) .attr(MoveTypePowerBoostAbAttr, PokemonType.ELECTRIC, 1.3), - new Ability(Abilities.DRAGONS_MAW, 8) + new Ability(AbilityId.DRAGONS_MAW, 8) .attr(MoveTypePowerBoostAbAttr, PokemonType.DRAGON), - new Ability(Abilities.CHILLING_NEIGH, 8) + new Ability(AbilityId.CHILLING_NEIGH, 8) .attr(PostVictoryStatStageChangeAbAttr, Stat.ATK, 1), - new Ability(Abilities.GRIM_NEIGH, 8) + new Ability(AbilityId.GRIM_NEIGH, 8) .attr(PostVictoryStatStageChangeAbAttr, Stat.SPATK, 1), - new Ability(Abilities.AS_ONE_GLASTRIER, 8) + new Ability(AbilityId.AS_ONE_GLASTRIER, 8) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonAsOneGlastrier", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) .attr(PreventBerryUseAbAttr) .attr(PostVictoryStatStageChangeAbAttr, Stat.ATK, 1) .uncopiable() .unreplaceable() .unsuppressable(), - new Ability(Abilities.AS_ONE_SPECTRIER, 8) + new Ability(AbilityId.AS_ONE_SPECTRIER, 8) .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonAsOneSpectrier", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })) .attr(PreventBerryUseAbAttr) .attr(PostVictoryStatStageChangeAbAttr, Stat.SPATK, 1) .uncopiable() .unreplaceable() .unsuppressable(), - new Ability(Abilities.LINGERING_AROMA, 9) - .attr(PostDefendAbilityGiveAbAttr, Abilities.LINGERING_AROMA) + new Ability(AbilityId.LINGERING_AROMA, 9) + .attr(PostDefendAbilityGiveAbAttr, AbilityId.LINGERING_AROMA) .bypassFaint(), - new Ability(Abilities.SEED_SOWER, 9) + new Ability(AbilityId.SEED_SOWER, 9) .attr(PostDefendTerrainChangeAbAttr, TerrainType.GRASSY) .bypassFaint(), - new Ability(Abilities.THERMAL_EXCHANGE, 9) + new Ability(AbilityId.THERMAL_EXCHANGE, 9) .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.FIRE && move.category !== MoveCategory.STATUS, Stat.ATK, 1) .attr(StatusEffectImmunityAbAttr, StatusEffect.BURN) .attr(PostSummonHealStatusAbAttr, StatusEffect.BURN) .ignorable(), - new Ability(Abilities.ANGER_SHELL, 9) + new Ability(AbilityId.ANGER_SHELL, 9) .attr(PostDefendHpGatedStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ Stat.ATK, Stat.SPATK, Stat.SPD ], 1) .attr(PostDefendHpGatedStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ Stat.DEF, Stat.SPDEF ], -1) .condition(getSheerForceHitDisableAbCondition()), - new Ability(Abilities.PURIFYING_SALT, 9) + new Ability(AbilityId.PURIFYING_SALT, 9) .attr(StatusEffectImmunityAbAttr) .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.GHOST, 0.5) .ignorable(), - new Ability(Abilities.WELL_BAKED_BODY, 9) + new Ability(AbilityId.WELL_BAKED_BODY, 9) .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.FIRE, Stat.DEF, 2) .ignorable(), - new Ability(Abilities.WIND_RIDER, 9) + new Ability(AbilityId.WIND_RIDER, 9) .attr(MoveImmunityStatStageChangeAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.WIND_MOVE) && move.category !== MoveCategory.STATUS, Stat.ATK, 1) .attr(PostSummonStatStageChangeOnArenaAbAttr, ArenaTagType.TAILWIND) .ignorable(), - new Ability(Abilities.GUARD_DOG, 9) + new Ability(AbilityId.GUARD_DOG, 9) .attr(PostIntimidateStatStageChangeAbAttr, [ Stat.ATK ], 1, true) .attr(ForceSwitchOutImmunityAbAttr) .ignorable(), - new Ability(Abilities.ROCKY_PAYLOAD, 9) + new Ability(AbilityId.ROCKY_PAYLOAD, 9) .attr(MoveTypePowerBoostAbAttr, PokemonType.ROCK), - new Ability(Abilities.WIND_POWER, 9) + new Ability(AbilityId.WIND_POWER, 9) .attr(PostDefendApplyBattlerTagAbAttr, (target, user, move) => move.hasFlag(MoveFlags.WIND_MOVE), BattlerTagType.CHARGED), - new Ability(Abilities.ZERO_TO_HERO, 9) + new Ability(AbilityId.ZERO_TO_HERO, 9) .uncopiable() .unreplaceable() .unsuppressable() @@ -7406,25 +7406,25 @@ export function initAbilities() { .attr(PostBattleInitFormChangeAbAttr, () => 0) .attr(PreSwitchOutFormChangeAbAttr, (pokemon) => !pokemon.isFainted() ? 1 : pokemon.formIndex) .bypassFaint(), - new Ability(Abilities.COMMANDER, 9) + new Ability(AbilityId.COMMANDER, 9) .attr(CommanderAbAttr) .attr(DoubleBattleChanceAbAttr) .uncopiable() .unreplaceable() .edgeCase(), // Encore, Frenzy, and other non-`TURN_END` tags don't lapse correctly on the commanding Pokemon. - new Ability(Abilities.ELECTROMORPHOSIS, 9) + new Ability(AbilityId.ELECTROMORPHOSIS, 9) .attr(PostDefendApplyBattlerTagAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, BattlerTagType.CHARGED), - new Ability(Abilities.PROTOSYNTHESIS, 9) + new Ability(AbilityId.PROTOSYNTHESIS, 9) .conditionalAttr(getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN), PostSummonAddBattlerTagAbAttr, BattlerTagType.PROTOSYNTHESIS, 0, true) .attr(PostWeatherChangeAddBattlerTagAttr, BattlerTagType.PROTOSYNTHESIS, 0, WeatherType.SUNNY, WeatherType.HARSH_SUN) .uncopiable() .attr(NoTransformAbilityAbAttr), - new Ability(Abilities.QUARK_DRIVE, 9) + new Ability(AbilityId.QUARK_DRIVE, 9) .conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), PostSummonAddBattlerTagAbAttr, BattlerTagType.QUARK_DRIVE, 0, true) .attr(PostTerrainChangeAddBattlerTagAttr, BattlerTagType.QUARK_DRIVE, 0, TerrainType.ELECTRIC) .uncopiable() .attr(NoTransformAbilityAbAttr), - new Ability(Abilities.GOOD_AS_GOLD, 9) + new Ability(AbilityId.GOOD_AS_GOLD, 9) .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.category === MoveCategory.STATUS @@ -7432,102 +7432,102 @@ export function initAbilities() { ) .edgeCase() // Heal Bell should not cure the status of a Pokemon with Good As Gold .ignorable(), - new Ability(Abilities.VESSEL_OF_RUIN, 9) + new Ability(AbilityId.VESSEL_OF_RUIN, 9) .attr(FieldMultiplyStatAbAttr, Stat.SPATK, 0.75) .attr(PostSummonMessageAbAttr, (user) => i18next.t("abilityTriggers:postSummonVesselOfRuin", { pokemonNameWithAffix: getPokemonNameWithAffix(user), statName: i18next.t(getStatKey(Stat.SPATK)) })) .ignorable(), - new Ability(Abilities.SWORD_OF_RUIN, 9) + new Ability(AbilityId.SWORD_OF_RUIN, 9) .attr(FieldMultiplyStatAbAttr, Stat.DEF, 0.75) .attr(PostSummonMessageAbAttr, (user) => i18next.t("abilityTriggers:postSummonSwordOfRuin", { pokemonNameWithAffix: getPokemonNameWithAffix(user), statName: i18next.t(getStatKey(Stat.DEF)) })), - new Ability(Abilities.TABLETS_OF_RUIN, 9) + new Ability(AbilityId.TABLETS_OF_RUIN, 9) .attr(FieldMultiplyStatAbAttr, Stat.ATK, 0.75) .attr(PostSummonMessageAbAttr, (user) => i18next.t("abilityTriggers:postSummonTabletsOfRuin", { pokemonNameWithAffix: getPokemonNameWithAffix(user), statName: i18next.t(getStatKey(Stat.ATK)) })) .ignorable(), - new Ability(Abilities.BEADS_OF_RUIN, 9) + new Ability(AbilityId.BEADS_OF_RUIN, 9) .attr(FieldMultiplyStatAbAttr, Stat.SPDEF, 0.75) .attr(PostSummonMessageAbAttr, (user) => i18next.t("abilityTriggers:postSummonBeadsOfRuin", { pokemonNameWithAffix: getPokemonNameWithAffix(user), statName: i18next.t(getStatKey(Stat.SPDEF)) })), - new Ability(Abilities.ORICHALCUM_PULSE, 9) + new Ability(AbilityId.ORICHALCUM_PULSE, 9) .attr(PostSummonWeatherChangeAbAttr, WeatherType.SUNNY) .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.SUNNY) .conditionalAttr(getWeatherCondition(WeatherType.SUNNY, WeatherType.HARSH_SUN), StatMultiplierAbAttr, Stat.ATK, 4 / 3), - new Ability(Abilities.HADRON_ENGINE, 9) + new Ability(AbilityId.HADRON_ENGINE, 9) .attr(PostSummonTerrainChangeAbAttr, TerrainType.ELECTRIC) .attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.ELECTRIC) .conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), StatMultiplierAbAttr, Stat.SPATK, 4 / 3), - new Ability(Abilities.OPPORTUNIST, 9) + new Ability(AbilityId.OPPORTUNIST, 9) .attr(StatStageChangeCopyAbAttr), - new Ability(Abilities.CUD_CHEW, 9) + new Ability(AbilityId.CUD_CHEW, 9) .attr(RepeatBerryNextTurnAbAttr), - new Ability(Abilities.SHARPNESS, 9) + new Ability(AbilityId.SHARPNESS, 9) .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.SLICING_MOVE), 1.5), - new Ability(Abilities.SUPREME_OVERLORD, 9) + new Ability(AbilityId.SUPREME_OVERLORD, 9) .attr(VariableMovePowerBoostAbAttr, (user, target, move) => 1 + 0.1 * Math.min(user.isPlayer() ? globalScene.arena.playerFaints : globalScene.currentBattle.enemyFaints, 5)) .partial(), // Should only boost once, on summon - new Ability(Abilities.COSTAR, 9) + new Ability(AbilityId.COSTAR, 9) .attr(PostSummonCopyAllyStatsAbAttr), - new Ability(Abilities.TOXIC_DEBRIS, 9) + new Ability(AbilityId.TOXIC_DEBRIS, 9) .attr(PostDefendApplyArenaTrapTagAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, ArenaTagType.TOXIC_SPIKES) .bypassFaint(), - new Ability(Abilities.ARMOR_TAIL, 9) + new Ability(AbilityId.ARMOR_TAIL, 9) .attr(FieldPriorityMoveImmunityAbAttr) .ignorable(), - new Ability(Abilities.EARTH_EATER, 9) + new Ability(AbilityId.EARTH_EATER, 9) .attr(TypeImmunityHealAbAttr, PokemonType.GROUND) .ignorable(), - new Ability(Abilities.MYCELIUM_MIGHT, 9) + new Ability(AbilityId.MYCELIUM_MIGHT, 9) .attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.category === MoveCategory.STATUS, -0.2) .attr(PreventBypassSpeedChanceAbAttr, (pokemon, move) => move.category === MoveCategory.STATUS) .attr(MoveAbilityBypassAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS), - new Ability(Abilities.MINDS_EYE, 9) + new Ability(AbilityId.MINDS_EYE, 9) .attr(IgnoreTypeImmunityAbAttr, PokemonType.GHOST, [ PokemonType.NORMAL, PokemonType.FIGHTING ]) .attr(ProtectStatAbAttr, Stat.ACC) .attr(IgnoreOpponentStatStagesAbAttr, [ Stat.EVA ]) .ignorable(), - new Ability(Abilities.SUPERSWEET_SYRUP, 9) + new Ability(AbilityId.SUPERSWEET_SYRUP, 9) .attr(PostSummonStatStageChangeAbAttr, [ Stat.EVA ], -1), - new Ability(Abilities.HOSPITALITY, 9) + new Ability(AbilityId.HOSPITALITY, 9) .attr(PostSummonAllyHealAbAttr, 4, true), - new Ability(Abilities.TOXIC_CHAIN, 9) + new Ability(AbilityId.TOXIC_CHAIN, 9) .attr(PostAttackApplyStatusEffectAbAttr, false, 30, StatusEffect.TOXIC), - new Ability(Abilities.EMBODY_ASPECT_TEAL, 9) + new Ability(AbilityId.EMBODY_ASPECT_TEAL, 9) .attr(PostTeraFormChangeStatChangeAbAttr, [ Stat.SPD ], 1) .uncopiable() .unreplaceable() // TODO is this true? .attr(NoTransformAbilityAbAttr), - new Ability(Abilities.EMBODY_ASPECT_WELLSPRING, 9) + new Ability(AbilityId.EMBODY_ASPECT_WELLSPRING, 9) .attr(PostTeraFormChangeStatChangeAbAttr, [ Stat.SPDEF ], 1) .uncopiable() .unreplaceable() .attr(NoTransformAbilityAbAttr), - new Ability(Abilities.EMBODY_ASPECT_HEARTHFLAME, 9) + new Ability(AbilityId.EMBODY_ASPECT_HEARTHFLAME, 9) .attr(PostTeraFormChangeStatChangeAbAttr, [ Stat.ATK ], 1) .uncopiable() .unreplaceable() .attr(NoTransformAbilityAbAttr), - new Ability(Abilities.EMBODY_ASPECT_CORNERSTONE, 9) + new Ability(AbilityId.EMBODY_ASPECT_CORNERSTONE, 9) .attr(PostTeraFormChangeStatChangeAbAttr, [ Stat.DEF ], 1) .uncopiable() .unreplaceable() .attr(NoTransformAbilityAbAttr), - new Ability(Abilities.TERA_SHIFT, 9) + new Ability(AbilityId.TERA_SHIFT, 9) .attr(PostSummonFormChangeAbAttr, p => p.getFormKey() ? 0 : 1) .uncopiable() .unreplaceable() .unsuppressable() .attr(NoTransformAbilityAbAttr) .attr(NoFusionAbilityAbAttr), - new Ability(Abilities.TERA_SHELL, 9) + new Ability(AbilityId.TERA_SHELL, 9) .attr(FullHpResistTypeAbAttr) .uncopiable() .unreplaceable() .ignorable(), - new Ability(Abilities.TERAFORM_ZERO, 9) + new Ability(AbilityId.TERAFORM_ZERO, 9) .attr(ClearWeatherAbAttr, [ WeatherType.SUNNY, WeatherType.RAIN, WeatherType.SANDSTORM, WeatherType.HAIL, WeatherType.SNOW, WeatherType.FOG, WeatherType.HEAVY_RAIN, WeatherType.HARSH_SUN, WeatherType.STRONG_WINDS ]) .attr(ClearTerrainAbAttr, [ TerrainType.MISTY, TerrainType.ELECTRIC, TerrainType.GRASSY, TerrainType.PSYCHIC ]) .uncopiable() .unreplaceable() - .condition(getOncePerBattleCondition(Abilities.TERAFORM_ZERO)), - new Ability(Abilities.POISON_PUPPETEER, 9) + .condition(getOncePerBattleCondition(AbilityId.TERAFORM_ZERO)), + new Ability(AbilityId.POISON_PUPPETEER, 9) .uncopiable() .unreplaceable() // TODO is this true? .attr(ConfusionOnStatusEffectAbAttr, StatusEffect.POISON, StatusEffect.TOXIC) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 1955b51e8e0..590319a01c0 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -22,10 +22,10 @@ import { import { Stat } from "#enums/stat"; import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims"; import i18next from "i18next"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; @@ -41,7 +41,7 @@ export abstract class ArenaTag { constructor( public tagType: ArenaTagType, public turnCount: number, - public sourceMove?: Moves, + public sourceMove?: MoveId, public sourceId?: number, public side: ArenaTagSide = ArenaTagSide.BOTH, ) {} @@ -116,7 +116,7 @@ export abstract class ArenaTag { */ export class MistTag extends ArenaTag { constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.MIST, turnCount, Moves.MIST, sourceId, side); + super(ArenaTagType.MIST, turnCount, MoveId.MIST, sourceId, side); } onAdd(arena: Arena, quiet = false): void { @@ -188,7 +188,7 @@ export class WeakenMoveScreenTag extends ArenaTag { constructor( tagType: ArenaTagType, turnCount: number, - sourceMove: Moves, + sourceMove: MoveId, sourceId: number, side: ArenaTagSide, weakenedCategories: MoveCategory[], @@ -230,11 +230,11 @@ export class WeakenMoveScreenTag extends ArenaTag { /** * Reduces the damage of physical moves. - * Used by {@linkcode Moves.REFLECT} + * Used by {@linkcode MoveId.REFLECT} */ class ReflectTag extends WeakenMoveScreenTag { constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.REFLECT, turnCount, Moves.REFLECT, sourceId, side, [MoveCategory.PHYSICAL]); + super(ArenaTagType.REFLECT, turnCount, MoveId.REFLECT, sourceId, side, [MoveCategory.PHYSICAL]); } onAdd(_arena: Arena, quiet = false): void { @@ -250,11 +250,11 @@ class ReflectTag extends WeakenMoveScreenTag { /** * Reduces the damage of special moves. - * Used by {@linkcode Moves.LIGHT_SCREEN} + * Used by {@linkcode MoveId.LIGHT_SCREEN} */ class LightScreenTag extends WeakenMoveScreenTag { constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.LIGHT_SCREEN, turnCount, Moves.LIGHT_SCREEN, sourceId, side, [MoveCategory.SPECIAL]); + super(ArenaTagType.LIGHT_SCREEN, turnCount, MoveId.LIGHT_SCREEN, sourceId, side, [MoveCategory.SPECIAL]); } onAdd(_arena: Arena, quiet = false): void { @@ -270,11 +270,11 @@ class LightScreenTag extends WeakenMoveScreenTag { /** * Reduces the damage of physical and special moves. - * Used by {@linkcode Moves.AURORA_VEIL} + * Used by {@linkcode MoveId.AURORA_VEIL} */ class AuroraVeilTag extends WeakenMoveScreenTag { constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.AURORA_VEIL, turnCount, Moves.AURORA_VEIL, sourceId, side, [ + super(ArenaTagType.AURORA_VEIL, turnCount, MoveId.AURORA_VEIL, sourceId, side, [ MoveCategory.SPECIAL, MoveCategory.PHYSICAL, ]); @@ -291,7 +291,7 @@ class AuroraVeilTag extends WeakenMoveScreenTag { } } -type ProtectConditionFunc = (arena: Arena, moveId: Moves) => boolean; +type ProtectConditionFunc = (arena: Arena, moveId: MoveId) => boolean; /** * Class to implement conditional team protection @@ -305,7 +305,7 @@ export class ConditionalProtectTag extends ArenaTag { constructor( tagType: ArenaTagType, - sourceMove: Moves, + sourceMove: MoveId, sourceId: number, side: ArenaTagSide, condition: ProtectConditionFunc, @@ -337,7 +337,7 @@ export class ConditionalProtectTag extends ArenaTag { * @param isProtected a {@linkcode BooleanHolder} used to flag if the move is protected against * @param _attacker the attacking {@linkcode Pokemon} * @param defender the defending {@linkcode Pokemon} - * @param moveId the {@linkcode Moves | identifier} for the move being used + * @param moveId the {@linkcode MoveId | identifier} for the move being used * @param ignoresProtectBypass a {@linkcode BooleanHolder} used to flag if a protection effect supercedes effects that ignore protection * @returns `true` if this tag protected against the attack; `false` otherwise */ @@ -347,7 +347,7 @@ export class ConditionalProtectTag extends ArenaTag { isProtected: BooleanHolder, _attacker: Pokemon, defender: Pokemon, - moveId: Moves, + moveId: MoveId, ignoresProtectBypass: BooleanHolder, ): boolean { if ((this.side === ArenaTagSide.PLAYER) === defender.isPlayer() && this.protectConditionFunc(arena, moveId)) { @@ -375,7 +375,7 @@ export class ConditionalProtectTag extends ArenaTag { * Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Quick_Guard_(move) Quick Guard's} * protection effect. * @param _arena {@linkcode Arena} The arena containing the protection effect - * @param moveId {@linkcode Moves} The move to check against this condition + * @param moveId {@linkcode MoveId} The move to check against this condition * @returns `true` if the incoming move's priority is greater than 0. * This includes moves with modified priorities from abilities (e.g. Prankster) */ @@ -398,7 +398,7 @@ const QuickGuardConditionFunc: ProtectConditionFunc = (_arena, moveId) => { */ class QuickGuardTag extends ConditionalProtectTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.QUICK_GUARD, Moves.QUICK_GUARD, sourceId, side, QuickGuardConditionFunc); + super(ArenaTagType.QUICK_GUARD, MoveId.QUICK_GUARD, sourceId, side, QuickGuardConditionFunc); } } @@ -406,7 +406,7 @@ class QuickGuardTag extends ConditionalProtectTag { * Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Wide_Guard_(move) Wide Guard's} * protection effect. * @param _arena {@linkcode Arena} The arena containing the protection effect - * @param moveId {@linkcode Moves} The move to check against this condition + * @param moveId {@linkcode MoveId} The move to check against this condition * @returns `true` if the incoming move is multi-targeted (even if it's only used against one Pokemon). */ const WideGuardConditionFunc: ProtectConditionFunc = (_arena, moveId): boolean => { @@ -429,7 +429,7 @@ const WideGuardConditionFunc: ProtectConditionFunc = (_arena, moveId): boolean = */ class WideGuardTag extends ConditionalProtectTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.WIDE_GUARD, Moves.WIDE_GUARD, sourceId, side, WideGuardConditionFunc); + super(ArenaTagType.WIDE_GUARD, MoveId.WIDE_GUARD, sourceId, side, WideGuardConditionFunc); } } @@ -437,7 +437,7 @@ class WideGuardTag extends ConditionalProtectTag { * Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Mat_Block_(move) Mat Block's} * protection effect. * @param _arena {@linkcode Arena} The arena containing the protection effect. - * @param moveId {@linkcode Moves} The move to check against this condition. + * @param moveId {@linkcode MoveId} The move to check against this condition. * @returns `true` if the incoming move is not a Status move. */ const MatBlockConditionFunc: ProtectConditionFunc = (_arena, moveId): boolean => { @@ -451,7 +451,7 @@ const MatBlockConditionFunc: ProtectConditionFunc = (_arena, moveId): boolean => */ class MatBlockTag extends ConditionalProtectTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.MAT_BLOCK, Moves.MAT_BLOCK, sourceId, side, MatBlockConditionFunc); + super(ArenaTagType.MAT_BLOCK, MoveId.MAT_BLOCK, sourceId, side, MatBlockConditionFunc); } onAdd(_arena: Arena) { @@ -474,7 +474,7 @@ class MatBlockTag extends ConditionalProtectTag { * Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Crafty_Shield_(move) Crafty Shield's} * protection effect. * @param _arena {@linkcode Arena} The arena containing the protection effect - * @param moveId {@linkcode Moves} The move to check against this condition + * @param moveId {@linkcode MoveId} The move to check against this condition * @returns `true` if the incoming move is a Status move, is not a hazard, and does not target all * Pokemon or sides of the field. */ @@ -495,7 +495,7 @@ const CraftyShieldConditionFunc: ProtectConditionFunc = (_arena, moveId) => { */ class CraftyShieldTag extends ConditionalProtectTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.CRAFTY_SHIELD, Moves.CRAFTY_SHIELD, sourceId, side, CraftyShieldConditionFunc, true); + super(ArenaTagType.CRAFTY_SHIELD, MoveId.CRAFTY_SHIELD, sourceId, side, CraftyShieldConditionFunc, true); } } @@ -507,11 +507,11 @@ export class NoCritTag extends ArenaTag { /** * Constructor method for the NoCritTag class * @param turnCount `number` the number of turns this effect lasts - * @param sourceMove {@linkcode Moves} the move that created this effect + * @param sourceMove {@linkcode MoveId} the move that created this effect * @param sourceId `number` the ID of the {@linkcode Pokemon} that created this effect * @param side {@linkcode ArenaTagSide} the side to which this effect belongs */ - constructor(turnCount: number, sourceMove: Moves, sourceId: number, side: ArenaTagSide) { + constructor(turnCount: number, sourceMove: MoveId, sourceId: number, side: ArenaTagSide) { super(ArenaTagType.NO_CRIT, turnCount, sourceMove, sourceId, side); } @@ -546,7 +546,7 @@ class WishTag extends ArenaTag { private healHp: number; constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.WISH, turnCount, Moves.WISH, sourceId, side); + super(ArenaTagType.WISH, turnCount, MoveId.WISH, sourceId, side); } onAdd(_arena: Arena): void { @@ -588,7 +588,7 @@ export class WeakenMoveTypeTag extends ArenaTag { * @param sourceMove - The move that created the tag. * @param sourceId - The ID of the source of the tag. */ - constructor(tagType: ArenaTagType, turnCount: number, type: PokemonType, sourceMove: Moves, sourceId: number) { + constructor(tagType: ArenaTagType, turnCount: number, type: PokemonType, sourceMove: MoveId, sourceId: number) { super(tagType, turnCount, sourceMove, sourceId); this.weakenedType = type; @@ -617,7 +617,7 @@ export class WeakenMoveTypeTag extends ArenaTag { */ class MudSportTag extends WeakenMoveTypeTag { constructor(turnCount: number, sourceId: number) { - super(ArenaTagType.MUD_SPORT, turnCount, PokemonType.ELECTRIC, Moves.MUD_SPORT, sourceId); + super(ArenaTagType.MUD_SPORT, turnCount, PokemonType.ELECTRIC, MoveId.MUD_SPORT, sourceId); } onAdd(_arena: Arena): void { @@ -635,7 +635,7 @@ class MudSportTag extends WeakenMoveTypeTag { */ class WaterSportTag extends WeakenMoveTypeTag { constructor(turnCount: number, sourceId: number) { - super(ArenaTagType.WATER_SPORT, turnCount, PokemonType.FIRE, Moves.WATER_SPORT, sourceId); + super(ArenaTagType.WATER_SPORT, turnCount, PokemonType.FIRE, MoveId.WATER_SPORT, sourceId); } onAdd(_arena: Arena): void { @@ -653,7 +653,7 @@ class WaterSportTag extends WeakenMoveTypeTag { * Converts Normal-type moves to Electric type for the rest of the turn. */ export class IonDelugeTag extends ArenaTag { - constructor(sourceMove?: Moves) { + constructor(sourceMove?: MoveId) { super(ArenaTagType.ION_DELUGE, 1, sourceMove); } @@ -696,7 +696,7 @@ export class ArenaTrapTag extends ArenaTag { * @param side - The side (player or enemy) the tag affects. * @param maxLayers - The maximum amount of layers this tag can have. */ - constructor(tagType: ArenaTagType, sourceMove: Moves, sourceId: number, side: ArenaTagSide, maxLayers: number) { + constructor(tagType: ArenaTagType, sourceMove: MoveId, sourceId: number, side: ArenaTagSide, maxLayers: number) { super(tagType, 0, sourceMove, sourceId, side); this.layers = 1; @@ -750,7 +750,7 @@ export class ArenaTrapTag extends ArenaTag { */ class SpikesTag extends ArenaTrapTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.SPIKES, Moves.SPIKES, sourceId, side, 3); + super(ArenaTagType.SPIKES, MoveId.SPIKES, sourceId, side, 3); } onAdd(arena: Arena, quiet = false): void { @@ -802,7 +802,7 @@ class ToxicSpikesTag extends ArenaTrapTag { private neutralized: boolean; constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.TOXIC_SPIKES, Moves.TOXIC_SPIKES, sourceId, side, 2); + super(ArenaTagType.TOXIC_SPIKES, MoveId.TOXIC_SPIKES, sourceId, side, 2); this.neutralized = false; } @@ -867,7 +867,7 @@ class ToxicSpikesTag extends ArenaTrapTag { } /** - * Arena Tag class for delayed attacks, such as {@linkcode Moves.FUTURE_SIGHT} or {@linkcode Moves.DOOM_DESIRE}. + * Arena Tag class for delayed attacks, such as {@linkcode MoveId.FUTURE_SIGHT} or {@linkcode MoveId.DOOM_DESIRE}. * Delays the attack's effect by a set amount of turns, usually 3 (including the turn the move is used), * and deals damage after the turn count is reached. */ @@ -876,7 +876,7 @@ export class DelayedAttackTag extends ArenaTag { constructor( tagType: ArenaTagType, - sourceMove: Moves | undefined, + sourceMove: MoveId | undefined, sourceId: number, targetIndex: BattlerIndex, side: ArenaTagSide = ArenaTagSide.BOTH, @@ -909,7 +909,7 @@ export class DelayedAttackTag extends ArenaTag { */ class StealthRockTag extends ArenaTrapTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.STEALTH_ROCK, Moves.STEALTH_ROCK, sourceId, side, 1); + super(ArenaTagType.STEALTH_ROCK, MoveId.STEALTH_ROCK, sourceId, side, 1); } onAdd(arena: Arena, quiet = false): void { @@ -994,7 +994,7 @@ class StealthRockTag extends ArenaTrapTag { */ class StickyWebTag extends ArenaTrapTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.STICKY_WEB, Moves.STICKY_WEB, sourceId, side, 1); + super(ArenaTagType.STICKY_WEB, MoveId.STICKY_WEB, sourceId, side, 1); } onAdd(arena: Arena, quiet = false): void { @@ -1055,7 +1055,7 @@ class StickyWebTag extends ArenaTrapTag { */ export class TrickRoomTag extends ArenaTag { constructor(turnCount: number, sourceId: number) { - super(ArenaTagType.TRICK_ROOM, turnCount, Moves.TRICK_ROOM, sourceId); + super(ArenaTagType.TRICK_ROOM, turnCount, MoveId.TRICK_ROOM, sourceId); } /** @@ -1090,11 +1090,11 @@ export class TrickRoomTag extends ArenaTag { /** * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Gravity_(move) Gravity}. * Grounds all Pokémon on the field, including Flying-types and those with - * {@linkcode Abilities.LEVITATE} for the duration of the arena tag, usually 5 turns. + * {@linkcode AbilityId.LEVITATE} for the duration of the arena tag, usually 5 turns. */ export class GravityTag extends ArenaTag { constructor(turnCount: number) { - super(ArenaTagType.GRAVITY, turnCount, Moves.GRAVITY); + super(ArenaTagType.GRAVITY, turnCount, MoveId.GRAVITY); } onAdd(_arena: Arena): void { @@ -1122,7 +1122,7 @@ export class GravityTag extends ArenaTag { */ class TailwindTag extends ArenaTag { constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.TAILWIND, turnCount, Moves.TAILWIND, sourceId, side); + super(ArenaTagType.TAILWIND, turnCount, MoveId.TAILWIND, sourceId, side); } onAdd(_arena: Arena, quiet = false): void { @@ -1139,7 +1139,7 @@ class TailwindTag extends ArenaTag { for (const pokemon of party) { // Apply the CHARGED tag to party members with the WIND_POWER ability - if (pokemon.hasAbility(Abilities.WIND_POWER) && !pokemon.getTag(BattlerTagType.CHARGED)) { + if (pokemon.hasAbility(AbilityId.WIND_POWER) && !pokemon.getTag(BattlerTagType.CHARGED)) { pokemon.addTag(BattlerTagType.CHARGED); globalScene.queueMessage( i18next.t("abilityTriggers:windPowerCharged", { @@ -1150,7 +1150,7 @@ class TailwindTag extends ArenaTag { } // Raise attack by one stage if party member has WIND_RIDER ability // TODO: Ability displays should be handled by the ability - if (pokemon.hasAbility(Abilities.WIND_RIDER)) { + if (pokemon.hasAbility(AbilityId.WIND_RIDER)) { globalScene.queueAbilityDisplay(pokemon, false, true); globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [Stat.ATK], 1, true)); globalScene.queueAbilityDisplay(pokemon, false, false); @@ -1171,11 +1171,11 @@ class TailwindTag extends ArenaTag { /** * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Happy_Hour_(move) Happy Hour}. - * Doubles the prize money from trainers and money moves like {@linkcode Moves.PAY_DAY} and {@linkcode Moves.MAKE_IT_RAIN}. + * Doubles the prize money from trainers and money moves like {@linkcode MoveId.PAY_DAY} and {@linkcode MoveId.MAKE_IT_RAIN}. */ class HappyHourTag extends ArenaTag { constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.HAPPY_HOUR, turnCount, Moves.HAPPY_HOUR, sourceId, side); + super(ArenaTagType.HAPPY_HOUR, turnCount, MoveId.HAPPY_HOUR, sourceId, side); } onAdd(_arena: Arena): void { @@ -1189,7 +1189,7 @@ class HappyHourTag extends ArenaTag { class SafeguardTag extends ArenaTag { constructor(turnCount: number, sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.SAFEGUARD, turnCount, Moves.SAFEGUARD, sourceId, side); + super(ArenaTagType.SAFEGUARD, turnCount, MoveId.SAFEGUARD, sourceId, side); } onAdd(_arena: Arena): void { @@ -1221,7 +1221,7 @@ class NoneTag extends ArenaTag { */ class ImprisonTag extends ArenaTrapTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.IMPRISON, Moves.IMPRISON, sourceId, side, 1); + super(ArenaTagType.IMPRISON, MoveId.IMPRISON, sourceId, side, 1); } /** @@ -1234,7 +1234,7 @@ class ImprisonTag extends ArenaTrapTag { const party = this.getAffectedPokemon(); party?.forEach((p: Pokemon) => { if (p.isAllowedInBattle()) { - p.addTag(BattlerTagType.IMPRISON, 1, Moves.IMPRISON, this.sourceId); + p.addTag(BattlerTagType.IMPRISON, 1, MoveId.IMPRISON, this.sourceId); } }); globalScene.queueMessage( @@ -1263,7 +1263,7 @@ class ImprisonTag extends ArenaTrapTag { override activateTrap(pokemon: Pokemon): boolean { const source = this.getSourcePokemon(); if (source?.isActive(true) && pokemon.isAllowedInBattle()) { - pokemon.addTag(BattlerTagType.IMPRISON, 1, Moves.IMPRISON, this.sourceId); + pokemon.addTag(BattlerTagType.IMPRISON, 1, MoveId.IMPRISON, this.sourceId); } return true; } @@ -1289,7 +1289,7 @@ class ImprisonTag extends ArenaTrapTag { */ class FireGrassPledgeTag extends ArenaTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.FIRE_GRASS_PLEDGE, 4, Moves.FIRE_PLEDGE, sourceId, side); + super(ArenaTagType.FIRE_GRASS_PLEDGE, 4, MoveId.FIRE_PLEDGE, sourceId, side); } override onAdd(_arena: Arena): void { @@ -1334,7 +1334,7 @@ class FireGrassPledgeTag extends ArenaTag { */ class WaterFirePledgeTag extends ArenaTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.WATER_FIRE_PLEDGE, 4, Moves.WATER_PLEDGE, sourceId, side); + super(ArenaTagType.WATER_FIRE_PLEDGE, 4, MoveId.WATER_PLEDGE, sourceId, side); } override onAdd(_arena: Arena): void { @@ -1368,7 +1368,7 @@ class WaterFirePledgeTag extends ArenaTag { */ class GrassWaterPledgeTag extends ArenaTag { constructor(sourceId: number, side: ArenaTagSide) { - super(ArenaTagType.GRASS_WATER_PLEDGE, 4, Moves.GRASS_PLEDGE, sourceId, side); + super(ArenaTagType.GRASS_WATER_PLEDGE, 4, MoveId.GRASS_PLEDGE, sourceId, side); } override onAdd(_arena: Arena): void { @@ -1390,7 +1390,7 @@ class GrassWaterPledgeTag extends ArenaTag { */ export class FairyLockTag extends ArenaTag { constructor(turnCount: number, sourceId: number) { - super(ArenaTagType.FAIRY_LOCK, turnCount, Moves.FAIRY_LOCK, sourceId); + super(ArenaTagType.FAIRY_LOCK, turnCount, MoveId.FAIRY_LOCK, sourceId); } onAdd(_arena: Arena): void { @@ -1485,7 +1485,7 @@ export class SuppressAbilitiesTag extends ArenaTag { export function getArenaTag( tagType: ArenaTagType, turnCount: number, - sourceMove: Moves | undefined, + sourceMove: MoveId | undefined, sourceId: number, targetIndex?: BattlerIndex, side: ArenaTagSide = ArenaTagSide.BOTH, diff --git a/src/data/balance/biomes.ts b/src/data/balance/biomes.ts index 968164c7902..713ab9637ab 100644 --- a/src/data/balance/biomes.ts +++ b/src/data/balance/biomes.ts @@ -3,30 +3,30 @@ import { randSeedInt, getEnumValues } from "#app/utils/common"; import type { SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions"; import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import i18next from "i18next"; -import { Biome } from "#enums/biome"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { SpeciesId } from "#enums/species-id"; import { TimeOfDay } from "#enums/time-of-day"; import { TrainerType } from "#enums/trainer-type"; // import beautify from "json-beautify"; -export function getBiomeName(biome: Biome | -1) { +export function getBiomeName(biome: BiomeId | -1) { if (biome === -1) { return i18next.t("biome:unknownLocation"); } switch (biome) { - case Biome.GRASS: + case BiomeId.GRASS: return i18next.t("biome:GRASS"); - case Biome.RUINS: + case BiomeId.RUINS: return i18next.t("biome:RUINS"); - case Biome.END: + case BiomeId.END: return i18next.t("biome:END"); default: - return i18next.t(`biome:${Biome[biome].toUpperCase()}`); + return i18next.t(`biome:${BiomeId[biome].toUpperCase()}`); } } interface BiomeLinks { - [key: number]: Biome | (Biome | [Biome, number])[] + [key: number]: BiomeId | (BiomeId | [BiomeId, number])[] } interface BiomeDepths { @@ -34,40 +34,40 @@ interface BiomeDepths { } export const biomeLinks: BiomeLinks = { - [Biome.TOWN]: Biome.PLAINS, - [Biome.PLAINS]: [ Biome.GRASS, Biome.METROPOLIS, Biome.LAKE ], - [Biome.GRASS]: Biome.TALL_GRASS, - [Biome.TALL_GRASS]: [ Biome.FOREST, Biome.CAVE ], - [Biome.SLUM]: [ Biome.CONSTRUCTION_SITE, [ Biome.SWAMP, 2 ]], - [Biome.FOREST]: [ Biome.JUNGLE, Biome.MEADOW ], - [Biome.SEA]: [ Biome.SEABED, Biome.ICE_CAVE ], - [Biome.SWAMP]: [ Biome.GRAVEYARD, Biome.TALL_GRASS ], - [Biome.BEACH]: [ Biome.SEA, [ Biome.ISLAND, 2 ]], - [Biome.LAKE]: [ Biome.BEACH, Biome.SWAMP, Biome.CONSTRUCTION_SITE ], - [Biome.SEABED]: [ Biome.CAVE, [ Biome.VOLCANO, 3 ]], - [Biome.MOUNTAIN]: [ Biome.VOLCANO, [ Biome.WASTELAND, 2 ], [ Biome.SPACE, 3 ]], - [Biome.BADLANDS]: [ Biome.DESERT, Biome.MOUNTAIN ], - [Biome.CAVE]: [ Biome.BADLANDS, Biome.LAKE, [ Biome.LABORATORY, 2 ]], - [Biome.DESERT]: [ Biome.RUINS, [ Biome.CONSTRUCTION_SITE, 2 ]], - [Biome.ICE_CAVE]: Biome.SNOWY_FOREST, - [Biome.MEADOW]: [ Biome.PLAINS, Biome.FAIRY_CAVE ], - [Biome.POWER_PLANT]: Biome.FACTORY, - [Biome.VOLCANO]: [ Biome.BEACH, [ Biome.ICE_CAVE, 3 ]], - [Biome.GRAVEYARD]: Biome.ABYSS, - [Biome.DOJO]: [ Biome.PLAINS, [ Biome.JUNGLE, 2 ], [ Biome.TEMPLE, 2 ]], - [Biome.FACTORY]: [ Biome.PLAINS, [ Biome.LABORATORY, 2 ]], - [Biome.RUINS]: [ Biome.MOUNTAIN, [ Biome.FOREST, 2 ]], - [Biome.WASTELAND]: Biome.BADLANDS, - [Biome.ABYSS]: [ Biome.CAVE, [ Biome.SPACE, 2 ], [ Biome.WASTELAND, 2 ]], - [Biome.SPACE]: Biome.RUINS, - [Biome.CONSTRUCTION_SITE]: [ Biome.POWER_PLANT, [ Biome.DOJO, 2 ]], - [Biome.JUNGLE]: [ Biome.TEMPLE ], - [Biome.FAIRY_CAVE]: [ Biome.ICE_CAVE, [ Biome.SPACE, 2 ]], - [Biome.TEMPLE]: [ Biome.DESERT, [ Biome.SWAMP, 2 ], [ Biome.RUINS, 2 ]], - [Biome.METROPOLIS]: Biome.SLUM, - [Biome.SNOWY_FOREST]: [ Biome.FOREST, [ Biome.MOUNTAIN, 2 ], [ Biome.LAKE, 2 ]], - [Biome.ISLAND]: Biome.SEA, - [Biome.LABORATORY]: Biome.CONSTRUCTION_SITE + [BiomeId.TOWN]: BiomeId.PLAINS, + [BiomeId.PLAINS]: [ BiomeId.GRASS, BiomeId.METROPOLIS, BiomeId.LAKE ], + [BiomeId.GRASS]: BiomeId.TALL_GRASS, + [BiomeId.TALL_GRASS]: [ BiomeId.FOREST, BiomeId.CAVE ], + [BiomeId.SLUM]: [ BiomeId.CONSTRUCTION_SITE, [ BiomeId.SWAMP, 2 ]], + [BiomeId.FOREST]: [ BiomeId.JUNGLE, BiomeId.MEADOW ], + [BiomeId.SEA]: [ BiomeId.SEABED, BiomeId.ICE_CAVE ], + [BiomeId.SWAMP]: [ BiomeId.GRAVEYARD, BiomeId.TALL_GRASS ], + [BiomeId.BEACH]: [ BiomeId.SEA, [ BiomeId.ISLAND, 2 ]], + [BiomeId.LAKE]: [ BiomeId.BEACH, BiomeId.SWAMP, BiomeId.CONSTRUCTION_SITE ], + [BiomeId.SEABED]: [ BiomeId.CAVE, [ BiomeId.VOLCANO, 3 ]], + [BiomeId.MOUNTAIN]: [ BiomeId.VOLCANO, [ BiomeId.WASTELAND, 2 ], [ BiomeId.SPACE, 3 ]], + [BiomeId.BADLANDS]: [ BiomeId.DESERT, BiomeId.MOUNTAIN ], + [BiomeId.CAVE]: [ BiomeId.BADLANDS, BiomeId.LAKE, [ BiomeId.LABORATORY, 2 ]], + [BiomeId.DESERT]: [ BiomeId.RUINS, [ BiomeId.CONSTRUCTION_SITE, 2 ]], + [BiomeId.ICE_CAVE]: BiomeId.SNOWY_FOREST, + [BiomeId.MEADOW]: [ BiomeId.PLAINS, BiomeId.FAIRY_CAVE ], + [BiomeId.POWER_PLANT]: BiomeId.FACTORY, + [BiomeId.VOLCANO]: [ BiomeId.BEACH, [ BiomeId.ICE_CAVE, 3 ]], + [BiomeId.GRAVEYARD]: BiomeId.ABYSS, + [BiomeId.DOJO]: [ BiomeId.PLAINS, [ BiomeId.JUNGLE, 2 ], [ BiomeId.TEMPLE, 2 ]], + [BiomeId.FACTORY]: [ BiomeId.PLAINS, [ BiomeId.LABORATORY, 2 ]], + [BiomeId.RUINS]: [ BiomeId.MOUNTAIN, [ BiomeId.FOREST, 2 ]], + [BiomeId.WASTELAND]: BiomeId.BADLANDS, + [BiomeId.ABYSS]: [ BiomeId.CAVE, [ BiomeId.SPACE, 2 ], [ BiomeId.WASTELAND, 2 ]], + [BiomeId.SPACE]: BiomeId.RUINS, + [BiomeId.CONSTRUCTION_SITE]: [ BiomeId.POWER_PLANT, [ BiomeId.DOJO, 2 ]], + [BiomeId.JUNGLE]: [ BiomeId.TEMPLE ], + [BiomeId.FAIRY_CAVE]: [ BiomeId.ICE_CAVE, [ BiomeId.SPACE, 2 ]], + [BiomeId.TEMPLE]: [ BiomeId.DESERT, [ BiomeId.SWAMP, 2 ], [ BiomeId.RUINS, 2 ]], + [BiomeId.METROPOLIS]: BiomeId.SLUM, + [BiomeId.SNOWY_FOREST]: [ BiomeId.FOREST, [ BiomeId.MOUNTAIN, 2 ], [ BiomeId.LAKE, 2 ]], + [BiomeId.ISLAND]: BiomeId.SEA, + [BiomeId.LABORATORY]: BiomeId.CONSTRUCTION_SITE }; export const biomeDepths: BiomeDepths = {}; @@ -84,14 +84,14 @@ export enum BiomePoolTier { BOSS_ULTRA_RARE } -export const uncatchableSpecies: Species[] = []; +export const uncatchableSpecies: SpeciesId[] = []; export interface SpeciesTree { - [key: number]: Species[] + [key: number]: SpeciesId[] } export interface PokemonPools { - [key: number]: (Species | SpeciesTree)[] + [key: number]: (SpeciesId | SpeciesTree)[] } export interface BiomeTierPokemonPools { @@ -103,7 +103,7 @@ export interface BiomePokemonPools { } export interface BiomeTierTod { - biome: Biome, + biome: BiomeId, tier: BiomePoolTier, tod: TimeOfDay[] } @@ -123,125 +123,125 @@ export interface BiomeTrainerPools { } export const biomePokemonPools: BiomePokemonPools = { - [Biome.TOWN]: { + [BiomeId.TOWN]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [ - { 1: [ Species.CATERPIE ], 7: [ Species.METAPOD ]}, - Species.SENTRET, - Species.LEDYBA, - Species.HOPPIP, - Species.SUNKERN, - Species.STARLY, - Species.PIDOVE, - Species.COTTONEE, - { 1: [ Species.SCATTERBUG ], 9: [ Species.SPEWPA ]}, - Species.YUNGOOS, - Species.SKWOVET + { 1: [ SpeciesId.CATERPIE ], 7: [ SpeciesId.METAPOD ]}, + SpeciesId.SENTRET, + SpeciesId.LEDYBA, + SpeciesId.HOPPIP, + SpeciesId.SUNKERN, + SpeciesId.STARLY, + SpeciesId.PIDOVE, + SpeciesId.COTTONEE, + { 1: [ SpeciesId.SCATTERBUG ], 9: [ SpeciesId.SPEWPA ]}, + SpeciesId.YUNGOOS, + SpeciesId.SKWOVET ], [TimeOfDay.DAY]: [ - { 1: [ Species.CATERPIE ], 7: [ Species.METAPOD ]}, - Species.SENTRET, - Species.HOPPIP, - Species.SUNKERN, - Species.SILCOON, - Species.STARLY, - Species.PIDOVE, - Species.COTTONEE, - { 1: [ Species.SCATTERBUG ], 9: [ Species.SPEWPA ]}, - Species.YUNGOOS, - Species.SKWOVET + { 1: [ SpeciesId.CATERPIE ], 7: [ SpeciesId.METAPOD ]}, + SpeciesId.SENTRET, + SpeciesId.HOPPIP, + SpeciesId.SUNKERN, + SpeciesId.SILCOON, + SpeciesId.STARLY, + SpeciesId.PIDOVE, + SpeciesId.COTTONEE, + { 1: [ SpeciesId.SCATTERBUG ], 9: [ SpeciesId.SPEWPA ]}, + SpeciesId.YUNGOOS, + SpeciesId.SKWOVET ], - [TimeOfDay.DUSK]: [{ 1: [ Species.WEEDLE ], 7: [ Species.KAKUNA ]}, Species.POOCHYENA, Species.PATRAT, Species.PURRLOIN, Species.BLIPBUG ], - [TimeOfDay.NIGHT]: [{ 1: [ Species.WEEDLE ], 7: [ Species.KAKUNA ]}, Species.HOOTHOOT, Species.SPINARAK, Species.POOCHYENA, Species.CASCOON, Species.PATRAT, Species.PURRLOIN, Species.BLIPBUG ], - [TimeOfDay.ALL]: [ Species.PIDGEY, Species.RATTATA, Species.SPEAROW, Species.ZIGZAGOON, Species.WURMPLE, Species.TAILLOW, Species.BIDOOF, Species.LILLIPUP, Species.FLETCHLING, Species.WOOLOO, Species.LECHONK ] + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.WEEDLE ], 7: [ SpeciesId.KAKUNA ]}, SpeciesId.POOCHYENA, SpeciesId.PATRAT, SpeciesId.PURRLOIN, SpeciesId.BLIPBUG ], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.WEEDLE ], 7: [ SpeciesId.KAKUNA ]}, SpeciesId.HOOTHOOT, SpeciesId.SPINARAK, SpeciesId.POOCHYENA, SpeciesId.CASCOON, SpeciesId.PATRAT, SpeciesId.PURRLOIN, SpeciesId.BLIPBUG ], + [TimeOfDay.ALL]: [ SpeciesId.PIDGEY, SpeciesId.RATTATA, SpeciesId.SPEAROW, SpeciesId.ZIGZAGOON, SpeciesId.WURMPLE, SpeciesId.TAILLOW, SpeciesId.BIDOOF, SpeciesId.LILLIPUP, SpeciesId.FLETCHLING, SpeciesId.WOOLOO, SpeciesId.LECHONK ] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [ Species.BELLSPROUT, Species.POOCHYENA, Species.LOTAD, Species.SKITTY, Species.COMBEE, Species.CHERUBI, Species.PATRAT, Species.MINCCINO, Species.PAWMI ], - [TimeOfDay.DAY]: [ Species.NIDORAN_F, Species.NIDORAN_M, Species.BELLSPROUT, Species.POOCHYENA, Species.LOTAD, Species.SKITTY, Species.COMBEE, Species.CHERUBI, Species.PATRAT, Species.MINCCINO, Species.PAWMI ], - [TimeOfDay.DUSK]: [ Species.EKANS, Species.ODDISH, Species.MEOWTH, Species.SPINARAK, Species.SEEDOT, Species.SHROOMISH, Species.KRICKETOT, Species.VENIPEDE ], - [TimeOfDay.NIGHT]: [ Species.EKANS, Species.ODDISH, Species.PARAS, Species.VENONAT, Species.MEOWTH, Species.SEEDOT, Species.SHROOMISH, Species.KRICKETOT, Species.VENIPEDE ], - [TimeOfDay.ALL]: [ Species.NINCADA, Species.WHISMUR, Species.FIDOUGH ] + [TimeOfDay.DAWN]: [ SpeciesId.BELLSPROUT, SpeciesId.POOCHYENA, SpeciesId.LOTAD, SpeciesId.SKITTY, SpeciesId.COMBEE, SpeciesId.CHERUBI, SpeciesId.PATRAT, SpeciesId.MINCCINO, SpeciesId.PAWMI ], + [TimeOfDay.DAY]: [ SpeciesId.NIDORAN_F, SpeciesId.NIDORAN_M, SpeciesId.BELLSPROUT, SpeciesId.POOCHYENA, SpeciesId.LOTAD, SpeciesId.SKITTY, SpeciesId.COMBEE, SpeciesId.CHERUBI, SpeciesId.PATRAT, SpeciesId.MINCCINO, SpeciesId.PAWMI ], + [TimeOfDay.DUSK]: [ SpeciesId.EKANS, SpeciesId.ODDISH, SpeciesId.MEOWTH, SpeciesId.SPINARAK, SpeciesId.SEEDOT, SpeciesId.SHROOMISH, SpeciesId.KRICKETOT, SpeciesId.VENIPEDE ], + [TimeOfDay.NIGHT]: [ SpeciesId.EKANS, SpeciesId.ODDISH, SpeciesId.PARAS, SpeciesId.VENONAT, SpeciesId.MEOWTH, SpeciesId.SEEDOT, SpeciesId.SHROOMISH, SpeciesId.KRICKETOT, SpeciesId.VENIPEDE ], + [TimeOfDay.ALL]: [ SpeciesId.NINCADA, SpeciesId.WHISMUR, SpeciesId.FIDOUGH ] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [ Species.TANDEMAUS ], [TimeOfDay.DAY]: [ Species.TANDEMAUS ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ABRA, Species.SURSKIT, Species.ROOKIDEE ]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.EEVEE, Species.RALTS ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DITTO ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [ SpeciesId.TANDEMAUS ], [TimeOfDay.DAY]: [ SpeciesId.TANDEMAUS ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ABRA, SpeciesId.SURSKIT, SpeciesId.ROOKIDEE ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.EEVEE, SpeciesId.RALTS ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DITTO ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.PLAINS]: { + [BiomeId.PLAINS]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.SENTRET ], 15: [ Species.FURRET ]}, { 1: [ Species.YUNGOOS ], 30: [ Species.GUMSHOOS ]}, { 1: [ Species.SKWOVET ], 24: [ Species.GREEDENT ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.SENTRET ], 15: [ Species.FURRET ]}, { 1: [ Species.YUNGOOS ], 30: [ Species.GUMSHOOS ]}, { 1: [ Species.SKWOVET ], 24: [ Species.GREEDENT ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.MEOWTH ], 28: [ Species.PERSIAN ]}, { 1: [ Species.POOCHYENA ], 18: [ Species.MIGHTYENA ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.ZUBAT ], 22: [ Species.GOLBAT ]}, { 1: [ Species.MEOWTH ], 28: [ Species.PERSIAN ]}, { 1: [ Species.POOCHYENA ], 18: [ Species.MIGHTYENA ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.ZIGZAGOON ], 20: [ Species.LINOONE ]}, { 1: [ Species.BIDOOF ], 15: [ Species.BIBAREL ]}, { 1: [ Species.LECHONK ], 18: [ Species.OINKOLOGNE ]}] + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.SENTRET ], 15: [ SpeciesId.FURRET ]}, { 1: [ SpeciesId.YUNGOOS ], 30: [ SpeciesId.GUMSHOOS ]}, { 1: [ SpeciesId.SKWOVET ], 24: [ SpeciesId.GREEDENT ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.SENTRET ], 15: [ SpeciesId.FURRET ]}, { 1: [ SpeciesId.YUNGOOS ], 30: [ SpeciesId.GUMSHOOS ]}, { 1: [ SpeciesId.SKWOVET ], 24: [ SpeciesId.GREEDENT ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.MEOWTH ], 28: [ SpeciesId.PERSIAN ]}, { 1: [ SpeciesId.POOCHYENA ], 18: [ SpeciesId.MIGHTYENA ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.ZUBAT ], 22: [ SpeciesId.GOLBAT ]}, { 1: [ SpeciesId.MEOWTH ], 28: [ SpeciesId.PERSIAN ]}, { 1: [ SpeciesId.POOCHYENA ], 18: [ SpeciesId.MIGHTYENA ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.ZIGZAGOON ], 20: [ SpeciesId.LINOONE ]}, { 1: [ SpeciesId.BIDOOF ], 15: [ SpeciesId.BIBAREL ]}, { 1: [ SpeciesId.LECHONK ], 18: [ SpeciesId.OINKOLOGNE ]}] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [ - { 1: [ Species.DODUO ], 31: [ Species.DODRIO ]}, - { 1: [ Species.POOCHYENA ], 18: [ Species.MIGHTYENA ]}, - { 1: [ Species.STARLY ], 14: [ Species.STARAVIA ], 34: [ Species.STARAPTOR ]}, - { 1: [ Species.PIDOVE ], 21: [ Species.TRANQUILL ], 32: [ Species.UNFEZANT ]}, - { 1: [ Species.PAWMI ], 18: [ Species.PAWMO ], 32: [ Species.PAWMOT ]} + { 1: [ SpeciesId.DODUO ], 31: [ SpeciesId.DODRIO ]}, + { 1: [ SpeciesId.POOCHYENA ], 18: [ SpeciesId.MIGHTYENA ]}, + { 1: [ SpeciesId.STARLY ], 14: [ SpeciesId.STARAVIA ], 34: [ SpeciesId.STARAPTOR ]}, + { 1: [ SpeciesId.PIDOVE ], 21: [ SpeciesId.TRANQUILL ], 32: [ SpeciesId.UNFEZANT ]}, + { 1: [ SpeciesId.PAWMI ], 18: [ SpeciesId.PAWMO ], 32: [ SpeciesId.PAWMOT ]} ], [TimeOfDay.DAY]: [ - { 1: [ Species.DODUO ], 31: [ Species.DODRIO ]}, - { 1: [ Species.POOCHYENA ], 18: [ Species.MIGHTYENA ]}, - { 1: [ Species.STARLY ], 14: [ Species.STARAVIA ], 34: [ Species.STARAPTOR ]}, - { 1: [ Species.PIDOVE ], 21: [ Species.TRANQUILL ], 32: [ Species.UNFEZANT ]}, - { 1: [ Species.ROCKRUFF ], 25: [ Species.LYCANROC ]}, - { 1: [ Species.PAWMI ], 18: [ Species.PAWMO ], 32: [ Species.PAWMOT ]} + { 1: [ SpeciesId.DODUO ], 31: [ SpeciesId.DODRIO ]}, + { 1: [ SpeciesId.POOCHYENA ], 18: [ SpeciesId.MIGHTYENA ]}, + { 1: [ SpeciesId.STARLY ], 14: [ SpeciesId.STARAVIA ], 34: [ SpeciesId.STARAPTOR ]}, + { 1: [ SpeciesId.PIDOVE ], 21: [ SpeciesId.TRANQUILL ], 32: [ SpeciesId.UNFEZANT ]}, + { 1: [ SpeciesId.ROCKRUFF ], 25: [ SpeciesId.LYCANROC ]}, + { 1: [ SpeciesId.PAWMI ], 18: [ SpeciesId.PAWMO ], 32: [ SpeciesId.PAWMOT ]} ], - [TimeOfDay.DUSK]: [{ 1: [ Species.MANKEY ], 28: [ Species.PRIMEAPE ], 75: [ Species.ANNIHILAPE ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.MANKEY ], 28: [ Species.PRIMEAPE ], 75: [ Species.ANNIHILAPE ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.MANKEY ], 28: [ SpeciesId.PRIMEAPE ], 75: [ SpeciesId.ANNIHILAPE ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.MANKEY ], 28: [ SpeciesId.PRIMEAPE ], 75: [ SpeciesId.ANNIHILAPE ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.PIDGEY ], 18: [ Species.PIDGEOTTO ], 36: [ Species.PIDGEOT ]}, - { 1: [ Species.SPEAROW ], 20: [ Species.FEAROW ]}, - Species.PIKACHU, - { 1: [ Species.FLETCHLING ], 17: [ Species.FLETCHINDER ], 35: [ Species.TALONFLAME ]} + { 1: [ SpeciesId.PIDGEY ], 18: [ SpeciesId.PIDGEOTTO ], 36: [ SpeciesId.PIDGEOT ]}, + { 1: [ SpeciesId.SPEAROW ], 20: [ SpeciesId.FEAROW ]}, + SpeciesId.PIKACHU, + { 1: [ SpeciesId.FLETCHLING ], 17: [ SpeciesId.FLETCHINDER ], 35: [ SpeciesId.TALONFLAME ]} ] }, [BiomePoolTier.RARE]: { - [TimeOfDay.DAWN]: [ Species.PALDEA_TAUROS ], - [TimeOfDay.DAY]: [ Species.PALDEA_TAUROS ], - [TimeOfDay.DUSK]: [{ 1: [ Species.SHINX ], 15: [ Species.LUXIO ], 30: [ Species.LUXRAY ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.SHINX ], 15: [ Species.LUXIO ], 30: [ Species.LUXRAY ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.ABRA ], 16: [ Species.KADABRA ]}, { 1: [ Species.BUNEARY ], 20: [ Species.LOPUNNY ]}, { 1: [ Species.ROOKIDEE ], 18: [ Species.CORVISQUIRE ], 38: [ Species.CORVIKNIGHT ]}] + [TimeOfDay.DAWN]: [ SpeciesId.PALDEA_TAUROS ], + [TimeOfDay.DAY]: [ SpeciesId.PALDEA_TAUROS ], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.SHINX ], 15: [ SpeciesId.LUXIO ], 30: [ SpeciesId.LUXRAY ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.SHINX ], 15: [ SpeciesId.LUXIO ], 30: [ SpeciesId.LUXRAY ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.ABRA ], 16: [ SpeciesId.KADABRA ]}, { 1: [ SpeciesId.BUNEARY ], 20: [ SpeciesId.LOPUNNY ]}, { 1: [ SpeciesId.ROOKIDEE ], 18: [ SpeciesId.CORVISQUIRE ], 38: [ SpeciesId.CORVIKNIGHT ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.FARFETCHD, Species.LICKITUNG, Species.CHANSEY, Species.EEVEE, Species.SNORLAX, { 1: [ Species.DUNSPARCE ], 62: [ Species.DUDUNSPARCE ]}]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DITTO, Species.LATIAS, Species.LATIOS ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.FARFETCHD, SpeciesId.LICKITUNG, SpeciesId.CHANSEY, SpeciesId.EEVEE, SpeciesId.SNORLAX, { 1: [ SpeciesId.DUNSPARCE ], 62: [ SpeciesId.DUDUNSPARCE ]}]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DITTO, SpeciesId.LATIAS, SpeciesId.LATIOS ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.DODRIO, Species.FURRET, Species.GUMSHOOS, Species.GREEDENT ], - [TimeOfDay.DAY]: [ Species.DODRIO, Species.FURRET, Species.GUMSHOOS, Species.GREEDENT ], - [TimeOfDay.DUSK]: [ Species.PERSIAN, Species.MIGHTYENA ], - [TimeOfDay.NIGHT]: [ Species.PERSIAN, Species.MIGHTYENA ], - [TimeOfDay.ALL]: [ Species.LINOONE, Species.BIBAREL, Species.LOPUNNY, Species.OINKOLOGNE ] + [TimeOfDay.DAWN]: [ SpeciesId.DODRIO, SpeciesId.FURRET, SpeciesId.GUMSHOOS, SpeciesId.GREEDENT ], + [TimeOfDay.DAY]: [ SpeciesId.DODRIO, SpeciesId.FURRET, SpeciesId.GUMSHOOS, SpeciesId.GREEDENT ], + [TimeOfDay.DUSK]: [ SpeciesId.PERSIAN, SpeciesId.MIGHTYENA ], + [TimeOfDay.NIGHT]: [ SpeciesId.PERSIAN, SpeciesId.MIGHTYENA ], + [TimeOfDay.ALL]: [ SpeciesId.LINOONE, SpeciesId.BIBAREL, SpeciesId.LOPUNNY, SpeciesId.OINKOLOGNE ] }, [BiomePoolTier.BOSS_RARE]: { - [TimeOfDay.DAWN]: [ Species.PAWMOT, Species.PALDEA_TAUROS ], - [TimeOfDay.DAY]: [ Species.LYCANROC, Species.PAWMOT, Species.PALDEA_TAUROS ], + [TimeOfDay.DAWN]: [ SpeciesId.PAWMOT, SpeciesId.PALDEA_TAUROS ], + [TimeOfDay.DAY]: [ SpeciesId.LYCANROC, SpeciesId.PAWMOT, SpeciesId.PALDEA_TAUROS ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.FARFETCHD, Species.SNORLAX, Species.LICKILICKY, Species.DUDUNSPARCE ] + [TimeOfDay.ALL]: [ SpeciesId.FARFETCHD, SpeciesId.SNORLAX, SpeciesId.LICKILICKY, SpeciesId.DUDUNSPARCE ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.LATIAS, Species.LATIOS ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.LATIAS, SpeciesId.LATIOS ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.GRASS]: { + [BiomeId.GRASS]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.HOPPIP ], 18: [ Species.SKIPLOOM ]}, Species.SUNKERN, Species.COTTONEE, Species.PETILIL ], - [TimeOfDay.DAY]: [{ 1: [ Species.HOPPIP ], 18: [ Species.SKIPLOOM ]}, Species.SUNKERN, Species.COTTONEE, Species.PETILIL ], - [TimeOfDay.DUSK]: [{ 1: [ Species.SEEDOT ], 14: [ Species.NUZLEAF ]}, { 1: [ Species.SHROOMISH ], 23: [ Species.BRELOOM ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.SEEDOT ], 14: [ Species.NUZLEAF ]}, { 1: [ Species.SHROOMISH ], 23: [ Species.BRELOOM ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.HOPPIP ], 18: [ SpeciesId.SKIPLOOM ]}, SpeciesId.SUNKERN, SpeciesId.COTTONEE, SpeciesId.PETILIL ], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.HOPPIP ], 18: [ SpeciesId.SKIPLOOM ]}, SpeciesId.SUNKERN, SpeciesId.COTTONEE, SpeciesId.PETILIL ], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.SEEDOT ], 14: [ SpeciesId.NUZLEAF ]}, { 1: [ SpeciesId.SHROOMISH ], 23: [ SpeciesId.BRELOOM ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.SEEDOT ], 14: [ SpeciesId.NUZLEAF ]}, { 1: [ SpeciesId.SHROOMISH ], 23: [ SpeciesId.BRELOOM ]}], [TimeOfDay.ALL]: [] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.COMBEE ], 21: [ Species.VESPIQUEN ]}, { 1: [ Species.CHERUBI ], 25: [ Species.CHERRIM ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.COMBEE ], 21: [ Species.VESPIQUEN ]}, { 1: [ Species.CHERUBI ], 25: [ Species.CHERRIM ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.FOONGUS ], 39: [ Species.AMOONGUSS ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.FOONGUS ], 39: [ Species.AMOONGUSS ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.COMBEE ], 21: [ SpeciesId.VESPIQUEN ]}, { 1: [ SpeciesId.CHERUBI ], 25: [ SpeciesId.CHERRIM ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.COMBEE ], 21: [ SpeciesId.VESPIQUEN ]}, { 1: [ SpeciesId.CHERUBI ], 25: [ SpeciesId.CHERRIM ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.FOONGUS ], 39: [ SpeciesId.AMOONGUSS ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.FOONGUS ], 39: [ SpeciesId.AMOONGUSS ]}], [TimeOfDay.ALL]: [] }, [BiomePoolTier.RARE]: { @@ -249,185 +249,185 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.BULBASAUR ], 16: [ Species.IVYSAUR ], 32: [ Species.VENUSAUR ]}, Species.GROWLITHE, { 1: [ Species.TURTWIG ], 18: [ Species.GROTLE ], 32: [ Species.TORTERRA ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.BULBASAUR ], 16: [ SpeciesId.IVYSAUR ], 32: [ SpeciesId.VENUSAUR ]}, SpeciesId.GROWLITHE, { 1: [ SpeciesId.TURTWIG ], 18: [ SpeciesId.GROTLE ], 32: [ SpeciesId.TORTERRA ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SUDOWOODO ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.JUMPLUFF, Species.SUNFLORA, Species.WHIMSICOTT ], [TimeOfDay.DAY]: [ Species.JUMPLUFF, Species.SUNFLORA, Species.WHIMSICOTT ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VENUSAUR, Species.SUDOWOODO, Species.TORTERRA ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VIRIZION ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SUDOWOODO ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.VIRIZION ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ SpeciesId.JUMPLUFF, SpeciesId.SUNFLORA, SpeciesId.WHIMSICOTT ], [TimeOfDay.DAY]: [ SpeciesId.JUMPLUFF, SpeciesId.SUNFLORA, SpeciesId.WHIMSICOTT ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.VENUSAUR, SpeciesId.SUDOWOODO, SpeciesId.TORTERRA ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.VIRIZION ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.TALL_GRASS]: { + [BiomeId.TALL_GRASS]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.BOUNSWEET ], 18: [ Species.STEENEE ], 58: [ Species.TSAREENA ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.NIDORAN_F ], 16: [ Species.NIDORINA ]}, { 1: [ Species.NIDORAN_M ], 16: [ Species.NIDORINO ]}, { 1: [ Species.BOUNSWEET ], 18: [ Species.STEENEE ], 58: [ Species.TSAREENA ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.ODDISH ], 21: [ Species.GLOOM ]}, { 1: [ Species.KRICKETOT ], 10: [ Species.KRICKETUNE ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.ODDISH ], 21: [ Species.GLOOM ]}, { 1: [ Species.KRICKETOT ], 10: [ Species.KRICKETUNE ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.NINCADA ], 20: [ Species.NINJASK ]}, { 1: [ Species.FOMANTIS ], 44: [ Species.LURANTIS ]}, { 1: [ Species.NYMBLE ], 24: [ Species.LOKIX ]}] + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.BOUNSWEET ], 18: [ SpeciesId.STEENEE ], 58: [ SpeciesId.TSAREENA ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.NIDORAN_F ], 16: [ SpeciesId.NIDORINA ]}, { 1: [ SpeciesId.NIDORAN_M ], 16: [ SpeciesId.NIDORINO ]}, { 1: [ SpeciesId.BOUNSWEET ], 18: [ SpeciesId.STEENEE ], 58: [ SpeciesId.TSAREENA ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.ODDISH ], 21: [ SpeciesId.GLOOM ]}, { 1: [ SpeciesId.KRICKETOT ], 10: [ SpeciesId.KRICKETUNE ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.ODDISH ], 21: [ SpeciesId.GLOOM ]}, { 1: [ SpeciesId.KRICKETOT ], 10: [ SpeciesId.KRICKETUNE ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.NINCADA ], 20: [ SpeciesId.NINJASK ]}, { 1: [ SpeciesId.FOMANTIS ], 44: [ SpeciesId.LURANTIS ]}, { 1: [ SpeciesId.NYMBLE ], 24: [ SpeciesId.LOKIX ]}] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], - [TimeOfDay.NIGHT]: [{ 1: [ Species.PARAS ], 24: [ Species.PARASECT ]}, { 1: [ Species.VENONAT ], 31: [ Species.VENOMOTH ]}, { 1: [ Species.SPINARAK ], 22: [ Species.ARIADOS ]}], - [TimeOfDay.ALL]: [ Species.VULPIX ] + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.PARAS ], 24: [ SpeciesId.PARASECT ]}, { 1: [ SpeciesId.VENONAT ], 31: [ SpeciesId.VENOMOTH ]}, { 1: [ SpeciesId.SPINARAK ], 22: [ SpeciesId.ARIADOS ]}], + [TimeOfDay.ALL]: [ SpeciesId.VULPIX ] }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.PINSIR, { 1: [ Species.CHIKORITA ], 16: [ Species.BAYLEEF ], 32: [ Species.MEGANIUM ]}, { 1: [ Species.GIRAFARIG ], 62: [ Species.FARIGIRAF ]}, Species.ZANGOOSE, Species.KECLEON, Species.TROPIUS ] + [TimeOfDay.ALL]: [ SpeciesId.PINSIR, { 1: [ SpeciesId.CHIKORITA ], 16: [ SpeciesId.BAYLEEF ], 32: [ SpeciesId.MEGANIUM ]}, { 1: [ SpeciesId.GIRAFARIG ], 62: [ SpeciesId.FARIGIRAF ]}, SpeciesId.ZANGOOSE, SpeciesId.KECLEON, SpeciesId.TROPIUS ] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SCYTHER, Species.SHEDINJA, Species.ROTOM ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SCYTHER, SpeciesId.SHEDINJA, SpeciesId.ROTOM ]}, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.TSAREENA ], - [TimeOfDay.DAY]: [ Species.NIDOQUEEN, Species.NIDOKING, Species.TSAREENA ], - [TimeOfDay.DUSK]: [ Species.VILEPLUME, Species.KRICKETUNE ], - [TimeOfDay.NIGHT]: [ Species.VILEPLUME, Species.KRICKETUNE ], - [TimeOfDay.ALL]: [ Species.NINJASK, Species.ZANGOOSE, Species.KECLEON, Species.LURANTIS, Species.LOKIX ] + [TimeOfDay.DAWN]: [ SpeciesId.TSAREENA ], + [TimeOfDay.DAY]: [ SpeciesId.NIDOQUEEN, SpeciesId.NIDOKING, SpeciesId.TSAREENA ], + [TimeOfDay.DUSK]: [ SpeciesId.VILEPLUME, SpeciesId.KRICKETUNE ], + [TimeOfDay.NIGHT]: [ SpeciesId.VILEPLUME, SpeciesId.KRICKETUNE ], + [TimeOfDay.ALL]: [ SpeciesId.NINJASK, SpeciesId.ZANGOOSE, SpeciesId.KECLEON, SpeciesId.LURANTIS, SpeciesId.LOKIX ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ Species.BELLOSSOM ], [TimeOfDay.DAY]: [ Species.BELLOSSOM ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.PINSIR, Species.MEGANIUM, Species.FARIGIRAF ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ROTOM ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ SpeciesId.BELLOSSOM ], [TimeOfDay.DAY]: [ SpeciesId.BELLOSSOM ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.PINSIR, SpeciesId.MEGANIUM, SpeciesId.FARIGIRAF ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ROTOM ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.METROPOLIS]: { + [BiomeId.METROPOLIS]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.YAMPER ], 25: [ Species.BOLTUND ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.YAMPER ], 25: [ Species.BOLTUND ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.PATRAT ], 20: [ Species.WATCHOG ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.HOUNDOUR ], 24: [ Species.HOUNDOOM ]}, { 1: [ Species.PATRAT ], 20: [ Species.WATCHOG ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.RATTATA ], 20: [ Species.RATICATE ]}, { 1: [ Species.ZIGZAGOON ], 20: [ Species.LINOONE ]}, { 1: [ Species.LILLIPUP ], 16: [ Species.HERDIER ], 32: [ Species.STOUTLAND ]}] + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.YAMPER ], 25: [ SpeciesId.BOLTUND ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.YAMPER ], 25: [ SpeciesId.BOLTUND ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.PATRAT ], 20: [ SpeciesId.WATCHOG ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.HOUNDOUR ], 24: [ SpeciesId.HOUNDOOM ]}, { 1: [ SpeciesId.PATRAT ], 20: [ SpeciesId.WATCHOG ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.RATTATA ], 20: [ SpeciesId.RATICATE ]}, { 1: [ SpeciesId.ZIGZAGOON ], 20: [ SpeciesId.LINOONE ]}, { 1: [ SpeciesId.LILLIPUP ], 16: [ SpeciesId.HERDIER ], 32: [ SpeciesId.STOUTLAND ]}] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.PATRAT ], 20: [ Species.WATCHOG ]}, Species.INDEEDEE ], - [TimeOfDay.DAY]: [{ 1: [ Species.PATRAT ], 20: [ Species.WATCHOG ]}, Species.INDEEDEE ], - [TimeOfDay.DUSK]: [{ 1: [ Species.ESPURR ], 25: [ Species.MEOWSTIC ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.ESPURR ], 25: [ Species.MEOWSTIC ]}], - [TimeOfDay.ALL]: [ Species.PIKACHU, { 1: [ Species.GLAMEOW ], 38: [ Species.PURUGLY ]}, Species.FURFROU, { 1: [ Species.FIDOUGH ], 26: [ Species.DACHSBUN ]}, Species.SQUAWKABILLY ] + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.PATRAT ], 20: [ SpeciesId.WATCHOG ]}, SpeciesId.INDEEDEE ], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.PATRAT ], 20: [ SpeciesId.WATCHOG ]}, SpeciesId.INDEEDEE ], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.ESPURR ], 25: [ SpeciesId.MEOWSTIC ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.ESPURR ], 25: [ SpeciesId.MEOWSTIC ]}], + [TimeOfDay.ALL]: [ SpeciesId.PIKACHU, { 1: [ SpeciesId.GLAMEOW ], 38: [ SpeciesId.PURUGLY ]}, SpeciesId.FURFROU, { 1: [ SpeciesId.FIDOUGH ], 26: [ SpeciesId.DACHSBUN ]}, SpeciesId.SQUAWKABILLY ] }, [BiomePoolTier.RARE]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.TANDEMAUS ], 25: [ Species.MAUSHOLD ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.TANDEMAUS ], 25: [ Species.MAUSHOLD ]}], - [TimeOfDay.DUSK]: [ Species.MORPEKO ], - [TimeOfDay.NIGHT]: [ Species.MORPEKO ], - [TimeOfDay.ALL]: [{ 1: [ Species.VAROOM ], 40: [ Species.REVAVROOM ]}] + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.TANDEMAUS ], 25: [ SpeciesId.MAUSHOLD ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.TANDEMAUS ], 25: [ SpeciesId.MAUSHOLD ]}], + [TimeOfDay.DUSK]: [ SpeciesId.MORPEKO ], + [TimeOfDay.NIGHT]: [ SpeciesId.MORPEKO ], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.VAROOM ], 40: [ SpeciesId.REVAVROOM ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DITTO, Species.EEVEE, Species.SMEARGLE ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CASTFORM ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.BOLTUND ], [TimeOfDay.DAY]: [ Species.BOLTUND ], [TimeOfDay.DUSK]: [ Species.MEOWSTIC ], [TimeOfDay.NIGHT]: [ Species.MEOWSTIC ], [TimeOfDay.ALL]: [ Species.STOUTLAND, Species.FURFROU, Species.DACHSBUN ]}, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ Species.MAUSHOLD ], [TimeOfDay.DAY]: [ Species.MAUSHOLD ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CASTFORM, Species.REVAVROOM ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DITTO, SpeciesId.EEVEE, SpeciesId.SMEARGLE ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CASTFORM ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ SpeciesId.BOLTUND ], [TimeOfDay.DAY]: [ SpeciesId.BOLTUND ], [TimeOfDay.DUSK]: [ SpeciesId.MEOWSTIC ], [TimeOfDay.NIGHT]: [ SpeciesId.MEOWSTIC ], [TimeOfDay.ALL]: [ SpeciesId.STOUTLAND, SpeciesId.FURFROU, SpeciesId.DACHSBUN ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ SpeciesId.MAUSHOLD ], [TimeOfDay.DAY]: [ SpeciesId.MAUSHOLD ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CASTFORM, SpeciesId.REVAVROOM ]}, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.FOREST]: { + [BiomeId.FOREST]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [ - Species.BUTTERFREE, - { 1: [ Species.BELLSPROUT ], 21: [ Species.WEEPINBELL ]}, - { 1: [ Species.COMBEE ], 21: [ Species.VESPIQUEN ]}, - Species.PETILIL, - { 1: [ Species.DEERLING ], 34: [ Species.SAWSBUCK ]}, - Species.VIVILLON + SpeciesId.BUTTERFREE, + { 1: [ SpeciesId.BELLSPROUT ], 21: [ SpeciesId.WEEPINBELL ]}, + { 1: [ SpeciesId.COMBEE ], 21: [ SpeciesId.VESPIQUEN ]}, + SpeciesId.PETILIL, + { 1: [ SpeciesId.DEERLING ], 34: [ SpeciesId.SAWSBUCK ]}, + SpeciesId.VIVILLON ], [TimeOfDay.DAY]: [ - Species.BUTTERFREE, - { 1: [ Species.BELLSPROUT ], 21: [ Species.WEEPINBELL ]}, - Species.BEAUTIFLY, - { 1: [ Species.COMBEE ], 21: [ Species.VESPIQUEN ]}, - Species.PETILIL, - { 1: [ Species.DEERLING ], 34: [ Species.SAWSBUCK ]}, - Species.VIVILLON + SpeciesId.BUTTERFREE, + { 1: [ SpeciesId.BELLSPROUT ], 21: [ SpeciesId.WEEPINBELL ]}, + SpeciesId.BEAUTIFLY, + { 1: [ SpeciesId.COMBEE ], 21: [ SpeciesId.VESPIQUEN ]}, + SpeciesId.PETILIL, + { 1: [ SpeciesId.DEERLING ], 34: [ SpeciesId.SAWSBUCK ]}, + SpeciesId.VIVILLON ], [TimeOfDay.DUSK]: [ - Species.BEEDRILL, - { 1: [ Species.PINECO ], 31: [ Species.FORRETRESS ]}, - { 1: [ Species.SEEDOT ], 14: [ Species.NUZLEAF ]}, - { 1: [ Species.SHROOMISH ], 23: [ Species.BRELOOM ]}, - { 1: [ Species.VENIPEDE ], 22: [ Species.WHIRLIPEDE ], 30: [ Species.SCOLIPEDE ]} + SpeciesId.BEEDRILL, + { 1: [ SpeciesId.PINECO ], 31: [ SpeciesId.FORRETRESS ]}, + { 1: [ SpeciesId.SEEDOT ], 14: [ SpeciesId.NUZLEAF ]}, + { 1: [ SpeciesId.SHROOMISH ], 23: [ SpeciesId.BRELOOM ]}, + { 1: [ SpeciesId.VENIPEDE ], 22: [ SpeciesId.WHIRLIPEDE ], 30: [ SpeciesId.SCOLIPEDE ]} ], [TimeOfDay.NIGHT]: [ - Species.BEEDRILL, - { 1: [ Species.VENONAT ], 31: [ Species.VENOMOTH ]}, - { 1: [ Species.SPINARAK ], 22: [ Species.ARIADOS ]}, - { 1: [ Species.PINECO ], 31: [ Species.FORRETRESS ]}, - Species.DUSTOX, - { 1: [ Species.SEEDOT ], 14: [ Species.NUZLEAF ]}, - { 1: [ Species.SHROOMISH ], 23: [ Species.BRELOOM ]}, - { 1: [ Species.VENIPEDE ], 22: [ Species.WHIRLIPEDE ], 30: [ Species.SCOLIPEDE ]} + SpeciesId.BEEDRILL, + { 1: [ SpeciesId.VENONAT ], 31: [ SpeciesId.VENOMOTH ]}, + { 1: [ SpeciesId.SPINARAK ], 22: [ SpeciesId.ARIADOS ]}, + { 1: [ SpeciesId.PINECO ], 31: [ SpeciesId.FORRETRESS ]}, + SpeciesId.DUSTOX, + { 1: [ SpeciesId.SEEDOT ], 14: [ SpeciesId.NUZLEAF ]}, + { 1: [ SpeciesId.SHROOMISH ], 23: [ SpeciesId.BRELOOM ]}, + { 1: [ SpeciesId.VENIPEDE ], 22: [ SpeciesId.WHIRLIPEDE ], 30: [ SpeciesId.SCOLIPEDE ]} ], - [TimeOfDay.ALL]: [{ 1: [ Species.TAROUNTULA ], 15: [ Species.SPIDOPS ]}, { 1: [ Species.NYMBLE ], 24: [ Species.LOKIX ]}, { 1: [ Species.SHROODLE ], 28: [ Species.GRAFAIAI ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.TAROUNTULA ], 15: [ SpeciesId.SPIDOPS ]}, { 1: [ SpeciesId.NYMBLE ], 24: [ SpeciesId.LOKIX ]}, { 1: [ SpeciesId.SHROODLE ], 28: [ SpeciesId.GRAFAIAI ]}] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [ Species.ROSELIA, Species.MOTHIM, { 1: [ Species.SEWADDLE ], 20: [ Species.SWADLOON ], 30: [ Species.LEAVANNY ]}], - [TimeOfDay.DAY]: [ Species.ROSELIA, Species.MOTHIM, { 1: [ Species.SEWADDLE ], 20: [ Species.SWADLOON ], 30: [ Species.LEAVANNY ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.SPINARAK ], 22: [ Species.ARIADOS ]}, { 1: [ Species.DOTTLER ], 30: [ Species.ORBEETLE ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.HOOTHOOT ], 20: [ Species.NOCTOWL ]}, { 1: [ Species.ROCKRUFF ], 25: [ Species.LYCANROC ]}, { 1: [ Species.DOTTLER ], 30: [ Species.ORBEETLE ]}], + [TimeOfDay.DAWN]: [ SpeciesId.ROSELIA, SpeciesId.MOTHIM, { 1: [ SpeciesId.SEWADDLE ], 20: [ SpeciesId.SWADLOON ], 30: [ SpeciesId.LEAVANNY ]}], + [TimeOfDay.DAY]: [ SpeciesId.ROSELIA, SpeciesId.MOTHIM, { 1: [ SpeciesId.SEWADDLE ], 20: [ SpeciesId.SWADLOON ], 30: [ SpeciesId.LEAVANNY ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.SPINARAK ], 22: [ SpeciesId.ARIADOS ]}, { 1: [ SpeciesId.DOTTLER ], 30: [ SpeciesId.ORBEETLE ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.HOOTHOOT ], 20: [ SpeciesId.NOCTOWL ]}, { 1: [ SpeciesId.ROCKRUFF ], 25: [ SpeciesId.LYCANROC ]}, { 1: [ SpeciesId.DOTTLER ], 30: [ SpeciesId.ORBEETLE ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.EKANS ], 22: [ Species.ARBOK ]}, - { 1: [ Species.TEDDIURSA ], 30: [ Species.URSARING ]}, - { 1: [ Species.BURMY ], 20: [ Species.WORMADAM ]}, - { 1: [ Species.PANSAGE ], 30: [ Species.SIMISAGE ]} + { 1: [ SpeciesId.EKANS ], 22: [ SpeciesId.ARBOK ]}, + { 1: [ SpeciesId.TEDDIURSA ], 30: [ SpeciesId.URSARING ]}, + { 1: [ SpeciesId.BURMY ], 20: [ SpeciesId.WORMADAM ]}, + { 1: [ SpeciesId.PANSAGE ], 30: [ SpeciesId.SIMISAGE ]} ] }, [BiomePoolTier.RARE]: { - [TimeOfDay.DAWN]: [ Species.EXEGGCUTE, Species.STANTLER ], - [TimeOfDay.DAY]: [ Species.EXEGGCUTE, Species.STANTLER ], - [TimeOfDay.DUSK]: [ Species.SCYTHER ], - [TimeOfDay.NIGHT]: [ Species.SCYTHER ], + [TimeOfDay.DAWN]: [ SpeciesId.EXEGGCUTE, SpeciesId.STANTLER ], + [TimeOfDay.DAY]: [ SpeciesId.EXEGGCUTE, SpeciesId.STANTLER ], + [TimeOfDay.DUSK]: [ SpeciesId.SCYTHER ], + [TimeOfDay.NIGHT]: [ SpeciesId.SCYTHER ], [TimeOfDay.ALL]: [ - Species.HERACROSS, - { 1: [ Species.TREECKO ], 16: [ Species.GROVYLE ], 36: [ Species.SCEPTILE ]}, - Species.TROPIUS, - Species.KARRABLAST, - Species.SHELMET, - { 1: [ Species.CHESPIN ], 16: [ Species.QUILLADIN ], 36: [ Species.CHESNAUGHT ]}, - { 1: [ Species.ROWLET ], 17: [ Species.DARTRIX ], 34: [ Species.DECIDUEYE ]}, - Species.SQUAWKABILLY, - { 1: [ Species.TOEDSCOOL ], 30: [ Species.TOEDSCRUEL ]} + SpeciesId.HERACROSS, + { 1: [ SpeciesId.TREECKO ], 16: [ SpeciesId.GROVYLE ], 36: [ SpeciesId.SCEPTILE ]}, + SpeciesId.TROPIUS, + SpeciesId.KARRABLAST, + SpeciesId.SHELMET, + { 1: [ SpeciesId.CHESPIN ], 16: [ SpeciesId.QUILLADIN ], 36: [ SpeciesId.CHESNAUGHT ]}, + { 1: [ SpeciesId.ROWLET ], 17: [ SpeciesId.DARTRIX ], 34: [ SpeciesId.DECIDUEYE ]}, + SpeciesId.SQUAWKABILLY, + { 1: [ SpeciesId.TOEDSCOOL ], 30: [ SpeciesId.TOEDSCRUEL ]} ] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ Species.BLOODMOON_URSALUNA ], [TimeOfDay.ALL]: [ Species.DURANT ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KARTANA, Species.WO_CHIEN ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ SpeciesId.BLOODMOON_URSALUNA ], [TimeOfDay.ALL]: [ SpeciesId.DURANT ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KARTANA, SpeciesId.WO_CHIEN ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.VICTREEBEL, Species.MOTHIM, Species.VESPIQUEN, Species.LILLIGANT, Species.SAWSBUCK ], - [TimeOfDay.DAY]: [ Species.VICTREEBEL, Species.BEAUTIFLY, Species.MOTHIM, Species.VESPIQUEN, Species.LILLIGANT, Species.SAWSBUCK ], - [TimeOfDay.DUSK]: [ Species.ARIADOS, Species.FORRETRESS, Species.SHIFTRY, Species.BRELOOM, Species.SCOLIPEDE, Species.ORBEETLE ], - [TimeOfDay.NIGHT]: [ Species.VENOMOTH, Species.NOCTOWL, Species.ARIADOS, Species.FORRETRESS, Species.DUSTOX, Species.SHIFTRY, Species.BRELOOM, Species.SCOLIPEDE, Species.ORBEETLE ], - [TimeOfDay.ALL]: [ Species.WORMADAM, Species.SIMISAGE, Species.SPIDOPS, Species.LOKIX, Species.GRAFAIAI ] + [TimeOfDay.DAWN]: [ SpeciesId.VICTREEBEL, SpeciesId.MOTHIM, SpeciesId.VESPIQUEN, SpeciesId.LILLIGANT, SpeciesId.SAWSBUCK ], + [TimeOfDay.DAY]: [ SpeciesId.VICTREEBEL, SpeciesId.BEAUTIFLY, SpeciesId.MOTHIM, SpeciesId.VESPIQUEN, SpeciesId.LILLIGANT, SpeciesId.SAWSBUCK ], + [TimeOfDay.DUSK]: [ SpeciesId.ARIADOS, SpeciesId.FORRETRESS, SpeciesId.SHIFTRY, SpeciesId.BRELOOM, SpeciesId.SCOLIPEDE, SpeciesId.ORBEETLE ], + [TimeOfDay.NIGHT]: [ SpeciesId.VENOMOTH, SpeciesId.NOCTOWL, SpeciesId.ARIADOS, SpeciesId.FORRETRESS, SpeciesId.DUSTOX, SpeciesId.SHIFTRY, SpeciesId.BRELOOM, SpeciesId.SCOLIPEDE, SpeciesId.ORBEETLE ], + [TimeOfDay.ALL]: [ SpeciesId.WORMADAM, SpeciesId.SIMISAGE, SpeciesId.SPIDOPS, SpeciesId.LOKIX, SpeciesId.GRAFAIAI ] }, [BiomePoolTier.BOSS_RARE]: { - [TimeOfDay.DAWN]: [ Species.STANTLER ], - [TimeOfDay.DAY]: [ Species.STANTLER ], + [TimeOfDay.DAWN]: [ SpeciesId.STANTLER ], + [TimeOfDay.DAY]: [ SpeciesId.STANTLER ], [TimeOfDay.DUSK]: [], - [TimeOfDay.NIGHT]: [ Species.LYCANROC, Species.BLOODMOON_URSALUNA ], - [TimeOfDay.ALL]: [ Species.HERACROSS, Species.SCEPTILE, Species.ESCAVALIER, Species.ACCELGOR, Species.DURANT, Species.CHESNAUGHT, Species.DECIDUEYE, Species.TOEDSCRUEL ] + [TimeOfDay.NIGHT]: [ SpeciesId.LYCANROC, SpeciesId.BLOODMOON_URSALUNA ], + [TimeOfDay.ALL]: [ SpeciesId.HERACROSS, SpeciesId.SCEPTILE, SpeciesId.ESCAVALIER, SpeciesId.ACCELGOR, SpeciesId.DURANT, SpeciesId.CHESNAUGHT, SpeciesId.DECIDUEYE, SpeciesId.TOEDSCRUEL ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KARTANA, Species.WO_CHIEN ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CALYREX ]} + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KARTANA, SpeciesId.WO_CHIEN ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CALYREX ]} }, - [Biome.SEA]: { + [BiomeId.SEA]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.SLOWPOKE ], 37: [ Species.SLOWBRO ]}, { 1: [ Species.WINGULL ], 25: [ Species.PELIPPER ]}, Species.CRAMORANT, { 1: [ Species.FINIZEN ], 38: [ Species.PALAFIN ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.SLOWPOKE ], 37: [ Species.SLOWBRO ]}, { 1: [ Species.WINGULL ], 25: [ Species.PELIPPER ]}, Species.CRAMORANT, { 1: [ Species.FINIZEN ], 38: [ Species.PALAFIN ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.INKAY ], 30: [ Species.MALAMAR ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.FINNEON ], 31: [ Species.LUMINEON ]}, { 1: [ Species.INKAY ], 30: [ Species.MALAMAR ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.TENTACOOL ], 30: [ Species.TENTACRUEL ]}, { 1: [ Species.MAGIKARP ], 20: [ Species.GYARADOS ]}, { 1: [ Species.BUIZEL ], 26: [ Species.FLOATZEL ]}] + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.SLOWPOKE ], 37: [ SpeciesId.SLOWBRO ]}, { 1: [ SpeciesId.WINGULL ], 25: [ SpeciesId.PELIPPER ]}, SpeciesId.CRAMORANT, { 1: [ SpeciesId.FINIZEN ], 38: [ SpeciesId.PALAFIN ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.SLOWPOKE ], 37: [ SpeciesId.SLOWBRO ]}, { 1: [ SpeciesId.WINGULL ], 25: [ SpeciesId.PELIPPER ]}, SpeciesId.CRAMORANT, { 1: [ SpeciesId.FINIZEN ], 38: [ SpeciesId.PALAFIN ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.INKAY ], 30: [ SpeciesId.MALAMAR ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.FINNEON ], 31: [ SpeciesId.LUMINEON ]}, { 1: [ SpeciesId.INKAY ], 30: [ SpeciesId.MALAMAR ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.TENTACOOL ], 30: [ SpeciesId.TENTACRUEL ]}, { 1: [ SpeciesId.MAGIKARP ], 20: [ SpeciesId.GYARADOS ]}, { 1: [ SpeciesId.BUIZEL ], 26: [ SpeciesId.FLOATZEL ]}] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.STARYU ], 30: [ Species.STARMIE ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.STARYU ], 30: [ Species.STARMIE ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.SLOWPOKE ], 37: [ Species.SLOWBRO ]}, Species.SHELLDER, { 1: [ Species.CARVANHA ], 30: [ Species.SHARPEDO ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.SLOWPOKE ], 37: [ Species.SLOWBRO ]}, Species.SHELLDER, { 1: [ Species.CHINCHOU ], 27: [ Species.LANTURN ]}, { 1: [ Species.CARVANHA ], 30: [ Species.SHARPEDO ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.STARYU ], 30: [ SpeciesId.STARMIE ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.STARYU ], 30: [ SpeciesId.STARMIE ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.SLOWPOKE ], 37: [ SpeciesId.SLOWBRO ]}, SpeciesId.SHELLDER, { 1: [ SpeciesId.CARVANHA ], 30: [ SpeciesId.SHARPEDO ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.SLOWPOKE ], 37: [ SpeciesId.SLOWBRO ]}, SpeciesId.SHELLDER, { 1: [ SpeciesId.CHINCHOU ], 27: [ SpeciesId.LANTURN ]}, { 1: [ SpeciesId.CARVANHA ], 30: [ SpeciesId.SHARPEDO ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.POLIWAG ], 25: [ Species.POLIWHIRL ]}, - { 1: [ Species.HORSEA ], 32: [ Species.SEADRA ]}, - { 1: [ Species.GOLDEEN ], 33: [ Species.SEAKING ]}, - { 1: [ Species.WAILMER ], 40: [ Species.WAILORD ]}, - { 1: [ Species.PANPOUR ], 30: [ Species.SIMIPOUR ]}, - { 1: [ Species.WATTREL ], 25: [ Species.KILOWATTREL ]} + { 1: [ SpeciesId.POLIWAG ], 25: [ SpeciesId.POLIWHIRL ]}, + { 1: [ SpeciesId.HORSEA ], 32: [ SpeciesId.SEADRA ]}, + { 1: [ SpeciesId.GOLDEEN ], 33: [ SpeciesId.SEAKING ]}, + { 1: [ SpeciesId.WAILMER ], 40: [ SpeciesId.WAILORD ]}, + { 1: [ SpeciesId.PANPOUR ], 30: [ SpeciesId.SIMIPOUR ]}, + { 1: [ SpeciesId.WATTREL ], 25: [ SpeciesId.KILOWATTREL ]} ] }, [BiomePoolTier.RARE]: { @@ -435,45 +435,45 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.LAPRAS, { 1: [ Species.PIPLUP ], 16: [ Species.PRINPLUP ], 36: [ Species.EMPOLEON ]}, { 1: [ Species.POPPLIO ], 17: [ Species.BRIONNE ], 34: [ Species.PRIMARINA ]}] + [TimeOfDay.ALL]: [ SpeciesId.LAPRAS, { 1: [ SpeciesId.PIPLUP ], 16: [ SpeciesId.PRINPLUP ], 36: [ SpeciesId.EMPOLEON ]}, { 1: [ SpeciesId.POPPLIO ], 17: [ SpeciesId.BRIONNE ], 34: [ SpeciesId.PRIMARINA ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KINGDRA, Species.ROTOM, { 1: [ Species.TIRTOUGA ], 37: [ Species.CARRACOSTA ]}]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KINGDRA, SpeciesId.ROTOM, { 1: [ SpeciesId.TIRTOUGA ], 37: [ SpeciesId.CARRACOSTA ]}]}, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.PELIPPER, Species.CRAMORANT, Species.PALAFIN ], - [TimeOfDay.DAY]: [ Species.PELIPPER, Species.CRAMORANT, Species.PALAFIN ], - [TimeOfDay.DUSK]: [ Species.SHARPEDO, Species.MALAMAR ], - [TimeOfDay.NIGHT]: [ Species.SHARPEDO, Species.LUMINEON, Species.MALAMAR ], - [TimeOfDay.ALL]: [ Species.TENTACRUEL, Species.FLOATZEL, Species.SIMIPOUR, Species.KILOWATTREL ] + [TimeOfDay.DAWN]: [ SpeciesId.PELIPPER, SpeciesId.CRAMORANT, SpeciesId.PALAFIN ], + [TimeOfDay.DAY]: [ SpeciesId.PELIPPER, SpeciesId.CRAMORANT, SpeciesId.PALAFIN ], + [TimeOfDay.DUSK]: [ SpeciesId.SHARPEDO, SpeciesId.MALAMAR ], + [TimeOfDay.NIGHT]: [ SpeciesId.SHARPEDO, SpeciesId.LUMINEON, SpeciesId.MALAMAR ], + [TimeOfDay.ALL]: [ SpeciesId.TENTACRUEL, SpeciesId.FLOATZEL, SpeciesId.SIMIPOUR, SpeciesId.KILOWATTREL ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KINGDRA, Species.EMPOLEON, Species.PRIMARINA ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ROTOM ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.LUGIA ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KINGDRA, SpeciesId.EMPOLEON, SpeciesId.PRIMARINA ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ROTOM ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.LUGIA ]} }, - [Biome.SWAMP]: { + [BiomeId.SWAMP]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.WOOPER ], 20: [ Species.QUAGSIRE ]}, { 1: [ Species.LOTAD ], 14: [ Species.LOMBRE ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.WOOPER ], 20: [ Species.QUAGSIRE ]}, { 1: [ Species.LOTAD ], 14: [ Species.LOMBRE ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.EKANS ], 22: [ Species.ARBOK ]}, { 1: [ Species.PALDEA_WOOPER ], 20: [ Species.CLODSIRE ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.EKANS ], 22: [ Species.ARBOK ]}, { 1: [ Species.PALDEA_WOOPER ], 20: [ Species.CLODSIRE ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.WOOPER ], 20: [ SpeciesId.QUAGSIRE ]}, { 1: [ SpeciesId.LOTAD ], 14: [ SpeciesId.LOMBRE ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.WOOPER ], 20: [ SpeciesId.QUAGSIRE ]}, { 1: [ SpeciesId.LOTAD ], 14: [ SpeciesId.LOMBRE ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.EKANS ], 22: [ SpeciesId.ARBOK ]}, { 1: [ SpeciesId.PALDEA_WOOPER ], 20: [ SpeciesId.CLODSIRE ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.EKANS ], 22: [ SpeciesId.ARBOK ]}, { 1: [ SpeciesId.PALDEA_WOOPER ], 20: [ SpeciesId.CLODSIRE ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.POLIWAG ], 25: [ Species.POLIWHIRL ]}, - { 1: [ Species.GULPIN ], 26: [ Species.SWALOT ]}, - { 1: [ Species.SHELLOS ], 30: [ Species.GASTRODON ]}, - { 1: [ Species.TYMPOLE ], 25: [ Species.PALPITOAD ], 36: [ Species.SEISMITOAD ]} + { 1: [ SpeciesId.POLIWAG ], 25: [ SpeciesId.POLIWHIRL ]}, + { 1: [ SpeciesId.GULPIN ], 26: [ SpeciesId.SWALOT ]}, + { 1: [ SpeciesId.SHELLOS ], 30: [ SpeciesId.GASTRODON ]}, + { 1: [ SpeciesId.TYMPOLE ], 25: [ SpeciesId.PALPITOAD ], 36: [ SpeciesId.SEISMITOAD ]} ] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.EKANS ], 22: [ Species.ARBOK ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.EKANS ], 22: [ Species.ARBOK ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.CROAGUNK ], 37: [ Species.TOXICROAK ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.CROAGUNK ], 37: [ Species.TOXICROAK ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.EKANS ], 22: [ SpeciesId.ARBOK ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.EKANS ], 22: [ SpeciesId.ARBOK ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.CROAGUNK ], 37: [ SpeciesId.TOXICROAK ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.CROAGUNK ], 37: [ SpeciesId.TOXICROAK ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.PSYDUCK ], 33: [ Species.GOLDUCK ]}, - { 1: [ Species.BARBOACH ], 30: [ Species.WHISCASH ]}, - { 1: [ Species.SKORUPI ], 40: [ Species.DRAPION ]}, - Species.STUNFISK, - { 1: [ Species.MAREANIE ], 38: [ Species.TOXAPEX ]} + { 1: [ SpeciesId.PSYDUCK ], 33: [ SpeciesId.GOLDUCK ]}, + { 1: [ SpeciesId.BARBOACH ], 30: [ SpeciesId.WHISCASH ]}, + { 1: [ SpeciesId.SKORUPI ], 40: [ SpeciesId.DRAPION ]}, + SpeciesId.STUNFISK, + { 1: [ SpeciesId.MAREANIE ], 38: [ SpeciesId.TOXAPEX ]} ] }, [BiomePoolTier.RARE]: { @@ -481,46 +481,46 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.TOTODILE ], 18: [ Species.CROCONAW ], 30: [ Species.FERALIGATR ]}, { 1: [ Species.MUDKIP ], 16: [ Species.MARSHTOMP ], 36: [ Species.SWAMPERT ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.TOTODILE ], 18: [ SpeciesId.CROCONAW ], 30: [ SpeciesId.FERALIGATR ]}, { 1: [ SpeciesId.MUDKIP ], 16: [ SpeciesId.MARSHTOMP ], 36: [ SpeciesId.SWAMPERT ]}] }, [BiomePoolTier.SUPER_RARE]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.GALAR_SLOWPOKE ], 40: [ Species.GALAR_SLOWBRO ]}, { 1: [ Species.HISUI_SLIGGOO ], 80: [ Species.HISUI_GOODRA ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.GALAR_SLOWPOKE ], 40: [ Species.GALAR_SLOWBRO ]}, { 1: [ Species.HISUI_SLIGGOO ], 80: [ Species.HISUI_GOODRA ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.GALAR_SLOWPOKE ], 40: [ SpeciesId.GALAR_SLOWBRO ]}, { 1: [ SpeciesId.HISUI_SLIGGOO ], 80: [ SpeciesId.HISUI_GOODRA ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.GALAR_SLOWPOKE ], 40: [ SpeciesId.GALAR_SLOWBRO ]}, { 1: [ SpeciesId.HISUI_SLIGGOO ], 80: [ SpeciesId.HISUI_GOODRA ]}], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.POLITOED, Species.GALAR_STUNFISK ] + [TimeOfDay.ALL]: [ SpeciesId.POLITOED, SpeciesId.GALAR_STUNFISK ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.AZELF, Species.POIPOLE ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.AZELF, SpeciesId.POIPOLE ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.QUAGSIRE, Species.LUDICOLO ], - [TimeOfDay.DAY]: [ Species.QUAGSIRE, Species.LUDICOLO ], - [TimeOfDay.DUSK]: [ Species.ARBOK, Species.CLODSIRE ], - [TimeOfDay.NIGHT]: [ Species.ARBOK, Species.CLODSIRE ], - [TimeOfDay.ALL]: [ Species.POLIWRATH, Species.SWALOT, Species.WHISCASH, Species.GASTRODON, Species.SEISMITOAD, Species.STUNFISK, Species.TOXAPEX ] + [TimeOfDay.DAWN]: [ SpeciesId.QUAGSIRE, SpeciesId.LUDICOLO ], + [TimeOfDay.DAY]: [ SpeciesId.QUAGSIRE, SpeciesId.LUDICOLO ], + [TimeOfDay.DUSK]: [ SpeciesId.ARBOK, SpeciesId.CLODSIRE ], + [TimeOfDay.NIGHT]: [ SpeciesId.ARBOK, SpeciesId.CLODSIRE ], + [TimeOfDay.ALL]: [ SpeciesId.POLIWRATH, SpeciesId.SWALOT, SpeciesId.WHISCASH, SpeciesId.GASTRODON, SpeciesId.SEISMITOAD, SpeciesId.STUNFISK, SpeciesId.TOXAPEX ] }, [BiomePoolTier.BOSS_RARE]: { - [TimeOfDay.DAWN]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ], - [TimeOfDay.DAY]: [ Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING, Species.HISUI_GOODRA ], + [TimeOfDay.DAWN]: [ SpeciesId.GALAR_SLOWBRO, SpeciesId.GALAR_SLOWKING, SpeciesId.HISUI_GOODRA ], + [TimeOfDay.DAY]: [ SpeciesId.GALAR_SLOWBRO, SpeciesId.GALAR_SLOWKING, SpeciesId.HISUI_GOODRA ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.FERALIGATR, Species.POLITOED, Species.SWAMPERT, Species.GALAR_STUNFISK ] + [TimeOfDay.ALL]: [ SpeciesId.FERALIGATR, SpeciesId.POLITOED, SpeciesId.SWAMPERT, SpeciesId.GALAR_STUNFISK ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.AZELF, Species.NAGANADEL ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.AZELF, SpeciesId.NAGANADEL ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.BEACH]: { + [BiomeId.BEACH]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.STARYU ], 30: [ Species.STARMIE ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.STARYU ], 30: [ Species.STARMIE ]}], - [TimeOfDay.DUSK]: [ Species.SHELLDER ], - [TimeOfDay.NIGHT]: [ Species.SHELLDER ], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.STARYU ], 30: [ SpeciesId.STARMIE ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.STARYU ], 30: [ SpeciesId.STARMIE ]}], + [TimeOfDay.DUSK]: [ SpeciesId.SHELLDER ], + [TimeOfDay.NIGHT]: [ SpeciesId.SHELLDER ], [TimeOfDay.ALL]: [ - { 1: [ Species.KRABBY ], 28: [ Species.KINGLER ]}, - { 1: [ Species.CORPHISH ], 30: [ Species.CRAWDAUNT ]}, - { 1: [ Species.DWEBBLE ], 34: [ Species.CRUSTLE ]}, - { 1: [ Species.BINACLE ], 39: [ Species.BARBARACLE ]}, - { 1: [ Species.MAREANIE ], 38: [ Species.TOXAPEX ]}, - { 1: [ Species.WIGLETT ], 26: [ Species.WUGTRIO ]} + { 1: [ SpeciesId.KRABBY ], 28: [ SpeciesId.KINGLER ]}, + { 1: [ SpeciesId.CORPHISH ], 30: [ SpeciesId.CRAWDAUNT ]}, + { 1: [ SpeciesId.DWEBBLE ], 34: [ SpeciesId.CRUSTLE ]}, + { 1: [ SpeciesId.BINACLE ], 39: [ SpeciesId.BARBARACLE ]}, + { 1: [ SpeciesId.MAREANIE ], 38: [ SpeciesId.TOXAPEX ]}, + { 1: [ SpeciesId.WIGLETT ], 26: [ SpeciesId.WUGTRIO ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -528,41 +528,41 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.BURMY ], 20: [ Species.WORMADAM ]}, { 1: [ Species.CLAUNCHER ], 37: [ Species.CLAWITZER ]}, { 1: [ Species.SANDYGAST ], 42: [ Species.PALOSSAND ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.BURMY ], 20: [ SpeciesId.WORMADAM ]}, { 1: [ SpeciesId.CLAUNCHER ], 37: [ SpeciesId.CLAWITZER ]}, { 1: [ SpeciesId.SANDYGAST ], 42: [ SpeciesId.PALOSSAND ]}] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.QUAXLY ], 16: [ Species.QUAXWELL ], 36: [ Species.QUAQUAVAL ]}, Species.TATSUGIRI ]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.TIRTOUGA ], 37: [ Species.CARRACOSTA ]}]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, Species.KELDEO, Species.TAPU_FINI ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.QUAXLY ], 16: [ SpeciesId.QUAXWELL ], 36: [ SpeciesId.QUAQUAVAL ]}, SpeciesId.TATSUGIRI ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.TIRTOUGA ], 37: [ SpeciesId.CARRACOSTA ]}]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CRESSELIA, SpeciesId.KELDEO, SpeciesId.TAPU_FINI ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.STARMIE ], - [TimeOfDay.DAY]: [ Species.STARMIE ], - [TimeOfDay.DUSK]: [ Species.CLOYSTER ], - [TimeOfDay.NIGHT]: [ Species.CLOYSTER ], - [TimeOfDay.ALL]: [ Species.KINGLER, Species.CRAWDAUNT, Species.WORMADAM, Species.CRUSTLE, Species.BARBARACLE, Species.CLAWITZER, Species.TOXAPEX, Species.PALOSSAND ] + [TimeOfDay.DAWN]: [ SpeciesId.STARMIE ], + [TimeOfDay.DAY]: [ SpeciesId.STARMIE ], + [TimeOfDay.DUSK]: [ SpeciesId.CLOYSTER ], + [TimeOfDay.NIGHT]: [ SpeciesId.CLOYSTER ], + [TimeOfDay.ALL]: [ SpeciesId.KINGLER, SpeciesId.CRAWDAUNT, SpeciesId.WORMADAM, SpeciesId.CRUSTLE, SpeciesId.BARBARACLE, SpeciesId.CLAWITZER, SpeciesId.TOXAPEX, SpeciesId.PALOSSAND ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CARRACOSTA, Species.QUAQUAVAL ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRESSELIA, Species.KELDEO, Species.TAPU_FINI ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CARRACOSTA, SpeciesId.QUAQUAVAL ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CRESSELIA, SpeciesId.KELDEO, SpeciesId.TAPU_FINI ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.LAKE]: { + [BiomeId.LAKE]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.LOTAD ], 14: [ Species.LOMBRE ]}, { 1: [ Species.DUCKLETT ], 35: [ Species.SWANNA ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.LOTAD ], 14: [ Species.LOMBRE ]}, { 1: [ Species.DUCKLETT ], 35: [ Species.SWANNA ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.MARILL ], 18: [ Species.AZUMARILL ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.MARILL ], 18: [ Species.AZUMARILL ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.LOTAD ], 14: [ SpeciesId.LOMBRE ]}, { 1: [ SpeciesId.DUCKLETT ], 35: [ SpeciesId.SWANNA ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.LOTAD ], 14: [ SpeciesId.LOMBRE ]}, { 1: [ SpeciesId.DUCKLETT ], 35: [ SpeciesId.SWANNA ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.MARILL ], 18: [ SpeciesId.AZUMARILL ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.MARILL ], 18: [ SpeciesId.AZUMARILL ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.PSYDUCK ], 33: [ Species.GOLDUCK ]}, - { 1: [ Species.GOLDEEN ], 33: [ Species.SEAKING ]}, - { 1: [ Species.MAGIKARP ], 20: [ Species.GYARADOS ]}, - { 1: [ Species.CHEWTLE ], 22: [ Species.DREDNAW ]} + { 1: [ SpeciesId.PSYDUCK ], 33: [ SpeciesId.GOLDUCK ]}, + { 1: [ SpeciesId.GOLDEEN ], 33: [ SpeciesId.SEAKING ]}, + { 1: [ SpeciesId.MAGIKARP ], 20: [ SpeciesId.GYARADOS ]}, + { 1: [ SpeciesId.CHEWTLE ], 22: [ SpeciesId.DREDNAW ]} ] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.DEWPIDER ], 22: [ Species.ARAQUANID ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.DEWPIDER ], 22: [ Species.ARAQUANID ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.DEWPIDER ], 22: [ SpeciesId.ARAQUANID ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.DEWPIDER ], 22: [ SpeciesId.ARAQUANID ]}], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.SLOWPOKE ], 37: [ Species.SLOWBRO ]}, { 1: [ Species.WOOPER ], 20: [ Species.QUAGSIRE ]}, { 1: [ Species.SURSKIT ], 22: [ Species.MASQUERAIN ]}, Species.WISHIWASHI, Species.FLAMIGO ] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.SLOWPOKE ], 37: [ SpeciesId.SLOWBRO ]}, { 1: [ SpeciesId.WOOPER ], 20: [ SpeciesId.QUAGSIRE ]}, { 1: [ SpeciesId.SURSKIT ], 22: [ SpeciesId.MASQUERAIN ]}, SpeciesId.WISHIWASHI, SpeciesId.FLAMIGO ] }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], @@ -570,39 +570,39 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.SQUIRTLE ], 16: [ Species.WARTORTLE ], 36: [ Species.BLASTOISE ]}, - { 1: [ Species.OSHAWOTT ], 17: [ Species.DEWOTT ], 36: [ Species.SAMUROTT ]}, - { 1: [ Species.FROAKIE ], 16: [ Species.FROGADIER ], 36: [ Species.GRENINJA ]}, - { 1: [ Species.SOBBLE ], 16: [ Species.DRIZZILE ], 35: [ Species.INTELEON ]} + { 1: [ SpeciesId.SQUIRTLE ], 16: [ SpeciesId.WARTORTLE ], 36: [ SpeciesId.BLASTOISE ]}, + { 1: [ SpeciesId.OSHAWOTT ], 17: [ SpeciesId.DEWOTT ], 36: [ SpeciesId.SAMUROTT ]}, + { 1: [ SpeciesId.FROAKIE ], 16: [ SpeciesId.FROGADIER ], 36: [ SpeciesId.GRENINJA ]}, + { 1: [ SpeciesId.SOBBLE ], 16: [ SpeciesId.DRIZZILE ], 35: [ SpeciesId.INTELEON ]} ] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.VAPOREON, Species.SLOWKING ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SUICUNE, Species.MESPRIT ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.VAPOREON, SpeciesId.SLOWKING ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SUICUNE, SpeciesId.MESPRIT ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.SWANNA, Species.ARAQUANID ], - [TimeOfDay.DAY]: [ Species.SWANNA, Species.ARAQUANID ], - [TimeOfDay.DUSK]: [ Species.AZUMARILL ], - [TimeOfDay.NIGHT]: [ Species.AZUMARILL ], - [TimeOfDay.ALL]: [ Species.GOLDUCK, Species.SLOWBRO, Species.SEAKING, Species.GYARADOS, Species.MASQUERAIN, Species.WISHIWASHI, Species.DREDNAW ] + [TimeOfDay.DAWN]: [ SpeciesId.SWANNA, SpeciesId.ARAQUANID ], + [TimeOfDay.DAY]: [ SpeciesId.SWANNA, SpeciesId.ARAQUANID ], + [TimeOfDay.DUSK]: [ SpeciesId.AZUMARILL ], + [TimeOfDay.NIGHT]: [ SpeciesId.AZUMARILL ], + [TimeOfDay.ALL]: [ SpeciesId.GOLDUCK, SpeciesId.SLOWBRO, SpeciesId.SEAKING, SpeciesId.GYARADOS, SpeciesId.MASQUERAIN, SpeciesId.WISHIWASHI, SpeciesId.DREDNAW ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLASTOISE, Species.VAPOREON, Species.SLOWKING, Species.SAMUROTT, Species.GRENINJA, Species.INTELEON ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SUICUNE, Species.MESPRIT ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.BLASTOISE, SpeciesId.VAPOREON, SpeciesId.SLOWKING, SpeciesId.SAMUROTT, SpeciesId.GRENINJA, SpeciesId.INTELEON ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SUICUNE, SpeciesId.MESPRIT ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.SEABED]: { + [BiomeId.SEABED]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.CHINCHOU ], 27: [ Species.LANTURN ]}, - Species.REMORAID, - Species.CLAMPERL, - Species.BASCULIN, - { 1: [ Species.FRILLISH ], 40: [ Species.JELLICENT ]}, - { 1: [ Species.ARROKUDA ], 26: [ Species.BARRASKEWDA ]}, - Species.VELUZA + { 1: [ SpeciesId.CHINCHOU ], 27: [ SpeciesId.LANTURN ]}, + SpeciesId.REMORAID, + SpeciesId.CLAMPERL, + SpeciesId.BASCULIN, + { 1: [ SpeciesId.FRILLISH ], 40: [ SpeciesId.JELLICENT ]}, + { 1: [ SpeciesId.ARROKUDA ], 26: [ SpeciesId.BARRASKEWDA ]}, + SpeciesId.VELUZA ] }, [BiomePoolTier.UNCOMMON]: { @@ -611,14 +611,14 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.TENTACOOL ], 30: [ Species.TENTACRUEL ]}, - Species.SHELLDER, - { 1: [ Species.WAILMER ], 40: [ Species.WAILORD ]}, - Species.LUVDISC, - { 1: [ Species.SHELLOS ], 30: [ Species.GASTRODON ]}, - { 1: [ Species.SKRELP ], 48: [ Species.DRAGALGE ]}, - Species.PINCURCHIN, - Species.DONDOZO + { 1: [ SpeciesId.TENTACOOL ], 30: [ SpeciesId.TENTACRUEL ]}, + SpeciesId.SHELLDER, + { 1: [ SpeciesId.WAILMER ], 40: [ SpeciesId.WAILORD ]}, + SpeciesId.LUVDISC, + { 1: [ SpeciesId.SHELLOS ], 30: [ SpeciesId.GASTRODON ]}, + { 1: [ SpeciesId.SKRELP ], 48: [ SpeciesId.DRAGALGE ]}, + SpeciesId.PINCURCHIN, + SpeciesId.DONDOZO ] }, [BiomePoolTier.RARE]: { @@ -626,7 +626,7 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.QWILFISH, Species.CORSOLA, Species.OCTILLERY, { 1: [ Species.MANTYKE ], 52: [ Species.MANTINE ]}, Species.ALOMOMOLA, { 1: [ Species.TYNAMO ], 39: [ Species.EELEKTRIK ]}, Species.DHELMISE ] + [TimeOfDay.ALL]: [ SpeciesId.QWILFISH, SpeciesId.CORSOLA, SpeciesId.OCTILLERY, { 1: [ SpeciesId.MANTYKE ], 52: [ SpeciesId.MANTINE ]}, SpeciesId.ALOMOMOLA, { 1: [ SpeciesId.TYNAMO ], 39: [ SpeciesId.EELEKTRIK ]}, SpeciesId.DHELMISE ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], @@ -634,88 +634,88 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.OMANYTE ], 40: [ Species.OMASTAR ]}, - { 1: [ Species.KABUTO ], 40: [ Species.KABUTOPS ]}, - Species.RELICANTH, - Species.PYUKUMUKU, - { 1: [ Species.GALAR_CORSOLA ], 38: [ Species.CURSOLA ]}, - Species.ARCTOVISH, - Species.HISUI_QWILFISH + { 1: [ SpeciesId.OMANYTE ], 40: [ SpeciesId.OMASTAR ]}, + { 1: [ SpeciesId.KABUTO ], 40: [ SpeciesId.KABUTOPS ]}, + SpeciesId.RELICANTH, + SpeciesId.PYUKUMUKU, + { 1: [ SpeciesId.GALAR_CORSOLA ], 38: [ SpeciesId.CURSOLA ]}, + SpeciesId.ARCTOVISH, + SpeciesId.HISUI_QWILFISH ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.FEEBAS, Species.NIHILEGO ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.FEEBAS, SpeciesId.NIHILEGO ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.LANTURN, Species.QWILFISH, Species.CORSOLA, Species.OCTILLERY, Species.MANTINE, Species.WAILORD, Species.HUNTAIL, Species.GOREBYSS, Species.LUVDISC, Species.JELLICENT, Species.ALOMOMOLA, Species.DRAGALGE, Species.BARRASKEWDA, Species.DONDOZO ] + [TimeOfDay.ALL]: [ SpeciesId.LANTURN, SpeciesId.QWILFISH, SpeciesId.CORSOLA, SpeciesId.OCTILLERY, SpeciesId.MANTINE, SpeciesId.WAILORD, SpeciesId.HUNTAIL, SpeciesId.GOREBYSS, SpeciesId.LUVDISC, SpeciesId.JELLICENT, SpeciesId.ALOMOMOLA, SpeciesId.DRAGALGE, SpeciesId.BARRASKEWDA, SpeciesId.DONDOZO ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.OMASTAR, Species.KABUTOPS, Species.RELICANTH, Species.EELEKTROSS, Species.PYUKUMUKU, Species.DHELMISE, Species.CURSOLA, Species.ARCTOVISH, Species.BASCULEGION, Species.OVERQWIL ] + [TimeOfDay.ALL]: [ SpeciesId.OMASTAR, SpeciesId.KABUTOPS, SpeciesId.RELICANTH, SpeciesId.EELEKTROSS, SpeciesId.PYUKUMUKU, SpeciesId.DHELMISE, SpeciesId.CURSOLA, SpeciesId.ARCTOVISH, SpeciesId.BASCULEGION, SpeciesId.OVERQWIL ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MILOTIC, Species.NIHILEGO ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KYOGRE ]} + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MILOTIC, SpeciesId.NIHILEGO ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KYOGRE ]} }, - [Biome.MOUNTAIN]: { + [BiomeId.MOUNTAIN]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [ - { 1: [ Species.TAILLOW ], 22: [ Species.SWELLOW ]}, - { 1: [ Species.SWABLU ], 35: [ Species.ALTARIA ]}, - { 1: [ Species.STARLY ], 14: [ Species.STARAVIA ], 34: [ Species.STARAPTOR ]}, - { 1: [ Species.PIDOVE ], 21: [ Species.TRANQUILL ], 32: [ Species.UNFEZANT ]}, - { 1: [ Species.FLETCHLING ], 17: [ Species.FLETCHINDER ], 35: [ Species.TALONFLAME ]} + { 1: [ SpeciesId.TAILLOW ], 22: [ SpeciesId.SWELLOW ]}, + { 1: [ SpeciesId.SWABLU ], 35: [ SpeciesId.ALTARIA ]}, + { 1: [ SpeciesId.STARLY ], 14: [ SpeciesId.STARAVIA ], 34: [ SpeciesId.STARAPTOR ]}, + { 1: [ SpeciesId.PIDOVE ], 21: [ SpeciesId.TRANQUILL ], 32: [ SpeciesId.UNFEZANT ]}, + { 1: [ SpeciesId.FLETCHLING ], 17: [ SpeciesId.FLETCHINDER ], 35: [ SpeciesId.TALONFLAME ]} ], [TimeOfDay.DAY]: [ - { 1: [ Species.TAILLOW ], 22: [ Species.SWELLOW ]}, - { 1: [ Species.SWABLU ], 35: [ Species.ALTARIA ]}, - { 1: [ Species.STARLY ], 14: [ Species.STARAVIA ], 34: [ Species.STARAPTOR ]}, - { 1: [ Species.PIDOVE ], 21: [ Species.TRANQUILL ], 32: [ Species.UNFEZANT ]}, - { 1: [ Species.FLETCHLING ], 17: [ Species.FLETCHINDER ], 35: [ Species.TALONFLAME ]} + { 1: [ SpeciesId.TAILLOW ], 22: [ SpeciesId.SWELLOW ]}, + { 1: [ SpeciesId.SWABLU ], 35: [ SpeciesId.ALTARIA ]}, + { 1: [ SpeciesId.STARLY ], 14: [ SpeciesId.STARAVIA ], 34: [ SpeciesId.STARAPTOR ]}, + { 1: [ SpeciesId.PIDOVE ], 21: [ SpeciesId.TRANQUILL ], 32: [ SpeciesId.UNFEZANT ]}, + { 1: [ SpeciesId.FLETCHLING ], 17: [ SpeciesId.FLETCHINDER ], 35: [ SpeciesId.TALONFLAME ]} ], - [TimeOfDay.DUSK]: [{ 1: [ Species.RHYHORN ], 42: [ Species.RHYDON ]}, { 1: [ Species.ARON ], 32: [ Species.LAIRON ], 42: [ Species.AGGRON ]}, { 1: [ Species.ROGGENROLA ], 25: [ Species.BOLDORE ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.RHYHORN ], 42: [ Species.RHYDON ]}, { 1: [ Species.ARON ], 32: [ Species.LAIRON ], 42: [ Species.AGGRON ]}, { 1: [ Species.ROGGENROLA ], 25: [ Species.BOLDORE ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.PIDGEY ], 18: [ Species.PIDGEOTTO ], 36: [ Species.PIDGEOT ]}, { 1: [ Species.SPEAROW ], 20: [ Species.FEAROW ]}, { 1: [ Species.SKIDDO ], 32: [ Species.GOGOAT ]}] + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.RHYHORN ], 42: [ SpeciesId.RHYDON ]}, { 1: [ SpeciesId.ARON ], 32: [ SpeciesId.LAIRON ], 42: [ SpeciesId.AGGRON ]}, { 1: [ SpeciesId.ROGGENROLA ], 25: [ SpeciesId.BOLDORE ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.RHYHORN ], 42: [ SpeciesId.RHYDON ]}, { 1: [ SpeciesId.ARON ], 32: [ SpeciesId.LAIRON ], 42: [ SpeciesId.AGGRON ]}, { 1: [ SpeciesId.ROGGENROLA ], 25: [ SpeciesId.BOLDORE ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.PIDGEY ], 18: [ SpeciesId.PIDGEOTTO ], 36: [ SpeciesId.PIDGEOT ]}, { 1: [ SpeciesId.SPEAROW ], 20: [ SpeciesId.FEAROW ]}, { 1: [ SpeciesId.SKIDDO ], 32: [ SpeciesId.GOGOAT ]}] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [ - { 1: [ Species.RHYHORN ], 42: [ Species.RHYDON ]}, - { 1: [ Species.ARON ], 32: [ Species.LAIRON ], 42: [ Species.AGGRON ]}, - { 1: [ Species.ROGGENROLA ], 25: [ Species.BOLDORE ]}, - { 1: [ Species.RUFFLET ], 54: [ Species.BRAVIARY ]}, - { 1: [ Species.ROOKIDEE ], 18: [ Species.CORVISQUIRE ], 38: [ Species.CORVIKNIGHT ]}, - { 1: [ Species.FLITTLE ], 35: [ Species.ESPATHRA ]}, - Species.BOMBIRDIER + { 1: [ SpeciesId.RHYHORN ], 42: [ SpeciesId.RHYDON ]}, + { 1: [ SpeciesId.ARON ], 32: [ SpeciesId.LAIRON ], 42: [ SpeciesId.AGGRON ]}, + { 1: [ SpeciesId.ROGGENROLA ], 25: [ SpeciesId.BOLDORE ]}, + { 1: [ SpeciesId.RUFFLET ], 54: [ SpeciesId.BRAVIARY ]}, + { 1: [ SpeciesId.ROOKIDEE ], 18: [ SpeciesId.CORVISQUIRE ], 38: [ SpeciesId.CORVIKNIGHT ]}, + { 1: [ SpeciesId.FLITTLE ], 35: [ SpeciesId.ESPATHRA ]}, + SpeciesId.BOMBIRDIER ], [TimeOfDay.DAY]: [ - { 1: [ Species.RHYHORN ], 42: [ Species.RHYDON ]}, - { 1: [ Species.ARON ], 32: [ Species.LAIRON ], 42: [ Species.AGGRON ]}, - { 1: [ Species.ROGGENROLA ], 25: [ Species.BOLDORE ]}, - { 1: [ Species.RUFFLET ], 54: [ Species.BRAVIARY ]}, - { 1: [ Species.ROOKIDEE ], 18: [ Species.CORVISQUIRE ], 38: [ Species.CORVIKNIGHT ]}, - { 1: [ Species.FLITTLE ], 35: [ Species.ESPATHRA ]}, - Species.BOMBIRDIER + { 1: [ SpeciesId.RHYHORN ], 42: [ SpeciesId.RHYDON ]}, + { 1: [ SpeciesId.ARON ], 32: [ SpeciesId.LAIRON ], 42: [ SpeciesId.AGGRON ]}, + { 1: [ SpeciesId.ROGGENROLA ], 25: [ SpeciesId.BOLDORE ]}, + { 1: [ SpeciesId.RUFFLET ], 54: [ SpeciesId.BRAVIARY ]}, + { 1: [ SpeciesId.ROOKIDEE ], 18: [ SpeciesId.CORVISQUIRE ], 38: [ SpeciesId.CORVIKNIGHT ]}, + { 1: [ SpeciesId.FLITTLE ], 35: [ SpeciesId.ESPATHRA ]}, + SpeciesId.BOMBIRDIER ], - [TimeOfDay.DUSK]: [{ 1: [ Species.VULLABY ], 54: [ Species.MANDIBUZZ ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.VULLABY ], 54: [ Species.MANDIBUZZ ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.VULLABY ], 54: [ SpeciesId.MANDIBUZZ ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.VULLABY ], 54: [ SpeciesId.MANDIBUZZ ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.MACHOP ], 28: [ Species.MACHOKE ]}, - { 1: [ Species.GEODUDE ], 25: [ Species.GRAVELER ]}, - { 1: [ Species.NATU ], 25: [ Species.XATU ]}, - { 1: [ Species.SLUGMA ], 38: [ Species.MAGCARGO ]}, - { 1: [ Species.NACLI ], 24: [ Species.NACLSTACK ], 38: [ Species.GARGANACL ]} + { 1: [ SpeciesId.MACHOP ], 28: [ SpeciesId.MACHOKE ]}, + { 1: [ SpeciesId.GEODUDE ], 25: [ SpeciesId.GRAVELER ]}, + { 1: [ SpeciesId.NATU ], 25: [ SpeciesId.XATU ]}, + { 1: [ SpeciesId.SLUGMA ], 38: [ SpeciesId.MAGCARGO ]}, + { 1: [ SpeciesId.NACLI ], 24: [ SpeciesId.NACLSTACK ], 38: [ SpeciesId.GARGANACL ]} ] }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], - [TimeOfDay.NIGHT]: [ Species.MURKROW ], - [TimeOfDay.ALL]: [ Species.SKARMORY, { 1: [ Species.TORCHIC ], 16: [ Species.COMBUSKEN ], 36: [ Species.BLAZIKEN ]}, { 1: [ Species.SPOINK ], 32: [ Species.GRUMPIG ]}, Species.HAWLUCHA, Species.KLAWF ] + [TimeOfDay.NIGHT]: [ SpeciesId.MURKROW ], + [TimeOfDay.ALL]: [ SpeciesId.SKARMORY, { 1: [ SpeciesId.TORCHIC ], 16: [ SpeciesId.COMBUSKEN ], 36: [ SpeciesId.BLAZIKEN ]}, { 1: [ SpeciesId.SPOINK ], 32: [ SpeciesId.GRUMPIG ]}, SpeciesId.HAWLUCHA, SpeciesId.KLAWF ] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], @@ -723,95 +723,95 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.LARVITAR ], 30: [ Species.PUPITAR ]}, - { 1: [ Species.CRANIDOS ], 30: [ Species.RAMPARDOS ]}, - { 1: [ Species.SHIELDON ], 30: [ Species.BASTIODON ]}, - { 1: [ Species.GIBLE ], 24: [ Species.GABITE ], 48: [ Species.GARCHOMP ]}, - Species.ROTOM, - Species.ARCHEOPS, - { 1: [ Species.AXEW ], 38: [ Species.FRAXURE ]} + { 1: [ SpeciesId.LARVITAR ], 30: [ SpeciesId.PUPITAR ]}, + { 1: [ SpeciesId.CRANIDOS ], 30: [ SpeciesId.RAMPARDOS ]}, + { 1: [ SpeciesId.SHIELDON ], 30: [ SpeciesId.BASTIODON ]}, + { 1: [ SpeciesId.GIBLE ], 24: [ SpeciesId.GABITE ], 48: [ SpeciesId.GARCHOMP ]}, + SpeciesId.ROTOM, + SpeciesId.ARCHEOPS, + { 1: [ SpeciesId.AXEW ], 38: [ SpeciesId.FRAXURE ]} ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TORNADUS, Species.TING_LU, Species.OGERPON ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.TORNADUS, SpeciesId.TING_LU, SpeciesId.OGERPON ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.SWELLOW, Species.ALTARIA, Species.STARAPTOR, Species.UNFEZANT, Species.BRAVIARY, Species.TALONFLAME, Species.CORVIKNIGHT, Species.ESPATHRA ], - [TimeOfDay.DAY]: [ Species.SWELLOW, Species.ALTARIA, Species.STARAPTOR, Species.UNFEZANT, Species.BRAVIARY, Species.TALONFLAME, Species.CORVIKNIGHT, Species.ESPATHRA ], - [TimeOfDay.DUSK]: [ Species.MANDIBUZZ ], - [TimeOfDay.NIGHT]: [ Species.MANDIBUZZ ], - [TimeOfDay.ALL]: [ Species.PIDGEOT, Species.FEAROW, Species.SKARMORY, Species.AGGRON, Species.GOGOAT, Species.GARGANACL ] + [TimeOfDay.DAWN]: [ SpeciesId.SWELLOW, SpeciesId.ALTARIA, SpeciesId.STARAPTOR, SpeciesId.UNFEZANT, SpeciesId.BRAVIARY, SpeciesId.TALONFLAME, SpeciesId.CORVIKNIGHT, SpeciesId.ESPATHRA ], + [TimeOfDay.DAY]: [ SpeciesId.SWELLOW, SpeciesId.ALTARIA, SpeciesId.STARAPTOR, SpeciesId.UNFEZANT, SpeciesId.BRAVIARY, SpeciesId.TALONFLAME, SpeciesId.CORVIKNIGHT, SpeciesId.ESPATHRA ], + [TimeOfDay.DUSK]: [ SpeciesId.MANDIBUZZ ], + [TimeOfDay.NIGHT]: [ SpeciesId.MANDIBUZZ ], + [TimeOfDay.ALL]: [ SpeciesId.PIDGEOT, SpeciesId.FEAROW, SpeciesId.SKARMORY, SpeciesId.AGGRON, SpeciesId.GOGOAT, SpeciesId.GARGANACL ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ Species.HISUI_BRAVIARY ], [TimeOfDay.DAY]: [ Species.HISUI_BRAVIARY ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLAZIKEN, Species.RAMPARDOS, Species.BASTIODON, Species.HAWLUCHA ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ROTOM, Species.TORNADUS, Species.TING_LU, Species.OGERPON ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HO_OH ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ SpeciesId.HISUI_BRAVIARY ], [TimeOfDay.DAY]: [ SpeciesId.HISUI_BRAVIARY ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.BLAZIKEN, SpeciesId.RAMPARDOS, SpeciesId.BASTIODON, SpeciesId.HAWLUCHA ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ROTOM, SpeciesId.TORNADUS, SpeciesId.TING_LU, SpeciesId.OGERPON ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.HO_OH ]} }, - [Biome.BADLANDS]: { + [BiomeId.BADLANDS]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.PHANPY ], 25: [ Species.DONPHAN ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.PHANPY ], 25: [ Species.DONPHAN ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.PHANPY ], 25: [ SpeciesId.DONPHAN ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.PHANPY ], 25: [ SpeciesId.DONPHAN ]}], [TimeOfDay.DUSK]: [], - [TimeOfDay.NIGHT]: [{ 1: [ Species.CUBONE ], 28: [ Species.MAROWAK ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.CUBONE ], 28: [ SpeciesId.MAROWAK ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.DIGLETT ], 26: [ Species.DUGTRIO ]}, - { 1: [ Species.GEODUDE ], 25: [ Species.GRAVELER ]}, - { 1: [ Species.RHYHORN ], 42: [ Species.RHYDON ]}, - { 1: [ Species.DRILBUR ], 31: [ Species.EXCADRILL ]}, - { 1: [ Species.MUDBRAY ], 30: [ Species.MUDSDALE ]} + { 1: [ SpeciesId.DIGLETT ], 26: [ SpeciesId.DUGTRIO ]}, + { 1: [ SpeciesId.GEODUDE ], 25: [ SpeciesId.GRAVELER ]}, + { 1: [ SpeciesId.RHYHORN ], 42: [ SpeciesId.RHYDON ]}, + { 1: [ SpeciesId.DRILBUR ], 31: [ SpeciesId.EXCADRILL ]}, + { 1: [ SpeciesId.MUDBRAY ], 30: [ SpeciesId.MUDSDALE ]} ] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.SIZZLIPEDE ], 28: [ Species.CENTISKORCH ]}, { 1: [ Species.CAPSAKID ], 30: [ Species.SCOVILLAIN ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.SIZZLIPEDE ], 28: [ Species.CENTISKORCH ]}, { 1: [ Species.CAPSAKID ], 30: [ Species.SCOVILLAIN ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.SIZZLIPEDE ], 28: [ SpeciesId.CENTISKORCH ]}, { 1: [ SpeciesId.CAPSAKID ], 30: [ SpeciesId.SCOVILLAIN ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.SIZZLIPEDE ], 28: [ SpeciesId.CENTISKORCH ]}, { 1: [ SpeciesId.CAPSAKID ], 30: [ SpeciesId.SCOVILLAIN ]}], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.SANDSHREW ], 22: [ Species.SANDSLASH ]}, - { 1: [ Species.NUMEL ], 33: [ Species.CAMERUPT ]}, - { 1: [ Species.ROGGENROLA ], 25: [ Species.BOLDORE ]}, - { 1: [ Species.CUFANT ], 34: [ Species.COPPERAJAH ]} + { 1: [ SpeciesId.SANDSHREW ], 22: [ SpeciesId.SANDSLASH ]}, + { 1: [ SpeciesId.NUMEL ], 33: [ SpeciesId.CAMERUPT ]}, + { 1: [ SpeciesId.ROGGENROLA ], 25: [ SpeciesId.BOLDORE ]}, + { 1: [ SpeciesId.CUFANT ], 34: [ SpeciesId.COPPERAJAH ]} ] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ONIX, Species.GLIGAR, { 1: [ Species.POLTCHAGEIST ], 30: [ Species.SINISTCHA ]}]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ONIX, SpeciesId.GLIGAR, { 1: [ SpeciesId.POLTCHAGEIST ], 30: [ SpeciesId.SINISTCHA ]}]}, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.LANDORUS, Species.OKIDOGI ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.LANDORUS, SpeciesId.OKIDOGI ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.DONPHAN, Species.CENTISKORCH, Species.SCOVILLAIN ], - [TimeOfDay.DAY]: [ Species.DONPHAN, Species.CENTISKORCH, Species.SCOVILLAIN ], + [TimeOfDay.DAWN]: [ SpeciesId.DONPHAN, SpeciesId.CENTISKORCH, SpeciesId.SCOVILLAIN ], + [TimeOfDay.DAY]: [ SpeciesId.DONPHAN, SpeciesId.CENTISKORCH, SpeciesId.SCOVILLAIN ], [TimeOfDay.DUSK]: [], - [TimeOfDay.NIGHT]: [ Species.MAROWAK ], - [TimeOfDay.ALL]: [ Species.DUGTRIO, Species.GOLEM, Species.RHYPERIOR, Species.GLISCOR, Species.EXCADRILL, Species.MUDSDALE, Species.COPPERAJAH ] + [TimeOfDay.NIGHT]: [ SpeciesId.MAROWAK ], + [TimeOfDay.ALL]: [ SpeciesId.DUGTRIO, SpeciesId.GOLEM, SpeciesId.RHYPERIOR, SpeciesId.GLISCOR, SpeciesId.EXCADRILL, SpeciesId.MUDSDALE, SpeciesId.COPPERAJAH ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.STEELIX, Species.SINISTCHA ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.LANDORUS, Species.OKIDOGI ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GROUDON ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.STEELIX, SpeciesId.SINISTCHA ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.LANDORUS, SpeciesId.OKIDOGI ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GROUDON ]} }, - [Biome.CAVE]: { + [BiomeId.CAVE]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.ZUBAT ], 22: [ Species.GOLBAT ]}, - { 1: [ Species.PARAS ], 24: [ Species.PARASECT ]}, - { 1: [ Species.TEDDIURSA ], 30: [ Species.URSARING ]}, - { 1: [ Species.WHISMUR ], 20: [ Species.LOUDRED ], 40: [ Species.EXPLOUD ]}, - { 1: [ Species.ROGGENROLA ], 25: [ Species.BOLDORE ]}, - { 1: [ Species.WOOBAT ], 20: [ Species.SWOOBAT ]}, - { 1: [ Species.BUNNELBY ], 20: [ Species.DIGGERSBY ]}, - { 1: [ Species.NACLI ], 24: [ Species.NACLSTACK ], 38: [ Species.GARGANACL ]} + { 1: [ SpeciesId.ZUBAT ], 22: [ SpeciesId.GOLBAT ]}, + { 1: [ SpeciesId.PARAS ], 24: [ SpeciesId.PARASECT ]}, + { 1: [ SpeciesId.TEDDIURSA ], 30: [ SpeciesId.URSARING ]}, + { 1: [ SpeciesId.WHISMUR ], 20: [ SpeciesId.LOUDRED ], 40: [ SpeciesId.EXPLOUD ]}, + { 1: [ SpeciesId.ROGGENROLA ], 25: [ SpeciesId.BOLDORE ]}, + { 1: [ SpeciesId.WOOBAT ], 20: [ SpeciesId.SWOOBAT ]}, + { 1: [ SpeciesId.BUNNELBY ], 20: [ SpeciesId.DIGGERSBY ]}, + { 1: [ SpeciesId.NACLI ], 24: [ SpeciesId.NACLSTACK ], 38: [ SpeciesId.GARGANACL ]} ] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [{ 1: [ Species.ROCKRUFF ], 25: [ Species.LYCANROC ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.ROCKRUFF ], 25: [ SpeciesId.LYCANROC ]}], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.GEODUDE ], 25: [ Species.GRAVELER ]}, - { 1: [ Species.MAKUHITA ], 24: [ Species.HARIYAMA ]}, - Species.NOSEPASS, - { 1: [ Species.NOIBAT ], 48: [ Species.NOIVERN ]}, - { 1: [ Species.WIMPOD ], 30: [ Species.GOLISOPOD ]} + { 1: [ SpeciesId.GEODUDE ], 25: [ SpeciesId.GRAVELER ]}, + { 1: [ SpeciesId.MAKUHITA ], 24: [ SpeciesId.HARIYAMA ]}, + SpeciesId.NOSEPASS, + { 1: [ SpeciesId.NOIBAT ], 48: [ SpeciesId.NOIVERN ]}, + { 1: [ SpeciesId.WIMPOD ], 30: [ SpeciesId.GOLISOPOD ]} ] }, [BiomePoolTier.RARE]: { @@ -819,71 +819,71 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.ONIX, { 1: [ Species.FERROSEED ], 40: [ Species.FERROTHORN ]}, Species.CARBINK, { 1: [ Species.GLIMMET ], 35: [ Species.GLIMMORA ]}] + [TimeOfDay.ALL]: [ SpeciesId.ONIX, { 1: [ SpeciesId.FERROSEED ], 40: [ SpeciesId.FERROTHORN ]}, SpeciesId.CARBINK, { 1: [ SpeciesId.GLIMMET ], 35: [ SpeciesId.GLIMMORA ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SHUCKLE ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.UXIE ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SHUCKLE ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.UXIE ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.PARASECT, Species.ONIX, Species.CROBAT, Species.URSARING, Species.EXPLOUD, Species.PROBOPASS, Species.GIGALITH, Species.SWOOBAT, Species.DIGGERSBY, Species.NOIVERN, Species.GOLISOPOD, Species.GARGANACL ] + [TimeOfDay.ALL]: [ SpeciesId.PARASECT, SpeciesId.ONIX, SpeciesId.CROBAT, SpeciesId.URSARING, SpeciesId.EXPLOUD, SpeciesId.PROBOPASS, SpeciesId.GIGALITH, SpeciesId.SWOOBAT, SpeciesId.DIGGERSBY, SpeciesId.NOIVERN, SpeciesId.GOLISOPOD, SpeciesId.GARGANACL ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.LYCANROC ], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SHUCKLE, Species.FERROTHORN, Species.GLIMMORA ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.UXIE ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TERAPAGOS ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ SpeciesId.LYCANROC ], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SHUCKLE, SpeciesId.FERROTHORN, SpeciesId.GLIMMORA ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.UXIE ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.TERAPAGOS ]} }, - [Biome.DESERT]: { + [BiomeId.DESERT]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [ Species.TRAPINCH, { 1: [ Species.HIPPOPOTAS ], 34: [ Species.HIPPOWDON ]}, { 1: [ Species.RELLOR ], 29: [ Species.RABSCA ]}], - [TimeOfDay.DAY]: [ Species.TRAPINCH, { 1: [ Species.HIPPOPOTAS ], 34: [ Species.HIPPOWDON ]}, { 1: [ Species.RELLOR ], 29: [ Species.RABSCA ]}], - [TimeOfDay.DUSK]: [{ 1: [ Species.CACNEA ], 32: [ Species.CACTURNE ]}, { 1: [ Species.SANDILE ], 29: [ Species.KROKOROK ], 40: [ Species.KROOKODILE ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.CACNEA ], 32: [ Species.CACTURNE ]}, { 1: [ Species.SANDILE ], 29: [ Species.KROKOROK ], 40: [ Species.KROOKODILE ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.SANDSHREW ], 22: [ Species.SANDSLASH ]}, { 1: [ Species.SKORUPI ], 40: [ Species.DRAPION ]}, { 1: [ Species.SILICOBRA ], 36: [ Species.SANDACONDA ]}] + [TimeOfDay.DAWN]: [ SpeciesId.TRAPINCH, { 1: [ SpeciesId.HIPPOPOTAS ], 34: [ SpeciesId.HIPPOWDON ]}, { 1: [ SpeciesId.RELLOR ], 29: [ SpeciesId.RABSCA ]}], + [TimeOfDay.DAY]: [ SpeciesId.TRAPINCH, { 1: [ SpeciesId.HIPPOPOTAS ], 34: [ SpeciesId.HIPPOWDON ]}, { 1: [ SpeciesId.RELLOR ], 29: [ SpeciesId.RABSCA ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.CACNEA ], 32: [ SpeciesId.CACTURNE ]}, { 1: [ SpeciesId.SANDILE ], 29: [ SpeciesId.KROKOROK ], 40: [ SpeciesId.KROOKODILE ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.CACNEA ], 32: [ SpeciesId.CACTURNE ]}, { 1: [ SpeciesId.SANDILE ], 29: [ SpeciesId.KROKOROK ], 40: [ SpeciesId.KROOKODILE ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.SANDSHREW ], 22: [ SpeciesId.SANDSLASH ]}, { 1: [ SpeciesId.SKORUPI ], 40: [ SpeciesId.DRAPION ]}, { 1: [ SpeciesId.SILICOBRA ], 36: [ SpeciesId.SANDACONDA ]}] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.SANDILE ], 29: [ Species.KROKOROK ], 40: [ Species.KROOKODILE ]}, Species.HELIOPTILE ], - [TimeOfDay.DAY]: [{ 1: [ Species.SANDILE ], 29: [ Species.KROKOROK ], 40: [ Species.KROOKODILE ]}, Species.HELIOPTILE ], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.SANDILE ], 29: [ SpeciesId.KROKOROK ], 40: [ SpeciesId.KROOKODILE ]}, SpeciesId.HELIOPTILE ], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.SANDILE ], 29: [ SpeciesId.KROKOROK ], 40: [ SpeciesId.KROOKODILE ]}, SpeciesId.HELIOPTILE ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.MARACTUS, { 1: [ Species.BRAMBLIN ], 30: [ Species.BRAMBLEGHAST ]}, Species.ORTHWORM ] + [TimeOfDay.ALL]: [ SpeciesId.MARACTUS, { 1: [ SpeciesId.BRAMBLIN ], 30: [ SpeciesId.BRAMBLEGHAST ]}, SpeciesId.ORTHWORM ] }, [BiomePoolTier.RARE]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.VIBRAVA ], 45: [ Species.FLYGON ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.VIBRAVA ], 45: [ Species.FLYGON ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.VIBRAVA ], 45: [ SpeciesId.FLYGON ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.VIBRAVA ], 45: [ SpeciesId.FLYGON ]}], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.DARUMAKA ], 35: [ Species.DARMANITAN ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.DARUMAKA ], 35: [ SpeciesId.DARMANITAN ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.LILEEP ], 40: [ Species.CRADILY ]}, { 1: [ Species.ANORITH ], 40: [ Species.ARMALDO ]}]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.TAPU_BULU, Species.PHEROMOSA ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.LILEEP ], 40: [ SpeciesId.CRADILY ]}, { 1: [ SpeciesId.ANORITH ], 40: [ SpeciesId.ARMALDO ]}]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.REGIROCK, SpeciesId.TAPU_BULU, SpeciesId.PHEROMOSA ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ], - [TimeOfDay.DAY]: [ Species.HIPPOWDON, Species.HELIOLISK, Species.RABSCA ], - [TimeOfDay.DUSK]: [ Species.CACTURNE, Species.KROOKODILE ], - [TimeOfDay.NIGHT]: [ Species.CACTURNE, Species.KROOKODILE ], - [TimeOfDay.ALL]: [ Species.SANDSLASH, Species.DRAPION, Species.DARMANITAN, Species.MARACTUS, Species.SANDACONDA, Species.BRAMBLEGHAST ] + [TimeOfDay.DAWN]: [ SpeciesId.HIPPOWDON, SpeciesId.HELIOLISK, SpeciesId.RABSCA ], + [TimeOfDay.DAY]: [ SpeciesId.HIPPOWDON, SpeciesId.HELIOLISK, SpeciesId.RABSCA ], + [TimeOfDay.DUSK]: [ SpeciesId.CACTURNE, SpeciesId.KROOKODILE ], + [TimeOfDay.NIGHT]: [ SpeciesId.CACTURNE, SpeciesId.KROOKODILE ], + [TimeOfDay.ALL]: [ SpeciesId.SANDSLASH, SpeciesId.DRAPION, SpeciesId.DARMANITAN, SpeciesId.MARACTUS, SpeciesId.SANDACONDA, SpeciesId.BRAMBLEGHAST ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CRADILY, Species.ARMALDO ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIROCK, Species.TAPU_BULU, Species.PHEROMOSA ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CRADILY, SpeciesId.ARMALDO ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.REGIROCK, SpeciesId.TAPU_BULU, SpeciesId.PHEROMOSA ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.ICE_CAVE]: { + [BiomeId.ICE_CAVE]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.SEEL ], 34: [ Species.DEWGONG ]}, - { 1: [ Species.SWINUB ], 33: [ Species.PILOSWINE ]}, - { 1: [ Species.SNOVER ], 40: [ Species.ABOMASNOW ]}, - { 1: [ Species.VANILLITE ], 35: [ Species.VANILLISH ], 47: [ Species.VANILLUXE ]}, - { 1: [ Species.CUBCHOO ], 37: [ Species.BEARTIC ]}, - { 1: [ Species.BERGMITE ], 37: [ Species.AVALUGG ]}, - Species.CRABRAWLER, - { 1: [ Species.SNOM ], 20: [ Species.FROSMOTH ]} + { 1: [ SpeciesId.SEEL ], 34: [ SpeciesId.DEWGONG ]}, + { 1: [ SpeciesId.SWINUB ], 33: [ SpeciesId.PILOSWINE ]}, + { 1: [ SpeciesId.SNOVER ], 40: [ SpeciesId.ABOMASNOW ]}, + { 1: [ SpeciesId.VANILLITE ], 35: [ SpeciesId.VANILLISH ], 47: [ SpeciesId.VANILLUXE ]}, + { 1: [ SpeciesId.CUBCHOO ], 37: [ SpeciesId.BEARTIC ]}, + { 1: [ SpeciesId.BERGMITE ], 37: [ SpeciesId.AVALUGG ]}, + SpeciesId.CRABRAWLER, + { 1: [ SpeciesId.SNOM ], 20: [ SpeciesId.FROSMOTH ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -892,186 +892,186 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - Species.SNEASEL, - { 1: [ Species.SNORUNT ], 42: [ Species.GLALIE ]}, - { 1: [ Species.SPHEAL ], 32: [ Species.SEALEO ], 44: [ Species.WALREIN ]}, - Species.EISCUE, - { 1: [ Species.CETODDLE ], 30: [ Species.CETITAN ]} + SpeciesId.SNEASEL, + { 1: [ SpeciesId.SNORUNT ], 42: [ SpeciesId.GLALIE ]}, + { 1: [ SpeciesId.SPHEAL ], 32: [ SpeciesId.SEALEO ], 44: [ SpeciesId.WALREIN ]}, + SpeciesId.EISCUE, + { 1: [ SpeciesId.CETODDLE ], 30: [ SpeciesId.CETITAN ]} ] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.JYNX, Species.LAPRAS, Species.FROSLASS, Species.CRYOGONAL ]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DELIBIRD, Species.ROTOM, { 1: [ Species.AMAURA ], 59: [ Species.AURORUS ]}]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ARTICUNO, Species.REGICE ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.JYNX, SpeciesId.LAPRAS, SpeciesId.FROSLASS, SpeciesId.CRYOGONAL ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DELIBIRD, SpeciesId.ROTOM, { 1: [ SpeciesId.AMAURA ], 59: [ SpeciesId.AURORUS ]}]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ARTICUNO, SpeciesId.REGICE ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.DEWGONG, Species.GLALIE, Species.WALREIN, Species.WEAVILE, Species.MAMOSWINE, Species.FROSLASS, Species.VANILLUXE, Species.BEARTIC, Species.CRYOGONAL, Species.AVALUGG, Species.CRABOMINABLE, Species.CETITAN ] + [TimeOfDay.ALL]: [ SpeciesId.DEWGONG, SpeciesId.GLALIE, SpeciesId.WALREIN, SpeciesId.WEAVILE, SpeciesId.MAMOSWINE, SpeciesId.FROSLASS, SpeciesId.VANILLUXE, SpeciesId.BEARTIC, SpeciesId.CRYOGONAL, SpeciesId.AVALUGG, SpeciesId.CRABOMINABLE, SpeciesId.CETITAN ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.JYNX, Species.LAPRAS, Species.GLACEON, Species.AURORUS ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ARTICUNO, Species.REGICE, Species.ROTOM ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KYUREM ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.JYNX, SpeciesId.LAPRAS, SpeciesId.GLACEON, SpeciesId.AURORUS ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ARTICUNO, SpeciesId.REGICE, SpeciesId.ROTOM ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KYUREM ]} }, - [Biome.MEADOW]: { + [BiomeId.MEADOW]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.LEDYBA ], 18: [ Species.LEDIAN ]}, Species.ROSELIA, Species.COTTONEE, Species.MINCCINO ], - [TimeOfDay.DAY]: [ Species.ROSELIA, Species.COTTONEE, Species.MINCCINO ], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.LEDYBA ], 18: [ SpeciesId.LEDIAN ]}, SpeciesId.ROSELIA, SpeciesId.COTTONEE, SpeciesId.MINCCINO ], + [TimeOfDay.DAY]: [ SpeciesId.ROSELIA, SpeciesId.COTTONEE, SpeciesId.MINCCINO ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.BLITZLE ], 27: [ Species.ZEBSTRIKA ]}, - { 1: [ Species.FLABEBE ], 19: [ Species.FLOETTE ]}, - { 1: [ Species.CUTIEFLY ], 25: [ Species.RIBOMBEE ]}, - { 1: [ Species.GOSSIFLEUR ], 20: [ Species.ELDEGOSS ]}, - { 1: [ Species.WOOLOO ], 24: [ Species.DUBWOOL ]} + { 1: [ SpeciesId.BLITZLE ], 27: [ SpeciesId.ZEBSTRIKA ]}, + { 1: [ SpeciesId.FLABEBE ], 19: [ SpeciesId.FLOETTE ]}, + { 1: [ SpeciesId.CUTIEFLY ], 25: [ SpeciesId.RIBOMBEE ]}, + { 1: [ SpeciesId.GOSSIFLEUR ], 20: [ SpeciesId.ELDEGOSS ]}, + { 1: [ SpeciesId.WOOLOO ], 24: [ SpeciesId.DUBWOOL ]} ] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [ - { 1: [ Species.PONYTA ], 40: [ Species.RAPIDASH ]}, - { 1: [ Species.SNUBBULL ], 23: [ Species.GRANBULL ]}, - { 1: [ Species.SKITTY ], 30: [ Species.DELCATTY ]}, - Species.BOUFFALANT, - { 1: [ Species.SMOLIV ], 25: [ Species.DOLLIV ], 35: [ Species.ARBOLIVA ]} + { 1: [ SpeciesId.PONYTA ], 40: [ SpeciesId.RAPIDASH ]}, + { 1: [ SpeciesId.SNUBBULL ], 23: [ SpeciesId.GRANBULL ]}, + { 1: [ SpeciesId.SKITTY ], 30: [ SpeciesId.DELCATTY ]}, + SpeciesId.BOUFFALANT, + { 1: [ SpeciesId.SMOLIV ], 25: [ SpeciesId.DOLLIV ], 35: [ SpeciesId.ARBOLIVA ]} ], [TimeOfDay.DAY]: [ - { 1: [ Species.PONYTA ], 40: [ Species.RAPIDASH ]}, - { 1: [ Species.SNUBBULL ], 23: [ Species.GRANBULL ]}, - { 1: [ Species.SKITTY ], 30: [ Species.DELCATTY ]}, - Species.BOUFFALANT, - { 1: [ Species.SMOLIV ], 25: [ Species.DOLLIV ], 35: [ Species.ARBOLIVA ]} + { 1: [ SpeciesId.PONYTA ], 40: [ SpeciesId.RAPIDASH ]}, + { 1: [ SpeciesId.SNUBBULL ], 23: [ SpeciesId.GRANBULL ]}, + { 1: [ SpeciesId.SKITTY ], 30: [ SpeciesId.DELCATTY ]}, + SpeciesId.BOUFFALANT, + { 1: [ SpeciesId.SMOLIV ], 25: [ SpeciesId.DOLLIV ], 35: [ SpeciesId.ARBOLIVA ]} ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.JIGGLYPUFF ], 30: [ Species.WIGGLYTUFF ]}, - { 1: [ Species.MAREEP ], 15: [ Species.FLAAFFY ], 30: [ Species.AMPHAROS ]}, - { 1: [ Species.RALTS ], 20: [ Species.KIRLIA ], 30: [ Species.GARDEVOIR ]}, - { 1: [ Species.GLAMEOW ], 38: [ Species.PURUGLY ]}, - Species.ORICORIO + { 1: [ SpeciesId.JIGGLYPUFF ], 30: [ SpeciesId.WIGGLYTUFF ]}, + { 1: [ SpeciesId.MAREEP ], 15: [ SpeciesId.FLAAFFY ], 30: [ SpeciesId.AMPHAROS ]}, + { 1: [ SpeciesId.RALTS ], 20: [ SpeciesId.KIRLIA ], 30: [ SpeciesId.GARDEVOIR ]}, + { 1: [ SpeciesId.GLAMEOW ], 38: [ SpeciesId.PURUGLY ]}, + SpeciesId.ORICORIO ] }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], - [TimeOfDay.NIGHT]: [ Species.VOLBEAT, Species.ILLUMISE ], - [TimeOfDay.ALL]: [ Species.TAUROS, Species.EEVEE, Species.MILTANK, Species.SPINDA, { 1: [ Species.APPLIN ], 30: [ Species.DIPPLIN ]}, { 1: [ Species.SPRIGATITO ], 16: [ Species.FLORAGATO ], 36: [ Species.MEOWSCARADA ]}] + [TimeOfDay.NIGHT]: [ SpeciesId.VOLBEAT, SpeciesId.ILLUMISE ], + [TimeOfDay.ALL]: [ SpeciesId.TAUROS, SpeciesId.EEVEE, SpeciesId.MILTANK, SpeciesId.SPINDA, { 1: [ SpeciesId.APPLIN ], 30: [ SpeciesId.DIPPLIN ]}, { 1: [ SpeciesId.SPRIGATITO ], 16: [ SpeciesId.FLORAGATO ], 36: [ SpeciesId.MEOWSCARADA ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CHANSEY, Species.SYLVEON ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MELOETTA ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CHANSEY, SpeciesId.SYLVEON ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MELOETTA ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.LEDIAN, Species.GRANBULL, Species.DELCATTY, Species.ROSERADE, Species.CINCCINO, Species.BOUFFALANT, Species.ARBOLIVA ], - [TimeOfDay.DAY]: [ Species.GRANBULL, Species.DELCATTY, Species.ROSERADE, Species.CINCCINO, Species.BOUFFALANT, Species.ARBOLIVA ], + [TimeOfDay.DAWN]: [ SpeciesId.LEDIAN, SpeciesId.GRANBULL, SpeciesId.DELCATTY, SpeciesId.ROSERADE, SpeciesId.CINCCINO, SpeciesId.BOUFFALANT, SpeciesId.ARBOLIVA ], + [TimeOfDay.DAY]: [ SpeciesId.GRANBULL, SpeciesId.DELCATTY, SpeciesId.ROSERADE, SpeciesId.CINCCINO, SpeciesId.BOUFFALANT, SpeciesId.ARBOLIVA ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.TAUROS, Species.MILTANK, Species.GARDEVOIR, Species.PURUGLY, Species.ZEBSTRIKA, Species.FLORGES, Species.RIBOMBEE, Species.DUBWOOL ] + [TimeOfDay.ALL]: [ SpeciesId.TAUROS, SpeciesId.MILTANK, SpeciesId.GARDEVOIR, SpeciesId.PURUGLY, SpeciesId.ZEBSTRIKA, SpeciesId.FLORGES, SpeciesId.RIBOMBEE, SpeciesId.DUBWOOL ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ Species.HISUI_LILLIGANT ], [TimeOfDay.DAY]: [ Species.HISUI_LILLIGANT ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLISSEY, Species.SYLVEON, Species.FLAPPLE, Species.APPLETUN, Species.MEOWSCARADA, Species.HYDRAPPLE ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MELOETTA ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SHAYMIN ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [ SpeciesId.HISUI_LILLIGANT ], [TimeOfDay.DAY]: [ SpeciesId.HISUI_LILLIGANT ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.BLISSEY, SpeciesId.SYLVEON, SpeciesId.FLAPPLE, SpeciesId.APPLETUN, SpeciesId.MEOWSCARADA, SpeciesId.HYDRAPPLE ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MELOETTA ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SHAYMIN ]} }, - [Biome.POWER_PLANT]: { + [BiomeId.POWER_PLANT]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - Species.PIKACHU, - { 1: [ Species.MAGNEMITE ], 30: [ Species.MAGNETON ]}, - { 1: [ Species.VOLTORB ], 30: [ Species.ELECTRODE ]}, - { 1: [ Species.ELECTRIKE ], 26: [ Species.MANECTRIC ]}, - { 1: [ Species.SHINX ], 15: [ Species.LUXIO ], 30: [ Species.LUXRAY ]}, - Species.DEDENNE, - { 1: [ Species.GRUBBIN ], 20: [ Species.CHARJABUG ]}, - { 1: [ Species.PAWMI ], 18: [ Species.PAWMO ], 32: [ Species.PAWMOT ]}, - { 1: [ Species.TADBULB ], 30: [ Species.BELLIBOLT ]} + SpeciesId.PIKACHU, + { 1: [ SpeciesId.MAGNEMITE ], 30: [ SpeciesId.MAGNETON ]}, + { 1: [ SpeciesId.VOLTORB ], 30: [ SpeciesId.ELECTRODE ]}, + { 1: [ SpeciesId.ELECTRIKE ], 26: [ SpeciesId.MANECTRIC ]}, + { 1: [ SpeciesId.SHINX ], 15: [ SpeciesId.LUXIO ], 30: [ SpeciesId.LUXRAY ]}, + SpeciesId.DEDENNE, + { 1: [ SpeciesId.GRUBBIN ], 20: [ SpeciesId.CHARJABUG ]}, + { 1: [ SpeciesId.PAWMI ], 18: [ SpeciesId.PAWMO ], 32: [ SpeciesId.PAWMOT ]}, + { 1: [ SpeciesId.TADBULB ], 30: [ SpeciesId.BELLIBOLT ]} ] }, - [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ELECTABUZZ, Species.PLUSLE, Species.MINUN, Species.PACHIRISU, Species.EMOLGA, Species.TOGEDEMARU ]}, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.MAREEP ], 15: [ Species.FLAAFFY ]}]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.JOLTEON, Species.HISUI_VOLTORB ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.RAIKOU, Species.THUNDURUS, Species.XURKITREE, Species.ZERAORA, Species.REGIELEKI ]}, + [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ELECTABUZZ, SpeciesId.PLUSLE, SpeciesId.MINUN, SpeciesId.PACHIRISU, SpeciesId.EMOLGA, SpeciesId.TOGEDEMARU ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.MAREEP ], 15: [ SpeciesId.FLAAFFY ]}]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.JOLTEON, SpeciesId.HISUI_VOLTORB ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.RAIKOU, SpeciesId.THUNDURUS, SpeciesId.XURKITREE, SpeciesId.ZERAORA, SpeciesId.REGIELEKI ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.RAICHU, Species.MANECTRIC, Species.LUXRAY, Species.MAGNEZONE, Species.ELECTIVIRE, Species.DEDENNE, Species.VIKAVOLT, Species.TOGEDEMARU, Species.PAWMOT, Species.BELLIBOLT ] + [TimeOfDay.ALL]: [ SpeciesId.RAICHU, SpeciesId.MANECTRIC, SpeciesId.LUXRAY, SpeciesId.MAGNEZONE, SpeciesId.ELECTIVIRE, SpeciesId.DEDENNE, SpeciesId.VIKAVOLT, SpeciesId.TOGEDEMARU, SpeciesId.PAWMOT, SpeciesId.BELLIBOLT ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.JOLTEON, Species.AMPHAROS, Species.HISUI_ELECTRODE ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZAPDOS, Species.RAIKOU, Species.THUNDURUS, Species.XURKITREE, Species.ZERAORA, Species.REGIELEKI ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZEKROM ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.JOLTEON, SpeciesId.AMPHAROS, SpeciesId.HISUI_ELECTRODE ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ZAPDOS, SpeciesId.RAIKOU, SpeciesId.THUNDURUS, SpeciesId.XURKITREE, SpeciesId.ZERAORA, SpeciesId.REGIELEKI ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ZEKROM ]} }, - [Biome.VOLCANO]: { + [BiomeId.VOLCANO]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - Species.VULPIX, - Species.GROWLITHE, - { 1: [ Species.PONYTA ], 40: [ Species.RAPIDASH ]}, - { 1: [ Species.SLUGMA ], 38: [ Species.MAGCARGO ]}, - { 1: [ Species.NUMEL ], 33: [ Species.CAMERUPT ]}, - { 1: [ Species.SALANDIT ], 33: [ Species.SALAZZLE ]}, - { 1: [ Species.ROLYCOLY ], 18: [ Species.CARKOL ], 34: [ Species.COALOSSAL ]} + SpeciesId.VULPIX, + SpeciesId.GROWLITHE, + { 1: [ SpeciesId.PONYTA ], 40: [ SpeciesId.RAPIDASH ]}, + { 1: [ SpeciesId.SLUGMA ], 38: [ SpeciesId.MAGCARGO ]}, + { 1: [ SpeciesId.NUMEL ], 33: [ SpeciesId.CAMERUPT ]}, + { 1: [ SpeciesId.SALANDIT ], 33: [ SpeciesId.SALAZZLE ]}, + { 1: [ SpeciesId.ROLYCOLY ], 18: [ SpeciesId.CARKOL ], 34: [ SpeciesId.COALOSSAL ]} ] }, - [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MAGMAR, Species.TORKOAL, { 1: [ Species.PANSEAR ], 30: [ Species.SIMISEAR ]}, Species.HEATMOR, Species.TURTONATOR ]}, + [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MAGMAR, SpeciesId.TORKOAL, { 1: [ SpeciesId.PANSEAR ], 30: [ SpeciesId.SIMISEAR ]}, SpeciesId.HEATMOR, SpeciesId.TURTONATOR ]}, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.CHARMANDER ], 16: [ Species.CHARMELEON ], 36: [ Species.CHARIZARD ]}, - { 1: [ Species.CYNDAQUIL ], 14: [ Species.QUILAVA ], 36: [ Species.TYPHLOSION ]}, - { 1: [ Species.CHIMCHAR ], 14: [ Species.MONFERNO ], 36: [ Species.INFERNAPE ]}, - { 1: [ Species.TEPIG ], 17: [ Species.PIGNITE ], 36: [ Species.EMBOAR ]}, - { 1: [ Species.FENNEKIN ], 16: [ Species.BRAIXEN ], 36: [ Species.DELPHOX ]}, - { 1: [ Species.LITTEN ], 17: [ Species.TORRACAT ], 34: [ Species.INCINEROAR ]}, - { 1: [ Species.SCORBUNNY ], 16: [ Species.RABOOT ], 35: [ Species.CINDERACE ]}, - { 1: [ Species.CHARCADET ], 30: [ Species.ARMAROUGE ]} + { 1: [ SpeciesId.CHARMANDER ], 16: [ SpeciesId.CHARMELEON ], 36: [ SpeciesId.CHARIZARD ]}, + { 1: [ SpeciesId.CYNDAQUIL ], 14: [ SpeciesId.QUILAVA ], 36: [ SpeciesId.TYPHLOSION ]}, + { 1: [ SpeciesId.CHIMCHAR ], 14: [ SpeciesId.MONFERNO ], 36: [ SpeciesId.INFERNAPE ]}, + { 1: [ SpeciesId.TEPIG ], 17: [ SpeciesId.PIGNITE ], 36: [ SpeciesId.EMBOAR ]}, + { 1: [ SpeciesId.FENNEKIN ], 16: [ SpeciesId.BRAIXEN ], 36: [ SpeciesId.DELPHOX ]}, + { 1: [ SpeciesId.LITTEN ], 17: [ SpeciesId.TORRACAT ], 34: [ SpeciesId.INCINEROAR ]}, + { 1: [ SpeciesId.SCORBUNNY ], 16: [ SpeciesId.RABOOT ], 35: [ SpeciesId.CINDERACE ]}, + { 1: [ SpeciesId.CHARCADET ], 30: [ SpeciesId.ARMAROUGE ]} ] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.FLAREON, Species.ROTOM, { 1: [ Species.LARVESTA ], 59: [ Species.VOLCARONA ]}, Species.HISUI_GROWLITHE ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ENTEI, Species.HEATRAN, Species.VOLCANION, Species.CHI_YU ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.FLAREON, SpeciesId.ROTOM, { 1: [ SpeciesId.LARVESTA ], 59: [ SpeciesId.VOLCARONA ]}, SpeciesId.HISUI_GROWLITHE ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ENTEI, SpeciesId.HEATRAN, SpeciesId.VOLCANION, SpeciesId.CHI_YU ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.NINETALES, Species.ARCANINE, Species.RAPIDASH, Species.MAGCARGO, Species.CAMERUPT, Species.TORKOAL, Species.MAGMORTAR, Species.SIMISEAR, Species.HEATMOR, Species.SALAZZLE, Species.TURTONATOR, Species.COALOSSAL ] + [TimeOfDay.ALL]: [ SpeciesId.NINETALES, SpeciesId.ARCANINE, SpeciesId.RAPIDASH, SpeciesId.MAGCARGO, SpeciesId.CAMERUPT, SpeciesId.TORKOAL, SpeciesId.MAGMORTAR, SpeciesId.SIMISEAR, SpeciesId.HEATMOR, SpeciesId.SALAZZLE, SpeciesId.TURTONATOR, SpeciesId.COALOSSAL ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.CHARIZARD, Species.FLAREON, Species.TYPHLOSION, Species.INFERNAPE, Species.EMBOAR, Species.VOLCARONA, Species.DELPHOX, Species.INCINEROAR, Species.CINDERACE, Species.ARMAROUGE, Species.HISUI_ARCANINE ] + [TimeOfDay.ALL]: [ SpeciesId.CHARIZARD, SpeciesId.FLAREON, SpeciesId.TYPHLOSION, SpeciesId.INFERNAPE, SpeciesId.EMBOAR, SpeciesId.VOLCARONA, SpeciesId.DELPHOX, SpeciesId.INCINEROAR, SpeciesId.CINDERACE, SpeciesId.ARMAROUGE, SpeciesId.HISUI_ARCANINE ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MOLTRES, Species.ENTEI, Species.ROTOM, Species.HEATRAN, Species.VOLCANION, Species.CHI_YU ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.RESHIRAM ]} + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MOLTRES, SpeciesId.ENTEI, SpeciesId.ROTOM, SpeciesId.HEATRAN, SpeciesId.VOLCANION, SpeciesId.CHI_YU ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.RESHIRAM ]} }, - [Biome.GRAVEYARD]: { + [BiomeId.GRAVEYARD]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.GASTLY ], 25: [ Species.HAUNTER ]}, - { 1: [ Species.SHUPPET ], 37: [ Species.BANETTE ]}, - { 1: [ Species.DUSKULL ], 37: [ Species.DUSCLOPS ]}, - { 1: [ Species.DRIFLOON ], 28: [ Species.DRIFBLIM ]}, - { 1: [ Species.LITWICK ], 41: [ Species.LAMPENT ]}, - Species.PHANTUMP, - Species.PUMPKABOO, - { 1: [ Species.GREAVARD ], 60: [ Species.HOUNDSTONE ]} + { 1: [ SpeciesId.GASTLY ], 25: [ SpeciesId.HAUNTER ]}, + { 1: [ SpeciesId.SHUPPET ], 37: [ SpeciesId.BANETTE ]}, + { 1: [ SpeciesId.DUSKULL ], 37: [ SpeciesId.DUSCLOPS ]}, + { 1: [ SpeciesId.DRIFLOON ], 28: [ SpeciesId.DRIFBLIM ]}, + { 1: [ SpeciesId.LITWICK ], 41: [ SpeciesId.LAMPENT ]}, + SpeciesId.PHANTUMP, + SpeciesId.PUMPKABOO, + { 1: [ SpeciesId.GREAVARD ], 60: [ SpeciesId.HOUNDSTONE ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -1079,34 +1079,34 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.CUBONE ], 28: [ Species.MAROWAK ]}, { 1: [ Species.YAMASK ], 34: [ Species.COFAGRIGUS ]}, { 1: [ Species.SINISTEA ], 30: [ Species.POLTEAGEIST ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.CUBONE ], 28: [ SpeciesId.MAROWAK ]}, { 1: [ SpeciesId.YAMASK ], 34: [ SpeciesId.COFAGRIGUS ]}, { 1: [ SpeciesId.SINISTEA ], 30: [ SpeciesId.POLTEAGEIST ]}] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MISDREAVUS, Species.MIMIKYU, { 1: [ Species.FUECOCO ], 16: [ Species.CROCALOR ], 36: [ Species.SKELEDIRGE ]}, Species.CERULEDGE ]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SPIRITOMB ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MARSHADOW, Species.SPECTRIER ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MISDREAVUS, SpeciesId.MIMIKYU, { 1: [ SpeciesId.FUECOCO ], 16: [ SpeciesId.CROCALOR ], 36: [ SpeciesId.SKELEDIRGE ]}, SpeciesId.CERULEDGE ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SPIRITOMB ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MARSHADOW, SpeciesId.SPECTRIER ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.MAROWAK ], - [TimeOfDay.DAY]: [ Species.MAROWAK ], - [TimeOfDay.DUSK]: [ Species.MAROWAK ], + [TimeOfDay.DAWN]: [ SpeciesId.MAROWAK ], + [TimeOfDay.DAY]: [ SpeciesId.MAROWAK ], + [TimeOfDay.DUSK]: [ SpeciesId.MAROWAK ], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.GENGAR, Species.BANETTE, Species.DRIFBLIM, Species.MISMAGIUS, Species.DUSKNOIR, Species.CHANDELURE, Species.TREVENANT, Species.GOURGEIST, Species.MIMIKYU, Species.POLTEAGEIST, Species.HOUNDSTONE ] + [TimeOfDay.ALL]: [ SpeciesId.GENGAR, SpeciesId.BANETTE, SpeciesId.DRIFBLIM, SpeciesId.MISMAGIUS, SpeciesId.DUSKNOIR, SpeciesId.CHANDELURE, SpeciesId.TREVENANT, SpeciesId.GOURGEIST, SpeciesId.MIMIKYU, SpeciesId.POLTEAGEIST, SpeciesId.HOUNDSTONE ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.SKELEDIRGE, Species.CERULEDGE, Species.HISUI_TYPHLOSION ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MARSHADOW, Species.SPECTRIER ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GIRATINA ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.SKELEDIRGE, SpeciesId.CERULEDGE, SpeciesId.HISUI_TYPHLOSION ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MARSHADOW, SpeciesId.SPECTRIER ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GIRATINA ]} }, - [Biome.DOJO]: { + [BiomeId.DOJO]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.MANKEY ], 28: [ Species.PRIMEAPE ], 75: [ Species.ANNIHILAPE ]}, - { 1: [ Species.MAKUHITA ], 24: [ Species.HARIYAMA ]}, - { 1: [ Species.MEDITITE ], 37: [ Species.MEDICHAM ]}, - { 1: [ Species.STUFFUL ], 27: [ Species.BEWEAR ]}, - { 1: [ Species.CLOBBOPUS ], 55: [ Species.GRAPPLOCT ]} + { 1: [ SpeciesId.MANKEY ], 28: [ SpeciesId.PRIMEAPE ], 75: [ SpeciesId.ANNIHILAPE ]}, + { 1: [ SpeciesId.MAKUHITA ], 24: [ SpeciesId.HARIYAMA ]}, + { 1: [ SpeciesId.MEDITITE ], 37: [ SpeciesId.MEDICHAM ]}, + { 1: [ SpeciesId.STUFFUL ], 27: [ SpeciesId.BEWEAR ]}, + { 1: [ SpeciesId.CLOBBOPUS ], 55: [ SpeciesId.GRAPPLOCT ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -1114,58 +1114,58 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.CROAGUNK ], 37: [ Species.TOXICROAK ]}, { 1: [ Species.SCRAGGY ], 39: [ Species.SCRAFTY ]}, { 1: [ Species.MIENFOO ], 50: [ Species.MIENSHAO ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.CROAGUNK ], 37: [ SpeciesId.TOXICROAK ]}, { 1: [ SpeciesId.SCRAGGY ], 39: [ SpeciesId.SCRAFTY ]}, { 1: [ SpeciesId.MIENFOO ], 50: [ SpeciesId.MIENSHAO ]}] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HITMONLEE, Species.HITMONCHAN, Species.LUCARIO, Species.THROH, Species.SAWK, { 1: [ Species.PANCHAM ], 52: [ Species.PANGORO ]}]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HITMONTOP, Species.GALLADE, Species.GALAR_FARFETCHD ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TERRAKION, Species.KUBFU, Species.GALAR_ZAPDOS ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.HITMONLEE, SpeciesId.HITMONCHAN, SpeciesId.LUCARIO, SpeciesId.THROH, SpeciesId.SAWK, { 1: [ SpeciesId.PANCHAM ], 52: [ SpeciesId.PANGORO ]}]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.HITMONTOP, SpeciesId.GALLADE, SpeciesId.GALAR_FARFETCHD ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.TERRAKION, SpeciesId.KUBFU, SpeciesId.GALAR_ZAPDOS ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.HITMONLEE, Species.HITMONCHAN, Species.HARIYAMA, Species.MEDICHAM, Species.LUCARIO, Species.TOXICROAK, Species.THROH, Species.SAWK, Species.SCRAFTY, Species.MIENSHAO, Species.BEWEAR, Species.GRAPPLOCT, Species.ANNIHILAPE ] + [TimeOfDay.ALL]: [ SpeciesId.HITMONLEE, SpeciesId.HITMONCHAN, SpeciesId.HARIYAMA, SpeciesId.MEDICHAM, SpeciesId.LUCARIO, SpeciesId.TOXICROAK, SpeciesId.THROH, SpeciesId.SAWK, SpeciesId.SCRAFTY, SpeciesId.MIENSHAO, SpeciesId.BEWEAR, SpeciesId.GRAPPLOCT, SpeciesId.ANNIHILAPE ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HITMONTOP, Species.GALLADE, Species.PANGORO, Species.SIRFETCHD, Species.HISUI_DECIDUEYE ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TERRAKION, Species.URSHIFU ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZAMAZENTA, Species.GALAR_ZAPDOS ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.HITMONTOP, SpeciesId.GALLADE, SpeciesId.PANGORO, SpeciesId.SIRFETCHD, SpeciesId.HISUI_DECIDUEYE ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.TERRAKION, SpeciesId.URSHIFU ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ZAMAZENTA, SpeciesId.GALAR_ZAPDOS ]} }, - [Biome.FACTORY]: { + [BiomeId.FACTORY]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.MACHOP ], 28: [ Species.MACHOKE ]}, - { 1: [ Species.MAGNEMITE ], 30: [ Species.MAGNETON ]}, - { 1: [ Species.VOLTORB ], 30: [ Species.ELECTRODE ]}, - { 1: [ Species.TIMBURR ], 25: [ Species.GURDURR ]}, - { 1: [ Species.KLINK ], 38: [ Species.KLANG ], 49: [ Species.KLINKLANG ]} + { 1: [ SpeciesId.MACHOP ], 28: [ SpeciesId.MACHOKE ]}, + { 1: [ SpeciesId.MAGNEMITE ], 30: [ SpeciesId.MAGNETON ]}, + { 1: [ SpeciesId.VOLTORB ], 30: [ SpeciesId.ELECTRODE ]}, + { 1: [ SpeciesId.TIMBURR ], 25: [ SpeciesId.GURDURR ]}, + { 1: [ SpeciesId.KLINK ], 38: [ SpeciesId.KLANG ], 49: [ SpeciesId.KLINKLANG ]} ] }, - [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.BRONZOR ], 33: [ Species.BRONZONG ]}, Species.KLEFKI ]}, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.PORYGON ], 30: [ Species.PORYGON2 ]}]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.BELDUM ], 20: [ Species.METANG ], 45: [ Species.METAGROSS ]}]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GENESECT, Species.MAGEARNA ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KLINKLANG, Species.KLEFKI ]}, + [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.BRONZOR ], 33: [ SpeciesId.BRONZONG ]}, SpeciesId.KLEFKI ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.PORYGON ], 30: [ SpeciesId.PORYGON2 ]}]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.BELDUM ], 20: [ SpeciesId.METANG ], 45: [ SpeciesId.METAGROSS ]}]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GENESECT, SpeciesId.MAGEARNA ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KLINKLANG, SpeciesId.KLEFKI ]}, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GENESECT, Species.MAGEARNA ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GENESECT, SpeciesId.MAGEARNA ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.RUINS]: { + [BiomeId.RUINS]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.DROWZEE ], 26: [ Species.HYPNO ]}, - { 1: [ Species.NATU ], 25: [ Species.XATU ]}, - Species.UNOWN, - { 1: [ Species.SPOINK ], 32: [ Species.GRUMPIG ]}, - { 1: [ Species.BALTOY ], 36: [ Species.CLAYDOL ]}, - { 1: [ Species.ELGYEM ], 42: [ Species.BEHEEYEM ]} + { 1: [ SpeciesId.DROWZEE ], 26: [ SpeciesId.HYPNO ]}, + { 1: [ SpeciesId.NATU ], 25: [ SpeciesId.XATU ]}, + SpeciesId.UNOWN, + { 1: [ SpeciesId.SPOINK ], 32: [ SpeciesId.GRUMPIG ]}, + { 1: [ SpeciesId.BALTOY ], 36: [ SpeciesId.CLAYDOL ]}, + { 1: [ SpeciesId.ELGYEM ], 42: [ SpeciesId.BEHEEYEM ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -1173,84 +1173,84 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.ABRA ], 16: [ Species.KADABRA ]}, Species.SIGILYPH, { 1: [ Species.TINKATINK ], 24: [ Species.TINKATUFF ], 38: [ Species.TINKATON ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.ABRA ], 16: [ SpeciesId.KADABRA ]}, SpeciesId.SIGILYPH, { 1: [ SpeciesId.TINKATINK ], 24: [ SpeciesId.TINKATUFF ], 38: [ SpeciesId.TINKATON ]}] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MR_MIME, Species.WOBBUFFET, { 1: [ Species.GOTHITA ], 32: [ Species.GOTHORITA ], 41: [ Species.GOTHITELLE ]}, Species.STONJOURNER ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MR_MIME, SpeciesId.WOBBUFFET, { 1: [ SpeciesId.GOTHITA ], 32: [ SpeciesId.GOTHORITA ], 41: [ SpeciesId.GOTHITELLE ]}, SpeciesId.STONJOURNER ]}, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], - [TimeOfDay.DAY]: [ Species.ESPEON ], - [TimeOfDay.DUSK]: [{ 1: [ Species.GALAR_YAMASK ], 34: [ Species.RUNERIGUS ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.GALAR_YAMASK ], 34: [ Species.RUNERIGUS ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.ARCHEN ], 37: [ Species.ARCHEOPS ]}] + [TimeOfDay.DAY]: [ SpeciesId.ESPEON ], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.GALAR_YAMASK ], 34: [ SpeciesId.RUNERIGUS ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.GALAR_YAMASK ], 34: [ SpeciesId.RUNERIGUS ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.ARCHEN ], 37: [ SpeciesId.ARCHEOPS ]}] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ALAKAZAM, Species.HYPNO, Species.XATU, Species.GRUMPIG, Species.CLAYDOL, Species.SIGILYPH, Species.GOTHITELLE, Species.BEHEEYEM, Species.TINKATON ]}, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.ESPEON ], [TimeOfDay.DUSK]: [ Species.RUNERIGUS ], [TimeOfDay.NIGHT]: [ Species.RUNERIGUS ], [TimeOfDay.ALL]: [ Species.MR_MIME, Species.WOBBUFFET, Species.ARCHEOPS ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGISTEEL, Species.FEZANDIPITI ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KORAIDON ]} + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.REGISTEEL, SpeciesId.FEZANDIPITI ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ALAKAZAM, SpeciesId.HYPNO, SpeciesId.XATU, SpeciesId.GRUMPIG, SpeciesId.CLAYDOL, SpeciesId.SIGILYPH, SpeciesId.GOTHITELLE, SpeciesId.BEHEEYEM, SpeciesId.TINKATON ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ SpeciesId.ESPEON ], [TimeOfDay.DUSK]: [ SpeciesId.RUNERIGUS ], [TimeOfDay.NIGHT]: [ SpeciesId.RUNERIGUS ], [TimeOfDay.ALL]: [ SpeciesId.MR_MIME, SpeciesId.WOBBUFFET, SpeciesId.ARCHEOPS ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.REGISTEEL, SpeciesId.FEZANDIPITI ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KORAIDON ]} }, - [Biome.WASTELAND]: { + [BiomeId.WASTELAND]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [ - { 1: [ Species.BAGON ], 30: [ Species.SHELGON ], 50: [ Species.SALAMENCE ]}, - { 1: [ Species.GOOMY ], 40: [ Species.SLIGGOO ], 80: [ Species.GOODRA ]}, - { 1: [ Species.JANGMO_O ], 35: [ Species.HAKAMO_O ], 45: [ Species.KOMMO_O ]} + { 1: [ SpeciesId.BAGON ], 30: [ SpeciesId.SHELGON ], 50: [ SpeciesId.SALAMENCE ]}, + { 1: [ SpeciesId.GOOMY ], 40: [ SpeciesId.SLIGGOO ], 80: [ SpeciesId.GOODRA ]}, + { 1: [ SpeciesId.JANGMO_O ], 35: [ SpeciesId.HAKAMO_O ], 45: [ SpeciesId.KOMMO_O ]} ], [TimeOfDay.DAY]: [ - { 1: [ Species.BAGON ], 30: [ Species.SHELGON ], 50: [ Species.SALAMENCE ]}, - { 1: [ Species.GOOMY ], 40: [ Species.SLIGGOO ], 80: [ Species.GOODRA ]}, - { 1: [ Species.JANGMO_O ], 35: [ Species.HAKAMO_O ], 45: [ Species.KOMMO_O ]} + { 1: [ SpeciesId.BAGON ], 30: [ SpeciesId.SHELGON ], 50: [ SpeciesId.SALAMENCE ]}, + { 1: [ SpeciesId.GOOMY ], 40: [ SpeciesId.SLIGGOO ], 80: [ SpeciesId.GOODRA ]}, + { 1: [ SpeciesId.JANGMO_O ], 35: [ SpeciesId.HAKAMO_O ], 45: [ SpeciesId.KOMMO_O ]} ], - [TimeOfDay.DUSK]: [{ 1: [ Species.LARVITAR ], 30: [ Species.PUPITAR ], 55: [ Species.TYRANITAR ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.LARVITAR ], 30: [ Species.PUPITAR ], 55: [ Species.TYRANITAR ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.LARVITAR ], 30: [ SpeciesId.PUPITAR ], 55: [ SpeciesId.TYRANITAR ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.LARVITAR ], 30: [ SpeciesId.PUPITAR ], 55: [ SpeciesId.TYRANITAR ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.VIBRAVA ], 45: [ Species.FLYGON ]}, - { 1: [ Species.GIBLE ], 24: [ Species.GABITE ], 48: [ Species.GARCHOMP ]}, - { 1: [ Species.AXEW ], 38: [ Species.FRAXURE ], 48: [ Species.HAXORUS ]} + { 1: [ SpeciesId.VIBRAVA ], 45: [ SpeciesId.FLYGON ]}, + { 1: [ SpeciesId.GIBLE ], 24: [ SpeciesId.GABITE ], 48: [ SpeciesId.GARCHOMP ]}, + { 1: [ SpeciesId.AXEW ], 38: [ SpeciesId.FRAXURE ], 48: [ SpeciesId.HAXORUS ]} ] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [{ 1: [ Species.DEINO ], 50: [ Species.ZWEILOUS ], 64: [ Species.HYDREIGON ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.DEINO ], 50: [ Species.ZWEILOUS ], 64: [ Species.HYDREIGON ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.SWABLU ], 35: [ Species.ALTARIA ]}, Species.DRAMPA, Species.CYCLIZAR ] + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.DEINO ], 50: [ SpeciesId.ZWEILOUS ], 64: [ SpeciesId.HYDREIGON ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.DEINO ], 50: [ SpeciesId.ZWEILOUS ], 64: [ SpeciesId.HYDREIGON ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.SWABLU ], 35: [ SpeciesId.ALTARIA ]}, SpeciesId.DRAMPA, SpeciesId.CYCLIZAR ] }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [{ 1: [ Species.DREEPY ], 50: [ Species.DRAKLOAK ], 60: [ Species.DRAGAPULT ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.DREEPY ], 50: [ Species.DRAKLOAK ], 60: [ Species.DRAGAPULT ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.DRATINI ], 30: [ Species.DRAGONAIR ], 55: [ Species.DRAGONITE ]}, { 1: [ Species.FRIGIBAX ], 35: [ Species.ARCTIBAX ], 54: [ Species.BAXCALIBUR ]}] + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.DREEPY ], 50: [ SpeciesId.DRAKLOAK ], 60: [ SpeciesId.DRAGAPULT ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.DREEPY ], 50: [ SpeciesId.DRAKLOAK ], 60: [ SpeciesId.DRAGAPULT ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.DRATINI ], 30: [ SpeciesId.DRAGONAIR ], 55: [ SpeciesId.DRAGONITE ]}, { 1: [ SpeciesId.FRIGIBAX ], 35: [ SpeciesId.ARCTIBAX ], 54: [ SpeciesId.BAXCALIBUR ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.AERODACTYL, Species.DRUDDIGON, { 1: [ Species.TYRUNT ], 59: [ Species.TYRANTRUM ]}, Species.DRACOZOLT, Species.DRACOVISH ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIDRAGO ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.AERODACTYL, SpeciesId.DRUDDIGON, { 1: [ SpeciesId.TYRUNT ], 59: [ SpeciesId.TYRANTRUM ]}, SpeciesId.DRACOZOLT, SpeciesId.DRACOVISH ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.REGIDRAGO ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.SALAMENCE, Species.GOODRA, Species.KOMMO_O ], - [TimeOfDay.DAY]: [ Species.SALAMENCE, Species.GOODRA, Species.KOMMO_O ], - [TimeOfDay.DUSK]: [ Species.TYRANITAR, Species.DRAGAPULT ], - [TimeOfDay.NIGHT]: [ Species.TYRANITAR, Species.DRAGAPULT ], - [TimeOfDay.ALL]: [ Species.DRAGONITE, Species.FLYGON, Species.GARCHOMP, Species.HAXORUS, Species.DRAMPA, Species.BAXCALIBUR ] + [TimeOfDay.DAWN]: [ SpeciesId.SALAMENCE, SpeciesId.GOODRA, SpeciesId.KOMMO_O ], + [TimeOfDay.DAY]: [ SpeciesId.SALAMENCE, SpeciesId.GOODRA, SpeciesId.KOMMO_O ], + [TimeOfDay.DUSK]: [ SpeciesId.TYRANITAR, SpeciesId.DRAGAPULT ], + [TimeOfDay.NIGHT]: [ SpeciesId.TYRANITAR, SpeciesId.DRAGAPULT ], + [TimeOfDay.ALL]: [ SpeciesId.DRAGONITE, SpeciesId.FLYGON, SpeciesId.GARCHOMP, SpeciesId.HAXORUS, SpeciesId.DRAMPA, SpeciesId.BAXCALIBUR ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.AERODACTYL, Species.DRUDDIGON, Species.TYRANTRUM, Species.DRACOZOLT, Species.DRACOVISH ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIDRAGO ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DIALGA ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.AERODACTYL, SpeciesId.DRUDDIGON, SpeciesId.TYRANTRUM, SpeciesId.DRACOZOLT, SpeciesId.DRACOVISH ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.REGIDRAGO ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DIALGA ]} }, - [Biome.ABYSS]: { + [BiomeId.ABYSS]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - Species.MURKROW, - { 1: [ Species.HOUNDOUR ], 24: [ Species.HOUNDOOM ]}, - Species.SABLEYE, - { 1: [ Species.PURRLOIN ], 20: [ Species.LIEPARD ]}, - { 1: [ Species.PAWNIARD ], 52: [ Species.BISHARP ], 64: [ Species.KINGAMBIT ]}, - { 1: [ Species.NICKIT ], 18: [ Species.THIEVUL ]}, - { 1: [ Species.IMPIDIMP ], 32: [ Species.MORGREM ], 42: [ Species.GRIMMSNARL ]}, - { 1: [ Species.MASCHIFF ], 30: [ Species.MABOSSTIFF ]} + SpeciesId.MURKROW, + { 1: [ SpeciesId.HOUNDOUR ], 24: [ SpeciesId.HOUNDOOM ]}, + SpeciesId.SABLEYE, + { 1: [ SpeciesId.PURRLOIN ], 20: [ SpeciesId.LIEPARD ]}, + { 1: [ SpeciesId.PAWNIARD ], 52: [ SpeciesId.BISHARP ], 64: [ SpeciesId.KINGAMBIT ]}, + { 1: [ SpeciesId.NICKIT ], 18: [ SpeciesId.THIEVUL ]}, + { 1: [ SpeciesId.IMPIDIMP ], 32: [ SpeciesId.MORGREM ], 42: [ SpeciesId.GRIMMSNARL ]}, + { 1: [ SpeciesId.MASCHIFF ], 30: [ SpeciesId.MABOSSTIFF ]} ] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, @@ -1259,55 +1259,55 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.ABSOL, Species.SPIRITOMB, { 1: [ Species.ZORUA ], 30: [ Species.ZOROARK ]}, { 1: [ Species.DEINO ], 50: [ Species.ZWEILOUS ], 64: [ Species.HYDREIGON ]}] + [TimeOfDay.ALL]: [ SpeciesId.ABSOL, SpeciesId.SPIRITOMB, { 1: [ SpeciesId.ZORUA ], 30: [ SpeciesId.ZOROARK ]}, { 1: [ SpeciesId.DEINO ], 50: [ SpeciesId.ZWEILOUS ], 64: [ SpeciesId.HYDREIGON ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.UMBREON ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI, Species.GALAR_MOLTRES ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.UMBREON ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DARKRAI, SpeciesId.GALAR_MOLTRES ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.HOUNDOOM, Species.SABLEYE, Species.ABSOL, Species.HONCHKROW, Species.SPIRITOMB, Species.LIEPARD, Species.ZOROARK, Species.HYDREIGON, Species.THIEVUL, Species.GRIMMSNARL, Species.MABOSSTIFF, Species.KINGAMBIT ] + [TimeOfDay.ALL]: [ SpeciesId.HOUNDOOM, SpeciesId.SABLEYE, SpeciesId.ABSOL, SpeciesId.HONCHKROW, SpeciesId.SPIRITOMB, SpeciesId.LIEPARD, SpeciesId.ZOROARK, SpeciesId.HYDREIGON, SpeciesId.THIEVUL, SpeciesId.GRIMMSNARL, SpeciesId.MABOSSTIFF, SpeciesId.KINGAMBIT ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.UMBREON, Species.HISUI_SAMUROTT ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DARKRAI ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.PALKIA, Species.YVELTAL, Species.GALAR_MOLTRES ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.UMBREON, SpeciesId.HISUI_SAMUROTT ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DARKRAI ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.PALKIA, SpeciesId.YVELTAL, SpeciesId.GALAR_MOLTRES ]} }, - [Biome.SPACE]: { + [BiomeId.SPACE]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], - [TimeOfDay.DAY]: [ Species.SOLROCK ], + [TimeOfDay.DAY]: [ SpeciesId.SOLROCK ], [TimeOfDay.DUSK]: [], - [TimeOfDay.NIGHT]: [ Species.LUNATONE ], - [TimeOfDay.ALL]: [ Species.CLEFAIRY, { 1: [ Species.BRONZOR ], 33: [ Species.BRONZONG ]}, { 1: [ Species.MUNNA ], 30: [ Species.MUSHARNA ]}, Species.MINIOR ] + [TimeOfDay.NIGHT]: [ SpeciesId.LUNATONE ], + [TimeOfDay.ALL]: [ SpeciesId.CLEFAIRY, { 1: [ SpeciesId.BRONZOR ], 33: [ SpeciesId.BRONZONG ]}, { 1: [ SpeciesId.MUNNA ], 30: [ SpeciesId.MUSHARNA ]}, SpeciesId.MINIOR ] }, - [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.BALTOY ], 36: [ Species.CLAYDOL ]}, { 1: [ Species.ELGYEM ], 42: [ Species.BEHEEYEM ]}]}, + [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.BALTOY ], 36: [ SpeciesId.CLAYDOL ]}, { 1: [ SpeciesId.ELGYEM ], 42: [ SpeciesId.BEHEEYEM ]}]}, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [{ 1: [ Species.BELDUM ], 20: [ Species.METANG ], 45: [ Species.METAGROSS ]}, Species.SIGILYPH, { 1: [ Species.SOLOSIS ], 32: [ Species.DUOSION ], 41: [ Species.REUNICLUS ]}] + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.BELDUM ], 20: [ SpeciesId.METANG ], 45: [ SpeciesId.METAGROSS ]}, SpeciesId.SIGILYPH, { 1: [ SpeciesId.SOLOSIS ], 32: [ SpeciesId.DUOSION ], 41: [ SpeciesId.REUNICLUS ]}] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.PORYGON ], 30: [ Species.PORYGON2 ]}]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.COSMOG ], 43: [ Species.COSMOEM ]}, Species.CELESTEELA ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.SOLROCK ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ Species.LUNATONE ], [TimeOfDay.ALL]: [ Species.CLEFABLE, Species.BRONZONG, Species.MUSHARNA, Species.REUNICLUS, Species.MINIOR ]}, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.METAGROSS, Species.PORYGON_Z ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CELESTEELA ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ Species.SOLGALEO ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ Species.LUNALA ], [TimeOfDay.ALL]: [ Species.RAYQUAZA, Species.NECROZMA ]} + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.PORYGON ], 30: [ SpeciesId.PORYGON2 ]}]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.COSMOG ], 43: [ SpeciesId.COSMOEM ]}, SpeciesId.CELESTEELA ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ SpeciesId.SOLROCK ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ SpeciesId.LUNATONE ], [TimeOfDay.ALL]: [ SpeciesId.CLEFABLE, SpeciesId.BRONZONG, SpeciesId.MUSHARNA, SpeciesId.REUNICLUS, SpeciesId.MINIOR ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.METAGROSS, SpeciesId.PORYGON_Z ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CELESTEELA ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [ SpeciesId.SOLGALEO ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [ SpeciesId.LUNALA ], [TimeOfDay.ALL]: [ SpeciesId.RAYQUAZA, SpeciesId.NECROZMA ]} }, - [Biome.CONSTRUCTION_SITE]: { + [BiomeId.CONSTRUCTION_SITE]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.MACHOP ], 28: [ Species.MACHOKE ]}, - { 1: [ Species.MAGNEMITE ], 30: [ Species.MAGNETON ]}, - { 1: [ Species.DRILBUR ], 31: [ Species.EXCADRILL ]}, - { 1: [ Species.TIMBURR ], 25: [ Species.GURDURR ]} + { 1: [ SpeciesId.MACHOP ], 28: [ SpeciesId.MACHOKE ]}, + { 1: [ SpeciesId.MAGNEMITE ], 30: [ SpeciesId.MAGNETON ]}, + { 1: [ SpeciesId.DRILBUR ], 31: [ SpeciesId.EXCADRILL ]}, + { 1: [ SpeciesId.TIMBURR ], 25: [ SpeciesId.GURDURR ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -1316,92 +1316,92 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.GRIMER ], 38: [ Species.MUK ]}, - { 1: [ Species.KOFFING ], 35: [ Species.WEEZING ]}, - { 1: [ Species.RHYHORN ], 42: [ Species.RHYDON ]}, - { 1: [ Species.SCRAGGY ], 39: [ Species.SCRAFTY ]} + { 1: [ SpeciesId.GRIMER ], 38: [ SpeciesId.MUK ]}, + { 1: [ SpeciesId.KOFFING ], 35: [ SpeciesId.WEEZING ]}, + { 1: [ SpeciesId.RHYHORN ], 42: [ SpeciesId.RHYDON ]}, + { 1: [ SpeciesId.SCRAGGY ], 39: [ SpeciesId.SCRAFTY ]} ] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [{ 1: [ Species.GALAR_MEOWTH ], 28: [ Species.PERRSERKER ]}], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ONIX, Species.HITMONLEE, Species.HITMONCHAN, Species.DURALUDON ]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DITTO, Species.HITMONTOP ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION, Species.STAKATAKA ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MACHAMP, Species.CONKELDURR ]}, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.PERRSERKER ], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ARCHALUDON ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.COBALION, Species.STAKATAKA ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.GALAR_MEOWTH ], 28: [ SpeciesId.PERRSERKER ]}], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ONIX, SpeciesId.HITMONLEE, SpeciesId.HITMONCHAN, SpeciesId.DURALUDON ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DITTO, SpeciesId.HITMONTOP ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.COBALION, SpeciesId.STAKATAKA ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MACHAMP, SpeciesId.CONKELDURR ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ SpeciesId.PERRSERKER ], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ARCHALUDON ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.COBALION, SpeciesId.STAKATAKA ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.JUNGLE]: { + [BiomeId.JUNGLE]: { [BiomePoolTier.COMMON]: { - [TimeOfDay.DAWN]: [ Species.VESPIQUEN, { 1: [ Species.CHERUBI ], 25: [ Species.CHERRIM ]}, { 1: [ Species.SEWADDLE ], 20: [ Species.SWADLOON ], 30: [ Species.LEAVANNY ]}], - [TimeOfDay.DAY]: [ Species.VESPIQUEN, { 1: [ Species.CHERUBI ], 25: [ Species.CHERRIM ]}, { 1: [ Species.SEWADDLE ], 20: [ Species.SWADLOON ], 30: [ Species.LEAVANNY ]}], - [TimeOfDay.DUSK]: [ Species.SHROOMISH, { 1: [ Species.PURRLOIN ], 20: [ Species.LIEPARD ]}, { 1: [ Species.FOONGUS ], 39: [ Species.AMOONGUSS ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.SPINARAK ], 22: [ Species.ARIADOS ]}, Species.SHROOMISH, { 1: [ Species.PURRLOIN ], 20: [ Species.LIEPARD ]}, { 1: [ Species.FOONGUS ], 39: [ Species.AMOONGUSS ]}], - [TimeOfDay.ALL]: [ Species.AIPOM, { 1: [ Species.BLITZLE ], 27: [ Species.ZEBSTRIKA ]}, { 1: [ Species.PIKIPEK ], 14: [ Species.TRUMBEAK ], 28: [ Species.TOUCANNON ]}] + [TimeOfDay.DAWN]: [ SpeciesId.VESPIQUEN, { 1: [ SpeciesId.CHERUBI ], 25: [ SpeciesId.CHERRIM ]}, { 1: [ SpeciesId.SEWADDLE ], 20: [ SpeciesId.SWADLOON ], 30: [ SpeciesId.LEAVANNY ]}], + [TimeOfDay.DAY]: [ SpeciesId.VESPIQUEN, { 1: [ SpeciesId.CHERUBI ], 25: [ SpeciesId.CHERRIM ]}, { 1: [ SpeciesId.SEWADDLE ], 20: [ SpeciesId.SWADLOON ], 30: [ SpeciesId.LEAVANNY ]}], + [TimeOfDay.DUSK]: [ SpeciesId.SHROOMISH, { 1: [ SpeciesId.PURRLOIN ], 20: [ SpeciesId.LIEPARD ]}, { 1: [ SpeciesId.FOONGUS ], 39: [ SpeciesId.AMOONGUSS ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.SPINARAK ], 22: [ SpeciesId.ARIADOS ]}, SpeciesId.SHROOMISH, { 1: [ SpeciesId.PURRLOIN ], 20: [ SpeciesId.LIEPARD ]}, { 1: [ SpeciesId.FOONGUS ], 39: [ SpeciesId.AMOONGUSS ]}], + [TimeOfDay.ALL]: [ SpeciesId.AIPOM, { 1: [ SpeciesId.BLITZLE ], 27: [ SpeciesId.ZEBSTRIKA ]}, { 1: [ SpeciesId.PIKIPEK ], 14: [ SpeciesId.TRUMBEAK ], 28: [ SpeciesId.TOUCANNON ]}] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [ Species.EXEGGCUTE, Species.TROPIUS, Species.COMBEE, Species.KOMALA ], - [TimeOfDay.DAY]: [ Species.EXEGGCUTE, Species.TROPIUS, Species.COMBEE, Species.KOMALA ], - [TimeOfDay.DUSK]: [ Species.TANGELA, { 1: [ Species.SPINARAK ], 22: [ Species.ARIADOS ]}, { 1: [ Species.PANCHAM ], 52: [ Species.PANGORO ]}], - [TimeOfDay.NIGHT]: [ Species.TANGELA, { 1: [ Species.PANCHAM ], 52: [ Species.PANGORO ]}], + [TimeOfDay.DAWN]: [ SpeciesId.EXEGGCUTE, SpeciesId.TROPIUS, SpeciesId.COMBEE, SpeciesId.KOMALA ], + [TimeOfDay.DAY]: [ SpeciesId.EXEGGCUTE, SpeciesId.TROPIUS, SpeciesId.COMBEE, SpeciesId.KOMALA ], + [TimeOfDay.DUSK]: [ SpeciesId.TANGELA, { 1: [ SpeciesId.SPINARAK ], 22: [ SpeciesId.ARIADOS ]}, { 1: [ SpeciesId.PANCHAM ], 52: [ SpeciesId.PANGORO ]}], + [TimeOfDay.NIGHT]: [ SpeciesId.TANGELA, { 1: [ SpeciesId.PANCHAM ], 52: [ SpeciesId.PANGORO ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.PANSAGE ], 30: [ Species.SIMISAGE ]}, - { 1: [ Species.PANSEAR ], 30: [ Species.SIMISEAR ]}, - { 1: [ Species.PANPOUR ], 30: [ Species.SIMIPOUR ]}, - { 1: [ Species.JOLTIK ], 36: [ Species.GALVANTULA ]}, - { 1: [ Species.LITLEO ], 35: [ Species.PYROAR ]}, - { 1: [ Species.FOMANTIS ], 44: [ Species.LURANTIS ]}, - Species.FALINKS + { 1: [ SpeciesId.PANSAGE ], 30: [ SpeciesId.SIMISAGE ]}, + { 1: [ SpeciesId.PANSEAR ], 30: [ SpeciesId.SIMISEAR ]}, + { 1: [ SpeciesId.PANPOUR ], 30: [ SpeciesId.SIMIPOUR ]}, + { 1: [ SpeciesId.JOLTIK ], 36: [ SpeciesId.GALVANTULA ]}, + { 1: [ SpeciesId.LITLEO ], 35: [ SpeciesId.PYROAR ]}, + { 1: [ SpeciesId.FOMANTIS ], 44: [ SpeciesId.LURANTIS ]}, + SpeciesId.FALINKS ] }, [BiomePoolTier.RARE]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.FOONGUS ], 39: [ Species.AMOONGUSS ]}, Species.PASSIMIAN, { 1: [ Species.GALAR_PONYTA ], 40: [ Species.GALAR_RAPIDASH ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.FOONGUS ], 39: [ Species.AMOONGUSS ]}, Species.PASSIMIAN ], - [TimeOfDay.DUSK]: [ Species.ORANGURU ], - [TimeOfDay.NIGHT]: [ Species.ORANGURU ], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.FOONGUS ], 39: [ SpeciesId.AMOONGUSS ]}, SpeciesId.PASSIMIAN, { 1: [ SpeciesId.GALAR_PONYTA ], 40: [ SpeciesId.GALAR_RAPIDASH ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.FOONGUS ], 39: [ SpeciesId.AMOONGUSS ]}, SpeciesId.PASSIMIAN ], + [TimeOfDay.DUSK]: [ SpeciesId.ORANGURU ], + [TimeOfDay.NIGHT]: [ SpeciesId.ORANGURU ], [TimeOfDay.ALL]: [ - Species.SCYTHER, - Species.YANMA, - { 1: [ Species.SLAKOTH ], 18: [ Species.VIGOROTH ], 36: [ Species.SLAKING ]}, - Species.SEVIPER, - Species.CARNIVINE, - { 1: [ Species.SNIVY ], 17: [ Species.SERVINE ], 36: [ Species.SERPERIOR ]}, - { 1: [ Species.GROOKEY ], 16: [ Species.THWACKEY ], 35: [ Species.RILLABOOM ]} + SpeciesId.SCYTHER, + SpeciesId.YANMA, + { 1: [ SpeciesId.SLAKOTH ], 18: [ SpeciesId.VIGOROTH ], 36: [ SpeciesId.SLAKING ]}, + SpeciesId.SEVIPER, + SpeciesId.CARNIVINE, + { 1: [ SpeciesId.SNIVY ], 17: [ SpeciesId.SERVINE ], 36: [ SpeciesId.SERPERIOR ]}, + { 1: [ SpeciesId.GROOKEY ], 16: [ SpeciesId.THWACKEY ], 35: [ SpeciesId.RILLABOOM ]} ] }, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KANGASKHAN, Species.CHATOT, Species.KLEAVOR ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TAPU_LELE, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KANGASKHAN, SpeciesId.CHATOT, SpeciesId.KLEAVOR ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.TAPU_LELE, SpeciesId.BUZZWOLE, SpeciesId.ZARUDE, SpeciesId.MUNKIDORI ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ], - [TimeOfDay.DAY]: [ Species.EXEGGUTOR, Species.TROPIUS, Species.CHERRIM, Species.LEAVANNY, Species.KOMALA ], - [TimeOfDay.DUSK]: [ Species.BRELOOM, Species.TANGROWTH, Species.AMOONGUSS, Species.PANGORO ], - [TimeOfDay.NIGHT]: [ Species.BRELOOM, Species.TANGROWTH, Species.AMOONGUSS, Species.PANGORO ], - [TimeOfDay.ALL]: [ Species.SEVIPER, Species.AMBIPOM, Species.CARNIVINE, Species.YANMEGA, Species.GALVANTULA, Species.PYROAR, Species.TOUCANNON, Species.LURANTIS, Species.FALINKS ] + [TimeOfDay.DAWN]: [ SpeciesId.EXEGGUTOR, SpeciesId.TROPIUS, SpeciesId.CHERRIM, SpeciesId.LEAVANNY, SpeciesId.KOMALA ], + [TimeOfDay.DAY]: [ SpeciesId.EXEGGUTOR, SpeciesId.TROPIUS, SpeciesId.CHERRIM, SpeciesId.LEAVANNY, SpeciesId.KOMALA ], + [TimeOfDay.DUSK]: [ SpeciesId.BRELOOM, SpeciesId.TANGROWTH, SpeciesId.AMOONGUSS, SpeciesId.PANGORO ], + [TimeOfDay.NIGHT]: [ SpeciesId.BRELOOM, SpeciesId.TANGROWTH, SpeciesId.AMOONGUSS, SpeciesId.PANGORO ], + [TimeOfDay.ALL]: [ SpeciesId.SEVIPER, SpeciesId.AMBIPOM, SpeciesId.CARNIVINE, SpeciesId.YANMEGA, SpeciesId.GALVANTULA, SpeciesId.PYROAR, SpeciesId.TOUCANNON, SpeciesId.LURANTIS, SpeciesId.FALINKS ] }, [BiomePoolTier.BOSS_RARE]: { - [TimeOfDay.DAWN]: [ Species.AMOONGUSS, Species.GALAR_RAPIDASH ], - [TimeOfDay.DAY]: [ Species.AMOONGUSS ], + [TimeOfDay.DAWN]: [ SpeciesId.AMOONGUSS, SpeciesId.GALAR_RAPIDASH ], + [TimeOfDay.DAY]: [ SpeciesId.AMOONGUSS ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.KANGASKHAN, Species.SCIZOR, Species.SLAKING, Species.LEAFEON, Species.SERPERIOR, Species.RILLABOOM ] + [TimeOfDay.ALL]: [ SpeciesId.KANGASKHAN, SpeciesId.SCIZOR, SpeciesId.SLAKING, SpeciesId.LEAFEON, SpeciesId.SERPERIOR, SpeciesId.RILLABOOM ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TAPU_LELE, Species.BUZZWOLE, Species.ZARUDE, Species.MUNKIDORI ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.KLEAVOR ]} + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.TAPU_LELE, SpeciesId.BUZZWOLE, SpeciesId.ZARUDE, SpeciesId.MUNKIDORI ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.KLEAVOR ]} }, - [Biome.FAIRY_CAVE]: { + [BiomeId.FAIRY_CAVE]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.JIGGLYPUFF ], 30: [ Species.WIGGLYTUFF ]}, - { 1: [ Species.MARILL ], 18: [ Species.AZUMARILL ]}, - Species.MAWILE, - { 1: [ Species.SPRITZEE ], 40: [ Species.AROMATISSE ]}, - { 1: [ Species.SWIRLIX ], 40: [ Species.SLURPUFF ]}, - { 1: [ Species.CUTIEFLY ], 25: [ Species.RIBOMBEE ]}, - { 1: [ Species.MORELULL ], 24: [ Species.SHIINOTIC ]}, - { 1: [ Species.MILCERY ], 30: [ Species.ALCREMIE ]} + { 1: [ SpeciesId.JIGGLYPUFF ], 30: [ SpeciesId.WIGGLYTUFF ]}, + { 1: [ SpeciesId.MARILL ], 18: [ SpeciesId.AZUMARILL ]}, + SpeciesId.MAWILE, + { 1: [ SpeciesId.SPRITZEE ], 40: [ SpeciesId.AROMATISSE ]}, + { 1: [ SpeciesId.SWIRLIX ], 40: [ SpeciesId.SLURPUFF ]}, + { 1: [ SpeciesId.CUTIEFLY ], 25: [ SpeciesId.RIBOMBEE ]}, + { 1: [ SpeciesId.MORELULL ], 24: [ SpeciesId.SHIINOTIC ]}, + { 1: [ SpeciesId.MILCERY ], 30: [ SpeciesId.ALCREMIE ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -1410,41 +1410,41 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - Species.CLEFAIRY, - Species.TOGETIC, - { 1: [ Species.RALTS ], 20: [ Species.KIRLIA ], 30: [ Species.GARDEVOIR ]}, - Species.CARBINK, - Species.COMFEY, - { 1: [ Species.HATENNA ], 32: [ Species.HATTREM ], 42: [ Species.HATTERENE ]} + SpeciesId.CLEFAIRY, + SpeciesId.TOGETIC, + { 1: [ SpeciesId.RALTS ], 20: [ SpeciesId.KIRLIA ], 30: [ SpeciesId.GARDEVOIR ]}, + SpeciesId.CARBINK, + SpeciesId.COMFEY, + { 1: [ SpeciesId.HATENNA ], 32: [ SpeciesId.HATTREM ], 42: [ SpeciesId.HATTERENE ]} ] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.AUDINO, Species.ETERNAL_FLOETTE ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.AUDINO, SpeciesId.ETERNAL_FLOETTE ]}, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DIANCIE, Species.ENAMORUS ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DIANCIE, SpeciesId.ENAMORUS ]}, [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.WIGGLYTUFF, Species.MAWILE, Species.TOGEKISS, Species.AUDINO, Species.AROMATISSE, Species.SLURPUFF, Species.CARBINK, Species.RIBOMBEE, Species.SHIINOTIC, Species.COMFEY, Species.HATTERENE, Species.ALCREMIE ] + [TimeOfDay.ALL]: [ SpeciesId.WIGGLYTUFF, SpeciesId.MAWILE, SpeciesId.TOGEKISS, SpeciesId.AUDINO, SpeciesId.AROMATISSE, SpeciesId.SLURPUFF, SpeciesId.CARBINK, SpeciesId.RIBOMBEE, SpeciesId.SHIINOTIC, SpeciesId.COMFEY, SpeciesId.HATTERENE, SpeciesId.ALCREMIE ] }, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ETERNAL_FLOETTE ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DIANCIE, Species.ENAMORUS ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.XERNEAS ]} + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ETERNAL_FLOETTE ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DIANCIE, SpeciesId.ENAMORUS ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.XERNEAS ]} }, - [Biome.TEMPLE]: { + [BiomeId.TEMPLE]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.GASTLY ], 25: [ Species.HAUNTER ]}, - { 1: [ Species.NATU ], 25: [ Species.XATU ]}, - { 1: [ Species.DUSKULL ], 37: [ Species.DUSCLOPS ]}, - { 1: [ Species.YAMASK ], 34: [ Species.COFAGRIGUS ]}, - { 1: [ Species.GOLETT ], 43: [ Species.GOLURK ]}, - { 1: [ Species.HONEDGE ], 35: [ Species.DOUBLADE ]} + { 1: [ SpeciesId.GASTLY ], 25: [ SpeciesId.HAUNTER ]}, + { 1: [ SpeciesId.NATU ], 25: [ SpeciesId.XATU ]}, + { 1: [ SpeciesId.DUSKULL ], 37: [ SpeciesId.DUSCLOPS ]}, + { 1: [ SpeciesId.YAMASK ], 34: [ SpeciesId.COFAGRIGUS ]}, + { 1: [ SpeciesId.GOLETT ], 43: [ SpeciesId.GOLURK ]}, + { 1: [ SpeciesId.HONEDGE ], 35: [ SpeciesId.DOUBLADE ]} ] }, [BiomePoolTier.UNCOMMON]: { @@ -1453,181 +1453,181 @@ export const biomePokemonPools: BiomePokemonPools = { [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.CUBONE ], 28: [ Species.MAROWAK ]}, - { 1: [ Species.BALTOY ], 36: [ Species.CLAYDOL ]}, - { 1: [ Species.CHINGLING ], 20: [ Species.CHIMECHO ]}, - { 1: [ Species.SKORUPI ], 40: [ Species.DRAPION ]}, - { 1: [ Species.LITWICK ], 41: [ Species.LAMPENT ]} + { 1: [ SpeciesId.CUBONE ], 28: [ SpeciesId.MAROWAK ]}, + { 1: [ SpeciesId.BALTOY ], 36: [ SpeciesId.CLAYDOL ]}, + { 1: [ SpeciesId.CHINGLING ], 20: [ SpeciesId.CHIMECHO ]}, + { 1: [ SpeciesId.SKORUPI ], 40: [ SpeciesId.DRAPION ]}, + { 1: [ SpeciesId.LITWICK ], 41: [ SpeciesId.LAMPENT ]} ] }, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.GIMMIGHOUL ], 40: [ Species.GHOLDENGO ]}]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.GIMMIGHOUL ], 40: [ SpeciesId.GHOLDENGO ]}]}, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HOOPA, Species.TAPU_KOKO ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.CHIMECHO, Species.COFAGRIGUS, Species.GOLURK, Species.AEGISLASH ]}, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GHOLDENGO ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.HOOPA, Species.TAPU_KOKO ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.REGIGIGAS ]} + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.HOOPA, SpeciesId.TAPU_KOKO ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.CHIMECHO, SpeciesId.COFAGRIGUS, SpeciesId.GOLURK, SpeciesId.AEGISLASH ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GHOLDENGO ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.HOOPA, SpeciesId.TAPU_KOKO ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.REGIGIGAS ]} }, - [Biome.SLUM]: { + [BiomeId.SLUM]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [{ 1: [ Species.PATRAT ], 20: [ Species.WATCHOG ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.PATRAT ], 20: [ Species.WATCHOG ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.PATRAT ], 20: [ SpeciesId.WATCHOG ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.PATRAT ], 20: [ SpeciesId.WATCHOG ]}], [TimeOfDay.ALL]: [ - { 1: [ Species.RATTATA ], 20: [ Species.RATICATE ]}, - { 1: [ Species.GRIMER ], 38: [ Species.MUK ]}, - { 1: [ Species.KOFFING ], 35: [ Species.WEEZING ]}, - { 1: [ Species.TRUBBISH ], 36: [ Species.GARBODOR ]} + { 1: [ SpeciesId.RATTATA ], 20: [ SpeciesId.RATICATE ]}, + { 1: [ SpeciesId.GRIMER ], 38: [ SpeciesId.MUK ]}, + { 1: [ SpeciesId.KOFFING ], 35: [ SpeciesId.WEEZING ]}, + { 1: [ SpeciesId.TRUBBISH ], 36: [ SpeciesId.GARBODOR ]} ] }, [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [{ 1: [ Species.STUNKY ], 34: [ Species.SKUNTANK ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.STUNKY ], 34: [ Species.SKUNTANK ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.BURMY ], 20: [ Species.WORMADAM ]}] + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.STUNKY ], 34: [ SpeciesId.SKUNTANK ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.STUNKY ], 34: [ SpeciesId.SKUNTANK ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.BURMY ], 20: [ SpeciesId.WORMADAM ]}] }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [ Species.TOXTRICITY, { 1: [ Species.GALAR_LINOONE ], 65: [ Species.OBSTAGOON ]}, Species.GALAR_ZIGZAGOON ], - [TimeOfDay.NIGHT]: [ Species.TOXTRICITY, { 1: [ Species.GALAR_LINOONE ], 65: [ Species.OBSTAGOON ]}, Species.GALAR_ZIGZAGOON ], - [TimeOfDay.ALL]: [{ 1: [ Species.VAROOM ], 40: [ Species.REVAVROOM ]}] + [TimeOfDay.DUSK]: [ SpeciesId.TOXTRICITY, { 1: [ SpeciesId.GALAR_LINOONE ], 65: [ SpeciesId.OBSTAGOON ]}, SpeciesId.GALAR_ZIGZAGOON ], + [TimeOfDay.NIGHT]: [ SpeciesId.TOXTRICITY, { 1: [ SpeciesId.GALAR_LINOONE ], 65: [ SpeciesId.OBSTAGOON ]}, SpeciesId.GALAR_ZIGZAGOON ], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.VAROOM ], 40: [ SpeciesId.REVAVROOM ]}] }, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GUZZLORD ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.SKUNTANK, Species.WATCHOG ], [TimeOfDay.NIGHT]: [ Species.SKUNTANK, Species.WATCHOG ], [TimeOfDay.ALL]: [ Species.MUK, Species.WEEZING, Species.WORMADAM, Species.GARBODOR ]}, - [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ Species.TOXTRICITY, Species.OBSTAGOON ], [TimeOfDay.NIGHT]: [ Species.TOXTRICITY, Species.OBSTAGOON ], [TimeOfDay.ALL]: [ Species.REVAVROOM, Species.GALAR_WEEZING ]}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GUZZLORD ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GUZZLORD ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ SpeciesId.SKUNTANK, SpeciesId.WATCHOG ], [TimeOfDay.NIGHT]: [ SpeciesId.SKUNTANK, SpeciesId.WATCHOG ], [TimeOfDay.ALL]: [ SpeciesId.MUK, SpeciesId.WEEZING, SpeciesId.WORMADAM, SpeciesId.GARBODOR ]}, + [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [ SpeciesId.TOXTRICITY, SpeciesId.OBSTAGOON ], [TimeOfDay.NIGHT]: [ SpeciesId.TOXTRICITY, SpeciesId.OBSTAGOON ], [TimeOfDay.ALL]: [ SpeciesId.REVAVROOM, SpeciesId.GALAR_WEEZING ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GUZZLORD ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.SNOWY_FOREST]: { + [BiomeId.SNOWY_FOREST]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [ Species.SNEASEL, { 1: [ Species.TEDDIURSA ], 30: [ Species.URSARING ]}, { 1: [ Species.SNOM ], 20: [ Species.FROSMOTH ]}], - [TimeOfDay.NIGHT]: [ Species.SNEASEL, { 1: [ Species.TEDDIURSA ], 30: [ Species.URSARING ]}, { 1: [ Species.SNOM ], 20: [ Species.FROSMOTH ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.SWINUB ], 33: [ Species.PILOSWINE ]}, { 1: [ Species.SNOVER ], 40: [ Species.ABOMASNOW ]}, Species.EISCUE ] + [TimeOfDay.DUSK]: [ SpeciesId.SNEASEL, { 1: [ SpeciesId.TEDDIURSA ], 30: [ SpeciesId.URSARING ]}, { 1: [ SpeciesId.SNOM ], 20: [ SpeciesId.FROSMOTH ]}], + [TimeOfDay.NIGHT]: [ SpeciesId.SNEASEL, { 1: [ SpeciesId.TEDDIURSA ], 30: [ SpeciesId.URSARING ]}, { 1: [ SpeciesId.SNOM ], 20: [ SpeciesId.FROSMOTH ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.SWINUB ], 33: [ SpeciesId.PILOSWINE ]}, { 1: [ SpeciesId.SNOVER ], 40: [ SpeciesId.ABOMASNOW ]}, SpeciesId.EISCUE ] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [ Species.SNEASEL, { 1: [ Species.TEDDIURSA ], 30: [ Species.URSARING ]}, Species.STANTLER ], - [TimeOfDay.DAY]: [ Species.SNEASEL, { 1: [ Species.TEDDIURSA ], 30: [ Species.URSARING ]}, Species.STANTLER ], + [TimeOfDay.DAWN]: [ SpeciesId.SNEASEL, { 1: [ SpeciesId.TEDDIURSA ], 30: [ SpeciesId.URSARING ]}, SpeciesId.STANTLER ], + [TimeOfDay.DAY]: [ SpeciesId.SNEASEL, { 1: [ SpeciesId.TEDDIURSA ], 30: [ SpeciesId.URSARING ]}, SpeciesId.STANTLER ], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [] }, [BiomePoolTier.RARE]: { - [TimeOfDay.DAWN]: [{ 1: [ Species.GALAR_DARUMAKA ], 30: [ Species.GALAR_DARMANITAN ]}], - [TimeOfDay.DAY]: [{ 1: [ Species.GALAR_DARUMAKA ], 30: [ Species.GALAR_DARMANITAN ]}], + [TimeOfDay.DAWN]: [{ 1: [ SpeciesId.GALAR_DARUMAKA ], 30: [ SpeciesId.GALAR_DARMANITAN ]}], + [TimeOfDay.DAY]: [{ 1: [ SpeciesId.GALAR_DARUMAKA ], 30: [ SpeciesId.GALAR_DARMANITAN ]}], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], - [TimeOfDay.ALL]: [ Species.DELIBIRD, { 1: [ Species.ALOLA_SANDSHREW ], 30: [ Species.ALOLA_SANDSLASH ]}, { 1: [ Species.ALOLA_VULPIX ], 30: [ Species.ALOLA_NINETALES ]}] + [TimeOfDay.ALL]: [ SpeciesId.DELIBIRD, { 1: [ SpeciesId.ALOLA_SANDSHREW ], 30: [ SpeciesId.ALOLA_SANDSLASH ]}, { 1: [ SpeciesId.ALOLA_VULPIX ], 30: [ SpeciesId.ALOLA_NINETALES ]}] }, [BiomePoolTier.SUPER_RARE]: { - [TimeOfDay.DAWN]: [ Species.HISUI_SNEASEL ], - [TimeOfDay.DAY]: [ Species.HISUI_SNEASEL ], - [TimeOfDay.DUSK]: [{ 1: [ Species.HISUI_ZORUA ], 30: [ Species.HISUI_ZOROARK ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.HISUI_ZORUA ], 30: [ Species.HISUI_ZOROARK ]}], - [TimeOfDay.ALL]: [{ 1: [ Species.GALAR_MR_MIME ], 42: [ Species.MR_RIME ]}, Species.ARCTOZOLT, Species.HISUI_AVALUGG ] + [TimeOfDay.DAWN]: [ SpeciesId.HISUI_SNEASEL ], + [TimeOfDay.DAY]: [ SpeciesId.HISUI_SNEASEL ], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.HISUI_ZORUA ], 30: [ SpeciesId.HISUI_ZOROARK ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.HISUI_ZORUA ], 30: [ SpeciesId.HISUI_ZOROARK ]}], + [TimeOfDay.ALL]: [{ 1: [ SpeciesId.GALAR_MR_MIME ], 42: [ SpeciesId.MR_RIME ]}, SpeciesId.ARCTOZOLT, SpeciesId.HISUI_AVALUGG ] }, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GLASTRIER, Species.CHIEN_PAO, Species.GALAR_ARTICUNO ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ Species.WYRDEER ], [TimeOfDay.DAY]: [ Species.WYRDEER ], [TimeOfDay.DUSK]: [ Species.FROSMOTH ], [TimeOfDay.NIGHT]: [ Species.FROSMOTH ], [TimeOfDay.ALL]: [ Species.ABOMASNOW, Species.URSALUNA ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GLASTRIER, SpeciesId.CHIEN_PAO, SpeciesId.GALAR_ARTICUNO ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [ SpeciesId.WYRDEER ], [TimeOfDay.DAY]: [ SpeciesId.WYRDEER ], [TimeOfDay.DUSK]: [ SpeciesId.FROSMOTH ], [TimeOfDay.NIGHT]: [ SpeciesId.FROSMOTH ], [TimeOfDay.ALL]: [ SpeciesId.ABOMASNOW, SpeciesId.URSALUNA ]}, [BiomePoolTier.BOSS_RARE]: { - [TimeOfDay.DAWN]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ], - [TimeOfDay.DAY]: [ Species.SNEASLER, Species.GALAR_DARMANITAN ], - [TimeOfDay.DUSK]: [ Species.HISUI_ZOROARK ], - [TimeOfDay.NIGHT]: [ Species.HISUI_ZOROARK ], - [TimeOfDay.ALL]: [ Species.MR_RIME, Species.ARCTOZOLT, Species.ALOLA_SANDSLASH, Species.ALOLA_NINETALES ] + [TimeOfDay.DAWN]: [ SpeciesId.SNEASLER, SpeciesId.GALAR_DARMANITAN ], + [TimeOfDay.DAY]: [ SpeciesId.SNEASLER, SpeciesId.GALAR_DARMANITAN ], + [TimeOfDay.DUSK]: [ SpeciesId.HISUI_ZOROARK ], + [TimeOfDay.NIGHT]: [ SpeciesId.HISUI_ZOROARK ], + [TimeOfDay.ALL]: [ SpeciesId.MR_RIME, SpeciesId.ARCTOZOLT, SpeciesId.ALOLA_SANDSLASH, SpeciesId.ALOLA_NINETALES ] }, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.GLASTRIER, Species.CHIEN_PAO ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ZACIAN, Species.GALAR_ARTICUNO ]} + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.GLASTRIER, SpeciesId.CHIEN_PAO ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ZACIAN, SpeciesId.GALAR_ARTICUNO ]} }, - [Biome.ISLAND]: { + [BiomeId.ISLAND]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], - [TimeOfDay.DUSK]: [{ 1: [ Species.ALOLA_RATTATA ], 30: [ Species.ALOLA_RATICATE ]}, { 1: [ Species.ALOLA_MEOWTH ], 30: [ Species.ALOLA_PERSIAN ]}], - [TimeOfDay.NIGHT]: [{ 1: [ Species.ALOLA_RATTATA ], 30: [ Species.ALOLA_RATICATE ]}, { 1: [ Species.ALOLA_MEOWTH ], 30: [ Species.ALOLA_PERSIAN ]}], + [TimeOfDay.DUSK]: [{ 1: [ SpeciesId.ALOLA_RATTATA ], 30: [ SpeciesId.ALOLA_RATICATE ]}, { 1: [ SpeciesId.ALOLA_MEOWTH ], 30: [ SpeciesId.ALOLA_PERSIAN ]}], + [TimeOfDay.NIGHT]: [{ 1: [ SpeciesId.ALOLA_RATTATA ], 30: [ SpeciesId.ALOLA_RATICATE ]}, { 1: [ SpeciesId.ALOLA_MEOWTH ], 30: [ SpeciesId.ALOLA_PERSIAN ]}], [TimeOfDay.ALL]: [ - Species.ORICORIO, - { 1: [ Species.ALOLA_SANDSHREW ], 30: [ Species.ALOLA_SANDSLASH ]}, - { 1: [ Species.ALOLA_VULPIX ], 30: [ Species.ALOLA_NINETALES ]}, - { 1: [ Species.ALOLA_DIGLETT ], 26: [ Species.ALOLA_DUGTRIO ]}, - { 1: [ Species.ALOLA_GEODUDE ], 25: [ Species.ALOLA_GRAVELER ], 40: [ Species.ALOLA_GOLEM ]}, - { 1: [ Species.ALOLA_GRIMER ], 38: [ Species.ALOLA_MUK ]} + SpeciesId.ORICORIO, + { 1: [ SpeciesId.ALOLA_SANDSHREW ], 30: [ SpeciesId.ALOLA_SANDSLASH ]}, + { 1: [ SpeciesId.ALOLA_VULPIX ], 30: [ SpeciesId.ALOLA_NINETALES ]}, + { 1: [ SpeciesId.ALOLA_DIGLETT ], 26: [ SpeciesId.ALOLA_DUGTRIO ]}, + { 1: [ SpeciesId.ALOLA_GEODUDE ], 25: [ SpeciesId.ALOLA_GRAVELER ], 40: [ SpeciesId.ALOLA_GOLEM ]}, + { 1: [ SpeciesId.ALOLA_GRIMER ], 38: [ SpeciesId.ALOLA_MUK ]} ] }, [BiomePoolTier.UNCOMMON]: { - [TimeOfDay.DAWN]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], - [TimeOfDay.DAY]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], - [TimeOfDay.DUSK]: [ Species.ALOLA_MAROWAK ], - [TimeOfDay.NIGHT]: [ Species.ALOLA_MAROWAK ], - [TimeOfDay.ALL]: [ Species.BRUXISH ] + [TimeOfDay.DAWN]: [ SpeciesId.ALOLA_RAICHU, SpeciesId.ALOLA_EXEGGUTOR ], + [TimeOfDay.DAY]: [ SpeciesId.ALOLA_RAICHU, SpeciesId.ALOLA_EXEGGUTOR ], + [TimeOfDay.DUSK]: [ SpeciesId.ALOLA_MAROWAK ], + [TimeOfDay.NIGHT]: [ SpeciesId.ALOLA_MAROWAK ], + [TimeOfDay.ALL]: [ SpeciesId.BRUXISH ] }, [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLACEPHALON ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.BLACEPHALON ]}, [BiomePoolTier.BOSS]: { - [TimeOfDay.DAWN]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], - [TimeOfDay.DAY]: [ Species.ALOLA_RAICHU, Species.ALOLA_EXEGGUTOR ], - [TimeOfDay.DUSK]: [ Species.ALOLA_RATICATE, Species.ALOLA_PERSIAN, Species.ALOLA_MAROWAK ], - [TimeOfDay.NIGHT]: [ Species.ALOLA_RATICATE, Species.ALOLA_PERSIAN, Species.ALOLA_MAROWAK ], - [TimeOfDay.ALL]: [ Species.ORICORIO, Species.BRUXISH, Species.ALOLA_SANDSLASH, Species.ALOLA_NINETALES, Species.ALOLA_DUGTRIO, Species.ALOLA_GOLEM, Species.ALOLA_MUK ] + [TimeOfDay.DAWN]: [ SpeciesId.ALOLA_RAICHU, SpeciesId.ALOLA_EXEGGUTOR ], + [TimeOfDay.DAY]: [ SpeciesId.ALOLA_RAICHU, SpeciesId.ALOLA_EXEGGUTOR ], + [TimeOfDay.DUSK]: [ SpeciesId.ALOLA_RATICATE, SpeciesId.ALOLA_PERSIAN, SpeciesId.ALOLA_MAROWAK ], + [TimeOfDay.NIGHT]: [ SpeciesId.ALOLA_RATICATE, SpeciesId.ALOLA_PERSIAN, SpeciesId.ALOLA_MAROWAK ], + [TimeOfDay.ALL]: [ SpeciesId.ORICORIO, SpeciesId.BRUXISH, SpeciesId.ALOLA_SANDSLASH, SpeciesId.ALOLA_NINETALES, SpeciesId.ALOLA_DUGTRIO, SpeciesId.ALOLA_GOLEM, SpeciesId.ALOLA_MUK ] }, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.BLACEPHALON ]}, + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.BLACEPHALON ]}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} }, - [Biome.LABORATORY]: { + [BiomeId.LABORATORY]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - { 1: [ Species.MAGNEMITE ], 30: [ Species.MAGNETON ]}, - { 1: [ Species.GRIMER ], 38: [ Species.MUK ]}, - { 1: [ Species.VOLTORB ], 30: [ Species.ELECTRODE ]}, - { 1: [ Species.BRONZOR ], 33: [ Species.BRONZONG ]}, - { 1: [ Species.KLINK ], 38: [ Species.KLANG ], 49: [ Species.KLINKLANG ]} + { 1: [ SpeciesId.MAGNEMITE ], 30: [ SpeciesId.MAGNETON ]}, + { 1: [ SpeciesId.GRIMER ], 38: [ SpeciesId.MUK ]}, + { 1: [ SpeciesId.VOLTORB ], 30: [ SpeciesId.ELECTRODE ]}, + { 1: [ SpeciesId.BRONZOR ], 33: [ SpeciesId.BRONZONG ]}, + { 1: [ SpeciesId.KLINK ], 38: [ SpeciesId.KLANG ], 49: [ SpeciesId.KLINKLANG ]} ] }, - [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ Species.SOLOSIS ], 32: [ Species.DUOSION ], 41: [ Species.REUNICLUS ]}]}, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.DITTO, { 1: [ Species.PORYGON ], 30: [ Species.PORYGON2 ]}]}, - [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ROTOM ]}, - [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.TYPE_NULL ]}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MUK, Species.ELECTRODE, Species.BRONZONG, Species.MAGNEZONE, Species.PORYGON_Z, Species.REUNICLUS, Species.KLINKLANG ]}, + [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [{ 1: [ SpeciesId.SOLOSIS ], 32: [ SpeciesId.DUOSION ], 41: [ SpeciesId.REUNICLUS ]}]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.DITTO, { 1: [ SpeciesId.PORYGON ], 30: [ SpeciesId.PORYGON2 ]}]}, + [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ROTOM ]}, + [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.TYPE_NULL ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MUK, SpeciesId.ELECTRODE, SpeciesId.BRONZONG, SpeciesId.MAGNEZONE, SpeciesId.PORYGON_Z, SpeciesId.REUNICLUS, SpeciesId.KLINKLANG ]}, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ROTOM, Species.ZYGARDE, Species.SILVALLY ]}, - [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.MEWTWO, Species.MIRAIDON ]} + [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ROTOM, SpeciesId.ZYGARDE, SpeciesId.SILVALLY ]}, + [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.MEWTWO, SpeciesId.MIRAIDON ]} }, - [Biome.END]: { + [BiomeId.END]: { [BiomePoolTier.COMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS ] }, - [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ROARING_MOON, Species.IRON_VALIANT ]}, - [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.WALKING_WAKE, Species.IRON_LEAVES, Species.GOUGING_FIRE, Species.RAGING_BOLT, Species.IRON_BOULDER, Species.IRON_CROWN ]}, + [BiomePoolTier.UNCOMMON]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ROARING_MOON, SpeciesId.IRON_VALIANT ]}, + [BiomePoolTier.RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.WALKING_WAKE, SpeciesId.IRON_LEAVES, SpeciesId.GOUGING_FIRE, SpeciesId.RAGING_BOLT, SpeciesId.IRON_BOULDER, SpeciesId.IRON_CROWN ]}, [BiomePoolTier.SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, - [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ Species.ETERNATUS ]}, + [BiomePoolTier.BOSS]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: [ SpeciesId.ETERNATUS ]}, [BiomePoolTier.BOSS_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS_SUPER_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []}, [BiomePoolTier.BOSS_ULTRA_RARE]: { [TimeOfDay.DAWN]: [], [TimeOfDay.DAY]: [], [TimeOfDay.DUSK]: [], [TimeOfDay.NIGHT]: [], [TimeOfDay.ALL]: []} @@ -1635,7 +1635,7 @@ export const biomePokemonPools: BiomePokemonPools = { }; export const biomeTrainerPools: BiomeTrainerPools = { - [Biome.TOWN]: { + [BiomeId.TOWN]: { [BiomePoolTier.COMMON]: [ TrainerType.YOUNGSTER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1646,7 +1646,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.PLAINS]: { + [BiomeId.PLAINS]: { [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.TWINS ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.CYCLIST ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], @@ -1657,7 +1657,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.GRASS]: { + [BiomeId.GRASS]: { [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.SCHOOL_KID ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.POKEFAN ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], @@ -1668,7 +1668,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.TALL_GRASS]: { + [BiomeId.TALL_GRASS]: { [BiomePoolTier.COMMON]: [], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER, TrainerType.RANGER ], [BiomePoolTier.RARE]: [], @@ -1679,7 +1679,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.METROPOLIS]: { + [BiomeId.METROPOLIS]: { [BiomePoolTier.COMMON]: [ TrainerType.BEAUTY, TrainerType.CLERK, TrainerType.CYCLIST, TrainerType.OFFICER, TrainerType.WAITER ], [BiomePoolTier.UNCOMMON]: [ TrainerType.BREEDER, TrainerType.DEPOT_AGENT, TrainerType.GUITARIST ], [BiomePoolTier.RARE]: [ TrainerType.ARTIST, TrainerType.RICH_KID ], @@ -1690,7 +1690,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.FOREST]: { + [BiomeId.FOREST]: { [BiomePoolTier.COMMON]: [ TrainerType.RANGER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1701,7 +1701,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.SEA]: { + [BiomeId.SEA]: { [BiomePoolTier.COMMON]: [ TrainerType.SAILOR, TrainerType.SWIMMER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1712,7 +1712,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.SWAMP]: { + [BiomeId.SWAMP]: { [BiomePoolTier.COMMON]: [ TrainerType.PARASOL_LADY ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], @@ -1723,7 +1723,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.BEACH]: { + [BiomeId.BEACH]: { [BiomePoolTier.COMMON]: [ TrainerType.FISHERMAN, TrainerType.SAILOR ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], @@ -1734,7 +1734,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.LAKE]: { + [BiomeId.LAKE]: { [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.FISHERMAN, TrainerType.PARASOL_LADY ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], @@ -1745,7 +1745,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.SEABED]: { + [BiomeId.SEABED]: { [BiomePoolTier.COMMON]: [], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1756,7 +1756,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.MOUNTAIN]: { + [BiomeId.MOUNTAIN]: { [BiomePoolTier.COMMON]: [ TrainerType.BACKPACKER, TrainerType.BLACK_BELT, TrainerType.HIKER ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.PILOT ], [BiomePoolTier.RARE]: [], @@ -1767,7 +1767,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.BADLANDS]: { + [BiomeId.BADLANDS]: { [BiomePoolTier.COMMON]: [ TrainerType.BACKPACKER, TrainerType.HIKER ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [], @@ -1778,7 +1778,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.CAVE]: { + [BiomeId.CAVE]: { [BiomePoolTier.COMMON]: [ TrainerType.BACKPACKER, TrainerType.HIKER ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BLACK_BELT ], [BiomePoolTier.RARE]: [], @@ -1789,7 +1789,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.DESERT]: { + [BiomeId.DESERT]: { [BiomePoolTier.COMMON]: [ TrainerType.BACKPACKER, TrainerType.SCIENTIST ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1800,7 +1800,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.ICE_CAVE]: { + [BiomeId.ICE_CAVE]: { [BiomePoolTier.COMMON]: [ TrainerType.SNOW_WORKER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1811,7 +1811,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.MEADOW]: { + [BiomeId.MEADOW]: { [BiomePoolTier.COMMON]: [ TrainerType.BEAUTY, TrainerType.MUSICIAN, TrainerType.PARASOL_LADY ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BAKER, TrainerType.BREEDER, TrainerType.POKEFAN ], [BiomePoolTier.RARE]: [], @@ -1822,7 +1822,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.POWER_PLANT]: { + [BiomeId.POWER_PLANT]: { [BiomePoolTier.COMMON]: [ TrainerType.GUITARIST, TrainerType.WORKER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1833,7 +1833,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.VOLCANO]: { + [BiomeId.VOLCANO]: { [BiomePoolTier.COMMON]: [ TrainerType.FIREBREATHER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1844,7 +1844,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.GRAVEYARD]: { + [BiomeId.GRAVEYARD]: { [BiomePoolTier.COMMON]: [ TrainerType.PSYCHIC ], [BiomePoolTier.UNCOMMON]: [ TrainerType.HEX_MANIAC ], [BiomePoolTier.RARE]: [], @@ -1855,7 +1855,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.DOJO]: { + [BiomeId.DOJO]: { [BiomePoolTier.COMMON]: [ TrainerType.BLACK_BELT ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1866,7 +1866,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.FACTORY]: { + [BiomeId.FACTORY]: { [BiomePoolTier.COMMON]: [ TrainerType.WORKER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1877,7 +1877,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.RUINS]: { + [BiomeId.RUINS]: { [BiomePoolTier.COMMON]: [ TrainerType.PSYCHIC, TrainerType.SCIENTIST ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BLACK_BELT, TrainerType.HEX_MANIAC ], [BiomePoolTier.RARE]: [], @@ -1888,7 +1888,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.WASTELAND]: { + [BiomeId.WASTELAND]: { [BiomePoolTier.COMMON]: [ TrainerType.VETERAN ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1899,7 +1899,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.ABYSS]: { + [BiomeId.ABYSS]: { [BiomePoolTier.COMMON]: [], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [], @@ -1910,7 +1910,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.SPACE]: { + [BiomeId.SPACE]: { [BiomePoolTier.COMMON]: [], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1921,7 +1921,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.CONSTRUCTION_SITE]: { + [BiomeId.CONSTRUCTION_SITE]: { [BiomePoolTier.COMMON]: [ TrainerType.OFFICER, TrainerType.WORKER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1932,7 +1932,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.JUNGLE]: { + [BiomeId.JUNGLE]: { [BiomePoolTier.COMMON]: [ TrainerType.BACKPACKER, TrainerType.RANGER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1943,7 +1943,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.FAIRY_CAVE]: { + [BiomeId.FAIRY_CAVE]: { [BiomePoolTier.COMMON]: [ TrainerType.BEAUTY ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER ], [BiomePoolTier.RARE]: [], @@ -1954,7 +1954,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.TEMPLE]: { + [BiomeId.TEMPLE]: { [BiomePoolTier.COMMON]: [], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [], @@ -1965,7 +1965,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.SLUM]: { + [BiomeId.SLUM]: { [BiomePoolTier.COMMON]: [ TrainerType.BIKER, TrainerType.OFFICER, TrainerType.ROUGHNECK ], [BiomePoolTier.UNCOMMON]: [ TrainerType.BAKER, TrainerType.HOOLIGANS ], [BiomePoolTier.RARE]: [], @@ -1976,7 +1976,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.SNOWY_FOREST]: { + [BiomeId.SNOWY_FOREST]: { [BiomePoolTier.COMMON]: [ TrainerType.SNOW_WORKER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -1987,7 +1987,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.ISLAND]: { + [BiomeId.ISLAND]: { [BiomePoolTier.COMMON]: [ TrainerType.RICH_KID ], [BiomePoolTier.UNCOMMON]: [ TrainerType.RICH ], [BiomePoolTier.RARE]: [], @@ -1998,7 +1998,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.LABORATORY]: { + [BiomeId.LABORATORY]: { [BiomePoolTier.COMMON]: [], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -2009,7 +2009,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_SUPER_RARE]: [], [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, - [Biome.END]: { + [BiomeId.END]: { [BiomePoolTier.COMMON]: [], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], @@ -2025,5226 +2025,5226 @@ export const biomeTrainerPools: BiomeTrainerPools = { // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: init methods are expected to have many lines. export function initBiomes() { const pokemonBiomes = [ - [ Species.BULBASAUR, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.GRASS, BiomePoolTier.RARE ] + [ SpeciesId.BULBASAUR, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.GRASS, BiomePoolTier.RARE ] ] ], - [ Species.IVYSAUR, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.GRASS, BiomePoolTier.RARE ] + [ SpeciesId.IVYSAUR, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.GRASS, BiomePoolTier.RARE ] ] ], - [ Species.VENUSAUR, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.GRASS, BiomePoolTier.RARE ], - [ Biome.GRASS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.VENUSAUR, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.GRASS, BiomePoolTier.RARE ], + [ BiomeId.GRASS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.CHARMANDER, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.CHARMANDER, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.CHARMELEON, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.CHARMELEON, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.CHARIZARD, PokemonType.FIRE, PokemonType.FLYING, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CHARIZARD, PokemonType.FIRE, PokemonType.FLYING, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SQUIRTLE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.SQUIRTLE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.WARTORTLE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.WARTORTLE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.BLASTOISE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.BLASTOISE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.CATERPIE, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CATERPIE, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.METAPOD, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.METAPOD, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BUTTERFREE, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BUTTERFREE, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.WEEDLE, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.WEEDLE, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.KAKUNA, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.KAKUNA, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.BEEDRILL, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.BEEDRILL, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PIDGEY, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ] + [ SpeciesId.PIDGEY, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ] ] ], - [ Species.PIDGEOTTO, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ] + [ SpeciesId.PIDGEOTTO, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ] ] ], - [ Species.PIDGEOT, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ SpeciesId.PIDGEOT, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], - [ Species.RATTATA, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.METROPOLIS, BiomePoolTier.COMMON ], - [ Biome.SLUM, BiomePoolTier.COMMON ] + [ SpeciesId.RATTATA, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ], + [ BiomeId.SLUM, BiomePoolTier.COMMON ] ] ], - [ Species.RATICATE, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON ], - [ Biome.SLUM, BiomePoolTier.COMMON ] + [ SpeciesId.RATICATE, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ], + [ BiomeId.SLUM, BiomePoolTier.COMMON ] ] ], - [ Species.SPEAROW, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ] + [ SpeciesId.SPEAROW, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ] ] ], - [ Species.FEAROW, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ SpeciesId.FEAROW, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], - [ Species.EKANS, PokemonType.POISON, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.EKANS, PokemonType.POISON, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ARBOK, PokemonType.POISON, -1, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ARBOK, PokemonType.POISON, -1, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PIKACHU, PokemonType.ELECTRIC, -1, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.PIKACHU, PokemonType.ELECTRIC, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.RAICHU, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.RAICHU, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.SANDSHREW, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.DESERT, BiomePoolTier.COMMON ] + [ SpeciesId.SANDSHREW, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.DESERT, BiomePoolTier.COMMON ] ] ], - [ Species.SANDSLASH, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.DESERT, BiomePoolTier.COMMON ], - [ Biome.DESERT, BiomePoolTier.BOSS ] + [ SpeciesId.SANDSLASH, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.DESERT, BiomePoolTier.COMMON ], + [ BiomeId.DESERT, BiomePoolTier.BOSS ] ] ], - [ Species.NIDORAN_F, PokemonType.POISON, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] + [ SpeciesId.NIDORAN_F, PokemonType.POISON, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] ] ], - [ Species.NIDORINA, PokemonType.POISON, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] + [ SpeciesId.NIDORINA, PokemonType.POISON, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] ] ], - [ Species.NIDOQUEEN, PokemonType.POISON, PokemonType.GROUND, [ - [ Biome.TALL_GRASS, BiomePoolTier.BOSS, TimeOfDay.DAY ] + [ SpeciesId.NIDOQUEEN, PokemonType.POISON, PokemonType.GROUND, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS, TimeOfDay.DAY ] ] ], - [ Species.NIDORAN_M, PokemonType.POISON, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] + [ SpeciesId.NIDORAN_M, PokemonType.POISON, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] ] ], - [ Species.NIDORINO, PokemonType.POISON, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] + [ SpeciesId.NIDORINO, PokemonType.POISON, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ] ] ], - [ Species.NIDOKING, PokemonType.POISON, PokemonType.GROUND, [ - [ Biome.TALL_GRASS, BiomePoolTier.BOSS, TimeOfDay.DAY ] + [ SpeciesId.NIDOKING, PokemonType.POISON, PokemonType.GROUND, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS, TimeOfDay.DAY ] ] ], - [ Species.CLEFAIRY, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.SPACE, BiomePoolTier.COMMON ] + [ SpeciesId.CLEFAIRY, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.SPACE, BiomePoolTier.COMMON ] ] ], - [ Species.CLEFABLE, PokemonType.FAIRY, -1, [ - [ Biome.SPACE, BiomePoolTier.BOSS ] + [ SpeciesId.CLEFABLE, PokemonType.FAIRY, -1, [ + [ BiomeId.SPACE, BiomePoolTier.BOSS ] ] ], - [ Species.VULPIX, PokemonType.FIRE, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.VULPIX, PokemonType.FIRE, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.NINETALES, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.NINETALES, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.JIGGLYPUFF, PokemonType.NORMAL, PokemonType.FAIRY, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.JIGGLYPUFF, PokemonType.NORMAL, PokemonType.FAIRY, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.WIGGLYTUFF, PokemonType.NORMAL, PokemonType.FAIRY, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.WIGGLYTUFF, PokemonType.NORMAL, PokemonType.FAIRY, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.ZUBAT, PokemonType.POISON, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.ZUBAT, PokemonType.POISON, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.GOLBAT, PokemonType.POISON, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.GOLBAT, PokemonType.POISON, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.ODDISH, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ODDISH, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.GLOOM, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.GLOOM, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.VILEPLUME, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.VILEPLUME, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PARAS, PokemonType.BUG, PokemonType.GRASS, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.PARAS, PokemonType.BUG, PokemonType.GRASS, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.PARASECT, PokemonType.BUG, PokemonType.GRASS, [ - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.PARASECT, PokemonType.BUG, PokemonType.GRASS, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.VENONAT, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] + [ SpeciesId.VENONAT, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] ] ], - [ Species.VENOMOTH, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] + [ SpeciesId.VENOMOTH, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] ] ], - [ Species.DIGLETT, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON ] + [ SpeciesId.DIGLETT, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ] ] ], - [ Species.DUGTRIO, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ SpeciesId.DUGTRIO, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], - [ Species.MEOWTH, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.MEOWTH, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PERSIAN, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PERSIAN, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PSYDUCK, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.LAKE, BiomePoolTier.COMMON ] + [ SpeciesId.PSYDUCK, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.LAKE, BiomePoolTier.COMMON ] ] ], - [ Species.GOLDUCK, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.LAKE, BiomePoolTier.BOSS ] + [ SpeciesId.GOLDUCK, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.LAKE, BiomePoolTier.BOSS ] ] ], - [ Species.MANKEY, PokemonType.FIGHTING, -1, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.DOJO, BiomePoolTier.COMMON ] + [ SpeciesId.MANKEY, PokemonType.FIGHTING, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.DOJO, BiomePoolTier.COMMON ] ] ], - [ Species.PRIMEAPE, PokemonType.FIGHTING, -1, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.DOJO, BiomePoolTier.COMMON ] + [ SpeciesId.PRIMEAPE, PokemonType.FIGHTING, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.DOJO, BiomePoolTier.COMMON ] ] ], - [ Species.GROWLITHE, PokemonType.FIRE, -1, [ - [ Biome.GRASS, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.GROWLITHE, PokemonType.FIRE, -1, [ + [ BiomeId.GRASS, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.ARCANINE, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.ARCANINE, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.POLIWAG, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.COMMON ] + [ SpeciesId.POLIWAG, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.COMMON ] ] ], - [ Species.POLIWHIRL, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.COMMON ] + [ SpeciesId.POLIWHIRL, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.COMMON ] ] ], - [ Species.POLIWRATH, PokemonType.WATER, PokemonType.FIGHTING, [ - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ SpeciesId.POLIWRATH, PokemonType.WATER, PokemonType.FIGHTING, [ + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], - [ Species.ABRA, PokemonType.PSYCHIC, -1, [ - [ Biome.TOWN, BiomePoolTier.RARE ], - [ Biome.PLAINS, BiomePoolTier.RARE ], - [ Biome.RUINS, BiomePoolTier.UNCOMMON ] + [ SpeciesId.ABRA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.TOWN, BiomePoolTier.RARE ], + [ BiomeId.PLAINS, BiomePoolTier.RARE ], + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ] ] ], - [ Species.KADABRA, PokemonType.PSYCHIC, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE ], - [ Biome.RUINS, BiomePoolTier.UNCOMMON ] + [ SpeciesId.KADABRA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE ], + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ] ] ], - [ Species.ALAKAZAM, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ SpeciesId.ALAKAZAM, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], - [ Species.MACHOP, PokemonType.FIGHTING, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] + [ SpeciesId.MACHOP, PokemonType.FIGHTING, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] ] ], - [ Species.MACHOKE, PokemonType.FIGHTING, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] + [ SpeciesId.MACHOKE, PokemonType.FIGHTING, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] ] ], - [ Species.MACHAMP, PokemonType.FIGHTING, -1, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] + [ SpeciesId.MACHAMP, PokemonType.FIGHTING, -1, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] ] ], - [ Species.BELLSPROUT, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BELLSPROUT, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.WEEPINBELL, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.WEEPINBELL, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VICTREEBEL, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.VICTREEBEL, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TENTACOOL, PokemonType.WATER, PokemonType.POISON, [ - [ Biome.SEA, BiomePoolTier.COMMON ], - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.TENTACOOL, PokemonType.WATER, PokemonType.POISON, [ + [ BiomeId.SEA, BiomePoolTier.COMMON ], + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.TENTACRUEL, PokemonType.WATER, PokemonType.POISON, [ - [ Biome.SEA, BiomePoolTier.COMMON ], - [ Biome.SEA, BiomePoolTier.BOSS ], - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.TENTACRUEL, PokemonType.WATER, PokemonType.POISON, [ + [ BiomeId.SEA, BiomePoolTier.COMMON ], + [ BiomeId.SEA, BiomePoolTier.BOSS ], + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GEODUDE, PokemonType.ROCK, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.GEODUDE, PokemonType.ROCK, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GRAVELER, PokemonType.ROCK, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.GRAVELER, PokemonType.ROCK, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GOLEM, PokemonType.ROCK, PokemonType.GROUND, [ - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ SpeciesId.GOLEM, PokemonType.ROCK, PokemonType.GROUND, [ + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], - [ Species.PONYTA, PokemonType.FIRE, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.PONYTA, PokemonType.FIRE, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.RAPIDASH, PokemonType.FIRE, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.VOLCANO, BiomePoolTier.COMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.RAPIDASH, PokemonType.FIRE, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.SLOWPOKE, PokemonType.WATER, PokemonType.PSYCHIC, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.LAKE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SLOWPOKE, PokemonType.WATER, PokemonType.PSYCHIC, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SLOWBRO, PokemonType.WATER, PokemonType.PSYCHIC, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.LAKE, BiomePoolTier.UNCOMMON ], - [ Biome.LAKE, BiomePoolTier.BOSS ] + [ SpeciesId.SLOWBRO, PokemonType.WATER, PokemonType.PSYCHIC, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ], + [ BiomeId.LAKE, BiomePoolTier.BOSS ] ] ], - [ Species.MAGNEMITE, PokemonType.ELECTRIC, PokemonType.STEEL, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ] + [ SpeciesId.MAGNEMITE, PokemonType.ELECTRIC, PokemonType.STEEL, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ] ] ], - [ Species.MAGNETON, PokemonType.ELECTRIC, PokemonType.STEEL, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ] + [ SpeciesId.MAGNETON, PokemonType.ELECTRIC, PokemonType.STEEL, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ] ] ], - [ Species.FARFETCHD, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.SUPER_RARE ], - [ Biome.PLAINS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.FARFETCHD, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.DODUO, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DODUO, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.DODRIO, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DODRIO, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SEEL, PokemonType.WATER, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.SEEL, PokemonType.WATER, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.DEWGONG, PokemonType.WATER, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.DEWGONG, PokemonType.WATER, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.GRIMER, PokemonType.POISON, -1, [ - [ Biome.SLUM, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ] + [ SpeciesId.GRIMER, PokemonType.POISON, -1, [ + [ BiomeId.SLUM, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ] ] ], - [ Species.MUK, PokemonType.POISON, -1, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ], - [ Biome.SLUM, BiomePoolTier.COMMON ], - [ Biome.SLUM, BiomePoolTier.BOSS ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ SpeciesId.MUK, PokemonType.POISON, -1, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ], + [ BiomeId.SLUM, BiomePoolTier.COMMON ], + [ BiomeId.SLUM, BiomePoolTier.BOSS ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], - [ Species.SHELLDER, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SHELLDER, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CLOYSTER, PokemonType.WATER, PokemonType.ICE, [ - [ Biome.BEACH, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.CLOYSTER, PokemonType.WATER, PokemonType.ICE, [ + [ BiomeId.BEACH, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.GASTLY, PokemonType.GHOST, PokemonType.POISON, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.GASTLY, PokemonType.GHOST, PokemonType.POISON, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.HAUNTER, PokemonType.GHOST, PokemonType.POISON, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.HAUNTER, PokemonType.GHOST, PokemonType.POISON, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.GENGAR, PokemonType.GHOST, PokemonType.POISON, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.GENGAR, PokemonType.GHOST, PokemonType.POISON, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.ONIX, PokemonType.ROCK, PokemonType.GROUND, [ - [ Biome.BADLANDS, BiomePoolTier.RARE ], - [ Biome.CAVE, BiomePoolTier.RARE ], - [ Biome.CAVE, BiomePoolTier.BOSS ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ] + [ SpeciesId.ONIX, PokemonType.ROCK, PokemonType.GROUND, [ + [ BiomeId.BADLANDS, BiomePoolTier.RARE ], + [ BiomeId.CAVE, BiomePoolTier.RARE ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.RARE ] ] ], - [ Species.DROWZEE, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.COMMON ] + [ SpeciesId.DROWZEE, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.COMMON ] ] ], - [ Species.HYPNO, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ SpeciesId.HYPNO, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], - [ Species.KRABBY, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ SpeciesId.KRABBY, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], - [ Species.KINGLER, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ SpeciesId.KINGLER, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], - [ Species.VOLTORB, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ] + [ SpeciesId.VOLTORB, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ] ] ], - [ Species.ELECTRODE, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ SpeciesId.ELECTRODE, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], - [ Species.EXEGGCUTE, PokemonType.GRASS, PokemonType.PSYCHIC, [ - [ Biome.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.EXEGGCUTE, PokemonType.GRASS, PokemonType.PSYCHIC, [ + [ BiomeId.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.EXEGGUTOR, PokemonType.GRASS, PokemonType.PSYCHIC, [ - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.EXEGGUTOR, PokemonType.GRASS, PokemonType.PSYCHIC, [ + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CUBONE, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CUBONE, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.GRAVEYARD, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.MAROWAK, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ], - [ Biome.BADLANDS, BiomePoolTier.BOSS, TimeOfDay.NIGHT ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY, TimeOfDay.DUSK ]] + [ SpeciesId.MAROWAK, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.GRAVEYARD, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS, TimeOfDay.NIGHT ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY, TimeOfDay.DUSK ]] ] ], - [ Species.HITMONLEE, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ] + [ SpeciesId.HITMONLEE, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.RARE ] ] ], - [ Species.HITMONCHAN, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ] + [ SpeciesId.HITMONCHAN, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.RARE ] ] ], - [ Species.LICKITUNG, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.LICKITUNG, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.KOFFING, PokemonType.POISON, -1, [ - [ Biome.SLUM, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.KOFFING, PokemonType.POISON, -1, [ + [ BiomeId.SLUM, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.WEEZING, PokemonType.POISON, -1, [ - [ Biome.SLUM, BiomePoolTier.COMMON ], - [ Biome.SLUM, BiomePoolTier.BOSS ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.WEEZING, PokemonType.POISON, -1, [ + [ BiomeId.SLUM, BiomePoolTier.COMMON ], + [ BiomeId.SLUM, BiomePoolTier.BOSS ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.RHYHORN, PokemonType.GROUND, PokemonType.ROCK, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.RHYHORN, PokemonType.GROUND, PokemonType.ROCK, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.RHYDON, PokemonType.GROUND, PokemonType.ROCK, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.RHYDON, PokemonType.GROUND, PokemonType.ROCK, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CHANSEY, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.SUPER_RARE ], - [ Biome.MEADOW, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.CHANSEY, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.MEADOW, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.TANGELA, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.TANGELA, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.KANGASKHAN, PokemonType.NORMAL, -1, [ - [ Biome.JUNGLE, BiomePoolTier.SUPER_RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.KANGASKHAN, PokemonType.NORMAL, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HORSEA, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ] + [ SpeciesId.HORSEA, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SEADRA, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SEADRA, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GOLDEEN, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.SEA, BiomePoolTier.UNCOMMON ] + [ SpeciesId.GOLDEEN, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SEAKING, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.LAKE, BiomePoolTier.BOSS ], - [ Biome.SEA, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SEAKING, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.LAKE, BiomePoolTier.BOSS ], + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ] ] ], - [ Species.STARYU, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.STARYU, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.STARMIE, PokemonType.WATER, PokemonType.PSYCHIC, [ - [ Biome.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.BEACH, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.STARMIE, PokemonType.WATER, PokemonType.PSYCHIC, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.BEACH, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.MR_MIME, PokemonType.PSYCHIC, PokemonType.FAIRY, [ - [ Biome.RUINS, BiomePoolTier.RARE ], - [ Biome.RUINS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.MR_MIME, PokemonType.PSYCHIC, PokemonType.FAIRY, [ + [ BiomeId.RUINS, BiomePoolTier.RARE ], + [ BiomeId.RUINS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SCYTHER, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.TALL_GRASS, BiomePoolTier.SUPER_RARE ], - [ Biome.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.SCYTHER, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.JYNX, PokemonType.ICE, PokemonType.PSYCHIC, [ - [ Biome.ICE_CAVE, BiomePoolTier.RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.JYNX, PokemonType.ICE, PokemonType.PSYCHIC, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ELECTABUZZ, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ] + [ SpeciesId.ELECTABUZZ, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.UNCOMMON ] ] ], - [ Species.MAGMAR, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.UNCOMMON ] + [ SpeciesId.MAGMAR, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.UNCOMMON ] ] ], - [ Species.PINSIR, PokemonType.BUG, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.PINSIR, PokemonType.BUG, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.TAUROS, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.RARE ], - [ Biome.MEADOW, BiomePoolTier.BOSS ] + [ SpeciesId.TAUROS, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS ] ] ], - [ Species.MAGIKARP, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.COMMON ], - [ Biome.LAKE, BiomePoolTier.COMMON ] + [ SpeciesId.MAGIKARP, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.COMMON ], + [ BiomeId.LAKE, BiomePoolTier.COMMON ] ] ], - [ Species.GYARADOS, PokemonType.WATER, PokemonType.FLYING, [ - [ Biome.SEA, BiomePoolTier.COMMON ], - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.LAKE, BiomePoolTier.BOSS ] + [ SpeciesId.GYARADOS, PokemonType.WATER, PokemonType.FLYING, [ + [ BiomeId.SEA, BiomePoolTier.COMMON ], + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.LAKE, BiomePoolTier.BOSS ] ] ], - [ Species.LAPRAS, PokemonType.WATER, PokemonType.ICE, [ - [ Biome.SEA, BiomePoolTier.RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.LAPRAS, PokemonType.WATER, PokemonType.ICE, [ + [ BiomeId.SEA, BiomePoolTier.RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.DITTO, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.ULTRA_RARE ], - [ Biome.PLAINS, BiomePoolTier.ULTRA_RARE ], - [ Biome.METROPOLIS, BiomePoolTier.SUPER_RARE ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.SUPER_RARE ], - [ Biome.LABORATORY, BiomePoolTier.RARE ] + [ SpeciesId.DITTO, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.PLAINS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.METROPOLIS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.LABORATORY, BiomePoolTier.RARE ] ] ], - [ Species.EEVEE, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.SUPER_RARE ], - [ Biome.PLAINS, BiomePoolTier.SUPER_RARE ], - [ Biome.METROPOLIS, BiomePoolTier.SUPER_RARE ], - [ Biome.MEADOW, BiomePoolTier.RARE ] + [ SpeciesId.EEVEE, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.PLAINS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.METROPOLIS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.MEADOW, BiomePoolTier.RARE ] ] ], - [ Species.VAPOREON, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.SUPER_RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.VAPOREON, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.JOLTEON, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.SUPER_RARE ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.JOLTEON, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.SUPER_RARE ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.FLAREON, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.FLAREON, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.SUPER_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.PORYGON, PokemonType.NORMAL, -1, [ - [ Biome.FACTORY, BiomePoolTier.RARE ], - [ Biome.SPACE, BiomePoolTier.SUPER_RARE ], - [ Biome.LABORATORY, BiomePoolTier.RARE ] + [ SpeciesId.PORYGON, PokemonType.NORMAL, -1, [ + [ BiomeId.FACTORY, BiomePoolTier.RARE ], + [ BiomeId.SPACE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.LABORATORY, BiomePoolTier.RARE ] ] ], - [ Species.OMANYTE, PokemonType.ROCK, PokemonType.WATER, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.OMANYTE, PokemonType.ROCK, PokemonType.WATER, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.OMASTAR, PokemonType.ROCK, PokemonType.WATER, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.OMASTAR, PokemonType.ROCK, PokemonType.WATER, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.KABUTO, PokemonType.ROCK, PokemonType.WATER, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.KABUTO, PokemonType.ROCK, PokemonType.WATER, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.KABUTOPS, PokemonType.ROCK, PokemonType.WATER, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.KABUTOPS, PokemonType.ROCK, PokemonType.WATER, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.AERODACTYL, PokemonType.ROCK, PokemonType.FLYING, [ - [ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.AERODACTYL, PokemonType.ROCK, PokemonType.FLYING, [ + [ BiomeId.WASTELAND, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SNORLAX, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.SUPER_RARE ], - [ Biome.PLAINS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SNORLAX, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ARTICUNO, PokemonType.ICE, PokemonType.FLYING, [ - [ Biome.ICE_CAVE, BiomePoolTier.ULTRA_RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ARTICUNO, PokemonType.ICE, PokemonType.FLYING, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.ZAPDOS, PokemonType.ELECTRIC, PokemonType.FLYING, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ZAPDOS, PokemonType.ELECTRIC, PokemonType.FLYING, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.MOLTRES, PokemonType.FIRE, PokemonType.FLYING, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.MOLTRES, PokemonType.FIRE, PokemonType.FLYING, [ + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.DRATINI, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.RARE ] + [ SpeciesId.DRATINI, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE ] ] ], - [ Species.DRAGONAIR, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.RARE ] + [ SpeciesId.DRAGONAIR, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE ] ] ], - [ Species.DRAGONITE, PokemonType.DRAGON, PokemonType.FLYING, [ - [ Biome.WASTELAND, BiomePoolTier.RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ SpeciesId.DRAGONITE, PokemonType.DRAGON, PokemonType.FLYING, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], - [ Species.MEWTWO, PokemonType.PSYCHIC, -1, [ - [ Biome.LABORATORY, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.MEWTWO, PokemonType.PSYCHIC, -1, [ + [ BiomeId.LABORATORY, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.MEW, PokemonType.PSYCHIC, -1, [ ] + [ SpeciesId.MEW, PokemonType.PSYCHIC, -1, [ ] ], - [ Species.CHIKORITA, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ] + [ SpeciesId.CHIKORITA, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ] ] ], - [ Species.BAYLEEF, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ] + [ SpeciesId.BAYLEEF, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ] ] ], - [ Species.MEGANIUM, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.MEGANIUM, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.CYNDAQUIL, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.CYNDAQUIL, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.QUILAVA, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.QUILAVA, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.TYPHLOSION, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.TYPHLOSION, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.TOTODILE, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.RARE ] + [ SpeciesId.TOTODILE, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.RARE ] ] ], - [ Species.CROCONAW, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.RARE ] + [ SpeciesId.CROCONAW, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.RARE ] ] ], - [ Species.FERALIGATR, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.RARE ], - [ Biome.SWAMP, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.FERALIGATR, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.RARE ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SENTRET, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SENTRET, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.FURRET, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.FURRET, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HOOTHOOT, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ] + [ SpeciesId.HOOTHOOT, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ] ] ], - [ Species.NOCTOWL, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] + [ SpeciesId.NOCTOWL, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] ] ], - [ Species.LEDYBA, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.DAWN ], - [ Biome.MEADOW, BiomePoolTier.COMMON, TimeOfDay.DAWN ] + [ SpeciesId.LEDYBA, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, TimeOfDay.DAWN ], + [ BiomeId.MEADOW, BiomePoolTier.COMMON, TimeOfDay.DAWN ] ] ], - [ Species.LEDIAN, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.MEADOW, BiomePoolTier.COMMON, TimeOfDay.DAWN ], - [ Biome.MEADOW, BiomePoolTier.BOSS, TimeOfDay.DAWN ] + [ SpeciesId.LEDIAN, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON, TimeOfDay.DAWN ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS, TimeOfDay.DAWN ] ] ], - [ Species.SPINARAK, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], - [ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], - [ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], - [ Biome.JUNGLE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] + [ SpeciesId.SPINARAK, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], + [ BiomeId.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], + [ BiomeId.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] ] ], - [ Species.ARIADOS, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], - [ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], - [ Biome.JUNGLE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] + [ SpeciesId.ARIADOS, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], + [ BiomeId.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] ] ], - [ Species.CROBAT, PokemonType.POISON, PokemonType.FLYING, [ - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.CROBAT, PokemonType.POISON, PokemonType.FLYING, [ + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.CHINCHOU, PokemonType.WATER, PokemonType.ELECTRIC, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.SEABED, BiomePoolTier.COMMON ] + [ SpeciesId.CHINCHOU, PokemonType.WATER, PokemonType.ELECTRIC, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.SEABED, BiomePoolTier.COMMON ] ] ], - [ Species.LANTURN, PokemonType.WATER, PokemonType.ELECTRIC, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.SEABED, BiomePoolTier.COMMON ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.LANTURN, PokemonType.WATER, PokemonType.ELECTRIC, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.SEABED, BiomePoolTier.COMMON ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.PICHU, PokemonType.ELECTRIC, -1, [ ] + [ SpeciesId.PICHU, PokemonType.ELECTRIC, -1, [ ] ], - [ Species.CLEFFA, PokemonType.FAIRY, -1, [ ] + [ SpeciesId.CLEFFA, PokemonType.FAIRY, -1, [ ] ], - [ Species.IGGLYBUFF, PokemonType.NORMAL, PokemonType.FAIRY, [ ] + [ SpeciesId.IGGLYBUFF, PokemonType.NORMAL, PokemonType.FAIRY, [ ] ], - [ Species.TOGEPI, PokemonType.FAIRY, -1, [ ] + [ SpeciesId.TOGEPI, PokemonType.FAIRY, -1, [ ] ], - [ Species.TOGETIC, PokemonType.FAIRY, PokemonType.FLYING, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.TOGETIC, PokemonType.FAIRY, PokemonType.FLYING, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.NATU, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.NATU, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.XATU, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.RUINS, BiomePoolTier.BOSS ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.XATU, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.MAREEP, PokemonType.ELECTRIC, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.RARE ] + [ SpeciesId.MAREEP, PokemonType.ELECTRIC, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.RARE ] ] ], - [ Species.FLAAFFY, PokemonType.ELECTRIC, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.RARE ] + [ SpeciesId.FLAAFFY, PokemonType.ELECTRIC, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.RARE ] ] ], - [ Species.AMPHAROS, PokemonType.ELECTRIC, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.AMPHAROS, PokemonType.ELECTRIC, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.BELLOSSOM, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BELLOSSOM, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.MARILL, PokemonType.WATER, PokemonType.FAIRY, [ - [ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.MARILL, PokemonType.WATER, PokemonType.FAIRY, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.AZUMARILL, PokemonType.WATER, PokemonType.FAIRY, [ - [ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.AZUMARILL, PokemonType.WATER, PokemonType.FAIRY, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.SUDOWOODO, PokemonType.ROCK, -1, [ - [ Biome.GRASS, BiomePoolTier.SUPER_RARE ], - [ Biome.GRASS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SUDOWOODO, PokemonType.ROCK, -1, [ + [ BiomeId.GRASS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.GRASS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.POLITOED, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.SUPER_RARE ], - [ Biome.SWAMP, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.POLITOED, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HOPPIP, PokemonType.GRASS, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HOPPIP, PokemonType.GRASS, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SKIPLOOM, PokemonType.GRASS, PokemonType.FLYING, [ - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SKIPLOOM, PokemonType.GRASS, PokemonType.FLYING, [ + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.JUMPLUFF, PokemonType.GRASS, PokemonType.FLYING, [ - [ Biome.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.JUMPLUFF, PokemonType.GRASS, PokemonType.FLYING, [ + [ BiomeId.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.AIPOM, PokemonType.NORMAL, -1, [ - [ Biome.JUNGLE, BiomePoolTier.COMMON ] + [ SpeciesId.AIPOM, PokemonType.NORMAL, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ] ] ], - [ Species.SUNKERN, PokemonType.GRASS, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SUNKERN, PokemonType.GRASS, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SUNFLORA, PokemonType.GRASS, -1, [ - [ Biome.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SUNFLORA, PokemonType.GRASS, -1, [ + [ BiomeId.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.YANMA, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.YANMA, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.WOOPER, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.LAKE, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.WOOPER, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.QUAGSIRE, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.LAKE, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.QUAGSIRE, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ESPEON, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.SUPER_RARE, TimeOfDay.DAY ], - [ Biome.RUINS, BiomePoolTier.BOSS_RARE, TimeOfDay.DAY ] + [ SpeciesId.ESPEON, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.SUPER_RARE, TimeOfDay.DAY ], + [ BiomeId.RUINS, BiomePoolTier.BOSS_RARE, TimeOfDay.DAY ] ] ], - [ Species.UMBREON, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.SUPER_RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.UMBREON, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.MURKROW, PokemonType.DARK, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE, TimeOfDay.NIGHT ], - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.MURKROW, PokemonType.DARK, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE, TimeOfDay.NIGHT ], + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.SLOWKING, PokemonType.WATER, PokemonType.PSYCHIC, [ - [ Biome.LAKE, BiomePoolTier.SUPER_RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SLOWKING, PokemonType.WATER, PokemonType.PSYCHIC, [ + [ BiomeId.LAKE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.MISDREAVUS, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.RARE ] + [ SpeciesId.MISDREAVUS, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.RARE ] ] ], - [ Species.UNOWN, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.COMMON ] + [ SpeciesId.UNOWN, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.COMMON ] ] ], - [ Species.WOBBUFFET, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.RARE ], - [ Biome.RUINS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.WOBBUFFET, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.RARE ], + [ BiomeId.RUINS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GIRAFARIG, PokemonType.NORMAL, PokemonType.PSYCHIC, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ] + [ SpeciesId.GIRAFARIG, PokemonType.NORMAL, PokemonType.PSYCHIC, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ] ] ], - [ Species.PINECO, PokemonType.BUG, -1, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PINECO, PokemonType.BUG, -1, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.FORRETRESS, PokemonType.BUG, PokemonType.STEEL, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.FORRETRESS, PokemonType.BUG, PokemonType.STEEL, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.DUNSPARCE, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.DUNSPARCE, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.GLIGAR, PokemonType.GROUND, PokemonType.FLYING, [ - [ Biome.BADLANDS, BiomePoolTier.RARE ] + [ SpeciesId.GLIGAR, PokemonType.GROUND, PokemonType.FLYING, [ + [ BiomeId.BADLANDS, BiomePoolTier.RARE ] ] ], - [ Species.STEELIX, PokemonType.STEEL, PokemonType.GROUND, [ - [ Biome.BADLANDS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.STEELIX, PokemonType.STEEL, PokemonType.GROUND, [ + [ BiomeId.BADLANDS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SNUBBULL, PokemonType.FAIRY, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SNUBBULL, PokemonType.FAIRY, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GRANBULL, PokemonType.FAIRY, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GRANBULL, PokemonType.FAIRY, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.QWILFISH, PokemonType.WATER, PokemonType.POISON, [ - [ Biome.SEABED, BiomePoolTier.RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.QWILFISH, PokemonType.WATER, PokemonType.POISON, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.SCIZOR, PokemonType.BUG, PokemonType.STEEL, [ - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SCIZOR, PokemonType.BUG, PokemonType.STEEL, [ + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SHUCKLE, PokemonType.BUG, PokemonType.ROCK, [ - [ Biome.CAVE, BiomePoolTier.SUPER_RARE ], - [ Biome.CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SHUCKLE, PokemonType.BUG, PokemonType.ROCK, [ + [ BiomeId.CAVE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HERACROSS, PokemonType.BUG, PokemonType.FIGHTING, [ - [ Biome.FOREST, BiomePoolTier.RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HERACROSS, PokemonType.BUG, PokemonType.FIGHTING, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SNEASEL, PokemonType.DARK, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SNEASEL, PokemonType.DARK, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TEDDIURSA, PokemonType.NORMAL, -1, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TEDDIURSA, PokemonType.NORMAL, -1, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.URSARING, PokemonType.NORMAL, -1, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.URSARING, PokemonType.NORMAL, -1, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SLUGMA, PokemonType.FIRE, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.SLUGMA, PokemonType.FIRE, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.MAGCARGO, PokemonType.FIRE, PokemonType.ROCK, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.COMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.MAGCARGO, PokemonType.FIRE, PokemonType.ROCK, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.SWINUB, PokemonType.ICE, PokemonType.GROUND, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ] + [ SpeciesId.SWINUB, PokemonType.ICE, PokemonType.GROUND, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON ] ] ], - [ Species.PILOSWINE, PokemonType.ICE, PokemonType.GROUND, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ] + [ SpeciesId.PILOSWINE, PokemonType.ICE, PokemonType.GROUND, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON ] ] ], - [ Species.CORSOLA, PokemonType.WATER, PokemonType.ROCK, [ - [ Biome.SEABED, BiomePoolTier.RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.CORSOLA, PokemonType.WATER, PokemonType.ROCK, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.REMORAID, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.COMMON ] + [ SpeciesId.REMORAID, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ] ] ], - [ Species.OCTILLERY, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.OCTILLERY, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.DELIBIRD, PokemonType.ICE, PokemonType.FLYING, [ - [ Biome.ICE_CAVE, BiomePoolTier.SUPER_RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.RARE ] + [ SpeciesId.DELIBIRD, PokemonType.ICE, PokemonType.FLYING, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.RARE ] ] ], - [ Species.MANTINE, PokemonType.WATER, PokemonType.FLYING, [ - [ Biome.SEABED, BiomePoolTier.RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.MANTINE, PokemonType.WATER, PokemonType.FLYING, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.SKARMORY, PokemonType.STEEL, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ SpeciesId.SKARMORY, PokemonType.STEEL, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], - [ Species.HOUNDOUR, PokemonType.DARK, PokemonType.FIRE, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.HOUNDOUR, PokemonType.DARK, PokemonType.FIRE, [ + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.HOUNDOOM, PokemonType.DARK, PokemonType.FIRE, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.HOUNDOOM, PokemonType.DARK, PokemonType.FIRE, [ + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.KINGDRA, PokemonType.WATER, PokemonType.DRAGON, [ - [ Biome.SEA, BiomePoolTier.SUPER_RARE ], - [ Biome.SEA, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.KINGDRA, PokemonType.WATER, PokemonType.DRAGON, [ + [ BiomeId.SEA, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEA, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.PHANPY, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.PHANPY, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.DONPHAN, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DONPHAN, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.PORYGON2, PokemonType.NORMAL, -1, [ - [ Biome.FACTORY, BiomePoolTier.RARE ], - [ Biome.SPACE, BiomePoolTier.SUPER_RARE ], - [ Biome.LABORATORY, BiomePoolTier.RARE ] + [ SpeciesId.PORYGON2, PokemonType.NORMAL, -1, [ + [ BiomeId.FACTORY, BiomePoolTier.RARE ], + [ BiomeId.SPACE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.LABORATORY, BiomePoolTier.RARE ] ] ], - [ Species.STANTLER, PokemonType.NORMAL, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.STANTLER, PokemonType.NORMAL, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SMEARGLE, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.SMEARGLE, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.TYROGUE, PokemonType.FIGHTING, -1, [ ] + [ SpeciesId.TYROGUE, PokemonType.FIGHTING, -1, [ ] ], - [ Species.HITMONTOP, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.SUPER_RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS_RARE ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.HITMONTOP, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.SUPER_RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS_RARE ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.SMOOCHUM, PokemonType.ICE, PokemonType.PSYCHIC, [ ] + [ SpeciesId.SMOOCHUM, PokemonType.ICE, PokemonType.PSYCHIC, [ ] ], - [ Species.ELEKID, PokemonType.ELECTRIC, -1, [ ] + [ SpeciesId.ELEKID, PokemonType.ELECTRIC, -1, [ ] ], - [ Species.MAGBY, PokemonType.FIRE, -1, [ ] + [ SpeciesId.MAGBY, PokemonType.FIRE, -1, [ ] ], - [ Species.MILTANK, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.RARE ], - [ Biome.MEADOW, BiomePoolTier.BOSS ] + [ SpeciesId.MILTANK, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS ] ] ], - [ Species.BLISSEY, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.BLISSEY, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.RAIKOU, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.RAIKOU, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.ENTEI, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ENTEI, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.SUICUNE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.ULTRA_RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.SUICUNE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.LARVITAR, PokemonType.ROCK, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.LARVITAR, PokemonType.ROCK, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PUPITAR, PokemonType.ROCK, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PUPITAR, PokemonType.ROCK, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.TYRANITAR, PokemonType.ROCK, PokemonType.DARK, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.TYRANITAR, PokemonType.ROCK, PokemonType.DARK, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.LUGIA, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.SEA, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.LUGIA, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.SEA, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.HO_OH, PokemonType.FIRE, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.HO_OH, PokemonType.FIRE, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.CELEBI, PokemonType.PSYCHIC, PokemonType.GRASS, [ ] + [ SpeciesId.CELEBI, PokemonType.PSYCHIC, PokemonType.GRASS, [ ] ], - [ Species.TREECKO, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.TREECKO, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.GROVYLE, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.GROVYLE, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.SCEPTILE, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SCEPTILE, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.TORCHIC, PokemonType.FIRE, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ] + [ SpeciesId.TORCHIC, PokemonType.FIRE, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ] ] ], - [ Species.COMBUSKEN, PokemonType.FIRE, PokemonType.FIGHTING, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ] + [ SpeciesId.COMBUSKEN, PokemonType.FIRE, PokemonType.FIGHTING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ] ] ], - [ Species.BLAZIKEN, PokemonType.FIRE, PokemonType.FIGHTING, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.BLAZIKEN, PokemonType.FIRE, PokemonType.FIGHTING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.MUDKIP, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.RARE ] + [ SpeciesId.MUDKIP, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.RARE ] ] ], - [ Species.MARSHTOMP, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.RARE ] + [ SpeciesId.MARSHTOMP, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.RARE ] ] ], - [ Species.SWAMPERT, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.RARE ], - [ Biome.SWAMP, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SWAMPERT, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.RARE ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.POOCHYENA, PokemonType.DARK, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.POOCHYENA, PokemonType.DARK, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.MIGHTYENA, PokemonType.DARK, -1, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.MIGHTYENA, PokemonType.DARK, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ZIGZAGOON, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.COMMON ], - [ Biome.METROPOLIS, BiomePoolTier.COMMON ] + [ SpeciesId.ZIGZAGOON, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.COMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ] ] ], - [ Species.LINOONE, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.BOSS ], - [ Biome.METROPOLIS, BiomePoolTier.COMMON ] + [ SpeciesId.LINOONE, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS ], + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ] ] ], - [ Species.WURMPLE, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON ] + [ SpeciesId.WURMPLE, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ] ] ], - [ Species.SILCOON, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.DAY ] + [ SpeciesId.SILCOON, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, TimeOfDay.DAY ] ] ], - [ Species.BEAUTIFLY, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.DAY ], - [ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.DAY ] + [ SpeciesId.BEAUTIFLY, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, TimeOfDay.DAY ], + [ BiomeId.FOREST, BiomePoolTier.BOSS, TimeOfDay.DAY ] ] ], - [ Species.CASCOON, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] + [ SpeciesId.CASCOON, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] ] ], - [ Species.DUSTOX, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] + [ SpeciesId.DUSTOX, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] ] ], - [ Species.LOTAD, PokemonType.WATER, PokemonType.GRASS, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.LOTAD, PokemonType.WATER, PokemonType.GRASS, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.LOMBRE, PokemonType.WATER, PokemonType.GRASS, [ - [ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.LOMBRE, PokemonType.WATER, PokemonType.GRASS, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.LUDICOLO, PokemonType.WATER, PokemonType.GRASS, [ - [ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.LUDICOLO, PokemonType.WATER, PokemonType.GRASS, [ + [ BiomeId.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SEEDOT, PokemonType.GRASS, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SEEDOT, PokemonType.GRASS, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.NUZLEAF, PokemonType.GRASS, PokemonType.DARK, [ - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.NUZLEAF, PokemonType.GRASS, PokemonType.DARK, [ + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SHIFTRY, PokemonType.GRASS, PokemonType.DARK, [ - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SHIFTRY, PokemonType.GRASS, PokemonType.DARK, [ + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.TAILLOW, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TAILLOW, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SWELLOW, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SWELLOW, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.WINGULL, PokemonType.WATER, PokemonType.FLYING, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.WINGULL, PokemonType.WATER, PokemonType.FLYING, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.PELIPPER, PokemonType.WATER, PokemonType.FLYING, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.PELIPPER, PokemonType.WATER, PokemonType.FLYING, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.RALTS, PokemonType.PSYCHIC, PokemonType.FAIRY, [ - [ Biome.TOWN, BiomePoolTier.SUPER_RARE ], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.RALTS, PokemonType.PSYCHIC, PokemonType.FAIRY, [ + [ BiomeId.TOWN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.KIRLIA, PokemonType.PSYCHIC, PokemonType.FAIRY, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.KIRLIA, PokemonType.PSYCHIC, PokemonType.FAIRY, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GARDEVOIR, PokemonType.PSYCHIC, PokemonType.FAIRY, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.MEADOW, BiomePoolTier.BOSS ], - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.GARDEVOIR, PokemonType.PSYCHIC, PokemonType.FAIRY, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SURSKIT, PokemonType.BUG, PokemonType.WATER, [ - [ Biome.TOWN, BiomePoolTier.RARE ], - [ Biome.LAKE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SURSKIT, PokemonType.BUG, PokemonType.WATER, [ + [ BiomeId.TOWN, BiomePoolTier.RARE ], + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.MASQUERAIN, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.LAKE, BiomePoolTier.UNCOMMON ], - [ Biome.LAKE, BiomePoolTier.BOSS ] + [ SpeciesId.MASQUERAIN, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ], + [ BiomeId.LAKE, BiomePoolTier.BOSS ] ] ], - [ Species.SHROOMISH, PokemonType.GRASS, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SHROOMISH, PokemonType.GRASS, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.BRELOOM, PokemonType.GRASS, PokemonType.FIGHTING, [ - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.BRELOOM, PokemonType.GRASS, PokemonType.FIGHTING, [ + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SLAKOTH, PokemonType.NORMAL, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.SLAKOTH, PokemonType.NORMAL, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.VIGOROTH, PokemonType.NORMAL, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.VIGOROTH, PokemonType.NORMAL, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.SLAKING, PokemonType.NORMAL, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SLAKING, PokemonType.NORMAL, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.NINCADA, PokemonType.BUG, PokemonType.GROUND, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON ], - [ Biome.TALL_GRASS, BiomePoolTier.COMMON ] + [ SpeciesId.NINCADA, PokemonType.BUG, PokemonType.GROUND, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON ], + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON ] ] ], - [ Species.NINJASK, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ] + [ SpeciesId.NINJASK, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ] ] ], - [ Species.SHEDINJA, PokemonType.BUG, PokemonType.GHOST, [ - [ Biome.TALL_GRASS, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.SHEDINJA, PokemonType.BUG, PokemonType.GHOST, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.WHISMUR, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.WHISMUR, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.LOUDRED, PokemonType.NORMAL, -1, [ - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.LOUDRED, PokemonType.NORMAL, -1, [ + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.EXPLOUD, PokemonType.NORMAL, -1, [ - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.EXPLOUD, PokemonType.NORMAL, -1, [ + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.MAKUHITA, PokemonType.FIGHTING, -1, [ - [ Biome.CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.DOJO, BiomePoolTier.COMMON ] + [ SpeciesId.MAKUHITA, PokemonType.FIGHTING, -1, [ + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.DOJO, BiomePoolTier.COMMON ] ] ], - [ Species.HARIYAMA, PokemonType.FIGHTING, -1, [ - [ Biome.CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.DOJO, BiomePoolTier.COMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.HARIYAMA, PokemonType.FIGHTING, -1, [ + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.DOJO, BiomePoolTier.COMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.AZURILL, PokemonType.NORMAL, PokemonType.FAIRY, [ ] + [ SpeciesId.AZURILL, PokemonType.NORMAL, PokemonType.FAIRY, [ ] ], - [ Species.NOSEPASS, PokemonType.ROCK, -1, [ - [ Biome.CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.NOSEPASS, PokemonType.ROCK, -1, [ + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SKITTY, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SKITTY, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.DELCATTY, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DELCATTY, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SABLEYE, PokemonType.DARK, PokemonType.GHOST, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.SABLEYE, PokemonType.DARK, PokemonType.GHOST, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.MAWILE, PokemonType.STEEL, PokemonType.FAIRY, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.MAWILE, PokemonType.STEEL, PokemonType.FAIRY, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.ARON, PokemonType.STEEL, PokemonType.ROCK, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ARON, PokemonType.STEEL, PokemonType.ROCK, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.LAIRON, PokemonType.STEEL, PokemonType.ROCK, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.LAIRON, PokemonType.STEEL, PokemonType.ROCK, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.AGGRON, PokemonType.STEEL, PokemonType.ROCK, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ SpeciesId.AGGRON, PokemonType.STEEL, PokemonType.ROCK, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], - [ Species.MEDITITE, PokemonType.FIGHTING, PokemonType.PSYCHIC, [ - [ Biome.DOJO, BiomePoolTier.COMMON ] + [ SpeciesId.MEDITITE, PokemonType.FIGHTING, PokemonType.PSYCHIC, [ + [ BiomeId.DOJO, BiomePoolTier.COMMON ] ] ], - [ Species.MEDICHAM, PokemonType.FIGHTING, PokemonType.PSYCHIC, [ - [ Biome.DOJO, BiomePoolTier.COMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.MEDICHAM, PokemonType.FIGHTING, PokemonType.PSYCHIC, [ + [ BiomeId.DOJO, BiomePoolTier.COMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.ELECTRIKE, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.ELECTRIKE, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.MANECTRIC, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.MANECTRIC, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.PLUSLE, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ] + [ SpeciesId.PLUSLE, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.UNCOMMON ] ] ], - [ Species.MINUN, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ] + [ SpeciesId.MINUN, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.UNCOMMON ] ] ], - [ Species.VOLBEAT, PokemonType.BUG, -1, [ - [ Biome.MEADOW, BiomePoolTier.RARE, TimeOfDay.NIGHT ] + [ SpeciesId.VOLBEAT, PokemonType.BUG, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE, TimeOfDay.NIGHT ] ] ], - [ Species.ILLUMISE, PokemonType.BUG, -1, [ - [ Biome.MEADOW, BiomePoolTier.RARE, TimeOfDay.NIGHT ] + [ SpeciesId.ILLUMISE, PokemonType.BUG, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE, TimeOfDay.NIGHT ] ] ], - [ Species.ROSELIA, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ROSELIA, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GULPIN, PokemonType.POISON, -1, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ] + [ SpeciesId.GULPIN, PokemonType.POISON, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON ] ] ], - [ Species.SWALOT, PokemonType.POISON, -1, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ], - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ SpeciesId.SWALOT, PokemonType.POISON, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], - [ Species.CARVANHA, PokemonType.WATER, PokemonType.DARK, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.CARVANHA, PokemonType.WATER, PokemonType.DARK, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SHARPEDO, PokemonType.WATER, PokemonType.DARK, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SHARPEDO, PokemonType.WATER, PokemonType.DARK, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.WAILMER, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ], - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.WAILMER, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.WAILORD, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ], - [ Biome.SEABED, BiomePoolTier.UNCOMMON ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.WAILORD, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.NUMEL, PokemonType.FIRE, PokemonType.GROUND, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.NUMEL, PokemonType.FIRE, PokemonType.GROUND, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.CAMERUPT, PokemonType.FIRE, PokemonType.GROUND, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.COMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.CAMERUPT, PokemonType.FIRE, PokemonType.GROUND, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.TORKOAL, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.TORKOAL, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.SPOINK, PokemonType.PSYCHIC, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ], - [ Biome.RUINS, BiomePoolTier.COMMON ] + [ SpeciesId.SPOINK, PokemonType.PSYCHIC, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ], + [ BiomeId.RUINS, BiomePoolTier.COMMON ] ] ], - [ Species.GRUMPIG, PokemonType.PSYCHIC, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ], - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ SpeciesId.GRUMPIG, PokemonType.PSYCHIC, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ], + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], - [ Species.SPINDA, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.RARE ] + [ SpeciesId.SPINDA, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ] ] ], - [ Species.TRAPINCH, PokemonType.GROUND, -1, [ - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TRAPINCH, PokemonType.GROUND, -1, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VIBRAVA, PokemonType.GROUND, PokemonType.DRAGON, [ - [ Biome.DESERT, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.WASTELAND, BiomePoolTier.COMMON ] + [ SpeciesId.VIBRAVA, PokemonType.GROUND, PokemonType.DRAGON, [ + [ BiomeId.DESERT, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ] ] ], - [ Species.FLYGON, PokemonType.GROUND, PokemonType.DRAGON, [ - [ Biome.DESERT, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.WASTELAND, BiomePoolTier.COMMON ], - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ SpeciesId.FLYGON, PokemonType.GROUND, PokemonType.DRAGON, [ + [ BiomeId.DESERT, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], - [ Species.CACNEA, PokemonType.GRASS, -1, [ - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.CACNEA, PokemonType.GRASS, -1, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.CACTURNE, PokemonType.GRASS, PokemonType.DARK, [ - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.CACTURNE, PokemonType.GRASS, PokemonType.DARK, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SWABLU, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.WASTELAND, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SWABLU, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.WASTELAND, BiomePoolTier.UNCOMMON ] ] ], - [ Species.ALTARIA, PokemonType.DRAGON, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.WASTELAND, BiomePoolTier.UNCOMMON ] + [ SpeciesId.ALTARIA, PokemonType.DRAGON, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.WASTELAND, BiomePoolTier.UNCOMMON ] ] ], - [ Species.ZANGOOSE, PokemonType.NORMAL, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ] + [ SpeciesId.ZANGOOSE, PokemonType.NORMAL, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ] ] ], - [ Species.SEVIPER, PokemonType.POISON, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.SEVIPER, PokemonType.POISON, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.LUNATONE, PokemonType.ROCK, PokemonType.PSYCHIC, [ - [ Biome.SPACE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.SPACE, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] + [ SpeciesId.LUNATONE, PokemonType.ROCK, PokemonType.PSYCHIC, [ + [ BiomeId.SPACE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.SPACE, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] ] ], - [ Species.SOLROCK, PokemonType.ROCK, PokemonType.PSYCHIC, [ - [ Biome.SPACE, BiomePoolTier.COMMON, TimeOfDay.DAY ], - [ Biome.SPACE, BiomePoolTier.BOSS, TimeOfDay.DAY ] + [ SpeciesId.SOLROCK, PokemonType.ROCK, PokemonType.PSYCHIC, [ + [ BiomeId.SPACE, BiomePoolTier.COMMON, TimeOfDay.DAY ], + [ BiomeId.SPACE, BiomePoolTier.BOSS, TimeOfDay.DAY ] ] ], - [ Species.BARBOACH, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ] + [ SpeciesId.BARBOACH, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ] ] ], - [ Species.WHISCASH, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ SpeciesId.WHISCASH, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], - [ Species.CORPHISH, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ SpeciesId.CORPHISH, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], - [ Species.CRAWDAUNT, PokemonType.WATER, PokemonType.DARK, [ - [ Biome.BEACH, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ SpeciesId.CRAWDAUNT, PokemonType.WATER, PokemonType.DARK, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], - [ Species.BALTOY, PokemonType.GROUND, PokemonType.PSYCHIC, [ - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.SPACE, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.BALTOY, PokemonType.GROUND, PokemonType.PSYCHIC, [ + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.SPACE, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CLAYDOL, PokemonType.GROUND, PokemonType.PSYCHIC, [ - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.RUINS, BiomePoolTier.BOSS ], - [ Biome.SPACE, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CLAYDOL, PokemonType.GROUND, PokemonType.PSYCHIC, [ + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ], + [ BiomeId.SPACE, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.LILEEP, PokemonType.ROCK, PokemonType.GRASS, [ - [ Biome.DESERT, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.LILEEP, PokemonType.ROCK, PokemonType.GRASS, [ + [ BiomeId.DESERT, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.CRADILY, PokemonType.ROCK, PokemonType.GRASS, [ - [ Biome.DESERT, BiomePoolTier.SUPER_RARE ], - [ Biome.DESERT, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CRADILY, PokemonType.ROCK, PokemonType.GRASS, [ + [ BiomeId.DESERT, BiomePoolTier.SUPER_RARE ], + [ BiomeId.DESERT, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ANORITH, PokemonType.ROCK, PokemonType.BUG, [ - [ Biome.DESERT, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.ANORITH, PokemonType.ROCK, PokemonType.BUG, [ + [ BiomeId.DESERT, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.ARMALDO, PokemonType.ROCK, PokemonType.BUG, [ - [ Biome.DESERT, BiomePoolTier.SUPER_RARE ], - [ Biome.DESERT, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ARMALDO, PokemonType.ROCK, PokemonType.BUG, [ + [ BiomeId.DESERT, BiomePoolTier.SUPER_RARE ], + [ BiomeId.DESERT, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.FEEBAS, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.ULTRA_RARE ] + [ SpeciesId.FEEBAS, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.ULTRA_RARE ] ] ], - [ Species.MILOTIC, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.MILOTIC, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.CASTFORM, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.ULTRA_RARE ], - [ Biome.METROPOLIS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CASTFORM, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.KECLEON, PokemonType.NORMAL, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ] + [ SpeciesId.KECLEON, PokemonType.NORMAL, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ] ] ], - [ Species.SHUPPET, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ] + [ SpeciesId.SHUPPET, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ] ] ], - [ Species.BANETTE, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.BANETTE, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.DUSKULL, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.DUSKULL, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.DUSCLOPS, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.DUSCLOPS, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.TROPIUS, PokemonType.GRASS, PokemonType.FLYING, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ], - [ Biome.FOREST, BiomePoolTier.RARE ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TROPIUS, PokemonType.GRASS, PokemonType.FLYING, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ], + [ BiomeId.FOREST, BiomePoolTier.RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CHIMECHO, PokemonType.PSYCHIC, -1, [ - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.BOSS ] + [ SpeciesId.CHIMECHO, PokemonType.PSYCHIC, -1, [ + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.BOSS ] ] ], - [ Species.ABSOL, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.ABSOL, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.RARE ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.WYNAUT, PokemonType.PSYCHIC, -1, [ ] + [ SpeciesId.WYNAUT, PokemonType.PSYCHIC, -1, [ ] ], - [ Species.SNORUNT, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SNORUNT, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GLALIE, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.GLALIE, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.SPHEAL, PokemonType.ICE, PokemonType.WATER, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SPHEAL, PokemonType.ICE, PokemonType.WATER, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SEALEO, PokemonType.ICE, PokemonType.WATER, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SEALEO, PokemonType.ICE, PokemonType.WATER, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.WALREIN, PokemonType.ICE, PokemonType.WATER, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.WALREIN, PokemonType.ICE, PokemonType.WATER, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.CLAMPERL, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.COMMON ] + [ SpeciesId.CLAMPERL, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ] ] ], - [ Species.HUNTAIL, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.HUNTAIL, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.GOREBYSS, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.GOREBYSS, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.RELICANTH, PokemonType.WATER, PokemonType.ROCK, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.RELICANTH, PokemonType.WATER, PokemonType.ROCK, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.LUVDISC, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.UNCOMMON ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.LUVDISC, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.BAGON, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BAGON, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SHELGON, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SHELGON, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SALAMENCE, PokemonType.DRAGON, PokemonType.FLYING, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SALAMENCE, PokemonType.DRAGON, PokemonType.FLYING, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BELDUM, PokemonType.STEEL, PokemonType.PSYCHIC, [ - [ Biome.FACTORY, BiomePoolTier.SUPER_RARE ], - [ Biome.SPACE, BiomePoolTier.RARE ] + [ SpeciesId.BELDUM, PokemonType.STEEL, PokemonType.PSYCHIC, [ + [ BiomeId.FACTORY, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SPACE, BiomePoolTier.RARE ] ] ], - [ Species.METANG, PokemonType.STEEL, PokemonType.PSYCHIC, [ - [ Biome.FACTORY, BiomePoolTier.SUPER_RARE ], - [ Biome.SPACE, BiomePoolTier.RARE ] + [ SpeciesId.METANG, PokemonType.STEEL, PokemonType.PSYCHIC, [ + [ BiomeId.FACTORY, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SPACE, BiomePoolTier.RARE ] ] ], - [ Species.METAGROSS, PokemonType.STEEL, PokemonType.PSYCHIC, [ - [ Biome.FACTORY, BiomePoolTier.SUPER_RARE ], - [ Biome.SPACE, BiomePoolTier.RARE ], - [ Biome.SPACE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.METAGROSS, PokemonType.STEEL, PokemonType.PSYCHIC, [ + [ BiomeId.FACTORY, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SPACE, BiomePoolTier.RARE ], + [ BiomeId.SPACE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.REGIROCK, PokemonType.ROCK, -1, [ - [ Biome.DESERT, BiomePoolTier.ULTRA_RARE ], - [ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.REGIROCK, PokemonType.ROCK, -1, [ + [ BiomeId.DESERT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.REGICE, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.ULTRA_RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.REGICE, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.REGISTEEL, PokemonType.STEEL, -1, [ - [ Biome.RUINS, BiomePoolTier.ULTRA_RARE ], - [ Biome.RUINS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.REGISTEEL, PokemonType.STEEL, -1, [ + [ BiomeId.RUINS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.RUINS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.LATIAS, PokemonType.DRAGON, PokemonType.PSYCHIC, [ - [ Biome.PLAINS, BiomePoolTier.ULTRA_RARE ], - [ Biome.PLAINS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.LATIAS, PokemonType.DRAGON, PokemonType.PSYCHIC, [ + [ BiomeId.PLAINS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.LATIOS, PokemonType.DRAGON, PokemonType.PSYCHIC, [ - [ Biome.PLAINS, BiomePoolTier.ULTRA_RARE ], - [ Biome.PLAINS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.LATIOS, PokemonType.DRAGON, PokemonType.PSYCHIC, [ + [ BiomeId.PLAINS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.KYOGRE, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.KYOGRE, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.GROUDON, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.GROUDON, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.RAYQUAZA, PokemonType.DRAGON, PokemonType.FLYING, [ - [ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.RAYQUAZA, PokemonType.DRAGON, PokemonType.FLYING, [ + [ BiomeId.SPACE, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.JIRACHI, PokemonType.STEEL, PokemonType.PSYCHIC, [ ] + [ SpeciesId.JIRACHI, PokemonType.STEEL, PokemonType.PSYCHIC, [ ] ], - [ Species.DEOXYS, PokemonType.PSYCHIC, -1, [ ] + [ SpeciesId.DEOXYS, PokemonType.PSYCHIC, -1, [ ] ], - [ Species.TURTWIG, PokemonType.GRASS, -1, [ - [ Biome.GRASS, BiomePoolTier.RARE ] + [ SpeciesId.TURTWIG, PokemonType.GRASS, -1, [ + [ BiomeId.GRASS, BiomePoolTier.RARE ] ] ], - [ Species.GROTLE, PokemonType.GRASS, -1, [ - [ Biome.GRASS, BiomePoolTier.RARE ] + [ SpeciesId.GROTLE, PokemonType.GRASS, -1, [ + [ BiomeId.GRASS, BiomePoolTier.RARE ] ] ], - [ Species.TORTERRA, PokemonType.GRASS, PokemonType.GROUND, [ - [ Biome.GRASS, BiomePoolTier.RARE ], - [ Biome.GRASS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.TORTERRA, PokemonType.GRASS, PokemonType.GROUND, [ + [ BiomeId.GRASS, BiomePoolTier.RARE ], + [ BiomeId.GRASS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.CHIMCHAR, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.CHIMCHAR, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.MONFERNO, PokemonType.FIRE, PokemonType.FIGHTING, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.MONFERNO, PokemonType.FIRE, PokemonType.FIGHTING, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.INFERNAPE, PokemonType.FIRE, PokemonType.FIGHTING, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.INFERNAPE, PokemonType.FIRE, PokemonType.FIGHTING, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.PIPLUP, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.RARE ] + [ SpeciesId.PIPLUP, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.RARE ] ] ], - [ Species.PRINPLUP, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.RARE ] + [ SpeciesId.PRINPLUP, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.RARE ] ] ], - [ Species.EMPOLEON, PokemonType.WATER, PokemonType.STEEL, [ - [ Biome.SEA, BiomePoolTier.RARE ], - [ Biome.SEA, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.EMPOLEON, PokemonType.WATER, PokemonType.STEEL, [ + [ BiomeId.SEA, BiomePoolTier.RARE ], + [ BiomeId.SEA, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.STARLY, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.STARLY, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.STARAVIA, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.STARAVIA, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.STARAPTOR, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.STARAPTOR, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BIDOOF, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.COMMON ] + [ SpeciesId.BIDOOF, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.COMMON ] ] ], - [ Species.BIBAREL, PokemonType.NORMAL, PokemonType.WATER, [ - [ Biome.PLAINS, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.BOSS ] + [ SpeciesId.BIBAREL, PokemonType.NORMAL, PokemonType.WATER, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS ] ] ], - [ Species.KRICKETOT, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.KRICKETOT, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.KRICKETUNE, PokemonType.BUG, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.KRICKETUNE, PokemonType.BUG, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SHINX, PokemonType.ELECTRIC, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.SHINX, PokemonType.ELECTRIC, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.LUXIO, PokemonType.ELECTRIC, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.LUXIO, PokemonType.ELECTRIC, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.LUXRAY, PokemonType.ELECTRIC, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.LUXRAY, PokemonType.ELECTRIC, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.BUDEW, PokemonType.GRASS, PokemonType.POISON, [ ] + [ SpeciesId.BUDEW, PokemonType.GRASS, PokemonType.POISON, [ ] ], - [ Species.ROSERADE, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ROSERADE, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CRANIDOS, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.CRANIDOS, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.RAMPARDOS, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.RAMPARDOS, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SHIELDON, PokemonType.ROCK, PokemonType.STEEL, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.SHIELDON, PokemonType.ROCK, PokemonType.STEEL, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.BASTIODON, PokemonType.ROCK, PokemonType.STEEL, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.BASTIODON, PokemonType.ROCK, PokemonType.STEEL, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.BURMY, PokemonType.BUG, -1, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.BEACH, BiomePoolTier.UNCOMMON ], - [ Biome.SLUM, BiomePoolTier.UNCOMMON ] + [ SpeciesId.BURMY, PokemonType.BUG, -1, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ], + [ BiomeId.SLUM, BiomePoolTier.UNCOMMON ] ] ], - [ Species.WORMADAM, PokemonType.BUG, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.FOREST, BiomePoolTier.BOSS ], - [ Biome.BEACH, BiomePoolTier.UNCOMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ], - [ Biome.SLUM, BiomePoolTier.UNCOMMON ], - [ Biome.SLUM, BiomePoolTier.BOSS ] + [ SpeciesId.WORMADAM, PokemonType.BUG, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.FOREST, BiomePoolTier.BOSS ], + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ], + [ BiomeId.SLUM, BiomePoolTier.UNCOMMON ], + [ BiomeId.SLUM, BiomePoolTier.BOSS ] ] ], - [ Species.MOTHIM, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.MOTHIM, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.COMBEE, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.COMBEE, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VESPIQUEN, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.VESPIQUEN, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.PACHIRISU, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ] + [ SpeciesId.PACHIRISU, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.UNCOMMON ] ] ], - [ Species.BUIZEL, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.COMMON ] + [ SpeciesId.BUIZEL, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.COMMON ] ] ], - [ Species.FLOATZEL, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.COMMON ], - [ Biome.SEA, BiomePoolTier.BOSS ] + [ SpeciesId.FLOATZEL, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.COMMON ], + [ BiomeId.SEA, BiomePoolTier.BOSS ] ] ], - [ Species.CHERUBI, PokemonType.GRASS, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CHERUBI, PokemonType.GRASS, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CHERRIM, PokemonType.GRASS, -1, [ - [ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CHERRIM, PokemonType.GRASS, -1, [ + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SHELLOS, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ], - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SHELLOS, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON ], + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GASTRODON, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ], - [ Biome.SWAMP, BiomePoolTier.BOSS ], - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.GASTRODON, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS ], + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.AMBIPOM, PokemonType.NORMAL, -1, [ - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.AMBIPOM, PokemonType.NORMAL, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.DRIFLOON, PokemonType.GHOST, PokemonType.FLYING, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ] + [ SpeciesId.DRIFLOON, PokemonType.GHOST, PokemonType.FLYING, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ] ] ], - [ Species.DRIFBLIM, PokemonType.GHOST, PokemonType.FLYING, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.DRIFBLIM, PokemonType.GHOST, PokemonType.FLYING, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.BUNEARY, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE ] + [ SpeciesId.BUNEARY, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE ] ] ], - [ Species.LOPUNNY, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE ], - [ Biome.PLAINS, BiomePoolTier.BOSS ] + [ SpeciesId.LOPUNNY, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS ] ] ], - [ Species.MISMAGIUS, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.MISMAGIUS, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.HONCHKROW, PokemonType.DARK, PokemonType.FLYING, [ - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.HONCHKROW, PokemonType.DARK, PokemonType.FLYING, [ + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.GLAMEOW, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ] + [ SpeciesId.GLAMEOW, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ] ] ], - [ Species.PURUGLY, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.MEADOW, BiomePoolTier.BOSS ] + [ SpeciesId.PURUGLY, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS ] ] ], - [ Species.CHINGLING, PokemonType.PSYCHIC, -1, [ - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CHINGLING, PokemonType.PSYCHIC, -1, [ + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.STUNKY, PokemonType.POISON, PokemonType.DARK, [ - [ Biome.SLUM, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.STUNKY, PokemonType.POISON, PokemonType.DARK, [ + [ BiomeId.SLUM, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SKUNTANK, PokemonType.POISON, PokemonType.DARK, [ - [ Biome.SLUM, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SLUM, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SKUNTANK, PokemonType.POISON, PokemonType.DARK, [ + [ BiomeId.SLUM, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SLUM, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.BRONZOR, PokemonType.STEEL, PokemonType.PSYCHIC, [ - [ Biome.FACTORY, BiomePoolTier.UNCOMMON ], - [ Biome.SPACE, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ] + [ SpeciesId.BRONZOR, PokemonType.STEEL, PokemonType.PSYCHIC, [ + [ BiomeId.FACTORY, BiomePoolTier.UNCOMMON ], + [ BiomeId.SPACE, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ] ] ], - [ Species.BRONZONG, PokemonType.STEEL, PokemonType.PSYCHIC, [ - [ Biome.FACTORY, BiomePoolTier.UNCOMMON ], - [ Biome.SPACE, BiomePoolTier.COMMON ], - [ Biome.SPACE, BiomePoolTier.BOSS ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ SpeciesId.BRONZONG, PokemonType.STEEL, PokemonType.PSYCHIC, [ + [ BiomeId.FACTORY, BiomePoolTier.UNCOMMON ], + [ BiomeId.SPACE, BiomePoolTier.COMMON ], + [ BiomeId.SPACE, BiomePoolTier.BOSS ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], - [ Species.BONSLY, PokemonType.ROCK, -1, [ ] + [ SpeciesId.BONSLY, PokemonType.ROCK, -1, [ ] ], - [ Species.MIME_JR, PokemonType.PSYCHIC, PokemonType.FAIRY, [ ] + [ SpeciesId.MIME_JR, PokemonType.PSYCHIC, PokemonType.FAIRY, [ ] ], - [ Species.HAPPINY, PokemonType.NORMAL, -1, [ ] + [ SpeciesId.HAPPINY, PokemonType.NORMAL, -1, [ ] ], - [ Species.CHATOT, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.JUNGLE, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.CHATOT, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.JUNGLE, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.SPIRITOMB, PokemonType.GHOST, PokemonType.DARK, [ - [ Biome.GRAVEYARD, BiomePoolTier.SUPER_RARE ], - [ Biome.ABYSS, BiomePoolTier.RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.SPIRITOMB, PokemonType.GHOST, PokemonType.DARK, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.SUPER_RARE ], + [ BiomeId.ABYSS, BiomePoolTier.RARE ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.GIBLE, PokemonType.DRAGON, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.COMMON ] + [ SpeciesId.GIBLE, PokemonType.DRAGON, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ] ] ], - [ Species.GABITE, PokemonType.DRAGON, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.COMMON ] + [ SpeciesId.GABITE, PokemonType.DRAGON, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ] ] ], - [ Species.GARCHOMP, PokemonType.DRAGON, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.COMMON ], - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ SpeciesId.GARCHOMP, PokemonType.DRAGON, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], - [ Species.MUNCHLAX, PokemonType.NORMAL, -1, [ ] + [ SpeciesId.MUNCHLAX, PokemonType.NORMAL, -1, [ ] ], - [ Species.RIOLU, PokemonType.FIGHTING, -1, [ ] + [ SpeciesId.RIOLU, PokemonType.FIGHTING, -1, [ ] ], - [ Species.LUCARIO, PokemonType.FIGHTING, PokemonType.STEEL, [ - [ Biome.DOJO, BiomePoolTier.RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.LUCARIO, PokemonType.FIGHTING, PokemonType.STEEL, [ + [ BiomeId.DOJO, BiomePoolTier.RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.HIPPOPOTAS, PokemonType.GROUND, -1, [ - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HIPPOPOTAS, PokemonType.GROUND, -1, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HIPPOWDON, PokemonType.GROUND, -1, [ - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HIPPOWDON, PokemonType.GROUND, -1, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SKORUPI, PokemonType.POISON, PokemonType.BUG, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.DESERT, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SKORUPI, PokemonType.POISON, PokemonType.BUG, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.DESERT, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.DRAPION, PokemonType.POISON, PokemonType.DARK, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.DESERT, BiomePoolTier.COMMON ], - [ Biome.DESERT, BiomePoolTier.BOSS ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.DRAPION, PokemonType.POISON, PokemonType.DARK, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.DESERT, BiomePoolTier.COMMON ], + [ BiomeId.DESERT, BiomePoolTier.BOSS ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CROAGUNK, PokemonType.POISON, PokemonType.FIGHTING, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.DOJO, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CROAGUNK, PokemonType.POISON, PokemonType.FIGHTING, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.DOJO, BiomePoolTier.UNCOMMON ] ] ], - [ Species.TOXICROAK, PokemonType.POISON, PokemonType.FIGHTING, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.DOJO, BiomePoolTier.UNCOMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.TOXICROAK, PokemonType.POISON, PokemonType.FIGHTING, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.DOJO, BiomePoolTier.UNCOMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.CARNIVINE, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.CARNIVINE, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.FINNEON, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] + [ SpeciesId.FINNEON, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, TimeOfDay.NIGHT ] ] ], - [ Species.LUMINEON, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], - [ Biome.SEA, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] + [ SpeciesId.LUMINEON, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, TimeOfDay.NIGHT ], + [ BiomeId.SEA, BiomePoolTier.BOSS, TimeOfDay.NIGHT ] ] ], - [ Species.MANTYKE, PokemonType.WATER, PokemonType.FLYING, [ - [ Biome.SEABED, BiomePoolTier.RARE ] + [ SpeciesId.MANTYKE, PokemonType.WATER, PokemonType.FLYING, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ] ] ], - [ Species.SNOVER, PokemonType.GRASS, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ] + [ SpeciesId.SNOVER, PokemonType.GRASS, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON ] ] ], - [ Species.ABOMASNOW, PokemonType.GRASS, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS ] + [ SpeciesId.ABOMASNOW, PokemonType.GRASS, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS ] ] ], - [ Species.WEAVILE, PokemonType.DARK, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.WEAVILE, PokemonType.DARK, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.MAGNEZONE, PokemonType.ELECTRIC, PokemonType.STEEL, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ], - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ SpeciesId.MAGNEZONE, PokemonType.ELECTRIC, PokemonType.STEEL, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], - [ Species.LICKILICKY, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.LICKILICKY, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.RHYPERIOR, PokemonType.GROUND, PokemonType.ROCK, [ - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ SpeciesId.RHYPERIOR, PokemonType.GROUND, PokemonType.ROCK, [ + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], - [ Species.TANGROWTH, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.TANGROWTH, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ELECTIVIRE, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.ELECTIVIRE, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.MAGMORTAR, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.MAGMORTAR, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.TOGEKISS, PokemonType.FAIRY, PokemonType.FLYING, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.TOGEKISS, PokemonType.FAIRY, PokemonType.FLYING, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.YANMEGA, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.YANMEGA, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.LEAFEON, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.LEAFEON, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GLACEON, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.GLACEON, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GLISCOR, PokemonType.GROUND, PokemonType.FLYING, [ - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ SpeciesId.GLISCOR, PokemonType.GROUND, PokemonType.FLYING, [ + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], - [ Species.MAMOSWINE, PokemonType.ICE, PokemonType.GROUND, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.MAMOSWINE, PokemonType.ICE, PokemonType.GROUND, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.PORYGON_Z, PokemonType.NORMAL, -1, [ - [ Biome.SPACE, BiomePoolTier.BOSS_RARE ], - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ SpeciesId.PORYGON_Z, PokemonType.NORMAL, -1, [ + [ BiomeId.SPACE, BiomePoolTier.BOSS_RARE ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], - [ Species.GALLADE, PokemonType.PSYCHIC, PokemonType.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.SUPER_RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.GALLADE, PokemonType.PSYCHIC, PokemonType.FIGHTING, [ + [ BiomeId.DOJO, BiomePoolTier.SUPER_RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.PROBOPASS, PokemonType.ROCK, PokemonType.STEEL, [ - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.PROBOPASS, PokemonType.ROCK, PokemonType.STEEL, [ + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.DUSKNOIR, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.DUSKNOIR, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.FROSLASS, PokemonType.ICE, PokemonType.GHOST, [ - [ Biome.ICE_CAVE, BiomePoolTier.RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.FROSLASS, PokemonType.ICE, PokemonType.GHOST, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.ROTOM, PokemonType.ELECTRIC, PokemonType.GHOST, [ - [ Biome.LABORATORY, BiomePoolTier.SUPER_RARE ], - [ Biome.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ], - [ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ], - [ Biome.SEA, BiomePoolTier.SUPER_RARE ], - [ Biome.SEA, BiomePoolTier.BOSS_SUPER_RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.SUPER_RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ], - [ Biome.TALL_GRASS, BiomePoolTier.SUPER_RARE ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ROTOM, PokemonType.ELECTRIC, PokemonType.GHOST, [ + [ BiomeId.LABORATORY, BiomePoolTier.SUPER_RARE ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.SUPER_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ], + [ BiomeId.SEA, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEA, BiomePoolTier.BOSS_SUPER_RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ], + [ BiomeId.TALL_GRASS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.UXIE, PokemonType.PSYCHIC, -1, [ - [ Biome.CAVE, BiomePoolTier.ULTRA_RARE ], - [ Biome.CAVE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.UXIE, PokemonType.PSYCHIC, -1, [ + [ BiomeId.CAVE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.CAVE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.MESPRIT, PokemonType.PSYCHIC, -1, [ - [ Biome.LAKE, BiomePoolTier.ULTRA_RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.MESPRIT, PokemonType.PSYCHIC, -1, [ + [ BiomeId.LAKE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.AZELF, PokemonType.PSYCHIC, -1, [ - [ Biome.SWAMP, BiomePoolTier.ULTRA_RARE ], - [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.AZELF, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.DIALGA, PokemonType.STEEL, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.DIALGA, PokemonType.STEEL, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.PALKIA, PokemonType.WATER, PokemonType.DRAGON, [ - [ Biome.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.PALKIA, PokemonType.WATER, PokemonType.DRAGON, [ + [ BiomeId.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.HEATRAN, PokemonType.FIRE, PokemonType.STEEL, [ - [ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.HEATRAN, PokemonType.FIRE, PokemonType.STEEL, [ + [ BiomeId.VOLCANO, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.REGIGIGAS, PokemonType.NORMAL, -1, [ - [ Biome.TEMPLE, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.REGIGIGAS, PokemonType.NORMAL, -1, [ + [ BiomeId.TEMPLE, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.GIRATINA, PokemonType.GHOST, PokemonType.DRAGON, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.GIRATINA, PokemonType.GHOST, PokemonType.DRAGON, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.CRESSELIA, PokemonType.PSYCHIC, -1, [ - [ Biome.BEACH, BiomePoolTier.ULTRA_RARE ], - [ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.CRESSELIA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.BEACH, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.PHIONE, PokemonType.WATER, -1, [ ] + [ SpeciesId.PHIONE, PokemonType.WATER, -1, [ ] ], - [ Species.MANAPHY, PokemonType.WATER, -1, [ ] + [ SpeciesId.MANAPHY, PokemonType.WATER, -1, [ ] ], - [ Species.DARKRAI, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.ULTRA_RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.DARKRAI, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.SHAYMIN, PokemonType.GRASS, -1, [ - [ Biome.MEADOW, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.SHAYMIN, PokemonType.GRASS, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.ARCEUS, PokemonType.NORMAL, -1, [ ] + [ SpeciesId.ARCEUS, PokemonType.NORMAL, -1, [ ] ], - [ Species.VICTINI, PokemonType.PSYCHIC, PokemonType.FIRE, [ ] + [ SpeciesId.VICTINI, PokemonType.PSYCHIC, PokemonType.FIRE, [ ] ], - [ Species.SNIVY, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.SNIVY, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.SERVINE, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.SERVINE, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.SERPERIOR, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SERPERIOR, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.TEPIG, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.TEPIG, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.PIGNITE, PokemonType.FIRE, PokemonType.FIGHTING, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.PIGNITE, PokemonType.FIRE, PokemonType.FIGHTING, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.EMBOAR, PokemonType.FIRE, PokemonType.FIGHTING, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.EMBOAR, PokemonType.FIRE, PokemonType.FIGHTING, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.OSHAWOTT, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.OSHAWOTT, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.DEWOTT, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.DEWOTT, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.SAMUROTT, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SAMUROTT, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.PATRAT, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SLUM, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PATRAT, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SLUM, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.WATCHOG, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SLUM, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SLUM, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.WATCHOG, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SLUM, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SLUM, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.LILLIPUP, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.METROPOLIS, BiomePoolTier.COMMON ] + [ SpeciesId.LILLIPUP, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ] ] ], - [ Species.HERDIER, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON ] + [ SpeciesId.HERDIER, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ] ] ], - [ Species.STOUTLAND, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON ], - [ Biome.METROPOLIS, BiomePoolTier.BOSS ] + [ SpeciesId.STOUTLAND, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS ] ] ], - [ Species.PURRLOIN, PokemonType.DARK, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PURRLOIN, PokemonType.DARK, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.LIEPARD, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.ABYSS, BiomePoolTier.BOSS ], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.LIEPARD, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PANSAGE, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.PANSAGE, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SIMISAGE, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON ], - [ Biome.FOREST, BiomePoolTier.BOSS ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SIMISAGE, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON ], + [ BiomeId.FOREST, BiomePoolTier.BOSS ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.PANSEAR, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.UNCOMMON ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.PANSEAR, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.UNCOMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SIMISEAR, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SIMISEAR, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.PANPOUR, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.PANPOUR, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SIMIPOUR, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ], - [ Biome.SEA, BiomePoolTier.BOSS ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SIMIPOUR, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEA, BiomePoolTier.BOSS ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.MUNNA, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.COMMON ] + [ SpeciesId.MUNNA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.COMMON ] ] ], - [ Species.MUSHARNA, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.COMMON ], - [ Biome.SPACE, BiomePoolTier.BOSS ] + [ SpeciesId.MUSHARNA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.COMMON ], + [ BiomeId.SPACE, BiomePoolTier.BOSS ] ] ], - [ Species.PIDOVE, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.PIDOVE, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TRANQUILL, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TRANQUILL, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.UNFEZANT, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.UNFEZANT, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BLITZLE, PokemonType.ELECTRIC, -1, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ], - [ Biome.JUNGLE, BiomePoolTier.COMMON ] + [ SpeciesId.BLITZLE, PokemonType.ELECTRIC, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ] ] ], - [ Species.ZEBSTRIKA, PokemonType.ELECTRIC, -1, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ], - [ Biome.MEADOW, BiomePoolTier.BOSS ], - [ Biome.JUNGLE, BiomePoolTier.COMMON ] + [ SpeciesId.ZEBSTRIKA, PokemonType.ELECTRIC, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ] ] ], - [ Species.ROGGENROLA, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.ROGGENROLA, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.BOLDORE, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.BOLDORE, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.GIGALITH, PokemonType.ROCK, -1, [ - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.GIGALITH, PokemonType.ROCK, -1, [ + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.WOOBAT, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.WOOBAT, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.SWOOBAT, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.SWOOBAT, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.DRILBUR, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] + [ SpeciesId.DRILBUR, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] ] ], - [ Species.EXCADRILL, PokemonType.GROUND, PokemonType.STEEL, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.BADLANDS, BiomePoolTier.BOSS ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] + [ SpeciesId.EXCADRILL, PokemonType.GROUND, PokemonType.STEEL, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] ] ], - [ Species.AUDINO, PokemonType.NORMAL, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.RARE ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.AUDINO, PokemonType.NORMAL, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.RARE ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.TIMBURR, PokemonType.FIGHTING, -1, [ - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] + [ SpeciesId.TIMBURR, PokemonType.FIGHTING, -1, [ + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] ] ], - [ Species.GURDURR, PokemonType.FIGHTING, -1, [ - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] + [ SpeciesId.GURDURR, PokemonType.FIGHTING, -1, [ + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] ] ], - [ Species.CONKELDURR, PokemonType.FIGHTING, -1, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] + [ SpeciesId.CONKELDURR, PokemonType.FIGHTING, -1, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] ] ], - [ Species.TYMPOLE, PokemonType.WATER, -1, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ] + [ SpeciesId.TYMPOLE, PokemonType.WATER, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON ] ] ], - [ Species.PALPITOAD, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ] + [ SpeciesId.PALPITOAD, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON ] ] ], - [ Species.SEISMITOAD, PokemonType.WATER, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ], - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ SpeciesId.SEISMITOAD, PokemonType.WATER, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], - [ Species.THROH, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.THROH, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.SAWK, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.SAWK, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.SEWADDLE, PokemonType.BUG, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SEWADDLE, PokemonType.BUG, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SWADLOON, PokemonType.BUG, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SWADLOON, PokemonType.BUG, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.LEAVANNY, PokemonType.BUG, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.LEAVANNY, PokemonType.BUG, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VENIPEDE, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.VENIPEDE, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.WHIRLIPEDE, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.WHIRLIPEDE, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SCOLIPEDE, PokemonType.BUG, PokemonType.POISON, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SCOLIPEDE, PokemonType.BUG, PokemonType.POISON, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.COTTONEE, PokemonType.GRASS, PokemonType.FAIRY, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.COTTONEE, PokemonType.GRASS, PokemonType.FAIRY, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.WHIMSICOTT, PokemonType.GRASS, PokemonType.FAIRY, [ - [ Biome.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.WHIMSICOTT, PokemonType.GRASS, PokemonType.FAIRY, [ + [ BiomeId.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.PETILIL, PokemonType.GRASS, -1, [ - [ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.PETILIL, PokemonType.GRASS, -1, [ + [ BiomeId.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.LILLIGANT, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.LILLIGANT, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BASCULIN, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.COMMON ] + [ SpeciesId.BASCULIN, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ] ] ], - [ Species.SANDILE, PokemonType.GROUND, PokemonType.DARK, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SANDILE, PokemonType.GROUND, PokemonType.DARK, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.KROKOROK, PokemonType.GROUND, PokemonType.DARK, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.KROKOROK, PokemonType.GROUND, PokemonType.DARK, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.KROOKODILE, PokemonType.GROUND, PokemonType.DARK, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.KROOKODILE, PokemonType.GROUND, PokemonType.DARK, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.DARUMAKA, PokemonType.FIRE, -1, [ - [ Biome.DESERT, BiomePoolTier.RARE ] + [ SpeciesId.DARUMAKA, PokemonType.FIRE, -1, [ + [ BiomeId.DESERT, BiomePoolTier.RARE ] ] ], - [ Species.DARMANITAN, PokemonType.FIRE, -1, [ - [ Biome.DESERT, BiomePoolTier.RARE ], - [ Biome.DESERT, BiomePoolTier.BOSS ] + [ SpeciesId.DARMANITAN, PokemonType.FIRE, -1, [ + [ BiomeId.DESERT, BiomePoolTier.RARE ], + [ BiomeId.DESERT, BiomePoolTier.BOSS ] ] ], - [ Species.MARACTUS, PokemonType.GRASS, -1, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON ], - [ Biome.DESERT, BiomePoolTier.BOSS ] + [ SpeciesId.MARACTUS, PokemonType.GRASS, -1, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON ], + [ BiomeId.DESERT, BiomePoolTier.BOSS ] ] ], - [ Species.DWEBBLE, PokemonType.BUG, PokemonType.ROCK, [ - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ SpeciesId.DWEBBLE, PokemonType.BUG, PokemonType.ROCK, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], - [ Species.CRUSTLE, PokemonType.BUG, PokemonType.ROCK, [ - [ Biome.BEACH, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ SpeciesId.CRUSTLE, PokemonType.BUG, PokemonType.ROCK, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], - [ Species.SCRAGGY, PokemonType.DARK, PokemonType.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.UNCOMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SCRAGGY, PokemonType.DARK, PokemonType.FIGHTING, [ + [ BiomeId.DOJO, BiomePoolTier.UNCOMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SCRAFTY, PokemonType.DARK, PokemonType.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.UNCOMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SCRAFTY, PokemonType.DARK, PokemonType.FIGHTING, [ + [ BiomeId.DOJO, BiomePoolTier.UNCOMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SIGILYPH, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.RUINS, BiomePoolTier.UNCOMMON ], - [ Biome.RUINS, BiomePoolTier.BOSS ], - [ Biome.SPACE, BiomePoolTier.RARE ] + [ SpeciesId.SIGILYPH, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ], + [ BiomeId.SPACE, BiomePoolTier.RARE ] ] ], - [ Species.YAMASK, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.YAMASK, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.COFAGRIGUS, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.BOSS ] + [ SpeciesId.COFAGRIGUS, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.BOSS ] ] ], - [ Species.TIRTOUGA, PokemonType.WATER, PokemonType.ROCK, [ - [ Biome.SEA, BiomePoolTier.SUPER_RARE ], - [ Biome.BEACH, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.TIRTOUGA, PokemonType.WATER, PokemonType.ROCK, [ + [ BiomeId.SEA, BiomePoolTier.SUPER_RARE ], + [ BiomeId.BEACH, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.CARRACOSTA, PokemonType.WATER, PokemonType.ROCK, [ - [ Biome.SEA, BiomePoolTier.SUPER_RARE ], - [ Biome.BEACH, BiomePoolTier.SUPER_RARE ], - [ Biome.BEACH, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CARRACOSTA, PokemonType.WATER, PokemonType.ROCK, [ + [ BiomeId.SEA, BiomePoolTier.SUPER_RARE ], + [ BiomeId.BEACH, BiomePoolTier.SUPER_RARE ], + [ BiomeId.BEACH, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ARCHEN, PokemonType.ROCK, PokemonType.FLYING, [ - [ Biome.RUINS, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.ARCHEN, PokemonType.ROCK, PokemonType.FLYING, [ + [ BiomeId.RUINS, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.ARCHEOPS, PokemonType.ROCK, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.RUINS, BiomePoolTier.SUPER_RARE ], - [ Biome.RUINS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ARCHEOPS, PokemonType.ROCK, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.RUINS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.RUINS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.TRUBBISH, PokemonType.POISON, -1, [ - [ Biome.SLUM, BiomePoolTier.COMMON ] + [ SpeciesId.TRUBBISH, PokemonType.POISON, -1, [ + [ BiomeId.SLUM, BiomePoolTier.COMMON ] ] ], - [ Species.GARBODOR, PokemonType.POISON, -1, [ - [ Biome.SLUM, BiomePoolTier.COMMON ], - [ Biome.SLUM, BiomePoolTier.BOSS ] + [ SpeciesId.GARBODOR, PokemonType.POISON, -1, [ + [ BiomeId.SLUM, BiomePoolTier.COMMON ], + [ BiomeId.SLUM, BiomePoolTier.BOSS ] ] ], - [ Species.ZORUA, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.RARE ] + [ SpeciesId.ZORUA, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.RARE ] ] ], - [ Species.ZOROARK, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.ZOROARK, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.RARE ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.MINCCINO, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.MINCCINO, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CINCCINO, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CINCCINO, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GOTHITA, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.RARE ] + [ SpeciesId.GOTHITA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.RARE ] ] ], - [ Species.GOTHORITA, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.RARE ] + [ SpeciesId.GOTHORITA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.RARE ] ] ], - [ Species.GOTHITELLE, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.RARE ], - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ SpeciesId.GOTHITELLE, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.RARE ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], - [ Species.SOLOSIS, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.RARE ], - [ Biome.LABORATORY, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SOLOSIS, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.RARE ], + [ BiomeId.LABORATORY, BiomePoolTier.UNCOMMON ] ] ], - [ Species.DUOSION, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.RARE ], - [ Biome.LABORATORY, BiomePoolTier.UNCOMMON ] + [ SpeciesId.DUOSION, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.RARE ], + [ BiomeId.LABORATORY, BiomePoolTier.UNCOMMON ] ] ], - [ Species.REUNICLUS, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.RARE ], - [ Biome.SPACE, BiomePoolTier.BOSS ], - [ Biome.LABORATORY, BiomePoolTier.UNCOMMON ], - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ SpeciesId.REUNICLUS, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.RARE ], + [ BiomeId.SPACE, BiomePoolTier.BOSS ], + [ BiomeId.LABORATORY, BiomePoolTier.UNCOMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], - [ Species.DUCKLETT, PokemonType.WATER, PokemonType.FLYING, [ - [ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DUCKLETT, PokemonType.WATER, PokemonType.FLYING, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SWANNA, PokemonType.WATER, PokemonType.FLYING, [ - [ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SWANNA, PokemonType.WATER, PokemonType.FLYING, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VANILLITE, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.VANILLITE, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.VANILLISH, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.VANILLISH, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.VANILLUXE, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.VANILLUXE, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.DEERLING, PokemonType.NORMAL, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DEERLING, PokemonType.NORMAL, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SAWSBUCK, PokemonType.NORMAL, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SAWSBUCK, PokemonType.NORMAL, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.EMOLGA, PokemonType.ELECTRIC, PokemonType.FLYING, [ - [ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ] + [ SpeciesId.EMOLGA, PokemonType.ELECTRIC, PokemonType.FLYING, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.UNCOMMON ] ] ], - [ Species.KARRABLAST, PokemonType.BUG, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.KARRABLAST, PokemonType.BUG, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.ESCAVALIER, PokemonType.BUG, PokemonType.STEEL, [ - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ESCAVALIER, PokemonType.BUG, PokemonType.STEEL, [ + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.FOONGUS, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.FOONGUS, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.AMOONGUSS, PokemonType.GRASS, PokemonType.POISON, [ - [ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.AMOONGUSS, PokemonType.GRASS, PokemonType.POISON, [ + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.FRILLISH, PokemonType.WATER, PokemonType.GHOST, [ - [ Biome.SEABED, BiomePoolTier.COMMON ] + [ SpeciesId.FRILLISH, PokemonType.WATER, PokemonType.GHOST, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ] ] ], - [ Species.JELLICENT, PokemonType.WATER, PokemonType.GHOST, [ - [ Biome.SEABED, BiomePoolTier.COMMON ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.JELLICENT, PokemonType.WATER, PokemonType.GHOST, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.ALOMOMOLA, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.ALOMOMOLA, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.JOLTIK, PokemonType.BUG, PokemonType.ELECTRIC, [ - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.JOLTIK, PokemonType.BUG, PokemonType.ELECTRIC, [ + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GALVANTULA, PokemonType.BUG, PokemonType.ELECTRIC, [ - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ], - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.GALVANTULA, PokemonType.BUG, PokemonType.ELECTRIC, [ + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.FERROSEED, PokemonType.GRASS, PokemonType.STEEL, [ - [ Biome.CAVE, BiomePoolTier.RARE ] + [ SpeciesId.FERROSEED, PokemonType.GRASS, PokemonType.STEEL, [ + [ BiomeId.CAVE, BiomePoolTier.RARE ] ] ], - [ Species.FERROTHORN, PokemonType.GRASS, PokemonType.STEEL, [ - [ Biome.CAVE, BiomePoolTier.RARE ], - [ Biome.CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.FERROTHORN, PokemonType.GRASS, PokemonType.STEEL, [ + [ BiomeId.CAVE, BiomePoolTier.RARE ], + [ BiomeId.CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.KLINK, PokemonType.STEEL, -1, [ - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ] + [ SpeciesId.KLINK, PokemonType.STEEL, -1, [ + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ] ] ], - [ Species.KLANG, PokemonType.STEEL, -1, [ - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ] + [ SpeciesId.KLANG, PokemonType.STEEL, -1, [ + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ] ] ], - [ Species.KLINKLANG, PokemonType.STEEL, -1, [ - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.FACTORY, BiomePoolTier.BOSS ], - [ Biome.LABORATORY, BiomePoolTier.COMMON ], - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ SpeciesId.KLINKLANG, PokemonType.STEEL, -1, [ + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.FACTORY, BiomePoolTier.BOSS ], + [ BiomeId.LABORATORY, BiomePoolTier.COMMON ], + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], - [ Species.TYNAMO, PokemonType.ELECTRIC, -1, [ - [ Biome.SEABED, BiomePoolTier.RARE ] + [ SpeciesId.TYNAMO, PokemonType.ELECTRIC, -1, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ] ] ], - [ Species.EELEKTRIK, PokemonType.ELECTRIC, -1, [ - [ Biome.SEABED, BiomePoolTier.RARE ] + [ SpeciesId.EELEKTRIK, PokemonType.ELECTRIC, -1, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ] ] ], - [ Species.EELEKTROSS, PokemonType.ELECTRIC, -1, [ - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.EELEKTROSS, PokemonType.ELECTRIC, -1, [ + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ELGYEM, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.SPACE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.ELGYEM, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.SPACE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.BEHEEYEM, PokemonType.PSYCHIC, -1, [ - [ Biome.RUINS, BiomePoolTier.COMMON ], - [ Biome.RUINS, BiomePoolTier.BOSS ], - [ Biome.SPACE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.BEHEEYEM, PokemonType.PSYCHIC, -1, [ + [ BiomeId.RUINS, BiomePoolTier.COMMON ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ], + [ BiomeId.SPACE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.LITWICK, PokemonType.GHOST, PokemonType.FIRE, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.LITWICK, PokemonType.GHOST, PokemonType.FIRE, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.LAMPENT, PokemonType.GHOST, PokemonType.FIRE, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.LAMPENT, PokemonType.GHOST, PokemonType.FIRE, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CHANDELURE, PokemonType.GHOST, PokemonType.FIRE, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.CHANDELURE, PokemonType.GHOST, PokemonType.FIRE, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.AXEW, PokemonType.DRAGON, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.COMMON ] + [ SpeciesId.AXEW, PokemonType.DRAGON, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ] ] ], - [ Species.FRAXURE, PokemonType.DRAGON, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.COMMON ] + [ SpeciesId.FRAXURE, PokemonType.DRAGON, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ] ] ], - [ Species.HAXORUS, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON ], - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ SpeciesId.HAXORUS, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], - [ Species.CUBCHOO, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.CUBCHOO, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.BEARTIC, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.BEARTIC, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.CRYOGONAL, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.CRYOGONAL, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.SHELMET, PokemonType.BUG, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.SHELMET, PokemonType.BUG, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.ACCELGOR, PokemonType.BUG, -1, [ - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ACCELGOR, PokemonType.BUG, -1, [ + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.STUNFISK, PokemonType.GROUND, PokemonType.ELECTRIC, [ - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ SpeciesId.STUNFISK, PokemonType.GROUND, PokemonType.ELECTRIC, [ + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], - [ Species.MIENFOO, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.UNCOMMON ] + [ SpeciesId.MIENFOO, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.UNCOMMON ] ] ], - [ Species.MIENSHAO, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.UNCOMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.MIENSHAO, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.UNCOMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.DRUDDIGON, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DRUDDIGON, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GOLETT, PokemonType.GROUND, PokemonType.GHOST, [ - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.GOLETT, PokemonType.GROUND, PokemonType.GHOST, [ + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.GOLURK, PokemonType.GROUND, PokemonType.GHOST, [ - [ Biome.TEMPLE, BiomePoolTier.COMMON ], - [ Biome.TEMPLE, BiomePoolTier.BOSS ] + [ SpeciesId.GOLURK, PokemonType.GROUND, PokemonType.GHOST, [ + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.BOSS ] ] ], - [ Species.PAWNIARD, PokemonType.DARK, PokemonType.STEEL, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.PAWNIARD, PokemonType.DARK, PokemonType.STEEL, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.BISHARP, PokemonType.DARK, PokemonType.STEEL, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.BISHARP, PokemonType.DARK, PokemonType.STEEL, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.BOUFFALANT, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BOUFFALANT, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.RUFFLET, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.RUFFLET, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BRAVIARY, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BRAVIARY, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VULLABY, PokemonType.DARK, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.VULLABY, PokemonType.DARK, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.MANDIBUZZ, PokemonType.DARK, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.MANDIBUZZ, PokemonType.DARK, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.HEATMOR, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.HEATMOR, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.DURANT, PokemonType.BUG, PokemonType.STEEL, [ - [ Biome.FOREST, BiomePoolTier.SUPER_RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DURANT, PokemonType.BUG, PokemonType.STEEL, [ + [ BiomeId.FOREST, BiomePoolTier.SUPER_RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.DEINO, PokemonType.DARK, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.ABYSS, BiomePoolTier.RARE ] + [ SpeciesId.DEINO, PokemonType.DARK, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.ABYSS, BiomePoolTier.RARE ] ] ], - [ Species.ZWEILOUS, PokemonType.DARK, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.ABYSS, BiomePoolTier.RARE ] + [ SpeciesId.ZWEILOUS, PokemonType.DARK, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.ABYSS, BiomePoolTier.RARE ] ] ], - [ Species.HYDREIGON, PokemonType.DARK, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.ABYSS, BiomePoolTier.RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.HYDREIGON, PokemonType.DARK, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.ABYSS, BiomePoolTier.RARE ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.LARVESTA, PokemonType.BUG, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.LARVESTA, PokemonType.BUG, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.VOLCARONA, PokemonType.BUG, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.VOLCARONA, PokemonType.BUG, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.SUPER_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.COBALION, PokemonType.STEEL, PokemonType.FIGHTING, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.COBALION, PokemonType.STEEL, PokemonType.FIGHTING, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.TERRAKION, PokemonType.ROCK, PokemonType.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.ULTRA_RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.TERRAKION, PokemonType.ROCK, PokemonType.FIGHTING, [ + [ BiomeId.DOJO, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.VIRIZION, PokemonType.GRASS, PokemonType.FIGHTING, [ - [ Biome.GRASS, BiomePoolTier.ULTRA_RARE ], - [ Biome.GRASS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.VIRIZION, PokemonType.GRASS, PokemonType.FIGHTING, [ + [ BiomeId.GRASS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.GRASS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.TORNADUS, PokemonType.FLYING, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.ULTRA_RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.TORNADUS, PokemonType.FLYING, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.THUNDURUS, PokemonType.ELECTRIC, PokemonType.FLYING, [ - [ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.THUNDURUS, PokemonType.ELECTRIC, PokemonType.FLYING, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.RESHIRAM, PokemonType.DRAGON, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.RESHIRAM, PokemonType.DRAGON, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.ZEKROM, PokemonType.DRAGON, PokemonType.ELECTRIC, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.ZEKROM, PokemonType.DRAGON, PokemonType.ELECTRIC, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.LANDORUS, PokemonType.GROUND, PokemonType.FLYING, [ - [ Biome.BADLANDS, BiomePoolTier.ULTRA_RARE ], - [ Biome.BADLANDS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.LANDORUS, PokemonType.GROUND, PokemonType.FLYING, [ + [ BiomeId.BADLANDS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.KYUREM, PokemonType.DRAGON, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.KYUREM, PokemonType.DRAGON, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.KELDEO, PokemonType.WATER, PokemonType.FIGHTING, [ - [ Biome.BEACH, BiomePoolTier.ULTRA_RARE ], - [ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.KELDEO, PokemonType.WATER, PokemonType.FIGHTING, [ + [ BiomeId.BEACH, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.MELOETTA, PokemonType.NORMAL, PokemonType.PSYCHIC, [ - [ Biome.MEADOW, BiomePoolTier.ULTRA_RARE ], - [ Biome.MEADOW, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.MELOETTA, PokemonType.NORMAL, PokemonType.PSYCHIC, [ + [ BiomeId.MEADOW, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.GENESECT, PokemonType.BUG, PokemonType.STEEL, [ - [ Biome.FACTORY, BiomePoolTier.ULTRA_RARE ], - [ Biome.FACTORY, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.GENESECT, PokemonType.BUG, PokemonType.STEEL, [ + [ BiomeId.FACTORY, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.FACTORY, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.CHESPIN, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.CHESPIN, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.QUILLADIN, PokemonType.GRASS, -1, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.QUILLADIN, PokemonType.GRASS, -1, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.CHESNAUGHT, PokemonType.GRASS, PokemonType.FIGHTING, [ - [ Biome.FOREST, BiomePoolTier.RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CHESNAUGHT, PokemonType.GRASS, PokemonType.FIGHTING, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.FENNEKIN, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.FENNEKIN, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.BRAIXEN, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.BRAIXEN, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.DELPHOX, PokemonType.FIRE, PokemonType.PSYCHIC, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DELPHOX, PokemonType.FIRE, PokemonType.PSYCHIC, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.FROAKIE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.FROAKIE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.FROGADIER, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.FROGADIER, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.GRENINJA, PokemonType.WATER, PokemonType.DARK, [ - [ Biome.LAKE, BiomePoolTier.RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.GRENINJA, PokemonType.WATER, PokemonType.DARK, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.BUNNELBY, PokemonType.NORMAL, -1, [ - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.BUNNELBY, PokemonType.NORMAL, -1, [ + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.DIGGERSBY, PokemonType.NORMAL, PokemonType.GROUND, [ - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.DIGGERSBY, PokemonType.NORMAL, PokemonType.GROUND, [ + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.FLETCHLING, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.FLETCHLING, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.FLETCHINDER, PokemonType.FIRE, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.FLETCHINDER, PokemonType.FIRE, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TALONFLAME, PokemonType.FIRE, PokemonType.FLYING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TALONFLAME, PokemonType.FIRE, PokemonType.FLYING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SCATTERBUG, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SCATTERBUG, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SPEWPA, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SPEWPA, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VIVILLON, PokemonType.BUG, PokemonType.FLYING, [ - [ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.VIVILLON, PokemonType.BUG, PokemonType.FLYING, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.LITLEO, PokemonType.FIRE, PokemonType.NORMAL, [ - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.LITLEO, PokemonType.FIRE, PokemonType.NORMAL, [ + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.PYROAR, PokemonType.FIRE, PokemonType.NORMAL, [ - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ], - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.PYROAR, PokemonType.FIRE, PokemonType.NORMAL, [ + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.FLABEBE, PokemonType.FAIRY, -1, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ] + [ SpeciesId.FLABEBE, PokemonType.FAIRY, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ] ] ], - [ Species.FLOETTE, PokemonType.FAIRY, -1, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ] + [ SpeciesId.FLOETTE, PokemonType.FAIRY, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ] ] ], - [ Species.FLORGES, PokemonType.FAIRY, -1, [ - [ Biome.MEADOW, BiomePoolTier.BOSS ] + [ SpeciesId.FLORGES, PokemonType.FAIRY, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS ] ] ], - [ Species.SKIDDO, PokemonType.GRASS, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ] + [ SpeciesId.SKIDDO, PokemonType.GRASS, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ] ] ], - [ Species.GOGOAT, PokemonType.GRASS, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ SpeciesId.GOGOAT, PokemonType.GRASS, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], - [ Species.PANCHAM, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.RARE ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PANCHAM, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PANGORO, PokemonType.FIGHTING, PokemonType.DARK, [ - [ Biome.DOJO, BiomePoolTier.RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS_RARE ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PANGORO, PokemonType.FIGHTING, PokemonType.DARK, [ + [ BiomeId.DOJO, BiomePoolTier.RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS_RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.FURFROU, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.METROPOLIS, BiomePoolTier.BOSS ] + [ SpeciesId.FURFROU, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS ] ] ], - [ Species.ESPURR, PokemonType.PSYCHIC, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ESPURR, PokemonType.PSYCHIC, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.MEOWSTIC, PokemonType.PSYCHIC, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.METROPOLIS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.MEOWSTIC, PokemonType.PSYCHIC, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.HONEDGE, PokemonType.STEEL, PokemonType.GHOST, [ - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.HONEDGE, PokemonType.STEEL, PokemonType.GHOST, [ + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.DOUBLADE, PokemonType.STEEL, PokemonType.GHOST, [ - [ Biome.TEMPLE, BiomePoolTier.COMMON ] + [ SpeciesId.DOUBLADE, PokemonType.STEEL, PokemonType.GHOST, [ + [ BiomeId.TEMPLE, BiomePoolTier.COMMON ] ] ], - [ Species.AEGISLASH, PokemonType.STEEL, PokemonType.GHOST, [ - [ Biome.TEMPLE, BiomePoolTier.BOSS ] + [ SpeciesId.AEGISLASH, PokemonType.STEEL, PokemonType.GHOST, [ + [ BiomeId.TEMPLE, BiomePoolTier.BOSS ] ] ], - [ Species.SPRITZEE, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.SPRITZEE, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.AROMATISSE, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.AROMATISSE, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.SWIRLIX, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.SWIRLIX, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.SLURPUFF, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.SLURPUFF, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.INKAY, PokemonType.DARK, PokemonType.PSYCHIC, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.INKAY, PokemonType.DARK, PokemonType.PSYCHIC, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.MALAMAR, PokemonType.DARK, PokemonType.PSYCHIC, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.MALAMAR, PokemonType.DARK, PokemonType.PSYCHIC, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.BINACLE, PokemonType.ROCK, PokemonType.WATER, [ - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ SpeciesId.BINACLE, PokemonType.ROCK, PokemonType.WATER, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], - [ Species.BARBARACLE, PokemonType.ROCK, PokemonType.WATER, [ - [ Biome.BEACH, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ SpeciesId.BARBARACLE, PokemonType.ROCK, PokemonType.WATER, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], - [ Species.SKRELP, PokemonType.POISON, PokemonType.WATER, [ - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SKRELP, PokemonType.POISON, PokemonType.WATER, [ + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.DRAGALGE, PokemonType.POISON, PokemonType.DRAGON, [ - [ Biome.SEABED, BiomePoolTier.UNCOMMON ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.DRAGALGE, PokemonType.POISON, PokemonType.DRAGON, [ + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.CLAUNCHER, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CLAUNCHER, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CLAWITZER, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.UNCOMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ SpeciesId.CLAWITZER, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], - [ Species.HELIOPTILE, PokemonType.ELECTRIC, PokemonType.NORMAL, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HELIOPTILE, PokemonType.ELECTRIC, PokemonType.NORMAL, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HELIOLISK, PokemonType.ELECTRIC, PokemonType.NORMAL, [ - [ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HELIOLISK, PokemonType.ELECTRIC, PokemonType.NORMAL, [ + [ BiomeId.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TYRUNT, PokemonType.ROCK, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.TYRUNT, PokemonType.ROCK, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.TYRANTRUM, PokemonType.ROCK, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.TYRANTRUM, PokemonType.ROCK, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.AMAURA, PokemonType.ROCK, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.AMAURA, PokemonType.ROCK, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.AURORUS, PokemonType.ROCK, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.SUPER_RARE ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.AURORUS, PokemonType.ROCK, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SYLVEON, PokemonType.FAIRY, -1, [ - [ Biome.MEADOW, BiomePoolTier.SUPER_RARE ], - [ Biome.MEADOW, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SYLVEON, PokemonType.FAIRY, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.SUPER_RARE ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HAWLUCHA, PokemonType.FIGHTING, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HAWLUCHA, PokemonType.FIGHTING, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.DEDENNE, PokemonType.ELECTRIC, PokemonType.FAIRY, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.DEDENNE, PokemonType.ELECTRIC, PokemonType.FAIRY, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.CARBINK, PokemonType.ROCK, PokemonType.FAIRY, [ - [ Biome.CAVE, BiomePoolTier.RARE ], - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.CARBINK, PokemonType.ROCK, PokemonType.FAIRY, [ + [ BiomeId.CAVE, BiomePoolTier.RARE ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.GOOMY, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GOOMY, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SLIGGOO, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SLIGGOO, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GOODRA, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GOODRA, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.KLEFKI, PokemonType.STEEL, PokemonType.FAIRY, [ - [ Biome.FACTORY, BiomePoolTier.UNCOMMON ], - [ Biome.FACTORY, BiomePoolTier.BOSS ] + [ SpeciesId.KLEFKI, PokemonType.STEEL, PokemonType.FAIRY, [ + [ BiomeId.FACTORY, BiomePoolTier.UNCOMMON ], + [ BiomeId.FACTORY, BiomePoolTier.BOSS ] ] ], - [ Species.PHANTUMP, PokemonType.GHOST, PokemonType.GRASS, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ] + [ SpeciesId.PHANTUMP, PokemonType.GHOST, PokemonType.GRASS, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ] ] ], - [ Species.TREVENANT, PokemonType.GHOST, PokemonType.GRASS, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.TREVENANT, PokemonType.GHOST, PokemonType.GRASS, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.PUMPKABOO, PokemonType.GHOST, PokemonType.GRASS, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ] + [ SpeciesId.PUMPKABOO, PokemonType.GHOST, PokemonType.GRASS, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ] ] ], - [ Species.GOURGEIST, PokemonType.GHOST, PokemonType.GRASS, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.GOURGEIST, PokemonType.GHOST, PokemonType.GRASS, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.BERGMITE, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.BERGMITE, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.AVALUGG, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.AVALUGG, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.NOIBAT, PokemonType.FLYING, PokemonType.DRAGON, [ - [ Biome.CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.NOIBAT, PokemonType.FLYING, PokemonType.DRAGON, [ + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.NOIVERN, PokemonType.FLYING, PokemonType.DRAGON, [ - [ Biome.CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.NOIVERN, PokemonType.FLYING, PokemonType.DRAGON, [ + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.XERNEAS, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.XERNEAS, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.YVELTAL, PokemonType.DARK, PokemonType.FLYING, [ - [ Biome.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.YVELTAL, PokemonType.DARK, PokemonType.FLYING, [ + [ BiomeId.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.ZYGARDE, PokemonType.DRAGON, PokemonType.GROUND, [ - [ Biome.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ZYGARDE, PokemonType.DRAGON, PokemonType.GROUND, [ + [ BiomeId.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.DIANCIE, PokemonType.ROCK, PokemonType.FAIRY, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.ULTRA_RARE ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.DIANCIE, PokemonType.ROCK, PokemonType.FAIRY, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.HOOPA, PokemonType.PSYCHIC, PokemonType.GHOST, [ - [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.HOOPA, PokemonType.PSYCHIC, PokemonType.GHOST, [ + [ BiomeId.TEMPLE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.VOLCANION, PokemonType.FIRE, PokemonType.WATER, [ - [ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.VOLCANION, PokemonType.FIRE, PokemonType.WATER, [ + [ BiomeId.VOLCANO, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.ROWLET, PokemonType.GRASS, PokemonType.FLYING, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.ROWLET, PokemonType.GRASS, PokemonType.FLYING, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.DARTRIX, PokemonType.GRASS, PokemonType.FLYING, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.DARTRIX, PokemonType.GRASS, PokemonType.FLYING, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.DECIDUEYE, PokemonType.GRASS, PokemonType.GHOST, [ - [ Biome.FOREST, BiomePoolTier.RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DECIDUEYE, PokemonType.GRASS, PokemonType.GHOST, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.LITTEN, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.LITTEN, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.TORRACAT, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.TORRACAT, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.INCINEROAR, PokemonType.FIRE, PokemonType.DARK, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.INCINEROAR, PokemonType.FIRE, PokemonType.DARK, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.POPPLIO, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.RARE ] + [ SpeciesId.POPPLIO, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.RARE ] ] ], - [ Species.BRIONNE, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.RARE ] + [ SpeciesId.BRIONNE, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.RARE ] ] ], - [ Species.PRIMARINA, PokemonType.WATER, PokemonType.FAIRY, [ - [ Biome.SEA, BiomePoolTier.RARE ], - [ Biome.SEA, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.PRIMARINA, PokemonType.WATER, PokemonType.FAIRY, [ + [ BiomeId.SEA, BiomePoolTier.RARE ], + [ BiomeId.SEA, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.PIKIPEK, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.JUNGLE, BiomePoolTier.COMMON ] + [ SpeciesId.PIKIPEK, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ] ] ], - [ Species.TRUMBEAK, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.JUNGLE, BiomePoolTier.COMMON ] + [ SpeciesId.TRUMBEAK, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ] ] ], - [ Species.TOUCANNON, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.JUNGLE, BiomePoolTier.COMMON ], - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.TOUCANNON, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.YUNGOOS, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.YUNGOOS, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GUMSHOOS, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GUMSHOOS, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GRUBBIN, PokemonType.BUG, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.GRUBBIN, PokemonType.BUG, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.CHARJABUG, PokemonType.BUG, PokemonType.ELECTRIC, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.CHARJABUG, PokemonType.BUG, PokemonType.ELECTRIC, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.VIKAVOLT, PokemonType.BUG, PokemonType.ELECTRIC, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.VIKAVOLT, PokemonType.BUG, PokemonType.ELECTRIC, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.CRABRAWLER, PokemonType.FIGHTING, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.CRABRAWLER, PokemonType.FIGHTING, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.CRABOMINABLE, PokemonType.FIGHTING, PokemonType.ICE, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.CRABOMINABLE, PokemonType.FIGHTING, PokemonType.ICE, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.ORICORIO, PokemonType.FIRE, PokemonType.FLYING, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.ISLAND, BiomePoolTier.BOSS ] + [ SpeciesId.ORICORIO, PokemonType.FIRE, PokemonType.FLYING, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS ] ] ], - [ Species.CUTIEFLY, PokemonType.BUG, PokemonType.FAIRY, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.CUTIEFLY, PokemonType.BUG, PokemonType.FAIRY, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.RIBOMBEE, PokemonType.BUG, PokemonType.FAIRY, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ], - [ Biome.MEADOW, BiomePoolTier.BOSS ], - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.RIBOMBEE, PokemonType.BUG, PokemonType.FAIRY, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.ROCKRUFF, PokemonType.ROCK, -1, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], - [ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.CAVE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ] + [ SpeciesId.ROCKRUFF, PokemonType.ROCK, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ] ] ], - [ Species.LYCANROC, PokemonType.ROCK, -1, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], - [ Biome.PLAINS, BiomePoolTier.BOSS_RARE, TimeOfDay.DAY ], - [ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE, TimeOfDay.NIGHT ], - [ Biome.CAVE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], - [ Biome.CAVE, BiomePoolTier.BOSS_RARE, TimeOfDay.DUSK ] + [ SpeciesId.LYCANROC, PokemonType.ROCK, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_RARE, TimeOfDay.DAY ], + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE, TimeOfDay.NIGHT ], + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ], + [ BiomeId.CAVE, BiomePoolTier.BOSS_RARE, TimeOfDay.DUSK ] ] ], - [ Species.WISHIWASHI, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.UNCOMMON ], - [ Biome.LAKE, BiomePoolTier.BOSS ] + [ SpeciesId.WISHIWASHI, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ], + [ BiomeId.LAKE, BiomePoolTier.BOSS ] ] ], - [ Species.MAREANIE, PokemonType.POISON, PokemonType.WATER, [ - [ Biome.BEACH, BiomePoolTier.COMMON ], - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ] + [ SpeciesId.MAREANIE, PokemonType.POISON, PokemonType.WATER, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ], + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ] ] ], - [ Species.TOXAPEX, PokemonType.POISON, PokemonType.WATER, [ - [ Biome.BEACH, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ], - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ SpeciesId.TOXAPEX, PokemonType.POISON, PokemonType.WATER, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ], + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], - [ Species.MUDBRAY, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON ] + [ SpeciesId.MUDBRAY, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ] ] ], - [ Species.MUDSDALE, PokemonType.GROUND, -1, [ - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ SpeciesId.MUDSDALE, PokemonType.GROUND, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], - [ Species.DEWPIDER, PokemonType.WATER, PokemonType.BUG, [ - [ Biome.LAKE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DEWPIDER, PokemonType.WATER, PokemonType.BUG, [ + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ARAQUANID, PokemonType.WATER, PokemonType.BUG, [ - [ Biome.LAKE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ARAQUANID, PokemonType.WATER, PokemonType.BUG, [ + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.FOMANTIS, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.FOMANTIS, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.LURANTIS, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ], - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ], - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.LURANTIS, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ], + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.MORELULL, PokemonType.GRASS, PokemonType.FAIRY, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.MORELULL, PokemonType.GRASS, PokemonType.FAIRY, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.SHIINOTIC, PokemonType.GRASS, PokemonType.FAIRY, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.SHIINOTIC, PokemonType.GRASS, PokemonType.FAIRY, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.SALANDIT, PokemonType.POISON, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.SALANDIT, PokemonType.POISON, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.SALAZZLE, PokemonType.POISON, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.COMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.SALAZZLE, PokemonType.POISON, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.STUFFUL, PokemonType.NORMAL, PokemonType.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.COMMON ] + [ SpeciesId.STUFFUL, PokemonType.NORMAL, PokemonType.FIGHTING, [ + [ BiomeId.DOJO, BiomePoolTier.COMMON ] ] ], - [ Species.BEWEAR, PokemonType.NORMAL, PokemonType.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.COMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.BEWEAR, PokemonType.NORMAL, PokemonType.FIGHTING, [ + [ BiomeId.DOJO, BiomePoolTier.COMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.BOUNSWEET, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BOUNSWEET, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.STEENEE, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.STEENEE, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TSAREENA, PokemonType.GRASS, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TSAREENA, PokemonType.GRASS, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.COMFEY, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.COMFEY, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.ORANGURU, PokemonType.NORMAL, PokemonType.PSYCHIC, [ - [ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ORANGURU, PokemonType.NORMAL, PokemonType.PSYCHIC, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PASSIMIAN, PokemonType.FIGHTING, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.PASSIMIAN, PokemonType.FIGHTING, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.WIMPOD, PokemonType.BUG, PokemonType.WATER, [ - [ Biome.CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.WIMPOD, PokemonType.BUG, PokemonType.WATER, [ + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GOLISOPOD, PokemonType.BUG, PokemonType.WATER, [ - [ Biome.CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.GOLISOPOD, PokemonType.BUG, PokemonType.WATER, [ + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.SANDYGAST, PokemonType.GHOST, PokemonType.GROUND, [ - [ Biome.BEACH, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SANDYGAST, PokemonType.GHOST, PokemonType.GROUND, [ + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ] ] ], - [ Species.PALOSSAND, PokemonType.GHOST, PokemonType.GROUND, [ - [ Biome.BEACH, BiomePoolTier.UNCOMMON ], - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ SpeciesId.PALOSSAND, PokemonType.GHOST, PokemonType.GROUND, [ + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ], + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], - [ Species.PYUKUMUKU, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.PYUKUMUKU, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.TYPE_NULL, PokemonType.NORMAL, -1, [ - [ Biome.LABORATORY, BiomePoolTier.ULTRA_RARE ] + [ SpeciesId.TYPE_NULL, PokemonType.NORMAL, -1, [ + [ BiomeId.LABORATORY, BiomePoolTier.ULTRA_RARE ] ] ], - [ Species.SILVALLY, PokemonType.NORMAL, -1, [ - [ Biome.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.SILVALLY, PokemonType.NORMAL, -1, [ + [ BiomeId.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.MINIOR, PokemonType.ROCK, PokemonType.FLYING, [ - [ Biome.SPACE, BiomePoolTier.COMMON ], - [ Biome.SPACE, BiomePoolTier.BOSS ] + [ SpeciesId.MINIOR, PokemonType.ROCK, PokemonType.FLYING, [ + [ BiomeId.SPACE, BiomePoolTier.COMMON ], + [ BiomeId.SPACE, BiomePoolTier.BOSS ] ] ], - [ Species.KOMALA, PokemonType.NORMAL, -1, [ - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.KOMALA, PokemonType.NORMAL, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TURTONATOR, PokemonType.FIRE, PokemonType.DRAGON, [ - [ Biome.VOLCANO, BiomePoolTier.UNCOMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.TURTONATOR, PokemonType.FIRE, PokemonType.DRAGON, [ + [ BiomeId.VOLCANO, BiomePoolTier.UNCOMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.TOGEDEMARU, PokemonType.ELECTRIC, PokemonType.STEEL, [ - [ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.TOGEDEMARU, PokemonType.ELECTRIC, PokemonType.STEEL, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.UNCOMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.MIMIKYU, PokemonType.GHOST, PokemonType.FAIRY, [ - [ Biome.GRAVEYARD, BiomePoolTier.RARE ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.MIMIKYU, PokemonType.GHOST, PokemonType.FAIRY, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.RARE ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.BRUXISH, PokemonType.WATER, PokemonType.PSYCHIC, [ - [ Biome.ISLAND, BiomePoolTier.UNCOMMON ], - [ Biome.ISLAND, BiomePoolTier.BOSS ] + [ SpeciesId.BRUXISH, PokemonType.WATER, PokemonType.PSYCHIC, [ + [ BiomeId.ISLAND, BiomePoolTier.UNCOMMON ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS ] ] ], - [ Species.DRAMPA, PokemonType.NORMAL, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.UNCOMMON ], - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ SpeciesId.DRAMPA, PokemonType.NORMAL, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.UNCOMMON ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], - [ Species.DHELMISE, PokemonType.GHOST, PokemonType.GRASS, [ - [ Biome.SEABED, BiomePoolTier.RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DHELMISE, PokemonType.GHOST, PokemonType.GRASS, [ + [ BiomeId.SEABED, BiomePoolTier.RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.JANGMO_O, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.JANGMO_O, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HAKAMO_O, PokemonType.DRAGON, PokemonType.FIGHTING, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HAKAMO_O, PokemonType.DRAGON, PokemonType.FIGHTING, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.KOMMO_O, PokemonType.DRAGON, PokemonType.FIGHTING, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.KOMMO_O, PokemonType.DRAGON, PokemonType.FIGHTING, [ + [ BiomeId.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TAPU_KOKO, PokemonType.ELECTRIC, PokemonType.FAIRY, [ - [ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.TAPU_KOKO, PokemonType.ELECTRIC, PokemonType.FAIRY, [ + [ BiomeId.TEMPLE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.TAPU_LELE, PokemonType.PSYCHIC, PokemonType.FAIRY, [ - [ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.TAPU_LELE, PokemonType.PSYCHIC, PokemonType.FAIRY, [ + [ BiomeId.JUNGLE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.TAPU_BULU, PokemonType.GRASS, PokemonType.FAIRY, [ - [ Biome.DESERT, BiomePoolTier.ULTRA_RARE ], - [ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.TAPU_BULU, PokemonType.GRASS, PokemonType.FAIRY, [ + [ BiomeId.DESERT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.TAPU_FINI, PokemonType.WATER, PokemonType.FAIRY, [ - [ Biome.BEACH, BiomePoolTier.ULTRA_RARE ], - [ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.TAPU_FINI, PokemonType.WATER, PokemonType.FAIRY, [ + [ BiomeId.BEACH, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.BEACH, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.COSMOG, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.ULTRA_RARE ] + [ SpeciesId.COSMOG, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.ULTRA_RARE ] ] ], - [ Species.COSMOEM, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.ULTRA_RARE ] + [ SpeciesId.COSMOEM, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.ULTRA_RARE ] ] ], - [ Species.SOLGALEO, PokemonType.PSYCHIC, PokemonType.STEEL, [ - [ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE, TimeOfDay.DAY ] + [ SpeciesId.SOLGALEO, PokemonType.PSYCHIC, PokemonType.STEEL, [ + [ BiomeId.SPACE, BiomePoolTier.BOSS_ULTRA_RARE, TimeOfDay.DAY ] ] ], - [ Species.LUNALA, PokemonType.PSYCHIC, PokemonType.GHOST, [ - [ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE, TimeOfDay.NIGHT ] + [ SpeciesId.LUNALA, PokemonType.PSYCHIC, PokemonType.GHOST, [ + [ BiomeId.SPACE, BiomePoolTier.BOSS_ULTRA_RARE, TimeOfDay.NIGHT ] ] ], - [ Species.NIHILEGO, PokemonType.ROCK, PokemonType.POISON, [ - [ Biome.SEABED, BiomePoolTier.ULTRA_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.NIHILEGO, PokemonType.ROCK, PokemonType.POISON, [ + [ BiomeId.SEABED, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.BUZZWOLE, PokemonType.BUG, PokemonType.FIGHTING, [ - [ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.BUZZWOLE, PokemonType.BUG, PokemonType.FIGHTING, [ + [ BiomeId.JUNGLE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.PHEROMOSA, PokemonType.BUG, PokemonType.FIGHTING, [ - [ Biome.DESERT, BiomePoolTier.ULTRA_RARE ], - [ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.PHEROMOSA, PokemonType.BUG, PokemonType.FIGHTING, [ + [ BiomeId.DESERT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.DESERT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.XURKITREE, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.XURKITREE, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.CELESTEELA, PokemonType.STEEL, PokemonType.FLYING, [ - [ Biome.SPACE, BiomePoolTier.ULTRA_RARE ], - [ Biome.SPACE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.CELESTEELA, PokemonType.STEEL, PokemonType.FLYING, [ + [ BiomeId.SPACE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.SPACE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.KARTANA, PokemonType.GRASS, PokemonType.STEEL, [ - [ Biome.FOREST, BiomePoolTier.ULTRA_RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.KARTANA, PokemonType.GRASS, PokemonType.STEEL, [ + [ BiomeId.FOREST, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.GUZZLORD, PokemonType.DARK, PokemonType.DRAGON, [ - [ Biome.SLUM, BiomePoolTier.ULTRA_RARE ], - [ Biome.SLUM, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.GUZZLORD, PokemonType.DARK, PokemonType.DRAGON, [ + [ BiomeId.SLUM, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.SLUM, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.NECROZMA, PokemonType.PSYCHIC, -1, [ - [ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.NECROZMA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SPACE, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.MAGEARNA, PokemonType.STEEL, PokemonType.FAIRY, [ - [ Biome.FACTORY, BiomePoolTier.ULTRA_RARE ], - [ Biome.FACTORY, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.MAGEARNA, PokemonType.STEEL, PokemonType.FAIRY, [ + [ BiomeId.FACTORY, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.FACTORY, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.MARSHADOW, PokemonType.FIGHTING, PokemonType.GHOST, [ - [ Biome.GRAVEYARD, BiomePoolTier.ULTRA_RARE ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.MARSHADOW, PokemonType.FIGHTING, PokemonType.GHOST, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.POIPOLE, PokemonType.POISON, -1, [ - [ Biome.SWAMP, BiomePoolTier.ULTRA_RARE ] + [ SpeciesId.POIPOLE, PokemonType.POISON, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.ULTRA_RARE ] ] ], - [ Species.NAGANADEL, PokemonType.POISON, PokemonType.DRAGON, [ - [ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.NAGANADEL, PokemonType.POISON, PokemonType.DRAGON, [ + [ BiomeId.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.STAKATAKA, PokemonType.ROCK, PokemonType.STEEL, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.STAKATAKA, PokemonType.ROCK, PokemonType.STEEL, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.BLACEPHALON, PokemonType.FIRE, PokemonType.GHOST, [ - [ Biome.ISLAND, BiomePoolTier.ULTRA_RARE ], - [ Biome.ISLAND, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.BLACEPHALON, PokemonType.FIRE, PokemonType.GHOST, [ + [ BiomeId.ISLAND, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.ZERAORA, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ZERAORA, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.MELTAN, PokemonType.STEEL, -1, [ ] + [ SpeciesId.MELTAN, PokemonType.STEEL, -1, [ ] ], - [ Species.MELMETAL, PokemonType.STEEL, -1, [ ] + [ SpeciesId.MELMETAL, PokemonType.STEEL, -1, [ ] ], - [ Species.GROOKEY, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.GROOKEY, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.THWACKEY, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ] + [ SpeciesId.THWACKEY, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ] ] ], - [ Species.RILLABOOM, PokemonType.GRASS, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.RILLABOOM, PokemonType.GRASS, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SCORBUNNY, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.SCORBUNNY, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.RABOOT, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.RABOOT, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.CINDERACE, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CINDERACE, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SOBBLE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.SOBBLE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.DRIZZILE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ] + [ SpeciesId.DRIZZILE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ] ] ], - [ Species.INTELEON, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.RARE ], - [ Biome.LAKE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.INTELEON, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.RARE ], + [ BiomeId.LAKE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SKWOVET, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SKWOVET, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GREEDENT, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GREEDENT, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ROOKIDEE, PokemonType.FLYING, -1, [ - [ Biome.TOWN, BiomePoolTier.RARE ], - [ Biome.PLAINS, BiomePoolTier.RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ROOKIDEE, PokemonType.FLYING, -1, [ + [ BiomeId.TOWN, BiomePoolTier.RARE ], + [ BiomeId.PLAINS, BiomePoolTier.RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CORVISQUIRE, PokemonType.FLYING, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CORVISQUIRE, PokemonType.FLYING, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CORVIKNIGHT, PokemonType.FLYING, PokemonType.STEEL, [ - [ Biome.PLAINS, BiomePoolTier.RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CORVIKNIGHT, PokemonType.FLYING, PokemonType.STEEL, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BLIPBUG, PokemonType.BUG, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.BLIPBUG, PokemonType.BUG, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.DOTTLER, PokemonType.BUG, PokemonType.PSYCHIC, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.DOTTLER, PokemonType.BUG, PokemonType.PSYCHIC, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ORBEETLE, PokemonType.BUG, PokemonType.PSYCHIC, [ - [ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ORBEETLE, PokemonType.BUG, PokemonType.PSYCHIC, [ + [ BiomeId.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.NICKIT, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.NICKIT, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.THIEVUL, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.THIEVUL, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.GOSSIFLEUR, PokemonType.GRASS, -1, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ] + [ SpeciesId.GOSSIFLEUR, PokemonType.GRASS, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ] ] ], - [ Species.ELDEGOSS, PokemonType.GRASS, -1, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ] + [ SpeciesId.ELDEGOSS, PokemonType.GRASS, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ] ] ], - [ Species.WOOLOO, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.MEADOW, BiomePoolTier.COMMON ] + [ SpeciesId.WOOLOO, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.MEADOW, BiomePoolTier.COMMON ] ] ], - [ Species.DUBWOOL, PokemonType.NORMAL, -1, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ], - [ Biome.MEADOW, BiomePoolTier.BOSS ] + [ SpeciesId.DUBWOOL, PokemonType.NORMAL, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.COMMON ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS ] ] ], - [ Species.CHEWTLE, PokemonType.WATER, -1, [ - [ Biome.LAKE, BiomePoolTier.COMMON ] + [ SpeciesId.CHEWTLE, PokemonType.WATER, -1, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON ] ] ], - [ Species.DREDNAW, PokemonType.WATER, PokemonType.ROCK, [ - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.LAKE, BiomePoolTier.BOSS ] + [ SpeciesId.DREDNAW, PokemonType.WATER, PokemonType.ROCK, [ + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.LAKE, BiomePoolTier.BOSS ] ] ], - [ Species.YAMPER, PokemonType.ELECTRIC, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.YAMPER, PokemonType.ELECTRIC, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.BOLTUND, PokemonType.ELECTRIC, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.METROPOLIS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BOLTUND, PokemonType.ELECTRIC, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ROLYCOLY, PokemonType.ROCK, -1, [ - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.ROLYCOLY, PokemonType.ROCK, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.CARKOL, PokemonType.ROCK, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ SpeciesId.CARKOL, PokemonType.ROCK, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], - [ Species.COALOSSAL, PokemonType.ROCK, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.COMMON ], - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ SpeciesId.COALOSSAL, PokemonType.ROCK, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], - [ Species.APPLIN, PokemonType.GRASS, PokemonType.DRAGON, [ - [ Biome.MEADOW, BiomePoolTier.RARE ] + [ SpeciesId.APPLIN, PokemonType.GRASS, PokemonType.DRAGON, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ] ] ], - [ Species.FLAPPLE, PokemonType.GRASS, PokemonType.DRAGON, [ - [ Biome.MEADOW, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.FLAPPLE, PokemonType.GRASS, PokemonType.DRAGON, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.APPLETUN, PokemonType.GRASS, PokemonType.DRAGON, [ - [ Biome.MEADOW, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.APPLETUN, PokemonType.GRASS, PokemonType.DRAGON, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SILICOBRA, PokemonType.GROUND, -1, [ - [ Biome.DESERT, BiomePoolTier.COMMON ] + [ SpeciesId.SILICOBRA, PokemonType.GROUND, -1, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON ] ] ], - [ Species.SANDACONDA, PokemonType.GROUND, -1, [ - [ Biome.DESERT, BiomePoolTier.COMMON ], - [ Biome.DESERT, BiomePoolTier.BOSS ] + [ SpeciesId.SANDACONDA, PokemonType.GROUND, -1, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON ], + [ BiomeId.DESERT, BiomePoolTier.BOSS ] ] ], - [ Species.CRAMORANT, PokemonType.FLYING, PokemonType.WATER, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CRAMORANT, PokemonType.FLYING, PokemonType.WATER, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ARROKUDA, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.COMMON ] + [ SpeciesId.ARROKUDA, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ] ] ], - [ Species.BARRASKEWDA, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.COMMON ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.BARRASKEWDA, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.TOXEL, PokemonType.ELECTRIC, PokemonType.POISON, [ ] + [ SpeciesId.TOXEL, PokemonType.ELECTRIC, PokemonType.POISON, [ ] ], - [ Species.TOXTRICITY, PokemonType.ELECTRIC, PokemonType.POISON, [ - [ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SLUM, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.TOXTRICITY, PokemonType.ELECTRIC, PokemonType.POISON, [ + [ BiomeId.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SLUM, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.SIZZLIPEDE, PokemonType.FIRE, PokemonType.BUG, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SIZZLIPEDE, PokemonType.FIRE, PokemonType.BUG, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CENTISKORCH, PokemonType.FIRE, PokemonType.BUG, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CENTISKORCH, PokemonType.FIRE, PokemonType.BUG, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.CLOBBOPUS, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.COMMON ] + [ SpeciesId.CLOBBOPUS, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.COMMON ] ] ], - [ Species.GRAPPLOCT, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.COMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.GRAPPLOCT, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.COMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.SINISTEA, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ] + [ SpeciesId.SINISTEA, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.UNCOMMON ] ] ], - [ Species.POLTEAGEIST, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.POLTEAGEIST, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.UNCOMMON ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.HATENNA, PokemonType.PSYCHIC, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.HATENNA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.HATTREM, PokemonType.PSYCHIC, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.HATTREM, PokemonType.PSYCHIC, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.HATTERENE, PokemonType.PSYCHIC, PokemonType.FAIRY, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.HATTERENE, PokemonType.PSYCHIC, PokemonType.FAIRY, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.IMPIDIMP, PokemonType.DARK, PokemonType.FAIRY, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.IMPIDIMP, PokemonType.DARK, PokemonType.FAIRY, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.MORGREM, PokemonType.DARK, PokemonType.FAIRY, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.MORGREM, PokemonType.DARK, PokemonType.FAIRY, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.GRIMMSNARL, PokemonType.DARK, PokemonType.FAIRY, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.GRIMMSNARL, PokemonType.DARK, PokemonType.FAIRY, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.OBSTAGOON, PokemonType.DARK, PokemonType.NORMAL, [ - [ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SLUM, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.OBSTAGOON, PokemonType.DARK, PokemonType.NORMAL, [ + [ BiomeId.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SLUM, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.PERRSERKER, PokemonType.STEEL, -1, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE, TimeOfDay.DUSK ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_RARE, TimeOfDay.DUSK ] + [ SpeciesId.PERRSERKER, PokemonType.STEEL, -1, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.RARE, TimeOfDay.DUSK ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS_RARE, TimeOfDay.DUSK ] ] ], - [ Species.CURSOLA, PokemonType.GHOST, -1, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CURSOLA, PokemonType.GHOST, -1, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SIRFETCHD, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SIRFETCHD, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.MR_RIME, PokemonType.ICE, PokemonType.PSYCHIC, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.MR_RIME, PokemonType.ICE, PokemonType.PSYCHIC, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.RUNERIGUS, PokemonType.GROUND, PokemonType.GHOST, [ - [ Biome.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.RUINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.RUNERIGUS, PokemonType.GROUND, PokemonType.GHOST, [ + [ BiomeId.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.RUINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.MILCERY, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.MILCERY, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.ALCREMIE, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.ALCREMIE, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.FALINKS, PokemonType.FIGHTING, -1, [ - [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ], - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ SpeciesId.FALINKS, PokemonType.FIGHTING, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.UNCOMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], - [ Species.PINCURCHIN, PokemonType.ELECTRIC, -1, [ - [ Biome.SEABED, BiomePoolTier.UNCOMMON ] + [ SpeciesId.PINCURCHIN, PokemonType.ELECTRIC, -1, [ + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ] ] ], - [ Species.SNOM, PokemonType.ICE, PokemonType.BUG, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.SNOM, PokemonType.ICE, PokemonType.BUG, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.FROSMOTH, PokemonType.ICE, PokemonType.BUG, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.FROSMOTH, PokemonType.ICE, PokemonType.BUG, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.STONJOURNER, PokemonType.ROCK, -1, [ - [ Biome.RUINS, BiomePoolTier.RARE ] + [ SpeciesId.STONJOURNER, PokemonType.ROCK, -1, [ + [ BiomeId.RUINS, BiomePoolTier.RARE ] ] ], - [ Species.EISCUE, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ] + [ SpeciesId.EISCUE, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON ] ] ], - [ Species.INDEEDEE, PokemonType.PSYCHIC, PokemonType.NORMAL, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.INDEEDEE, PokemonType.PSYCHIC, PokemonType.NORMAL, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.MORPEKO, PokemonType.ELECTRIC, PokemonType.DARK, [ - [ Biome.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.MORPEKO, PokemonType.ELECTRIC, PokemonType.DARK, [ + [ BiomeId.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.CUFANT, PokemonType.STEEL, -1, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CUFANT, PokemonType.STEEL, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ] ] ], - [ Species.COPPERAJAH, PokemonType.STEEL, -1, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ SpeciesId.COPPERAJAH, PokemonType.STEEL, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], - [ Species.DRACOZOLT, PokemonType.ELECTRIC, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DRACOZOLT, PokemonType.ELECTRIC, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ARCTOZOLT, PokemonType.ELECTRIC, PokemonType.ICE, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ARCTOZOLT, PokemonType.ELECTRIC, PokemonType.ICE, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.DRACOVISH, PokemonType.WATER, PokemonType.DRAGON, [ - [ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DRACOVISH, PokemonType.WATER, PokemonType.DRAGON, [ + [ BiomeId.WASTELAND, BiomePoolTier.SUPER_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ARCTOVISH, PokemonType.WATER, PokemonType.ICE, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ], - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ARCTOVISH, PokemonType.WATER, PokemonType.ICE, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.DURALUDON, PokemonType.STEEL, PokemonType.DRAGON, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ] + [ SpeciesId.DURALUDON, PokemonType.STEEL, PokemonType.DRAGON, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.RARE ] ] ], - [ Species.DREEPY, PokemonType.DRAGON, PokemonType.GHOST, [ - [ Biome.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.DREEPY, PokemonType.DRAGON, PokemonType.GHOST, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.DRAKLOAK, PokemonType.DRAGON, PokemonType.GHOST, [ - [ Biome.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.DRAKLOAK, PokemonType.DRAGON, PokemonType.GHOST, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.DRAGAPULT, PokemonType.DRAGON, PokemonType.GHOST, [ - [ Biome.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.DRAGAPULT, PokemonType.DRAGON, PokemonType.GHOST, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ZACIAN, PokemonType.FAIRY, -1, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.ZACIAN, PokemonType.FAIRY, -1, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.ZAMAZENTA, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.ZAMAZENTA, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.ETERNATUS, PokemonType.POISON, PokemonType.DRAGON, [ - [ Biome.END, BiomePoolTier.BOSS ] + [ SpeciesId.ETERNATUS, PokemonType.POISON, PokemonType.DRAGON, [ + [ BiomeId.END, BiomePoolTier.BOSS ] ] ], - [ Species.KUBFU, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.ULTRA_RARE ] + [ SpeciesId.KUBFU, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.ULTRA_RARE ] ] ], - [ Species.URSHIFU, PokemonType.FIGHTING, PokemonType.DARK, [ - [ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.URSHIFU, PokemonType.FIGHTING, PokemonType.DARK, [ + [ BiomeId.DOJO, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.ZARUDE, PokemonType.DARK, PokemonType.GRASS, [ - [ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ZARUDE, PokemonType.DARK, PokemonType.GRASS, [ + [ BiomeId.JUNGLE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.REGIELEKI, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.REGIELEKI, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.REGIDRAGO, PokemonType.DRAGON, -1, [ - [ Biome.WASTELAND, BiomePoolTier.ULTRA_RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.REGIDRAGO, PokemonType.DRAGON, -1, [ + [ BiomeId.WASTELAND, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.GLASTRIER, PokemonType.ICE, -1, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.GLASTRIER, PokemonType.ICE, -1, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.SPECTRIER, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.ULTRA_RARE ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.SPECTRIER, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.CALYREX, PokemonType.PSYCHIC, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.CALYREX, PokemonType.PSYCHIC, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.WYRDEER, PokemonType.NORMAL, PokemonType.PSYCHIC, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.WYRDEER, PokemonType.NORMAL, PokemonType.PSYCHIC, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.KLEAVOR, PokemonType.BUG, PokemonType.ROCK, [ - [ Biome.JUNGLE, BiomePoolTier.SUPER_RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.KLEAVOR, PokemonType.BUG, PokemonType.ROCK, [ + [ BiomeId.JUNGLE, BiomePoolTier.SUPER_RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.URSALUNA, PokemonType.GROUND, PokemonType.NORMAL, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS ] + [ SpeciesId.URSALUNA, PokemonType.GROUND, PokemonType.NORMAL, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS ] ] ], - [ Species.BASCULEGION, PokemonType.WATER, PokemonType.GHOST, [ - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.BASCULEGION, PokemonType.WATER, PokemonType.GHOST, [ + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.SNEASLER, PokemonType.FIGHTING, PokemonType.POISON, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SNEASLER, PokemonType.FIGHTING, PokemonType.POISON, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.OVERQWIL, PokemonType.DARK, PokemonType.POISON, [ - [ Biome.SEABED, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.OVERQWIL, PokemonType.DARK, PokemonType.POISON, [ + [ BiomeId.SEABED, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ENAMORUS, PokemonType.FAIRY, PokemonType.FLYING, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.ULTRA_RARE ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.ENAMORUS, PokemonType.FAIRY, PokemonType.FLYING, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.SPRIGATITO, PokemonType.GRASS, -1, [ - [ Biome.MEADOW, BiomePoolTier.RARE ] + [ SpeciesId.SPRIGATITO, PokemonType.GRASS, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ] ] ], - [ Species.FLORAGATO, PokemonType.GRASS, -1, [ - [ Biome.MEADOW, BiomePoolTier.RARE ] + [ SpeciesId.FLORAGATO, PokemonType.GRASS, -1, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ] ] ], - [ Species.MEOWSCARADA, PokemonType.GRASS, PokemonType.DARK, [ - [ Biome.MEADOW, BiomePoolTier.RARE ], - [ Biome.MEADOW, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.MEOWSCARADA, PokemonType.GRASS, PokemonType.DARK, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ], + [ BiomeId.MEADOW, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.FUECOCO, PokemonType.FIRE, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.RARE ] + [ SpeciesId.FUECOCO, PokemonType.FIRE, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.RARE ] ] ], - [ Species.CROCALOR, PokemonType.FIRE, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.RARE ] + [ SpeciesId.CROCALOR, PokemonType.FIRE, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.RARE ] ] ], - [ Species.SKELEDIRGE, PokemonType.FIRE, PokemonType.GHOST, [ - [ Biome.GRAVEYARD, BiomePoolTier.RARE ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SKELEDIRGE, PokemonType.FIRE, PokemonType.GHOST, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.RARE ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.QUAXLY, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.RARE ] + [ SpeciesId.QUAXLY, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.RARE ] ] ], - [ Species.QUAXWELL, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.RARE ] + [ SpeciesId.QUAXWELL, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.RARE ] ] ], - [ Species.QUAQUAVAL, PokemonType.WATER, PokemonType.FIGHTING, [ - [ Biome.BEACH, BiomePoolTier.RARE ], - [ Biome.BEACH, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.QUAQUAVAL, PokemonType.WATER, PokemonType.FIGHTING, [ + [ BiomeId.BEACH, BiomePoolTier.RARE ], + [ BiomeId.BEACH, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.LECHONK, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.COMMON ] + [ SpeciesId.LECHONK, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.COMMON ] ] ], - [ Species.OINKOLOGNE, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.BOSS ] + [ SpeciesId.OINKOLOGNE, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS ] ] ], - [ Species.TAROUNTULA, PokemonType.BUG, -1, [ - [ Biome.FOREST, BiomePoolTier.COMMON ] + [ SpeciesId.TAROUNTULA, PokemonType.BUG, -1, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON ] ] ], - [ Species.SPIDOPS, PokemonType.BUG, -1, [ - [ Biome.FOREST, BiomePoolTier.COMMON ], - [ Biome.FOREST, BiomePoolTier.BOSS ] + [ SpeciesId.SPIDOPS, PokemonType.BUG, -1, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON ], + [ BiomeId.FOREST, BiomePoolTier.BOSS ] ] ], - [ Species.NYMBLE, PokemonType.BUG, -1, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON ], - [ Biome.FOREST, BiomePoolTier.COMMON ] + [ SpeciesId.NYMBLE, PokemonType.BUG, -1, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON ], + [ BiomeId.FOREST, BiomePoolTier.COMMON ] ] ], - [ Species.LOKIX, PokemonType.BUG, PokemonType.DARK, [ - [ Biome.TALL_GRASS, BiomePoolTier.COMMON ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ], - [ Biome.FOREST, BiomePoolTier.COMMON ], - [ Biome.FOREST, BiomePoolTier.BOSS ] + [ SpeciesId.LOKIX, PokemonType.BUG, PokemonType.DARK, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.COMMON ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ], + [ BiomeId.FOREST, BiomePoolTier.COMMON ], + [ BiomeId.FOREST, BiomePoolTier.BOSS ] ] ], - [ Species.PAWMI, PokemonType.ELECTRIC, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.PAWMI, PokemonType.ELECTRIC, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.PAWMO, PokemonType.ELECTRIC, PokemonType.FIGHTING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.PAWMO, PokemonType.ELECTRIC, PokemonType.FIGHTING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.PAWMOT, PokemonType.ELECTRIC, PokemonType.FIGHTING, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.PAWMOT, PokemonType.ELECTRIC, PokemonType.FIGHTING, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.TANDEMAUS, PokemonType.NORMAL, -1, [ - [ Biome.TOWN, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.TANDEMAUS, PokemonType.NORMAL, -1, [ + [ BiomeId.TOWN, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.MAUSHOLD, PokemonType.NORMAL, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.METROPOLIS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.MAUSHOLD, PokemonType.NORMAL, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.FIDOUGH, PokemonType.FAIRY, -1, [ - [ Biome.TOWN, BiomePoolTier.UNCOMMON ], - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ] + [ SpeciesId.FIDOUGH, PokemonType.FAIRY, -1, [ + [ BiomeId.TOWN, BiomePoolTier.UNCOMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ] ] ], - [ Species.DACHSBUN, PokemonType.FAIRY, -1, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.METROPOLIS, BiomePoolTier.BOSS ] + [ SpeciesId.DACHSBUN, PokemonType.FAIRY, -1, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS ] ] ], - [ Species.SMOLIV, PokemonType.GRASS, PokemonType.NORMAL, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SMOLIV, PokemonType.GRASS, PokemonType.NORMAL, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.DOLLIV, PokemonType.GRASS, PokemonType.NORMAL, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.DOLLIV, PokemonType.GRASS, PokemonType.NORMAL, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ARBOLIVA, PokemonType.GRASS, PokemonType.NORMAL, [ - [ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ARBOLIVA, PokemonType.GRASS, PokemonType.NORMAL, [ + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SQUAWKABILLY, PokemonType.NORMAL, PokemonType.FLYING, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.SQUAWKABILLY, PokemonType.NORMAL, PokemonType.FLYING, [ + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.NACLI, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.NACLI, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.NACLSTACK, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ] + [ SpeciesId.NACLSTACK, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ] ] ], - [ Species.GARGANACL, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ], - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.GARGANACL, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.CHARCADET, PokemonType.FIRE, -1, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ] + [ SpeciesId.CHARCADET, PokemonType.FIRE, -1, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ] ] ], - [ Species.ARMAROUGE, PokemonType.FIRE, PokemonType.PSYCHIC, [ - [ Biome.VOLCANO, BiomePoolTier.RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ARMAROUGE, PokemonType.FIRE, PokemonType.PSYCHIC, [ + [ BiomeId.VOLCANO, BiomePoolTier.RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.CERULEDGE, PokemonType.FIRE, PokemonType.GHOST, [ - [ Biome.GRAVEYARD, BiomePoolTier.RARE ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.CERULEDGE, PokemonType.FIRE, PokemonType.GHOST, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.RARE ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.TADBULB, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ SpeciesId.TADBULB, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], - [ Species.BELLIBOLT, PokemonType.ELECTRIC, -1, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ SpeciesId.BELLIBOLT, PokemonType.ELECTRIC, -1, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], - [ Species.WATTREL, PokemonType.ELECTRIC, PokemonType.FLYING, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ] + [ SpeciesId.WATTREL, PokemonType.ELECTRIC, PokemonType.FLYING, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ] ] ], - [ Species.KILOWATTREL, PokemonType.ELECTRIC, PokemonType.FLYING, [ - [ Biome.SEA, BiomePoolTier.UNCOMMON ], - [ Biome.SEA, BiomePoolTier.BOSS ] + [ SpeciesId.KILOWATTREL, PokemonType.ELECTRIC, PokemonType.FLYING, [ + [ BiomeId.SEA, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEA, BiomePoolTier.BOSS ] ] ], - [ Species.MASCHIFF, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ] + [ SpeciesId.MASCHIFF, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ] ] ], - [ Species.MABOSSTIFF, PokemonType.DARK, -1, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.MABOSSTIFF, PokemonType.DARK, -1, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.SHROODLE, PokemonType.POISON, PokemonType.NORMAL, [ - [ Biome.FOREST, BiomePoolTier.COMMON ] + [ SpeciesId.SHROODLE, PokemonType.POISON, PokemonType.NORMAL, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON ] ] ], - [ Species.GRAFAIAI, PokemonType.POISON, PokemonType.NORMAL, [ - [ Biome.FOREST, BiomePoolTier.COMMON ], - [ Biome.FOREST, BiomePoolTier.BOSS ] + [ SpeciesId.GRAFAIAI, PokemonType.POISON, PokemonType.NORMAL, [ + [ BiomeId.FOREST, BiomePoolTier.COMMON ], + [ BiomeId.FOREST, BiomePoolTier.BOSS ] ] ], - [ Species.BRAMBLIN, PokemonType.GRASS, PokemonType.GHOST, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON ] + [ SpeciesId.BRAMBLIN, PokemonType.GRASS, PokemonType.GHOST, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON ] ] ], - [ Species.BRAMBLEGHAST, PokemonType.GRASS, PokemonType.GHOST, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON ], - [ Biome.DESERT, BiomePoolTier.BOSS ] + [ SpeciesId.BRAMBLEGHAST, PokemonType.GRASS, PokemonType.GHOST, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON ], + [ BiomeId.DESERT, BiomePoolTier.BOSS ] ] ], - [ Species.TOEDSCOOL, PokemonType.GROUND, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.RARE ] + [ SpeciesId.TOEDSCOOL, PokemonType.GROUND, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ] ] ], - [ Species.TOEDSCRUEL, PokemonType.GROUND, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.TOEDSCRUEL, PokemonType.GROUND, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.KLAWF, PokemonType.ROCK, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.RARE ] + [ SpeciesId.KLAWF, PokemonType.ROCK, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.RARE ] ] ], - [ Species.CAPSAKID, PokemonType.GRASS, -1, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.CAPSAKID, PokemonType.GRASS, -1, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.SCOVILLAIN, PokemonType.GRASS, PokemonType.FIRE, [ - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.SCOVILLAIN, PokemonType.GRASS, PokemonType.FIRE, [ + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.RELLOR, PokemonType.BUG, -1, [ - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.RELLOR, PokemonType.BUG, -1, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.RABSCA, PokemonType.BUG, PokemonType.PSYCHIC, [ - [ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.RABSCA, PokemonType.BUG, PokemonType.PSYCHIC, [ + [ BiomeId.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.FLITTLE, PokemonType.PSYCHIC, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.FLITTLE, PokemonType.PSYCHIC, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ESPATHRA, PokemonType.PSYCHIC, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ESPATHRA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.TINKATINK, PokemonType.FAIRY, PokemonType.STEEL, [ - [ Biome.RUINS, BiomePoolTier.UNCOMMON ] + [ SpeciesId.TINKATINK, PokemonType.FAIRY, PokemonType.STEEL, [ + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ] ] ], - [ Species.TINKATUFF, PokemonType.FAIRY, PokemonType.STEEL, [ - [ Biome.RUINS, BiomePoolTier.UNCOMMON ] + [ SpeciesId.TINKATUFF, PokemonType.FAIRY, PokemonType.STEEL, [ + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ] ] ], - [ Species.TINKATON, PokemonType.FAIRY, PokemonType.STEEL, [ - [ Biome.RUINS, BiomePoolTier.UNCOMMON ], - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ SpeciesId.TINKATON, PokemonType.FAIRY, PokemonType.STEEL, [ + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], - [ Species.WIGLETT, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ SpeciesId.WIGLETT, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], - [ Species.WUGTRIO, PokemonType.WATER, -1, [ - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ SpeciesId.WUGTRIO, PokemonType.WATER, -1, [ + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], - [ Species.BOMBIRDIER, PokemonType.FLYING, PokemonType.DARK, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.BOMBIRDIER, PokemonType.FLYING, PokemonType.DARK, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.FINIZEN, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.FINIZEN, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.PALAFIN, PokemonType.WATER, -1, [ - [ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.PALAFIN, PokemonType.WATER, -1, [ + [ BiomeId.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.VAROOM, PokemonType.STEEL, PokemonType.POISON, [ - [ Biome.METROPOLIS, BiomePoolTier.RARE ], - [ Biome.SLUM, BiomePoolTier.RARE ] + [ SpeciesId.VAROOM, PokemonType.STEEL, PokemonType.POISON, [ + [ BiomeId.METROPOLIS, BiomePoolTier.RARE ], + [ BiomeId.SLUM, BiomePoolTier.RARE ] ] ], - [ Species.REVAVROOM, PokemonType.STEEL, PokemonType.POISON, [ - [ Biome.METROPOLIS, BiomePoolTier.RARE ], - [ Biome.METROPOLIS, BiomePoolTier.BOSS_RARE ], - [ Biome.SLUM, BiomePoolTier.RARE ], - [ Biome.SLUM, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.REVAVROOM, PokemonType.STEEL, PokemonType.POISON, [ + [ BiomeId.METROPOLIS, BiomePoolTier.RARE ], + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS_RARE ], + [ BiomeId.SLUM, BiomePoolTier.RARE ], + [ BiomeId.SLUM, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.CYCLIZAR, PokemonType.DRAGON, PokemonType.NORMAL, [ - [ Biome.WASTELAND, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CYCLIZAR, PokemonType.DRAGON, PokemonType.NORMAL, [ + [ BiomeId.WASTELAND, BiomePoolTier.UNCOMMON ] ] ], - [ Species.ORTHWORM, PokemonType.STEEL, -1, [ - [ Biome.DESERT, BiomePoolTier.UNCOMMON ] + [ SpeciesId.ORTHWORM, PokemonType.STEEL, -1, [ + [ BiomeId.DESERT, BiomePoolTier.UNCOMMON ] ] ], - [ Species.GLIMMET, PokemonType.ROCK, PokemonType.POISON, [ - [ Biome.CAVE, BiomePoolTier.RARE ] + [ SpeciesId.GLIMMET, PokemonType.ROCK, PokemonType.POISON, [ + [ BiomeId.CAVE, BiomePoolTier.RARE ] ] ], - [ Species.GLIMMORA, PokemonType.ROCK, PokemonType.POISON, [ - [ Biome.CAVE, BiomePoolTier.RARE ], - [ Biome.CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.GLIMMORA, PokemonType.ROCK, PokemonType.POISON, [ + [ BiomeId.CAVE, BiomePoolTier.RARE ], + [ BiomeId.CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GREAVARD, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ] + [ SpeciesId.GREAVARD, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ] ] ], - [ Species.HOUNDSTONE, PokemonType.GHOST, -1, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ SpeciesId.HOUNDSTONE, PokemonType.GHOST, -1, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], - [ Species.FLAMIGO, PokemonType.FLYING, PokemonType.FIGHTING, [ - [ Biome.LAKE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.FLAMIGO, PokemonType.FLYING, PokemonType.FIGHTING, [ + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CETODDLE, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ] + [ SpeciesId.CETODDLE, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ] ] ], - [ Species.CETITAN, PokemonType.ICE, -1, [ - [ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ SpeciesId.CETITAN, PokemonType.ICE, -1, [ + [ BiomeId.ICE_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], - [ Species.VELUZA, PokemonType.WATER, PokemonType.PSYCHIC, [ - [ Biome.SEABED, BiomePoolTier.COMMON ] + [ SpeciesId.VELUZA, PokemonType.WATER, PokemonType.PSYCHIC, [ + [ BiomeId.SEABED, BiomePoolTier.COMMON ] ] ], - [ Species.DONDOZO, PokemonType.WATER, -1, [ - [ Biome.SEABED, BiomePoolTier.UNCOMMON ], - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ SpeciesId.DONDOZO, PokemonType.WATER, -1, [ + [ BiomeId.SEABED, BiomePoolTier.UNCOMMON ], + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], - [ Species.TATSUGIRI, PokemonType.DRAGON, PokemonType.WATER, [ - [ Biome.BEACH, BiomePoolTier.RARE ] + [ SpeciesId.TATSUGIRI, PokemonType.DRAGON, PokemonType.WATER, [ + [ BiomeId.BEACH, BiomePoolTier.RARE ] ] ], - [ Species.ANNIHILAPE, PokemonType.FIGHTING, PokemonType.GHOST, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.DOJO, BiomePoolTier.COMMON ], - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ SpeciesId.ANNIHILAPE, PokemonType.FIGHTING, PokemonType.GHOST, [ + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.DOJO, BiomePoolTier.COMMON ], + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], - [ Species.CLODSIRE, PokemonType.POISON, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.CLODSIRE, PokemonType.POISON, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.FARIGIRAF, PokemonType.NORMAL, PokemonType.PSYCHIC, [ - [ Biome.TALL_GRASS, BiomePoolTier.RARE ], - [ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.FARIGIRAF, PokemonType.NORMAL, PokemonType.PSYCHIC, [ + [ BiomeId.TALL_GRASS, BiomePoolTier.RARE ], + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.DUDUNSPARCE, PokemonType.NORMAL, -1, [ - [ Biome.PLAINS, BiomePoolTier.SUPER_RARE ], - [ Biome.PLAINS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.DUDUNSPARCE, PokemonType.NORMAL, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.SUPER_RARE ], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.KINGAMBIT, PokemonType.DARK, PokemonType.STEEL, [ - [ Biome.ABYSS, BiomePoolTier.COMMON ], - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ SpeciesId.KINGAMBIT, PokemonType.DARK, PokemonType.STEEL, [ + [ BiomeId.ABYSS, BiomePoolTier.COMMON ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], - [ Species.GREAT_TUSK, PokemonType.GROUND, PokemonType.FIGHTING, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.GREAT_TUSK, PokemonType.GROUND, PokemonType.FIGHTING, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.SCREAM_TAIL, PokemonType.FAIRY, PokemonType.PSYCHIC, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.SCREAM_TAIL, PokemonType.FAIRY, PokemonType.PSYCHIC, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.BRUTE_BONNET, PokemonType.GRASS, PokemonType.DARK, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.BRUTE_BONNET, PokemonType.GRASS, PokemonType.DARK, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.FLUTTER_MANE, PokemonType.GHOST, PokemonType.FAIRY, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.FLUTTER_MANE, PokemonType.GHOST, PokemonType.FAIRY, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.SLITHER_WING, PokemonType.BUG, PokemonType.FIGHTING, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.SLITHER_WING, PokemonType.BUG, PokemonType.FIGHTING, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.SANDY_SHOCKS, PokemonType.ELECTRIC, PokemonType.GROUND, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.SANDY_SHOCKS, PokemonType.ELECTRIC, PokemonType.GROUND, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.IRON_TREADS, PokemonType.GROUND, PokemonType.STEEL, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.IRON_TREADS, PokemonType.GROUND, PokemonType.STEEL, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.IRON_BUNDLE, PokemonType.ICE, PokemonType.WATER, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.IRON_BUNDLE, PokemonType.ICE, PokemonType.WATER, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.IRON_HANDS, PokemonType.FIGHTING, PokemonType.ELECTRIC, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.IRON_HANDS, PokemonType.FIGHTING, PokemonType.ELECTRIC, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.IRON_JUGULIS, PokemonType.DARK, PokemonType.FLYING, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.IRON_JUGULIS, PokemonType.DARK, PokemonType.FLYING, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.IRON_MOTH, PokemonType.FIRE, PokemonType.POISON, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.IRON_MOTH, PokemonType.FIRE, PokemonType.POISON, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.IRON_THORNS, PokemonType.ROCK, PokemonType.ELECTRIC, [ - [ Biome.END, BiomePoolTier.COMMON ] + [ SpeciesId.IRON_THORNS, PokemonType.ROCK, PokemonType.ELECTRIC, [ + [ BiomeId.END, BiomePoolTier.COMMON ] ] ], - [ Species.FRIGIBAX, PokemonType.DRAGON, PokemonType.ICE, [ - [ Biome.WASTELAND, BiomePoolTier.RARE ] + [ SpeciesId.FRIGIBAX, PokemonType.DRAGON, PokemonType.ICE, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE ] ] ], - [ Species.ARCTIBAX, PokemonType.DRAGON, PokemonType.ICE, [ - [ Biome.WASTELAND, BiomePoolTier.RARE ] + [ SpeciesId.ARCTIBAX, PokemonType.DRAGON, PokemonType.ICE, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE ] ] ], - [ Species.BAXCALIBUR, PokemonType.DRAGON, PokemonType.ICE, [ - [ Biome.WASTELAND, BiomePoolTier.RARE ], - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ SpeciesId.BAXCALIBUR, PokemonType.DRAGON, PokemonType.ICE, [ + [ BiomeId.WASTELAND, BiomePoolTier.RARE ], + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], - [ Species.GIMMIGHOUL, PokemonType.GHOST, -1, [ - [ Biome.TEMPLE, BiomePoolTier.RARE ] + [ SpeciesId.GIMMIGHOUL, PokemonType.GHOST, -1, [ + [ BiomeId.TEMPLE, BiomePoolTier.RARE ] ] ], - [ Species.GHOLDENGO, PokemonType.STEEL, PokemonType.GHOST, [ - [ Biome.TEMPLE, BiomePoolTier.RARE ], - [ Biome.TEMPLE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.GHOLDENGO, PokemonType.STEEL, PokemonType.GHOST, [ + [ BiomeId.TEMPLE, BiomePoolTier.RARE ], + [ BiomeId.TEMPLE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.WO_CHIEN, PokemonType.DARK, PokemonType.GRASS, [ - [ Biome.FOREST, BiomePoolTier.ULTRA_RARE ], - [ Biome.FOREST, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.WO_CHIEN, PokemonType.DARK, PokemonType.GRASS, [ + [ BiomeId.FOREST, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.CHIEN_PAO, PokemonType.DARK, PokemonType.ICE, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.CHIEN_PAO, PokemonType.DARK, PokemonType.ICE, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.TING_LU, PokemonType.DARK, PokemonType.GROUND, [ - [ Biome.MOUNTAIN, BiomePoolTier.ULTRA_RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.TING_LU, PokemonType.DARK, PokemonType.GROUND, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.CHI_YU, PokemonType.DARK, PokemonType.FIRE, [ - [ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ], - [ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.CHI_YU, PokemonType.DARK, PokemonType.FIRE, [ + [ BiomeId.VOLCANO, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.ROARING_MOON, PokemonType.DRAGON, PokemonType.DARK, [ - [ Biome.END, BiomePoolTier.UNCOMMON ] + [ SpeciesId.ROARING_MOON, PokemonType.DRAGON, PokemonType.DARK, [ + [ BiomeId.END, BiomePoolTier.UNCOMMON ] ] ], - [ Species.IRON_VALIANT, PokemonType.FAIRY, PokemonType.FIGHTING, [ - [ Biome.END, BiomePoolTier.UNCOMMON ] + [ SpeciesId.IRON_VALIANT, PokemonType.FAIRY, PokemonType.FIGHTING, [ + [ BiomeId.END, BiomePoolTier.UNCOMMON ] ] ], - [ Species.KORAIDON, PokemonType.FIGHTING, PokemonType.DRAGON, [ - [ Biome.RUINS, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.KORAIDON, PokemonType.FIGHTING, PokemonType.DRAGON, [ + [ BiomeId.RUINS, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.MIRAIDON, PokemonType.ELECTRIC, PokemonType.DRAGON, [ - [ Biome.LABORATORY, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.MIRAIDON, PokemonType.ELECTRIC, PokemonType.DRAGON, [ + [ BiomeId.LABORATORY, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.WALKING_WAKE, PokemonType.WATER, PokemonType.DRAGON, [ - [ Biome.END, BiomePoolTier.RARE ] + [ SpeciesId.WALKING_WAKE, PokemonType.WATER, PokemonType.DRAGON, [ + [ BiomeId.END, BiomePoolTier.RARE ] ] ], - [ Species.IRON_LEAVES, PokemonType.GRASS, PokemonType.PSYCHIC, [ - [ Biome.END, BiomePoolTier.RARE ] + [ SpeciesId.IRON_LEAVES, PokemonType.GRASS, PokemonType.PSYCHIC, [ + [ BiomeId.END, BiomePoolTier.RARE ] ] ], - [ Species.DIPPLIN, PokemonType.GRASS, PokemonType.DRAGON, [ - [ Biome.MEADOW, BiomePoolTier.RARE ] + [ SpeciesId.DIPPLIN, PokemonType.GRASS, PokemonType.DRAGON, [ + [ BiomeId.MEADOW, BiomePoolTier.RARE ] ] ], - [ Species.POLTCHAGEIST, PokemonType.GRASS, PokemonType.GHOST, [ - [ Biome.BADLANDS, BiomePoolTier.RARE ] + [ SpeciesId.POLTCHAGEIST, PokemonType.GRASS, PokemonType.GHOST, [ + [ BiomeId.BADLANDS, BiomePoolTier.RARE ] ] ], - [ Species.SINISTCHA, PokemonType.GRASS, PokemonType.GHOST, [ - [ Biome.BADLANDS, BiomePoolTier.RARE ], - [ Biome.BADLANDS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.SINISTCHA, PokemonType.GRASS, PokemonType.GHOST, [ + [ BiomeId.BADLANDS, BiomePoolTier.RARE ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.OKIDOGI, PokemonType.POISON, PokemonType.FIGHTING, [ - [ Biome.BADLANDS, BiomePoolTier.ULTRA_RARE ], - [ Biome.BADLANDS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.OKIDOGI, PokemonType.POISON, PokemonType.FIGHTING, [ + [ BiomeId.BADLANDS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.BADLANDS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.MUNKIDORI, PokemonType.POISON, PokemonType.PSYCHIC, [ - [ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.MUNKIDORI, PokemonType.POISON, PokemonType.PSYCHIC, [ + [ BiomeId.JUNGLE, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.FEZANDIPITI, PokemonType.POISON, PokemonType.FAIRY, [ - [ Biome.RUINS, BiomePoolTier.ULTRA_RARE ], - [ Biome.RUINS, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.FEZANDIPITI, PokemonType.POISON, PokemonType.FAIRY, [ + [ BiomeId.RUINS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.RUINS, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.OGERPON, PokemonType.GRASS, -1, [ - [ Biome.MOUNTAIN, BiomePoolTier.ULTRA_RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ] + [ SpeciesId.OGERPON, PokemonType.GRASS, -1, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ] ] ], - [ Species.ARCHALUDON, PokemonType.STEEL, PokemonType.DRAGON, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ARCHALUDON, PokemonType.STEEL, PokemonType.DRAGON, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HYDRAPPLE, PokemonType.GRASS, PokemonType.DRAGON, [ - [ Biome.MEADOW, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HYDRAPPLE, PokemonType.GRASS, PokemonType.DRAGON, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GOUGING_FIRE, PokemonType.FIRE, PokemonType.DRAGON, [ - [ Biome.END, BiomePoolTier.RARE ] + [ SpeciesId.GOUGING_FIRE, PokemonType.FIRE, PokemonType.DRAGON, [ + [ BiomeId.END, BiomePoolTier.RARE ] ] ], - [ Species.RAGING_BOLT, PokemonType.ELECTRIC, PokemonType.DRAGON, [ - [ Biome.END, BiomePoolTier.RARE ] + [ SpeciesId.RAGING_BOLT, PokemonType.ELECTRIC, PokemonType.DRAGON, [ + [ BiomeId.END, BiomePoolTier.RARE ] ] ], - [ Species.IRON_BOULDER, PokemonType.ROCK, PokemonType.PSYCHIC, [ - [ Biome.END, BiomePoolTier.RARE ] + [ SpeciesId.IRON_BOULDER, PokemonType.ROCK, PokemonType.PSYCHIC, [ + [ BiomeId.END, BiomePoolTier.RARE ] ] ], - [ Species.IRON_CROWN, PokemonType.STEEL, PokemonType.PSYCHIC, [ - [ Biome.END, BiomePoolTier.RARE ] + [ SpeciesId.IRON_CROWN, PokemonType.STEEL, PokemonType.PSYCHIC, [ + [ BiomeId.END, BiomePoolTier.RARE ] ] ], - [ Species.TERAPAGOS, PokemonType.NORMAL, -1, [ - [ Biome.CAVE, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.TERAPAGOS, PokemonType.NORMAL, -1, [ + [ BiomeId.CAVE, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.PECHARUNT, PokemonType.POISON, PokemonType.GHOST, [ ] + [ SpeciesId.PECHARUNT, PokemonType.POISON, PokemonType.GHOST, [ ] ], - [ Species.ALOLA_RATTATA, PokemonType.DARK, PokemonType.NORMAL, [ - [ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ALOLA_RATTATA, PokemonType.DARK, PokemonType.NORMAL, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ALOLA_RATICATE, PokemonType.DARK, PokemonType.NORMAL, [ - [ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ALOLA_RATICATE, PokemonType.DARK, PokemonType.NORMAL, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ALOLA_RAICHU, PokemonType.ELECTRIC, PokemonType.PSYCHIC, [ - [ Biome.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ALOLA_RAICHU, PokemonType.ELECTRIC, PokemonType.PSYCHIC, [ + [ BiomeId.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ALOLA_SANDSHREW, PokemonType.ICE, PokemonType.STEEL, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.RARE ] + [ SpeciesId.ALOLA_SANDSHREW, PokemonType.ICE, PokemonType.STEEL, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.RARE ] ] ], - [ Species.ALOLA_SANDSLASH, PokemonType.ICE, PokemonType.STEEL, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.ISLAND, BiomePoolTier.BOSS ], - [ Biome.SNOWY_FOREST, BiomePoolTier.RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ALOLA_SANDSLASH, PokemonType.ICE, PokemonType.STEEL, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ALOLA_VULPIX, PokemonType.ICE, -1, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.RARE ] + [ SpeciesId.ALOLA_VULPIX, PokemonType.ICE, -1, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.RARE ] ] ], - [ Species.ALOLA_NINETALES, PokemonType.ICE, PokemonType.FAIRY, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.ISLAND, BiomePoolTier.BOSS ], - [ Biome.SNOWY_FOREST, BiomePoolTier.RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ALOLA_NINETALES, PokemonType.ICE, PokemonType.FAIRY, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.ALOLA_DIGLETT, PokemonType.GROUND, PokemonType.STEEL, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ] + [ SpeciesId.ALOLA_DIGLETT, PokemonType.GROUND, PokemonType.STEEL, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ] ] ], - [ Species.ALOLA_DUGTRIO, PokemonType.GROUND, PokemonType.STEEL, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.ISLAND, BiomePoolTier.BOSS ] + [ SpeciesId.ALOLA_DUGTRIO, PokemonType.GROUND, PokemonType.STEEL, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS ] ] ], - [ Species.ALOLA_MEOWTH, PokemonType.DARK, -1, [ - [ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ALOLA_MEOWTH, PokemonType.DARK, -1, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ALOLA_PERSIAN, PokemonType.DARK, -1, [ - [ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ALOLA_PERSIAN, PokemonType.DARK, -1, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ALOLA_GEODUDE, PokemonType.ROCK, PokemonType.ELECTRIC, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ] + [ SpeciesId.ALOLA_GEODUDE, PokemonType.ROCK, PokemonType.ELECTRIC, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ] ] ], - [ Species.ALOLA_GRAVELER, PokemonType.ROCK, PokemonType.ELECTRIC, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ] + [ SpeciesId.ALOLA_GRAVELER, PokemonType.ROCK, PokemonType.ELECTRIC, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ] ] ], - [ Species.ALOLA_GOLEM, PokemonType.ROCK, PokemonType.ELECTRIC, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.ISLAND, BiomePoolTier.BOSS ] + [ SpeciesId.ALOLA_GOLEM, PokemonType.ROCK, PokemonType.ELECTRIC, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS ] ] ], - [ Species.ALOLA_GRIMER, PokemonType.POISON, PokemonType.DARK, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ] + [ SpeciesId.ALOLA_GRIMER, PokemonType.POISON, PokemonType.DARK, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ] ] ], - [ Species.ALOLA_MUK, PokemonType.POISON, PokemonType.DARK, [ - [ Biome.ISLAND, BiomePoolTier.COMMON ], - [ Biome.ISLAND, BiomePoolTier.BOSS ] + [ SpeciesId.ALOLA_MUK, PokemonType.POISON, PokemonType.DARK, [ + [ BiomeId.ISLAND, BiomePoolTier.COMMON ], + [ BiomeId.ISLAND, BiomePoolTier.BOSS ] ] ], - [ Species.ALOLA_EXEGGUTOR, PokemonType.GRASS, PokemonType.DRAGON, [ - [ Biome.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.ALOLA_EXEGGUTOR, PokemonType.GRASS, PokemonType.DRAGON, [ + [ BiomeId.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.ALOLA_MAROWAK, PokemonType.FIRE, PokemonType.GHOST, [ - [ Biome.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.ALOLA_MAROWAK, PokemonType.FIRE, PokemonType.GHOST, [ + [ BiomeId.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.ETERNAL_FLOETTE, PokemonType.FAIRY, -1, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.RARE ], - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.ETERNAL_FLOETTE, PokemonType.FAIRY, -1, [ + [ BiomeId.FAIRY_CAVE, BiomePoolTier.RARE ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GALAR_MEOWTH, PokemonType.STEEL, -1, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE, TimeOfDay.DUSK ] + [ SpeciesId.GALAR_MEOWTH, PokemonType.STEEL, -1, [ + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.RARE, TimeOfDay.DUSK ] ] ], - [ Species.GALAR_PONYTA, PokemonType.PSYCHIC, -1, [ - [ Biome.JUNGLE, BiomePoolTier.RARE, TimeOfDay.DAWN ] + [ SpeciesId.GALAR_PONYTA, PokemonType.PSYCHIC, -1, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE, TimeOfDay.DAWN ] ] ], - [ Species.GALAR_RAPIDASH, PokemonType.PSYCHIC, PokemonType.FAIRY, [ - [ Biome.JUNGLE, BiomePoolTier.RARE, TimeOfDay.DAWN ], - [ Biome.JUNGLE, BiomePoolTier.BOSS_RARE, TimeOfDay.DAWN ] + [ SpeciesId.GALAR_RAPIDASH, PokemonType.PSYCHIC, PokemonType.FAIRY, [ + [ BiomeId.JUNGLE, BiomePoolTier.RARE, TimeOfDay.DAWN ], + [ BiomeId.JUNGLE, BiomePoolTier.BOSS_RARE, TimeOfDay.DAWN ] ] ], - [ Species.GALAR_SLOWPOKE, PokemonType.PSYCHIC, -1, [ - [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GALAR_SLOWPOKE, PokemonType.PSYCHIC, -1, [ + [ BiomeId.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GALAR_SLOWBRO, PokemonType.POISON, PokemonType.PSYCHIC, [ - [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GALAR_SLOWBRO, PokemonType.POISON, PokemonType.PSYCHIC, [ + [ BiomeId.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GALAR_FARFETCHD, PokemonType.FIGHTING, -1, [ - [ Biome.DOJO, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.GALAR_FARFETCHD, PokemonType.FIGHTING, -1, [ + [ BiomeId.DOJO, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.GALAR_WEEZING, PokemonType.POISON, PokemonType.FAIRY, [ - [ Biome.SLUM, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.GALAR_WEEZING, PokemonType.POISON, PokemonType.FAIRY, [ + [ BiomeId.SLUM, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.GALAR_MR_MIME, PokemonType.ICE, PokemonType.PSYCHIC, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.GALAR_MR_MIME, PokemonType.ICE, PokemonType.PSYCHIC, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.GALAR_ARTICUNO, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.GALAR_ARTICUNO, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.GALAR_ZAPDOS, PokemonType.FIGHTING, PokemonType.FLYING, [ - [ Biome.DOJO, BiomePoolTier.ULTRA_RARE ], - [ Biome.DOJO, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.GALAR_ZAPDOS, PokemonType.FIGHTING, PokemonType.FLYING, [ + [ BiomeId.DOJO, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.DOJO, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.GALAR_MOLTRES, PokemonType.DARK, PokemonType.FLYING, [ - [ Biome.ABYSS, BiomePoolTier.ULTRA_RARE ], - [ Biome.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ] + [ SpeciesId.GALAR_MOLTRES, PokemonType.DARK, PokemonType.FLYING, [ + [ BiomeId.ABYSS, BiomePoolTier.ULTRA_RARE ], + [ BiomeId.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ] ] ], - [ Species.GALAR_SLOWKING, PokemonType.POISON, PokemonType.PSYCHIC, [ - [ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GALAR_SLOWKING, PokemonType.POISON, PokemonType.PSYCHIC, [ + [ BiomeId.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GALAR_CORSOLA, PokemonType.GHOST, -1, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.GALAR_CORSOLA, PokemonType.GHOST, -1, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.GALAR_ZIGZAGOON, PokemonType.DARK, PokemonType.NORMAL, [ - [ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.GALAR_ZIGZAGOON, PokemonType.DARK, PokemonType.NORMAL, [ + [ BiomeId.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.GALAR_LINOONE, PokemonType.DARK, PokemonType.NORMAL, [ - [ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.GALAR_LINOONE, PokemonType.DARK, PokemonType.NORMAL, [ + [ BiomeId.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.GALAR_DARUMAKA, PokemonType.ICE, -1, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GALAR_DARUMAKA, PokemonType.ICE, -1, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GALAR_DARMANITAN, PokemonType.ICE, -1, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.GALAR_DARMANITAN, PokemonType.ICE, -1, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.GALAR_YAMASK, PokemonType.GROUND, PokemonType.GHOST, [ - [ Biome.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.GALAR_YAMASK, PokemonType.GROUND, PokemonType.GHOST, [ + [ BiomeId.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.GALAR_STUNFISK, PokemonType.GROUND, PokemonType.STEEL, [ - [ Biome.SWAMP, BiomePoolTier.SUPER_RARE ], - [ Biome.SWAMP, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.GALAR_STUNFISK, PokemonType.GROUND, PokemonType.STEEL, [ + [ BiomeId.SWAMP, BiomePoolTier.SUPER_RARE ], + [ BiomeId.SWAMP, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HISUI_GROWLITHE, PokemonType.FIRE, PokemonType.ROCK, [ - [ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.HISUI_GROWLITHE, PokemonType.FIRE, PokemonType.ROCK, [ + [ BiomeId.VOLCANO, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.HISUI_ARCANINE, PokemonType.FIRE, PokemonType.ROCK, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HISUI_ARCANINE, PokemonType.FIRE, PokemonType.ROCK, [ + [ BiomeId.VOLCANO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HISUI_VOLTORB, PokemonType.ELECTRIC, PokemonType.GRASS, [ - [ Biome.POWER_PLANT, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.HISUI_VOLTORB, PokemonType.ELECTRIC, PokemonType.GRASS, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.HISUI_ELECTRODE, PokemonType.ELECTRIC, PokemonType.GRASS, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HISUI_ELECTRODE, PokemonType.ELECTRIC, PokemonType.GRASS, [ + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HISUI_TYPHLOSION, PokemonType.FIRE, PokemonType.GHOST, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HISUI_TYPHLOSION, PokemonType.FIRE, PokemonType.GHOST, [ + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HISUI_QWILFISH, PokemonType.DARK, PokemonType.POISON, [ - [ Biome.SEABED, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.HISUI_QWILFISH, PokemonType.DARK, PokemonType.POISON, [ + [ BiomeId.SEABED, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.HISUI_SNEASEL, PokemonType.FIGHTING, PokemonType.POISON, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HISUI_SNEASEL, PokemonType.FIGHTING, PokemonType.POISON, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HISUI_SAMUROTT, PokemonType.WATER, PokemonType.DARK, [ - [ Biome.ABYSS, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HISUI_SAMUROTT, PokemonType.WATER, PokemonType.DARK, [ + [ BiomeId.ABYSS, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.HISUI_LILLIGANT, PokemonType.GRASS, PokemonType.FIGHTING, [ - [ Biome.MEADOW, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HISUI_LILLIGANT, PokemonType.GRASS, PokemonType.FIGHTING, [ + [ BiomeId.MEADOW, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HISUI_ZORUA, PokemonType.NORMAL, PokemonType.GHOST, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.HISUI_ZORUA, PokemonType.NORMAL, PokemonType.GHOST, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.HISUI_ZOROARK, PokemonType.NORMAL, PokemonType.GHOST, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.HISUI_ZOROARK, PokemonType.NORMAL, PokemonType.GHOST, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.HISUI_BRAVIARY, PokemonType.PSYCHIC, PokemonType.FLYING, [ - [ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HISUI_BRAVIARY, PokemonType.PSYCHIC, PokemonType.FLYING, [ + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HISUI_SLIGGOO, PokemonType.STEEL, PokemonType.DRAGON, [ - [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HISUI_SLIGGOO, PokemonType.STEEL, PokemonType.DRAGON, [ + [ BiomeId.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HISUI_GOODRA, PokemonType.STEEL, PokemonType.DRAGON, [ - [ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.HISUI_GOODRA, PokemonType.STEEL, PokemonType.DRAGON, [ + [ BiomeId.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.HISUI_AVALUGG, PokemonType.ICE, PokemonType.ROCK, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ] + [ SpeciesId.HISUI_AVALUGG, PokemonType.ICE, PokemonType.ROCK, [ + [ BiomeId.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ] ] ], - [ Species.HISUI_DECIDUEYE, PokemonType.GRASS, PokemonType.FIGHTING, [ - [ Biome.DOJO, BiomePoolTier.BOSS_RARE ] + [ SpeciesId.HISUI_DECIDUEYE, PokemonType.GRASS, PokemonType.FIGHTING, [ + [ BiomeId.DOJO, BiomePoolTier.BOSS_RARE ] ] ], - [ Species.PALDEA_TAUROS, PokemonType.FIGHTING, -1, [ - [ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], - [ Biome.PLAINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] + [ SpeciesId.PALDEA_TAUROS, PokemonType.FIGHTING, -1, [ + [ BiomeId.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]], + [ BiomeId.PLAINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]] ] ], - [ Species.PALDEA_WOOPER, PokemonType.POISON, PokemonType.GROUND, [ - [ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] + [ SpeciesId.PALDEA_WOOPER, PokemonType.POISON, PokemonType.GROUND, [ + [ BiomeId.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]] ] ], - [ Species.BLOODMOON_URSALUNA, PokemonType.GROUND, PokemonType.NORMAL, [ - [ Biome.FOREST, BiomePoolTier.SUPER_RARE, TimeOfDay.NIGHT ], - [ Biome.FOREST, BiomePoolTier.BOSS_RARE, TimeOfDay.NIGHT ] + [ SpeciesId.BLOODMOON_URSALUNA, PokemonType.GROUND, PokemonType.NORMAL, [ + [ BiomeId.FOREST, BiomePoolTier.SUPER_RARE, TimeOfDay.NIGHT ], + [ BiomeId.FOREST, BiomePoolTier.BOSS_RARE, TimeOfDay.NIGHT ] ] ] ]; const trainerBiomes = [ [ TrainerType.ACE_TRAINER, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.GRASS, BiomePoolTier.UNCOMMON ], - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON ], - [ Biome.SWAMP, BiomePoolTier.UNCOMMON ], - [ Biome.BEACH, BiomePoolTier.UNCOMMON ], - [ Biome.LAKE, BiomePoolTier.UNCOMMON ], - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ], - [ Biome.BADLANDS, BiomePoolTier.UNCOMMON ], - [ Biome.CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.RUINS, BiomePoolTier.UNCOMMON ], - [ Biome.ABYSS, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ] + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON ], + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON ], + [ BiomeId.SWAMP, BiomePoolTier.UNCOMMON ], + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ], + [ BiomeId.LAKE, BiomePoolTier.UNCOMMON ], + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.UNCOMMON ], + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.ABYSS, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.TEMPLE, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.ARTIST, [ - [ Biome.METROPOLIS, BiomePoolTier.RARE ] + [ BiomeId.METROPOLIS, BiomePoolTier.RARE ] ] ], [ TrainerType.BACKERS, []], [ TrainerType.BACKPACKER, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.JUNGLE, BiomePoolTier.COMMON ], - [ Biome.DESERT, BiomePoolTier.COMMON ] + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ], + [ BiomeId.DESERT, BiomePoolTier.COMMON ] ] ], [ TrainerType.BAKER, [ - [ Biome.SLUM, BiomePoolTier.UNCOMMON ], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ] + [ BiomeId.SLUM, BiomePoolTier.UNCOMMON ], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.BEAUTY, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON ], - [ Biome.MEADOW, BiomePoolTier.COMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ], + [ BiomeId.MEADOW, BiomePoolTier.COMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.COMMON ] ] ], [ TrainerType.BIKER, [ - [ Biome.SLUM, BiomePoolTier.COMMON ] + [ BiomeId.SLUM, BiomePoolTier.COMMON ] ] ], [ TrainerType.BLACK_BELT, [ - [ Biome.DOJO, BiomePoolTier.COMMON ], - [ Biome.PLAINS, BiomePoolTier.RARE ], - [ Biome.GRASS, BiomePoolTier.RARE ], - [ Biome.SWAMP, BiomePoolTier.RARE ], - [ Biome.BEACH, BiomePoolTier.RARE ], - [ Biome.LAKE, BiomePoolTier.RARE ], - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.UNCOMMON ], - [ Biome.RUINS, BiomePoolTier.UNCOMMON ] + [ BiomeId.DOJO, BiomePoolTier.COMMON ], + [ BiomeId.PLAINS, BiomePoolTier.RARE ], + [ BiomeId.GRASS, BiomePoolTier.RARE ], + [ BiomeId.SWAMP, BiomePoolTier.RARE ], + [ BiomeId.BEACH, BiomePoolTier.RARE ], + [ BiomeId.LAKE, BiomePoolTier.RARE ], + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.UNCOMMON ], + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.BREEDER, [ - [ Biome.PLAINS, BiomePoolTier.COMMON ], - [ Biome.GRASS, BiomePoolTier.COMMON ], - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON ], - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.BEACH, BiomePoolTier.UNCOMMON ], - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ], - [ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] + [ BiomeId.PLAINS, BiomePoolTier.COMMON ], + [ BiomeId.GRASS, BiomePoolTier.COMMON ], + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.BEACH, BiomePoolTier.UNCOMMON ], + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ], + [ BiomeId.FAIRY_CAVE, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.CLERK, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON ] + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ] ] ], [ TrainerType.CYCLIST, [ - [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], - [ Biome.METROPOLIS, BiomePoolTier.COMMON ] + [ BiomeId.PLAINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ] ] ], [ TrainerType.DANCER, []], [ TrainerType.DEPOT_AGENT, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ] + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.DOCTOR, []], [ TrainerType.FIREBREATHER, [ - [ Biome.VOLCANO, BiomePoolTier.COMMON ] + [ BiomeId.VOLCANO, BiomePoolTier.COMMON ] ] ], [ TrainerType.FISHERMAN, [ - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], [ TrainerType.GUITARIST, [ - [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] + [ BiomeId.METROPOLIS, BiomePoolTier.UNCOMMON ], + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ] ] ], [ TrainerType.HARLEQUIN, []], [ TrainerType.HIKER, [ - [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], - [ Biome.CAVE, BiomePoolTier.COMMON ], - [ Biome.BADLANDS, BiomePoolTier.COMMON ] + [ BiomeId.MOUNTAIN, BiomePoolTier.COMMON ], + [ BiomeId.CAVE, BiomePoolTier.COMMON ], + [ BiomeId.BADLANDS, BiomePoolTier.COMMON ] ] ], [ TrainerType.HOOLIGANS, [ - [ Biome.SLUM, BiomePoolTier.UNCOMMON ] + [ BiomeId.SLUM, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.HOOPSTER, []], @@ -7253,402 +7253,402 @@ export function initBiomes() { [ TrainerType.LINEBACKER, []], [ TrainerType.MAID, []], [ TrainerType.MUSICIAN, [ - [ Biome.MEADOW, BiomePoolTier.COMMON ] + [ BiomeId.MEADOW, BiomePoolTier.COMMON ] ] ], [ TrainerType.HEX_MANIAC, [ - [ Biome.RUINS, BiomePoolTier.UNCOMMON ], - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ] + [ BiomeId.RUINS, BiomePoolTier.UNCOMMON ], + [ BiomeId.GRAVEYARD, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.NURSERY_AIDE, []], [ TrainerType.OFFICER, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ], - [ Biome.SLUM, BiomePoolTier.COMMON ] + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ], + [ BiomeId.SLUM, BiomePoolTier.COMMON ] ] ], [ TrainerType.PARASOL_LADY, [ - [ Biome.SWAMP, BiomePoolTier.COMMON ], - [ Biome.LAKE, BiomePoolTier.COMMON ], - [ Biome.MEADOW, BiomePoolTier.COMMON ] + [ BiomeId.SWAMP, BiomePoolTier.COMMON ], + [ BiomeId.LAKE, BiomePoolTier.COMMON ], + [ BiomeId.MEADOW, BiomePoolTier.COMMON ] ] ], [ TrainerType.PILOT, [ - [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ] + [ BiomeId.MOUNTAIN, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.POKEFAN, [ - [ Biome.GRASS, BiomePoolTier.UNCOMMON ], - [ Biome.MEADOW, BiomePoolTier.UNCOMMON ] + [ BiomeId.GRASS, BiomePoolTier.UNCOMMON ], + [ BiomeId.MEADOW, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.PRESCHOOLER, []], [ TrainerType.PSYCHIC, [ - [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], - [ Biome.RUINS, BiomePoolTier.COMMON ] + [ BiomeId.GRAVEYARD, BiomePoolTier.COMMON ], + [ BiomeId.RUINS, BiomePoolTier.COMMON ] ] ], [ TrainerType.RANGER, [ - [ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON ], - [ Biome.FOREST, BiomePoolTier.COMMON ], - [ Biome.JUNGLE, BiomePoolTier.COMMON ] + [ BiomeId.TALL_GRASS, BiomePoolTier.UNCOMMON ], + [ BiomeId.FOREST, BiomePoolTier.COMMON ], + [ BiomeId.JUNGLE, BiomePoolTier.COMMON ] ] ], [ TrainerType.RICH, [ - [ Biome.ISLAND, BiomePoolTier.UNCOMMON ] + [ BiomeId.ISLAND, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.RICH_KID, [ - [ Biome.METROPOLIS, BiomePoolTier.RARE ], - [ Biome.ISLAND, BiomePoolTier.COMMON ] + [ BiomeId.METROPOLIS, BiomePoolTier.RARE ], + [ BiomeId.ISLAND, BiomePoolTier.COMMON ] ] ], [ TrainerType.ROUGHNECK, [ - [ Biome.SLUM, BiomePoolTier.COMMON ] + [ BiomeId.SLUM, BiomePoolTier.COMMON ] ] ], [ TrainerType.SAILOR, [ - [ Biome.SEA, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.COMMON ] + [ BiomeId.SEA, BiomePoolTier.COMMON ], + [ BiomeId.BEACH, BiomePoolTier.COMMON ] ] ], [ TrainerType.SCIENTIST, [ - [ Biome.DESERT, BiomePoolTier.COMMON ], - [ Biome.RUINS, BiomePoolTier.COMMON ] + [ BiomeId.DESERT, BiomePoolTier.COMMON ], + [ BiomeId.RUINS, BiomePoolTier.COMMON ] ] ], [ TrainerType.SMASHER, []], [ TrainerType.SNOW_WORKER, [ - [ Biome.ICE_CAVE, BiomePoolTier.COMMON ], - [ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ] + [ BiomeId.ICE_CAVE, BiomePoolTier.COMMON ], + [ BiomeId.SNOWY_FOREST, BiomePoolTier.COMMON ] ] ], [ TrainerType.STRIKER, []], [ TrainerType.SCHOOL_KID, [ - [ Biome.GRASS, BiomePoolTier.COMMON ] + [ BiomeId.GRASS, BiomePoolTier.COMMON ] ] ], [ TrainerType.SWIMMER, [ - [ Biome.SEA, BiomePoolTier.COMMON ] + [ BiomeId.SEA, BiomePoolTier.COMMON ] ] ], [ TrainerType.TWINS, [ - [ Biome.PLAINS, BiomePoolTier.COMMON ] + [ BiomeId.PLAINS, BiomePoolTier.COMMON ] ] ], [ TrainerType.VETERAN, [ - [ Biome.WASTELAND, BiomePoolTier.COMMON ] + [ BiomeId.WASTELAND, BiomePoolTier.COMMON ] ] ], [ TrainerType.WAITER, [ - [ Biome.METROPOLIS, BiomePoolTier.COMMON ] + [ BiomeId.METROPOLIS, BiomePoolTier.COMMON ] ] ], [ TrainerType.WORKER, [ - [ Biome.POWER_PLANT, BiomePoolTier.COMMON ], - [ Biome.FACTORY, BiomePoolTier.COMMON ], - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] + [ BiomeId.POWER_PLANT, BiomePoolTier.COMMON ], + [ BiomeId.FACTORY, BiomePoolTier.COMMON ], + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.COMMON ] ] ], [ TrainerType.YOUNGSTER, [ - [ Biome.TOWN, BiomePoolTier.COMMON ] + [ BiomeId.TOWN, BiomePoolTier.COMMON ] ] ], [ TrainerType.BROCK, [ - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.MISTY, [ - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], [ TrainerType.LT_SURGE, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] ] ], [ TrainerType.ERIKA, [ - [ Biome.GRASS, BiomePoolTier.BOSS ] + [ BiomeId.GRASS, BiomePoolTier.BOSS ] ] ], [ TrainerType.JANINE, [ - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], [ TrainerType.SABRINA, [ - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.GIOVANNI, [ - [ Biome.LABORATORY, BiomePoolTier.BOSS ] + [ BiomeId.LABORATORY, BiomePoolTier.BOSS ] ] ], [ TrainerType.BLAINE, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], [ TrainerType.FALKNER, [ - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], [ TrainerType.BUGSY, [ - [ Biome.FOREST, BiomePoolTier.BOSS ] + [ BiomeId.FOREST, BiomePoolTier.BOSS ] ] ], [ TrainerType.WHITNEY, [ - [ Biome.METROPOLIS, BiomePoolTier.BOSS ] + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS ] ] ], [ TrainerType.MORTY, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], [ TrainerType.CHUCK, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] ] ], [ TrainerType.JASMINE, [ - [ Biome.FACTORY, BiomePoolTier.BOSS ] + [ BiomeId.FACTORY, BiomePoolTier.BOSS ] ] ], [ TrainerType.PRYCE, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.CLAIR, [ - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], [ TrainerType.ROXANNE, [ - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.BRAWLY, [ - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], [ TrainerType.WATTSON, [ - [ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] + [ BiomeId.CONSTRUCTION_SITE, BiomePoolTier.BOSS ] ] ], [ TrainerType.FLANNERY, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], [ TrainerType.NORMAN, [ - [ Biome.METROPOLIS, BiomePoolTier.BOSS ] + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS ] ] ], [ TrainerType.WINONA, [ - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], [ TrainerType.TATE, [ - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.LIZA, [ - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.JUAN, [ - [ Biome.SEABED, BiomePoolTier.BOSS ] + [ BiomeId.SEABED, BiomePoolTier.BOSS ] ] ], [ TrainerType.ROARK, [ - [ Biome.CAVE, BiomePoolTier.BOSS ] + [ BiomeId.CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.GARDENIA, [ - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ] + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ] ] ], [ TrainerType.CRASHER_WAKE, [ - [ Biome.LAKE, BiomePoolTier.BOSS ] + [ BiomeId.LAKE, BiomePoolTier.BOSS ] ] ], [ TrainerType.MAYLENE, [ - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], [ TrainerType.FANTINA, [ - [ Biome.TEMPLE, BiomePoolTier.BOSS ] + [ BiomeId.TEMPLE, BiomePoolTier.BOSS ] ] ], [ TrainerType.BYRON, [ - [ Biome.FACTORY, BiomePoolTier.BOSS ] + [ BiomeId.FACTORY, BiomePoolTier.BOSS ] ] ], [ TrainerType.CANDICE, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS ] + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS ] ] ], [ TrainerType.VOLKNER, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], [ TrainerType.CILAN, [ - [ Biome.PLAINS, BiomePoolTier.BOSS ] + [ BiomeId.PLAINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.CHILI, [ - [ Biome.PLAINS, BiomePoolTier.BOSS ] + [ BiomeId.PLAINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.CRESS, [ - [ Biome.PLAINS, BiomePoolTier.BOSS ] + [ BiomeId.PLAINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.CHEREN, [ - [ Biome.PLAINS, BiomePoolTier.BOSS ] + [ BiomeId.PLAINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.LENORA, [ - [ Biome.MEADOW, BiomePoolTier.BOSS ] + [ BiomeId.MEADOW, BiomePoolTier.BOSS ] ] ], [ TrainerType.ROXIE, [ - [ Biome.SWAMP, BiomePoolTier.BOSS ] + [ BiomeId.SWAMP, BiomePoolTier.BOSS ] ] ], [ TrainerType.BURGH, [ - [ Biome.FOREST, BiomePoolTier.BOSS ] + [ BiomeId.FOREST, BiomePoolTier.BOSS ] ] ], [ TrainerType.ELESA, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], [ TrainerType.CLAY, [ - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], [ TrainerType.SKYLA, [ - [ Biome.MOUNTAIN, BiomePoolTier.BOSS ] + [ BiomeId.MOUNTAIN, BiomePoolTier.BOSS ] ] ], [ TrainerType.BRYCEN, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.DRAYDEN, [ - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], [ TrainerType.MARLON, [ - [ Biome.SEA, BiomePoolTier.BOSS ] + [ BiomeId.SEA, BiomePoolTier.BOSS ] ] ], [ TrainerType.VIOLA, [ - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ] + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ] ] ], [ TrainerType.GRANT, [ - [ Biome.BADLANDS, BiomePoolTier.BOSS ] + [ BiomeId.BADLANDS, BiomePoolTier.BOSS ] ] ], [ TrainerType.KORRINA, [ - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], [ TrainerType.RAMOS, [ - [ Biome.JUNGLE, BiomePoolTier.BOSS ] + [ BiomeId.JUNGLE, BiomePoolTier.BOSS ] ] ], [ TrainerType.CLEMONT, [ - [ Biome.POWER_PLANT, BiomePoolTier.BOSS ] + [ BiomeId.POWER_PLANT, BiomePoolTier.BOSS ] ] ], [ TrainerType.VALERIE, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.OLYMPIA, [ - [ Biome.SPACE, BiomePoolTier.BOSS ] + [ BiomeId.SPACE, BiomePoolTier.BOSS ] ] ], [ TrainerType.WULFRIC, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.MILO, [ - [ Biome.MEADOW, BiomePoolTier.BOSS ] + [ BiomeId.MEADOW, BiomePoolTier.BOSS ] ] ], [ TrainerType.NESSA, [ - [ Biome.ISLAND, BiomePoolTier.BOSS ] + [ BiomeId.ISLAND, BiomePoolTier.BOSS ] ] ], [ TrainerType.KABU, [ - [ Biome.VOLCANO, BiomePoolTier.BOSS ] + [ BiomeId.VOLCANO, BiomePoolTier.BOSS ] ] ], [ TrainerType.BEA, [ - [ Biome.DOJO, BiomePoolTier.BOSS ] + [ BiomeId.DOJO, BiomePoolTier.BOSS ] ] ], [ TrainerType.ALLISTER, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], [ TrainerType.OPAL, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.BEDE, [ - [ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ] + [ BiomeId.FAIRY_CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.GORDIE, [ - [ Biome.DESERT, BiomePoolTier.BOSS ] + [ BiomeId.DESERT, BiomePoolTier.BOSS ] ] ], [ TrainerType.MELONY, [ - [ Biome.SNOWY_FOREST, BiomePoolTier.BOSS ] + [ BiomeId.SNOWY_FOREST, BiomePoolTier.BOSS ] ] ], [ TrainerType.PIERS, [ - [ Biome.SLUM, BiomePoolTier.BOSS ] + [ BiomeId.SLUM, BiomePoolTier.BOSS ] ] ], [ TrainerType.MARNIE, [ - [ Biome.ABYSS, BiomePoolTier.BOSS ] + [ BiomeId.ABYSS, BiomePoolTier.BOSS ] ] ], [ TrainerType.RAIHAN, [ - [ Biome.WASTELAND, BiomePoolTier.BOSS ] + [ BiomeId.WASTELAND, BiomePoolTier.BOSS ] ] ], [ TrainerType.KATY, [ - [ Biome.FOREST, BiomePoolTier.BOSS ] + [ BiomeId.FOREST, BiomePoolTier.BOSS ] ] ], [ TrainerType.BRASSIUS, [ - [ Biome.TALL_GRASS, BiomePoolTier.BOSS ] + [ BiomeId.TALL_GRASS, BiomePoolTier.BOSS ] ] ], [ TrainerType.IONO, [ - [ Biome.METROPOLIS, BiomePoolTier.BOSS ] + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS ] ] ], [ TrainerType.KOFU, [ - [ Biome.BEACH, BiomePoolTier.BOSS ] + [ BiomeId.BEACH, BiomePoolTier.BOSS ] ] ], [ TrainerType.LARRY, [ - [ Biome.METROPOLIS, BiomePoolTier.BOSS ] + [ BiomeId.METROPOLIS, BiomePoolTier.BOSS ] ] ], [ TrainerType.RYME, [ - [ Biome.GRAVEYARD, BiomePoolTier.BOSS ] + [ BiomeId.GRAVEYARD, BiomePoolTier.BOSS ] ] ], [ TrainerType.TULIP, [ - [ Biome.RUINS, BiomePoolTier.BOSS ] + [ BiomeId.RUINS, BiomePoolTier.BOSS ] ] ], [ TrainerType.GRUSHA, [ - [ Biome.ICE_CAVE, BiomePoolTier.BOSS ] + [ BiomeId.ICE_CAVE, BiomePoolTier.BOSS ] ] ], [ TrainerType.LORELEI, []], @@ -7704,21 +7704,21 @@ export function initBiomes() { [ TrainerType.RIVAL, []] ]; - biomeDepths[Biome.TOWN] = [ 0, 1 ]; + biomeDepths[BiomeId.TOWN] = [ 0, 1 ]; - const traverseBiome = (biome: Biome, depth: number) => { - if (biome === Biome.END) { - const biomeList = Object.keys(Biome).filter(key => !Number.isNaN(Number(key))); - biomeList.pop(); // Removes Biome.END from the list - const randIndex = randSeedInt(biomeList.length, 1); // Will never be Biome.TOWN - biome = Biome[biomeList[randIndex]]; + const traverseBiome = (biome: BiomeId, depth: number) => { + if (biome === BiomeId.END) { + const biomeList = Object.keys(BiomeId).filter(key => !Number.isNaN(Number(key))); + biomeList.pop(); // Removes BiomeId.END from the list + const randIndex = randSeedInt(biomeList.length, 1); // Will never be BiomeId.TOWN + biome = BiomeId[biomeList[randIndex]]; } - const linkedBiomes: (Biome | [ Biome, number ])[] = Array.isArray(biomeLinks[biome]) - ? biomeLinks[biome] as (Biome | [ Biome, number ])[] - : [ biomeLinks[biome] as Biome ]; + const linkedBiomes: (BiomeId | [ BiomeId, number ])[] = Array.isArray(biomeLinks[biome]) + ? biomeLinks[biome] as (BiomeId | [ BiomeId, number ])[] + : [ biomeLinks[biome] as BiomeId ]; for (const linkedBiomeEntry of linkedBiomes) { const linkedBiome = !Array.isArray(linkedBiomeEntry) - ? linkedBiomeEntry as Biome + ? linkedBiomeEntry as BiomeId : linkedBiomeEntry[0]; const biomeChance = !Array.isArray(linkedBiomeEntry) ? 1 @@ -7730,10 +7730,10 @@ export function initBiomes() { } }; - traverseBiome(Biome.TOWN, 0); - biomeDepths[Biome.END] = [ Object.values(biomeDepths).map(d => d[0]).reduce((max: number, value: number) => Math.max(max, value), 0) + 1, 1 ]; + traverseBiome(BiomeId.TOWN, 0); + biomeDepths[BiomeId.END] = [ Object.values(biomeDepths).map(d => d[0]).reduce((max: number, value: number) => Math.max(max, value), 0) + 1, 1 ]; - for (const biome of getEnumValues(Biome)) { + for (const biome of getEnumValues(BiomeId)) { biomePokemonPools[biome] = {}; biomeTrainerPools[biome] = {}; @@ -7748,14 +7748,14 @@ export function initBiomes() { } for (const pb of pokemonBiomes) { - const speciesId = pb[0] as Species; - const biomeEntries = pb[3] as (Biome | BiomePoolTier)[][]; + const speciesId = pb[0] as SpeciesId; + const biomeEntries = pb[3] as (BiomeId | BiomePoolTier)[][]; const speciesEvolutions: SpeciesFormEvolution[] = pokemonEvolutions.hasOwnProperty(speciesId) ? pokemonEvolutions[speciesId] : []; - if (!biomeEntries.filter(b => b[0] !== Biome.END).length && !speciesEvolutions.filter(es => !!((pokemonBiomes.find(p => p[0] === es.speciesId)!)[3] as any[]).filter(b => b[0] !== Biome.END).length).length) { // TODO: is the bang on the `find()` correct? + if (!biomeEntries.filter(b => b[0] !== BiomeId.END).length && !speciesEvolutions.filter(es => !!((pokemonBiomes.find(p => p[0] === es.speciesId)!)[3] as any[]).filter(b => b[0] !== BiomeId.END).length).length) { // TODO: is the bang on the `find()` correct? uncatchableSpecies.push(speciesId); } @@ -7772,7 +7772,7 @@ export function initBiomes() { : [ TimeOfDay.ALL ]; catchableSpecies[speciesId].push({ - biome: biome as Biome, + biome: biome as BiomeId, tier: tier as BiomePoolTier, tod: timesOfDay as TimeOfDay[] }); @@ -7788,7 +7788,7 @@ export function initBiomes() { let arrayIndex = 0; for (let t = 0; t < biomeTierPool.length; t++) { - const existingSpeciesIds = biomeTierPool[t] as unknown as Species[]; + const existingSpeciesIds = biomeTierPool[t] as unknown as SpeciesId[]; for (let es = 0; es < existingSpeciesIds.length; es++) { const existingSpeciesId = existingSpeciesIds[es]; if (pokemonEvolutions.hasOwnProperty(existingSpeciesId) && (pokemonEvolutions[existingSpeciesId] as SpeciesFormEvolution[]).find(ese => ese.speciesId === speciesId)) { @@ -7808,9 +7808,9 @@ export function initBiomes() { } if (treeIndex > -1) { - (biomeTierPool[treeIndex] as unknown as Species[]).splice(arrayIndex, 0, speciesId); + (biomeTierPool[treeIndex] as unknown as SpeciesId[]).splice(arrayIndex, 0, speciesId); } else { - (biomeTierPool as unknown as Species[][]).push([ speciesId ]); + (biomeTierPool as unknown as SpeciesId[][]).push([ speciesId ]); } } } @@ -7913,12 +7913,12 @@ export function initBiomes() { // } // } - // console.log(beautify(pokemonOutput, null, 2, 180).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |(?:,|\[) (?:"\w+": \[ |(?:\{ )?"\d+": \[ )?)"(\w+)"(?= |,|\n)/g, "$1Species.$2").replace(/"(\d+)": /g, "$1: ").replace(/((?: )|(?:(?!\n) "(?:.*?)": \{) |\[(?: .*? )?\], )"(\w+)"/g, "$1[TimeOfDay.$2]").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[Biome.$2]")); - // console.log(beautify(trainerOutput, null, 2, 120).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |, (?:(?:\{ )?"\d+": \[ )?)"(.*?)"/g, "$1TrainerType.$2").replace(/"(\d+)": /g, "$1: ").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[Biome.$2]")); + // console.log(beautify(pokemonOutput, null, 2, 180).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |(?:,|\[) (?:"\w+": \[ |(?:\{ )?"\d+": \[ )?)"(\w+)"(?= |,|\n)/g, "$1SpeciesId.$2").replace(/"(\d+)": /g, "$1: ").replace(/((?: )|(?:(?!\n) "(?:.*?)": \{) |\[(?: .*? )?\], )"(\w+)"/g, "$1[TimeOfDay.$2]").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[BiomeId.$2]")); + // console.log(beautify(trainerOutput, null, 2, 120).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |, (?:(?:\{ )?"\d+": \[ )?)"(.*?)"/g, "$1TrainerType.$2").replace(/"(\d+)": /g, "$1: ").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[BiomeId.$2]")); // } /*for (let pokemon of allSpecies) { - if (pokemon.speciesId >= Species.XERNEAS) + if (pokemon.speciesId >= SpeciesId.XERNEAS) break; pokemonBiomes[pokemon.speciesId - 1][0] = Species[pokemonBiomes[pokemon.speciesId - 1][0]]; pokemonBiomes[pokemon.speciesId - 1][1] = Type[pokemonBiomes[pokemon.speciesId - 1][1]]; diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts index 73c6300166b..436e6bc6e76 100644 --- a/src/data/balance/egg-moves.ts +++ b/src/data/balance/egg-moves.ts @@ -1,594 +1,594 @@ import { allMoves } from "../data-lists"; import { getEnumKeys, getEnumValues } from "#app/utils/common"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; export const speciesEggMoves = { - [Species.BULBASAUR]: [ Moves.SAPPY_SEED, Moves.MALIGNANT_CHAIN, Moves.EARTH_POWER, Moves.MATCHA_GOTCHA ], - [Species.CHARMANDER]: [ Moves.DRAGON_DANCE, Moves.BITTER_BLADE, Moves.EARTH_POWER, Moves.OBLIVION_WING ], - [Species.SQUIRTLE]: [ Moves.FREEZE_DRY, Moves.ARMOR_CANNON, Moves.SHORE_UP, Moves.ORIGIN_PULSE ], - [Species.CATERPIE]: [ Moves.SANDSEAR_STORM, Moves.SILK_TRAP, Moves.TWIN_BEAM, Moves.BLEAKWIND_STORM ], - [Species.WEEDLE]: [ Moves.THOUSAND_ARROWS, Moves.NOXIOUS_TORQUE, Moves.ATTACK_ORDER, Moves.VICTORY_DANCE ], - [Species.PIDGEY]: [ Moves.BLEAKWIND_STORM, Moves.SANDSEAR_STORM, Moves.CALM_MIND, Moves.BOOMBURST ], - [Species.RATTATA]: [ Moves.HYPER_FANG, Moves.PSYCHIC_FANGS, Moves.FIRE_FANG, Moves.EXTREME_SPEED ], - [Species.SPEAROW]: [ Moves.FLOATY_FALL, Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.TRIPLE_ARROWS ], - [Species.EKANS]: [ Moves.NOXIOUS_TORQUE, Moves.DRAGON_DANCE, Moves.SLACK_OFF, Moves.SHED_TAIL ], - [Species.SANDSHREW]: [ Moves.HIGH_HORSEPOWER, Moves.DIRE_CLAW, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ], - [Species.NIDORAN_F]: [ Moves.CALM_MIND, Moves.MOONLIGHT, Moves.MALIGNANT_CHAIN, Moves.SANDSEAR_STORM ], - [Species.NIDORAN_M]: [ Moves.DRAGON_DANCE, Moves.MOUNTAIN_GALE, Moves.NOXIOUS_TORQUE, Moves.PRECIPICE_BLADES ], - [Species.VULPIX]: [ Moves.MOONBLAST, Moves.INFERNAL_PARADE, Moves.MORNING_SUN, Moves.TAIL_GLOW ], - [Species.ZUBAT]: [ Moves.FLOATY_FALL, Moves.DIRE_CLAW, Moves.SWORDS_DANCE, Moves.COLLISION_COURSE ], - [Species.ODDISH]: [ Moves.SLUDGE_BOMB, Moves.FIERY_DANCE, Moves.STRENGTH_SAP, Moves.SPORE ], - [Species.PARAS]: [ Moves.LEECH_LIFE, Moves.HORN_LEECH, Moves.CRABHAMMER, Moves.SAPPY_SEED ], - [Species.VENONAT]: [ Moves.SLUDGE_BOMB, Moves.TOXIC_THREAD, Moves.EARTH_POWER, Moves.STORED_POWER ], - [Species.DIGLETT]: [ Moves.TRIPLE_DIVE, Moves.SWORDS_DANCE, Moves.TRIPLE_AXEL, Moves.HEADLONG_RUSH ], - [Species.MEOWTH]: [ Moves.HEART_STAMP, Moves.SWORDS_DANCE, Moves.SIZZLY_SLIDE, Moves.TAIL_SLAP ], - [Species.PSYDUCK]: [ Moves.FROST_BREATH, Moves.AQUA_STEP, Moves.MYSTICAL_POWER, Moves.BOUNCY_BUBBLE ], - [Species.MANKEY]: [ Moves.DRAIN_PUNCH, Moves.SLACK_OFF, Moves.METEOR_MASH, Moves.NO_RETREAT ], - [Species.GROWLITHE]: [ Moves.ZING_ZAP, Moves.PARTING_SHOT, Moves.MORNING_SUN, Moves.SACRED_FIRE ], - [Species.POLIWAG]: [ Moves.SLACK_OFF, Moves.WILDBOLT_STORM, Moves.DRAIN_PUNCH, Moves.SURGING_STRIKES ], - [Species.ABRA]: [ Moves.AURA_SPHERE, Moves.BADDY_BAD, Moves.ICE_BEAM, Moves.PSYSTRIKE ], - [Species.MACHOP]: [ Moves.COMBAT_TORQUE, Moves.METEOR_MASH, Moves.MOUNTAIN_GALE, Moves.FISSURE ], - [Species.BELLSPROUT]: [ Moves.SOLAR_BLADE, Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.VICTORY_DANCE ], - [Species.TENTACOOL]: [ Moves.BANEFUL_BUNKER, Moves.MALIGNANT_CHAIN, Moves.BOUNCY_BUBBLE, Moves.STRENGTH_SAP ], - [Species.GEODUDE]: [ Moves.FLARE_BLITZ, Moves.HEAD_SMASH, Moves.SHORE_UP, Moves.SHELL_SMASH ], - [Species.PONYTA]: [ Moves.HEADLONG_RUSH, Moves.FIRE_LASH, Moves.SWORDS_DANCE, Moves.VOLT_TACKLE ], - [Species.SLOWPOKE]: [ Moves.SPLISHY_SPLASH, Moves.FROST_BREATH, Moves.SHED_TAIL, Moves.MYSTICAL_POWER ], - [Species.MAGNEMITE]: [ Moves.PARABOLIC_CHARGE, Moves.FLAMETHROWER, Moves.ICE_BEAM, Moves.THUNDERCLAP ], - [Species.FARFETCHD]: [ Moves.IVY_CUDGEL, Moves.TRIPLE_ARROWS, Moves.DRILL_RUN, Moves.VICTORY_DANCE ], - [Species.DODUO]: [ Moves.TRIPLE_AXEL, Moves.HYPER_DRILL, Moves.FLOATY_FALL, Moves.TRIPLE_ARROWS ], - [Species.SEEL]: [ Moves.FREEZE_DRY, Moves.BOUNCY_BUBBLE, Moves.SLACK_OFF, Moves.STEAM_ERUPTION ], - [Species.GRIMER]: [ Moves.SUCKER_PUNCH, Moves.CURSE, Moves.NOXIOUS_TORQUE, Moves.STRENGTH_SAP ], - [Species.SHELLDER]: [ Moves.ROCK_BLAST, Moves.WATER_SHURIKEN, Moves.BANEFUL_BUNKER, Moves.BONE_RUSH ], - [Species.GASTLY]: [ Moves.MALIGNANT_CHAIN, Moves.AURA_SPHERE, Moves.PARTING_SHOT, Moves.DARK_VOID ], - [Species.ONIX]: [ Moves.SHORE_UP, Moves.THOUSAND_WAVES, Moves.COIL, Moves.DIAMOND_STORM ], - [Species.DROWZEE]: [ Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.LUMINA_CRASH, Moves.DARK_VOID ], - [Species.KRABBY]: [ Moves.DIRE_CLAW, Moves.DRAGON_HAMMER, Moves.IVY_CUDGEL, Moves.JET_PUNCH ], - [Species.VOLTORB]: [ Moves.NASTY_PLOT, Moves.FUSION_FLARE, Moves.FROST_BREATH, Moves.ELECTRO_DRIFT ], - [Species.EXEGGCUTE]: [ Moves.FICKLE_BEAM, Moves.APPLE_ACID, Moves.HEAT_WAVE, Moves.LUMINA_CRASH ], - [Species.CUBONE]: [ Moves.HEAD_SMASH, Moves.WOOD_HAMMER, Moves.SHADOW_SNEAK, Moves.BITTER_BLADE ], - [Species.LICKITUNG]: [ Moves.CRUSH_GRIP, Moves.FIRE_LASH, Moves.SLACK_OFF, Moves.MAGICAL_TORQUE ], - [Species.KOFFING]: [ Moves.SCALD, Moves.RECOVER, Moves.BODY_PRESS, Moves.MALIGNANT_CHAIN ], - [Species.RHYHORN]: [ Moves.SHORE_UP, Moves.ICE_HAMMER, Moves.ACCELEROCK, Moves.HEAD_SMASH ], - [Species.TANGELA]: [ Moves.NATURES_MADNESS, Moves.SNAP_TRAP, Moves.PARTING_SHOT, Moves.SAPPY_SEED ], - [Species.KANGASKHAN]: [ Moves.POWER_UP_PUNCH, Moves.TRAILBLAZE, Moves.COVET, Moves.SEISMIC_TOSS ], - [Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.TAKE_HEART, Moves.SHELL_SIDE_ARM, Moves.DRAGON_ENERGY ], - [Species.GOLDEEN]: [ Moves.GLACIAL_LANCE, Moves.SUPERCELL_SLAM, Moves.DRAGON_DANCE, Moves.FISHIOUS_REND ], - [Species.STARYU]: [ Moves.CALM_MIND, Moves.BOUNCY_BUBBLE, Moves.MOONBLAST, Moves.MYSTICAL_POWER ], - [Species.SCYTHER]: [ Moves.MIGHTY_CLEAVE, Moves.GEAR_GRIND, Moves.STORM_THROW, Moves.BITTER_BLADE ], - [Species.PINSIR]: [ Moves.HEADLONG_RUSH, Moves.LEECH_LIFE, Moves.CRUSH_GRIP, Moves.EXTREME_SPEED ], - [Species.TAUROS]: [ Moves.SWORDS_DANCE, Moves.FIRE_LASH, Moves.WICKED_TORQUE, Moves.COLLISION_COURSE ], - [Species.MAGIKARP]: [ Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.KNOCK_OFF, Moves.DRAGON_ASCENT ], - [Species.LAPRAS]: [ Moves.RECOVER, Moves.FREEZE_DRY, Moves.SCALD, Moves.SHELL_SMASH ], - [Species.DITTO]: [ Moves.MIMIC, Moves.SKETCH, Moves.METRONOME, Moves.IMPRISON ], - [Species.EEVEE]: [ Moves.WISH, Moves.NO_RETREAT, Moves.ZIPPY_ZAP, Moves.BOOMBURST ], - [Species.PORYGON]: [ Moves.THUNDERCLAP, Moves.AURA_SPHERE, Moves.FLAMETHROWER, Moves.TECHNO_BLAST ], - [Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.GIGA_DRAIN, Moves.POWER_GEM, Moves.STEAM_ERUPTION ], - [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.HIGH_HORSEPOWER, Moves.CRABHAMMER, Moves.MIGHTY_CLEAVE ], - [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.HIGH_HORSEPOWER, Moves.STONE_AXE, Moves.SWORDS_DANCE ], - [Species.ARTICUNO]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ], - [Species.ZAPDOS]: [ Moves.BLEAKWIND_STORM, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ], - [Species.MOLTRES]: [ Moves.EARTH_POWER, Moves.CALM_MIND, Moves.AEROBLAST, Moves.TORCH_SONG ], - [Species.DRATINI]: [ Moves.DRAGON_HAMMER, Moves.CRUSH_GRIP, Moves.FIRE_LASH, Moves.GIGATON_HAMMER ], - [Species.MEWTWO]: [ Moves.METEOR_MASH, Moves.MOONBLAST, Moves.THUNDEROUS_KICK, Moves.PHOTON_GEYSER ], - [Species.MEW]: [ Moves.PHOTON_GEYSER, Moves.MOONBLAST, Moves.ASTRAL_BARRAGE, Moves.SHELL_SMASH ], + [SpeciesId.BULBASAUR]: [ MoveId.SAPPY_SEED, MoveId.MALIGNANT_CHAIN, MoveId.EARTH_POWER, MoveId.MATCHA_GOTCHA ], + [SpeciesId.CHARMANDER]: [ MoveId.DRAGON_DANCE, MoveId.BITTER_BLADE, MoveId.EARTH_POWER, MoveId.OBLIVION_WING ], + [SpeciesId.SQUIRTLE]: [ MoveId.FREEZE_DRY, MoveId.ARMOR_CANNON, MoveId.SHORE_UP, MoveId.ORIGIN_PULSE ], + [SpeciesId.CATERPIE]: [ MoveId.SANDSEAR_STORM, MoveId.SILK_TRAP, MoveId.TWIN_BEAM, MoveId.BLEAKWIND_STORM ], + [SpeciesId.WEEDLE]: [ MoveId.THOUSAND_ARROWS, MoveId.NOXIOUS_TORQUE, MoveId.ATTACK_ORDER, MoveId.VICTORY_DANCE ], + [SpeciesId.PIDGEY]: [ MoveId.BLEAKWIND_STORM, MoveId.SANDSEAR_STORM, MoveId.CALM_MIND, MoveId.BOOMBURST ], + [SpeciesId.RATTATA]: [ MoveId.HYPER_FANG, MoveId.PSYCHIC_FANGS, MoveId.FIRE_FANG, MoveId.EXTREME_SPEED ], + [SpeciesId.SPEAROW]: [ MoveId.FLOATY_FALL, MoveId.EXTREME_SPEED, MoveId.KNOCK_OFF, MoveId.TRIPLE_ARROWS ], + [SpeciesId.EKANS]: [ MoveId.NOXIOUS_TORQUE, MoveId.DRAGON_DANCE, MoveId.SLACK_OFF, MoveId.SHED_TAIL ], + [SpeciesId.SANDSHREW]: [ MoveId.HIGH_HORSEPOWER, MoveId.DIRE_CLAW, MoveId.SHORE_UP, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.NIDORAN_F]: [ MoveId.CALM_MIND, MoveId.MOONLIGHT, MoveId.MALIGNANT_CHAIN, MoveId.SANDSEAR_STORM ], + [SpeciesId.NIDORAN_M]: [ MoveId.DRAGON_DANCE, MoveId.MOUNTAIN_GALE, MoveId.NOXIOUS_TORQUE, MoveId.PRECIPICE_BLADES ], + [SpeciesId.VULPIX]: [ MoveId.MOONBLAST, MoveId.INFERNAL_PARADE, MoveId.MORNING_SUN, MoveId.TAIL_GLOW ], + [SpeciesId.ZUBAT]: [ MoveId.FLOATY_FALL, MoveId.DIRE_CLAW, MoveId.SWORDS_DANCE, MoveId.COLLISION_COURSE ], + [SpeciesId.ODDISH]: [ MoveId.SLUDGE_BOMB, MoveId.FIERY_DANCE, MoveId.STRENGTH_SAP, MoveId.SPORE ], + [SpeciesId.PARAS]: [ MoveId.LEECH_LIFE, MoveId.HORN_LEECH, MoveId.CRABHAMMER, MoveId.SAPPY_SEED ], + [SpeciesId.VENONAT]: [ MoveId.SLUDGE_BOMB, MoveId.TOXIC_THREAD, MoveId.EARTH_POWER, MoveId.STORED_POWER ], + [SpeciesId.DIGLETT]: [ MoveId.TRIPLE_DIVE, MoveId.SWORDS_DANCE, MoveId.TRIPLE_AXEL, MoveId.HEADLONG_RUSH ], + [SpeciesId.MEOWTH]: [ MoveId.HEART_STAMP, MoveId.SWORDS_DANCE, MoveId.SIZZLY_SLIDE, MoveId.TAIL_SLAP ], + [SpeciesId.PSYDUCK]: [ MoveId.FROST_BREATH, MoveId.AQUA_STEP, MoveId.MYSTICAL_POWER, MoveId.BOUNCY_BUBBLE ], + [SpeciesId.MANKEY]: [ MoveId.DRAIN_PUNCH, MoveId.SLACK_OFF, MoveId.METEOR_MASH, MoveId.NO_RETREAT ], + [SpeciesId.GROWLITHE]: [ MoveId.ZING_ZAP, MoveId.PARTING_SHOT, MoveId.MORNING_SUN, MoveId.SACRED_FIRE ], + [SpeciesId.POLIWAG]: [ MoveId.SLACK_OFF, MoveId.WILDBOLT_STORM, MoveId.DRAIN_PUNCH, MoveId.SURGING_STRIKES ], + [SpeciesId.ABRA]: [ MoveId.AURA_SPHERE, MoveId.BADDY_BAD, MoveId.ICE_BEAM, MoveId.PSYSTRIKE ], + [SpeciesId.MACHOP]: [ MoveId.COMBAT_TORQUE, MoveId.METEOR_MASH, MoveId.MOUNTAIN_GALE, MoveId.FISSURE ], + [SpeciesId.BELLSPROUT]: [ MoveId.SOLAR_BLADE, MoveId.STRENGTH_SAP, MoveId.FIRE_LASH, MoveId.VICTORY_DANCE ], + [SpeciesId.TENTACOOL]: [ MoveId.BANEFUL_BUNKER, MoveId.MALIGNANT_CHAIN, MoveId.BOUNCY_BUBBLE, MoveId.STRENGTH_SAP ], + [SpeciesId.GEODUDE]: [ MoveId.FLARE_BLITZ, MoveId.HEAD_SMASH, MoveId.SHORE_UP, MoveId.SHELL_SMASH ], + [SpeciesId.PONYTA]: [ MoveId.HEADLONG_RUSH, MoveId.FIRE_LASH, MoveId.SWORDS_DANCE, MoveId.VOLT_TACKLE ], + [SpeciesId.SLOWPOKE]: [ MoveId.SPLISHY_SPLASH, MoveId.FROST_BREATH, MoveId.SHED_TAIL, MoveId.MYSTICAL_POWER ], + [SpeciesId.MAGNEMITE]: [ MoveId.PARABOLIC_CHARGE, MoveId.FLAMETHROWER, MoveId.ICE_BEAM, MoveId.THUNDERCLAP ], + [SpeciesId.FARFETCHD]: [ MoveId.IVY_CUDGEL, MoveId.TRIPLE_ARROWS, MoveId.DRILL_RUN, MoveId.VICTORY_DANCE ], + [SpeciesId.DODUO]: [ MoveId.TRIPLE_AXEL, MoveId.HYPER_DRILL, MoveId.FLOATY_FALL, MoveId.TRIPLE_ARROWS ], + [SpeciesId.SEEL]: [ MoveId.FREEZE_DRY, MoveId.BOUNCY_BUBBLE, MoveId.SLACK_OFF, MoveId.STEAM_ERUPTION ], + [SpeciesId.GRIMER]: [ MoveId.SUCKER_PUNCH, MoveId.CURSE, MoveId.NOXIOUS_TORQUE, MoveId.STRENGTH_SAP ], + [SpeciesId.SHELLDER]: [ MoveId.ROCK_BLAST, MoveId.WATER_SHURIKEN, MoveId.BANEFUL_BUNKER, MoveId.BONE_RUSH ], + [SpeciesId.GASTLY]: [ MoveId.MALIGNANT_CHAIN, MoveId.AURA_SPHERE, MoveId.PARTING_SHOT, MoveId.DARK_VOID ], + [SpeciesId.ONIX]: [ MoveId.SHORE_UP, MoveId.THOUSAND_WAVES, MoveId.COIL, MoveId.DIAMOND_STORM ], + [SpeciesId.DROWZEE]: [ MoveId.BADDY_BAD, MoveId.STRENGTH_SAP, MoveId.LUMINA_CRASH, MoveId.DARK_VOID ], + [SpeciesId.KRABBY]: [ MoveId.DIRE_CLAW, MoveId.DRAGON_HAMMER, MoveId.IVY_CUDGEL, MoveId.JET_PUNCH ], + [SpeciesId.VOLTORB]: [ MoveId.NASTY_PLOT, MoveId.FUSION_FLARE, MoveId.FROST_BREATH, MoveId.ELECTRO_DRIFT ], + [SpeciesId.EXEGGCUTE]: [ MoveId.FICKLE_BEAM, MoveId.APPLE_ACID, MoveId.HEAT_WAVE, MoveId.LUMINA_CRASH ], + [SpeciesId.CUBONE]: [ MoveId.HEAD_SMASH, MoveId.WOOD_HAMMER, MoveId.SHADOW_SNEAK, MoveId.BITTER_BLADE ], + [SpeciesId.LICKITUNG]: [ MoveId.CRUSH_GRIP, MoveId.FIRE_LASH, MoveId.SLACK_OFF, MoveId.MAGICAL_TORQUE ], + [SpeciesId.KOFFING]: [ MoveId.SCALD, MoveId.RECOVER, MoveId.BODY_PRESS, MoveId.MALIGNANT_CHAIN ], + [SpeciesId.RHYHORN]: [ MoveId.SHORE_UP, MoveId.ICE_HAMMER, MoveId.ACCELEROCK, MoveId.HEAD_SMASH ], + [SpeciesId.TANGELA]: [ MoveId.NATURES_MADNESS, MoveId.SNAP_TRAP, MoveId.PARTING_SHOT, MoveId.SAPPY_SEED ], + [SpeciesId.KANGASKHAN]: [ MoveId.POWER_UP_PUNCH, MoveId.TRAILBLAZE, MoveId.COVET, MoveId.SEISMIC_TOSS ], + [SpeciesId.HORSEA]: [ MoveId.SNIPE_SHOT, MoveId.TAKE_HEART, MoveId.SHELL_SIDE_ARM, MoveId.DRAGON_ENERGY ], + [SpeciesId.GOLDEEN]: [ MoveId.GLACIAL_LANCE, MoveId.SUPERCELL_SLAM, MoveId.DRAGON_DANCE, MoveId.FISHIOUS_REND ], + [SpeciesId.STARYU]: [ MoveId.CALM_MIND, MoveId.BOUNCY_BUBBLE, MoveId.MOONBLAST, MoveId.MYSTICAL_POWER ], + [SpeciesId.SCYTHER]: [ MoveId.MIGHTY_CLEAVE, MoveId.GEAR_GRIND, MoveId.STORM_THROW, MoveId.BITTER_BLADE ], + [SpeciesId.PINSIR]: [ MoveId.HEADLONG_RUSH, MoveId.LEECH_LIFE, MoveId.CRUSH_GRIP, MoveId.EXTREME_SPEED ], + [SpeciesId.TAUROS]: [ MoveId.SWORDS_DANCE, MoveId.FIRE_LASH, MoveId.WICKED_TORQUE, MoveId.COLLISION_COURSE ], + [SpeciesId.MAGIKARP]: [ MoveId.FLIP_TURN, MoveId.ICE_SPINNER, MoveId.KNOCK_OFF, MoveId.DRAGON_ASCENT ], + [SpeciesId.LAPRAS]: [ MoveId.RECOVER, MoveId.FREEZE_DRY, MoveId.SCALD, MoveId.SHELL_SMASH ], + [SpeciesId.DITTO]: [ MoveId.MIMIC, MoveId.SKETCH, MoveId.METRONOME, MoveId.IMPRISON ], + [SpeciesId.EEVEE]: [ MoveId.WISH, MoveId.NO_RETREAT, MoveId.ZIPPY_ZAP, MoveId.BOOMBURST ], + [SpeciesId.PORYGON]: [ MoveId.THUNDERCLAP, MoveId.AURA_SPHERE, MoveId.FLAMETHROWER, MoveId.TECHNO_BLAST ], + [SpeciesId.OMANYTE]: [ MoveId.FREEZE_DRY, MoveId.GIGA_DRAIN, MoveId.POWER_GEM, MoveId.STEAM_ERUPTION ], + [SpeciesId.KABUTO]: [ MoveId.CEASELESS_EDGE, MoveId.HIGH_HORSEPOWER, MoveId.CRABHAMMER, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.AERODACTYL]: [ MoveId.FLOATY_FALL, MoveId.HIGH_HORSEPOWER, MoveId.STONE_AXE, MoveId.SWORDS_DANCE ], + [SpeciesId.ARTICUNO]: [ MoveId.EARTH_POWER, MoveId.CALM_MIND, MoveId.AURORA_VEIL, MoveId.AEROBLAST ], + [SpeciesId.ZAPDOS]: [ MoveId.BLEAKWIND_STORM, MoveId.CALM_MIND, MoveId.SANDSEAR_STORM, MoveId.ELECTRO_SHOT ], + [SpeciesId.MOLTRES]: [ MoveId.EARTH_POWER, MoveId.CALM_MIND, MoveId.AEROBLAST, MoveId.TORCH_SONG ], + [SpeciesId.DRATINI]: [ MoveId.DRAGON_HAMMER, MoveId.CRUSH_GRIP, MoveId.FIRE_LASH, MoveId.GIGATON_HAMMER ], + [SpeciesId.MEWTWO]: [ MoveId.METEOR_MASH, MoveId.MOONBLAST, MoveId.THUNDEROUS_KICK, MoveId.PHOTON_GEYSER ], + [SpeciesId.MEW]: [ MoveId.PHOTON_GEYSER, MoveId.MOONBLAST, MoveId.ASTRAL_BARRAGE, MoveId.SHELL_SMASH ], - [Species.CHIKORITA]: [ Moves.SAPPY_SEED, Moves.STONE_AXE, Moves.DRAGON_DANCE, Moves.SPORE ], - [Species.CYNDAQUIL]: [ Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.FIERY_DANCE, Moves.ELECTRO_DRIFT ], - [Species.TOTODILE]: [ Moves.THUNDER_PUNCH, Moves.DRAGON_DANCE, Moves.PLAY_ROUGH, Moves.SURGING_STRIKES ], - [Species.SENTRET]: [ Moves.TIDY_UP, Moves.FAKE_OUT, Moves.NUZZLE, Moves.EXTREME_SPEED ], - [Species.HOOTHOOT]: [ Moves.TAKE_HEART, Moves.ESPER_WING, Moves.AEROBLAST, Moves.BOOMBURST ], - [Species.LEDYBA]: [ Moves.POLLEN_PUFF, Moves.MAT_BLOCK, Moves.PARTING_SHOT, Moves.SPORE ], - [Species.SPINARAK]: [ Moves.PARTING_SHOT, Moves.ATTACK_ORDER, Moves.GASTRO_ACID, Moves.STRENGTH_SAP ], - [Species.CHINCHOU]: [ Moves.THUNDERCLAP, Moves.BOUNCY_BUBBLE, Moves.THUNDER_CAGE, Moves.TAIL_GLOW ], - [Species.PICHU]: [ Moves.MOONBLAST, Moves.TRIPLE_AXEL, Moves.FIERY_DANCE, Moves.AURA_WHEEL ], - [Species.CLEFFA]: [ Moves.CALM_MIND, Moves.EARTH_POWER, Moves.WISH, Moves.LIGHT_OF_RUIN ], - [Species.IGGLYBUFF]: [ Moves.DRAIN_PUNCH, Moves.GRAV_APPLE, Moves.SOFT_BOILED, Moves.EXTREME_SPEED ], - [Species.TOGEPI]: [ Moves.SCORCHING_SANDS, Moves.SPLISHY_SPLASH, Moves.RELIC_SONG, Moves.FIERY_DANCE ], - [Species.NATU]: [ Moves.REVIVAL_BLESSING, Moves.NASTY_PLOT, Moves.MOONBLAST, Moves.OBLIVION_WING ], - [Species.MAREEP]: [ Moves.ICE_BEAM, Moves.PARABOLIC_CHARGE, Moves.CORE_ENFORCER, Moves.TAIL_GLOW ], - [Species.HOPPIP]: [ Moves.FLOATY_FALL, Moves.STRENGTH_SAP, Moves.SAPPY_SEED, Moves.SPORE ], - [Species.AIPOM]: [ Moves.ROCK_BLAST, Moves.STORM_THROW, Moves.FAKE_OUT, Moves.SWORDS_DANCE ], - [Species.SUNKERN]: [ Moves.SPORE, Moves.QUIVER_DANCE, Moves.FIERY_DANCE, Moves.HYDRO_STEAM ], - [Species.YANMA]: [ Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.HEAT_WAVE, Moves.BLEAKWIND_STORM ], - [Species.WOOPER]: [ Moves.SIZZLY_SLIDE, Moves.RECOVER, Moves.SHED_TAIL, Moves.SURGING_STRIKES ], - [Species.MURKROW]: [ Moves.TRIPLE_ARROWS, Moves.FLOATY_FALL, Moves.TIDY_UP, Moves.WICKED_BLOW ], - [Species.MISDREAVUS]: [ Moves.TAKE_HEART, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.MOONGEIST_BEAM ], - [Species.UNOWN]: [ Moves.NATURE_POWER, Moves.COSMIC_POWER, Moves.ANCIENT_POWER, Moves.MYSTICAL_POWER ], - [Species.GIRAFARIG]: [ Moves.MYSTICAL_POWER, Moves.NIGHT_DAZE, Moves.RECOVER, Moves.BOOMBURST ], - [Species.PINECO]: [ Moves.METAL_BURST, Moves.SHORE_UP, Moves.BODY_PRESS, Moves.DIAMOND_STORM ], - [Species.DUNSPARCE]: [ Moves.WICKED_TORQUE, Moves.MAGICAL_TORQUE, Moves.BLAZING_TORQUE, Moves.EXTREME_SPEED ], - [Species.GLIGAR]: [ Moves.FLOATY_FALL, Moves.THOUSAND_WAVES, Moves.SPIKY_SHIELD, Moves.MIGHTY_CLEAVE ], - [Species.SNUBBULL]: [ Moves.FACADE, Moves.HIGH_HORSEPOWER, Moves.SWORDS_DANCE, Moves.EXTREME_SPEED ], - [Species.QWILFISH]: [ Moves.BARB_BARRAGE, Moves.BANEFUL_BUNKER, Moves.RECOVER, Moves.FISHIOUS_REND ], - [Species.SHUCKLE]: [ Moves.STUFF_CHEEKS, Moves.HEAL_ORDER, Moves.BODY_PRESS, Moves.SALT_CURE ], - [Species.HERACROSS]: [ Moves.ROCK_BLAST, Moves.STORM_THROW, Moves.ICICLE_SPEAR, Moves.SCALE_SHOT ], - [Species.SNEASEL]: [ Moves.DIRE_CLAW, Moves.DARKEST_LARIAT, Moves.TRIPLE_AXEL, Moves.CLOSE_COMBAT ], - [Species.TEDDIURSA]: [ Moves.MOUNTAIN_GALE, Moves.FAKE_OUT, Moves.SLACK_OFF, Moves.PRECIPICE_BLADES ], - [Species.SLUGMA]: [ Moves.BURNING_BULWARK, Moves.POWER_GEM, Moves.SOLAR_BEAM, Moves.MAGMA_STORM ], - [Species.SWINUB]: [ Moves.SLACK_OFF, Moves.MOUNTAIN_GALE, Moves.STONE_AXE, Moves.PRECIPICE_BLADES ], - [Species.CORSOLA]: [ Moves.SCALD, Moves.FREEZE_DRY, Moves.STRENGTH_SAP, Moves.SALT_CURE ], - [Species.REMORAID]: [ Moves.WATER_SHURIKEN, Moves.TAKE_HEART, Moves.SHELL_SIDE_ARM, Moves.BOUNCY_BUBBLE ], - [Species.DELIBIRD]: [ Moves.BONEMERANG, Moves.FLOATY_FALL, Moves.VICTORY_DANCE, Moves.GLACIAL_LANCE ], - [Species.SKARMORY]: [ Moves.ROOST, Moves.BODY_PRESS, Moves.SPIKY_SHIELD, Moves.BEAK_BLAST ], - [Species.HOUNDOUR]: [ Moves.FIERY_WRATH, Moves.THUNDERBOLT, Moves.MOONBLAST, Moves.ARMOR_CANNON ], - [Species.PHANPY]: [ Moves.SHORE_UP, Moves.SWORDS_DANCE, Moves.MOUNTAIN_GALE, Moves.COLLISION_COURSE ], - [Species.STANTLER]: [ Moves.THUNDEROUS_KICK, Moves.PHOTON_GEYSER, Moves.SWORDS_DANCE, Moves.BOOMBURST ], - [Species.SMEARGLE]: [ Moves.CONVERSION, Moves.BURNING_BULWARK, Moves.SALT_CURE, Moves.DARK_VOID ], - [Species.TYROGUE]: [ Moves.VICTORY_DANCE, Moves.THUNDEROUS_KICK, Moves.METEOR_MASH, Moves.WICKED_BLOW ], - [Species.SMOOCHUM]: [ Moves.LUSTER_PURGE, Moves.AURA_SPHERE, Moves.FREEZE_DRY, Moves.QUIVER_DANCE ], - [Species.ELEKID]: [ Moves.FIRE_LASH, Moves.ZING_ZAP, Moves.MOUNTAIN_GALE, Moves.SHIFT_GEAR ], - [Species.MAGBY]: [ Moves.THUNDERCLAP, Moves.EARTH_POWER, Moves.ENERGY_BALL, Moves.BLUE_FLARE ], - [Species.MILTANK]: [ Moves.BODY_PRESS, Moves.BULK_UP, Moves.KNOCK_OFF, Moves.SIZZLY_SLIDE ], - [Species.RAIKOU]: [ Moves.PARABOLIC_CHARGE, Moves.NASTY_PLOT, Moves.FROST_BREATH, Moves.ELECTRO_DRIFT ], - [Species.ENTEI]: [ Moves.BURNING_BULWARK, Moves.DRAGON_DANCE, Moves.EARTHQUAKE, Moves.PYRO_BALL ], - [Species.SUICUNE]: [ Moves.RECOVER, Moves.NASTY_PLOT, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], - [Species.LARVITAR]: [ Moves.DRAGON_DANCE, Moves.MOUNTAIN_GALE, Moves.SHORE_UP, Moves.DIAMOND_STORM ], - [Species.LUGIA]: [ Moves.NASTY_PLOT, Moves.LUMINA_CRASH, Moves.AURA_SPHERE, Moves.OBLIVION_WING ], - [Species.HO_OH]: [ Moves.BRAVE_BIRD, Moves.DRAGON_DANCE, Moves.REVIVAL_BLESSING, Moves.BOLT_BEAK ], - [Species.CELEBI]: [ Moves.PHOTON_GEYSER, Moves.MATCHA_GOTCHA, Moves.REVIVAL_BLESSING, Moves.QUIVER_DANCE ], + [SpeciesId.CHIKORITA]: [ MoveId.SAPPY_SEED, MoveId.STONE_AXE, MoveId.DRAGON_DANCE, MoveId.SPORE ], + [SpeciesId.CYNDAQUIL]: [ MoveId.NASTY_PLOT, MoveId.EARTH_POWER, MoveId.FIERY_DANCE, MoveId.ELECTRO_DRIFT ], + [SpeciesId.TOTODILE]: [ MoveId.THUNDER_PUNCH, MoveId.DRAGON_DANCE, MoveId.PLAY_ROUGH, MoveId.SURGING_STRIKES ], + [SpeciesId.SENTRET]: [ MoveId.TIDY_UP, MoveId.FAKE_OUT, MoveId.NUZZLE, MoveId.EXTREME_SPEED ], + [SpeciesId.HOOTHOOT]: [ MoveId.TAKE_HEART, MoveId.ESPER_WING, MoveId.AEROBLAST, MoveId.BOOMBURST ], + [SpeciesId.LEDYBA]: [ MoveId.POLLEN_PUFF, MoveId.MAT_BLOCK, MoveId.PARTING_SHOT, MoveId.SPORE ], + [SpeciesId.SPINARAK]: [ MoveId.PARTING_SHOT, MoveId.ATTACK_ORDER, MoveId.GASTRO_ACID, MoveId.STRENGTH_SAP ], + [SpeciesId.CHINCHOU]: [ MoveId.THUNDERCLAP, MoveId.BOUNCY_BUBBLE, MoveId.THUNDER_CAGE, MoveId.TAIL_GLOW ], + [SpeciesId.PICHU]: [ MoveId.MOONBLAST, MoveId.TRIPLE_AXEL, MoveId.FIERY_DANCE, MoveId.AURA_WHEEL ], + [SpeciesId.CLEFFA]: [ MoveId.CALM_MIND, MoveId.EARTH_POWER, MoveId.WISH, MoveId.LIGHT_OF_RUIN ], + [SpeciesId.IGGLYBUFF]: [ MoveId.DRAIN_PUNCH, MoveId.GRAV_APPLE, MoveId.SOFT_BOILED, MoveId.EXTREME_SPEED ], + [SpeciesId.TOGEPI]: [ MoveId.SCORCHING_SANDS, MoveId.SPLISHY_SPLASH, MoveId.RELIC_SONG, MoveId.FIERY_DANCE ], + [SpeciesId.NATU]: [ MoveId.REVIVAL_BLESSING, MoveId.NASTY_PLOT, MoveId.MOONBLAST, MoveId.OBLIVION_WING ], + [SpeciesId.MAREEP]: [ MoveId.ICE_BEAM, MoveId.PARABOLIC_CHARGE, MoveId.CORE_ENFORCER, MoveId.TAIL_GLOW ], + [SpeciesId.HOPPIP]: [ MoveId.FLOATY_FALL, MoveId.STRENGTH_SAP, MoveId.SAPPY_SEED, MoveId.SPORE ], + [SpeciesId.AIPOM]: [ MoveId.ROCK_BLAST, MoveId.STORM_THROW, MoveId.FAKE_OUT, MoveId.SWORDS_DANCE ], + [SpeciesId.SUNKERN]: [ MoveId.SPORE, MoveId.QUIVER_DANCE, MoveId.FIERY_DANCE, MoveId.HYDRO_STEAM ], + [SpeciesId.YANMA]: [ MoveId.NASTY_PLOT, MoveId.EARTH_POWER, MoveId.HEAT_WAVE, MoveId.BLEAKWIND_STORM ], + [SpeciesId.WOOPER]: [ MoveId.SIZZLY_SLIDE, MoveId.RECOVER, MoveId.SHED_TAIL, MoveId.SURGING_STRIKES ], + [SpeciesId.MURKROW]: [ MoveId.TRIPLE_ARROWS, MoveId.FLOATY_FALL, MoveId.TIDY_UP, MoveId.WICKED_BLOW ], + [SpeciesId.MISDREAVUS]: [ MoveId.TAKE_HEART, MoveId.MOONBLAST, MoveId.AURA_SPHERE, MoveId.MOONGEIST_BEAM ], + [SpeciesId.UNOWN]: [ MoveId.NATURE_POWER, MoveId.COSMIC_POWER, MoveId.ANCIENT_POWER, MoveId.MYSTICAL_POWER ], + [SpeciesId.GIRAFARIG]: [ MoveId.MYSTICAL_POWER, MoveId.NIGHT_DAZE, MoveId.RECOVER, MoveId.BOOMBURST ], + [SpeciesId.PINECO]: [ MoveId.METAL_BURST, MoveId.SHORE_UP, MoveId.BODY_PRESS, MoveId.DIAMOND_STORM ], + [SpeciesId.DUNSPARCE]: [ MoveId.WICKED_TORQUE, MoveId.MAGICAL_TORQUE, MoveId.BLAZING_TORQUE, MoveId.EXTREME_SPEED ], + [SpeciesId.GLIGAR]: [ MoveId.FLOATY_FALL, MoveId.THOUSAND_WAVES, MoveId.SPIKY_SHIELD, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.SNUBBULL]: [ MoveId.FACADE, MoveId.HIGH_HORSEPOWER, MoveId.SWORDS_DANCE, MoveId.EXTREME_SPEED ], + [SpeciesId.QWILFISH]: [ MoveId.BARB_BARRAGE, MoveId.BANEFUL_BUNKER, MoveId.RECOVER, MoveId.FISHIOUS_REND ], + [SpeciesId.SHUCKLE]: [ MoveId.STUFF_CHEEKS, MoveId.HEAL_ORDER, MoveId.BODY_PRESS, MoveId.SALT_CURE ], + [SpeciesId.HERACROSS]: [ MoveId.ROCK_BLAST, MoveId.STORM_THROW, MoveId.ICICLE_SPEAR, MoveId.SCALE_SHOT ], + [SpeciesId.SNEASEL]: [ MoveId.DIRE_CLAW, MoveId.DARKEST_LARIAT, MoveId.TRIPLE_AXEL, MoveId.CLOSE_COMBAT ], + [SpeciesId.TEDDIURSA]: [ MoveId.MOUNTAIN_GALE, MoveId.FAKE_OUT, MoveId.SLACK_OFF, MoveId.PRECIPICE_BLADES ], + [SpeciesId.SLUGMA]: [ MoveId.BURNING_BULWARK, MoveId.POWER_GEM, MoveId.SOLAR_BEAM, MoveId.MAGMA_STORM ], + [SpeciesId.SWINUB]: [ MoveId.SLACK_OFF, MoveId.MOUNTAIN_GALE, MoveId.STONE_AXE, MoveId.PRECIPICE_BLADES ], + [SpeciesId.CORSOLA]: [ MoveId.SCALD, MoveId.FREEZE_DRY, MoveId.STRENGTH_SAP, MoveId.SALT_CURE ], + [SpeciesId.REMORAID]: [ MoveId.WATER_SHURIKEN, MoveId.TAKE_HEART, MoveId.SHELL_SIDE_ARM, MoveId.BOUNCY_BUBBLE ], + [SpeciesId.DELIBIRD]: [ MoveId.BONEMERANG, MoveId.FLOATY_FALL, MoveId.VICTORY_DANCE, MoveId.GLACIAL_LANCE ], + [SpeciesId.SKARMORY]: [ MoveId.ROOST, MoveId.BODY_PRESS, MoveId.SPIKY_SHIELD, MoveId.BEAK_BLAST ], + [SpeciesId.HOUNDOUR]: [ MoveId.FIERY_WRATH, MoveId.THUNDERBOLT, MoveId.MOONBLAST, MoveId.ARMOR_CANNON ], + [SpeciesId.PHANPY]: [ MoveId.SHORE_UP, MoveId.SWORDS_DANCE, MoveId.MOUNTAIN_GALE, MoveId.COLLISION_COURSE ], + [SpeciesId.STANTLER]: [ MoveId.THUNDEROUS_KICK, MoveId.PHOTON_GEYSER, MoveId.SWORDS_DANCE, MoveId.BOOMBURST ], + [SpeciesId.SMEARGLE]: [ MoveId.CONVERSION, MoveId.BURNING_BULWARK, MoveId.SALT_CURE, MoveId.DARK_VOID ], + [SpeciesId.TYROGUE]: [ MoveId.VICTORY_DANCE, MoveId.THUNDEROUS_KICK, MoveId.METEOR_MASH, MoveId.WICKED_BLOW ], + [SpeciesId.SMOOCHUM]: [ MoveId.LUSTER_PURGE, MoveId.AURA_SPHERE, MoveId.FREEZE_DRY, MoveId.QUIVER_DANCE ], + [SpeciesId.ELEKID]: [ MoveId.FIRE_LASH, MoveId.ZING_ZAP, MoveId.MOUNTAIN_GALE, MoveId.SHIFT_GEAR ], + [SpeciesId.MAGBY]: [ MoveId.THUNDERCLAP, MoveId.EARTH_POWER, MoveId.ENERGY_BALL, MoveId.BLUE_FLARE ], + [SpeciesId.MILTANK]: [ MoveId.BODY_PRESS, MoveId.BULK_UP, MoveId.KNOCK_OFF, MoveId.SIZZLY_SLIDE ], + [SpeciesId.RAIKOU]: [ MoveId.PARABOLIC_CHARGE, MoveId.NASTY_PLOT, MoveId.FROST_BREATH, MoveId.ELECTRO_DRIFT ], + [SpeciesId.ENTEI]: [ MoveId.BURNING_BULWARK, MoveId.DRAGON_DANCE, MoveId.EARTHQUAKE, MoveId.PYRO_BALL ], + [SpeciesId.SUICUNE]: [ MoveId.RECOVER, MoveId.NASTY_PLOT, MoveId.FREEZE_DRY, MoveId.STEAM_ERUPTION ], + [SpeciesId.LARVITAR]: [ MoveId.DRAGON_DANCE, MoveId.MOUNTAIN_GALE, MoveId.SHORE_UP, MoveId.DIAMOND_STORM ], + [SpeciesId.LUGIA]: [ MoveId.NASTY_PLOT, MoveId.LUMINA_CRASH, MoveId.AURA_SPHERE, MoveId.OBLIVION_WING ], + [SpeciesId.HO_OH]: [ MoveId.BRAVE_BIRD, MoveId.DRAGON_DANCE, MoveId.REVIVAL_BLESSING, MoveId.BOLT_BEAK ], + [SpeciesId.CELEBI]: [ MoveId.PHOTON_GEYSER, MoveId.MATCHA_GOTCHA, MoveId.REVIVAL_BLESSING, MoveId.QUIVER_DANCE ], - [Species.TREECKO]: [ Moves.NASTY_PLOT, Moves.CORE_ENFORCER, Moves.FLAMETHROWER, Moves.SEED_FLARE ], - [Species.TORCHIC]: [ Moves.THUNDEROUS_KICK, Moves.ZING_ZAP, Moves.BURNING_BULWARK, Moves.PYRO_BALL ], - [Species.MUDKIP]: [ Moves.SHORE_UP, Moves.MOUNTAIN_GALE, Moves.AQUA_STEP, Moves.PRECIPICE_BLADES ], - [Species.POOCHYENA]: [ Moves.KNOCK_OFF, Moves.CLOSE_COMBAT, Moves.DIRE_CLAW, Moves.VICTORY_DANCE ], - [Species.ZIGZAGOON]: [ Moves.EXTREME_SPEED, Moves.NUZZLE, Moves.HIGH_HORSEPOWER, Moves.TIDY_UP ], - [Species.WURMPLE]: [ Moves.BATON_PASS, Moves.BLEAKWIND_STORM, Moves.STORED_POWER, Moves.MALIGNANT_CHAIN ], - [Species.LOTAD]: [ Moves.REVELATION_DANCE, Moves.APPLE_ACID, Moves.ICE_BEAM, Moves.QUIVER_DANCE ], - [Species.SEEDOT]: [ Moves.SWORDS_DANCE, Moves.SACRED_SWORD, Moves.KOWTOW_CLEAVE, Moves.BITTER_BLADE ], - [Species.TAILLOW]: [ Moves.BOOMBURST, Moves.FACADE, Moves.HEADLONG_RUSH, Moves.NO_RETREAT ], - [Species.WINGULL]: [ Moves.THUNDER, Moves.FLIP_TURN, Moves.CALM_MIND, Moves.STEAM_ERUPTION ], - [Species.RALTS]: [ Moves.PSYBLADE, Moves.BITTER_BLADE, Moves.NO_RETREAT, Moves.BOOMBURST ], - [Species.SURSKIT]: [ Moves.POLLEN_PUFF, Moves.FIERY_DANCE, Moves.BOUNCY_BUBBLE, Moves.AEROBLAST ], - [Species.SHROOMISH]: [ Moves.ACCELEROCK, Moves.TRAILBLAZE, Moves.STORM_THROW, Moves.SAPPY_SEED ], - [Species.SLAKOTH]: [ Moves.FACADE, Moves.DRAIN_PUNCH, Moves.KNOCK_OFF, Moves.SKILL_SWAP ], - [Species.NINCADA]: [ Moves.BULLDOZE, Moves.STICKY_WEB, Moves.SHADOW_BONE, Moves.SHELL_SMASH ], - [Species.WHISMUR]: [ Moves.ALLURING_VOICE, Moves.SHIFT_GEAR, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], - [Species.MAKUHITA]: [ Moves.COMBAT_TORQUE, Moves.SLACK_OFF, Moves.HEAT_CRASH, Moves.DOUBLE_IRON_BASH ], - [Species.AZURILL]: [ Moves.JET_PUNCH, Moves.MAGICAL_TORQUE, Moves.SWORDS_DANCE, Moves.SURGING_STRIKES ], - [Species.NOSEPASS]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.CALM_MIND, Moves.TACHYON_CUTTER ], - [Species.SKITTY]: [ Moves.THUNDEROUS_KICK, Moves.ENTRAINMENT, Moves.TIDY_UP, Moves.V_CREATE ], - [Species.SABLEYE]: [ Moves.RECOVER, Moves.TOPSY_TURVY, Moves.CURSE, Moves.SALT_CURE ], - [Species.MAWILE]: [ Moves.BULLET_PUNCH, Moves.HORN_LEECH, Moves.EARTHQUAKE, Moves.MAGICAL_TORQUE ], - [Species.ARON]: [ Moves.HEAD_SMASH, Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SALT_CURE ], - [Species.MEDITITE]: [ Moves.THUNDEROUS_KICK, Moves.SUCKER_PUNCH, Moves.BULLET_PUNCH, Moves.PHOTON_GEYSER ], - [Species.ELECTRIKE]: [ Moves.FROST_BREATH, Moves.HEAT_WAVE, Moves.NASTY_PLOT, Moves.ELECTRO_DRIFT ], - [Species.PLUSLE]: [ Moves.FLAMETHROWER, Moves.GLITZY_GLOW, Moves.SPLISHY_SPLASH, Moves.TAIL_GLOW ], - [Species.MINUN]: [ Moves.ICE_BEAM, Moves.BADDY_BAD, Moves.SPARKLY_SWIRL, Moves.TAIL_GLOW ], - [Species.VOLBEAT]: [ Moves.BATON_PASS, Moves.STICKY_WEB, Moves.DECORATE, Moves.VICTORY_DANCE ], - [Species.ILLUMISE]: [ Moves.PARTING_SHOT, Moves.GLITZY_GLOW, Moves.POWDER, Moves.QUIVER_DANCE ], - [Species.GULPIN]: [ Moves.MALIGNANT_CHAIN, Moves.EARTH_POWER, Moves.CALM_MIND, Moves.STRENGTH_SAP ], - [Species.CARVANHA]: [ Moves.THUNDER_FANG, Moves.GUNK_SHOT, Moves.OBSTRUCT, Moves.SURGING_STRIKES ], - [Species.WAILMER]: [ Moves.TAKE_HEART, Moves.COMEUPPANCE, Moves.SLACK_OFF, Moves.STEAM_ERUPTION ], - [Species.NUMEL]: [ Moves.TRICK_ROOM, Moves.ENERGY_BALL, Moves.SLACK_OFF, Moves.BLUE_FLARE ], - [Species.TORKOAL]: [ Moves.MORNING_SUN, Moves.BURNING_BULWARK, Moves.BODY_PRESS, Moves.HYDRO_STEAM ], - [Species.SPOINK]: [ Moves.AURA_SPHERE, Moves.MILK_DRINK, Moves.EXPANDING_FORCE, Moves.TAIL_GLOW ], - [Species.SPINDA]: [ Moves.SUPERPOWER, Moves.SLACK_OFF, Moves.FLEUR_CANNON, Moves.V_CREATE ], - [Species.TRAPINCH]: [ Moves.FIRE_LASH, Moves.DRAGON_DARTS, Moves.THOUSAND_ARROWS, Moves.DRAGON_ENERGY ], - [Species.CACNEA]: [ Moves.EARTH_POWER, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.IVY_CUDGEL ], - [Species.SWABLU]: [ Moves.ROOST, Moves.NASTY_PLOT, Moves.FLOATY_FALL, Moves.BOOMBURST ], - [Species.ZANGOOSE]: [ Moves.FACADE, Moves.HIGH_HORSEPOWER, Moves.EXTREME_SPEED, Moves.TIDY_UP ], - [Species.SEVIPER]: [ Moves.ICE_BEAM, Moves.BITTER_BLADE, Moves.SUCKER_PUNCH, Moves.NO_RETREAT ], - [Species.LUNATONE]: [ Moves.REVELATION_DANCE, Moves.MOONGEIST_BEAM, Moves.SHELL_SMASH, Moves.LUMINA_CRASH ], - [Species.SOLROCK]: [ Moves.MIGHTY_CLEAVE, Moves.PHOTON_GEYSER, Moves.SHELL_SMASH, Moves.SACRED_FIRE ], - [Species.BARBOACH]: [ Moves.DRAGON_DANCE, Moves.ZING_ZAP, Moves.ICE_SPINNER, Moves.SURGING_STRIKES ], - [Species.CORPHISH]: [ Moves.CEASELESS_EDGE, Moves.SHELL_SIDE_ARM, Moves.SUCKER_PUNCH, Moves.JET_PUNCH ], - [Species.BALTOY]: [ Moves.RECOVER, Moves.GLARE, Moves.RUINATION, Moves.MYSTICAL_POWER ], - [Species.LILEEP]: [ Moves.POWER_GEM, Moves.SCALD, Moves.STRENGTH_SAP, Moves.SAPPY_SEED ], - [Species.ANORITH]: [ Moves.FIRST_IMPRESSION, Moves.LEECH_LIFE, Moves.DRAGON_DANCE, Moves.MIGHTY_CLEAVE ], - [Species.FEEBAS]: [ Moves.CALM_MIND, Moves.FREEZE_DRY, Moves.MOONBLAST, Moves.STEAM_ERUPTION ], - [Species.CASTFORM]: [ Moves.BOOMBURST, Moves.HYDRO_STEAM, Moves.ERUPTION, Moves.QUIVER_DANCE ], - [Species.KECLEON]: [ Moves.ZIPPY_ZAP, Moves.COIL, Moves.EXTREME_SPEED, Moves.MULTI_ATTACK ], - [Species.SHUPPET]: [ Moves.STORM_THROW, Moves.TIDY_UP, Moves.PARTING_SHOT, Moves.SPECTRAL_THIEF ], - [Species.DUSKULL]: [ Moves.BULK_UP, Moves.DRAIN_PUNCH, Moves.RECOVER, Moves.RAGE_FIST ], - [Species.TROPIUS]: [ Moves.STUFF_CHEEKS, Moves.EARTH_POWER, Moves.APPLE_ACID, Moves.SAPPY_SEED ], - [Species.ABSOL]: [ Moves.KOWTOW_CLEAVE, Moves.SACRED_SWORD, Moves.PSYBLADE, Moves.BITTER_BLADE ], - [Species.WYNAUT]: [ Moves.RECOVER, Moves.SHED_TAIL, Moves.TAUNT, Moves.COMEUPPANCE ], - [Species.SNORUNT]: [ Moves.SPARKLY_SWIRL, Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.BLOOD_MOON ], - [Species.SPHEAL]: [ Moves.FLIP_TURN, Moves.FREEZE_DRY, Moves.SLACK_OFF, Moves.STEAM_ERUPTION ], - [Species.CLAMPERL]: [ Moves.SHELL_SIDE_ARM, Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], - [Species.RELICANTH]: [ Moves.DRAGON_DANCE, Moves.SHORE_UP, Moves.WAVE_CRASH, Moves.DIAMOND_STORM ], - [Species.LUVDISC]: [ Moves.BATON_PASS, Moves.HEART_SWAP, Moves.GLITZY_GLOW, Moves.REVIVAL_BLESSING ], - [Species.BAGON]: [ Moves.HEADLONG_RUSH, Moves.FIRE_LASH, Moves.DRAGON_DANCE, Moves.DRAGON_DARTS ], - [Species.BELDUM]: [ Moves.HEADLONG_RUSH, Moves.DRAIN_PUNCH, Moves.ICE_SPINNER, Moves.SHIFT_GEAR ], - [Species.REGIROCK]: [ Moves.STONE_AXE, Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SALT_CURE ], - [Species.REGICE]: [ Moves.EARTH_POWER, Moves.TAKE_HEART, Moves.RECOVER, Moves.FREEZE_DRY ], - [Species.REGISTEEL]: [ Moves.BODY_PRESS, Moves.SIZZLY_SLIDE, Moves.RECOVER, Moves.GIGATON_HAMMER ], - [Species.LATIAS]: [ Moves.CORE_ENFORCER, Moves.FUSION_FLARE, Moves.SPARKLY_SWIRL, Moves.MYSTICAL_POWER ], - [Species.LATIOS]: [ Moves.CORE_ENFORCER, Moves.BLUE_FLARE, Moves.NASTY_PLOT, Moves.TACHYON_CUTTER ], - [Species.KYOGRE]: [ Moves.RECOVER, Moves.HURRICANE, Moves.FREEZY_FROST, Moves.WILDBOLT_STORM ], - [Species.GROUDON]: [ Moves.STONE_AXE, Moves.SOLAR_BLADE, Moves.MORNING_SUN, Moves.SACRED_FIRE ], - [Species.RAYQUAZA]: [ Moves.V_CREATE, Moves.DRAGON_DARTS, Moves.CORE_ENFORCER, Moves.OBLIVION_WING ], - [Species.JIRACHI]: [ Moves.TACHYON_CUTTER, Moves.TRIPLE_ARROWS, Moves.ROCK_SLIDE, Moves.SHELL_SMASH ], - [Species.DEOXYS]: [ Moves.COLLISION_COURSE, Moves.FUSION_FLARE, Moves.PARTING_SHOT, Moves.LUMINA_CRASH ], + [SpeciesId.TREECKO]: [ MoveId.NASTY_PLOT, MoveId.CORE_ENFORCER, MoveId.FLAMETHROWER, MoveId.SEED_FLARE ], + [SpeciesId.TORCHIC]: [ MoveId.THUNDEROUS_KICK, MoveId.ZING_ZAP, MoveId.BURNING_BULWARK, MoveId.PYRO_BALL ], + [SpeciesId.MUDKIP]: [ MoveId.SHORE_UP, MoveId.MOUNTAIN_GALE, MoveId.AQUA_STEP, MoveId.PRECIPICE_BLADES ], + [SpeciesId.POOCHYENA]: [ MoveId.KNOCK_OFF, MoveId.CLOSE_COMBAT, MoveId.DIRE_CLAW, MoveId.VICTORY_DANCE ], + [SpeciesId.ZIGZAGOON]: [ MoveId.EXTREME_SPEED, MoveId.NUZZLE, MoveId.HIGH_HORSEPOWER, MoveId.TIDY_UP ], + [SpeciesId.WURMPLE]: [ MoveId.BATON_PASS, MoveId.BLEAKWIND_STORM, MoveId.STORED_POWER, MoveId.MALIGNANT_CHAIN ], + [SpeciesId.LOTAD]: [ MoveId.REVELATION_DANCE, MoveId.APPLE_ACID, MoveId.ICE_BEAM, MoveId.QUIVER_DANCE ], + [SpeciesId.SEEDOT]: [ MoveId.SWORDS_DANCE, MoveId.SACRED_SWORD, MoveId.KOWTOW_CLEAVE, MoveId.BITTER_BLADE ], + [SpeciesId.TAILLOW]: [ MoveId.BOOMBURST, MoveId.FACADE, MoveId.HEADLONG_RUSH, MoveId.NO_RETREAT ], + [SpeciesId.WINGULL]: [ MoveId.THUNDER, MoveId.FLIP_TURN, MoveId.CALM_MIND, MoveId.STEAM_ERUPTION ], + [SpeciesId.RALTS]: [ MoveId.PSYBLADE, MoveId.BITTER_BLADE, MoveId.NO_RETREAT, MoveId.BOOMBURST ], + [SpeciesId.SURSKIT]: [ MoveId.POLLEN_PUFF, MoveId.FIERY_DANCE, MoveId.BOUNCY_BUBBLE, MoveId.AEROBLAST ], + [SpeciesId.SHROOMISH]: [ MoveId.ACCELEROCK, MoveId.TRAILBLAZE, MoveId.STORM_THROW, MoveId.SAPPY_SEED ], + [SpeciesId.SLAKOTH]: [ MoveId.FACADE, MoveId.DRAIN_PUNCH, MoveId.KNOCK_OFF, MoveId.SKILL_SWAP ], + [SpeciesId.NINCADA]: [ MoveId.BULLDOZE, MoveId.STICKY_WEB, MoveId.SHADOW_BONE, MoveId.SHELL_SMASH ], + [SpeciesId.WHISMUR]: [ MoveId.ALLURING_VOICE, MoveId.SHIFT_GEAR, MoveId.SPARKLING_ARIA, MoveId.TORCH_SONG ], + [SpeciesId.MAKUHITA]: [ MoveId.COMBAT_TORQUE, MoveId.SLACK_OFF, MoveId.HEAT_CRASH, MoveId.DOUBLE_IRON_BASH ], + [SpeciesId.AZURILL]: [ MoveId.JET_PUNCH, MoveId.MAGICAL_TORQUE, MoveId.SWORDS_DANCE, MoveId.SURGING_STRIKES ], + [SpeciesId.NOSEPASS]: [ MoveId.SHORE_UP, MoveId.BODY_PRESS, MoveId.CALM_MIND, MoveId.TACHYON_CUTTER ], + [SpeciesId.SKITTY]: [ MoveId.THUNDEROUS_KICK, MoveId.ENTRAINMENT, MoveId.TIDY_UP, MoveId.V_CREATE ], + [SpeciesId.SABLEYE]: [ MoveId.RECOVER, MoveId.TOPSY_TURVY, MoveId.CURSE, MoveId.SALT_CURE ], + [SpeciesId.MAWILE]: [ MoveId.BULLET_PUNCH, MoveId.HORN_LEECH, MoveId.EARTHQUAKE, MoveId.MAGICAL_TORQUE ], + [SpeciesId.ARON]: [ MoveId.HEAD_SMASH, MoveId.BODY_PRESS, MoveId.SHORE_UP, MoveId.SALT_CURE ], + [SpeciesId.MEDITITE]: [ MoveId.THUNDEROUS_KICK, MoveId.SUCKER_PUNCH, MoveId.BULLET_PUNCH, MoveId.PHOTON_GEYSER ], + [SpeciesId.ELECTRIKE]: [ MoveId.FROST_BREATH, MoveId.HEAT_WAVE, MoveId.NASTY_PLOT, MoveId.ELECTRO_DRIFT ], + [SpeciesId.PLUSLE]: [ MoveId.FLAMETHROWER, MoveId.GLITZY_GLOW, MoveId.SPLISHY_SPLASH, MoveId.TAIL_GLOW ], + [SpeciesId.MINUN]: [ MoveId.ICE_BEAM, MoveId.BADDY_BAD, MoveId.SPARKLY_SWIRL, MoveId.TAIL_GLOW ], + [SpeciesId.VOLBEAT]: [ MoveId.BATON_PASS, MoveId.STICKY_WEB, MoveId.DECORATE, MoveId.VICTORY_DANCE ], + [SpeciesId.ILLUMISE]: [ MoveId.PARTING_SHOT, MoveId.GLITZY_GLOW, MoveId.POWDER, MoveId.QUIVER_DANCE ], + [SpeciesId.GULPIN]: [ MoveId.MALIGNANT_CHAIN, MoveId.EARTH_POWER, MoveId.CALM_MIND, MoveId.STRENGTH_SAP ], + [SpeciesId.CARVANHA]: [ MoveId.THUNDER_FANG, MoveId.GUNK_SHOT, MoveId.OBSTRUCT, MoveId.SURGING_STRIKES ], + [SpeciesId.WAILMER]: [ MoveId.TAKE_HEART, MoveId.COMEUPPANCE, MoveId.SLACK_OFF, MoveId.STEAM_ERUPTION ], + [SpeciesId.NUMEL]: [ MoveId.TRICK_ROOM, MoveId.ENERGY_BALL, MoveId.SLACK_OFF, MoveId.BLUE_FLARE ], + [SpeciesId.TORKOAL]: [ MoveId.MORNING_SUN, MoveId.BURNING_BULWARK, MoveId.BODY_PRESS, MoveId.HYDRO_STEAM ], + [SpeciesId.SPOINK]: [ MoveId.AURA_SPHERE, MoveId.MILK_DRINK, MoveId.EXPANDING_FORCE, MoveId.TAIL_GLOW ], + [SpeciesId.SPINDA]: [ MoveId.SUPERPOWER, MoveId.SLACK_OFF, MoveId.FLEUR_CANNON, MoveId.V_CREATE ], + [SpeciesId.TRAPINCH]: [ MoveId.FIRE_LASH, MoveId.DRAGON_DARTS, MoveId.THOUSAND_ARROWS, MoveId.DRAGON_ENERGY ], + [SpeciesId.CACNEA]: [ MoveId.EARTH_POWER, MoveId.CEASELESS_EDGE, MoveId.NIGHT_DAZE, MoveId.IVY_CUDGEL ], + [SpeciesId.SWABLU]: [ MoveId.ROOST, MoveId.NASTY_PLOT, MoveId.FLOATY_FALL, MoveId.BOOMBURST ], + [SpeciesId.ZANGOOSE]: [ MoveId.FACADE, MoveId.HIGH_HORSEPOWER, MoveId.EXTREME_SPEED, MoveId.TIDY_UP ], + [SpeciesId.SEVIPER]: [ MoveId.ICE_BEAM, MoveId.BITTER_BLADE, MoveId.SUCKER_PUNCH, MoveId.NO_RETREAT ], + [SpeciesId.LUNATONE]: [ MoveId.REVELATION_DANCE, MoveId.MOONGEIST_BEAM, MoveId.SHELL_SMASH, MoveId.LUMINA_CRASH ], + [SpeciesId.SOLROCK]: [ MoveId.MIGHTY_CLEAVE, MoveId.PHOTON_GEYSER, MoveId.SHELL_SMASH, MoveId.SACRED_FIRE ], + [SpeciesId.BARBOACH]: [ MoveId.DRAGON_DANCE, MoveId.ZING_ZAP, MoveId.ICE_SPINNER, MoveId.SURGING_STRIKES ], + [SpeciesId.CORPHISH]: [ MoveId.CEASELESS_EDGE, MoveId.SHELL_SIDE_ARM, MoveId.SUCKER_PUNCH, MoveId.JET_PUNCH ], + [SpeciesId.BALTOY]: [ MoveId.RECOVER, MoveId.GLARE, MoveId.RUINATION, MoveId.MYSTICAL_POWER ], + [SpeciesId.LILEEP]: [ MoveId.POWER_GEM, MoveId.SCALD, MoveId.STRENGTH_SAP, MoveId.SAPPY_SEED ], + [SpeciesId.ANORITH]: [ MoveId.FIRST_IMPRESSION, MoveId.LEECH_LIFE, MoveId.DRAGON_DANCE, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.FEEBAS]: [ MoveId.CALM_MIND, MoveId.FREEZE_DRY, MoveId.MOONBLAST, MoveId.STEAM_ERUPTION ], + [SpeciesId.CASTFORM]: [ MoveId.BOOMBURST, MoveId.HYDRO_STEAM, MoveId.ERUPTION, MoveId.QUIVER_DANCE ], + [SpeciesId.KECLEON]: [ MoveId.ZIPPY_ZAP, MoveId.COIL, MoveId.EXTREME_SPEED, MoveId.MULTI_ATTACK ], + [SpeciesId.SHUPPET]: [ MoveId.STORM_THROW, MoveId.TIDY_UP, MoveId.PARTING_SHOT, MoveId.SPECTRAL_THIEF ], + [SpeciesId.DUSKULL]: [ MoveId.BULK_UP, MoveId.DRAIN_PUNCH, MoveId.RECOVER, MoveId.RAGE_FIST ], + [SpeciesId.TROPIUS]: [ MoveId.STUFF_CHEEKS, MoveId.EARTH_POWER, MoveId.APPLE_ACID, MoveId.SAPPY_SEED ], + [SpeciesId.ABSOL]: [ MoveId.KOWTOW_CLEAVE, MoveId.SACRED_SWORD, MoveId.PSYBLADE, MoveId.BITTER_BLADE ], + [SpeciesId.WYNAUT]: [ MoveId.RECOVER, MoveId.SHED_TAIL, MoveId.TAUNT, MoveId.COMEUPPANCE ], + [SpeciesId.SNORUNT]: [ MoveId.SPARKLY_SWIRL, MoveId.NASTY_PLOT, MoveId.EARTH_POWER, MoveId.BLOOD_MOON ], + [SpeciesId.SPHEAL]: [ MoveId.FLIP_TURN, MoveId.FREEZE_DRY, MoveId.SLACK_OFF, MoveId.STEAM_ERUPTION ], + [SpeciesId.CLAMPERL]: [ MoveId.SHELL_SIDE_ARM, MoveId.BOUNCY_BUBBLE, MoveId.FREEZE_DRY, MoveId.STEAM_ERUPTION ], + [SpeciesId.RELICANTH]: [ MoveId.DRAGON_DANCE, MoveId.SHORE_UP, MoveId.WAVE_CRASH, MoveId.DIAMOND_STORM ], + [SpeciesId.LUVDISC]: [ MoveId.BATON_PASS, MoveId.HEART_SWAP, MoveId.GLITZY_GLOW, MoveId.REVIVAL_BLESSING ], + [SpeciesId.BAGON]: [ MoveId.HEADLONG_RUSH, MoveId.FIRE_LASH, MoveId.DRAGON_DANCE, MoveId.DRAGON_DARTS ], + [SpeciesId.BELDUM]: [ MoveId.HEADLONG_RUSH, MoveId.DRAIN_PUNCH, MoveId.ICE_SPINNER, MoveId.SHIFT_GEAR ], + [SpeciesId.REGIROCK]: [ MoveId.STONE_AXE, MoveId.BODY_PRESS, MoveId.SHORE_UP, MoveId.SALT_CURE ], + [SpeciesId.REGICE]: [ MoveId.EARTH_POWER, MoveId.TAKE_HEART, MoveId.RECOVER, MoveId.FREEZE_DRY ], + [SpeciesId.REGISTEEL]: [ MoveId.BODY_PRESS, MoveId.SIZZLY_SLIDE, MoveId.RECOVER, MoveId.GIGATON_HAMMER ], + [SpeciesId.LATIAS]: [ MoveId.CORE_ENFORCER, MoveId.FUSION_FLARE, MoveId.SPARKLY_SWIRL, MoveId.MYSTICAL_POWER ], + [SpeciesId.LATIOS]: [ MoveId.CORE_ENFORCER, MoveId.BLUE_FLARE, MoveId.NASTY_PLOT, MoveId.TACHYON_CUTTER ], + [SpeciesId.KYOGRE]: [ MoveId.RECOVER, MoveId.HURRICANE, MoveId.FREEZY_FROST, MoveId.WILDBOLT_STORM ], + [SpeciesId.GROUDON]: [ MoveId.STONE_AXE, MoveId.SOLAR_BLADE, MoveId.MORNING_SUN, MoveId.SACRED_FIRE ], + [SpeciesId.RAYQUAZA]: [ MoveId.V_CREATE, MoveId.DRAGON_DARTS, MoveId.CORE_ENFORCER, MoveId.OBLIVION_WING ], + [SpeciesId.JIRACHI]: [ MoveId.TACHYON_CUTTER, MoveId.TRIPLE_ARROWS, MoveId.ROCK_SLIDE, MoveId.SHELL_SMASH ], + [SpeciesId.DEOXYS]: [ MoveId.COLLISION_COURSE, MoveId.FUSION_FLARE, MoveId.PARTING_SHOT, MoveId.LUMINA_CRASH ], - [Species.TURTWIG]: [ Moves.SHELL_SMASH, Moves.MIGHTY_CLEAVE, Moves.ICE_SPINNER, Moves.SAPPY_SEED ], - [Species.CHIMCHAR]: [ Moves.THUNDERBOLT, Moves.SECRET_SWORD, Moves.TRIPLE_AXEL, Moves.SACRED_FIRE ], - [Species.PIPLUP]: [ Moves.KINGS_SHIELD, Moves.TACHYON_CUTTER, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], - [Species.STARLY]: [ Moves.SWORDS_DANCE, Moves.HEAD_CHARGE, Moves.FLARE_BLITZ, Moves.EXTREME_SPEED ], - [Species.BIDOOF]: [ Moves.EXTREME_SPEED, Moves.COSMIC_POWER, Moves.POWER_TRIP, Moves.AQUA_STEP ], - [Species.KRICKETOT]: [ Moves.BONEMERANG, Moves.VICTORY_DANCE, Moves.STONE_AXE, Moves.POPULATION_BOMB ], - [Species.SHINX]: [ Moves.FIRE_LASH, Moves.TRIPLE_AXEL, Moves.ZIPPY_ZAP, Moves.BOLT_STRIKE ], - [Species.BUDEW]: [ Moves.FIERY_DANCE, Moves.ACID_SPRAY, Moves.BOUNCY_BUBBLE, Moves.QUIVER_DANCE ], - [Species.CRANIDOS]: [ Moves.VOLT_TACKLE, Moves.ACCELEROCK, Moves.FLARE_BLITZ, Moves.SHIFT_GEAR ], - [Species.SHIELDON]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.KINGS_SHIELD, Moves.DIAMOND_STORM ], - [Species.BURMY]: [ Moves.FIERY_DANCE, Moves.DEFEND_ORDER, Moves.HEAL_ORDER, Moves.SAPPY_SEED ], - [Species.COMBEE]: [ Moves.SPORE, Moves.FLOATY_FALL, Moves.KINGS_SHIELD, Moves.VICTORY_DANCE ], - [Species.PACHIRISU]: [ Moves.FREEZY_FROST, Moves.SIZZLY_SLIDE, Moves.SLACK_OFF, Moves.THUNDER_CAGE ], - [Species.BUIZEL]: [ Moves.JET_PUNCH, Moves.TRIPLE_AXEL, Moves.SUPERCELL_SLAM, Moves.SURGING_STRIKES ], - [Species.CHERUBI]: [ Moves.SLEEP_POWDER, Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.FLOWER_TRICK ], - [Species.SHELLOS]: [ Moves.BOUNCY_BUBBLE, Moves.SCORCHING_SANDS, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], - [Species.DRIFLOON]: [ Moves.PSYCHO_SHIFT, Moves.MIND_BLOWN, Moves.CALM_MIND, Moves.OBLIVION_WING ], - [Species.BUNEARY]: [ Moves.TRIPLE_AXEL, Moves.EXTREME_SPEED, Moves.THUNDEROUS_KICK, Moves.SWORDS_DANCE ], - [Species.GLAMEOW]: [ Moves.PARTING_SHOT, Moves.HIGH_HORSEPOWER, Moves.SWORDS_DANCE, Moves.EXTREME_SPEED ], - [Species.CHINGLING]: [ Moves.ALLURING_VOICE, Moves.EERIE_SPELL, Moves.TORCH_SONG, Moves.BOOMBURST ], - [Species.STUNKY]: [ Moves.CEASELESS_EDGE, Moves.FIRE_LASH, Moves.RECOVER, Moves.DIRE_CLAW ], - [Species.BRONZOR]: [ Moves.RECOVER, Moves.TACHYON_CUTTER, Moves.GLARE, Moves.LUMINA_CRASH ], - [Species.BONSLY]: [ Moves.ACCELEROCK, Moves.SWORDS_DANCE, Moves.STRENGTH_SAP, Moves.SAPPY_SEED ], - [Species.MIME_JR]: [ Moves.CHILLY_RECEPTION, Moves.MOONBLAST, Moves.FROST_BREATH, Moves.LUMINA_CRASH ], - [Species.HAPPINY]: [ Moves.COTTON_GUARD, Moves.SEISMIC_TOSS, Moves.SIZZLY_SLIDE, Moves.REVIVAL_BLESSING ], - [Species.CHATOT]: [ Moves.SPARKLING_ARIA, Moves.BOOMBURST, Moves.BATON_PASS, Moves.TORCH_SONG ], - [Species.SPIRITOMB]: [ Moves.PARTING_SHOT, Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.SPECTRAL_THIEF ], - [Species.GIBLE]: [ Moves.METEOR_MASH, Moves.BITTER_BLADE, Moves.LANDS_WRATH, Moves.DRAGON_DANCE ], - [Species.MUNCHLAX]: [ Moves.STUFF_CHEEKS, Moves.GRAV_APPLE, Moves.SLACK_OFF, Moves.EXTREME_SPEED ], - [Species.RIOLU]: [ Moves.THUNDEROUS_KICK, Moves.TACHYON_CUTTER, Moves.TRIPLE_AXEL, Moves.SUNSTEEL_STRIKE ], - [Species.HIPPOPOTAS]: [ Moves.SHORE_UP, Moves.STONE_AXE, Moves.BULK_UP, Moves.SALT_CURE ], - [Species.SKORUPI]: [ Moves.COIL, Moves.DIRE_CLAW, Moves.CRABHAMMER, Moves.WICKED_BLOW ], - [Species.CROAGUNK]: [ Moves.DIRE_CLAW, Moves.TRIPLE_AXEL, Moves.THUNDEROUS_KICK, Moves.VICTORY_DANCE ], - [Species.CARNIVINE]: [ Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.COIL, Moves.SAPPY_SEED ], - [Species.FINNEON]: [ Moves.QUIVER_DANCE, Moves.SPLISHY_SPLASH, Moves.FREEZE_DRY, Moves.OBLIVION_WING ], - [Species.MANTYKE]: [ Moves.SPLISHY_SPLASH, Moves.FREEZY_FROST, Moves.NASTY_PLOT, Moves.OBLIVION_WING ], - [Species.SNOVER]: [ Moves.LANDS_WRATH, Moves.POWDER, Moves.CALM_MIND, Moves.MATCHA_GOTCHA ], - [Species.ROTOM]: [ Moves.STRENGTH_SAP, Moves.FIERY_DANCE, Moves.SPLISHY_SPLASH, Moves.ELECTRO_DRIFT ], - [Species.UXIE]: [ Moves.LUMINA_CRASH, Moves.AURA_SPHERE, Moves.RECOVER, Moves.TAIL_GLOW ], - [Species.MESPRIT]: [ Moves.PHOTON_GEYSER, Moves.AURA_SPHERE, Moves.RECOVER, Moves.TAIL_GLOW ], - [Species.AZELF]: [ Moves.PSYSTRIKE, Moves.AURA_SPHERE, Moves.ICE_BEAM, Moves.TAIL_GLOW ], - [Species.DIALGA]: [ Moves.CORE_ENFORCER, Moves.TAKE_HEART, Moves.RECOVER, Moves.MAKE_IT_RAIN ], - [Species.PALKIA]: [ Moves.MALIGNANT_CHAIN, Moves.TAKE_HEART, Moves.RECOVER, Moves.ORIGIN_PULSE ], - [Species.HEATRAN]: [ Moves.ENERGY_BALL, Moves.RECOVER, Moves.ERUPTION, Moves.TACHYON_CUTTER ], - [Species.REGIGIGAS]: [ Moves.SKILL_SWAP, Moves.RECOVER, Moves.EXTREME_SPEED, Moves.GIGATON_HAMMER ], - [Species.GIRATINA]: [ Moves.DRAGON_DANCE, Moves.SPECTRAL_THIEF, Moves.RECOVER, Moves.COLLISION_COURSE ], - [Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.BODY_PRESS, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ], - [Species.PHIONE]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.STORED_POWER, Moves.ORIGIN_PULSE ], - [Species.MANAPHY]: [ Moves.BOUNCY_BUBBLE, Moves.FROST_BREATH, Moves.WILDBOLT_STORM, Moves.ORIGIN_PULSE ], - [Species.DARKRAI]: [ Moves.FIERY_WRATH, Moves.MOONBLAST, Moves.FIERY_DANCE, Moves.MAKE_IT_RAIN ], - [Species.SHAYMIN]: [ Moves.MATCHA_GOTCHA, Moves.FIERY_DANCE, Moves.AEROBLAST, Moves.QUIVER_DANCE ], - [Species.ARCEUS]: [ Moves.NO_RETREAT, Moves.COLLISION_COURSE, Moves.ASTRAL_BARRAGE, Moves.MULTI_ATTACK ], + [SpeciesId.TURTWIG]: [ MoveId.SHELL_SMASH, MoveId.MIGHTY_CLEAVE, MoveId.ICE_SPINNER, MoveId.SAPPY_SEED ], + [SpeciesId.CHIMCHAR]: [ MoveId.THUNDERBOLT, MoveId.SECRET_SWORD, MoveId.TRIPLE_AXEL, MoveId.SACRED_FIRE ], + [SpeciesId.PIPLUP]: [ MoveId.KINGS_SHIELD, MoveId.TACHYON_CUTTER, MoveId.FREEZE_DRY, MoveId.STEAM_ERUPTION ], + [SpeciesId.STARLY]: [ MoveId.SWORDS_DANCE, MoveId.HEAD_CHARGE, MoveId.FLARE_BLITZ, MoveId.EXTREME_SPEED ], + [SpeciesId.BIDOOF]: [ MoveId.EXTREME_SPEED, MoveId.COSMIC_POWER, MoveId.POWER_TRIP, MoveId.AQUA_STEP ], + [SpeciesId.KRICKETOT]: [ MoveId.BONEMERANG, MoveId.VICTORY_DANCE, MoveId.STONE_AXE, MoveId.POPULATION_BOMB ], + [SpeciesId.SHINX]: [ MoveId.FIRE_LASH, MoveId.TRIPLE_AXEL, MoveId.ZIPPY_ZAP, MoveId.BOLT_STRIKE ], + [SpeciesId.BUDEW]: [ MoveId.FIERY_DANCE, MoveId.ACID_SPRAY, MoveId.BOUNCY_BUBBLE, MoveId.QUIVER_DANCE ], + [SpeciesId.CRANIDOS]: [ MoveId.VOLT_TACKLE, MoveId.ACCELEROCK, MoveId.FLARE_BLITZ, MoveId.SHIFT_GEAR ], + [SpeciesId.SHIELDON]: [ MoveId.SHORE_UP, MoveId.BODY_PRESS, MoveId.KINGS_SHIELD, MoveId.DIAMOND_STORM ], + [SpeciesId.BURMY]: [ MoveId.FIERY_DANCE, MoveId.DEFEND_ORDER, MoveId.HEAL_ORDER, MoveId.SAPPY_SEED ], + [SpeciesId.COMBEE]: [ MoveId.SPORE, MoveId.FLOATY_FALL, MoveId.KINGS_SHIELD, MoveId.VICTORY_DANCE ], + [SpeciesId.PACHIRISU]: [ MoveId.FREEZY_FROST, MoveId.SIZZLY_SLIDE, MoveId.SLACK_OFF, MoveId.THUNDER_CAGE ], + [SpeciesId.BUIZEL]: [ MoveId.JET_PUNCH, MoveId.TRIPLE_AXEL, MoveId.SUPERCELL_SLAM, MoveId.SURGING_STRIKES ], + [SpeciesId.CHERUBI]: [ MoveId.SLEEP_POWDER, MoveId.STRENGTH_SAP, MoveId.FIRE_LASH, MoveId.FLOWER_TRICK ], + [SpeciesId.SHELLOS]: [ MoveId.BOUNCY_BUBBLE, MoveId.SCORCHING_SANDS, MoveId.FREEZE_DRY, MoveId.STEAM_ERUPTION ], + [SpeciesId.DRIFLOON]: [ MoveId.PSYCHO_SHIFT, MoveId.MIND_BLOWN, MoveId.CALM_MIND, MoveId.OBLIVION_WING ], + [SpeciesId.BUNEARY]: [ MoveId.TRIPLE_AXEL, MoveId.EXTREME_SPEED, MoveId.THUNDEROUS_KICK, MoveId.SWORDS_DANCE ], + [SpeciesId.GLAMEOW]: [ MoveId.PARTING_SHOT, MoveId.HIGH_HORSEPOWER, MoveId.SWORDS_DANCE, MoveId.EXTREME_SPEED ], + [SpeciesId.CHINGLING]: [ MoveId.ALLURING_VOICE, MoveId.EERIE_SPELL, MoveId.TORCH_SONG, MoveId.BOOMBURST ], + [SpeciesId.STUNKY]: [ MoveId.CEASELESS_EDGE, MoveId.FIRE_LASH, MoveId.RECOVER, MoveId.DIRE_CLAW ], + [SpeciesId.BRONZOR]: [ MoveId.RECOVER, MoveId.TACHYON_CUTTER, MoveId.GLARE, MoveId.LUMINA_CRASH ], + [SpeciesId.BONSLY]: [ MoveId.ACCELEROCK, MoveId.SWORDS_DANCE, MoveId.STRENGTH_SAP, MoveId.SAPPY_SEED ], + [SpeciesId.MIME_JR]: [ MoveId.CHILLY_RECEPTION, MoveId.MOONBLAST, MoveId.FROST_BREATH, MoveId.LUMINA_CRASH ], + [SpeciesId.HAPPINY]: [ MoveId.COTTON_GUARD, MoveId.SEISMIC_TOSS, MoveId.SIZZLY_SLIDE, MoveId.REVIVAL_BLESSING ], + [SpeciesId.CHATOT]: [ MoveId.SPARKLING_ARIA, MoveId.BOOMBURST, MoveId.BATON_PASS, MoveId.TORCH_SONG ], + [SpeciesId.SPIRITOMB]: [ MoveId.PARTING_SHOT, MoveId.BADDY_BAD, MoveId.STRENGTH_SAP, MoveId.SPECTRAL_THIEF ], + [SpeciesId.GIBLE]: [ MoveId.METEOR_MASH, MoveId.BITTER_BLADE, MoveId.LANDS_WRATH, MoveId.DRAGON_DANCE ], + [SpeciesId.MUNCHLAX]: [ MoveId.STUFF_CHEEKS, MoveId.GRAV_APPLE, MoveId.SLACK_OFF, MoveId.EXTREME_SPEED ], + [SpeciesId.RIOLU]: [ MoveId.THUNDEROUS_KICK, MoveId.TACHYON_CUTTER, MoveId.TRIPLE_AXEL, MoveId.SUNSTEEL_STRIKE ], + [SpeciesId.HIPPOPOTAS]: [ MoveId.SHORE_UP, MoveId.STONE_AXE, MoveId.BULK_UP, MoveId.SALT_CURE ], + [SpeciesId.SKORUPI]: [ MoveId.COIL, MoveId.DIRE_CLAW, MoveId.CRABHAMMER, MoveId.WICKED_BLOW ], + [SpeciesId.CROAGUNK]: [ MoveId.DIRE_CLAW, MoveId.TRIPLE_AXEL, MoveId.THUNDEROUS_KICK, MoveId.VICTORY_DANCE ], + [SpeciesId.CARNIVINE]: [ MoveId.STRENGTH_SAP, MoveId.FIRE_LASH, MoveId.COIL, MoveId.SAPPY_SEED ], + [SpeciesId.FINNEON]: [ MoveId.QUIVER_DANCE, MoveId.SPLISHY_SPLASH, MoveId.FREEZE_DRY, MoveId.OBLIVION_WING ], + [SpeciesId.MANTYKE]: [ MoveId.SPLISHY_SPLASH, MoveId.FREEZY_FROST, MoveId.NASTY_PLOT, MoveId.OBLIVION_WING ], + [SpeciesId.SNOVER]: [ MoveId.LANDS_WRATH, MoveId.POWDER, MoveId.CALM_MIND, MoveId.MATCHA_GOTCHA ], + [SpeciesId.ROTOM]: [ MoveId.STRENGTH_SAP, MoveId.FIERY_DANCE, MoveId.SPLISHY_SPLASH, MoveId.ELECTRO_DRIFT ], + [SpeciesId.UXIE]: [ MoveId.LUMINA_CRASH, MoveId.AURA_SPHERE, MoveId.RECOVER, MoveId.TAIL_GLOW ], + [SpeciesId.MESPRIT]: [ MoveId.PHOTON_GEYSER, MoveId.AURA_SPHERE, MoveId.RECOVER, MoveId.TAIL_GLOW ], + [SpeciesId.AZELF]: [ MoveId.PSYSTRIKE, MoveId.AURA_SPHERE, MoveId.ICE_BEAM, MoveId.TAIL_GLOW ], + [SpeciesId.DIALGA]: [ MoveId.CORE_ENFORCER, MoveId.TAKE_HEART, MoveId.RECOVER, MoveId.MAKE_IT_RAIN ], + [SpeciesId.PALKIA]: [ MoveId.MALIGNANT_CHAIN, MoveId.TAKE_HEART, MoveId.RECOVER, MoveId.ORIGIN_PULSE ], + [SpeciesId.HEATRAN]: [ MoveId.ENERGY_BALL, MoveId.RECOVER, MoveId.ERUPTION, MoveId.TACHYON_CUTTER ], + [SpeciesId.REGIGIGAS]: [ MoveId.SKILL_SWAP, MoveId.RECOVER, MoveId.EXTREME_SPEED, MoveId.GIGATON_HAMMER ], + [SpeciesId.GIRATINA]: [ MoveId.DRAGON_DANCE, MoveId.SPECTRAL_THIEF, MoveId.RECOVER, MoveId.COLLISION_COURSE ], + [SpeciesId.CRESSELIA]: [ MoveId.COSMIC_POWER, MoveId.BODY_PRESS, MoveId.SIZZLY_SLIDE, MoveId.LUMINA_CRASH ], + [SpeciesId.PHIONE]: [ MoveId.BOUNCY_BUBBLE, MoveId.FREEZE_DRY, MoveId.STORED_POWER, MoveId.ORIGIN_PULSE ], + [SpeciesId.MANAPHY]: [ MoveId.BOUNCY_BUBBLE, MoveId.FROST_BREATH, MoveId.WILDBOLT_STORM, MoveId.ORIGIN_PULSE ], + [SpeciesId.DARKRAI]: [ MoveId.FIERY_WRATH, MoveId.MOONBLAST, MoveId.FIERY_DANCE, MoveId.MAKE_IT_RAIN ], + [SpeciesId.SHAYMIN]: [ MoveId.MATCHA_GOTCHA, MoveId.FIERY_DANCE, MoveId.AEROBLAST, MoveId.QUIVER_DANCE ], + [SpeciesId.ARCEUS]: [ MoveId.NO_RETREAT, MoveId.COLLISION_COURSE, MoveId.ASTRAL_BARRAGE, MoveId.MULTI_ATTACK ], - [Species.VICTINI]: [ Moves.BLUE_FLARE, Moves.BOLT_STRIKE, Moves.LUSTER_PURGE, Moves.VICTORY_DANCE ], - [Species.SNIVY]: [ Moves.FLAMETHROWER, Moves.CLANGING_SCALES, Moves.MAKE_IT_RAIN, Moves.FLEUR_CANNON ], - [Species.TEPIG]: [ Moves.WAVE_CRASH, Moves.VOLT_TACKLE, Moves.AXE_KICK, Moves.VICTORY_DANCE ], - [Species.OSHAWOTT]: [ Moves.FREEZE_DRY, Moves.SHELL_SIDE_ARM, Moves.SACRED_SWORD, Moves.SHELL_SMASH ], - [Species.PATRAT]: [ Moves.FAKE_OUT, Moves.SWORDS_DANCE, Moves.DYNAMIC_PUNCH, Moves.EXTREME_SPEED ], - [Species.LILLIPUP]: [ Moves.CLOSE_COMBAT, Moves.BODY_SLAM, Moves.HIGH_HORSEPOWER, Moves.LAST_RESPECTS ], - [Species.PURRLOIN]: [ Moves.ENCORE, Moves.OBSTRUCT, Moves.PARTING_SHOT, Moves.WICKED_BLOW ], - [Species.PANSAGE]: [ Moves.SWORDS_DANCE, Moves.FIRE_LASH, Moves.EARTHQUAKE, Moves.IVY_CUDGEL ], - [Species.PANSEAR]: [ Moves.NASTY_PLOT, Moves.HYDRO_STEAM, Moves.EARTH_POWER, Moves.ERUPTION ], - [Species.PANPOUR]: [ Moves.NASTY_PLOT, Moves.ENERGY_BALL, Moves.EARTH_POWER, Moves.WATER_SPOUT ], - [Species.MUNNA]: [ Moves.COSMIC_POWER, Moves.AURA_SPHERE, Moves.LUNAR_BLESSING, Moves.MYSTICAL_POWER ], - [Species.PIDOVE]: [ Moves.SLASH, Moves.TIDY_UP, Moves.FLOATY_FALL, Moves.TRIPLE_ARROWS ], - [Species.BLITZLE]: [ Moves.HORN_LEECH, Moves.SWORDS_DANCE, Moves.FLARE_BLITZ, Moves.BOLT_STRIKE ], - [Species.ROGGENROLA]: [ Moves.BODY_PRESS, Moves.CURSE, Moves.SHORE_UP, Moves.DIAMOND_STORM ], - [Species.WOOBAT]: [ Moves.ESPER_WING, Moves.STORED_POWER, Moves.MYSTICAL_FIRE, Moves.OBLIVION_WING ], - [Species.DRILBUR]: [ Moves.METEOR_MASH, Moves.ICE_SPINNER, Moves.SHIFT_GEAR, Moves.THOUSAND_ARROWS ], - [Species.AUDINO]: [ Moves.TAKE_HEART, Moves.MOONBLAST, Moves.WISH, Moves.MATCHA_GOTCHA ], - [Species.TIMBURR]: [ Moves.MACH_PUNCH, Moves.DRAIN_PUNCH, Moves.ICE_HAMMER, Moves.DOUBLE_IRON_BASH ], - [Species.TYMPOLE]: [ Moves.JET_PUNCH, Moves.HIGH_HORSEPOWER, Moves.BULK_UP, Moves.SURGING_STRIKES ], - [Species.THROH]: [ Moves.MACH_PUNCH, Moves.SLACK_OFF, Moves.METEOR_MASH, Moves.RAGE_FIST ], - [Species.SAWK]: [ Moves.DRAIN_PUNCH, Moves.SUCKER_PUNCH, Moves.METEOR_MASH, Moves.VICTORY_DANCE ], - [Species.SEWADDLE]: [ Moves.STONE_AXE, Moves.PSYCHO_CUT, Moves.BITTER_BLADE, Moves.VICTORY_DANCE ], - [Species.VENIPEDE]: [ Moves.BANEFUL_BUNKER, Moves.LEECH_LIFE, Moves.NOXIOUS_TORQUE, Moves.POWER_TRIP ], - [Species.COTTONEE]: [ Moves.POLLEN_PUFF, Moves.PARTING_SHOT, Moves.SLEEP_POWDER, Moves.SEED_FLARE ], - [Species.PETILIL]: [ Moves.THUNDEROUS_KICK, Moves.SPARKLING_ARIA, Moves.FIERY_DANCE, Moves.FLOWER_TRICK ], - [Species.BASCULIN]: [ Moves.LAST_RESPECTS, Moves.CLOSE_COMBAT, Moves.SPLISHY_SPLASH, Moves.NO_RETREAT ], - [Species.SANDILE]: [ Moves.DIRE_CLAW, Moves.SUCKER_PUNCH, Moves.FIRE_LASH, Moves.HEADLONG_RUSH ], - [Species.DARUMAKA]: [ Moves.DRAIN_PUNCH, Moves.ZIPPY_ZAP, Moves.HEADLONG_RUSH, Moves.PYRO_BALL ], - [Species.MARACTUS]: [ Moves.EARTH_POWER, Moves.SIZZLY_SLIDE, Moves.FIERY_DANCE, Moves.QUIVER_DANCE ], - [Species.DWEBBLE]: [ Moves.CRABHAMMER, Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.MIGHTY_CLEAVE ], - [Species.SCRAGGY]: [ Moves.SUCKER_PUNCH, Moves.BULLET_PUNCH, Moves.NOXIOUS_TORQUE, Moves.VICTORY_DANCE ], - [Species.SIGILYPH]: [ Moves.MOONBLAST, Moves.PSYCHO_SHIFT, Moves.ESPER_WING, Moves.OBLIVION_WING ], - [Species.YAMASK]: [ Moves.STRENGTH_SAP, Moves.GLARE, Moves.AURA_SPHERE, Moves.ASTRAL_BARRAGE ], - [Species.TIRTOUGA]: [ Moves.ICE_SPINNER, Moves.AQUA_STEP, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ], - [Species.ARCHEN]: [ Moves.ROOST, Moves.EARTHQUAKE, Moves.FLOATY_FALL, Moves.MIGHTY_CLEAVE ], - [Species.TRUBBISH]: [ Moves.COIL, Moves.RECOVER, Moves.DIRE_CLAW, Moves.GIGATON_HAMMER ], - [Species.ZORUA]: [ Moves.MALIGNANT_CHAIN, Moves.MOONBLAST, Moves.SECRET_SWORD, Moves.FIERY_WRATH ], - [Species.MINCCINO]: [ Moves.ICICLE_SPEAR, Moves.TIDY_UP, Moves.KNOCK_OFF, Moves.POPULATION_BOMB ], - [Species.GOTHITA]: [ Moves.RECOVER, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.LUMINA_CRASH ], - [Species.SOLOSIS]: [ Moves.MIST_BALL, Moves.SPEED_SWAP, Moves.FLAMETHROWER, Moves.LIGHT_OF_RUIN ], - [Species.DUCKLETT]: [ Moves.SPLISHY_SPLASH, Moves.SANDSEAR_STORM, Moves.WILDBOLT_STORM, Moves.QUIVER_DANCE ], - [Species.VANILLITE]: [ Moves.EARTH_POWER, Moves.AURORA_VEIL, Moves.CALM_MIND, Moves.SPARKLY_SWIRL ], - [Species.DEERLING]: [ Moves.TIDY_UP, Moves.HEADBUTT, Moves.COMBAT_TORQUE, Moves.FLOWER_TRICK ], - [Species.EMOLGA]: [ Moves.ICICLE_CRASH, Moves.ZING_ZAP, Moves.FLOATY_FALL, Moves.ELECTRIFY ], - [Species.KARRABLAST]: [ Moves.LEECH_LIFE, Moves.BITTER_BLADE, Moves.OBSTRUCT, Moves.DOUBLE_IRON_BASH ], - [Species.FOONGUS]: [ Moves.POLLEN_PUFF, Moves.PARTING_SHOT, Moves.FOUL_PLAY, Moves.SAPPY_SEED ], - [Species.FRILLISH]: [ Moves.CALM_MIND, Moves.BUZZY_BUZZ, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], - [Species.ALOMOMOLA]: [ Moves.FLIP_TURN, Moves.HEART_SWAP, Moves.GLITZY_GLOW, Moves.REVIVAL_BLESSING ], - [Species.JOLTIK]: [ Moves.WILDBOLT_STORM, Moves.PARABOLIC_CHARGE, Moves.EARTH_POWER, Moves.QUIVER_DANCE ], - [Species.FERROSEED]: [ Moves.SYNTHESIS, Moves.CEASELESS_EDGE, Moves.SPIKY_SHIELD, Moves.SAPPY_SEED ], - [Species.KLINK]: [ Moves.TRIPLE_AXEL, Moves.HIGH_HORSEPOWER, Moves.RECOVER, Moves.AURA_WHEEL ], - [Species.TYNAMO]: [ Moves.SCALD, Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.AURA_WHEEL ], - [Species.ELGYEM]: [ Moves.THUNDERCLAP, Moves.BADDY_BAD, Moves.AURA_SPHERE, Moves.PHOTON_GEYSER ], - [Species.LITWICK]: [ Moves.GIGA_DRAIN, Moves.EARTH_POWER, Moves.MOONBLAST, Moves.TORCH_SONG ], - [Species.AXEW]: [ Moves.STONE_AXE, Moves.DIRE_CLAW, Moves.BITTER_BLADE, Moves.GLAIVE_RUSH ], - [Species.CUBCHOO]: [ Moves.MOUNTAIN_GALE, Moves.AQUA_STEP, Moves.ICE_SHARD, Moves.COLLISION_COURSE ], - [Species.CRYOGONAL]: [ Moves.FREEZING_GLARE, Moves.AURORA_VEIL, Moves.NASTY_PLOT, Moves.ORIGIN_PULSE ], - [Species.SHELMET]: [ Moves.POWER_GEM, Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.STEAM_ERUPTION ], - [Species.STUNFISK]: [ Moves.THUNDERCLAP, Moves.SANDSEAR_STORM, Moves.STRENGTH_SAP, Moves.THUNDER_CAGE ], - [Species.MIENFOO]: [ Moves.GUNK_SHOT, Moves.SUPERCELL_SLAM, Moves.MOUNTAIN_GALE, Moves.WICKED_BLOW ], - [Species.DRUDDIGON]: [ Moves.FIRE_LASH, Moves.MORNING_SUN, Moves.DRAGON_DARTS, Moves.CLANGOROUS_SOUL ], - [Species.GOLETT]: [ Moves.SHIFT_GEAR, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.RAGE_FIST ], - [Species.PAWNIARD]: [ Moves.SUCKER_PUNCH, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE, Moves.LAST_RESPECTS ], - [Species.BOUFFALANT]: [ Moves.HORN_LEECH, Moves.HIGH_JUMP_KICK, Moves.HEAD_SMASH, Moves.FLARE_BLITZ ], - [Species.RUFFLET]: [ Moves.FLOATY_FALL, Moves.AURA_SPHERE, Moves.NO_RETREAT, Moves.BOLT_BEAK ], - [Species.VULLABY]: [ Moves.FOUL_PLAY, Moves.BODY_PRESS, Moves.ROOST, Moves.RUINATION ], - [Species.HEATMOR]: [ Moves.EARTH_POWER, Moves.OVERHEAT, Moves.THUNDERBOLT, Moves.V_CREATE ], - [Species.DURANT]: [ Moves.HIGH_HORSEPOWER, Moves.FIRST_IMPRESSION, Moves.SWORDS_DANCE, Moves.BEHEMOTH_BASH ], - [Species.DEINO]: [ Moves.FIERY_WRATH, Moves.ESPER_WING, Moves.SLUDGE_BOMB, Moves.FICKLE_BEAM ], - [Species.LARVESTA]: [ Moves.THUNDERBOLT, Moves.DAZZLING_GLEAM, Moves.EARTH_POWER, Moves.HYDRO_STEAM ], - [Species.COBALION]: [ Moves.BEHEMOTH_BLADE, Moves.MIGHTY_CLEAVE, Moves.CEASELESS_EDGE, Moves.VICTORY_DANCE ], - [Species.TERRAKION]: [ Moves.MIGHTY_CLEAVE, Moves.HEADLONG_RUSH, Moves.KNOCK_OFF, Moves.VICTORY_DANCE ], - [Species.VIRIZION]: [ Moves.SAPPY_SEED, Moves.PSYBLADE, Moves.STONE_AXE, Moves.VICTORY_DANCE ], - [Species.TORNADUS]: [ Moves.SANDSEAR_STORM, Moves.PARTING_SHOT, Moves.SPLISHY_SPLASH, Moves.OBLIVION_WING ], - [Species.THUNDURUS]: [ Moves.SANDSEAR_STORM, Moves.HURRICANE, Moves.FROST_BREATH, Moves.ELECTRO_SHOT ], - [Species.RESHIRAM]: [ Moves.ENERGY_BALL, Moves.TAKE_HEART, Moves.FICKLE_BEAM, Moves.ERUPTION ], - [Species.ZEKROM]: [ Moves.TRIPLE_AXEL, Moves.THUNDEROUS_KICK, Moves.DRAGON_HAMMER, Moves.DRAGON_ENERGY ], - [Species.LANDORUS]: [ Moves.STONE_AXE, Moves.FLOATY_FALL, Moves.ROOST, Moves.BLEAKWIND_STORM ], - [Species.KYUREM]: [ Moves.DRAGON_DARTS, Moves.GLACIAL_LANCE, Moves.NO_RETREAT, Moves.DRAGON_ENERGY ], - [Species.KELDEO]: [ Moves.BOUNCY_BUBBLE, Moves.THUNDERBOLT, Moves.ICE_BEAM, Moves.STEAM_ERUPTION ], - [Species.MELOETTA]: [ Moves.BODY_SLAM, Moves.PSYCHIC_NOISE, Moves.TRIPLE_ARROWS, Moves.TORCH_SONG ], - [Species.GENESECT]: [ Moves.EXTREME_SPEED, Moves.SHIFT_GEAR, Moves.BEHEMOTH_BASH, Moves.TACHYON_CUTTER ], + [SpeciesId.VICTINI]: [ MoveId.BLUE_FLARE, MoveId.BOLT_STRIKE, MoveId.LUSTER_PURGE, MoveId.VICTORY_DANCE ], + [SpeciesId.SNIVY]: [ MoveId.FLAMETHROWER, MoveId.CLANGING_SCALES, MoveId.MAKE_IT_RAIN, MoveId.FLEUR_CANNON ], + [SpeciesId.TEPIG]: [ MoveId.WAVE_CRASH, MoveId.VOLT_TACKLE, MoveId.AXE_KICK, MoveId.VICTORY_DANCE ], + [SpeciesId.OSHAWOTT]: [ MoveId.FREEZE_DRY, MoveId.SHELL_SIDE_ARM, MoveId.SACRED_SWORD, MoveId.SHELL_SMASH ], + [SpeciesId.PATRAT]: [ MoveId.FAKE_OUT, MoveId.SWORDS_DANCE, MoveId.DYNAMIC_PUNCH, MoveId.EXTREME_SPEED ], + [SpeciesId.LILLIPUP]: [ MoveId.CLOSE_COMBAT, MoveId.BODY_SLAM, MoveId.HIGH_HORSEPOWER, MoveId.LAST_RESPECTS ], + [SpeciesId.PURRLOIN]: [ MoveId.ENCORE, MoveId.OBSTRUCT, MoveId.PARTING_SHOT, MoveId.WICKED_BLOW ], + [SpeciesId.PANSAGE]: [ MoveId.SWORDS_DANCE, MoveId.FIRE_LASH, MoveId.EARTHQUAKE, MoveId.IVY_CUDGEL ], + [SpeciesId.PANSEAR]: [ MoveId.NASTY_PLOT, MoveId.HYDRO_STEAM, MoveId.EARTH_POWER, MoveId.ERUPTION ], + [SpeciesId.PANPOUR]: [ MoveId.NASTY_PLOT, MoveId.ENERGY_BALL, MoveId.EARTH_POWER, MoveId.WATER_SPOUT ], + [SpeciesId.MUNNA]: [ MoveId.COSMIC_POWER, MoveId.AURA_SPHERE, MoveId.LUNAR_BLESSING, MoveId.MYSTICAL_POWER ], + [SpeciesId.PIDOVE]: [ MoveId.SLASH, MoveId.TIDY_UP, MoveId.FLOATY_FALL, MoveId.TRIPLE_ARROWS ], + [SpeciesId.BLITZLE]: [ MoveId.HORN_LEECH, MoveId.SWORDS_DANCE, MoveId.FLARE_BLITZ, MoveId.BOLT_STRIKE ], + [SpeciesId.ROGGENROLA]: [ MoveId.BODY_PRESS, MoveId.CURSE, MoveId.SHORE_UP, MoveId.DIAMOND_STORM ], + [SpeciesId.WOOBAT]: [ MoveId.ESPER_WING, MoveId.STORED_POWER, MoveId.MYSTICAL_FIRE, MoveId.OBLIVION_WING ], + [SpeciesId.DRILBUR]: [ MoveId.METEOR_MASH, MoveId.ICE_SPINNER, MoveId.SHIFT_GEAR, MoveId.THOUSAND_ARROWS ], + [SpeciesId.AUDINO]: [ MoveId.TAKE_HEART, MoveId.MOONBLAST, MoveId.WISH, MoveId.MATCHA_GOTCHA ], + [SpeciesId.TIMBURR]: [ MoveId.MACH_PUNCH, MoveId.DRAIN_PUNCH, MoveId.ICE_HAMMER, MoveId.DOUBLE_IRON_BASH ], + [SpeciesId.TYMPOLE]: [ MoveId.JET_PUNCH, MoveId.HIGH_HORSEPOWER, MoveId.BULK_UP, MoveId.SURGING_STRIKES ], + [SpeciesId.THROH]: [ MoveId.MACH_PUNCH, MoveId.SLACK_OFF, MoveId.METEOR_MASH, MoveId.RAGE_FIST ], + [SpeciesId.SAWK]: [ MoveId.DRAIN_PUNCH, MoveId.SUCKER_PUNCH, MoveId.METEOR_MASH, MoveId.VICTORY_DANCE ], + [SpeciesId.SEWADDLE]: [ MoveId.STONE_AXE, MoveId.PSYCHO_CUT, MoveId.BITTER_BLADE, MoveId.VICTORY_DANCE ], + [SpeciesId.VENIPEDE]: [ MoveId.BANEFUL_BUNKER, MoveId.LEECH_LIFE, MoveId.NOXIOUS_TORQUE, MoveId.POWER_TRIP ], + [SpeciesId.COTTONEE]: [ MoveId.POLLEN_PUFF, MoveId.PARTING_SHOT, MoveId.SLEEP_POWDER, MoveId.SEED_FLARE ], + [SpeciesId.PETILIL]: [ MoveId.THUNDEROUS_KICK, MoveId.SPARKLING_ARIA, MoveId.FIERY_DANCE, MoveId.FLOWER_TRICK ], + [SpeciesId.BASCULIN]: [ MoveId.LAST_RESPECTS, MoveId.CLOSE_COMBAT, MoveId.SPLISHY_SPLASH, MoveId.NO_RETREAT ], + [SpeciesId.SANDILE]: [ MoveId.DIRE_CLAW, MoveId.SUCKER_PUNCH, MoveId.FIRE_LASH, MoveId.HEADLONG_RUSH ], + [SpeciesId.DARUMAKA]: [ MoveId.DRAIN_PUNCH, MoveId.ZIPPY_ZAP, MoveId.HEADLONG_RUSH, MoveId.PYRO_BALL ], + [SpeciesId.MARACTUS]: [ MoveId.EARTH_POWER, MoveId.SIZZLY_SLIDE, MoveId.FIERY_DANCE, MoveId.QUIVER_DANCE ], + [SpeciesId.DWEBBLE]: [ MoveId.CRABHAMMER, MoveId.STONE_AXE, MoveId.LEECH_LIFE, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.SCRAGGY]: [ MoveId.SUCKER_PUNCH, MoveId.BULLET_PUNCH, MoveId.NOXIOUS_TORQUE, MoveId.VICTORY_DANCE ], + [SpeciesId.SIGILYPH]: [ MoveId.MOONBLAST, MoveId.PSYCHO_SHIFT, MoveId.ESPER_WING, MoveId.OBLIVION_WING ], + [SpeciesId.YAMASK]: [ MoveId.STRENGTH_SAP, MoveId.GLARE, MoveId.AURA_SPHERE, MoveId.ASTRAL_BARRAGE ], + [SpeciesId.TIRTOUGA]: [ MoveId.ICE_SPINNER, MoveId.AQUA_STEP, MoveId.SHORE_UP, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.ARCHEN]: [ MoveId.ROOST, MoveId.EARTHQUAKE, MoveId.FLOATY_FALL, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.TRUBBISH]: [ MoveId.COIL, MoveId.RECOVER, MoveId.DIRE_CLAW, MoveId.GIGATON_HAMMER ], + [SpeciesId.ZORUA]: [ MoveId.MALIGNANT_CHAIN, MoveId.MOONBLAST, MoveId.SECRET_SWORD, MoveId.FIERY_WRATH ], + [SpeciesId.MINCCINO]: [ MoveId.ICICLE_SPEAR, MoveId.TIDY_UP, MoveId.KNOCK_OFF, MoveId.POPULATION_BOMB ], + [SpeciesId.GOTHITA]: [ MoveId.RECOVER, MoveId.MOONBLAST, MoveId.AURA_SPHERE, MoveId.LUMINA_CRASH ], + [SpeciesId.SOLOSIS]: [ MoveId.MIST_BALL, MoveId.SPEED_SWAP, MoveId.FLAMETHROWER, MoveId.LIGHT_OF_RUIN ], + [SpeciesId.DUCKLETT]: [ MoveId.SPLISHY_SPLASH, MoveId.SANDSEAR_STORM, MoveId.WILDBOLT_STORM, MoveId.QUIVER_DANCE ], + [SpeciesId.VANILLITE]: [ MoveId.EARTH_POWER, MoveId.AURORA_VEIL, MoveId.CALM_MIND, MoveId.SPARKLY_SWIRL ], + [SpeciesId.DEERLING]: [ MoveId.TIDY_UP, MoveId.HEADBUTT, MoveId.COMBAT_TORQUE, MoveId.FLOWER_TRICK ], + [SpeciesId.EMOLGA]: [ MoveId.ICICLE_CRASH, MoveId.ZING_ZAP, MoveId.FLOATY_FALL, MoveId.ELECTRIFY ], + [SpeciesId.KARRABLAST]: [ MoveId.LEECH_LIFE, MoveId.BITTER_BLADE, MoveId.OBSTRUCT, MoveId.DOUBLE_IRON_BASH ], + [SpeciesId.FOONGUS]: [ MoveId.POLLEN_PUFF, MoveId.PARTING_SHOT, MoveId.FOUL_PLAY, MoveId.SAPPY_SEED ], + [SpeciesId.FRILLISH]: [ MoveId.CALM_MIND, MoveId.BUZZY_BUZZ, MoveId.FREEZE_DRY, MoveId.STEAM_ERUPTION ], + [SpeciesId.ALOMOMOLA]: [ MoveId.FLIP_TURN, MoveId.HEART_SWAP, MoveId.GLITZY_GLOW, MoveId.REVIVAL_BLESSING ], + [SpeciesId.JOLTIK]: [ MoveId.WILDBOLT_STORM, MoveId.PARABOLIC_CHARGE, MoveId.EARTH_POWER, MoveId.QUIVER_DANCE ], + [SpeciesId.FERROSEED]: [ MoveId.SYNTHESIS, MoveId.CEASELESS_EDGE, MoveId.SPIKY_SHIELD, MoveId.SAPPY_SEED ], + [SpeciesId.KLINK]: [ MoveId.TRIPLE_AXEL, MoveId.HIGH_HORSEPOWER, MoveId.RECOVER, MoveId.AURA_WHEEL ], + [SpeciesId.TYNAMO]: [ MoveId.SCALD, MoveId.STRENGTH_SAP, MoveId.FIRE_LASH, MoveId.AURA_WHEEL ], + [SpeciesId.ELGYEM]: [ MoveId.THUNDERCLAP, MoveId.BADDY_BAD, MoveId.AURA_SPHERE, MoveId.PHOTON_GEYSER ], + [SpeciesId.LITWICK]: [ MoveId.GIGA_DRAIN, MoveId.EARTH_POWER, MoveId.MOONBLAST, MoveId.TORCH_SONG ], + [SpeciesId.AXEW]: [ MoveId.STONE_AXE, MoveId.DIRE_CLAW, MoveId.BITTER_BLADE, MoveId.GLAIVE_RUSH ], + [SpeciesId.CUBCHOO]: [ MoveId.MOUNTAIN_GALE, MoveId.AQUA_STEP, MoveId.ICE_SHARD, MoveId.COLLISION_COURSE ], + [SpeciesId.CRYOGONAL]: [ MoveId.FREEZING_GLARE, MoveId.AURORA_VEIL, MoveId.NASTY_PLOT, MoveId.ORIGIN_PULSE ], + [SpeciesId.SHELMET]: [ MoveId.POWER_GEM, MoveId.NASTY_PLOT, MoveId.EARTH_POWER, MoveId.STEAM_ERUPTION ], + [SpeciesId.STUNFISK]: [ MoveId.THUNDERCLAP, MoveId.SANDSEAR_STORM, MoveId.STRENGTH_SAP, MoveId.THUNDER_CAGE ], + [SpeciesId.MIENFOO]: [ MoveId.GUNK_SHOT, MoveId.SUPERCELL_SLAM, MoveId.MOUNTAIN_GALE, MoveId.WICKED_BLOW ], + [SpeciesId.DRUDDIGON]: [ MoveId.FIRE_LASH, MoveId.MORNING_SUN, MoveId.DRAGON_DARTS, MoveId.CLANGOROUS_SOUL ], + [SpeciesId.GOLETT]: [ MoveId.SHIFT_GEAR, MoveId.DRAIN_PUNCH, MoveId.HEADLONG_RUSH, MoveId.RAGE_FIST ], + [SpeciesId.PAWNIARD]: [ MoveId.SUCKER_PUNCH, MoveId.CEASELESS_EDGE, MoveId.BITTER_BLADE, MoveId.LAST_RESPECTS ], + [SpeciesId.BOUFFALANT]: [ MoveId.HORN_LEECH, MoveId.HIGH_JUMP_KICK, MoveId.HEAD_SMASH, MoveId.FLARE_BLITZ ], + [SpeciesId.RUFFLET]: [ MoveId.FLOATY_FALL, MoveId.AURA_SPHERE, MoveId.NO_RETREAT, MoveId.BOLT_BEAK ], + [SpeciesId.VULLABY]: [ MoveId.FOUL_PLAY, MoveId.BODY_PRESS, MoveId.ROOST, MoveId.RUINATION ], + [SpeciesId.HEATMOR]: [ MoveId.EARTH_POWER, MoveId.OVERHEAT, MoveId.THUNDERBOLT, MoveId.V_CREATE ], + [SpeciesId.DURANT]: [ MoveId.HIGH_HORSEPOWER, MoveId.FIRST_IMPRESSION, MoveId.SWORDS_DANCE, MoveId.BEHEMOTH_BASH ], + [SpeciesId.DEINO]: [ MoveId.FIERY_WRATH, MoveId.ESPER_WING, MoveId.SLUDGE_BOMB, MoveId.FICKLE_BEAM ], + [SpeciesId.LARVESTA]: [ MoveId.THUNDERBOLT, MoveId.DAZZLING_GLEAM, MoveId.EARTH_POWER, MoveId.HYDRO_STEAM ], + [SpeciesId.COBALION]: [ MoveId.BEHEMOTH_BLADE, MoveId.MIGHTY_CLEAVE, MoveId.CEASELESS_EDGE, MoveId.VICTORY_DANCE ], + [SpeciesId.TERRAKION]: [ MoveId.MIGHTY_CLEAVE, MoveId.HEADLONG_RUSH, MoveId.KNOCK_OFF, MoveId.VICTORY_DANCE ], + [SpeciesId.VIRIZION]: [ MoveId.SAPPY_SEED, MoveId.PSYBLADE, MoveId.STONE_AXE, MoveId.VICTORY_DANCE ], + [SpeciesId.TORNADUS]: [ MoveId.SANDSEAR_STORM, MoveId.PARTING_SHOT, MoveId.SPLISHY_SPLASH, MoveId.OBLIVION_WING ], + [SpeciesId.THUNDURUS]: [ MoveId.SANDSEAR_STORM, MoveId.HURRICANE, MoveId.FROST_BREATH, MoveId.ELECTRO_SHOT ], + [SpeciesId.RESHIRAM]: [ MoveId.ENERGY_BALL, MoveId.TAKE_HEART, MoveId.FICKLE_BEAM, MoveId.ERUPTION ], + [SpeciesId.ZEKROM]: [ MoveId.TRIPLE_AXEL, MoveId.THUNDEROUS_KICK, MoveId.DRAGON_HAMMER, MoveId.DRAGON_ENERGY ], + [SpeciesId.LANDORUS]: [ MoveId.STONE_AXE, MoveId.FLOATY_FALL, MoveId.ROOST, MoveId.BLEAKWIND_STORM ], + [SpeciesId.KYUREM]: [ MoveId.DRAGON_DARTS, MoveId.GLACIAL_LANCE, MoveId.NO_RETREAT, MoveId.DRAGON_ENERGY ], + [SpeciesId.KELDEO]: [ MoveId.BOUNCY_BUBBLE, MoveId.THUNDERBOLT, MoveId.ICE_BEAM, MoveId.STEAM_ERUPTION ], + [SpeciesId.MELOETTA]: [ MoveId.BODY_SLAM, MoveId.PSYCHIC_NOISE, MoveId.TRIPLE_ARROWS, MoveId.TORCH_SONG ], + [SpeciesId.GENESECT]: [ MoveId.EXTREME_SPEED, MoveId.SHIFT_GEAR, MoveId.BEHEMOTH_BASH, MoveId.TACHYON_CUTTER ], - [Species.CHESPIN]: [ Moves.COMBAT_TORQUE, Moves.SYNTHESIS, Moves.CEASELESS_EDGE, Moves.SAPPY_SEED ], - [Species.FENNEKIN]: [ Moves.TWIN_BEAM, Moves.FIERY_DANCE, Moves.THUNDERBOLT, Moves.SPARKLY_SWIRL ], - [Species.FROAKIE]: [ Moves.MOONBLAST, Moves.SHELL_SIDE_ARM, Moves.FIERY_WRATH, Moves.STEAM_ERUPTION ], - [Species.BUNNELBY]: [ Moves.DRAIN_PUNCH, Moves.TIDY_UP, Moves.LANDS_WRATH, Moves.EXTREME_SPEED ], - [Species.FLETCHLING]: [ Moves.DRILL_RUN, Moves.BURNING_BULWARK, Moves.HEAD_SMASH, Moves.VOLT_TACKLE ], - [Species.SCATTERBUG]: [ Moves.FOCUS_BLAST, Moves.AFTER_YOU, Moves.DECORATE, Moves.BLIZZARD ], - [Species.LITLEO]: [ Moves.EARTH_POWER, Moves.NASTY_PLOT, Moves.BURNING_BULWARK, Moves.BLUE_FLARE ], - [Species.FLABEBE]: [ Moves.GLITZY_GLOW, Moves.MYSTICAL_FIRE, Moves.TAKE_HEART, Moves.SEED_FLARE ], - [Species.SKIDDO]: [ Moves.HIGH_HORSEPOWER, Moves.GRASSY_GLIDE, Moves.STONE_AXE, Moves.SAPPY_SEED ], - [Species.PANCHAM]: [ Moves.DRAIN_PUNCH, Moves.SUCKER_PUNCH, Moves.METEOR_MASH, Moves.WICKED_BLOW ], - [Species.FURFROU]: [ Moves.TIDY_UP, Moves.SLACK_OFF, Moves.COMBAT_TORQUE, Moves.MULTI_ATTACK ], - [Species.ESPURR]: [ Moves.LUSTER_PURGE, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.DARK_VOID ], - [Species.HONEDGE]: [ Moves.TACHYON_CUTTER, Moves.SHADOW_BONE, Moves.BITTER_BLADE, Moves.BEHEMOTH_BLADE ], - [Species.SPRITZEE]: [ Moves.SPEED_SWAP, Moves.REVIVAL_BLESSING, Moves.ROOST, Moves.TORCH_SONG ], - [Species.SWIRLIX]: [ Moves.BELLY_DRUM, Moves.HEADLONG_RUSH, Moves.MAGICAL_TORQUE, Moves.REVIVAL_BLESSING ], - [Species.INKAY]: [ Moves.POWER_TRIP, Moves.SPIN_OUT, Moves.RECOVER, Moves.PSYCHO_BOOST ], - [Species.BINACLE]: [ Moves.TRIPLE_AXEL, Moves.CRABHAMMER, Moves.DIRE_CLAW, Moves.MIGHTY_CLEAVE ], - [Species.SKRELP]: [ Moves.STRENGTH_SAP, Moves.TRICK_ROOM, Moves.CALM_MIND, Moves.CORE_ENFORCER ], - [Species.CLAUNCHER]: [ Moves.SHELL_SMASH, Moves.ARMOR_CANNON, Moves.ENERGY_BALL, Moves.ORIGIN_PULSE ], - [Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.HYDRO_STEAM, Moves.EARTH_POWER, Moves.BOOMBURST ], - [Species.TYRUNT]: [ Moves.DRAGON_HAMMER, Moves.FLARE_BLITZ, Moves.VOLT_TACKLE, Moves.SHIFT_GEAR ], - [Species.AMAURA]: [ Moves.RECOVER, Moves.TERA_STARSTORM, Moves.POWER_GEM, Moves.GEOMANCY ], - [Species.HAWLUCHA]: [ Moves.TRIPLE_AXEL, Moves.HIGH_HORSEPOWER, Moves.FLOATY_FALL, Moves.WICKED_BLOW ], - [Species.DEDENNE]: [ Moves.BOOMBURST, Moves.FAKE_OUT, Moves.NASTY_PLOT, Moves.REVIVAL_BLESSING ], - [Species.CARBINK]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SPARKLY_SWIRL, Moves.DIAMOND_STORM ], - [Species.GOOMY]: [ Moves.DRAGON_HAMMER, Moves.RECOVER, Moves.CALM_MIND, Moves.MAKE_IT_RAIN ], - [Species.KLEFKI]: [ Moves.HEAL_BELL, Moves.ENCORE, Moves.INSTRUCT, Moves.TOPSY_TURVY ], - [Species.PHANTUMP]: [ Moves.RAGE_FIST, Moves.SLEEP_POWDER, Moves.BULK_UP, Moves.SAPPY_SEED ], - [Species.PUMPKABOO]: [ Moves.SPIRIT_SHACKLE, Moves.FIRE_LASH, Moves.DIRE_CLAW, Moves.SAPPY_SEED ], - [Species.BERGMITE]: [ Moves.STONE_AXE, Moves.METAL_BURST, Moves.BODY_PRESS, Moves.GLACIAL_LANCE ], - [Species.NOIBAT]: [ Moves.AEROBLAST, Moves.OVERDRIVE, Moves.NASTY_PLOT, Moves.CLANGING_SCALES ], - [Species.XERNEAS]: [ Moves.EARTH_POWER, Moves.SPRINGTIDE_STORM, Moves.STORED_POWER, Moves.STRENGTH_SAP ], - [Species.YVELTAL]: [ Moves.SLUDGE_WAVE, Moves.POWER_TRIP, Moves.FIERY_WRATH, Moves.CLANGOROUS_SOUL ], - [Species.ZYGARDE]: [ Moves.DRAGON_DARTS, Moves.V_CREATE, Moves.CLANGOROUS_SOUL, Moves.HEAL_ORDER ], - [Species.DIANCIE]: [ Moves.MAGICAL_TORQUE, Moves.FIERY_DANCE, Moves.SHORE_UP, Moves.GEOMANCY ], - [Species.HOOPA]: [ Moves.PHOTON_GEYSER, Moves.SECRET_SWORD, Moves.FIERY_WRATH, Moves.SHELL_SMASH ], - [Species.VOLCANION]: [ Moves.HYDRO_STEAM, Moves.CALM_MIND, Moves.SEARING_SHOT, Moves.THUNDERCLAP ], - [Species.ETERNAL_FLOETTE]: [ Moves.MIND_BLOWN, Moves.CHLOROBLAST, Moves.LUSTER_PURGE, Moves.QUIVER_DANCE ], + [SpeciesId.CHESPIN]: [ MoveId.COMBAT_TORQUE, MoveId.SYNTHESIS, MoveId.CEASELESS_EDGE, MoveId.SAPPY_SEED ], + [SpeciesId.FENNEKIN]: [ MoveId.TWIN_BEAM, MoveId.FIERY_DANCE, MoveId.THUNDERBOLT, MoveId.SPARKLY_SWIRL ], + [SpeciesId.FROAKIE]: [ MoveId.MOONBLAST, MoveId.SHELL_SIDE_ARM, MoveId.FIERY_WRATH, MoveId.STEAM_ERUPTION ], + [SpeciesId.BUNNELBY]: [ MoveId.DRAIN_PUNCH, MoveId.TIDY_UP, MoveId.LANDS_WRATH, MoveId.EXTREME_SPEED ], + [SpeciesId.FLETCHLING]: [ MoveId.DRILL_RUN, MoveId.BURNING_BULWARK, MoveId.HEAD_SMASH, MoveId.VOLT_TACKLE ], + [SpeciesId.SCATTERBUG]: [ MoveId.FOCUS_BLAST, MoveId.AFTER_YOU, MoveId.DECORATE, MoveId.BLIZZARD ], + [SpeciesId.LITLEO]: [ MoveId.EARTH_POWER, MoveId.NASTY_PLOT, MoveId.BURNING_BULWARK, MoveId.BLUE_FLARE ], + [SpeciesId.FLABEBE]: [ MoveId.GLITZY_GLOW, MoveId.MYSTICAL_FIRE, MoveId.TAKE_HEART, MoveId.SEED_FLARE ], + [SpeciesId.SKIDDO]: [ MoveId.HIGH_HORSEPOWER, MoveId.GRASSY_GLIDE, MoveId.STONE_AXE, MoveId.SAPPY_SEED ], + [SpeciesId.PANCHAM]: [ MoveId.DRAIN_PUNCH, MoveId.SUCKER_PUNCH, MoveId.METEOR_MASH, MoveId.WICKED_BLOW ], + [SpeciesId.FURFROU]: [ MoveId.TIDY_UP, MoveId.SLACK_OFF, MoveId.COMBAT_TORQUE, MoveId.MULTI_ATTACK ], + [SpeciesId.ESPURR]: [ MoveId.LUSTER_PURGE, MoveId.MOONBLAST, MoveId.AURA_SPHERE, MoveId.DARK_VOID ], + [SpeciesId.HONEDGE]: [ MoveId.TACHYON_CUTTER, MoveId.SHADOW_BONE, MoveId.BITTER_BLADE, MoveId.BEHEMOTH_BLADE ], + [SpeciesId.SPRITZEE]: [ MoveId.SPEED_SWAP, MoveId.REVIVAL_BLESSING, MoveId.ROOST, MoveId.TORCH_SONG ], + [SpeciesId.SWIRLIX]: [ MoveId.BELLY_DRUM, MoveId.HEADLONG_RUSH, MoveId.MAGICAL_TORQUE, MoveId.REVIVAL_BLESSING ], + [SpeciesId.INKAY]: [ MoveId.POWER_TRIP, MoveId.SPIN_OUT, MoveId.RECOVER, MoveId.PSYCHO_BOOST ], + [SpeciesId.BINACLE]: [ MoveId.TRIPLE_AXEL, MoveId.CRABHAMMER, MoveId.DIRE_CLAW, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.SKRELP]: [ MoveId.STRENGTH_SAP, MoveId.TRICK_ROOM, MoveId.CALM_MIND, MoveId.CORE_ENFORCER ], + [SpeciesId.CLAUNCHER]: [ MoveId.SHELL_SMASH, MoveId.ARMOR_CANNON, MoveId.ENERGY_BALL, MoveId.ORIGIN_PULSE ], + [SpeciesId.HELIOPTILE]: [ MoveId.WEATHER_BALL, MoveId.HYDRO_STEAM, MoveId.EARTH_POWER, MoveId.BOOMBURST ], + [SpeciesId.TYRUNT]: [ MoveId.DRAGON_HAMMER, MoveId.FLARE_BLITZ, MoveId.VOLT_TACKLE, MoveId.SHIFT_GEAR ], + [SpeciesId.AMAURA]: [ MoveId.RECOVER, MoveId.TERA_STARSTORM, MoveId.POWER_GEM, MoveId.GEOMANCY ], + [SpeciesId.HAWLUCHA]: [ MoveId.TRIPLE_AXEL, MoveId.HIGH_HORSEPOWER, MoveId.FLOATY_FALL, MoveId.WICKED_BLOW ], + [SpeciesId.DEDENNE]: [ MoveId.BOOMBURST, MoveId.FAKE_OUT, MoveId.NASTY_PLOT, MoveId.REVIVAL_BLESSING ], + [SpeciesId.CARBINK]: [ MoveId.BODY_PRESS, MoveId.SHORE_UP, MoveId.SPARKLY_SWIRL, MoveId.DIAMOND_STORM ], + [SpeciesId.GOOMY]: [ MoveId.DRAGON_HAMMER, MoveId.RECOVER, MoveId.CALM_MIND, MoveId.MAKE_IT_RAIN ], + [SpeciesId.KLEFKI]: [ MoveId.HEAL_BELL, MoveId.ENCORE, MoveId.INSTRUCT, MoveId.TOPSY_TURVY ], + [SpeciesId.PHANTUMP]: [ MoveId.RAGE_FIST, MoveId.SLEEP_POWDER, MoveId.BULK_UP, MoveId.SAPPY_SEED ], + [SpeciesId.PUMPKABOO]: [ MoveId.SPIRIT_SHACKLE, MoveId.FIRE_LASH, MoveId.DIRE_CLAW, MoveId.SAPPY_SEED ], + [SpeciesId.BERGMITE]: [ MoveId.STONE_AXE, MoveId.METAL_BURST, MoveId.BODY_PRESS, MoveId.GLACIAL_LANCE ], + [SpeciesId.NOIBAT]: [ MoveId.AEROBLAST, MoveId.OVERDRIVE, MoveId.NASTY_PLOT, MoveId.CLANGING_SCALES ], + [SpeciesId.XERNEAS]: [ MoveId.EARTH_POWER, MoveId.SPRINGTIDE_STORM, MoveId.STORED_POWER, MoveId.STRENGTH_SAP ], + [SpeciesId.YVELTAL]: [ MoveId.SLUDGE_WAVE, MoveId.POWER_TRIP, MoveId.FIERY_WRATH, MoveId.CLANGOROUS_SOUL ], + [SpeciesId.ZYGARDE]: [ MoveId.DRAGON_DARTS, MoveId.V_CREATE, MoveId.CLANGOROUS_SOUL, MoveId.HEAL_ORDER ], + [SpeciesId.DIANCIE]: [ MoveId.MAGICAL_TORQUE, MoveId.FIERY_DANCE, MoveId.SHORE_UP, MoveId.GEOMANCY ], + [SpeciesId.HOOPA]: [ MoveId.PHOTON_GEYSER, MoveId.SECRET_SWORD, MoveId.FIERY_WRATH, MoveId.SHELL_SMASH ], + [SpeciesId.VOLCANION]: [ MoveId.HYDRO_STEAM, MoveId.CALM_MIND, MoveId.SEARING_SHOT, MoveId.THUNDERCLAP ], + [SpeciesId.ETERNAL_FLOETTE]: [ MoveId.MIND_BLOWN, MoveId.CHLOROBLAST, MoveId.LUSTER_PURGE, MoveId.QUIVER_DANCE ], - [Species.ROWLET]: [ Moves.THOUSAND_ARROWS, Moves.SHADOW_BONE, Moves.FIRST_IMPRESSION, Moves.VICTORY_DANCE ], - [Species.LITTEN]: [ Moves.SUCKER_PUNCH, Moves.PARTING_SHOT, Moves.SLACK_OFF, Moves.SACRED_FIRE ], - [Species.POPPLIO]: [ Moves.PSYCHIC_NOISE, Moves.MOONLIGHT, Moves.OVERDRIVE, Moves.TORCH_SONG ], - [Species.PIKIPEK]: [ Moves.DUAL_WINGBEAT, Moves.BONE_RUSH, Moves.BURNING_BULWARK, Moves.POPULATION_BOMB ], - [Species.YUNGOOS]: [ Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.TIDY_UP, Moves.MULTI_ATTACK ], - [Species.GRUBBIN]: [ Moves.ICE_BEAM, Moves.EARTH_POWER, Moves.CALM_MIND, Moves.THUNDERCLAP ], - [Species.CRABRAWLER]: [ Moves.JET_PUNCH, Moves.SHORE_UP, Moves.MACH_PUNCH, Moves.SURGING_STRIKES ], - [Species.ORICORIO]: [ Moves.QUIVER_DANCE, Moves.FIERY_DANCE, Moves.THUNDERCLAP, Moves.OBLIVION_WING ], - [Species.CUTIEFLY]: [ Moves.STICKY_WEB, Moves.SLEEP_POWDER, Moves.HEAT_WAVE, Moves.SPARKLY_SWIRL ], - [Species.ROCKRUFF]: [ Moves.HIGH_HORSEPOWER, Moves.TIDY_UP, Moves.ICE_SPINNER, Moves.MIGHTY_CLEAVE ], - [Species.WISHIWASHI]: [ Moves.HEAL_ORDER, Moves.FREEZE_DRY, Moves.WATER_SHURIKEN, Moves.TAIL_GLOW ], - [Species.MAREANIE]: [ Moves.CEASELESS_EDGE, Moves.SIZZLY_SLIDE, Moves.BODY_PRESS, Moves.LEECH_SEED ], - [Species.MUDBRAY]: [ Moves.BODY_PRESS, Moves.YAWN, Moves.SHORE_UP, Moves.THOUSAND_WAVES ], - [Species.DEWPIDER]: [ Moves.AQUA_STEP, Moves.SILK_TRAP, Moves.SWORDS_DANCE, Moves.JET_PUNCH ], - [Species.FOMANTIS]: [ Moves.SUPERPOWER, Moves.HEADLONG_RUSH, Moves.ICE_HAMMER, Moves.BITTER_BLADE ], - [Species.MORELULL]: [ Moves.CALM_MIND, Moves.SAPPY_SEED, Moves.DRAINING_KISS, Moves.MATCHA_GOTCHA ], - [Species.SALANDIT]: [ Moves.SCALD, Moves.MALIGNANT_CHAIN, Moves.CORE_ENFORCER, Moves.ERUPTION ], - [Species.STUFFUL]: [ Moves.DRAIN_PUNCH, Moves.METEOR_MASH, Moves.TRIPLE_AXEL, Moves.RAGE_FIST ], - [Species.BOUNSWEET]: [ Moves.TRIPLE_AXEL, Moves.AQUA_STEP, Moves.THUNDEROUS_KICK, Moves.SAPPY_SEED ], - [Species.COMFEY]: [ Moves.REVIVAL_BLESSING, Moves.TAKE_HEART, Moves.STRENGTH_SAP, Moves.MATCHA_GOTCHA ], - [Species.ORANGURU]: [ Moves.JUNGLE_HEALING, Moves.YAWN, Moves.FOLLOW_ME, Moves.LUMINA_CRASH ], - [Species.PASSIMIAN]: [ Moves.PYRO_BALL, Moves.SUCKER_PUNCH, Moves.ZING_ZAP, Moves.VICTORY_DANCE ], - [Species.WIMPOD]: [ Moves.TRIPLE_AXEL, Moves.OBSTRUCT, Moves.JET_PUNCH, Moves.SURGING_STRIKES ], - [Species.SANDYGAST]: [ Moves.BITTER_MALICE, Moves.SPLISHY_SPLASH, Moves.TAKE_HEART, Moves.SALT_CURE ], - [Species.PYUKUMUKU]: [ Moves.COMEUPPANCE, Moves.BANEFUL_BUNKER, Moves.TOXIC_SPIKES, Moves.SALT_CURE ], - [Species.TYPE_NULL]: [ Moves.DIRE_CLAW, Moves.RECOVER, Moves.COMBAT_TORQUE, Moves.NO_RETREAT ], - [Species.MINIOR]: [ Moves.EARTH_POWER, Moves.FLOATY_FALL, Moves.TRI_ATTACK, Moves.DIAMOND_STORM ], - [Species.KOMALA]: [ Moves.SLACK_OFF, Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.COLLISION_COURSE ], - [Species.TURTONATOR]: [ Moves.BURNING_BULWARK, Moves.MORNING_SUN, Moves.BODY_PRESS, Moves.CORE_ENFORCER ], - [Species.TOGEDEMARU]: [ Moves.FAKE_OUT, Moves.METAL_BURST, Moves.METEOR_MASH, Moves.AURA_WHEEL ], - [Species.MIMIKYU]: [ Moves.SPIRIT_BREAK, Moves.TIDY_UP, Moves.FIRE_LASH, Moves.SPECTRAL_THIEF ], - [Species.BRUXISH]: [ Moves.PLAY_ROUGH, Moves.FIRE_FANG, Moves.DRAGON_DANCE, Moves.SURGING_STRIKES ], - [Species.DRAMPA]: [ Moves.SLACK_OFF, Moves.TRICK_ROOM, Moves.CORE_ENFORCER, Moves.BOOMBURST ], - [Species.DHELMISE]: [ Moves.SHADOW_BONE, Moves.IVY_CUDGEL, Moves.TRIPLE_DIVE, Moves.STRENGTH_SAP ], - [Species.JANGMO_O]: [ Moves.BODY_PRESS, Moves.SHELL_SIDE_ARM, Moves.SECRET_SWORD, Moves.GLAIVE_RUSH ], - [Species.TAPU_KOKO]: [ Moves.MAGICAL_TORQUE, Moves.TRIPLE_AXEL, Moves.SWORDS_DANCE, Moves.BOLT_STRIKE ], - [Species.TAPU_LELE]: [ Moves.MOONLIGHT, Moves.NASTY_PLOT, Moves.HEAT_WAVE, Moves.EXPANDING_FORCE ], - [Species.TAPU_BULU]: [ Moves.SAPPY_SEED, Moves.LANDS_WRATH, Moves.MAGICAL_TORQUE, Moves.VICTORY_DANCE ], - [Species.TAPU_FINI]: [ Moves.SPRINGTIDE_STORM, Moves.EARTH_POWER, Moves.RECOVER, Moves.QUIVER_DANCE ], - [Species.COSMOG]: [ Moves.PHOTON_GEYSER, Moves.PRECIPICE_BLADES, Moves.SACRED_FIRE, Moves.ASTRAL_BARRAGE ], - [Species.NIHILEGO]: [ Moves.STRENGTH_SAP, Moves.MALIGNANT_CHAIN, Moves.EARTH_POWER, Moves.QUIVER_DANCE ], - [Species.BUZZWOLE]: [ Moves.FIRST_IMPRESSION, Moves.COMBAT_TORQUE, Moves.ROCK_BLAST, Moves.DOUBLE_IRON_BASH ], - [Species.PHEROMOSA]: [ Moves.SECRET_SWORD, Moves.MAKE_IT_RAIN, Moves.ATTACK_ORDER, Moves.DIAMOND_STORM ], - [Species.XURKITREE]: [ Moves.FLAMETHROWER, Moves.GIGA_DRAIN, Moves.TAIL_GLOW, Moves.THUNDERCLAP ], - [Species.CELESTEELA]: [ Moves.RECOVER, Moves.BUZZY_BUZZ, Moves.EARTH_POWER, Moves.OBLIVION_WING ], - [Species.KARTANA]: [ Moves.MIGHTY_CLEAVE, Moves.DUAL_CHOP, Moves.BITTER_BLADE, Moves.BEHEMOTH_BLADE ], - [Species.GUZZLORD]: [ Moves.SUCKER_PUNCH, Moves.COMEUPPANCE, Moves.SLACK_OFF, Moves.SHED_TAIL ], - [Species.NECROZMA]: [ Moves.DYNAMAX_CANNON, Moves.SACRED_FIRE, Moves.ASTRAL_BARRAGE, Moves.CLANGOROUS_SOUL ], - [Species.MAGEARNA]: [ Moves.STRENGTH_SAP, Moves.EARTH_POWER, Moves.MOONBLAST, Moves.MAKE_IT_RAIN ], - [Species.MARSHADOW]: [ Moves.POWER_UP_PUNCH, Moves.BONEMERANG, Moves.METEOR_MASH, Moves.TRIPLE_AXEL ], - [Species.POIPOLE]: [ Moves.MALIGNANT_CHAIN, Moves.ICE_BEAM, Moves.ARMOR_CANNON, Moves.CLANGING_SCALES ], - [Species.STAKATAKA]: [ Moves.HEAVY_SLAM, Moves.SHORE_UP, Moves.CURSE, Moves.SALT_CURE ], - [Species.BLACEPHALON]: [ Moves.STEEL_BEAM, Moves.MOONBLAST, Moves.CHLOROBLAST, Moves.MOONGEIST_BEAM ], - [Species.ZERAORA]: [ Moves.SWORDS_DANCE, Moves.U_TURN, Moves.COLLISION_COURSE, Moves.TRIPLE_AXEL ], - [Species.MELTAN]: [ Moves.BULLET_PUNCH, Moves.DRAIN_PUNCH, Moves.BULK_UP, Moves.PLASMA_FISTS ], - [Species.ALOLA_RATTATA]: [ Moves.FALSE_SURRENDER, Moves.PSYCHIC_FANGS, Moves.COIL, Moves.EXTREME_SPEED ], - [Species.ALOLA_SANDSHREW]: [ Moves.SPIKY_SHIELD, Moves.LIQUIDATION, Moves.SHIFT_GEAR, Moves.GLACIAL_LANCE ], - [Species.ALOLA_VULPIX]: [ Moves.MOONBLAST, Moves.GLARE, Moves.MYSTICAL_FIRE, Moves.REVIVAL_BLESSING ], - [Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.PYRO_BALL ], - [Species.ALOLA_MEOWTH]: [ Moves.BADDY_BAD, Moves.BUZZY_BUZZ, Moves.PARTING_SHOT, Moves.MAKE_IT_RAIN ], - [Species.ALOLA_GEODUDE]: [ Moves.THOUSAND_WAVES, Moves.BULK_UP, Moves.STONE_AXE, Moves.EXTREME_SPEED ], - [Species.ALOLA_GRIMER]: [ Moves.SUCKER_PUNCH, Moves.BARB_BARRAGE, Moves.RECOVER, Moves.SURGING_STRIKES ], + [SpeciesId.ROWLET]: [ MoveId.THOUSAND_ARROWS, MoveId.SHADOW_BONE, MoveId.FIRST_IMPRESSION, MoveId.VICTORY_DANCE ], + [SpeciesId.LITTEN]: [ MoveId.SUCKER_PUNCH, MoveId.PARTING_SHOT, MoveId.SLACK_OFF, MoveId.SACRED_FIRE ], + [SpeciesId.POPPLIO]: [ MoveId.PSYCHIC_NOISE, MoveId.MOONLIGHT, MoveId.OVERDRIVE, MoveId.TORCH_SONG ], + [SpeciesId.PIKIPEK]: [ MoveId.DUAL_WINGBEAT, MoveId.BONE_RUSH, MoveId.BURNING_BULWARK, MoveId.POPULATION_BOMB ], + [SpeciesId.YUNGOOS]: [ MoveId.EXTREME_SPEED, MoveId.KNOCK_OFF, MoveId.TIDY_UP, MoveId.MULTI_ATTACK ], + [SpeciesId.GRUBBIN]: [ MoveId.ICE_BEAM, MoveId.EARTH_POWER, MoveId.CALM_MIND, MoveId.THUNDERCLAP ], + [SpeciesId.CRABRAWLER]: [ MoveId.JET_PUNCH, MoveId.SHORE_UP, MoveId.MACH_PUNCH, MoveId.SURGING_STRIKES ], + [SpeciesId.ORICORIO]: [ MoveId.QUIVER_DANCE, MoveId.FIERY_DANCE, MoveId.THUNDERCLAP, MoveId.OBLIVION_WING ], + [SpeciesId.CUTIEFLY]: [ MoveId.STICKY_WEB, MoveId.SLEEP_POWDER, MoveId.HEAT_WAVE, MoveId.SPARKLY_SWIRL ], + [SpeciesId.ROCKRUFF]: [ MoveId.HIGH_HORSEPOWER, MoveId.TIDY_UP, MoveId.ICE_SPINNER, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.WISHIWASHI]: [ MoveId.HEAL_ORDER, MoveId.FREEZE_DRY, MoveId.WATER_SHURIKEN, MoveId.TAIL_GLOW ], + [SpeciesId.MAREANIE]: [ MoveId.CEASELESS_EDGE, MoveId.SIZZLY_SLIDE, MoveId.BODY_PRESS, MoveId.LEECH_SEED ], + [SpeciesId.MUDBRAY]: [ MoveId.BODY_PRESS, MoveId.YAWN, MoveId.SHORE_UP, MoveId.THOUSAND_WAVES ], + [SpeciesId.DEWPIDER]: [ MoveId.AQUA_STEP, MoveId.SILK_TRAP, MoveId.SWORDS_DANCE, MoveId.JET_PUNCH ], + [SpeciesId.FOMANTIS]: [ MoveId.SUPERPOWER, MoveId.HEADLONG_RUSH, MoveId.ICE_HAMMER, MoveId.BITTER_BLADE ], + [SpeciesId.MORELULL]: [ MoveId.CALM_MIND, MoveId.SAPPY_SEED, MoveId.DRAINING_KISS, MoveId.MATCHA_GOTCHA ], + [SpeciesId.SALANDIT]: [ MoveId.SCALD, MoveId.MALIGNANT_CHAIN, MoveId.CORE_ENFORCER, MoveId.ERUPTION ], + [SpeciesId.STUFFUL]: [ MoveId.DRAIN_PUNCH, MoveId.METEOR_MASH, MoveId.TRIPLE_AXEL, MoveId.RAGE_FIST ], + [SpeciesId.BOUNSWEET]: [ MoveId.TRIPLE_AXEL, MoveId.AQUA_STEP, MoveId.THUNDEROUS_KICK, MoveId.SAPPY_SEED ], + [SpeciesId.COMFEY]: [ MoveId.REVIVAL_BLESSING, MoveId.TAKE_HEART, MoveId.STRENGTH_SAP, MoveId.MATCHA_GOTCHA ], + [SpeciesId.ORANGURU]: [ MoveId.JUNGLE_HEALING, MoveId.YAWN, MoveId.FOLLOW_ME, MoveId.LUMINA_CRASH ], + [SpeciesId.PASSIMIAN]: [ MoveId.PYRO_BALL, MoveId.SUCKER_PUNCH, MoveId.ZING_ZAP, MoveId.VICTORY_DANCE ], + [SpeciesId.WIMPOD]: [ MoveId.TRIPLE_AXEL, MoveId.OBSTRUCT, MoveId.JET_PUNCH, MoveId.SURGING_STRIKES ], + [SpeciesId.SANDYGAST]: [ MoveId.BITTER_MALICE, MoveId.SPLISHY_SPLASH, MoveId.TAKE_HEART, MoveId.SALT_CURE ], + [SpeciesId.PYUKUMUKU]: [ MoveId.COMEUPPANCE, MoveId.BANEFUL_BUNKER, MoveId.TOXIC_SPIKES, MoveId.SALT_CURE ], + [SpeciesId.TYPE_NULL]: [ MoveId.DIRE_CLAW, MoveId.RECOVER, MoveId.COMBAT_TORQUE, MoveId.NO_RETREAT ], + [SpeciesId.MINIOR]: [ MoveId.EARTH_POWER, MoveId.FLOATY_FALL, MoveId.TRI_ATTACK, MoveId.DIAMOND_STORM ], + [SpeciesId.KOMALA]: [ MoveId.SLACK_OFF, MoveId.EXTREME_SPEED, MoveId.KNOCK_OFF, MoveId.COLLISION_COURSE ], + [SpeciesId.TURTONATOR]: [ MoveId.BURNING_BULWARK, MoveId.MORNING_SUN, MoveId.BODY_PRESS, MoveId.CORE_ENFORCER ], + [SpeciesId.TOGEDEMARU]: [ MoveId.FAKE_OUT, MoveId.METAL_BURST, MoveId.METEOR_MASH, MoveId.AURA_WHEEL ], + [SpeciesId.MIMIKYU]: [ MoveId.SPIRIT_BREAK, MoveId.TIDY_UP, MoveId.FIRE_LASH, MoveId.SPECTRAL_THIEF ], + [SpeciesId.BRUXISH]: [ MoveId.PLAY_ROUGH, MoveId.FIRE_FANG, MoveId.DRAGON_DANCE, MoveId.SURGING_STRIKES ], + [SpeciesId.DRAMPA]: [ MoveId.SLACK_OFF, MoveId.TRICK_ROOM, MoveId.CORE_ENFORCER, MoveId.BOOMBURST ], + [SpeciesId.DHELMISE]: [ MoveId.SHADOW_BONE, MoveId.IVY_CUDGEL, MoveId.TRIPLE_DIVE, MoveId.STRENGTH_SAP ], + [SpeciesId.JANGMO_O]: [ MoveId.BODY_PRESS, MoveId.SHELL_SIDE_ARM, MoveId.SECRET_SWORD, MoveId.GLAIVE_RUSH ], + [SpeciesId.TAPU_KOKO]: [ MoveId.MAGICAL_TORQUE, MoveId.TRIPLE_AXEL, MoveId.SWORDS_DANCE, MoveId.BOLT_STRIKE ], + [SpeciesId.TAPU_LELE]: [ MoveId.MOONLIGHT, MoveId.NASTY_PLOT, MoveId.HEAT_WAVE, MoveId.EXPANDING_FORCE ], + [SpeciesId.TAPU_BULU]: [ MoveId.SAPPY_SEED, MoveId.LANDS_WRATH, MoveId.MAGICAL_TORQUE, MoveId.VICTORY_DANCE ], + [SpeciesId.TAPU_FINI]: [ MoveId.SPRINGTIDE_STORM, MoveId.EARTH_POWER, MoveId.RECOVER, MoveId.QUIVER_DANCE ], + [SpeciesId.COSMOG]: [ MoveId.PHOTON_GEYSER, MoveId.PRECIPICE_BLADES, MoveId.SACRED_FIRE, MoveId.ASTRAL_BARRAGE ], + [SpeciesId.NIHILEGO]: [ MoveId.STRENGTH_SAP, MoveId.MALIGNANT_CHAIN, MoveId.EARTH_POWER, MoveId.QUIVER_DANCE ], + [SpeciesId.BUZZWOLE]: [ MoveId.FIRST_IMPRESSION, MoveId.COMBAT_TORQUE, MoveId.ROCK_BLAST, MoveId.DOUBLE_IRON_BASH ], + [SpeciesId.PHEROMOSA]: [ MoveId.SECRET_SWORD, MoveId.MAKE_IT_RAIN, MoveId.ATTACK_ORDER, MoveId.DIAMOND_STORM ], + [SpeciesId.XURKITREE]: [ MoveId.FLAMETHROWER, MoveId.GIGA_DRAIN, MoveId.TAIL_GLOW, MoveId.THUNDERCLAP ], + [SpeciesId.CELESTEELA]: [ MoveId.RECOVER, MoveId.BUZZY_BUZZ, MoveId.EARTH_POWER, MoveId.OBLIVION_WING ], + [SpeciesId.KARTANA]: [ MoveId.MIGHTY_CLEAVE, MoveId.DUAL_CHOP, MoveId.BITTER_BLADE, MoveId.BEHEMOTH_BLADE ], + [SpeciesId.GUZZLORD]: [ MoveId.SUCKER_PUNCH, MoveId.COMEUPPANCE, MoveId.SLACK_OFF, MoveId.SHED_TAIL ], + [SpeciesId.NECROZMA]: [ MoveId.DYNAMAX_CANNON, MoveId.SACRED_FIRE, MoveId.ASTRAL_BARRAGE, MoveId.CLANGOROUS_SOUL ], + [SpeciesId.MAGEARNA]: [ MoveId.STRENGTH_SAP, MoveId.EARTH_POWER, MoveId.MOONBLAST, MoveId.MAKE_IT_RAIN ], + [SpeciesId.MARSHADOW]: [ MoveId.POWER_UP_PUNCH, MoveId.BONEMERANG, MoveId.METEOR_MASH, MoveId.TRIPLE_AXEL ], + [SpeciesId.POIPOLE]: [ MoveId.MALIGNANT_CHAIN, MoveId.ICE_BEAM, MoveId.ARMOR_CANNON, MoveId.CLANGING_SCALES ], + [SpeciesId.STAKATAKA]: [ MoveId.HEAVY_SLAM, MoveId.SHORE_UP, MoveId.CURSE, MoveId.SALT_CURE ], + [SpeciesId.BLACEPHALON]: [ MoveId.STEEL_BEAM, MoveId.MOONBLAST, MoveId.CHLOROBLAST, MoveId.MOONGEIST_BEAM ], + [SpeciesId.ZERAORA]: [ MoveId.SWORDS_DANCE, MoveId.U_TURN, MoveId.COLLISION_COURSE, MoveId.TRIPLE_AXEL ], + [SpeciesId.MELTAN]: [ MoveId.BULLET_PUNCH, MoveId.DRAIN_PUNCH, MoveId.BULK_UP, MoveId.PLASMA_FISTS ], + [SpeciesId.ALOLA_RATTATA]: [ MoveId.FALSE_SURRENDER, MoveId.PSYCHIC_FANGS, MoveId.COIL, MoveId.EXTREME_SPEED ], + [SpeciesId.ALOLA_SANDSHREW]: [ MoveId.SPIKY_SHIELD, MoveId.LIQUIDATION, MoveId.SHIFT_GEAR, MoveId.GLACIAL_LANCE ], + [SpeciesId.ALOLA_VULPIX]: [ MoveId.MOONBLAST, MoveId.GLARE, MoveId.MYSTICAL_FIRE, MoveId.REVIVAL_BLESSING ], + [SpeciesId.ALOLA_DIGLETT]: [ MoveId.THOUSAND_WAVES, MoveId.SWORDS_DANCE, MoveId.TRIPLE_DIVE, MoveId.PYRO_BALL ], + [SpeciesId.ALOLA_MEOWTH]: [ MoveId.BADDY_BAD, MoveId.BUZZY_BUZZ, MoveId.PARTING_SHOT, MoveId.MAKE_IT_RAIN ], + [SpeciesId.ALOLA_GEODUDE]: [ MoveId.THOUSAND_WAVES, MoveId.BULK_UP, MoveId.STONE_AXE, MoveId.EXTREME_SPEED ], + [SpeciesId.ALOLA_GRIMER]: [ MoveId.SUCKER_PUNCH, MoveId.BARB_BARRAGE, MoveId.RECOVER, MoveId.SURGING_STRIKES ], - [Species.GROOKEY]: [ Moves.ROCK_SLIDE, Moves.PLAY_ROUGH, Moves.GRASSY_GLIDE, Moves.CLANGOROUS_SOUL ], - [Species.SCORBUNNY]: [ Moves.EXTREME_SPEED, Moves.HIGH_JUMP_KICK, Moves.TRIPLE_AXEL, Moves.BOLT_STRIKE ], - [Species.SOBBLE]: [ Moves.AEROBLAST, Moves.FROST_BREATH, Moves.ENERGY_BALL, Moves.NASTY_PLOT ], - [Species.SKWOVET]: [ Moves.SUCKER_PUNCH, Moves.SLACK_OFF, Moves.COIL, Moves.POPULATION_BOMB ], - [Species.ROOKIDEE]: [ Moves.ROOST, Moves.BODY_PRESS, Moves.KINGS_SHIELD, Moves.BEHEMOTH_BASH ], - [Species.BLIPBUG]: [ Moves.HEAL_ORDER, Moves.LUSTER_PURGE, Moves.SLEEP_POWDER, Moves.TAIL_GLOW ], - [Species.NICKIT]: [ Moves.BADDY_BAD, Moves.FLAMETHROWER, Moves.SPARKLY_SWIRL, Moves.MAKE_IT_RAIN ], - [Species.GOSSIFLEUR]: [ Moves.PARTING_SHOT, Moves.STRENGTH_SAP, Moves.SAPPY_SEED, Moves.SEED_FLARE ], - [Species.WOOLOO]: [ Moves.NUZZLE, Moves.MILK_DRINK, Moves.BODY_PRESS, Moves.MULTI_ATTACK ], - [Species.CHEWTLE]: [ Moves.ICE_FANG, Moves.PSYCHIC_FANGS, Moves.SHELL_SMASH, Moves.MIGHTY_CLEAVE ], - [Species.YAMPER]: [ Moves.ICE_FANG, Moves.SWORDS_DANCE, Moves.THUNDER_FANG, Moves.BOLT_STRIKE ], - [Species.ROLYCOLY]: [ Moves.BITTER_BLADE, Moves.BODY_PRESS, Moves.BULK_UP, Moves.DIAMOND_STORM ], - [Species.APPLIN]: [ Moves.CORE_ENFORCER, Moves.COMBAT_TORQUE, Moves.SAPPY_SEED, Moves.MATCHA_GOTCHA ], - [Species.SILICOBRA]: [ Moves.SHORE_UP, Moves.SHED_TAIL, Moves.MOUNTAIN_GALE, Moves.THOUSAND_ARROWS ], - [Species.CRAMORANT]: [ Moves.APPLE_ACID, Moves.SURF, Moves.BOLT_BEAK, Moves.OBLIVION_WING ], - [Species.ARROKUDA]: [ Moves.SUPERCELL_SLAM, Moves.TRIPLE_DIVE, Moves.ICE_SPINNER, Moves.SWORDS_DANCE ], - [Species.TOXEL]: [ Moves.BUZZY_BUZZ, Moves.BUG_BUZZ, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], - [Species.SIZZLIPEDE]: [ Moves.BURNING_BULWARK, Moves.ZING_ZAP, Moves.FIRST_IMPRESSION, Moves.BITTER_BLADE ], - [Species.CLOBBOPUS]: [ Moves.STORM_THROW, Moves.JET_PUNCH, Moves.MACH_PUNCH, Moves.SURGING_STRIKES ], - [Species.SINISTEA]: [ Moves.SPLISHY_SPLASH, Moves.MATCHA_GOTCHA, Moves.DRAINING_KISS, Moves.MOONGEIST_BEAM ], - [Species.HATENNA]: [ Moves.RECOVER, Moves.MOONBLAST, Moves.BUZZY_BUZZ, Moves.TORCH_SONG ], - [Species.IMPIDIMP]: [ Moves.SLACK_OFF, Moves.PARTING_SHOT, Moves.OCTOLOCK, Moves.WICKED_BLOW ], - [Species.MILCERY]: [ Moves.MOONBLAST, Moves.CHILLY_RECEPTION, Moves.EARTH_POWER, Moves.GEOMANCY ], - [Species.FALINKS]: [ Moves.BATON_PASS, Moves.POWER_TRIP, Moves.COMBAT_TORQUE, Moves.HEAL_ORDER ], - [Species.PINCURCHIN]: [ Moves.TRICK_ROOM, Moves.VOLT_SWITCH, Moves.STRENGTH_SAP, Moves.THUNDERCLAP ], - [Species.SNOM]: [ Moves.FROST_BREATH, Moves.HEAL_ORDER, Moves.EARTH_POWER, Moves.SPORE ], - [Species.STONJOURNER]: [ Moves.BODY_PRESS, Moves.HELPING_HAND, Moves.ACCELEROCK, Moves.DIAMOND_STORM ], - [Species.EISCUE]: [ Moves.TRIPLE_AXEL, Moves.AQUA_STEP, Moves.AXE_KICK, Moves.SHELL_SMASH ], - [Species.INDEEDEE]: [ Moves.MATCHA_GOTCHA, Moves.EXPANDING_FORCE, Moves.MOONBLAST, Moves.REVIVAL_BLESSING ], - [Species.MORPEKO]: [ Moves.TRIPLE_AXEL, Moves.OBSTRUCT, Moves.SWORDS_DANCE, Moves.COLLISION_COURSE ], - [Species.CUFANT]: [ Moves.LIQUIDATION, Moves.CURSE, Moves.COMBAT_TORQUE, Moves.GIGATON_HAMMER ], - [Species.DRACOZOLT]: [ Moves.TRIPLE_AXEL, Moves.GUNK_SHOT, Moves.FIRE_LASH, Moves.DRAGON_DANCE ], - [Species.ARCTOZOLT]: [ Moves.MOUNTAIN_GALE, Moves.AQUA_STEP, Moves.HIGH_HORSEPOWER, Moves.SHIFT_GEAR ], - [Species.DRACOVISH]: [ Moves.TRIPLE_AXEL, Moves.DRAGON_HAMMER, Moves.THUNDER_FANG, Moves.DRAGON_DANCE ], - [Species.ARCTOVISH]: [ Moves.ICE_FANG, Moves.THUNDER_FANG, Moves.HIGH_HORSEPOWER, Moves.SHIFT_GEAR ], - [Species.DURALUDON]: [ Moves.CORE_ENFORCER, Moves.BODY_PRESS, Moves.RECOVER, Moves.TACHYON_CUTTER ], - [Species.DREEPY]: [ Moves.SHADOW_BONE, Moves.POWER_UP_PUNCH, Moves.FIRE_LASH, Moves.DIRE_CLAW ], - [Species.ZACIAN]: [ Moves.MAGICAL_TORQUE, Moves.MIGHTY_CLEAVE, Moves.BITTER_BLADE, Moves.PRECIPICE_BLADES ], - [Species.ZAMAZENTA]: [ Moves.BULK_UP, Moves.BODY_PRESS, Moves.SLACK_OFF, Moves.DIAMOND_STORM ], - [Species.ETERNATUS]: [ Moves.BODY_PRESS, Moves.NASTY_PLOT, Moves.MALIGNANT_CHAIN, Moves.DRAGON_ENERGY ], - [Species.KUBFU]: [ Moves.METEOR_MASH, Moves.DRAIN_PUNCH, Moves.JET_PUNCH, Moves.DRAGON_DANCE ], - [Species.ZARUDE]: [ Moves.SAPPY_SEED, Moves.MIGHTY_CLEAVE, Moves.WICKED_BLOW, Moves.VICTORY_DANCE ], - [Species.REGIELEKI]: [ Moves.NASTY_PLOT, Moves.ICE_BEAM, Moves.EARTH_POWER, Moves.ELECTRO_DRIFT ], - [Species.REGIDRAGO]: [ Moves.SHELL_SIDE_ARM, Moves.FLAMETHROWER, Moves.TAKE_HEART, Moves.DRAGON_DARTS ], - [Species.GLASTRIER]: [ Moves.SPEED_SWAP, Moves.SLACK_OFF, Moves.HIGH_HORSEPOWER, Moves.GLACIAL_LANCE ], - [Species.SPECTRIER]: [ Moves.EARTH_POWER, Moves.MOONLIGHT, Moves.AURA_SPHERE, Moves.ASTRAL_BARRAGE ], - [Species.CALYREX]: [ Moves.SAPPY_SEED, Moves.RECOVER, Moves.SECRET_SWORD, Moves.PHOTON_GEYSER ], - [Species.ENAMORUS]: [ Moves.AEROBLAST, Moves.THOUSAND_ARROWS, Moves.STORED_POWER, Moves.FLEUR_CANNON ], - [Species.GALAR_MEOWTH]: [ Moves.LIQUIDATION, Moves.HORN_LEECH, Moves.BULLET_PUNCH, Moves.BEHEMOTH_BASH ], - [Species.GALAR_PONYTA]: [ Moves.MAGICAL_TORQUE, Moves.EXTREME_SPEED, Moves.FLARE_BLITZ, Moves.PHOTON_GEYSER ], - [Species.GALAR_SLOWPOKE]: [ Moves.SHED_TAIL, Moves.BADDY_BAD, Moves.MOONBLAST, Moves.PHOTON_GEYSER ], - [Species.GALAR_FARFETCHD]: [ Moves.ROOST, Moves.SACRED_SWORD, Moves.KINGS_SHIELD, Moves.BEHEMOTH_BLADE ], - [Species.GALAR_ARTICUNO]: [ Moves.SECRET_SWORD, Moves.NIGHT_DAZE, Moves.ICE_BEAM, Moves.OBLIVION_WING ], - [Species.GALAR_ZAPDOS]: [ Moves.POISON_JAB, Moves.FLOATY_FALL, Moves.ROOST, Moves.BOLT_BEAK ], - [Species.GALAR_MOLTRES]: [ Moves.ROOST, Moves.SLUDGE_BOMB, Moves.FLAMETHROWER, Moves.OBLIVION_WING ], - [Species.GALAR_CORSOLA]: [ Moves.SHELL_SMASH, Moves.AURA_SPHERE, Moves.INFERNAL_PARADE, Moves.ASTRAL_BARRAGE ], - [Species.GALAR_ZIGZAGOON]: [ Moves.CEASELESS_EDGE, Moves.FACADE, Moves.PARTING_SHOT, Moves.EXTREME_SPEED ], - [Species.GALAR_DARUMAKA]: [ Moves.ICE_SPINNER, Moves.ZING_ZAP, Moves.DRAIN_PUNCH, Moves.PYRO_BALL ], - [Species.GALAR_YAMASK]: [ Moves.STRENGTH_SAP, Moves.DIRE_CLAW, Moves.THOUSAND_WAVES, Moves.SPECTRAL_THIEF ], - [Species.GALAR_STUNFISK]: [ Moves.SPIKY_SHIELD, Moves.THOUSAND_ARROWS, Moves.STRENGTH_SAP, Moves.DOUBLE_IRON_BASH ], - [Species.HISUI_GROWLITHE]: [ Moves.WAVE_CRASH, Moves.HEAD_SMASH, Moves.VOLT_TACKLE, Moves.DRAGON_DANCE ], - [Species.HISUI_VOLTORB]: [ Moves.FROST_BREATH, Moves.NASTY_PLOT, Moves.APPLE_ACID, Moves.ELECTRO_DRIFT ], - [Species.HISUI_QWILFISH]: [ Moves.CEASELESS_EDGE, Moves.BANEFUL_BUNKER, Moves.RECOVER, Moves.FISHIOUS_REND ], - [Species.HISUI_SNEASEL]: [ Moves.DRAIN_PUNCH, Moves.KNOCK_OFF, Moves.PSYCHIC_FANGS, Moves.TRIPLE_AXEL ], - [Species.HISUI_ZORUA]: [ Moves.MOONBLAST, Moves.SECRET_SWORD, Moves.PARTING_SHOT, Moves.BLOOD_MOON ], + [SpeciesId.GROOKEY]: [ MoveId.ROCK_SLIDE, MoveId.PLAY_ROUGH, MoveId.GRASSY_GLIDE, MoveId.CLANGOROUS_SOUL ], + [SpeciesId.SCORBUNNY]: [ MoveId.EXTREME_SPEED, MoveId.HIGH_JUMP_KICK, MoveId.TRIPLE_AXEL, MoveId.BOLT_STRIKE ], + [SpeciesId.SOBBLE]: [ MoveId.AEROBLAST, MoveId.FROST_BREATH, MoveId.ENERGY_BALL, MoveId.NASTY_PLOT ], + [SpeciesId.SKWOVET]: [ MoveId.SUCKER_PUNCH, MoveId.SLACK_OFF, MoveId.COIL, MoveId.POPULATION_BOMB ], + [SpeciesId.ROOKIDEE]: [ MoveId.ROOST, MoveId.BODY_PRESS, MoveId.KINGS_SHIELD, MoveId.BEHEMOTH_BASH ], + [SpeciesId.BLIPBUG]: [ MoveId.HEAL_ORDER, MoveId.LUSTER_PURGE, MoveId.SLEEP_POWDER, MoveId.TAIL_GLOW ], + [SpeciesId.NICKIT]: [ MoveId.BADDY_BAD, MoveId.FLAMETHROWER, MoveId.SPARKLY_SWIRL, MoveId.MAKE_IT_RAIN ], + [SpeciesId.GOSSIFLEUR]: [ MoveId.PARTING_SHOT, MoveId.STRENGTH_SAP, MoveId.SAPPY_SEED, MoveId.SEED_FLARE ], + [SpeciesId.WOOLOO]: [ MoveId.NUZZLE, MoveId.MILK_DRINK, MoveId.BODY_PRESS, MoveId.MULTI_ATTACK ], + [SpeciesId.CHEWTLE]: [ MoveId.ICE_FANG, MoveId.PSYCHIC_FANGS, MoveId.SHELL_SMASH, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.YAMPER]: [ MoveId.ICE_FANG, MoveId.SWORDS_DANCE, MoveId.THUNDER_FANG, MoveId.BOLT_STRIKE ], + [SpeciesId.ROLYCOLY]: [ MoveId.BITTER_BLADE, MoveId.BODY_PRESS, MoveId.BULK_UP, MoveId.DIAMOND_STORM ], + [SpeciesId.APPLIN]: [ MoveId.CORE_ENFORCER, MoveId.COMBAT_TORQUE, MoveId.SAPPY_SEED, MoveId.MATCHA_GOTCHA ], + [SpeciesId.SILICOBRA]: [ MoveId.SHORE_UP, MoveId.SHED_TAIL, MoveId.MOUNTAIN_GALE, MoveId.THOUSAND_ARROWS ], + [SpeciesId.CRAMORANT]: [ MoveId.APPLE_ACID, MoveId.SURF, MoveId.BOLT_BEAK, MoveId.OBLIVION_WING ], + [SpeciesId.ARROKUDA]: [ MoveId.SUPERCELL_SLAM, MoveId.TRIPLE_DIVE, MoveId.ICE_SPINNER, MoveId.SWORDS_DANCE ], + [SpeciesId.TOXEL]: [ MoveId.BUZZY_BUZZ, MoveId.BUG_BUZZ, MoveId.SPARKLING_ARIA, MoveId.TORCH_SONG ], + [SpeciesId.SIZZLIPEDE]: [ MoveId.BURNING_BULWARK, MoveId.ZING_ZAP, MoveId.FIRST_IMPRESSION, MoveId.BITTER_BLADE ], + [SpeciesId.CLOBBOPUS]: [ MoveId.STORM_THROW, MoveId.JET_PUNCH, MoveId.MACH_PUNCH, MoveId.SURGING_STRIKES ], + [SpeciesId.SINISTEA]: [ MoveId.SPLISHY_SPLASH, MoveId.MATCHA_GOTCHA, MoveId.DRAINING_KISS, MoveId.MOONGEIST_BEAM ], + [SpeciesId.HATENNA]: [ MoveId.RECOVER, MoveId.MOONBLAST, MoveId.BUZZY_BUZZ, MoveId.TORCH_SONG ], + [SpeciesId.IMPIDIMP]: [ MoveId.SLACK_OFF, MoveId.PARTING_SHOT, MoveId.OCTOLOCK, MoveId.WICKED_BLOW ], + [SpeciesId.MILCERY]: [ MoveId.MOONBLAST, MoveId.CHILLY_RECEPTION, MoveId.EARTH_POWER, MoveId.GEOMANCY ], + [SpeciesId.FALINKS]: [ MoveId.BATON_PASS, MoveId.POWER_TRIP, MoveId.COMBAT_TORQUE, MoveId.HEAL_ORDER ], + [SpeciesId.PINCURCHIN]: [ MoveId.TRICK_ROOM, MoveId.VOLT_SWITCH, MoveId.STRENGTH_SAP, MoveId.THUNDERCLAP ], + [SpeciesId.SNOM]: [ MoveId.FROST_BREATH, MoveId.HEAL_ORDER, MoveId.EARTH_POWER, MoveId.SPORE ], + [SpeciesId.STONJOURNER]: [ MoveId.BODY_PRESS, MoveId.HELPING_HAND, MoveId.ACCELEROCK, MoveId.DIAMOND_STORM ], + [SpeciesId.EISCUE]: [ MoveId.TRIPLE_AXEL, MoveId.AQUA_STEP, MoveId.AXE_KICK, MoveId.SHELL_SMASH ], + [SpeciesId.INDEEDEE]: [ MoveId.MATCHA_GOTCHA, MoveId.EXPANDING_FORCE, MoveId.MOONBLAST, MoveId.REVIVAL_BLESSING ], + [SpeciesId.MORPEKO]: [ MoveId.TRIPLE_AXEL, MoveId.OBSTRUCT, MoveId.SWORDS_DANCE, MoveId.COLLISION_COURSE ], + [SpeciesId.CUFANT]: [ MoveId.LIQUIDATION, MoveId.CURSE, MoveId.COMBAT_TORQUE, MoveId.GIGATON_HAMMER ], + [SpeciesId.DRACOZOLT]: [ MoveId.TRIPLE_AXEL, MoveId.GUNK_SHOT, MoveId.FIRE_LASH, MoveId.DRAGON_DANCE ], + [SpeciesId.ARCTOZOLT]: [ MoveId.MOUNTAIN_GALE, MoveId.AQUA_STEP, MoveId.HIGH_HORSEPOWER, MoveId.SHIFT_GEAR ], + [SpeciesId.DRACOVISH]: [ MoveId.TRIPLE_AXEL, MoveId.DRAGON_HAMMER, MoveId.THUNDER_FANG, MoveId.DRAGON_DANCE ], + [SpeciesId.ARCTOVISH]: [ MoveId.ICE_FANG, MoveId.THUNDER_FANG, MoveId.HIGH_HORSEPOWER, MoveId.SHIFT_GEAR ], + [SpeciesId.DURALUDON]: [ MoveId.CORE_ENFORCER, MoveId.BODY_PRESS, MoveId.RECOVER, MoveId.TACHYON_CUTTER ], + [SpeciesId.DREEPY]: [ MoveId.SHADOW_BONE, MoveId.POWER_UP_PUNCH, MoveId.FIRE_LASH, MoveId.DIRE_CLAW ], + [SpeciesId.ZACIAN]: [ MoveId.MAGICAL_TORQUE, MoveId.MIGHTY_CLEAVE, MoveId.BITTER_BLADE, MoveId.PRECIPICE_BLADES ], + [SpeciesId.ZAMAZENTA]: [ MoveId.BULK_UP, MoveId.BODY_PRESS, MoveId.SLACK_OFF, MoveId.DIAMOND_STORM ], + [SpeciesId.ETERNATUS]: [ MoveId.BODY_PRESS, MoveId.NASTY_PLOT, MoveId.MALIGNANT_CHAIN, MoveId.DRAGON_ENERGY ], + [SpeciesId.KUBFU]: [ MoveId.METEOR_MASH, MoveId.DRAIN_PUNCH, MoveId.JET_PUNCH, MoveId.DRAGON_DANCE ], + [SpeciesId.ZARUDE]: [ MoveId.SAPPY_SEED, MoveId.MIGHTY_CLEAVE, MoveId.WICKED_BLOW, MoveId.VICTORY_DANCE ], + [SpeciesId.REGIELEKI]: [ MoveId.NASTY_PLOT, MoveId.ICE_BEAM, MoveId.EARTH_POWER, MoveId.ELECTRO_DRIFT ], + [SpeciesId.REGIDRAGO]: [ MoveId.SHELL_SIDE_ARM, MoveId.FLAMETHROWER, MoveId.TAKE_HEART, MoveId.DRAGON_DARTS ], + [SpeciesId.GLASTRIER]: [ MoveId.SPEED_SWAP, MoveId.SLACK_OFF, MoveId.HIGH_HORSEPOWER, MoveId.GLACIAL_LANCE ], + [SpeciesId.SPECTRIER]: [ MoveId.EARTH_POWER, MoveId.MOONLIGHT, MoveId.AURA_SPHERE, MoveId.ASTRAL_BARRAGE ], + [SpeciesId.CALYREX]: [ MoveId.SAPPY_SEED, MoveId.RECOVER, MoveId.SECRET_SWORD, MoveId.PHOTON_GEYSER ], + [SpeciesId.ENAMORUS]: [ MoveId.AEROBLAST, MoveId.THOUSAND_ARROWS, MoveId.STORED_POWER, MoveId.FLEUR_CANNON ], + [SpeciesId.GALAR_MEOWTH]: [ MoveId.LIQUIDATION, MoveId.HORN_LEECH, MoveId.BULLET_PUNCH, MoveId.BEHEMOTH_BASH ], + [SpeciesId.GALAR_PONYTA]: [ MoveId.MAGICAL_TORQUE, MoveId.EXTREME_SPEED, MoveId.FLARE_BLITZ, MoveId.PHOTON_GEYSER ], + [SpeciesId.GALAR_SLOWPOKE]: [ MoveId.SHED_TAIL, MoveId.BADDY_BAD, MoveId.MOONBLAST, MoveId.PHOTON_GEYSER ], + [SpeciesId.GALAR_FARFETCHD]: [ MoveId.ROOST, MoveId.SACRED_SWORD, MoveId.KINGS_SHIELD, MoveId.BEHEMOTH_BLADE ], + [SpeciesId.GALAR_ARTICUNO]: [ MoveId.SECRET_SWORD, MoveId.NIGHT_DAZE, MoveId.ICE_BEAM, MoveId.OBLIVION_WING ], + [SpeciesId.GALAR_ZAPDOS]: [ MoveId.POISON_JAB, MoveId.FLOATY_FALL, MoveId.ROOST, MoveId.BOLT_BEAK ], + [SpeciesId.GALAR_MOLTRES]: [ MoveId.ROOST, MoveId.SLUDGE_BOMB, MoveId.FLAMETHROWER, MoveId.OBLIVION_WING ], + [SpeciesId.GALAR_CORSOLA]: [ MoveId.SHELL_SMASH, MoveId.AURA_SPHERE, MoveId.INFERNAL_PARADE, MoveId.ASTRAL_BARRAGE ], + [SpeciesId.GALAR_ZIGZAGOON]: [ MoveId.CEASELESS_EDGE, MoveId.FACADE, MoveId.PARTING_SHOT, MoveId.EXTREME_SPEED ], + [SpeciesId.GALAR_DARUMAKA]: [ MoveId.ICE_SPINNER, MoveId.ZING_ZAP, MoveId.DRAIN_PUNCH, MoveId.PYRO_BALL ], + [SpeciesId.GALAR_YAMASK]: [ MoveId.STRENGTH_SAP, MoveId.DIRE_CLAW, MoveId.THOUSAND_WAVES, MoveId.SPECTRAL_THIEF ], + [SpeciesId.GALAR_STUNFISK]: [ MoveId.SPIKY_SHIELD, MoveId.THOUSAND_ARROWS, MoveId.STRENGTH_SAP, MoveId.DOUBLE_IRON_BASH ], + [SpeciesId.HISUI_GROWLITHE]: [ MoveId.WAVE_CRASH, MoveId.HEAD_SMASH, MoveId.VOLT_TACKLE, MoveId.DRAGON_DANCE ], + [SpeciesId.HISUI_VOLTORB]: [ MoveId.FROST_BREATH, MoveId.NASTY_PLOT, MoveId.APPLE_ACID, MoveId.ELECTRO_DRIFT ], + [SpeciesId.HISUI_QWILFISH]: [ MoveId.CEASELESS_EDGE, MoveId.BANEFUL_BUNKER, MoveId.RECOVER, MoveId.FISHIOUS_REND ], + [SpeciesId.HISUI_SNEASEL]: [ MoveId.DRAIN_PUNCH, MoveId.KNOCK_OFF, MoveId.PSYCHIC_FANGS, MoveId.TRIPLE_AXEL ], + [SpeciesId.HISUI_ZORUA]: [ MoveId.MOONBLAST, MoveId.SECRET_SWORD, MoveId.PARTING_SHOT, MoveId.BLOOD_MOON ], - [Species.SPRIGATITO]: [ Moves.FIRE_LASH, Moves.TRIPLE_AXEL, Moves.SUCKER_PUNCH, Moves.WICKED_BLOW ], - [Species.FUECOCO]: [ Moves.ALLURING_VOICE, Moves.SLACK_OFF, Moves.OVERDRIVE, Moves.MOONGEIST_BEAM ], - [Species.QUAXLY]: [ Moves.DRAGON_DANCE, Moves.TRIPLE_AXEL, Moves.POWER_TRIP, Moves.THUNDEROUS_KICK ], - [Species.LECHONK]: [ Moves.MILK_DRINK, Moves.PSYSHIELD_BASH, Moves.BLAZING_TORQUE, Moves.FILLET_AWAY ], - [Species.TAROUNTULA]: [ Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.THIEF, Moves.SPORE ], - [Species.NYMBLE]: [ Moves.KNOCK_OFF, Moves.FELL_STINGER, Moves.ATTACK_ORDER, Moves.WICKED_BLOW ], - [Species.PAWMI]: [ Moves.DRAIN_PUNCH, Moves.METEOR_MASH, Moves.JET_PUNCH, Moves.PLASMA_FISTS ], - [Species.TANDEMAUS]: [ Moves.BATON_PASS, Moves.COVET, Moves.SIZZLY_SLIDE, Moves.REVIVAL_BLESSING ], - [Species.FIDOUGH]: [ Moves.SOFT_BOILED, Moves.HIGH_HORSEPOWER, Moves.SIZZLY_SLIDE, Moves.TIDY_UP ], - [Species.SMOLIV]: [ Moves.STRENGTH_SAP, Moves.EARTH_POWER, Moves.CALM_MIND, Moves.BOOMBURST ], - [Species.SQUAWKABILLY]: [ Moves.PARTING_SHOT, Moves.EARTHQUAKE, Moves.FLARE_BLITZ, Moves.EXTREME_SPEED ], - [Species.NACLI]: [ Moves.BODY_PRESS, Moves.TOXIC, Moves.CURSE, Moves.DIAMOND_STORM ], - [Species.CHARCADET]: [ Moves.SACRED_SWORD, Moves.PHOTON_GEYSER, Moves.MOONBLAST, Moves.SPECTRAL_THIEF ], - [Species.TADBULB]: [ Moves.PARABOLIC_CHARGE, Moves.SCALD, Moves.EARTH_POWER, Moves.ELECTRO_SHOT ], - [Species.WATTREL]: [ Moves.NASTY_PLOT, Moves.SPLISHY_SPLASH, Moves.SANDSEAR_STORM, Moves.WILDBOLT_STORM ], - [Species.MASCHIFF]: [ Moves.PARTING_SHOT, Moves.COMBAT_TORQUE, Moves.PSYCHIC_FANGS, Moves.NO_RETREAT ], - [Species.SHROODLE]: [ Moves.GASTRO_ACID, Moves.PARTING_SHOT, Moves.TOXIC, Moves.SKETCH ], - [Species.BRAMBLIN]: [ Moves.TAILWIND, Moves.STRENGTH_SAP, Moves.FLOWER_TRICK, Moves.LAST_RESPECTS ], - [Species.TOEDSCOOL]: [ Moves.STRENGTH_SAP, Moves.TOPSY_TURVY, Moves.SAPPY_SEED, Moves.TAIL_GLOW ], - [Species.KLAWF]: [ Moves.CRABHAMMER, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE, Moves.SHELL_SMASH ], - [Species.CAPSAKID]: [ Moves.STRENGTH_SAP, Moves.APPLE_ACID, Moves.FROST_BREATH, Moves.TORCH_SONG ], - [Species.RELLOR]: [ Moves.HEAL_BLOCK, Moves.RECOVER, Moves.MAGIC_POWDER, Moves.LUMINA_CRASH ], - [Species.FLITTLE]: [ Moves.COSMIC_POWER, Moves.AURA_SPHERE, Moves.ROOST, Moves.FIERY_DANCE ], - [Species.TINKATINK]: [ Moves.MAGICAL_TORQUE, Moves.PYRO_BALL, Moves.IVY_CUDGEL, Moves.SHIFT_GEAR ], - [Species.WIGLETT]: [ Moves.SHELL_SMASH, Moves.ICICLE_CRASH, Moves.SEED_BOMB, Moves.SURGING_STRIKES ], - [Species.BOMBIRDIER]: [ Moves.FLOATY_FALL, Moves.SWORDS_DANCE, Moves.SUCKER_PUNCH, Moves.MIGHTY_CLEAVE ], - [Species.FINIZEN]: [ Moves.TRIPLE_AXEL, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.SURGING_STRIKES ], - [Species.VAROOM]: [ Moves.COMBAT_TORQUE, Moves.U_TURN, Moves.BLAZING_TORQUE, Moves.NOXIOUS_TORQUE ], - [Species.CYCLIZAR]: [ Moves.PARTING_SHOT, Moves.FIRE_LASH, Moves.MAGICAL_TORQUE, Moves.GLAIVE_RUSH ], - [Species.ORTHWORM]: [ Moves.SIZZLY_SLIDE, Moves.COIL, Moves.BODY_PRESS, Moves.SHORE_UP ], - [Species.GLIMMET]: [ Moves.CALM_MIND, Moves.GIGA_DRAIN, Moves.FIERY_DANCE, Moves.MALIGNANT_CHAIN ], - [Species.GREAVARD]: [ Moves.SHADOW_BONE, Moves.SIZZLY_SLIDE, Moves.SHORE_UP, Moves.COLLISION_COURSE ], - [Species.FLAMIGO]: [ Moves.THUNDEROUS_KICK, Moves.TRIPLE_AXEL, Moves.FLOATY_FALL, Moves.VICTORY_DANCE ], - [Species.CETODDLE]: [ Moves.ZING_ZAP, Moves.HIGH_HORSEPOWER, Moves.SLACK_OFF, Moves.DRAGON_DANCE ], - [Species.VELUZA]: [ Moves.PSYBLADE, Moves.LEAF_BLADE, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE ], - [Species.DONDOZO]: [ Moves.SOFT_BOILED, Moves.SIZZLY_SLIDE, Moves.BREAKING_SWIPE, Moves.SALT_CURE ], - [Species.TATSUGIRI]: [ Moves.SLUDGE_BOMB, Moves.FILLET_AWAY, Moves.CORE_ENFORCER, Moves.STEAM_ERUPTION ], - [Species.GREAT_TUSK]: [ Moves.STONE_AXE, Moves.MORNING_SUN, Moves.COLLISION_COURSE, Moves.SHIFT_GEAR ], - [Species.SCREAM_TAIL]: [ Moves.TORCH_SONG, Moves.GLITZY_GLOW, Moves.MOONLIGHT, Moves.SPARKLY_SWIRL ], - [Species.BRUTE_BONNET]: [ Moves.SAPPY_SEED, Moves.STRENGTH_SAP, Moves.EARTHQUAKE, Moves.WICKED_BLOW ], - [Species.FLUTTER_MANE]: [ Moves.MOONLIGHT, Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.MOONGEIST_BEAM ], - [Species.SLITHER_WING]: [ Moves.MIGHTY_CLEAVE, Moves.THUNDEROUS_KICK, Moves.FIRE_LASH, Moves.VICTORY_DANCE ], - [Species.SANDY_SHOCKS]: [ Moves.MORNING_SUN, Moves.ICE_BEAM, Moves.NASTY_PLOT, Moves.THUNDERCLAP ], - [Species.IRON_TREADS]: [ Moves.FUSION_BOLT, Moves.SHIFT_GEAR, Moves.SHORE_UP, Moves.SUNSTEEL_STRIKE ], - [Species.IRON_BUNDLE]: [ Moves.EARTH_POWER, Moves.SPLISHY_SPLASH, Moves.VOLT_SWITCH, Moves.NASTY_PLOT ], - [Species.IRON_HANDS]: [ Moves.DRAIN_PUNCH, Moves.BULK_UP, Moves.PLASMA_FISTS, Moves.ICE_HAMMER ], - [Species.IRON_JUGULIS]: [ Moves.FIERY_WRATH, Moves.ROOST, Moves.NASTY_PLOT, Moves.OBLIVION_WING ], - [Species.IRON_MOTH]: [ Moves.EARTH_POWER, Moves.SEARING_SHOT, Moves.MALIGNANT_CHAIN, Moves.QUIVER_DANCE ], - [Species.IRON_THORNS]: [ Moves.DIAMOND_STORM, Moves.SHORE_UP, Moves.SHIFT_GEAR, Moves.PLASMA_FISTS ], - [Species.FRIGIBAX]: [ Moves.BEHEMOTH_BLADE, Moves.DRAGON_DANCE, Moves.MOUNTAIN_GALE, Moves.PRECIPICE_BLADES ], - [Species.GIMMIGHOUL]: [ Moves.HAPPY_HOUR, Moves.AURA_SPHERE, Moves.SURF, Moves.ASTRAL_BARRAGE ], - [Species.WO_CHIEN]: [ Moves.SPORE, Moves.FIERY_WRATH, Moves.SAPPY_SEED, Moves.STRENGTH_SAP ], - [Species.CHIEN_PAO]: [ Moves.KNOCK_OFF, Moves.PARTING_SHOT, Moves.TRIPLE_AXEL, Moves.BITTER_BLADE ], - [Species.TING_LU]: [ Moves.SHORE_UP, Moves.CEASELESS_EDGE, Moves.SAPPY_SEED, Moves.PRECIPICE_BLADES ], - [Species.CHI_YU]: [ Moves.FIERY_WRATH, Moves.HYDRO_STEAM, Moves.MORNING_SUN, Moves.BLUE_FLARE ], - [Species.ROARING_MOON]: [ Moves.FIRE_LASH, Moves.DRAGON_HAMMER, Moves.METEOR_MASH, Moves.DRAGON_ASCENT ], - [Species.IRON_VALIANT]: [ Moves.PLASMA_FISTS, Moves.NO_RETREAT, Moves.SECRET_SWORD, Moves.MAGICAL_TORQUE ], - [Species.KORAIDON]: [ Moves.SUNSTEEL_STRIKE, Moves.SOLAR_BLADE, Moves.DRAGON_DARTS, Moves.BITTER_BLADE ], - [Species.MIRAIDON]: [ Moves.FROST_BREATH, Moves.WILDBOLT_STORM, Moves.SPACIAL_REND, Moves.RISING_VOLTAGE ], - [Species.WALKING_WAKE]: [ Moves.BOUNCY_BUBBLE, Moves.FUSION_FLARE, Moves.SLUDGE_WAVE, Moves.CORE_ENFORCER ], - [Species.IRON_LEAVES]: [ Moves.BITTER_BLADE, Moves.U_TURN, Moves.MIGHTY_CLEAVE, Moves.VICTORY_DANCE ], - [Species.POLTCHAGEIST]: [ Moves.PARABOLIC_CHARGE, Moves.BOUNCY_BUBBLE, Moves.LEECH_SEED, Moves.SPARKLY_SWIRL ], - [Species.OKIDOGI]: [ Moves.COMBAT_TORQUE, Moves.TIDY_UP, Moves.DIRE_CLAW, Moves.WICKED_BLOW ], - [Species.MUNKIDORI]: [ Moves.TWIN_BEAM, Moves.HEAT_WAVE, Moves.EARTH_POWER, Moves.MALIGNANT_CHAIN ], - [Species.FEZANDIPITI]: [ Moves.BARB_BARRAGE, Moves.BONEMERANG, Moves.TRIPLE_AXEL, Moves.VICTORY_DANCE ], - [Species.OGERPON]: [ Moves.SLEEP_POWDER, Moves.BONEMERANG, Moves.TRIPLE_AXEL, Moves.FLOWER_TRICK ], - [Species.GOUGING_FIRE]: [ Moves.EXTREME_SPEED, Moves.BULK_UP, Moves.SACRED_FIRE, Moves.GLAIVE_RUSH ], - [Species.RAGING_BOLT]: [ Moves.NASTY_PLOT, Moves.FLAMETHROWER, Moves.MORNING_SUN, Moves.ELECTRO_DRIFT ], - [Species.IRON_BOULDER]: [ Moves.PSYBLADE, Moves.KOWTOW_CLEAVE, Moves.STONE_AXE, Moves.BITTER_BLADE ], - [Species.IRON_CROWN]: [ Moves.NASTY_PLOT, Moves.SECRET_SWORD, Moves.PSYSTRIKE, Moves.ELECTRO_DRIFT ], - [Species.TERAPAGOS]: [ Moves.MOONBLAST, Moves.NASTY_PLOT, Moves.ASTRAL_BARRAGE, Moves.RECOVER ], - [Species.PECHARUNT]: [ Moves.TAKE_HEART, Moves.BODY_PRESS, Moves.SAPPY_SEED, Moves.ASTRAL_BARRAGE ], - [Species.PALDEA_TAUROS]: [ Moves.NO_RETREAT, Moves.BLAZING_TORQUE, Moves.AQUA_STEP, Moves.THUNDEROUS_KICK ], - [Species.PALDEA_WOOPER]: [ Moves.STONE_AXE, Moves.RECOVER, Moves.BANEFUL_BUNKER, Moves.BARB_BARRAGE ], - [Species.BLOODMOON_URSALUNA]: [ Moves.NASTY_PLOT, Moves.ROCK_POLISH, Moves.SANDSEAR_STORM, Moves.BOOMBURST ] + [SpeciesId.SPRIGATITO]: [ MoveId.FIRE_LASH, MoveId.TRIPLE_AXEL, MoveId.SUCKER_PUNCH, MoveId.WICKED_BLOW ], + [SpeciesId.FUECOCO]: [ MoveId.ALLURING_VOICE, MoveId.SLACK_OFF, MoveId.OVERDRIVE, MoveId.MOONGEIST_BEAM ], + [SpeciesId.QUAXLY]: [ MoveId.DRAGON_DANCE, MoveId.TRIPLE_AXEL, MoveId.POWER_TRIP, MoveId.THUNDEROUS_KICK ], + [SpeciesId.LECHONK]: [ MoveId.MILK_DRINK, MoveId.PSYSHIELD_BASH, MoveId.BLAZING_TORQUE, MoveId.FILLET_AWAY ], + [SpeciesId.TAROUNTULA]: [ MoveId.STONE_AXE, MoveId.LEECH_LIFE, MoveId.THIEF, MoveId.SPORE ], + [SpeciesId.NYMBLE]: [ MoveId.KNOCK_OFF, MoveId.FELL_STINGER, MoveId.ATTACK_ORDER, MoveId.WICKED_BLOW ], + [SpeciesId.PAWMI]: [ MoveId.DRAIN_PUNCH, MoveId.METEOR_MASH, MoveId.JET_PUNCH, MoveId.PLASMA_FISTS ], + [SpeciesId.TANDEMAUS]: [ MoveId.BATON_PASS, MoveId.COVET, MoveId.SIZZLY_SLIDE, MoveId.REVIVAL_BLESSING ], + [SpeciesId.FIDOUGH]: [ MoveId.SOFT_BOILED, MoveId.HIGH_HORSEPOWER, MoveId.SIZZLY_SLIDE, MoveId.TIDY_UP ], + [SpeciesId.SMOLIV]: [ MoveId.STRENGTH_SAP, MoveId.EARTH_POWER, MoveId.CALM_MIND, MoveId.BOOMBURST ], + [SpeciesId.SQUAWKABILLY]: [ MoveId.PARTING_SHOT, MoveId.EARTHQUAKE, MoveId.FLARE_BLITZ, MoveId.EXTREME_SPEED ], + [SpeciesId.NACLI]: [ MoveId.BODY_PRESS, MoveId.TOXIC, MoveId.CURSE, MoveId.DIAMOND_STORM ], + [SpeciesId.CHARCADET]: [ MoveId.SACRED_SWORD, MoveId.PHOTON_GEYSER, MoveId.MOONBLAST, MoveId.SPECTRAL_THIEF ], + [SpeciesId.TADBULB]: [ MoveId.PARABOLIC_CHARGE, MoveId.SCALD, MoveId.EARTH_POWER, MoveId.ELECTRO_SHOT ], + [SpeciesId.WATTREL]: [ MoveId.NASTY_PLOT, MoveId.SPLISHY_SPLASH, MoveId.SANDSEAR_STORM, MoveId.WILDBOLT_STORM ], + [SpeciesId.MASCHIFF]: [ MoveId.PARTING_SHOT, MoveId.COMBAT_TORQUE, MoveId.PSYCHIC_FANGS, MoveId.NO_RETREAT ], + [SpeciesId.SHROODLE]: [ MoveId.GASTRO_ACID, MoveId.PARTING_SHOT, MoveId.TOXIC, MoveId.SKETCH ], + [SpeciesId.BRAMBLIN]: [ MoveId.TAILWIND, MoveId.STRENGTH_SAP, MoveId.FLOWER_TRICK, MoveId.LAST_RESPECTS ], + [SpeciesId.TOEDSCOOL]: [ MoveId.STRENGTH_SAP, MoveId.TOPSY_TURVY, MoveId.SAPPY_SEED, MoveId.TAIL_GLOW ], + [SpeciesId.KLAWF]: [ MoveId.CRABHAMMER, MoveId.SHORE_UP, MoveId.MIGHTY_CLEAVE, MoveId.SHELL_SMASH ], + [SpeciesId.CAPSAKID]: [ MoveId.STRENGTH_SAP, MoveId.APPLE_ACID, MoveId.FROST_BREATH, MoveId.TORCH_SONG ], + [SpeciesId.RELLOR]: [ MoveId.HEAL_BLOCK, MoveId.RECOVER, MoveId.MAGIC_POWDER, MoveId.LUMINA_CRASH ], + [SpeciesId.FLITTLE]: [ MoveId.COSMIC_POWER, MoveId.AURA_SPHERE, MoveId.ROOST, MoveId.FIERY_DANCE ], + [SpeciesId.TINKATINK]: [ MoveId.MAGICAL_TORQUE, MoveId.PYRO_BALL, MoveId.IVY_CUDGEL, MoveId.SHIFT_GEAR ], + [SpeciesId.WIGLETT]: [ MoveId.SHELL_SMASH, MoveId.ICICLE_CRASH, MoveId.SEED_BOMB, MoveId.SURGING_STRIKES ], + [SpeciesId.BOMBIRDIER]: [ MoveId.FLOATY_FALL, MoveId.SWORDS_DANCE, MoveId.SUCKER_PUNCH, MoveId.MIGHTY_CLEAVE ], + [SpeciesId.FINIZEN]: [ MoveId.TRIPLE_AXEL, MoveId.DRAIN_PUNCH, MoveId.HEADLONG_RUSH, MoveId.SURGING_STRIKES ], + [SpeciesId.VAROOM]: [ MoveId.COMBAT_TORQUE, MoveId.U_TURN, MoveId.BLAZING_TORQUE, MoveId.NOXIOUS_TORQUE ], + [SpeciesId.CYCLIZAR]: [ MoveId.PARTING_SHOT, MoveId.FIRE_LASH, MoveId.MAGICAL_TORQUE, MoveId.GLAIVE_RUSH ], + [SpeciesId.ORTHWORM]: [ MoveId.SIZZLY_SLIDE, MoveId.COIL, MoveId.BODY_PRESS, MoveId.SHORE_UP ], + [SpeciesId.GLIMMET]: [ MoveId.CALM_MIND, MoveId.GIGA_DRAIN, MoveId.FIERY_DANCE, MoveId.MALIGNANT_CHAIN ], + [SpeciesId.GREAVARD]: [ MoveId.SHADOW_BONE, MoveId.SIZZLY_SLIDE, MoveId.SHORE_UP, MoveId.COLLISION_COURSE ], + [SpeciesId.FLAMIGO]: [ MoveId.THUNDEROUS_KICK, MoveId.TRIPLE_AXEL, MoveId.FLOATY_FALL, MoveId.VICTORY_DANCE ], + [SpeciesId.CETODDLE]: [ MoveId.ZING_ZAP, MoveId.HIGH_HORSEPOWER, MoveId.SLACK_OFF, MoveId.DRAGON_DANCE ], + [SpeciesId.VELUZA]: [ MoveId.PSYBLADE, MoveId.LEAF_BLADE, MoveId.CEASELESS_EDGE, MoveId.BITTER_BLADE ], + [SpeciesId.DONDOZO]: [ MoveId.SOFT_BOILED, MoveId.SIZZLY_SLIDE, MoveId.BREAKING_SWIPE, MoveId.SALT_CURE ], + [SpeciesId.TATSUGIRI]: [ MoveId.SLUDGE_BOMB, MoveId.FILLET_AWAY, MoveId.CORE_ENFORCER, MoveId.STEAM_ERUPTION ], + [SpeciesId.GREAT_TUSK]: [ MoveId.STONE_AXE, MoveId.MORNING_SUN, MoveId.COLLISION_COURSE, MoveId.SHIFT_GEAR ], + [SpeciesId.SCREAM_TAIL]: [ MoveId.TORCH_SONG, MoveId.GLITZY_GLOW, MoveId.MOONLIGHT, MoveId.SPARKLY_SWIRL ], + [SpeciesId.BRUTE_BONNET]: [ MoveId.SAPPY_SEED, MoveId.STRENGTH_SAP, MoveId.EARTHQUAKE, MoveId.WICKED_BLOW ], + [SpeciesId.FLUTTER_MANE]: [ MoveId.MOONLIGHT, MoveId.NASTY_PLOT, MoveId.EARTH_POWER, MoveId.MOONGEIST_BEAM ], + [SpeciesId.SLITHER_WING]: [ MoveId.MIGHTY_CLEAVE, MoveId.THUNDEROUS_KICK, MoveId.FIRE_LASH, MoveId.VICTORY_DANCE ], + [SpeciesId.SANDY_SHOCKS]: [ MoveId.MORNING_SUN, MoveId.ICE_BEAM, MoveId.NASTY_PLOT, MoveId.THUNDERCLAP ], + [SpeciesId.IRON_TREADS]: [ MoveId.FUSION_BOLT, MoveId.SHIFT_GEAR, MoveId.SHORE_UP, MoveId.SUNSTEEL_STRIKE ], + [SpeciesId.IRON_BUNDLE]: [ MoveId.EARTH_POWER, MoveId.SPLISHY_SPLASH, MoveId.VOLT_SWITCH, MoveId.NASTY_PLOT ], + [SpeciesId.IRON_HANDS]: [ MoveId.DRAIN_PUNCH, MoveId.BULK_UP, MoveId.PLASMA_FISTS, MoveId.ICE_HAMMER ], + [SpeciesId.IRON_JUGULIS]: [ MoveId.FIERY_WRATH, MoveId.ROOST, MoveId.NASTY_PLOT, MoveId.OBLIVION_WING ], + [SpeciesId.IRON_MOTH]: [ MoveId.EARTH_POWER, MoveId.SEARING_SHOT, MoveId.MALIGNANT_CHAIN, MoveId.QUIVER_DANCE ], + [SpeciesId.IRON_THORNS]: [ MoveId.DIAMOND_STORM, MoveId.SHORE_UP, MoveId.SHIFT_GEAR, MoveId.PLASMA_FISTS ], + [SpeciesId.FRIGIBAX]: [ MoveId.BEHEMOTH_BLADE, MoveId.DRAGON_DANCE, MoveId.MOUNTAIN_GALE, MoveId.PRECIPICE_BLADES ], + [SpeciesId.GIMMIGHOUL]: [ MoveId.HAPPY_HOUR, MoveId.AURA_SPHERE, MoveId.SURF, MoveId.ASTRAL_BARRAGE ], + [SpeciesId.WO_CHIEN]: [ MoveId.SPORE, MoveId.FIERY_WRATH, MoveId.SAPPY_SEED, MoveId.STRENGTH_SAP ], + [SpeciesId.CHIEN_PAO]: [ MoveId.KNOCK_OFF, MoveId.PARTING_SHOT, MoveId.TRIPLE_AXEL, MoveId.BITTER_BLADE ], + [SpeciesId.TING_LU]: [ MoveId.SHORE_UP, MoveId.CEASELESS_EDGE, MoveId.SAPPY_SEED, MoveId.PRECIPICE_BLADES ], + [SpeciesId.CHI_YU]: [ MoveId.FIERY_WRATH, MoveId.HYDRO_STEAM, MoveId.MORNING_SUN, MoveId.BLUE_FLARE ], + [SpeciesId.ROARING_MOON]: [ MoveId.FIRE_LASH, MoveId.DRAGON_HAMMER, MoveId.METEOR_MASH, MoveId.DRAGON_ASCENT ], + [SpeciesId.IRON_VALIANT]: [ MoveId.PLASMA_FISTS, MoveId.NO_RETREAT, MoveId.SECRET_SWORD, MoveId.MAGICAL_TORQUE ], + [SpeciesId.KORAIDON]: [ MoveId.SUNSTEEL_STRIKE, MoveId.SOLAR_BLADE, MoveId.DRAGON_DARTS, MoveId.BITTER_BLADE ], + [SpeciesId.MIRAIDON]: [ MoveId.FROST_BREATH, MoveId.WILDBOLT_STORM, MoveId.SPACIAL_REND, MoveId.RISING_VOLTAGE ], + [SpeciesId.WALKING_WAKE]: [ MoveId.BOUNCY_BUBBLE, MoveId.FUSION_FLARE, MoveId.SLUDGE_WAVE, MoveId.CORE_ENFORCER ], + [SpeciesId.IRON_LEAVES]: [ MoveId.BITTER_BLADE, MoveId.U_TURN, MoveId.MIGHTY_CLEAVE, MoveId.VICTORY_DANCE ], + [SpeciesId.POLTCHAGEIST]: [ MoveId.PARABOLIC_CHARGE, MoveId.BOUNCY_BUBBLE, MoveId.LEECH_SEED, MoveId.SPARKLY_SWIRL ], + [SpeciesId.OKIDOGI]: [ MoveId.COMBAT_TORQUE, MoveId.TIDY_UP, MoveId.DIRE_CLAW, MoveId.WICKED_BLOW ], + [SpeciesId.MUNKIDORI]: [ MoveId.TWIN_BEAM, MoveId.HEAT_WAVE, MoveId.EARTH_POWER, MoveId.MALIGNANT_CHAIN ], + [SpeciesId.FEZANDIPITI]: [ MoveId.BARB_BARRAGE, MoveId.BONEMERANG, MoveId.TRIPLE_AXEL, MoveId.VICTORY_DANCE ], + [SpeciesId.OGERPON]: [ MoveId.SLEEP_POWDER, MoveId.BONEMERANG, MoveId.TRIPLE_AXEL, MoveId.FLOWER_TRICK ], + [SpeciesId.GOUGING_FIRE]: [ MoveId.EXTREME_SPEED, MoveId.BULK_UP, MoveId.SACRED_FIRE, MoveId.GLAIVE_RUSH ], + [SpeciesId.RAGING_BOLT]: [ MoveId.NASTY_PLOT, MoveId.FLAMETHROWER, MoveId.MORNING_SUN, MoveId.ELECTRO_DRIFT ], + [SpeciesId.IRON_BOULDER]: [ MoveId.PSYBLADE, MoveId.KOWTOW_CLEAVE, MoveId.STONE_AXE, MoveId.BITTER_BLADE ], + [SpeciesId.IRON_CROWN]: [ MoveId.NASTY_PLOT, MoveId.SECRET_SWORD, MoveId.PSYSTRIKE, MoveId.ELECTRO_DRIFT ], + [SpeciesId.TERAPAGOS]: [ MoveId.MOONBLAST, MoveId.NASTY_PLOT, MoveId.ASTRAL_BARRAGE, MoveId.RECOVER ], + [SpeciesId.PECHARUNT]: [ MoveId.TAKE_HEART, MoveId.BODY_PRESS, MoveId.SAPPY_SEED, MoveId.ASTRAL_BARRAGE ], + [SpeciesId.PALDEA_TAUROS]: [ MoveId.NO_RETREAT, MoveId.BLAZING_TORQUE, MoveId.AQUA_STEP, MoveId.THUNDEROUS_KICK ], + [SpeciesId.PALDEA_WOOPER]: [ MoveId.STONE_AXE, MoveId.RECOVER, MoveId.BANEFUL_BUNKER, MoveId.BARB_BARRAGE ], + [SpeciesId.BLOODMOON_URSALUNA]: [ MoveId.NASTY_PLOT, MoveId.ROCK_POLISH, MoveId.SANDSEAR_STORM, MoveId.BOOMBURST ] }; function parseEggMoves(content: string): void { let output = ""; - const speciesNames = getEnumKeys(Species); - const speciesValues = getEnumValues(Species); + const speciesNames = getEnumKeys(SpeciesId); + const speciesValues = getEnumValues(SpeciesId); const lines = content.split(/\n/g); for (const line of lines) { @@ -597,20 +597,20 @@ function parseEggMoves(content: string): void { const enumSpeciesName = cols[0].toUpperCase().replace(/[ -]/g, "_"); const species = speciesValues[speciesNames.findIndex(s => s === enumSpeciesName)]; - const eggMoves: Moves[] = []; + const eggMoves: MoveId[] = []; for (let m = 0; m < 4; m++) { const moveName = cols[m + 1].trim(); const moveIndex = moveName !== "N/A" ? moveNames.findIndex(mn => mn === moveName.toLowerCase()) : -1; - eggMoves.push(moveIndex > -1 ? moveIndex as Moves : Moves.NONE); + eggMoves.push(moveIndex > -1 ? moveIndex as MoveId : MoveId.NONE); if (moveIndex === -1) { console.warn(moveName, "could not be parsed"); } } - if (eggMoves.find(m => m !== Moves.NONE)) { - output += `[Species.${Species[species]}]: [ ${eggMoves.map(m => `Moves.${Moves[m]}`).join(", ")} ],\n`; + if (eggMoves.find(m => m !== MoveId.NONE)) { + output += `[SpeciesId.${SpeciesId[species]}]: [ ${eggMoves.map(m => `MoveId.${MoveId[m]}`).join(", ")} ],\n`; } } diff --git a/src/data/balance/passives.ts b/src/data/balance/passives.ts index 73310cc2116..80790b44735 100644 --- a/src/data/balance/passives.ts +++ b/src/data/balance/passives.ts @@ -1,8 +1,8 @@ -import { Abilities } from "#app/enums/abilities"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; export interface PassiveAbilities { - [key: number]: Abilities + [key: number]: AbilityId } interface StarterPassiveAbilities { @@ -10,1094 +10,1094 @@ interface StarterPassiveAbilities { } export const starterPassiveAbilities: StarterPassiveAbilities = { - [Species.BULBASAUR]: { 0: Abilities.GRASSY_SURGE }, - [Species.IVYSAUR]: { 0: Abilities.GRASSY_SURGE }, - [Species.VENUSAUR]: { 0: Abilities.GRASSY_SURGE, 1: Abilities.SEED_SOWER, 2: Abilities.FLOWER_VEIL }, - [Species.CHARMANDER]: { 0: Abilities.SHEER_FORCE }, - [Species.CHARMELEON]: { 0: Abilities.BEAST_BOOST }, - [Species.CHARIZARD]: { 0: Abilities.BEAST_BOOST, 1: Abilities.LEVITATE, 2: Abilities.TURBOBLAZE, 3: Abilities.UNNERVE }, - [Species.SQUIRTLE]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.WARTORTLE]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.BLASTOISE]: { 0: Abilities.DAUNTLESS_SHIELD, 1: Abilities.BULLETPROOF, 2: Abilities.BULLETPROOF }, - [Species.CATERPIE]: { 0: Abilities.GLUTTONY }, - [Species.METAPOD]: { 0: Abilities.STURDY }, - [Species.BUTTERFREE]: { 0: Abilities.MAGICIAN, 1: Abilities.MAGICIAN }, - [Species.WEEDLE]: { 0: Abilities.POISON_TOUCH }, - [Species.KAKUNA]: { 0: Abilities.STURDY }, - [Species.BEEDRILL]: { 0: Abilities.ADAPTABILITY, 1: Abilities.TINTED_LENS }, - [Species.PIDGEY]: { 0: Abilities.SHEER_FORCE }, - [Species.PIDGEOTTO]: { 0: Abilities.SHEER_FORCE }, - [Species.PIDGEOT]: { 0: Abilities.SHEER_FORCE, 1: Abilities.SHEER_FORCE }, - [Species.RATTATA]: { 0: Abilities.STRONG_JAW }, - [Species.RATICATE]: { 0: Abilities.STRONG_JAW }, - [Species.SPEAROW]: { 0: Abilities.MOXIE }, - [Species.FEAROW]: { 0: Abilities.MOXIE }, - [Species.EKANS]: { 0: Abilities.REGENERATOR }, - [Species.ARBOK]: { 0: Abilities.REGENERATOR }, - [Species.SANDSHREW]: { 0: Abilities.TOUGH_CLAWS }, - [Species.SANDSLASH]: { 0: Abilities.TOUGH_CLAWS }, - [Species.NIDORAN_F]: { 0: Abilities.FLARE_BOOST }, - [Species.NIDORINA]: { 0: Abilities.FLARE_BOOST }, - [Species.NIDOQUEEN]: { 0: Abilities.FLARE_BOOST }, - [Species.NIDORAN_M]: { 0: Abilities.GUTS }, - [Species.NIDORINO]: { 0: Abilities.GUTS }, - [Species.NIDOKING]: { 0: Abilities.GUTS }, - [Species.VULPIX]: { 0: Abilities.FUR_COAT }, - [Species.NINETALES]: { 0: Abilities.FUR_COAT }, - [Species.ZUBAT]: { 0: Abilities.INTIMIDATE }, - [Species.GOLBAT]: { 0: Abilities.INTIMIDATE }, - [Species.CROBAT]: { 0: Abilities.INTIMIDATE }, - [Species.ODDISH]: { 0: Abilities.TRIAGE }, - [Species.GLOOM]: { 0: Abilities.TRIAGE }, - [Species.VILEPLUME]: { 0: Abilities.TRIAGE }, - [Species.BELLOSSOM]: { 0: Abilities.TRIAGE }, - [Species.PARAS]: { 0: Abilities.TRIAGE }, - [Species.PARASECT]: { 0: Abilities.TRIAGE }, - [Species.VENONAT]: { 0: Abilities.FLUFFY }, - [Species.VENOMOTH]: { 0: Abilities.SIMPLE }, - [Species.DIGLETT]: { 0: Abilities.STURDY }, - [Species.DUGTRIO]: { 0: Abilities.STURDY }, - [Species.MEOWTH]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, - [Species.PERSIAN]: { 0: Abilities.TOUGH_CLAWS }, - [Species.PSYDUCK]: { 0: Abilities.SIMPLE }, - [Species.GOLDUCK]: { 0: Abilities.SIMPLE }, - [Species.MANKEY]: { 0: Abilities.IRON_FIST }, - [Species.PRIMEAPE]: { 0: Abilities.IRON_FIST }, - [Species.ANNIHILAPE]: { 0: Abilities.IRON_FIST }, - [Species.GROWLITHE]: { 0: Abilities.FLUFFY }, - [Species.ARCANINE]: { 0: Abilities.FLUFFY }, - [Species.POLIWAG]: { 0: Abilities.NO_GUARD }, - [Species.POLIWHIRL]: { 0: Abilities.NO_GUARD }, - [Species.POLIWRATH]: { 0: Abilities.NO_GUARD }, - [Species.POLITOED]: { 0: Abilities.NO_GUARD }, - [Species.ABRA]: { 0: Abilities.COMATOSE }, - [Species.KADABRA]: { 0: Abilities.MAGICIAN }, - [Species.ALAKAZAM]: { 0: Abilities.MAGICIAN, 1: Abilities.MAGICIAN }, - [Species.MACHOP]: { 0: Abilities.QUICK_FEET }, - [Species.MACHOKE]: { 0: Abilities.QUICK_FEET }, - [Species.MACHAMP]: { 0: Abilities.QUICK_FEET, 1: Abilities.QUICK_FEET }, - [Species.BELLSPROUT]: { 0: Abilities.FLOWER_GIFT }, - [Species.WEEPINBELL]: { 0: Abilities.FLOWER_GIFT }, - [Species.VICTREEBEL]: { 0: Abilities.FLOWER_GIFT }, - [Species.TENTACOOL]: { 0: Abilities.TOXIC_CHAIN }, - [Species.TENTACRUEL]: { 0: Abilities.TOXIC_CHAIN }, - [Species.GEODUDE]: { 0: Abilities.DRY_SKIN }, - [Species.GRAVELER]: { 0: Abilities.DRY_SKIN }, - [Species.GOLEM]: { 0: Abilities.DRY_SKIN }, - [Species.PONYTA]: { 0: Abilities.MAGIC_GUARD }, - [Species.RAPIDASH]: { 0: Abilities.MAGIC_GUARD }, - [Species.SLOWPOKE]: { 0: Abilities.UNAWARE }, - [Species.SLOWBRO]: { 0: Abilities.UNAWARE, 1: Abilities.REGENERATOR }, - [Species.SLOWKING]: { 0: Abilities.UNAWARE }, - [Species.MAGNEMITE]: { 0: Abilities.LEVITATE }, - [Species.MAGNETON]: { 0: Abilities.LEVITATE }, - [Species.MAGNEZONE]: { 0: Abilities.LEVITATE }, - [Species.FARFETCHD]: { 0: Abilities.SNIPER }, - [Species.DODUO]: { 0: Abilities.PARENTAL_BOND }, - [Species.DODRIO]: { 0: Abilities.PARENTAL_BOND }, - [Species.SEEL]: { 0: Abilities.WATER_BUBBLE }, - [Species.DEWGONG]: { 0: Abilities.WATER_BUBBLE }, - [Species.GRIMER]: { 0: Abilities.WATER_ABSORB }, - [Species.MUK]: { 0: Abilities.WATER_ABSORB }, - [Species.SHELLDER]: { 0: Abilities.STURDY }, - [Species.CLOYSTER]: { 0: Abilities.ICE_SCALES }, - [Species.GASTLY]: { 0: Abilities.SHADOW_SHIELD }, - [Species.HAUNTER]: { 0: Abilities.SHADOW_SHIELD }, - [Species.GENGAR]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.UNNERVE, 2: Abilities.GLUTTONY }, - [Species.ONIX]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.STEELIX]: { 0: Abilities.ROCKY_PAYLOAD, 1: Abilities.SAND_SPIT }, - [Species.DROWZEE]: { 0: Abilities.MAGICIAN }, - [Species.HYPNO]: { 0: Abilities.MAGICIAN }, - [Species.KRABBY]: { 0: Abilities.UNBURDEN }, - [Species.KINGLER]: { 0: Abilities.UNBURDEN, 1: Abilities.UNBURDEN }, - [Species.VOLTORB]: { 0: Abilities.TRANSISTOR }, - [Species.ELECTRODE]: { 0: Abilities.TRANSISTOR }, - [Species.EXEGGCUTE]: { 0: Abilities.RIPEN }, - [Species.EXEGGUTOR]: { 0: Abilities.RIPEN }, - [Species.ALOLA_EXEGGUTOR]: { 0: Abilities.UNBURDEN }, - [Species.CUBONE]: { 0: Abilities.PARENTAL_BOND }, - [Species.MAROWAK]: { 0: Abilities.PARENTAL_BOND }, - [Species.ALOLA_MAROWAK]: { 0: Abilities.PARENTAL_BOND }, - [Species.LICKITUNG]: { 0: Abilities.CHEEK_POUCH }, - [Species.LICKILICKY]: { 0: Abilities.CHEEK_POUCH }, - [Species.KOFFING]: { 0: Abilities.WHITE_SMOKE }, - [Species.WEEZING]: { 0: Abilities.PARENTAL_BOND }, - [Species.GALAR_WEEZING]: { 0: Abilities.PARENTAL_BOND }, - [Species.RHYHORN]: { 0: Abilities.SOLID_ROCK }, - [Species.RHYDON]: { 0: Abilities.SOLID_ROCK }, - [Species.RHYPERIOR]: { 0: Abilities.FILTER }, - [Species.TANGELA]: { 0: Abilities.SEED_SOWER }, - [Species.TANGROWTH]: { 0: Abilities.SEED_SOWER }, - [Species.KANGASKHAN]: { 0: Abilities.TECHNICIAN, 1: Abilities.TECHNICIAN }, - [Species.HORSEA]: { 0: Abilities.DRAGONS_MAW }, - [Species.SEADRA]: { 0: Abilities.DRAGONS_MAW }, - [Species.KINGDRA]: { 0: Abilities.MULTISCALE }, - [Species.GOLDEEN]: { 0: Abilities.MULTISCALE }, - [Species.SEAKING]: { 0: Abilities.MULTISCALE }, - [Species.STARYU]: { 0: Abilities.REGENERATOR }, - [Species.STARMIE]: { 0: Abilities.REGENERATOR }, - [Species.SCYTHER]: { 0: Abilities.TINTED_LENS }, - [Species.SCIZOR]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, - [Species.KLEAVOR]: { 0: Abilities.WEAK_ARMOR }, - [Species.PINSIR]: { 0: Abilities.TINTED_LENS, 1: Abilities.MOLD_BREAKER }, - [Species.TAUROS]: { 0: Abilities.STAMINA }, - [Species.MAGIKARP]: { 0: Abilities.MULTISCALE }, - [Species.GYARADOS]: { 0: Abilities.MULTISCALE, 1: Abilities.MULTISCALE }, - [Species.LAPRAS]: { 0: Abilities.FILTER, 1: Abilities.FILTER }, - [Species.DITTO]: { 0: Abilities.ADAPTABILITY }, - [Species.EEVEE]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP, 2: Abilities.FLUFFY }, - [Species.VAPOREON]: { 0: Abilities.REGENERATOR }, - [Species.JOLTEON]: { 0: Abilities.TRANSISTOR }, - [Species.FLAREON]: { 0: Abilities.FUR_COAT }, - [Species.ESPEON]: { 0: Abilities.MAGICIAN }, - [Species.UMBREON]: { 0: Abilities.TOXIC_CHAIN }, - [Species.LEAFEON]: { 0: Abilities.GRASSY_SURGE }, - [Species.GLACEON]: { 0: Abilities.SNOW_WARNING }, - [Species.SYLVEON]: { 0: Abilities.COMPETITIVE }, - [Species.PORYGON]: { 0: Abilities.TRANSISTOR }, - [Species.PORYGON2]: { 0: Abilities.TRANSISTOR }, - [Species.PORYGON_Z]: { 0: Abilities.PROTEAN }, - [Species.OMANYTE]: { 0: Abilities.STURDY }, - [Species.OMASTAR]: { 0: Abilities.STURDY }, - [Species.KABUTO]: { 0: Abilities.TOUGH_CLAWS }, - [Species.KABUTOPS]: { 0: Abilities.TOUGH_CLAWS }, - [Species.AERODACTYL]: { 0: Abilities.INTIMIDATE, 1: Abilities.ROCKY_PAYLOAD }, - [Species.ARTICUNO]: { 0: Abilities.SNOW_WARNING }, - [Species.ZAPDOS]: { 0: Abilities.DRIZZLE }, - [Species.MOLTRES]: { 0: Abilities.DROUGHT }, - [Species.DRATINI]: { 0: Abilities.MULTISCALE }, - [Species.DRAGONAIR]: { 0: Abilities.MULTISCALE }, - [Species.DRAGONITE]: { 0: Abilities.AERILATE }, - [Species.MEWTWO]: { 0: Abilities.NEUROFORCE, 1: Abilities.NEUROFORCE, 2: Abilities.NEUROFORCE }, - [Species.MEW]: { 0: Abilities.PROTEAN }, + [SpeciesId.BULBASAUR]: { 0: AbilityId.GRASSY_SURGE }, + [SpeciesId.IVYSAUR]: { 0: AbilityId.GRASSY_SURGE }, + [SpeciesId.VENUSAUR]: { 0: AbilityId.GRASSY_SURGE, 1: AbilityId.SEED_SOWER, 2: AbilityId.FLOWER_VEIL }, + [SpeciesId.CHARMANDER]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.CHARMELEON]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.CHARIZARD]: { 0: AbilityId.BEAST_BOOST, 1: AbilityId.LEVITATE, 2: AbilityId.TURBOBLAZE, 3: AbilityId.UNNERVE }, + [SpeciesId.SQUIRTLE]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.WARTORTLE]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.BLASTOISE]: { 0: AbilityId.DAUNTLESS_SHIELD, 1: AbilityId.BULLETPROOF, 2: AbilityId.BULLETPROOF }, + [SpeciesId.CATERPIE]: { 0: AbilityId.GLUTTONY }, + [SpeciesId.METAPOD]: { 0: AbilityId.STURDY }, + [SpeciesId.BUTTERFREE]: { 0: AbilityId.MAGICIAN, 1: AbilityId.MAGICIAN }, + [SpeciesId.WEEDLE]: { 0: AbilityId.POISON_TOUCH }, + [SpeciesId.KAKUNA]: { 0: AbilityId.STURDY }, + [SpeciesId.BEEDRILL]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.TINTED_LENS }, + [SpeciesId.PIDGEY]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.PIDGEOTTO]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.PIDGEOT]: { 0: AbilityId.SHEER_FORCE, 1: AbilityId.SHEER_FORCE }, + [SpeciesId.RATTATA]: { 0: AbilityId.STRONG_JAW }, + [SpeciesId.RATICATE]: { 0: AbilityId.STRONG_JAW }, + [SpeciesId.SPEAROW]: { 0: AbilityId.MOXIE }, + [SpeciesId.FEAROW]: { 0: AbilityId.MOXIE }, + [SpeciesId.EKANS]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.ARBOK]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.SANDSHREW]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.SANDSLASH]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.NIDORAN_F]: { 0: AbilityId.FLARE_BOOST }, + [SpeciesId.NIDORINA]: { 0: AbilityId.FLARE_BOOST }, + [SpeciesId.NIDOQUEEN]: { 0: AbilityId.FLARE_BOOST }, + [SpeciesId.NIDORAN_M]: { 0: AbilityId.GUTS }, + [SpeciesId.NIDORINO]: { 0: AbilityId.GUTS }, + [SpeciesId.NIDOKING]: { 0: AbilityId.GUTS }, + [SpeciesId.VULPIX]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.NINETALES]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.ZUBAT]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.GOLBAT]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.CROBAT]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.ODDISH]: { 0: AbilityId.TRIAGE }, + [SpeciesId.GLOOM]: { 0: AbilityId.TRIAGE }, + [SpeciesId.VILEPLUME]: { 0: AbilityId.TRIAGE }, + [SpeciesId.BELLOSSOM]: { 0: AbilityId.TRIAGE }, + [SpeciesId.PARAS]: { 0: AbilityId.TRIAGE }, + [SpeciesId.PARASECT]: { 0: AbilityId.TRIAGE }, + [SpeciesId.VENONAT]: { 0: AbilityId.FLUFFY }, + [SpeciesId.VENOMOTH]: { 0: AbilityId.SIMPLE }, + [SpeciesId.DIGLETT]: { 0: AbilityId.STURDY }, + [SpeciesId.DUGTRIO]: { 0: AbilityId.STURDY }, + [SpeciesId.MEOWTH]: { 0: AbilityId.TOUGH_CLAWS, 1: AbilityId.TOUGH_CLAWS }, + [SpeciesId.PERSIAN]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.PSYDUCK]: { 0: AbilityId.SIMPLE }, + [SpeciesId.GOLDUCK]: { 0: AbilityId.SIMPLE }, + [SpeciesId.MANKEY]: { 0: AbilityId.IRON_FIST }, + [SpeciesId.PRIMEAPE]: { 0: AbilityId.IRON_FIST }, + [SpeciesId.ANNIHILAPE]: { 0: AbilityId.IRON_FIST }, + [SpeciesId.GROWLITHE]: { 0: AbilityId.FLUFFY }, + [SpeciesId.ARCANINE]: { 0: AbilityId.FLUFFY }, + [SpeciesId.POLIWAG]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.POLIWHIRL]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.POLIWRATH]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.POLITOED]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.ABRA]: { 0: AbilityId.COMATOSE }, + [SpeciesId.KADABRA]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.ALAKAZAM]: { 0: AbilityId.MAGICIAN, 1: AbilityId.MAGICIAN }, + [SpeciesId.MACHOP]: { 0: AbilityId.QUICK_FEET }, + [SpeciesId.MACHOKE]: { 0: AbilityId.QUICK_FEET }, + [SpeciesId.MACHAMP]: { 0: AbilityId.QUICK_FEET, 1: AbilityId.QUICK_FEET }, + [SpeciesId.BELLSPROUT]: { 0: AbilityId.FLOWER_GIFT }, + [SpeciesId.WEEPINBELL]: { 0: AbilityId.FLOWER_GIFT }, + [SpeciesId.VICTREEBEL]: { 0: AbilityId.FLOWER_GIFT }, + [SpeciesId.TENTACOOL]: { 0: AbilityId.TOXIC_CHAIN }, + [SpeciesId.TENTACRUEL]: { 0: AbilityId.TOXIC_CHAIN }, + [SpeciesId.GEODUDE]: { 0: AbilityId.DRY_SKIN }, + [SpeciesId.GRAVELER]: { 0: AbilityId.DRY_SKIN }, + [SpeciesId.GOLEM]: { 0: AbilityId.DRY_SKIN }, + [SpeciesId.PONYTA]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.RAPIDASH]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.SLOWPOKE]: { 0: AbilityId.UNAWARE }, + [SpeciesId.SLOWBRO]: { 0: AbilityId.UNAWARE, 1: AbilityId.REGENERATOR }, + [SpeciesId.SLOWKING]: { 0: AbilityId.UNAWARE }, + [SpeciesId.MAGNEMITE]: { 0: AbilityId.LEVITATE }, + [SpeciesId.MAGNETON]: { 0: AbilityId.LEVITATE }, + [SpeciesId.MAGNEZONE]: { 0: AbilityId.LEVITATE }, + [SpeciesId.FARFETCHD]: { 0: AbilityId.SNIPER }, + [SpeciesId.DODUO]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.DODRIO]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.SEEL]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.DEWGONG]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.GRIMER]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.MUK]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.SHELLDER]: { 0: AbilityId.STURDY }, + [SpeciesId.CLOYSTER]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.GASTLY]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.HAUNTER]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.GENGAR]: { 0: AbilityId.SHADOW_SHIELD, 1: AbilityId.UNNERVE, 2: AbilityId.GLUTTONY }, + [SpeciesId.ONIX]: { 0: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.STEELIX]: { 0: AbilityId.ROCKY_PAYLOAD, 1: AbilityId.SAND_SPIT }, + [SpeciesId.DROWZEE]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.HYPNO]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.KRABBY]: { 0: AbilityId.UNBURDEN }, + [SpeciesId.KINGLER]: { 0: AbilityId.UNBURDEN, 1: AbilityId.UNBURDEN }, + [SpeciesId.VOLTORB]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.ELECTRODE]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.EXEGGCUTE]: { 0: AbilityId.RIPEN }, + [SpeciesId.EXEGGUTOR]: { 0: AbilityId.RIPEN }, + [SpeciesId.ALOLA_EXEGGUTOR]: { 0: AbilityId.UNBURDEN }, + [SpeciesId.CUBONE]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.MAROWAK]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.ALOLA_MAROWAK]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.LICKITUNG]: { 0: AbilityId.CHEEK_POUCH }, + [SpeciesId.LICKILICKY]: { 0: AbilityId.CHEEK_POUCH }, + [SpeciesId.KOFFING]: { 0: AbilityId.WHITE_SMOKE }, + [SpeciesId.WEEZING]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.GALAR_WEEZING]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.RHYHORN]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.RHYDON]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.RHYPERIOR]: { 0: AbilityId.FILTER }, + [SpeciesId.TANGELA]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.TANGROWTH]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.KANGASKHAN]: { 0: AbilityId.TECHNICIAN, 1: AbilityId.TECHNICIAN }, + [SpeciesId.HORSEA]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.SEADRA]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.KINGDRA]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.GOLDEEN]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.SEAKING]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.STARYU]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.STARMIE]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.SCYTHER]: { 0: AbilityId.TINTED_LENS }, + [SpeciesId.SCIZOR]: { 0: AbilityId.TOUGH_CLAWS, 1: AbilityId.TOUGH_CLAWS }, + [SpeciesId.KLEAVOR]: { 0: AbilityId.WEAK_ARMOR }, + [SpeciesId.PINSIR]: { 0: AbilityId.TINTED_LENS, 1: AbilityId.MOLD_BREAKER }, + [SpeciesId.TAUROS]: { 0: AbilityId.STAMINA }, + [SpeciesId.MAGIKARP]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.GYARADOS]: { 0: AbilityId.MULTISCALE, 1: AbilityId.MULTISCALE }, + [SpeciesId.LAPRAS]: { 0: AbilityId.FILTER, 1: AbilityId.FILTER }, + [SpeciesId.DITTO]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.EEVEE]: { 0: AbilityId.PICKUP, 1: AbilityId.PICKUP, 2: AbilityId.FLUFFY }, + [SpeciesId.VAPOREON]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.JOLTEON]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.FLAREON]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.ESPEON]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.UMBREON]: { 0: AbilityId.TOXIC_CHAIN }, + [SpeciesId.LEAFEON]: { 0: AbilityId.GRASSY_SURGE }, + [SpeciesId.GLACEON]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.SYLVEON]: { 0: AbilityId.COMPETITIVE }, + [SpeciesId.PORYGON]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.PORYGON2]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.PORYGON_Z]: { 0: AbilityId.PROTEAN }, + [SpeciesId.OMANYTE]: { 0: AbilityId.STURDY }, + [SpeciesId.OMASTAR]: { 0: AbilityId.STURDY }, + [SpeciesId.KABUTO]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.KABUTOPS]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.AERODACTYL]: { 0: AbilityId.INTIMIDATE, 1: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.ARTICUNO]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.ZAPDOS]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.MOLTRES]: { 0: AbilityId.DROUGHT }, + [SpeciesId.DRATINI]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.DRAGONAIR]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.DRAGONITE]: { 0: AbilityId.AERILATE }, + [SpeciesId.MEWTWO]: { 0: AbilityId.NEUROFORCE, 1: AbilityId.NEUROFORCE, 2: AbilityId.NEUROFORCE }, + [SpeciesId.MEW]: { 0: AbilityId.PROTEAN }, - [Species.CHIKORITA]: { 0: Abilities.CUTE_CHARM }, - [Species.BAYLEEF]: { 0: Abilities.THICK_FAT }, - [Species.MEGANIUM]: { 0: Abilities.THICK_FAT }, - [Species.CYNDAQUIL]: { 0: Abilities.WHITE_SMOKE }, - [Species.QUILAVA]: { 0: Abilities.DROUGHT }, - [Species.TYPHLOSION]: { 0: Abilities.DROUGHT }, - [Species.HISUI_TYPHLOSION]: { 0: Abilities.DROUGHT }, - [Species.TOTODILE]: { 0: Abilities.TOUGH_CLAWS }, - [Species.CROCONAW]: { 0: Abilities.TOUGH_CLAWS }, - [Species.FERALIGATR]: { 0: Abilities.TOUGH_CLAWS }, - [Species.SENTRET]: { 0: Abilities.PICKUP }, - [Species.FURRET]: { 0: Abilities.PICKUP }, - [Species.HOOTHOOT]: { 0: Abilities.AERILATE }, - [Species.NOCTOWL]: { 0: Abilities.AERILATE }, - [Species.LEDYBA]: { 0: Abilities.PRANKSTER }, - [Species.LEDIAN]: { 0: Abilities.PRANKSTER }, - [Species.SPINARAK]: { 0: Abilities.PRANKSTER }, - [Species.ARIADOS]: { 0: Abilities.PRANKSTER }, - [Species.CHINCHOU]: { 0: Abilities.REGENERATOR }, - [Species.LANTURN]: { 0: Abilities.REGENERATOR }, - [Species.PICHU]: { 0: Abilities.ELECTRIC_SURGE, 1: Abilities.STURDY }, - [Species.PIKACHU]: { 0: Abilities.ELECTRIC_SURGE, 1: Abilities.STURDY, 2: Abilities.COSTAR, 3: Abilities.IRON_FIST, 4: Abilities.QUEENLY_MAJESTY, 5: Abilities.MISTY_SURGE, 6: Abilities.TINTED_LENS, 7: Abilities.LIBERO, 8: Abilities.THICK_FAT }, - [Species.RAICHU]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.ALOLA_RAICHU]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.CLEFFA]: { 0: Abilities.PRANKSTER }, - [Species.CLEFAIRY]: { 0: Abilities.PRANKSTER }, - [Species.CLEFABLE]: { 0: Abilities.ANALYTIC }, - [Species.IGGLYBUFF]: { 0: Abilities.HUGE_POWER }, - [Species.JIGGLYPUFF]: { 0: Abilities.HUGE_POWER }, - [Species.WIGGLYTUFF]: { 0: Abilities.HUGE_POWER }, - [Species.TOGEPI]: { 0: Abilities.PIXILATE }, - [Species.TOGETIC]: { 0: Abilities.PIXILATE }, - [Species.TOGEKISS]: { 0: Abilities.PIXILATE }, - [Species.NATU]: { 0: Abilities.TINTED_LENS }, - [Species.XATU]: { 0: Abilities.SHEER_FORCE }, - [Species.MAREEP]: { 0: Abilities.ELECTROMORPHOSIS }, - [Species.FLAAFFY]: { 0: Abilities.ELECTROMORPHOSIS }, - [Species.AMPHAROS]: { 0: Abilities.ELECTROMORPHOSIS, 1: Abilities.ELECTROMORPHOSIS }, - [Species.HOPPIP]: { 0: Abilities.WIND_RIDER }, - [Species.SKIPLOOM]: { 0: Abilities.WIND_RIDER }, - [Species.JUMPLUFF]: { 0: Abilities.FLUFFY }, - [Species.AIPOM]: { 0: Abilities.SCRAPPY }, - [Species.AMBIPOM]: { 0: Abilities.SCRAPPY }, - [Species.SUNKERN]: { 0: Abilities.DROUGHT }, - [Species.SUNFLORA]: { 0: Abilities.DROUGHT }, - [Species.YANMA]: { 0: Abilities.TECHNICIAN }, - [Species.YANMEGA]: { 0: Abilities.SHEER_FORCE }, - [Species.WOOPER]: { 0: Abilities.WATER_VEIL }, - [Species.QUAGSIRE]: { 0: Abilities.COMATOSE }, - [Species.MURKROW]: { 0: Abilities.DARK_AURA }, - [Species.HONCHKROW]: { 0: Abilities.DARK_AURA }, - [Species.MISDREAVUS]: { 0: Abilities.BEADS_OF_RUIN }, - [Species.MISMAGIUS]: { 0: Abilities.BEADS_OF_RUIN }, - [Species.UNOWN]: { 0: Abilities.ADAPTABILITY, 1: Abilities.BEAST_BOOST, 2: Abilities.CONTRARY, 3: Abilities.DAZZLING, 4: Abilities.EMERGENCY_EXIT, 5: Abilities.FRIEND_GUARD, 6: Abilities.GOOD_AS_GOLD, 7: Abilities.HONEY_GATHER, 8: Abilities.IMPOSTER, 9: Abilities.JUSTIFIED, 10: Abilities.KLUTZ, 11: Abilities.LIBERO, 12: Abilities.MOODY, 13: Abilities.NEUTRALIZING_GAS, 14: Abilities.OPPORTUNIST, 15: Abilities.PICKUP, 16: Abilities.QUICK_DRAW, 17: Abilities.RUN_AWAY, 18: Abilities.SIMPLE, 19: Abilities.TRACE, 20: Abilities.UNNERVE, 21: Abilities.VICTORY_STAR, 22: Abilities.WANDERING_SPIRIT, 23: Abilities.FAIRY_AURA, 24: Abilities.DARK_AURA, 25: Abilities.AURA_BREAK, 26: Abilities.PURE_POWER, 27: Abilities.UNAWARE }, - [Species.GIRAFARIG]: { 0: Abilities.PARENTAL_BOND }, - [Species.FARIGIRAF]: { 0: Abilities.PARENTAL_BOND }, - [Species.PINECO]: { 0: Abilities.ROUGH_SKIN }, - [Species.FORRETRESS]: { 0: Abilities.IRON_BARBS }, - [Species.DUNSPARCE]: { 0: Abilities.UNAWARE }, - [Species.DUDUNSPARCE]: { 0: Abilities.UNAWARE, 1: Abilities.UNAWARE }, - [Species.GLIGAR]: { 0: Abilities.POISON_TOUCH }, - [Species.GLISCOR]: { 0: Abilities.TOXIC_BOOST }, - [Species.SNUBBULL]: { 0: Abilities.PIXILATE }, - [Species.GRANBULL]: { 0: Abilities.PIXILATE }, - [Species.QWILFISH]: { 0: Abilities.TOXIC_DEBRIS }, - [Species.SHUCKLE]: { 0: Abilities.HARVEST }, - [Species.HERACROSS]: { 0: Abilities.TECHNICIAN, 1: Abilities.TECHNICIAN }, - [Species.SNEASEL]: { 0: Abilities.TOUGH_CLAWS }, - [Species.WEAVILE]: { 0: Abilities.TOUGH_CLAWS }, - [Species.TEDDIURSA]: { 0: Abilities.RUN_AWAY }, - [Species.URSARING]: { 0: Abilities.THICK_FAT }, - [Species.URSALUNA]: { 0: Abilities.THICK_FAT }, - [Species.SLUGMA]: { 0: Abilities.DROUGHT }, - [Species.MAGCARGO]: { 0: Abilities.DESOLATE_LAND }, - [Species.SWINUB]: { 0: Abilities.UNAWARE }, - [Species.PILOSWINE]: { 0: Abilities.UNAWARE }, - [Species.MAMOSWINE]: { 0: Abilities.SLUSH_RUSH }, - [Species.CORSOLA]: { 0: Abilities.STORM_DRAIN }, - [Species.REMORAID]: { 0: Abilities.SIMPLE }, - [Species.OCTILLERY]: { 0: Abilities.SIMPLE }, - [Species.DELIBIRD]: { 0: Abilities.HUGE_POWER }, - [Species.SKARMORY]: { 0: Abilities.LIGHTNING_ROD }, - [Species.HOUNDOUR]: { 0: Abilities.BALL_FETCH }, - [Species.HOUNDOOM]: { 0: Abilities.LIGHTNING_ROD, 1: Abilities.LIGHTNING_ROD }, - [Species.PHANPY]: { 0: Abilities.STURDY }, - [Species.DONPHAN]: { 0: Abilities.SPEED_BOOST }, - [Species.STANTLER]: { 0: Abilities.SPEED_BOOST }, - [Species.WYRDEER]: { 0: Abilities.SPEED_BOOST }, - [Species.SMEARGLE]: { 0: Abilities.PRANKSTER }, - [Species.TYROGUE]: { 0: Abilities.DEFIANT }, - [Species.HITMONLEE]: { 0: Abilities.SHEER_FORCE }, - [Species.HITMONCHAN]: { 0: Abilities.MOXIE }, - [Species.HITMONTOP]: { 0: Abilities.SPEED_BOOST }, - [Species.SMOOCHUM]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.JYNX]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.ELEKID]: { 0: Abilities.SHEER_FORCE }, - [Species.ELECTABUZZ]: { 0: Abilities.SHEER_FORCE }, - [Species.ELECTIVIRE]: { 0: Abilities.SHEER_FORCE }, - [Species.MAGBY]: { 0: Abilities.SHEER_FORCE }, - [Species.MAGMAR]: { 0: Abilities.SHEER_FORCE }, - [Species.MAGMORTAR]: { 0: Abilities.SHEER_FORCE }, - [Species.MILTANK]: { 0: Abilities.STAMINA }, - [Species.RAIKOU]: { 0: Abilities.BEAST_BOOST }, - [Species.ENTEI]: { 0: Abilities.BEAST_BOOST }, - [Species.SUICUNE]: { 0: Abilities.BEAST_BOOST }, - [Species.LARVITAR]: { 0: Abilities.SOLID_ROCK }, - [Species.PUPITAR]: { 0: Abilities.SOLID_ROCK }, - [Species.TYRANITAR]: { 0: Abilities.SOLID_ROCK, 1: Abilities.SOLID_ROCK }, - [Species.LUGIA]: { 0: Abilities.DELTA_STREAM }, - [Species.HO_OH]: { 0: Abilities.MAGIC_GUARD }, - [Species.CELEBI]: { 0: Abilities.PSYCHIC_SURGE }, + [SpeciesId.CHIKORITA]: { 0: AbilityId.CUTE_CHARM }, + [SpeciesId.BAYLEEF]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.MEGANIUM]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.CYNDAQUIL]: { 0: AbilityId.WHITE_SMOKE }, + [SpeciesId.QUILAVA]: { 0: AbilityId.DROUGHT }, + [SpeciesId.TYPHLOSION]: { 0: AbilityId.DROUGHT }, + [SpeciesId.HISUI_TYPHLOSION]: { 0: AbilityId.DROUGHT }, + [SpeciesId.TOTODILE]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.CROCONAW]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.FERALIGATR]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.SENTRET]: { 0: AbilityId.PICKUP }, + [SpeciesId.FURRET]: { 0: AbilityId.PICKUP }, + [SpeciesId.HOOTHOOT]: { 0: AbilityId.AERILATE }, + [SpeciesId.NOCTOWL]: { 0: AbilityId.AERILATE }, + [SpeciesId.LEDYBA]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.LEDIAN]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.SPINARAK]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.ARIADOS]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.CHINCHOU]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.LANTURN]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.PICHU]: { 0: AbilityId.ELECTRIC_SURGE, 1: AbilityId.STURDY }, + [SpeciesId.PIKACHU]: { 0: AbilityId.ELECTRIC_SURGE, 1: AbilityId.STURDY, 2: AbilityId.COSTAR, 3: AbilityId.IRON_FIST, 4: AbilityId.QUEENLY_MAJESTY, 5: AbilityId.MISTY_SURGE, 6: AbilityId.TINTED_LENS, 7: AbilityId.LIBERO, 8: AbilityId.THICK_FAT }, + [SpeciesId.RAICHU]: { 0: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.ALOLA_RAICHU]: { 0: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.CLEFFA]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.CLEFAIRY]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.CLEFABLE]: { 0: AbilityId.ANALYTIC }, + [SpeciesId.IGGLYBUFF]: { 0: AbilityId.HUGE_POWER }, + [SpeciesId.JIGGLYPUFF]: { 0: AbilityId.HUGE_POWER }, + [SpeciesId.WIGGLYTUFF]: { 0: AbilityId.HUGE_POWER }, + [SpeciesId.TOGEPI]: { 0: AbilityId.PIXILATE }, + [SpeciesId.TOGETIC]: { 0: AbilityId.PIXILATE }, + [SpeciesId.TOGEKISS]: { 0: AbilityId.PIXILATE }, + [SpeciesId.NATU]: { 0: AbilityId.TINTED_LENS }, + [SpeciesId.XATU]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.MAREEP]: { 0: AbilityId.ELECTROMORPHOSIS }, + [SpeciesId.FLAAFFY]: { 0: AbilityId.ELECTROMORPHOSIS }, + [SpeciesId.AMPHAROS]: { 0: AbilityId.ELECTROMORPHOSIS, 1: AbilityId.ELECTROMORPHOSIS }, + [SpeciesId.HOPPIP]: { 0: AbilityId.WIND_RIDER }, + [SpeciesId.SKIPLOOM]: { 0: AbilityId.WIND_RIDER }, + [SpeciesId.JUMPLUFF]: { 0: AbilityId.FLUFFY }, + [SpeciesId.AIPOM]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.AMBIPOM]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.SUNKERN]: { 0: AbilityId.DROUGHT }, + [SpeciesId.SUNFLORA]: { 0: AbilityId.DROUGHT }, + [SpeciesId.YANMA]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.YANMEGA]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.WOOPER]: { 0: AbilityId.WATER_VEIL }, + [SpeciesId.QUAGSIRE]: { 0: AbilityId.COMATOSE }, + [SpeciesId.MURKROW]: { 0: AbilityId.DARK_AURA }, + [SpeciesId.HONCHKROW]: { 0: AbilityId.DARK_AURA }, + [SpeciesId.MISDREAVUS]: { 0: AbilityId.BEADS_OF_RUIN }, + [SpeciesId.MISMAGIUS]: { 0: AbilityId.BEADS_OF_RUIN }, + [SpeciesId.UNOWN]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.BEAST_BOOST, 2: AbilityId.CONTRARY, 3: AbilityId.DAZZLING, 4: AbilityId.EMERGENCY_EXIT, 5: AbilityId.FRIEND_GUARD, 6: AbilityId.GOOD_AS_GOLD, 7: AbilityId.HONEY_GATHER, 8: AbilityId.IMPOSTER, 9: AbilityId.JUSTIFIED, 10: AbilityId.KLUTZ, 11: AbilityId.LIBERO, 12: AbilityId.MOODY, 13: AbilityId.NEUTRALIZING_GAS, 14: AbilityId.OPPORTUNIST, 15: AbilityId.PICKUP, 16: AbilityId.QUICK_DRAW, 17: AbilityId.RUN_AWAY, 18: AbilityId.SIMPLE, 19: AbilityId.TRACE, 20: AbilityId.UNNERVE, 21: AbilityId.VICTORY_STAR, 22: AbilityId.WANDERING_SPIRIT, 23: AbilityId.FAIRY_AURA, 24: AbilityId.DARK_AURA, 25: AbilityId.AURA_BREAK, 26: AbilityId.PURE_POWER, 27: AbilityId.UNAWARE }, + [SpeciesId.GIRAFARIG]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.FARIGIRAF]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.PINECO]: { 0: AbilityId.ROUGH_SKIN }, + [SpeciesId.FORRETRESS]: { 0: AbilityId.IRON_BARBS }, + [SpeciesId.DUNSPARCE]: { 0: AbilityId.UNAWARE }, + [SpeciesId.DUDUNSPARCE]: { 0: AbilityId.UNAWARE, 1: AbilityId.UNAWARE }, + [SpeciesId.GLIGAR]: { 0: AbilityId.POISON_TOUCH }, + [SpeciesId.GLISCOR]: { 0: AbilityId.TOXIC_BOOST }, + [SpeciesId.SNUBBULL]: { 0: AbilityId.PIXILATE }, + [SpeciesId.GRANBULL]: { 0: AbilityId.PIXILATE }, + [SpeciesId.QWILFISH]: { 0: AbilityId.TOXIC_DEBRIS }, + [SpeciesId.SHUCKLE]: { 0: AbilityId.HARVEST }, + [SpeciesId.HERACROSS]: { 0: AbilityId.TECHNICIAN, 1: AbilityId.TECHNICIAN }, + [SpeciesId.SNEASEL]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.WEAVILE]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.TEDDIURSA]: { 0: AbilityId.RUN_AWAY }, + [SpeciesId.URSARING]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.URSALUNA]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.SLUGMA]: { 0: AbilityId.DROUGHT }, + [SpeciesId.MAGCARGO]: { 0: AbilityId.DESOLATE_LAND }, + [SpeciesId.SWINUB]: { 0: AbilityId.UNAWARE }, + [SpeciesId.PILOSWINE]: { 0: AbilityId.UNAWARE }, + [SpeciesId.MAMOSWINE]: { 0: AbilityId.SLUSH_RUSH }, + [SpeciesId.CORSOLA]: { 0: AbilityId.STORM_DRAIN }, + [SpeciesId.REMORAID]: { 0: AbilityId.SIMPLE }, + [SpeciesId.OCTILLERY]: { 0: AbilityId.SIMPLE }, + [SpeciesId.DELIBIRD]: { 0: AbilityId.HUGE_POWER }, + [SpeciesId.SKARMORY]: { 0: AbilityId.LIGHTNING_ROD }, + [SpeciesId.HOUNDOUR]: { 0: AbilityId.BALL_FETCH }, + [SpeciesId.HOUNDOOM]: { 0: AbilityId.LIGHTNING_ROD, 1: AbilityId.LIGHTNING_ROD }, + [SpeciesId.PHANPY]: { 0: AbilityId.STURDY }, + [SpeciesId.DONPHAN]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.STANTLER]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.WYRDEER]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.SMEARGLE]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.TYROGUE]: { 0: AbilityId.DEFIANT }, + [SpeciesId.HITMONLEE]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.HITMONCHAN]: { 0: AbilityId.MOXIE }, + [SpeciesId.HITMONTOP]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.SMOOCHUM]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.JYNX]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.ELEKID]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.ELECTABUZZ]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.ELECTIVIRE]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.MAGBY]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.MAGMAR]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.MAGMORTAR]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.MILTANK]: { 0: AbilityId.STAMINA }, + [SpeciesId.RAIKOU]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.ENTEI]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.SUICUNE]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.LARVITAR]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.PUPITAR]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.TYRANITAR]: { 0: AbilityId.SOLID_ROCK, 1: AbilityId.SOLID_ROCK }, + [SpeciesId.LUGIA]: { 0: AbilityId.DELTA_STREAM }, + [SpeciesId.HO_OH]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.CELEBI]: { 0: AbilityId.PSYCHIC_SURGE }, - [Species.TREECKO]: { 0: Abilities.TINTED_LENS }, - [Species.GROVYLE]: { 0: Abilities.TINTED_LENS }, - [Species.SCEPTILE]: { 0: Abilities.TINTED_LENS, 1: Abilities.TINTED_LENS }, - [Species.TORCHIC]: { 0: Abilities.DEFIANT }, - [Species.COMBUSKEN]: { 0: Abilities.DEFIANT }, - [Species.BLAZIKEN]: { 0: Abilities.DEFIANT, 1: Abilities.DEFIANT }, - [Species.MUDKIP]: { 0: Abilities.REGENERATOR }, - [Species.MARSHTOMP]: { 0: Abilities.REGENERATOR }, - [Species.SWAMPERT]: { 0: Abilities.REGENERATOR, 1: Abilities.DRIZZLE }, - [Species.POOCHYENA]: { 0: Abilities.TOUGH_CLAWS }, - [Species.MIGHTYENA]: { 0: Abilities.TOUGH_CLAWS }, - [Species.ZIGZAGOON]: { 0: Abilities.RUN_AWAY }, - [Species.LINOONE]: { 0: Abilities.RUN_AWAY }, - [Species.WURMPLE]: { 0: Abilities.GLUTTONY }, - [Species.SILCOON]: { 0: Abilities.STURDY }, - [Species.BEAUTIFLY]: { 0: Abilities.SIMPLE }, - [Species.CASCOON]: { 0: Abilities.STURDY }, - [Species.DUSTOX]: { 0: Abilities.SIMPLE }, - [Species.LOTAD]: { 0: Abilities.DRIZZLE }, - [Species.LOMBRE]: { 0: Abilities.DRIZZLE }, - [Species.LUDICOLO]: { 0: Abilities.DRIZZLE }, - [Species.SEEDOT]: { 0: Abilities.STURDY }, - [Species.NUZLEAF]: { 0: Abilities.SHARPNESS }, - [Species.SHIFTRY]: { 0: Abilities.SHARPNESS }, - [Species.TAILLOW]: { 0: Abilities.AERILATE }, - [Species.SWELLOW]: { 0: Abilities.AERILATE }, - [Species.WINGULL]: { 0: Abilities.WATER_ABSORB }, - [Species.PELIPPER]: { 0: Abilities.SWIFT_SWIM }, - [Species.RALTS]: { 0: Abilities.NEUROFORCE }, - [Species.KIRLIA]: { 0: Abilities.NEUROFORCE }, - [Species.GARDEVOIR]: { 0: Abilities.NEUROFORCE, 1: Abilities.PSYCHIC_SURGE }, - [Species.GALLADE]: { 0: Abilities.NEUROFORCE, 1: Abilities.SHARPNESS }, - [Species.SURSKIT]: { 0: Abilities.WATER_BUBBLE }, - [Species.MASQUERAIN]: { 0: Abilities.WATER_BUBBLE }, - [Species.SHROOMISH]: { 0: Abilities.GUTS }, - [Species.BRELOOM]: { 0: Abilities.GUTS }, - [Species.SLAKOTH]: { 0: Abilities.GUTS }, - [Species.VIGOROTH]: { 0: Abilities.GUTS }, - [Species.SLAKING]: { 0: Abilities.GUTS }, - [Species.NINCADA]: { 0: Abilities.TECHNICIAN }, - [Species.NINJASK]: { 0: Abilities.TECHNICIAN }, - [Species.SHEDINJA]: { 0: Abilities.MAGIC_GUARD }, - [Species.WHISMUR]: { 0: Abilities.PUNK_ROCK }, - [Species.LOUDRED]: { 0: Abilities.PUNK_ROCK }, - [Species.EXPLOUD]: { 0: Abilities.PUNK_ROCK }, - [Species.MAKUHITA]: { 0: Abilities.STAMINA }, - [Species.HARIYAMA]: { 0: Abilities.STAMINA }, - [Species.AZURILL]: { 0: Abilities.MISTY_SURGE }, - [Species.MARILL]: { 0: Abilities.MISTY_SURGE }, - [Species.AZUMARILL]: { 0: Abilities.MISTY_SURGE }, - [Species.NOSEPASS]: { 0: Abilities.SOLID_ROCK }, - [Species.PROBOPASS]: { 0: Abilities.LEVITATE }, - [Species.SKITTY]: { 0: Abilities.SCRAPPY }, - [Species.DELCATTY]: { 0: Abilities.SCRAPPY }, - [Species.SABLEYE]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, - [Species.MAWILE]: { 0: Abilities.ADAPTABILITY, 1: Abilities.INTIMIDATE }, - [Species.ARON]: { 0: Abilities.EARTH_EATER }, - [Species.LAIRON]: { 0: Abilities.EARTH_EATER }, - [Species.AGGRON]: { 0: Abilities.EARTH_EATER, 1: Abilities.ROCKY_PAYLOAD }, - [Species.MEDITITE]: { 0: Abilities.MINDS_EYE }, - [Species.MEDICHAM]: { 0: Abilities.MINDS_EYE, 1: Abilities.MINDS_EYE }, - [Species.ELECTRIKE]: { 0: Abilities.BALL_FETCH }, - [Species.MANECTRIC]: { 0: Abilities.FLASH_FIRE, 1: Abilities.FLASH_FIRE }, - [Species.PLUSLE]: { 0: Abilities.POWER_SPOT }, - [Species.MINUN]: { 0: Abilities.POWER_SPOT }, - [Species.VOLBEAT]: { 0: Abilities.HONEY_GATHER }, - [Species.ILLUMISE]: { 0: Abilities.HONEY_GATHER }, - [Species.GULPIN]: { 0: Abilities.EARTH_EATER }, - [Species.SWALOT]: { 0: Abilities.EARTH_EATER }, - [Species.CARVANHA]: { 0: Abilities.SHEER_FORCE }, - [Species.SHARPEDO]: { 0: Abilities.SHEER_FORCE, 1: Abilities.SPEED_BOOST }, - [Species.WAILMER]: { 0: Abilities.LEVITATE }, - [Species.WAILORD]: { 0: Abilities.LEVITATE }, - [Species.NUMEL]: { 0: Abilities.SOLID_ROCK }, - [Species.CAMERUPT]: { 0: Abilities.FUR_COAT, 1: Abilities.STAMINA }, - [Species.TORKOAL]: { 0: Abilities.ANALYTIC }, - [Species.SPOINK]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.GRUMPIG]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.SPINDA]: { 0: Abilities.SIMPLE }, - [Species.TRAPINCH]: { 0: Abilities.ADAPTABILITY }, - [Species.VIBRAVA]: { 0: Abilities.ADAPTABILITY }, - [Species.FLYGON]: { 0: Abilities.ADAPTABILITY }, - [Species.CACNEA]: { 0: Abilities.SAND_RUSH }, - [Species.CACTURNE]: { 0: Abilities.SAND_RUSH }, - [Species.SWABLU]: { 0: Abilities.FLUFFY }, - [Species.ALTARIA]: { 0: Abilities.FLUFFY, 1: Abilities.FLUFFY }, - [Species.ZANGOOSE]: { 0: Abilities.POISON_HEAL }, - [Species.SEVIPER]: { 0: Abilities.MULTISCALE }, - [Species.LUNATONE]: { 0: Abilities.SHADOW_SHIELD }, - [Species.SOLROCK]: { 0: Abilities.DROUGHT }, - [Species.BARBOACH]: { 0: Abilities.SIMPLE }, - [Species.WHISCASH]: { 0: Abilities.SIMPLE }, - [Species.CORPHISH]: { 0: Abilities.TOUGH_CLAWS }, - [Species.CRAWDAUNT]: { 0: Abilities.TOUGH_CLAWS }, - [Species.BALTOY]: { 0: Abilities.WELL_BAKED_BODY }, - [Species.CLAYDOL]: { 0: Abilities.WELL_BAKED_BODY }, - [Species.LILEEP]: { 0: Abilities.SEED_SOWER }, - [Species.CRADILY]: { 0: Abilities.SEED_SOWER }, - [Species.ANORITH]: { 0: Abilities.WATER_ABSORB }, - [Species.ARMALDO]: { 0: Abilities.WATER_ABSORB }, - [Species.FEEBAS]: { 0: Abilities.MULTISCALE }, - [Species.MILOTIC]: { 0: Abilities.MAGIC_GUARD }, - [Species.CASTFORM]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY }, - [Species.KECLEON]: { 0: Abilities.ADAPTABILITY }, - [Species.SHUPPET]: { 0: Abilities.SHADOW_SHIELD }, - [Species.BANETTE]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, - [Species.DUSKULL]: { 0: Abilities.UNNERVE }, - [Species.DUSCLOPS]: { 0: Abilities.UNNERVE }, - [Species.DUSKNOIR]: { 0: Abilities.UNNERVE }, - [Species.TROPIUS]: { 0: Abilities.RIPEN }, - [Species.ABSOL]: { 0: Abilities.SHARPNESS, 1: Abilities.SHARPNESS }, - [Species.WYNAUT]: { 0: Abilities.STURDY }, - [Species.WOBBUFFET]: { 0: Abilities.STURDY }, - [Species.SNORUNT]: { 0: Abilities.SNOW_WARNING }, - [Species.GLALIE]: { 0: Abilities.SNOW_WARNING, 1: Abilities.SNOW_WARNING }, - [Species.FROSLASS]: { 0: Abilities.SNOW_WARNING }, - [Species.SPHEAL]: { 0: Abilities.UNAWARE }, - [Species.SEALEO]: { 0: Abilities.UNAWARE }, - [Species.WALREIN]: { 0: Abilities.UNAWARE }, - [Species.CLAMPERL]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.GOREBYSS]: { 0: Abilities.ARENA_TRAP }, - [Species.HUNTAIL]: { 0: Abilities.ARENA_TRAP }, - [Species.RELICANTH]: { 0: Abilities.PRIMORDIAL_SEA }, - [Species.LUVDISC]: { 0: Abilities.MULTISCALE }, - [Species.BAGON]: { 0: Abilities.INTIMIDATE }, - [Species.SHELGON]: { 0: Abilities.ANGER_SHELL }, - [Species.SALAMENCE]: { 0: Abilities.GALE_WINGS, 1: Abilities.ROCK_HEAD }, - [Species.BELDUM]: { 0: Abilities.LEVITATE }, - [Species.METANG]: { 0: Abilities.LEVITATE }, - [Species.METAGROSS]: { 0: Abilities.LEVITATE, 1: Abilities.FULL_METAL_BODY }, - [Species.REGIROCK]: { 0: Abilities.SAND_STREAM }, - [Species.REGICE]: { 0: Abilities.SNOW_WARNING }, - [Species.REGISTEEL]: { 0: Abilities.STEELY_SPIRIT }, - [Species.LATIAS]: { 0: Abilities.SPEED_BOOST, 1: Abilities.PRISM_ARMOR }, - [Species.LATIOS]: { 0: Abilities.SPEED_BOOST, 1: Abilities.TINTED_LENS }, - [Species.KYOGRE]: { 0: Abilities.MOLD_BREAKER, 1: Abilities.TERAVOLT }, - [Species.GROUDON]: { 0: Abilities.MOLD_BREAKER, 1: Abilities.TURBOBLAZE }, - [Species.RAYQUAZA]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, - [Species.JIRACHI]: { 0: Abilities.COMATOSE }, - [Species.DEOXYS]: { 0: Abilities.PROTEAN, 1: Abilities.ADAPTABILITY, 2: Abilities.REGENERATOR, 3: Abilities.SHADOW_SHIELD }, + [SpeciesId.TREECKO]: { 0: AbilityId.TINTED_LENS }, + [SpeciesId.GROVYLE]: { 0: AbilityId.TINTED_LENS }, + [SpeciesId.SCEPTILE]: { 0: AbilityId.TINTED_LENS, 1: AbilityId.TINTED_LENS }, + [SpeciesId.TORCHIC]: { 0: AbilityId.DEFIANT }, + [SpeciesId.COMBUSKEN]: { 0: AbilityId.DEFIANT }, + [SpeciesId.BLAZIKEN]: { 0: AbilityId.DEFIANT, 1: AbilityId.DEFIANT }, + [SpeciesId.MUDKIP]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.MARSHTOMP]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.SWAMPERT]: { 0: AbilityId.REGENERATOR, 1: AbilityId.DRIZZLE }, + [SpeciesId.POOCHYENA]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.MIGHTYENA]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.ZIGZAGOON]: { 0: AbilityId.RUN_AWAY }, + [SpeciesId.LINOONE]: { 0: AbilityId.RUN_AWAY }, + [SpeciesId.WURMPLE]: { 0: AbilityId.GLUTTONY }, + [SpeciesId.SILCOON]: { 0: AbilityId.STURDY }, + [SpeciesId.BEAUTIFLY]: { 0: AbilityId.SIMPLE }, + [SpeciesId.CASCOON]: { 0: AbilityId.STURDY }, + [SpeciesId.DUSTOX]: { 0: AbilityId.SIMPLE }, + [SpeciesId.LOTAD]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.LOMBRE]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.LUDICOLO]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.SEEDOT]: { 0: AbilityId.STURDY }, + [SpeciesId.NUZLEAF]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.SHIFTRY]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.TAILLOW]: { 0: AbilityId.AERILATE }, + [SpeciesId.SWELLOW]: { 0: AbilityId.AERILATE }, + [SpeciesId.WINGULL]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.PELIPPER]: { 0: AbilityId.SWIFT_SWIM }, + [SpeciesId.RALTS]: { 0: AbilityId.NEUROFORCE }, + [SpeciesId.KIRLIA]: { 0: AbilityId.NEUROFORCE }, + [SpeciesId.GARDEVOIR]: { 0: AbilityId.NEUROFORCE, 1: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.GALLADE]: { 0: AbilityId.NEUROFORCE, 1: AbilityId.SHARPNESS }, + [SpeciesId.SURSKIT]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.MASQUERAIN]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.SHROOMISH]: { 0: AbilityId.GUTS }, + [SpeciesId.BRELOOM]: { 0: AbilityId.GUTS }, + [SpeciesId.SLAKOTH]: { 0: AbilityId.GUTS }, + [SpeciesId.VIGOROTH]: { 0: AbilityId.GUTS }, + [SpeciesId.SLAKING]: { 0: AbilityId.GUTS }, + [SpeciesId.NINCADA]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.NINJASK]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.SHEDINJA]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.WHISMUR]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.LOUDRED]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.EXPLOUD]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.MAKUHITA]: { 0: AbilityId.STAMINA }, + [SpeciesId.HARIYAMA]: { 0: AbilityId.STAMINA }, + [SpeciesId.AZURILL]: { 0: AbilityId.MISTY_SURGE }, + [SpeciesId.MARILL]: { 0: AbilityId.MISTY_SURGE }, + [SpeciesId.AZUMARILL]: { 0: AbilityId.MISTY_SURGE }, + [SpeciesId.NOSEPASS]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.PROBOPASS]: { 0: AbilityId.LEVITATE }, + [SpeciesId.SKITTY]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.DELCATTY]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.SABLEYE]: { 0: AbilityId.UNNERVE, 1: AbilityId.UNNERVE }, + [SpeciesId.MAWILE]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.INTIMIDATE }, + [SpeciesId.ARON]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.LAIRON]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.AGGRON]: { 0: AbilityId.EARTH_EATER, 1: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.MEDITITE]: { 0: AbilityId.MINDS_EYE }, + [SpeciesId.MEDICHAM]: { 0: AbilityId.MINDS_EYE, 1: AbilityId.MINDS_EYE }, + [SpeciesId.ELECTRIKE]: { 0: AbilityId.BALL_FETCH }, + [SpeciesId.MANECTRIC]: { 0: AbilityId.FLASH_FIRE, 1: AbilityId.FLASH_FIRE }, + [SpeciesId.PLUSLE]: { 0: AbilityId.POWER_SPOT }, + [SpeciesId.MINUN]: { 0: AbilityId.POWER_SPOT }, + [SpeciesId.VOLBEAT]: { 0: AbilityId.HONEY_GATHER }, + [SpeciesId.ILLUMISE]: { 0: AbilityId.HONEY_GATHER }, + [SpeciesId.GULPIN]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.SWALOT]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.CARVANHA]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.SHARPEDO]: { 0: AbilityId.SHEER_FORCE, 1: AbilityId.SPEED_BOOST }, + [SpeciesId.WAILMER]: { 0: AbilityId.LEVITATE }, + [SpeciesId.WAILORD]: { 0: AbilityId.LEVITATE }, + [SpeciesId.NUMEL]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.CAMERUPT]: { 0: AbilityId.FUR_COAT, 1: AbilityId.STAMINA }, + [SpeciesId.TORKOAL]: { 0: AbilityId.ANALYTIC }, + [SpeciesId.SPOINK]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.GRUMPIG]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.SPINDA]: { 0: AbilityId.SIMPLE }, + [SpeciesId.TRAPINCH]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.VIBRAVA]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.FLYGON]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.CACNEA]: { 0: AbilityId.SAND_RUSH }, + [SpeciesId.CACTURNE]: { 0: AbilityId.SAND_RUSH }, + [SpeciesId.SWABLU]: { 0: AbilityId.FLUFFY }, + [SpeciesId.ALTARIA]: { 0: AbilityId.FLUFFY, 1: AbilityId.FLUFFY }, + [SpeciesId.ZANGOOSE]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.SEVIPER]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.LUNATONE]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.SOLROCK]: { 0: AbilityId.DROUGHT }, + [SpeciesId.BARBOACH]: { 0: AbilityId.SIMPLE }, + [SpeciesId.WHISCASH]: { 0: AbilityId.SIMPLE }, + [SpeciesId.CORPHISH]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.CRAWDAUNT]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.BALTOY]: { 0: AbilityId.WELL_BAKED_BODY }, + [SpeciesId.CLAYDOL]: { 0: AbilityId.WELL_BAKED_BODY }, + [SpeciesId.LILEEP]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.CRADILY]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.ANORITH]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.ARMALDO]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.FEEBAS]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.MILOTIC]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.CASTFORM]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.ADAPTABILITY, 2: AbilityId.ADAPTABILITY, 3: AbilityId.ADAPTABILITY }, + [SpeciesId.KECLEON]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.SHUPPET]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.BANETTE]: { 0: AbilityId.SHADOW_SHIELD, 1: AbilityId.SHADOW_SHIELD }, + [SpeciesId.DUSKULL]: { 0: AbilityId.UNNERVE }, + [SpeciesId.DUSCLOPS]: { 0: AbilityId.UNNERVE }, + [SpeciesId.DUSKNOIR]: { 0: AbilityId.UNNERVE }, + [SpeciesId.TROPIUS]: { 0: AbilityId.RIPEN }, + [SpeciesId.ABSOL]: { 0: AbilityId.SHARPNESS, 1: AbilityId.SHARPNESS }, + [SpeciesId.WYNAUT]: { 0: AbilityId.STURDY }, + [SpeciesId.WOBBUFFET]: { 0: AbilityId.STURDY }, + [SpeciesId.SNORUNT]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.GLALIE]: { 0: AbilityId.SNOW_WARNING, 1: AbilityId.SNOW_WARNING }, + [SpeciesId.FROSLASS]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.SPHEAL]: { 0: AbilityId.UNAWARE }, + [SpeciesId.SEALEO]: { 0: AbilityId.UNAWARE }, + [SpeciesId.WALREIN]: { 0: AbilityId.UNAWARE }, + [SpeciesId.CLAMPERL]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.GOREBYSS]: { 0: AbilityId.ARENA_TRAP }, + [SpeciesId.HUNTAIL]: { 0: AbilityId.ARENA_TRAP }, + [SpeciesId.RELICANTH]: { 0: AbilityId.PRIMORDIAL_SEA }, + [SpeciesId.LUVDISC]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.BAGON]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.SHELGON]: { 0: AbilityId.ANGER_SHELL }, + [SpeciesId.SALAMENCE]: { 0: AbilityId.GALE_WINGS, 1: AbilityId.ROCK_HEAD }, + [SpeciesId.BELDUM]: { 0: AbilityId.LEVITATE }, + [SpeciesId.METANG]: { 0: AbilityId.LEVITATE }, + [SpeciesId.METAGROSS]: { 0: AbilityId.LEVITATE, 1: AbilityId.FULL_METAL_BODY }, + [SpeciesId.REGIROCK]: { 0: AbilityId.SAND_STREAM }, + [SpeciesId.REGICE]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.REGISTEEL]: { 0: AbilityId.STEELY_SPIRIT }, + [SpeciesId.LATIAS]: { 0: AbilityId.SPEED_BOOST, 1: AbilityId.PRISM_ARMOR }, + [SpeciesId.LATIOS]: { 0: AbilityId.SPEED_BOOST, 1: AbilityId.TINTED_LENS }, + [SpeciesId.KYOGRE]: { 0: AbilityId.MOLD_BREAKER, 1: AbilityId.TERAVOLT }, + [SpeciesId.GROUDON]: { 0: AbilityId.MOLD_BREAKER, 1: AbilityId.TURBOBLAZE }, + [SpeciesId.RAYQUAZA]: { 0: AbilityId.UNNERVE, 1: AbilityId.UNNERVE }, + [SpeciesId.JIRACHI]: { 0: AbilityId.COMATOSE }, + [SpeciesId.DEOXYS]: { 0: AbilityId.PROTEAN, 1: AbilityId.ADAPTABILITY, 2: AbilityId.REGENERATOR, 3: AbilityId.SHADOW_SHIELD }, - [Species.TURTWIG]: { 0: Abilities.SOLID_ROCK }, - [Species.GROTLE]: { 0: Abilities.SOLID_ROCK }, - [Species.TORTERRA]: { 0: Abilities.THICK_FAT }, - [Species.CHIMCHAR]: { 0: Abilities.UNNERVE }, - [Species.MONFERNO]: { 0: Abilities.BEAST_BOOST }, - [Species.INFERNAPE]: { 0: Abilities.BEAST_BOOST }, - [Species.PIPLUP]: { 0: Abilities.CUTE_CHARM }, - [Species.PRINPLUP]: { 0: Abilities.DRIZZLE }, - [Species.EMPOLEON]: { 0: Abilities.DRIZZLE }, - [Species.STARLY]: { 0: Abilities.INTIMIDATE }, - [Species.STARAVIA]: { 0: Abilities.ROCK_HEAD }, - [Species.STARAPTOR]: { 0: Abilities.ROCK_HEAD }, - [Species.BIDOOF]: { 0: Abilities.SAP_SIPPER }, - [Species.BIBAREL]: { 0: Abilities.SAP_SIPPER }, - [Species.KRICKETOT]: { 0: Abilities.HONEY_GATHER }, - [Species.KRICKETUNE]: { 0: Abilities.SHARPNESS }, - [Species.SHINX]: { 0: Abilities.SPEED_BOOST }, - [Species.LUXIO]: { 0: Abilities.SPEED_BOOST }, - [Species.LUXRAY]: { 0: Abilities.SPEED_BOOST }, - [Species.BUDEW]: { 0: Abilities.SEED_SOWER }, - [Species.ROSELIA]: { 0: Abilities.GRASSY_SURGE }, - [Species.ROSERADE]: { 0: Abilities.GRASSY_SURGE }, - [Species.CRANIDOS]: { 0: Abilities.ROCK_HEAD }, - [Species.RAMPARDOS]: { 0: Abilities.ROCK_HEAD }, - [Species.SHIELDON]: { 0: Abilities.EARTH_EATER }, - [Species.BASTIODON]: { 0: Abilities.EARTH_EATER }, - [Species.BURMY]: { 0: Abilities.STURDY, 1: Abilities.STURDY, 2: Abilities.STURDY }, - [Species.WORMADAM]: { 0: Abilities.STURDY, 1: Abilities.STURDY, 2: Abilities.STURDY }, - [Species.MOTHIM]: { 0: Abilities.SPEED_BOOST }, - [Species.COMBEE]: { 0: Abilities.RUN_AWAY }, - [Species.VESPIQUEN]: { 0: Abilities.INTIMIDATE }, - [Species.PACHIRISU]: { 0: Abilities.HONEY_GATHER }, - [Species.BUIZEL]: { 0: Abilities.MOXIE }, - [Species.FLOATZEL]: { 0: Abilities.MOXIE }, - [Species.CHERUBI]: { 0: Abilities.DROUGHT }, - [Species.CHERRIM]: { 0: Abilities.ORICHALCUM_PULSE, 1: Abilities.ORICHALCUM_PULSE }, - [Species.SHELLOS]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, - [Species.GASTRODON]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, - [Species.DRIFLOON]: { 0: Abilities.MAGIC_GUARD }, - [Species.DRIFBLIM]: { 0: Abilities.MAGIC_GUARD }, - [Species.BUNEARY]: { 0: Abilities.ADAPTABILITY }, - [Species.LOPUNNY]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY }, - [Species.GLAMEOW]: { 0: Abilities.INTIMIDATE }, - [Species.PURUGLY]: { 0: Abilities.INTIMIDATE }, - [Species.CHINGLING]: { 0: Abilities.PUNK_ROCK }, - [Species.CHIMECHO]: { 0: Abilities.PUNK_ROCK }, - [Species.STUNKY]: { 0: Abilities.NEUTRALIZING_GAS }, - [Species.SKUNTANK]: { 0: Abilities.NEUTRALIZING_GAS }, - [Species.BRONZOR]: { 0: Abilities.MIRROR_ARMOR }, - [Species.BRONZONG]: { 0: Abilities.MIRROR_ARMOR }, - [Species.BONSLY]: { 0: Abilities.SAP_SIPPER }, - [Species.SUDOWOODO]: { 0: Abilities.SAP_SIPPER }, - [Species.MIME_JR]: { 0: Abilities.PRANKSTER }, - [Species.MR_MIME]: { 0: Abilities.PRANKSTER }, - [Species.GALAR_MR_MIME]: { 0: Abilities.PRANKSTER }, - [Species.MR_RIME]: { 0: Abilities.PRANKSTER }, - [Species.HAPPINY]: { 0: Abilities.HOSPITALITY }, - [Species.CHANSEY]: { 0: Abilities.FRIEND_GUARD }, - [Species.BLISSEY]: { 0: Abilities.FUR_COAT }, - [Species.CHATOT]: { 0: Abilities.PUNK_ROCK }, - [Species.SPIRITOMB]: { 0: Abilities.VESSEL_OF_RUIN }, - [Species.GIBLE]: { 0: Abilities.ARENA_TRAP }, - [Species.GABITE]: { 0: Abilities.ARENA_TRAP }, - [Species.GARCHOMP]: { 0: Abilities.ARENA_TRAP, 1: Abilities.SAND_RUSH }, - [Species.MUNCHLAX]: { 0: Abilities.CHEEK_POUCH }, - [Species.SNORLAX]: { 0: Abilities.CHEEK_POUCH, 1: Abilities.RIPEN }, - [Species.RIOLU]: { 0: Abilities.MINDS_EYE }, - [Species.LUCARIO]: { 0: Abilities.MINDS_EYE, 1: Abilities.MINDS_EYE }, - [Species.HIPPOPOTAS]: { 0: Abilities.UNAWARE }, - [Species.HIPPOWDON]: { 0: Abilities.UNAWARE }, - [Species.SKORUPI]: { 0: Abilities.SUPER_LUCK }, - [Species.DRAPION]: { 0: Abilities.SUPER_LUCK }, - [Species.CROAGUNK]: { 0: Abilities.MOXIE }, - [Species.TOXICROAK]: { 0: Abilities.MOXIE }, - [Species.CARNIVINE]: { 0: Abilities.ARENA_TRAP }, - [Species.FINNEON]: { 0: Abilities.WATER_BUBBLE }, - [Species.LUMINEON]: { 0: Abilities.WATER_BUBBLE }, - [Species.MANTYKE]: { 0: Abilities.UNAWARE }, - [Species.MANTINE]: { 0: Abilities.UNAWARE }, - [Species.SNOVER]: { 0: Abilities.SLUSH_RUSH }, - [Species.ABOMASNOW]: { 0: Abilities.SLUSH_RUSH, 1: Abilities.SEED_SOWER }, - [Species.ROTOM]: { 0: Abilities.HADRON_ENGINE, 1: Abilities.HADRON_ENGINE, 2: Abilities.HADRON_ENGINE, 3: Abilities.HADRON_ENGINE, 4: Abilities.HADRON_ENGINE, 5: Abilities.HADRON_ENGINE }, - [Species.UXIE]: { 0: Abilities.ILLUSION }, - [Species.MESPRIT]: { 0: Abilities.MOODY }, - [Species.AZELF]: { 0: Abilities.NEUROFORCE }, - [Species.DIALGA]: { 0: Abilities.BERSERK, 1: Abilities.BERSERK }, - [Species.PALKIA]: { 0: Abilities.BERSERK, 1: Abilities.BERSERK }, - [Species.HEATRAN]: { 0: Abilities.EARTH_EATER }, - [Species.REGIGIGAS]: { 0: Abilities.SCRAPPY }, - [Species.GIRATINA]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, - [Species.CRESSELIA]: { 0: Abilities.SHADOW_SHIELD }, - [Species.PHIONE]: { 0: Abilities.SIMPLE }, - [Species.MANAPHY]: { 0: Abilities.PRIMORDIAL_SEA }, - [Species.DARKRAI]: { 0: Abilities.UNNERVE }, - [Species.SHAYMIN]: { 0: Abilities.GRASSY_SURGE, 1: Abilities.DELTA_STREAM }, - [Species.ARCEUS]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY, 4: Abilities.ADAPTABILITY, 5: Abilities.ADAPTABILITY, 6: Abilities.ADAPTABILITY, 7: Abilities.ADAPTABILITY, 8: Abilities.ADAPTABILITY, 9: Abilities.ADAPTABILITY, 10: Abilities.ADAPTABILITY, 11: Abilities.ADAPTABILITY, 12: Abilities.ADAPTABILITY, 13: Abilities.ADAPTABILITY, 14: Abilities.ADAPTABILITY, 15: Abilities.ADAPTABILITY, 16: Abilities.ADAPTABILITY, 17: Abilities.ADAPTABILITY }, + [SpeciesId.TURTWIG]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.GROTLE]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.TORTERRA]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.CHIMCHAR]: { 0: AbilityId.UNNERVE }, + [SpeciesId.MONFERNO]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.INFERNAPE]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.PIPLUP]: { 0: AbilityId.CUTE_CHARM }, + [SpeciesId.PRINPLUP]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.EMPOLEON]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.STARLY]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.STARAVIA]: { 0: AbilityId.ROCK_HEAD }, + [SpeciesId.STARAPTOR]: { 0: AbilityId.ROCK_HEAD }, + [SpeciesId.BIDOOF]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.BIBAREL]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.KRICKETOT]: { 0: AbilityId.HONEY_GATHER }, + [SpeciesId.KRICKETUNE]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.SHINX]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.LUXIO]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.LUXRAY]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.BUDEW]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.ROSELIA]: { 0: AbilityId.GRASSY_SURGE }, + [SpeciesId.ROSERADE]: { 0: AbilityId.GRASSY_SURGE }, + [SpeciesId.CRANIDOS]: { 0: AbilityId.ROCK_HEAD }, + [SpeciesId.RAMPARDOS]: { 0: AbilityId.ROCK_HEAD }, + [SpeciesId.SHIELDON]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.BASTIODON]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.BURMY]: { 0: AbilityId.STURDY, 1: AbilityId.STURDY, 2: AbilityId.STURDY }, + [SpeciesId.WORMADAM]: { 0: AbilityId.STURDY, 1: AbilityId.STURDY, 2: AbilityId.STURDY }, + [SpeciesId.MOTHIM]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.COMBEE]: { 0: AbilityId.RUN_AWAY }, + [SpeciesId.VESPIQUEN]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.PACHIRISU]: { 0: AbilityId.HONEY_GATHER }, + [SpeciesId.BUIZEL]: { 0: AbilityId.MOXIE }, + [SpeciesId.FLOATZEL]: { 0: AbilityId.MOXIE }, + [SpeciesId.CHERUBI]: { 0: AbilityId.DROUGHT }, + [SpeciesId.CHERRIM]: { 0: AbilityId.ORICHALCUM_PULSE, 1: AbilityId.ORICHALCUM_PULSE }, + [SpeciesId.SHELLOS]: { 0: AbilityId.REGENERATOR, 1: AbilityId.REGENERATOR }, + [SpeciesId.GASTRODON]: { 0: AbilityId.REGENERATOR, 1: AbilityId.REGENERATOR }, + [SpeciesId.DRIFLOON]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.DRIFBLIM]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.BUNEARY]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.LOPUNNY]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.ADAPTABILITY }, + [SpeciesId.GLAMEOW]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.PURUGLY]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.CHINGLING]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.CHIMECHO]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.STUNKY]: { 0: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.SKUNTANK]: { 0: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.BRONZOR]: { 0: AbilityId.MIRROR_ARMOR }, + [SpeciesId.BRONZONG]: { 0: AbilityId.MIRROR_ARMOR }, + [SpeciesId.BONSLY]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.SUDOWOODO]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.MIME_JR]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.MR_MIME]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.GALAR_MR_MIME]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.MR_RIME]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.HAPPINY]: { 0: AbilityId.HOSPITALITY }, + [SpeciesId.CHANSEY]: { 0: AbilityId.FRIEND_GUARD }, + [SpeciesId.BLISSEY]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.CHATOT]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.SPIRITOMB]: { 0: AbilityId.VESSEL_OF_RUIN }, + [SpeciesId.GIBLE]: { 0: AbilityId.ARENA_TRAP }, + [SpeciesId.GABITE]: { 0: AbilityId.ARENA_TRAP }, + [SpeciesId.GARCHOMP]: { 0: AbilityId.ARENA_TRAP, 1: AbilityId.SAND_RUSH }, + [SpeciesId.MUNCHLAX]: { 0: AbilityId.CHEEK_POUCH }, + [SpeciesId.SNORLAX]: { 0: AbilityId.CHEEK_POUCH, 1: AbilityId.RIPEN }, + [SpeciesId.RIOLU]: { 0: AbilityId.MINDS_EYE }, + [SpeciesId.LUCARIO]: { 0: AbilityId.MINDS_EYE, 1: AbilityId.MINDS_EYE }, + [SpeciesId.HIPPOPOTAS]: { 0: AbilityId.UNAWARE }, + [SpeciesId.HIPPOWDON]: { 0: AbilityId.UNAWARE }, + [SpeciesId.SKORUPI]: { 0: AbilityId.SUPER_LUCK }, + [SpeciesId.DRAPION]: { 0: AbilityId.SUPER_LUCK }, + [SpeciesId.CROAGUNK]: { 0: AbilityId.MOXIE }, + [SpeciesId.TOXICROAK]: { 0: AbilityId.MOXIE }, + [SpeciesId.CARNIVINE]: { 0: AbilityId.ARENA_TRAP }, + [SpeciesId.FINNEON]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.LUMINEON]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.MANTYKE]: { 0: AbilityId.UNAWARE }, + [SpeciesId.MANTINE]: { 0: AbilityId.UNAWARE }, + [SpeciesId.SNOVER]: { 0: AbilityId.SLUSH_RUSH }, + [SpeciesId.ABOMASNOW]: { 0: AbilityId.SLUSH_RUSH, 1: AbilityId.SEED_SOWER }, + [SpeciesId.ROTOM]: { 0: AbilityId.HADRON_ENGINE, 1: AbilityId.HADRON_ENGINE, 2: AbilityId.HADRON_ENGINE, 3: AbilityId.HADRON_ENGINE, 4: AbilityId.HADRON_ENGINE, 5: AbilityId.HADRON_ENGINE }, + [SpeciesId.UXIE]: { 0: AbilityId.ILLUSION }, + [SpeciesId.MESPRIT]: { 0: AbilityId.MOODY }, + [SpeciesId.AZELF]: { 0: AbilityId.NEUROFORCE }, + [SpeciesId.DIALGA]: { 0: AbilityId.BERSERK, 1: AbilityId.BERSERK }, + [SpeciesId.PALKIA]: { 0: AbilityId.BERSERK, 1: AbilityId.BERSERK }, + [SpeciesId.HEATRAN]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.REGIGIGAS]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.GIRATINA]: { 0: AbilityId.SHADOW_SHIELD, 1: AbilityId.SHADOW_SHIELD }, + [SpeciesId.CRESSELIA]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.PHIONE]: { 0: AbilityId.SIMPLE }, + [SpeciesId.MANAPHY]: { 0: AbilityId.PRIMORDIAL_SEA }, + [SpeciesId.DARKRAI]: { 0: AbilityId.UNNERVE }, + [SpeciesId.SHAYMIN]: { 0: AbilityId.GRASSY_SURGE, 1: AbilityId.DELTA_STREAM }, + [SpeciesId.ARCEUS]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.ADAPTABILITY, 2: AbilityId.ADAPTABILITY, 3: AbilityId.ADAPTABILITY, 4: AbilityId.ADAPTABILITY, 5: AbilityId.ADAPTABILITY, 6: AbilityId.ADAPTABILITY, 7: AbilityId.ADAPTABILITY, 8: AbilityId.ADAPTABILITY, 9: AbilityId.ADAPTABILITY, 10: AbilityId.ADAPTABILITY, 11: AbilityId.ADAPTABILITY, 12: AbilityId.ADAPTABILITY, 13: AbilityId.ADAPTABILITY, 14: AbilityId.ADAPTABILITY, 15: AbilityId.ADAPTABILITY, 16: AbilityId.ADAPTABILITY, 17: AbilityId.ADAPTABILITY }, - [Species.VICTINI]: { 0: Abilities.SHEER_FORCE }, - [Species.SNIVY]: { 0: Abilities.MULTISCALE }, - [Species.SERVINE]: { 0: Abilities.MULTISCALE }, - [Species.SERPERIOR]: { 0: Abilities.MULTISCALE }, - [Species.TEPIG]: { 0: Abilities.GLUTTONY }, - [Species.PIGNITE]: { 0: Abilities.ROCK_HEAD }, - [Species.EMBOAR]: { 0: Abilities.ROCK_HEAD }, - [Species.OSHAWOTT]: { 0: Abilities.MOLD_BREAKER }, - [Species.DEWOTT]: { 0: Abilities.MOLD_BREAKER }, - [Species.SAMUROTT]: { 0: Abilities.LIGHTNING_ROD }, - [Species.HISUI_SAMUROTT]: { 0: Abilities.MOLD_BREAKER }, - [Species.PATRAT]: { 0: Abilities.NO_GUARD }, - [Species.WATCHOG]: { 0: Abilities.NO_GUARD }, - [Species.LILLIPUP]: { 0: Abilities.BALL_FETCH }, - [Species.HERDIER]: { 0: Abilities.FUR_COAT }, - [Species.STOUTLAND]: { 0: Abilities.FUR_COAT }, - [Species.PURRLOIN]: { 0: Abilities.PICKUP }, - [Species.LIEPARD]: { 0: Abilities.PICKUP }, - [Species.PANSAGE]: { 0: Abilities.WELL_BAKED_BODY }, - [Species.SIMISAGE]: { 0: Abilities.WELL_BAKED_BODY }, - [Species.PANSEAR]: { 0: Abilities.WATER_ABSORB }, - [Species.SIMISEAR]: { 0: Abilities.WATER_ABSORB }, - [Species.PANPOUR]: { 0: Abilities.SAP_SIPPER }, - [Species.SIMIPOUR]: { 0: Abilities.SAP_SIPPER }, - [Species.MUNNA]: { 0: Abilities.NEUTRALIZING_GAS }, - [Species.MUSHARNA]: { 0: Abilities.NEUTRALIZING_GAS }, - [Species.PIDOVE]: { 0: Abilities.SNIPER }, - [Species.TRANQUILL]: { 0: Abilities.SNIPER }, - [Species.UNFEZANT]: { 0: Abilities.SNIPER }, - [Species.BLITZLE]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.ZEBSTRIKA]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.ROGGENROLA]: { 0: Abilities.SOLID_ROCK }, - [Species.BOLDORE]: { 0: Abilities.SOLID_ROCK }, - [Species.GIGALITH]: { 0: Abilities.SOLID_ROCK }, - [Species.WOOBAT]: { 0: Abilities.OPPORTUNIST }, - [Species.SWOOBAT]: { 0: Abilities.OPPORTUNIST }, - [Species.DRILBUR]: { 0: Abilities.STURDY }, - [Species.EXCADRILL]: { 0: Abilities.STURDY }, - [Species.AUDINO]: { 0: Abilities.FRIEND_GUARD, 1: Abilities.FAIRY_AURA }, - [Species.TIMBURR]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.GURDURR]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.CONKELDURR]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.TYMPOLE]: { 0: Abilities.POISON_HEAL }, - [Species.PALPITOAD]: { 0: Abilities.POISON_HEAL }, - [Species.SEISMITOAD]: { 0: Abilities.POISON_HEAL }, - [Species.THROH]: { 0: Abilities.STAMINA }, - [Species.SAWK]: { 0: Abilities.SCRAPPY }, - [Species.SEWADDLE]: { 0: Abilities.SHIELD_DUST }, - [Species.SWADLOON]: { 0: Abilities.SHIELD_DUST }, - [Species.LEAVANNY]: { 0: Abilities.SHARPNESS }, - [Species.VENIPEDE]: { 0: Abilities.STAMINA }, - [Species.WHIRLIPEDE]: { 0: Abilities.STAMINA }, - [Species.SCOLIPEDE]: { 0: Abilities.STAMINA }, - [Species.COTTONEE]: { 0: Abilities.FLUFFY }, - [Species.WHIMSICOTT]: { 0: Abilities.FLUFFY }, - [Species.PETILIL]: { 0: Abilities.FLOWER_VEIL }, - [Species.LILLIGANT]: { 0: Abilities.GRASSY_SURGE }, - [Species.HISUI_LILLIGANT]: { 0: Abilities.FLOWER_VEIL }, - [Species.BASCULIN]: { 0: Abilities.ROCK_HEAD, 1: Abilities.RECKLESS, 2: Abilities.SUPREME_OVERLORD }, - [Species.BASCULEGION]: { 0: Abilities.SUPREME_OVERLORD, 1: Abilities.SUPREME_OVERLORD }, - [Species.SANDILE]: { 0: Abilities.TOUGH_CLAWS }, - [Species.KROKOROK]: { 0: Abilities.TOUGH_CLAWS }, - [Species.KROOKODILE]: { 0: Abilities.TOUGH_CLAWS }, - [Species.DARUMAKA]: { 0: Abilities.GORILLA_TACTICS }, - [Species.DARMANITAN]: { 0: Abilities.GORILLA_TACTICS, 1: Abilities.SOLID_ROCK }, - [Species.MARACTUS]: { 0: Abilities.WELL_BAKED_BODY }, - [Species.DWEBBLE]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.CRUSTLE]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.SCRAGGY]: { 0: Abilities.PROTEAN }, - [Species.SCRAFTY]: { 0: Abilities.PROTEAN }, - [Species.SIGILYPH]: { 0: Abilities.FLARE_BOOST }, - [Species.YAMASK]: { 0: Abilities.PURIFYING_SALT }, - [Species.COFAGRIGUS]: { 0: Abilities.PURIFYING_SALT }, - [Species.TIRTOUGA]: { 0: Abilities.WATER_ABSORB }, - [Species.CARRACOSTA]: { 0: Abilities.WATER_ABSORB }, - [Species.ARCHEN]: { 0: Abilities.MULTISCALE }, - [Species.ARCHEOPS]: { 0: Abilities.MULTISCALE }, - [Species.TRUBBISH]: { 0: Abilities.NEUTRALIZING_GAS }, - [Species.GARBODOR]: { 0: Abilities.NEUTRALIZING_GAS, 1: Abilities.NEUTRALIZING_GAS }, - [Species.ZORUA]: { 0: Abilities.ADAPTABILITY }, - [Species.ZOROARK]: { 0: Abilities.ADAPTABILITY }, - [Species.MINCCINO]: { 0: Abilities.FUR_COAT }, - [Species.CINCCINO]: { 0: Abilities.FUR_COAT }, - [Species.GOTHITA]: { 0: Abilities.UNNERVE }, - [Species.GOTHORITA]: { 0: Abilities.UNNERVE }, - [Species.GOTHITELLE]: { 0: Abilities.UNNERVE }, - [Species.SOLOSIS]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.DUOSION]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.REUNICLUS]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.DUCKLETT]: { 0: Abilities.DRIZZLE }, - [Species.SWANNA]: { 0: Abilities.DRIZZLE }, - [Species.VANILLITE]: { 0: Abilities.REFRIGERATE }, - [Species.VANILLISH]: { 0: Abilities.REFRIGERATE }, - [Species.VANILLUXE]: { 0: Abilities.SLUSH_RUSH }, - [Species.DEERLING]: { 0: Abilities.FLOWER_VEIL, 1: Abilities.CUD_CHEW, 2: Abilities.HARVEST, 3: Abilities.FUR_COAT }, - [Species.SAWSBUCK]: { 0: Abilities.FLOWER_VEIL, 1: Abilities.CUD_CHEW, 2: Abilities.HARVEST, 3: Abilities.FUR_COAT }, - [Species.EMOLGA]: { 0: Abilities.SERENE_GRACE }, - [Species.KARRABLAST]: { 0: Abilities.QUICK_DRAW }, - [Species.ESCAVALIER]: { 0: Abilities.QUICK_DRAW }, - [Species.FOONGUS]: { 0: Abilities.MYCELIUM_MIGHT }, - [Species.AMOONGUSS]: { 0: Abilities.THICK_FAT }, - [Species.FRILLISH]: { 0: Abilities.POISON_HEAL }, - [Species.JELLICENT]: { 0: Abilities.POISON_HEAL }, - [Species.ALOMOMOLA]: { 0: Abilities.MULTISCALE }, - [Species.JOLTIK]: { 0: Abilities.TRANSISTOR }, - [Species.GALVANTULA]: { 0: Abilities.TRANSISTOR }, - [Species.FERROSEED]: { 0: Abilities.ROUGH_SKIN }, - [Species.FERROTHORN]: { 0: Abilities.ROUGH_SKIN }, - [Species.KLINK]: { 0: Abilities.STEELY_SPIRIT }, - [Species.KLANG]: { 0: Abilities.STEELY_SPIRIT }, - [Species.KLINKLANG]: { 0: Abilities.STEELY_SPIRIT }, - [Species.TYNAMO]: { 0: Abilities.POISON_HEAL }, - [Species.EELEKTRIK]: { 0: Abilities.POISON_HEAL }, - [Species.EELEKTROSS]: { 0: Abilities.POISON_HEAL }, - [Species.ELGYEM]: { 0: Abilities.BEADS_OF_RUIN }, - [Species.BEHEEYEM]: { 0: Abilities.BEADS_OF_RUIN }, - [Species.LITWICK]: { 0: Abilities.SHADOW_TAG }, - [Species.LAMPENT]: { 0: Abilities.SHADOW_TAG }, - [Species.CHANDELURE]: { 0: Abilities.SHADOW_TAG }, - [Species.AXEW]: { 0: Abilities.DRAGONS_MAW }, - [Species.FRAXURE]: { 0: Abilities.DRAGONS_MAW }, - [Species.HAXORUS]: { 0: Abilities.DRAGONS_MAW }, - [Species.CUBCHOO]: { 0: Abilities.FUR_COAT }, - [Species.BEARTIC]: { 0: Abilities.FUR_COAT }, - [Species.CRYOGONAL]: { 0: Abilities.SNOW_WARNING }, - [Species.SHELMET]: { 0: Abilities.STAMINA }, - [Species.ACCELGOR]: { 0: Abilities.PROTEAN }, - [Species.STUNFISK]: { 0: Abilities.STORM_DRAIN }, - [Species.MIENFOO]: { 0: Abilities.NO_GUARD }, - [Species.MIENSHAO]: { 0: Abilities.NO_GUARD }, - [Species.DRUDDIGON]: { 0: Abilities.INTIMIDATE }, - [Species.GOLETT]: { 0: Abilities.SHADOW_SHIELD }, - [Species.GOLURK]: { 0: Abilities.SHADOW_SHIELD }, - [Species.PAWNIARD]: { 0: Abilities.SWORD_OF_RUIN }, - [Species.BISHARP]: { 0: Abilities.SWORD_OF_RUIN }, - [Species.KINGAMBIT]: { 0: Abilities.SWORD_OF_RUIN }, - [Species.BOUFFALANT]: { 0: Abilities.ROCK_HEAD }, - [Species.RUFFLET]: { 0: Abilities.SPEED_BOOST }, - [Species.BRAVIARY]: { 0: Abilities.SPEED_BOOST }, - [Species.HISUI_BRAVIARY]: { 0: Abilities.SPEED_BOOST }, - [Species.VULLABY]: { 0: Abilities.THICK_FAT }, - [Species.MANDIBUZZ]: { 0: Abilities.THICK_FAT }, - [Species.HEATMOR]: { 0: Abilities.CONTRARY }, - [Species.DURANT]: { 0: Abilities.COMPOUND_EYES }, - [Species.DEINO]: { 0: Abilities.NO_GUARD }, - [Species.ZWEILOUS]: { 0: Abilities.NO_GUARD }, - [Species.HYDREIGON]: { 0: Abilities.PARENTAL_BOND }, - [Species.LARVESTA]: { 0: Abilities.FLASH_FIRE }, - [Species.VOLCARONA]: { 0: Abilities.DROUGHT }, - [Species.COBALION]: { 0: Abilities.INTREPID_SWORD }, - [Species.TERRAKION]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.VIRIZION]: { 0: Abilities.SHARPNESS }, - [Species.TORNADUS]: { 0: Abilities.DRIZZLE, 1: Abilities.DRIZZLE }, - [Species.THUNDURUS]: { 0: Abilities.DRIZZLE, 1: Abilities.DRIZZLE }, - [Species.RESHIRAM]: { 0: Abilities.ORICHALCUM_PULSE }, - [Species.ZEKROM]: { 0: Abilities.HADRON_ENGINE }, - [Species.LANDORUS]: { 0: Abilities.STORM_DRAIN, 1: Abilities.STORM_DRAIN }, - [Species.KYUREM]: { 0: Abilities.SNOW_WARNING, 1: Abilities.HADRON_ENGINE, 2: Abilities.ORICHALCUM_PULSE }, - [Species.KELDEO]: { 0: Abilities.GRIM_NEIGH, 1: Abilities.GRIM_NEIGH }, - [Species.MELOETTA]: { 0: Abilities.PUNK_ROCK, 1: Abilities.SCRAPPY }, - [Species.GENESECT]: { 0: Abilities.PROTEAN, 1: Abilities.PROTEAN, 2: Abilities.PROTEAN, 3: Abilities.PROTEAN, 4: Abilities.PROTEAN }, + [SpeciesId.VICTINI]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.SNIVY]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.SERVINE]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.SERPERIOR]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.TEPIG]: { 0: AbilityId.GLUTTONY }, + [SpeciesId.PIGNITE]: { 0: AbilityId.ROCK_HEAD }, + [SpeciesId.EMBOAR]: { 0: AbilityId.ROCK_HEAD }, + [SpeciesId.OSHAWOTT]: { 0: AbilityId.MOLD_BREAKER }, + [SpeciesId.DEWOTT]: { 0: AbilityId.MOLD_BREAKER }, + [SpeciesId.SAMUROTT]: { 0: AbilityId.LIGHTNING_ROD }, + [SpeciesId.HISUI_SAMUROTT]: { 0: AbilityId.MOLD_BREAKER }, + [SpeciesId.PATRAT]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.WATCHOG]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.LILLIPUP]: { 0: AbilityId.BALL_FETCH }, + [SpeciesId.HERDIER]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.STOUTLAND]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.PURRLOIN]: { 0: AbilityId.PICKUP }, + [SpeciesId.LIEPARD]: { 0: AbilityId.PICKUP }, + [SpeciesId.PANSAGE]: { 0: AbilityId.WELL_BAKED_BODY }, + [SpeciesId.SIMISAGE]: { 0: AbilityId.WELL_BAKED_BODY }, + [SpeciesId.PANSEAR]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.SIMISEAR]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.PANPOUR]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.SIMIPOUR]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.MUNNA]: { 0: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.MUSHARNA]: { 0: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.PIDOVE]: { 0: AbilityId.SNIPER }, + [SpeciesId.TRANQUILL]: { 0: AbilityId.SNIPER }, + [SpeciesId.UNFEZANT]: { 0: AbilityId.SNIPER }, + [SpeciesId.BLITZLE]: { 0: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.ZEBSTRIKA]: { 0: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.ROGGENROLA]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.BOLDORE]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.GIGALITH]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.WOOBAT]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.SWOOBAT]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.DRILBUR]: { 0: AbilityId.STURDY }, + [SpeciesId.EXCADRILL]: { 0: AbilityId.STURDY }, + [SpeciesId.AUDINO]: { 0: AbilityId.FRIEND_GUARD, 1: AbilityId.FAIRY_AURA }, + [SpeciesId.TIMBURR]: { 0: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.GURDURR]: { 0: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.CONKELDURR]: { 0: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.TYMPOLE]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.PALPITOAD]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.SEISMITOAD]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.THROH]: { 0: AbilityId.STAMINA }, + [SpeciesId.SAWK]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.SEWADDLE]: { 0: AbilityId.SHIELD_DUST }, + [SpeciesId.SWADLOON]: { 0: AbilityId.SHIELD_DUST }, + [SpeciesId.LEAVANNY]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.VENIPEDE]: { 0: AbilityId.STAMINA }, + [SpeciesId.WHIRLIPEDE]: { 0: AbilityId.STAMINA }, + [SpeciesId.SCOLIPEDE]: { 0: AbilityId.STAMINA }, + [SpeciesId.COTTONEE]: { 0: AbilityId.FLUFFY }, + [SpeciesId.WHIMSICOTT]: { 0: AbilityId.FLUFFY }, + [SpeciesId.PETILIL]: { 0: AbilityId.FLOWER_VEIL }, + [SpeciesId.LILLIGANT]: { 0: AbilityId.GRASSY_SURGE }, + [SpeciesId.HISUI_LILLIGANT]: { 0: AbilityId.FLOWER_VEIL }, + [SpeciesId.BASCULIN]: { 0: AbilityId.ROCK_HEAD, 1: AbilityId.RECKLESS, 2: AbilityId.SUPREME_OVERLORD }, + [SpeciesId.BASCULEGION]: { 0: AbilityId.SUPREME_OVERLORD, 1: AbilityId.SUPREME_OVERLORD }, + [SpeciesId.SANDILE]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.KROKOROK]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.KROOKODILE]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.DARUMAKA]: { 0: AbilityId.GORILLA_TACTICS }, + [SpeciesId.DARMANITAN]: { 0: AbilityId.GORILLA_TACTICS, 1: AbilityId.SOLID_ROCK }, + [SpeciesId.MARACTUS]: { 0: AbilityId.WELL_BAKED_BODY }, + [SpeciesId.DWEBBLE]: { 0: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.CRUSTLE]: { 0: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.SCRAGGY]: { 0: AbilityId.PROTEAN }, + [SpeciesId.SCRAFTY]: { 0: AbilityId.PROTEAN }, + [SpeciesId.SIGILYPH]: { 0: AbilityId.FLARE_BOOST }, + [SpeciesId.YAMASK]: { 0: AbilityId.PURIFYING_SALT }, + [SpeciesId.COFAGRIGUS]: { 0: AbilityId.PURIFYING_SALT }, + [SpeciesId.TIRTOUGA]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.CARRACOSTA]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.ARCHEN]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.ARCHEOPS]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.TRUBBISH]: { 0: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.GARBODOR]: { 0: AbilityId.NEUTRALIZING_GAS, 1: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.ZORUA]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.ZOROARK]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.MINCCINO]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.CINCCINO]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.GOTHITA]: { 0: AbilityId.UNNERVE }, + [SpeciesId.GOTHORITA]: { 0: AbilityId.UNNERVE }, + [SpeciesId.GOTHITELLE]: { 0: AbilityId.UNNERVE }, + [SpeciesId.SOLOSIS]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.DUOSION]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.REUNICLUS]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.DUCKLETT]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.SWANNA]: { 0: AbilityId.DRIZZLE }, + [SpeciesId.VANILLITE]: { 0: AbilityId.REFRIGERATE }, + [SpeciesId.VANILLISH]: { 0: AbilityId.REFRIGERATE }, + [SpeciesId.VANILLUXE]: { 0: AbilityId.SLUSH_RUSH }, + [SpeciesId.DEERLING]: { 0: AbilityId.FLOWER_VEIL, 1: AbilityId.CUD_CHEW, 2: AbilityId.HARVEST, 3: AbilityId.FUR_COAT }, + [SpeciesId.SAWSBUCK]: { 0: AbilityId.FLOWER_VEIL, 1: AbilityId.CUD_CHEW, 2: AbilityId.HARVEST, 3: AbilityId.FUR_COAT }, + [SpeciesId.EMOLGA]: { 0: AbilityId.SERENE_GRACE }, + [SpeciesId.KARRABLAST]: { 0: AbilityId.QUICK_DRAW }, + [SpeciesId.ESCAVALIER]: { 0: AbilityId.QUICK_DRAW }, + [SpeciesId.FOONGUS]: { 0: AbilityId.MYCELIUM_MIGHT }, + [SpeciesId.AMOONGUSS]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.FRILLISH]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.JELLICENT]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.ALOMOMOLA]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.JOLTIK]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.GALVANTULA]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.FERROSEED]: { 0: AbilityId.ROUGH_SKIN }, + [SpeciesId.FERROTHORN]: { 0: AbilityId.ROUGH_SKIN }, + [SpeciesId.KLINK]: { 0: AbilityId.STEELY_SPIRIT }, + [SpeciesId.KLANG]: { 0: AbilityId.STEELY_SPIRIT }, + [SpeciesId.KLINKLANG]: { 0: AbilityId.STEELY_SPIRIT }, + [SpeciesId.TYNAMO]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.EELEKTRIK]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.EELEKTROSS]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.ELGYEM]: { 0: AbilityId.BEADS_OF_RUIN }, + [SpeciesId.BEHEEYEM]: { 0: AbilityId.BEADS_OF_RUIN }, + [SpeciesId.LITWICK]: { 0: AbilityId.SHADOW_TAG }, + [SpeciesId.LAMPENT]: { 0: AbilityId.SHADOW_TAG }, + [SpeciesId.CHANDELURE]: { 0: AbilityId.SHADOW_TAG }, + [SpeciesId.AXEW]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.FRAXURE]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.HAXORUS]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.CUBCHOO]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.BEARTIC]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.CRYOGONAL]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.SHELMET]: { 0: AbilityId.STAMINA }, + [SpeciesId.ACCELGOR]: { 0: AbilityId.PROTEAN }, + [SpeciesId.STUNFISK]: { 0: AbilityId.STORM_DRAIN }, + [SpeciesId.MIENFOO]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.MIENSHAO]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.DRUDDIGON]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.GOLETT]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.GOLURK]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.PAWNIARD]: { 0: AbilityId.SWORD_OF_RUIN }, + [SpeciesId.BISHARP]: { 0: AbilityId.SWORD_OF_RUIN }, + [SpeciesId.KINGAMBIT]: { 0: AbilityId.SWORD_OF_RUIN }, + [SpeciesId.BOUFFALANT]: { 0: AbilityId.ROCK_HEAD }, + [SpeciesId.RUFFLET]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.BRAVIARY]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.HISUI_BRAVIARY]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.VULLABY]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.MANDIBUZZ]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.HEATMOR]: { 0: AbilityId.CONTRARY }, + [SpeciesId.DURANT]: { 0: AbilityId.COMPOUND_EYES }, + [SpeciesId.DEINO]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.ZWEILOUS]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.HYDREIGON]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.LARVESTA]: { 0: AbilityId.FLASH_FIRE }, + [SpeciesId.VOLCARONA]: { 0: AbilityId.DROUGHT }, + [SpeciesId.COBALION]: { 0: AbilityId.INTREPID_SWORD }, + [SpeciesId.TERRAKION]: { 0: AbilityId.ROCKY_PAYLOAD }, + [SpeciesId.VIRIZION]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.TORNADUS]: { 0: AbilityId.DRIZZLE, 1: AbilityId.DRIZZLE }, + [SpeciesId.THUNDURUS]: { 0: AbilityId.DRIZZLE, 1: AbilityId.DRIZZLE }, + [SpeciesId.RESHIRAM]: { 0: AbilityId.ORICHALCUM_PULSE }, + [SpeciesId.ZEKROM]: { 0: AbilityId.HADRON_ENGINE }, + [SpeciesId.LANDORUS]: { 0: AbilityId.STORM_DRAIN, 1: AbilityId.STORM_DRAIN }, + [SpeciesId.KYUREM]: { 0: AbilityId.SNOW_WARNING, 1: AbilityId.HADRON_ENGINE, 2: AbilityId.ORICHALCUM_PULSE }, + [SpeciesId.KELDEO]: { 0: AbilityId.GRIM_NEIGH, 1: AbilityId.GRIM_NEIGH }, + [SpeciesId.MELOETTA]: { 0: AbilityId.PUNK_ROCK, 1: AbilityId.SCRAPPY }, + [SpeciesId.GENESECT]: { 0: AbilityId.PROTEAN, 1: AbilityId.PROTEAN, 2: AbilityId.PROTEAN, 3: AbilityId.PROTEAN, 4: AbilityId.PROTEAN }, - [Species.CHESPIN]: { 0: Abilities.ROUGH_SKIN }, - [Species.QUILLADIN]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.CHESNAUGHT]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.FENNEKIN]: { 0: Abilities.FLUFFY }, - [Species.BRAIXEN]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.DELPHOX]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.FROAKIE]: { 0: Abilities.STAKEOUT, 1: Abilities.STAKEOUT }, - [Species.FROGADIER]: { 0: Abilities.STAKEOUT, 1: Abilities.STAKEOUT }, - [Species.GRENINJA]: { 0: Abilities.STAKEOUT, 1: Abilities.STAKEOUT, 2: Abilities.STAKEOUT }, - [Species.BUNNELBY]: { 0: Abilities.INNER_FOCUS }, - [Species.DIGGERSBY]: { 0: Abilities.THICK_FAT }, - [Species.FLETCHLING]: { 0: Abilities.FLAME_BODY }, - [Species.FLETCHINDER]: { 0: Abilities.MAGIC_GUARD }, - [Species.TALONFLAME]: { 0: Abilities.MAGIC_GUARD }, - [Species.SCATTERBUG]: { 0: Abilities.RUN_AWAY, 1: Abilities.RUN_AWAY, 2: Abilities.RUN_AWAY, 3: Abilities.RUN_AWAY, 4: Abilities.RUN_AWAY, 5: Abilities.RUN_AWAY, 6: Abilities.RUN_AWAY, 7: Abilities.RUN_AWAY, 8: Abilities.RUN_AWAY, 9: Abilities.RUN_AWAY, 10: Abilities.RUN_AWAY, 11: Abilities.RUN_AWAY, 12: Abilities.RUN_AWAY, 13: Abilities.RUN_AWAY, 14: Abilities.RUN_AWAY, 15: Abilities.RUN_AWAY, 16: Abilities.RUN_AWAY, 17: Abilities.RUN_AWAY, 18: Abilities.RUN_AWAY, 19: Abilities.RUN_AWAY }, - [Species.SPEWPA]: { 0: Abilities.COMPOUND_EYES, 1: Abilities.COMPOUND_EYES, 2: Abilities.COMPOUND_EYES, 3: Abilities.COMPOUND_EYES, 4: Abilities.COMPOUND_EYES, 5: Abilities.COMPOUND_EYES, 6: Abilities.COMPOUND_EYES, 7: Abilities.COMPOUND_EYES, 8: Abilities.COMPOUND_EYES, 9: Abilities.COMPOUND_EYES, 10: Abilities.COMPOUND_EYES, 11: Abilities.COMPOUND_EYES, 12: Abilities.COMPOUND_EYES, 13: Abilities.COMPOUND_EYES, 14: Abilities.COMPOUND_EYES, 15: Abilities.COMPOUND_EYES, 16: Abilities.COMPOUND_EYES, 17: Abilities.COMPOUND_EYES, 18: Abilities.COMPOUND_EYES, 19: Abilities.COMPOUND_EYES }, - [Species.VIVILLON]: { 0: Abilities.PRANKSTER, 1: Abilities.PRANKSTER, 2: Abilities.PRANKSTER, 3: Abilities.PRANKSTER, 4: Abilities.PRANKSTER, 5: Abilities.PRANKSTER, 6: Abilities.PRANKSTER, 7: Abilities.PRANKSTER, 8: Abilities.PRANKSTER, 9: Abilities.PRANKSTER, 10: Abilities.PRANKSTER, 11: Abilities.PRANKSTER, 12: Abilities.PRANKSTER, 13: Abilities.PRANKSTER, 14: Abilities.PRANKSTER, 15: Abilities.PRANKSTER, 16: Abilities.PRANKSTER, 17: Abilities.PRANKSTER, 18: Abilities.PRANKSTER, 19: Abilities.PRANKSTER }, - [Species.LITLEO]: { 0: Abilities.BEAST_BOOST }, - [Species.PYROAR]: { 0: Abilities.BEAST_BOOST }, - [Species.FLABEBE]: { 0: Abilities.GRASSY_SURGE, 1: Abilities.GRASSY_SURGE, 2: Abilities.GRASSY_SURGE, 3: Abilities.GRASSY_SURGE, 4: Abilities.GRASSY_SURGE }, - [Species.FLOETTE]: { 0: Abilities.GRASSY_SURGE, 1: Abilities.GRASSY_SURGE, 2: Abilities.GRASSY_SURGE, 3: Abilities.GRASSY_SURGE, 4: Abilities.GRASSY_SURGE }, - [Species.FLORGES]: { 0: Abilities.GRASSY_SURGE, 1: Abilities.GRASSY_SURGE, 2: Abilities.GRASSY_SURGE, 3: Abilities.GRASSY_SURGE, 4: Abilities.GRASSY_SURGE }, - [Species.SKIDDO]: { 0: Abilities.SEED_SOWER }, - [Species.GOGOAT]: { 0: Abilities.SEED_SOWER }, - [Species.PANCHAM]: { 0: Abilities.TECHNICIAN }, - [Species.PANGORO]: { 0: Abilities.FUR_COAT }, - [Species.FURFROU]: { 0: Abilities.FLUFFY, 1: Abilities.FLUFFY, 2: Abilities.FLUFFY, 3: Abilities.FLUFFY, 4: Abilities.FLUFFY, 5: Abilities.FLUFFY, 6: Abilities.FLUFFY, 7: Abilities.FLUFFY, 8: Abilities.FLUFFY, 9: Abilities.FLUFFY }, - [Species.ESPURR]: { 0: Abilities.PRANKSTER }, - [Species.MEOWSTIC]: { 0: Abilities.FUR_COAT, 1: Abilities.NEUROFORCE }, - [Species.HONEDGE]: { 0: Abilities.SHARPNESS }, - [Species.DOUBLADE]: { 0: Abilities.SHARPNESS }, - [Species.AEGISLASH]: { 0: Abilities.SHARPNESS, 1: Abilities.SHARPNESS }, - [Species.SPRITZEE]: { 0: Abilities.FUR_COAT }, - [Species.AROMATISSE]: { 0: Abilities.FUR_COAT }, - [Species.SWIRLIX]: { 0: Abilities.RIPEN }, - [Species.SLURPUFF]: { 0: Abilities.RIPEN }, - [Species.INKAY]: { 0: Abilities.SHADOW_SHIELD }, - [Species.MALAMAR]: { 0: Abilities.SHADOW_SHIELD }, - [Species.BINACLE]: { 0: Abilities.SAP_SIPPER }, - [Species.BARBARACLE]: { 0: Abilities.SAP_SIPPER }, - [Species.SKRELP]: { 0: Abilities.WATER_BUBBLE }, - [Species.DRAGALGE]: { 0: Abilities.DRAGONS_MAW }, - [Species.CLAUNCHER]: { 0: Abilities.PROTEAN }, - [Species.CLAWITZER]: { 0: Abilities.PROTEAN }, - [Species.HELIOPTILE]: { 0: Abilities.PROTEAN }, - [Species.HELIOLISK]: { 0: Abilities.PROTEAN }, - [Species.TYRUNT]: { 0: Abilities.SHEER_FORCE }, - [Species.TYRANTRUM]: { 0: Abilities.SHEER_FORCE }, - [Species.AMAURA]: { 0: Abilities.ICE_SCALES }, - [Species.AURORUS]: { 0: Abilities.ICE_SCALES }, - [Species.HAWLUCHA]: { 0: Abilities.MOXIE }, - [Species.DEDENNE]: { 0: Abilities.PIXILATE }, - [Species.CARBINK]: { 0: Abilities.SOLID_ROCK }, - [Species.GOOMY]: { 0: Abilities.REGENERATOR }, - [Species.SLIGGOO]: { 0: Abilities.POISON_HEAL }, - [Species.GOODRA]: { 0: Abilities.POISON_HEAL }, - [Species.HISUI_SLIGGOO]: { 0: Abilities.REGENERATOR }, - [Species.HISUI_GOODRA]: { 0: Abilities.REGENERATOR }, - [Species.KLEFKI]: { 0: Abilities.LEVITATE }, - [Species.PHANTUMP]: { 0: Abilities.SHADOW_TAG }, - [Species.TREVENANT]: { 0: Abilities.SHADOW_TAG }, - [Species.PUMPKABOO]: { 0: Abilities.ILLUMINATE, 1: Abilities.ADAPTABILITY, 2: Abilities.WELL_BAKED_BODY, 3: Abilities.SEED_SOWER }, - [Species.GOURGEIST]: { 0: Abilities.ILLUMINATE, 1: Abilities.ADAPTABILITY, 2: Abilities.WELL_BAKED_BODY, 3: Abilities.SEED_SOWER }, - [Species.BERGMITE]: { 0: Abilities.ICE_SCALES }, - [Species.AVALUGG]: { 0: Abilities.ICE_SCALES }, - [Species.HISUI_AVALUGG]: { 0: Abilities.ICE_SCALES }, - [Species.NOIBAT]: { 0: Abilities.CHEEK_POUCH }, - [Species.NOIVERN]: { 0: Abilities.PUNK_ROCK }, - [Species.XERNEAS]: { 0: Abilities.HARVEST, 1: Abilities.HARVEST }, - [Species.YVELTAL]: { 0: Abilities.SOUL_HEART }, - [Species.ZYGARDE]: { 0: Abilities.UNNERVE, 1: Abilities.MOXIE, 2: Abilities.UNNERVE, 3: Abilities.MOXIE, 4: Abilities.ADAPTABILITY, 5: Abilities.ADAPTABILITY }, - [Species.DIANCIE]: { 0: Abilities.SOLID_ROCK, 1: Abilities.PRISM_ARMOR }, - [Species.HOOPA]: { 0: Abilities.OPPORTUNIST, 1: Abilities.OPPORTUNIST }, - [Species.VOLCANION]: { 0: Abilities.NEUTRALIZING_GAS }, - [Species.ETERNAL_FLOETTE]: { 0: Abilities.MAGIC_GUARD }, + [SpeciesId.CHESPIN]: { 0: AbilityId.ROUGH_SKIN }, + [SpeciesId.QUILLADIN]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.CHESNAUGHT]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.FENNEKIN]: { 0: AbilityId.FLUFFY }, + [SpeciesId.BRAIXEN]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.DELPHOX]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.FROAKIE]: { 0: AbilityId.STAKEOUT, 1: AbilityId.STAKEOUT }, + [SpeciesId.FROGADIER]: { 0: AbilityId.STAKEOUT, 1: AbilityId.STAKEOUT }, + [SpeciesId.GRENINJA]: { 0: AbilityId.STAKEOUT, 1: AbilityId.STAKEOUT, 2: AbilityId.STAKEOUT }, + [SpeciesId.BUNNELBY]: { 0: AbilityId.INNER_FOCUS }, + [SpeciesId.DIGGERSBY]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.FLETCHLING]: { 0: AbilityId.FLAME_BODY }, + [SpeciesId.FLETCHINDER]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.TALONFLAME]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.SCATTERBUG]: { 0: AbilityId.RUN_AWAY, 1: AbilityId.RUN_AWAY, 2: AbilityId.RUN_AWAY, 3: AbilityId.RUN_AWAY, 4: AbilityId.RUN_AWAY, 5: AbilityId.RUN_AWAY, 6: AbilityId.RUN_AWAY, 7: AbilityId.RUN_AWAY, 8: AbilityId.RUN_AWAY, 9: AbilityId.RUN_AWAY, 10: AbilityId.RUN_AWAY, 11: AbilityId.RUN_AWAY, 12: AbilityId.RUN_AWAY, 13: AbilityId.RUN_AWAY, 14: AbilityId.RUN_AWAY, 15: AbilityId.RUN_AWAY, 16: AbilityId.RUN_AWAY, 17: AbilityId.RUN_AWAY, 18: AbilityId.RUN_AWAY, 19: AbilityId.RUN_AWAY }, + [SpeciesId.SPEWPA]: { 0: AbilityId.COMPOUND_EYES, 1: AbilityId.COMPOUND_EYES, 2: AbilityId.COMPOUND_EYES, 3: AbilityId.COMPOUND_EYES, 4: AbilityId.COMPOUND_EYES, 5: AbilityId.COMPOUND_EYES, 6: AbilityId.COMPOUND_EYES, 7: AbilityId.COMPOUND_EYES, 8: AbilityId.COMPOUND_EYES, 9: AbilityId.COMPOUND_EYES, 10: AbilityId.COMPOUND_EYES, 11: AbilityId.COMPOUND_EYES, 12: AbilityId.COMPOUND_EYES, 13: AbilityId.COMPOUND_EYES, 14: AbilityId.COMPOUND_EYES, 15: AbilityId.COMPOUND_EYES, 16: AbilityId.COMPOUND_EYES, 17: AbilityId.COMPOUND_EYES, 18: AbilityId.COMPOUND_EYES, 19: AbilityId.COMPOUND_EYES }, + [SpeciesId.VIVILLON]: { 0: AbilityId.PRANKSTER, 1: AbilityId.PRANKSTER, 2: AbilityId.PRANKSTER, 3: AbilityId.PRANKSTER, 4: AbilityId.PRANKSTER, 5: AbilityId.PRANKSTER, 6: AbilityId.PRANKSTER, 7: AbilityId.PRANKSTER, 8: AbilityId.PRANKSTER, 9: AbilityId.PRANKSTER, 10: AbilityId.PRANKSTER, 11: AbilityId.PRANKSTER, 12: AbilityId.PRANKSTER, 13: AbilityId.PRANKSTER, 14: AbilityId.PRANKSTER, 15: AbilityId.PRANKSTER, 16: AbilityId.PRANKSTER, 17: AbilityId.PRANKSTER, 18: AbilityId.PRANKSTER, 19: AbilityId.PRANKSTER }, + [SpeciesId.LITLEO]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.PYROAR]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.FLABEBE]: { 0: AbilityId.GRASSY_SURGE, 1: AbilityId.GRASSY_SURGE, 2: AbilityId.GRASSY_SURGE, 3: AbilityId.GRASSY_SURGE, 4: AbilityId.GRASSY_SURGE }, + [SpeciesId.FLOETTE]: { 0: AbilityId.GRASSY_SURGE, 1: AbilityId.GRASSY_SURGE, 2: AbilityId.GRASSY_SURGE, 3: AbilityId.GRASSY_SURGE, 4: AbilityId.GRASSY_SURGE }, + [SpeciesId.FLORGES]: { 0: AbilityId.GRASSY_SURGE, 1: AbilityId.GRASSY_SURGE, 2: AbilityId.GRASSY_SURGE, 3: AbilityId.GRASSY_SURGE, 4: AbilityId.GRASSY_SURGE }, + [SpeciesId.SKIDDO]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.GOGOAT]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.PANCHAM]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.PANGORO]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.FURFROU]: { 0: AbilityId.FLUFFY, 1: AbilityId.FLUFFY, 2: AbilityId.FLUFFY, 3: AbilityId.FLUFFY, 4: AbilityId.FLUFFY, 5: AbilityId.FLUFFY, 6: AbilityId.FLUFFY, 7: AbilityId.FLUFFY, 8: AbilityId.FLUFFY, 9: AbilityId.FLUFFY }, + [SpeciesId.ESPURR]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.MEOWSTIC]: { 0: AbilityId.FUR_COAT, 1: AbilityId.NEUROFORCE }, + [SpeciesId.HONEDGE]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.DOUBLADE]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.AEGISLASH]: { 0: AbilityId.SHARPNESS, 1: AbilityId.SHARPNESS }, + [SpeciesId.SPRITZEE]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.AROMATISSE]: { 0: AbilityId.FUR_COAT }, + [SpeciesId.SWIRLIX]: { 0: AbilityId.RIPEN }, + [SpeciesId.SLURPUFF]: { 0: AbilityId.RIPEN }, + [SpeciesId.INKAY]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.MALAMAR]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.BINACLE]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.BARBARACLE]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.SKRELP]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.DRAGALGE]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.CLAUNCHER]: { 0: AbilityId.PROTEAN }, + [SpeciesId.CLAWITZER]: { 0: AbilityId.PROTEAN }, + [SpeciesId.HELIOPTILE]: { 0: AbilityId.PROTEAN }, + [SpeciesId.HELIOLISK]: { 0: AbilityId.PROTEAN }, + [SpeciesId.TYRUNT]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.TYRANTRUM]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.AMAURA]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.AURORUS]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.HAWLUCHA]: { 0: AbilityId.MOXIE }, + [SpeciesId.DEDENNE]: { 0: AbilityId.PIXILATE }, + [SpeciesId.CARBINK]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.GOOMY]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.SLIGGOO]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.GOODRA]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.HISUI_SLIGGOO]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.HISUI_GOODRA]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.KLEFKI]: { 0: AbilityId.LEVITATE }, + [SpeciesId.PHANTUMP]: { 0: AbilityId.SHADOW_TAG }, + [SpeciesId.TREVENANT]: { 0: AbilityId.SHADOW_TAG }, + [SpeciesId.PUMPKABOO]: { 0: AbilityId.ILLUMINATE, 1: AbilityId.ADAPTABILITY, 2: AbilityId.WELL_BAKED_BODY, 3: AbilityId.SEED_SOWER }, + [SpeciesId.GOURGEIST]: { 0: AbilityId.ILLUMINATE, 1: AbilityId.ADAPTABILITY, 2: AbilityId.WELL_BAKED_BODY, 3: AbilityId.SEED_SOWER }, + [SpeciesId.BERGMITE]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.AVALUGG]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.HISUI_AVALUGG]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.NOIBAT]: { 0: AbilityId.CHEEK_POUCH }, + [SpeciesId.NOIVERN]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.XERNEAS]: { 0: AbilityId.HARVEST, 1: AbilityId.HARVEST }, + [SpeciesId.YVELTAL]: { 0: AbilityId.SOUL_HEART }, + [SpeciesId.ZYGARDE]: { 0: AbilityId.UNNERVE, 1: AbilityId.MOXIE, 2: AbilityId.UNNERVE, 3: AbilityId.MOXIE, 4: AbilityId.ADAPTABILITY, 5: AbilityId.ADAPTABILITY }, + [SpeciesId.DIANCIE]: { 0: AbilityId.SOLID_ROCK, 1: AbilityId.PRISM_ARMOR }, + [SpeciesId.HOOPA]: { 0: AbilityId.OPPORTUNIST, 1: AbilityId.OPPORTUNIST }, + [SpeciesId.VOLCANION]: { 0: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.ETERNAL_FLOETTE]: { 0: AbilityId.MAGIC_GUARD }, - [Species.ROWLET]: { 0: Abilities.WIND_RIDER }, - [Species.DARTRIX]: { 0: Abilities.WIND_RIDER }, - [Species.DECIDUEYE]: { 0: Abilities.SNIPER }, - [Species.HISUI_DECIDUEYE]: { 0: Abilities.SNIPER }, - [Species.LITTEN]: { 0: Abilities.OPPORTUNIST }, - [Species.TORRACAT]: { 0: Abilities.OPPORTUNIST }, - [Species.INCINEROAR]: { 0: Abilities.OPPORTUNIST }, - [Species.POPPLIO]: { 0: Abilities.PUNK_ROCK }, - [Species.BRIONNE]: { 0: Abilities.PUNK_ROCK }, - [Species.PRIMARINA]: { 0: Abilities.PUNK_ROCK }, - [Species.PIKIPEK]: { 0: Abilities.TECHNICIAN }, - [Species.TRUMBEAK]: { 0: Abilities.TECHNICIAN }, - [Species.TOUCANNON]: { 0: Abilities.TECHNICIAN }, - [Species.YUNGOOS]: { 0: Abilities.TOUGH_CLAWS }, - [Species.GUMSHOOS]: { 0: Abilities.TOUGH_CLAWS }, - [Species.GRUBBIN]: { 0: Abilities.SHIELD_DUST }, - [Species.CHARJABUG]: { 0: Abilities.POWER_SPOT }, - [Species.VIKAVOLT]: { 0: Abilities.SPEED_BOOST }, - [Species.CRABRAWLER]: { 0: Abilities.WATER_BUBBLE }, - [Species.CRABOMINABLE]: { 0: Abilities.WATER_BUBBLE }, - [Species.ORICORIO]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY }, - [Species.CUTIEFLY]: { 0: Abilities.PICKUP }, - [Species.RIBOMBEE]: { 0: Abilities.PICKUP }, - [Species.ROCKRUFF]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP }, - [Species.LYCANROC]: { 0: Abilities.STURDY, 1: Abilities.INTIMIDATE, 2: Abilities.STAKEOUT }, - [Species.WISHIWASHI]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, - [Species.MAREANIE]: { 0: Abilities.TOXIC_DEBRIS }, - [Species.TOXAPEX]: { 0: Abilities.TOXIC_DEBRIS }, - [Species.MUDBRAY]: { 0: Abilities.SAP_SIPPER }, - [Species.MUDSDALE]: { 0: Abilities.SAP_SIPPER }, - [Species.DEWPIDER]: { 0: Abilities.TINTED_LENS }, - [Species.ARAQUANID]: { 0: Abilities.TINTED_LENS }, - [Species.FOMANTIS]: { 0: Abilities.SHARPNESS }, - [Species.LURANTIS]: { 0: Abilities.SHARPNESS }, - [Species.MORELULL]: { 0: Abilities.TRIAGE }, - [Species.SHIINOTIC]: { 0: Abilities.TRIAGE }, - [Species.SALANDIT]: { 0: Abilities.PICKUP }, - [Species.SALAZZLE]: { 0: Abilities.DRAGONS_MAW }, - [Species.STUFFUL]: { 0: Abilities.SCRAPPY }, - [Species.BEWEAR]: { 0: Abilities.SCRAPPY }, - [Species.BOUNSWEET]: { 0: Abilities.SIMPLE }, - [Species.STEENEE]: { 0: Abilities.SIMPLE }, - [Species.TSAREENA]: { 0: Abilities.MOXIE }, - [Species.COMFEY]: { 0: Abilities.FRIEND_GUARD }, - [Species.ORANGURU]: { 0: Abilities.POWER_SPOT }, - [Species.PASSIMIAN]: { 0: Abilities.LIBERO }, - [Species.WIMPOD]: { 0: Abilities.REGENERATOR }, - [Species.GOLISOPOD]: { 0: Abilities.REGENERATOR }, - [Species.SANDYGAST]: { 0: Abilities.SAND_SPIT }, - [Species.PALOSSAND]: { 0: Abilities.SAND_SPIT }, - [Species.PYUKUMUKU]: { 0: Abilities.PURIFYING_SALT }, - [Species.TYPE_NULL]: { 0: Abilities.CLEAR_BODY }, - [Species.SILVALLY]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY, 4: Abilities.ADAPTABILITY, 5: Abilities.ADAPTABILITY, 6: Abilities.ADAPTABILITY, 7: Abilities.ADAPTABILITY, 8: Abilities.ADAPTABILITY, 9: Abilities.ADAPTABILITY, 10: Abilities.ADAPTABILITY, 11: Abilities.ADAPTABILITY, 12: Abilities.ADAPTABILITY, 13: Abilities.ADAPTABILITY, 14: Abilities.ADAPTABILITY, 15: Abilities.ADAPTABILITY, 16: Abilities.ADAPTABILITY, 17: Abilities.ADAPTABILITY }, - [Species.MINIOR]: { 0: Abilities.STURDY, 1: Abilities.STURDY, 2: Abilities.STURDY, 3: Abilities.STURDY, 4: Abilities.STURDY, 5: Abilities.STURDY, 6: Abilities.STURDY, 7: Abilities.AERILATE, 8: Abilities.AERILATE, 9: Abilities.AERILATE, 10: Abilities.AERILATE, 11: Abilities.AERILATE, 12: Abilities.AERILATE, 13: Abilities.AERILATE }, - [Species.KOMALA]: { 0: Abilities.GUTS }, - [Species.TURTONATOR]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.TOGEDEMARU]: { 0: Abilities.ROUGH_SKIN }, - [Species.MIMIKYU]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, - [Species.BRUXISH]: { 0: Abilities.MULTISCALE }, - [Species.DRAMPA]: { 0: Abilities.THICK_FAT }, - [Species.DHELMISE]: { 0: Abilities.WATER_BUBBLE }, - [Species.JANGMO_O]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.HAKAMO_O]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.KOMMO_O]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.TAPU_KOKO]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.TAPU_LELE]: { 0: Abilities.BERSERK }, - [Species.TAPU_BULU]: { 0: Abilities.FLOWER_VEIL }, - [Species.TAPU_FINI]: { 0: Abilities.FAIRY_AURA }, - [Species.COSMOG]: { 0: Abilities.PICKUP }, - [Species.COSMOEM]: { 0: Abilities.POWER_SPOT }, - [Species.SOLGALEO]: { 0: Abilities.BEAST_BOOST }, - [Species.LUNALA]: { 0: Abilities.BEAST_BOOST }, - [Species.NIHILEGO]: { 0: Abilities.LEVITATE }, - [Species.BUZZWOLE]: { 0: Abilities.MOXIE }, - [Species.PHEROMOSA]: { 0: Abilities.TINTED_LENS }, - [Species.XURKITREE]: { 0: Abilities.TRANSISTOR }, - [Species.CELESTEELA]: { 0: Abilities.HEATPROOF }, - [Species.KARTANA]: { 0: Abilities.TECHNICIAN }, - [Species.GUZZLORD]: { 0: Abilities.POISON_HEAL }, - [Species.NECROZMA]: { 0: Abilities.BEAST_BOOST, 1: Abilities.FULL_METAL_BODY, 2: Abilities.SHADOW_SHIELD, 3: Abilities.UNNERVE }, - [Species.MAGEARNA]: { 0: Abilities.STEELY_SPIRIT, 1: Abilities.STEELY_SPIRIT }, - [Species.MARSHADOW]: { 0: Abilities.IRON_FIST }, - [Species.POIPOLE]: { 0: Abilities.LEVITATE }, - [Species.NAGANADEL]: { 0: Abilities.LEVITATE }, - [Species.STAKATAKA]: { 0: Abilities.SOLID_ROCK }, - [Species.BLACEPHALON]: { 0: Abilities.MAGIC_GUARD }, - [Species.ZERAORA]: { 0: Abilities.TOUGH_CLAWS }, - [Species.MELTAN]: { 0: Abilities.HEATPROOF }, - [Species.MELMETAL]: { 0: Abilities.HEATPROOF, 1: Abilities.FULL_METAL_BODY }, - [Species.ALOLA_RATTATA]: { 0: Abilities.ADAPTABILITY }, - [Species.ALOLA_RATICATE]: { 0: Abilities.ADAPTABILITY }, - [Species.ALOLA_SANDSHREW]: { 0: Abilities.ICE_SCALES }, - [Species.ALOLA_SANDSLASH]: { 0: Abilities.ICE_SCALES }, - [Species.ALOLA_VULPIX]: { 0: Abilities.ICE_BODY }, - [Species.ALOLA_NINETALES]: { 0: Abilities.ICE_BODY }, - [Species.ALOLA_DIGLETT]: { 0: Abilities.STURDY }, - [Species.ALOLA_DUGTRIO]: { 0: Abilities.STURDY }, - [Species.ALOLA_MEOWTH]: { 0: Abilities.DARK_AURA }, - [Species.ALOLA_PERSIAN]: { 0: Abilities.DARK_AURA }, - [Species.ALOLA_GEODUDE]: { 0: Abilities.DRY_SKIN }, - [Species.ALOLA_GRAVELER]: { 0: Abilities.DRY_SKIN }, - [Species.ALOLA_GOLEM]: { 0: Abilities.DRY_SKIN }, - [Species.ALOLA_GRIMER]: { 0: Abilities.TOXIC_DEBRIS }, - [Species.ALOLA_MUK]: { 0: Abilities.TOXIC_DEBRIS }, + [SpeciesId.ROWLET]: { 0: AbilityId.WIND_RIDER }, + [SpeciesId.DARTRIX]: { 0: AbilityId.WIND_RIDER }, + [SpeciesId.DECIDUEYE]: { 0: AbilityId.SNIPER }, + [SpeciesId.HISUI_DECIDUEYE]: { 0: AbilityId.SNIPER }, + [SpeciesId.LITTEN]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.TORRACAT]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.INCINEROAR]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.POPPLIO]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.BRIONNE]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.PRIMARINA]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.PIKIPEK]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.TRUMBEAK]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.TOUCANNON]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.YUNGOOS]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.GUMSHOOS]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.GRUBBIN]: { 0: AbilityId.SHIELD_DUST }, + [SpeciesId.CHARJABUG]: { 0: AbilityId.POWER_SPOT }, + [SpeciesId.VIKAVOLT]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.CRABRAWLER]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.CRABOMINABLE]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.ORICORIO]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.ADAPTABILITY, 2: AbilityId.ADAPTABILITY, 3: AbilityId.ADAPTABILITY }, + [SpeciesId.CUTIEFLY]: { 0: AbilityId.PICKUP }, + [SpeciesId.RIBOMBEE]: { 0: AbilityId.PICKUP }, + [SpeciesId.ROCKRUFF]: { 0: AbilityId.PICKUP, 1: AbilityId.PICKUP }, + [SpeciesId.LYCANROC]: { 0: AbilityId.STURDY, 1: AbilityId.INTIMIDATE, 2: AbilityId.STAKEOUT }, + [SpeciesId.WISHIWASHI]: { 0: AbilityId.REGENERATOR, 1: AbilityId.REGENERATOR }, + [SpeciesId.MAREANIE]: { 0: AbilityId.TOXIC_DEBRIS }, + [SpeciesId.TOXAPEX]: { 0: AbilityId.TOXIC_DEBRIS }, + [SpeciesId.MUDBRAY]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.MUDSDALE]: { 0: AbilityId.SAP_SIPPER }, + [SpeciesId.DEWPIDER]: { 0: AbilityId.TINTED_LENS }, + [SpeciesId.ARAQUANID]: { 0: AbilityId.TINTED_LENS }, + [SpeciesId.FOMANTIS]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.LURANTIS]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.MORELULL]: { 0: AbilityId.TRIAGE }, + [SpeciesId.SHIINOTIC]: { 0: AbilityId.TRIAGE }, + [SpeciesId.SALANDIT]: { 0: AbilityId.PICKUP }, + [SpeciesId.SALAZZLE]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.STUFFUL]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.BEWEAR]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.BOUNSWEET]: { 0: AbilityId.SIMPLE }, + [SpeciesId.STEENEE]: { 0: AbilityId.SIMPLE }, + [SpeciesId.TSAREENA]: { 0: AbilityId.MOXIE }, + [SpeciesId.COMFEY]: { 0: AbilityId.FRIEND_GUARD }, + [SpeciesId.ORANGURU]: { 0: AbilityId.POWER_SPOT }, + [SpeciesId.PASSIMIAN]: { 0: AbilityId.LIBERO }, + [SpeciesId.WIMPOD]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.GOLISOPOD]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.SANDYGAST]: { 0: AbilityId.SAND_SPIT }, + [SpeciesId.PALOSSAND]: { 0: AbilityId.SAND_SPIT }, + [SpeciesId.PYUKUMUKU]: { 0: AbilityId.PURIFYING_SALT }, + [SpeciesId.TYPE_NULL]: { 0: AbilityId.CLEAR_BODY }, + [SpeciesId.SILVALLY]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.ADAPTABILITY, 2: AbilityId.ADAPTABILITY, 3: AbilityId.ADAPTABILITY, 4: AbilityId.ADAPTABILITY, 5: AbilityId.ADAPTABILITY, 6: AbilityId.ADAPTABILITY, 7: AbilityId.ADAPTABILITY, 8: AbilityId.ADAPTABILITY, 9: AbilityId.ADAPTABILITY, 10: AbilityId.ADAPTABILITY, 11: AbilityId.ADAPTABILITY, 12: AbilityId.ADAPTABILITY, 13: AbilityId.ADAPTABILITY, 14: AbilityId.ADAPTABILITY, 15: AbilityId.ADAPTABILITY, 16: AbilityId.ADAPTABILITY, 17: AbilityId.ADAPTABILITY }, + [SpeciesId.MINIOR]: { 0: AbilityId.STURDY, 1: AbilityId.STURDY, 2: AbilityId.STURDY, 3: AbilityId.STURDY, 4: AbilityId.STURDY, 5: AbilityId.STURDY, 6: AbilityId.STURDY, 7: AbilityId.AERILATE, 8: AbilityId.AERILATE, 9: AbilityId.AERILATE, 10: AbilityId.AERILATE, 11: AbilityId.AERILATE, 12: AbilityId.AERILATE, 13: AbilityId.AERILATE }, + [SpeciesId.KOMALA]: { 0: AbilityId.GUTS }, + [SpeciesId.TURTONATOR]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.TOGEDEMARU]: { 0: AbilityId.ROUGH_SKIN }, + [SpeciesId.MIMIKYU]: { 0: AbilityId.TOUGH_CLAWS, 1: AbilityId.TOUGH_CLAWS }, + [SpeciesId.BRUXISH]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.DRAMPA]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.DHELMISE]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.JANGMO_O]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.HAKAMO_O]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.KOMMO_O]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.TAPU_KOKO]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.TAPU_LELE]: { 0: AbilityId.BERSERK }, + [SpeciesId.TAPU_BULU]: { 0: AbilityId.FLOWER_VEIL }, + [SpeciesId.TAPU_FINI]: { 0: AbilityId.FAIRY_AURA }, + [SpeciesId.COSMOG]: { 0: AbilityId.PICKUP }, + [SpeciesId.COSMOEM]: { 0: AbilityId.POWER_SPOT }, + [SpeciesId.SOLGALEO]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.LUNALA]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.NIHILEGO]: { 0: AbilityId.LEVITATE }, + [SpeciesId.BUZZWOLE]: { 0: AbilityId.MOXIE }, + [SpeciesId.PHEROMOSA]: { 0: AbilityId.TINTED_LENS }, + [SpeciesId.XURKITREE]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.CELESTEELA]: { 0: AbilityId.HEATPROOF }, + [SpeciesId.KARTANA]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.GUZZLORD]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.NECROZMA]: { 0: AbilityId.BEAST_BOOST, 1: AbilityId.FULL_METAL_BODY, 2: AbilityId.SHADOW_SHIELD, 3: AbilityId.UNNERVE }, + [SpeciesId.MAGEARNA]: { 0: AbilityId.STEELY_SPIRIT, 1: AbilityId.STEELY_SPIRIT }, + [SpeciesId.MARSHADOW]: { 0: AbilityId.IRON_FIST }, + [SpeciesId.POIPOLE]: { 0: AbilityId.LEVITATE }, + [SpeciesId.NAGANADEL]: { 0: AbilityId.LEVITATE }, + [SpeciesId.STAKATAKA]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.BLACEPHALON]: { 0: AbilityId.MAGIC_GUARD }, + [SpeciesId.ZERAORA]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.MELTAN]: { 0: AbilityId.HEATPROOF }, + [SpeciesId.MELMETAL]: { 0: AbilityId.HEATPROOF, 1: AbilityId.FULL_METAL_BODY }, + [SpeciesId.ALOLA_RATTATA]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.ALOLA_RATICATE]: { 0: AbilityId.ADAPTABILITY }, + [SpeciesId.ALOLA_SANDSHREW]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.ALOLA_SANDSLASH]: { 0: AbilityId.ICE_SCALES }, + [SpeciesId.ALOLA_VULPIX]: { 0: AbilityId.ICE_BODY }, + [SpeciesId.ALOLA_NINETALES]: { 0: AbilityId.ICE_BODY }, + [SpeciesId.ALOLA_DIGLETT]: { 0: AbilityId.STURDY }, + [SpeciesId.ALOLA_DUGTRIO]: { 0: AbilityId.STURDY }, + [SpeciesId.ALOLA_MEOWTH]: { 0: AbilityId.DARK_AURA }, + [SpeciesId.ALOLA_PERSIAN]: { 0: AbilityId.DARK_AURA }, + [SpeciesId.ALOLA_GEODUDE]: { 0: AbilityId.DRY_SKIN }, + [SpeciesId.ALOLA_GRAVELER]: { 0: AbilityId.DRY_SKIN }, + [SpeciesId.ALOLA_GOLEM]: { 0: AbilityId.DRY_SKIN }, + [SpeciesId.ALOLA_GRIMER]: { 0: AbilityId.TOXIC_DEBRIS }, + [SpeciesId.ALOLA_MUK]: { 0: AbilityId.TOXIC_DEBRIS }, - [Species.GROOKEY]: { 0: Abilities.PICKPOCKET }, - [Species.THWACKEY]: { 0: Abilities.PICKPOCKET }, - [Species.RILLABOOM]: { 0: Abilities.GRASS_PELT, 1: Abilities.GRASS_PELT }, - [Species.SCORBUNNY]: { 0: Abilities.SHEER_FORCE }, - [Species.RABOOT]: { 0: Abilities.SHEER_FORCE }, - [Species.CINDERACE]: { 0: Abilities.NO_GUARD, 1: Abilities.NO_GUARD }, - [Species.SOBBLE]: { 0: Abilities.SUPER_LUCK }, - [Species.DRIZZILE]: { 0: Abilities.SUPER_LUCK }, - [Species.INTELEON]: { 0: Abilities.SUPER_LUCK, 1: Abilities.SUPER_LUCK }, - [Species.SKWOVET]: { 0: Abilities.HARVEST }, - [Species.GREEDENT]: { 0: Abilities.HARVEST }, - [Species.ROOKIDEE]: { 0: Abilities.GALE_WINGS }, - [Species.CORVISQUIRE]: { 0: Abilities.GALE_WINGS }, - [Species.CORVIKNIGHT]: { 0: Abilities.IRON_BARBS, 1: Abilities.IRON_BARBS }, - [Species.BLIPBUG]: { 0: Abilities.RUN_AWAY }, - [Species.DOTTLER]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.ORBEETLE]: { 0: Abilities.PSYCHIC_SURGE, 1: Abilities.PSYCHIC_SURGE }, - [Species.NICKIT]: { 0: Abilities.MAGICIAN }, - [Species.THIEVUL]: { 0: Abilities.MAGICIAN }, - [Species.GOSSIFLEUR]: { 0: Abilities.SEED_SOWER }, - [Species.ELDEGOSS]: { 0: Abilities.GRASSY_SURGE }, - [Species.WOOLOO]: { 0: Abilities.SCRAPPY }, - [Species.DUBWOOL]: { 0: Abilities.SCRAPPY }, - [Species.CHEWTLE]: { 0: Abilities.SOLID_ROCK }, - [Species.DREDNAW]: { 0: Abilities.SOLID_ROCK, 1: Abilities.SOLID_ROCK }, - [Species.YAMPER]: { 0: Abilities.PICKUP }, - [Species.BOLTUND]: { 0: Abilities.SHEER_FORCE }, - [Species.ROLYCOLY]: { 0: Abilities.SOLID_ROCK }, - [Species.CARKOL]: { 0: Abilities.SOLID_ROCK }, - [Species.COALOSSAL]: { 0: Abilities.SOLID_ROCK, 1: Abilities.SOLID_ROCK }, - [Species.APPLIN]: { 0: Abilities.STURDY }, - [Species.FLAPPLE]: { 0: Abilities.NO_GUARD, 1: Abilities.NO_GUARD }, - [Species.APPLETUN]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.WELL_BAKED_BODY }, - [Species.DIPPLIN]: { 0: Abilities.PARENTAL_BOND }, - [Species.HYDRAPPLE]: { 0: Abilities.PARENTAL_BOND }, - [Species.SILICOBRA]: { 0: Abilities.SAND_RUSH }, - [Species.SANDACONDA]: { 0: Abilities.SAND_RUSH, 1: Abilities.SAND_RUSH }, - [Species.CRAMORANT]: { 0: Abilities.LIGHTNING_ROD, 1: Abilities.LIGHTNING_ROD, 2: Abilities.LIGHTNING_ROD }, - [Species.ARROKUDA]: { 0: Abilities.SPEED_BOOST }, - [Species.BARRASKEWDA]: { 0: Abilities.INTIMIDATE }, - [Species.TOXEL]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.TOXTRICITY]: { 0: Abilities.ELECTRIC_SURGE, 1: Abilities.ELECTRIC_SURGE, 2: Abilities.ELECTRIC_SURGE }, - [Species.SIZZLIPEDE]: { 0: Abilities.HUSTLE }, - [Species.CENTISKORCH]: { 0: Abilities.HUSTLE, 1: Abilities.HUSTLE }, - [Species.CLOBBOPUS]: { 0: Abilities.WATER_BUBBLE }, - [Species.GRAPPLOCT]: { 0: Abilities.WATER_BUBBLE }, - [Species.SINISTEA]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, - [Species.POLTEAGEIST]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, - [Species.HATENNA]: { 0: Abilities.FAIRY_AURA }, - [Species.HATTREM]: { 0: Abilities.FAIRY_AURA }, - [Species.HATTERENE]: { 0: Abilities.FAIRY_AURA, 1: Abilities.FAIRY_AURA }, - [Species.IMPIDIMP]: { 0: Abilities.INTIMIDATE }, - [Species.MORGREM]: { 0: Abilities.INTIMIDATE }, - [Species.GRIMMSNARL]: { 0: Abilities.INTIMIDATE, 1: Abilities.INTIMIDATE }, - [Species.MILCERY]: { 0: Abilities.REGENERATOR }, - [Species.ALCREMIE]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR, 2: Abilities.REGENERATOR, 3: Abilities.REGENERATOR, 4: Abilities.REGENERATOR, 5: Abilities.REGENERATOR, 6: Abilities.REGENERATOR, 7: Abilities.REGENERATOR, 8: Abilities.REGENERATOR, 9: Abilities.REGENERATOR }, - [Species.FALINKS]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.PINCURCHIN]: { 0: Abilities.ELECTROMORPHOSIS }, - [Species.SNOM]: { 0: Abilities.SNOW_WARNING }, - [Species.FROSMOTH]: { 0: Abilities.SNOW_WARNING }, - [Species.STONJOURNER]: { 0: Abilities.STURDY }, - [Species.EISCUE]: { 0: Abilities.ICE_SCALES, 1: Abilities.ICE_SCALES }, - [Species.INDEEDEE]: { 0: Abilities.HOSPITALITY, 1: Abilities.FRIEND_GUARD }, - [Species.MORPEKO]: { 0: Abilities.MOODY, 1: Abilities.MOODY }, - [Species.CUFANT]: { 0: Abilities.EARTH_EATER }, - [Species.COPPERAJAH]: { 0: Abilities.EARTH_EATER, 1: Abilities.EARTH_EATER }, - [Species.DRACOZOLT]: { 0: Abilities.NO_GUARD }, - [Species.ARCTOZOLT]: { 0: Abilities.WATER_ABSORB }, - [Species.DRACOVISH]: { 0: Abilities.THERMAL_EXCHANGE }, - [Species.ARCTOVISH]: { 0: Abilities.STRONG_JAW }, - [Species.DURALUDON]: { 0: Abilities.FILTER, 1: Abilities.UNAWARE }, - [Species.ARCHALUDON]: { 0: Abilities.TRANSISTOR }, - [Species.DREEPY]: { 0: Abilities.TECHNICIAN }, - [Species.DRAKLOAK]: { 0: Abilities.PARENTAL_BOND }, - [Species.DRAGAPULT]: { 0: Abilities.PARENTAL_BOND }, - [Species.ZACIAN]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, - [Species.ZAMAZENTA]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, - [Species.ETERNATUS]: { 0: Abilities.NEUTRALIZING_GAS, 1: Abilities.NEUTRALIZING_GAS }, - [Species.KUBFU]: { 0: Abilities.IRON_FIST }, - [Species.URSHIFU]: { 0: Abilities.IRON_FIST, 1: Abilities.IRON_FIST, 2: Abilities.IRON_FIST, 3: Abilities.IRON_FIST }, - [Species.ZARUDE]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, - [Species.REGIELEKI]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.REGIDRAGO]: { 0: Abilities.MULTISCALE }, - [Species.GLASTRIER]: { 0: Abilities.FILTER }, - [Species.SPECTRIER]: { 0: Abilities.DAZZLING }, - [Species.CALYREX]: { 0: Abilities.HARVEST, 1: Abilities.FILTER, 2: Abilities.DAZZLING }, - [Species.ENAMORUS]: { 0: Abilities.FAIRY_AURA, 1: Abilities.FAIRY_AURA }, - [Species.GALAR_MEOWTH]: { 0: Abilities.UNBURDEN }, - [Species.PERRSERKER]: { 0: Abilities.UNBURDEN }, - [Species.GALAR_PONYTA]: { 0: Abilities.CHILLING_NEIGH }, - [Species.GALAR_RAPIDASH]: { 0: Abilities.CHILLING_NEIGH }, - [Species.GALAR_SLOWPOKE]: { 0: Abilities.OBLIVIOUS }, - [Species.GALAR_SLOWBRO]: { 0: Abilities.NEUROFORCE }, - [Species.GALAR_SLOWKING]: { 0: Abilities.INTIMIDATE }, - [Species.GALAR_FARFETCHD]: { 0: Abilities.STAKEOUT }, - [Species.SIRFETCHD]: { 0: Abilities.INTREPID_SWORD }, - [Species.GALAR_ARTICUNO]: { 0: Abilities.SERENE_GRACE }, - [Species.GALAR_ZAPDOS]: { 0: Abilities.TOUGH_CLAWS }, - [Species.GALAR_MOLTRES]: { 0: Abilities.DARK_AURA }, - [Species.GALAR_CORSOLA]: { 0: Abilities.SHADOW_SHIELD }, - [Species.CURSOLA]: { 0: Abilities.SHADOW_SHIELD }, - [Species.GALAR_ZIGZAGOON]: { 0: Abilities.POISON_HEAL }, - [Species.GALAR_LINOONE]: { 0: Abilities.POISON_HEAL }, - [Species.OBSTAGOON]: { 0: Abilities.POISON_HEAL }, - [Species.GALAR_DARUMAKA]: { 0: Abilities.FLASH_FIRE }, - [Species.GALAR_DARMANITAN]: { 0: Abilities.FLASH_FIRE, 1: Abilities.FLASH_FIRE }, - [Species.GALAR_YAMASK]: { 0: Abilities.TABLETS_OF_RUIN }, - [Species.RUNERIGUS]: { 0: Abilities.TABLETS_OF_RUIN }, - [Species.GALAR_STUNFISK]: { 0: Abilities.ARENA_TRAP }, - [Species.HISUI_GROWLITHE]: { 0: Abilities.RECKLESS }, - [Species.HISUI_ARCANINE]: { 0: Abilities.RECKLESS }, - [Species.HISUI_VOLTORB]: { 0: Abilities.TRANSISTOR }, - [Species.HISUI_ELECTRODE]: { 0: Abilities.TRANSISTOR }, - [Species.HISUI_QWILFISH]: { 0: Abilities.MERCILESS }, - [Species.OVERQWIL]: { 0: Abilities.MERCILESS }, - [Species.HISUI_SNEASEL]: { 0: Abilities.SCRAPPY }, - [Species.SNEASLER]: { 0: Abilities.SCRAPPY }, - [Species.HISUI_ZORUA]: { 0: Abilities.SHADOW_SHIELD }, - [Species.HISUI_ZOROARK]: { 0: Abilities.SHADOW_SHIELD }, + [SpeciesId.GROOKEY]: { 0: AbilityId.PICKPOCKET }, + [SpeciesId.THWACKEY]: { 0: AbilityId.PICKPOCKET }, + [SpeciesId.RILLABOOM]: { 0: AbilityId.GRASS_PELT, 1: AbilityId.GRASS_PELT }, + [SpeciesId.SCORBUNNY]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.RABOOT]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.CINDERACE]: { 0: AbilityId.NO_GUARD, 1: AbilityId.NO_GUARD }, + [SpeciesId.SOBBLE]: { 0: AbilityId.SUPER_LUCK }, + [SpeciesId.DRIZZILE]: { 0: AbilityId.SUPER_LUCK }, + [SpeciesId.INTELEON]: { 0: AbilityId.SUPER_LUCK, 1: AbilityId.SUPER_LUCK }, + [SpeciesId.SKWOVET]: { 0: AbilityId.HARVEST }, + [SpeciesId.GREEDENT]: { 0: AbilityId.HARVEST }, + [SpeciesId.ROOKIDEE]: { 0: AbilityId.GALE_WINGS }, + [SpeciesId.CORVISQUIRE]: { 0: AbilityId.GALE_WINGS }, + [SpeciesId.CORVIKNIGHT]: { 0: AbilityId.IRON_BARBS, 1: AbilityId.IRON_BARBS }, + [SpeciesId.BLIPBUG]: { 0: AbilityId.RUN_AWAY }, + [SpeciesId.DOTTLER]: { 0: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.ORBEETLE]: { 0: AbilityId.PSYCHIC_SURGE, 1: AbilityId.PSYCHIC_SURGE }, + [SpeciesId.NICKIT]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.THIEVUL]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.GOSSIFLEUR]: { 0: AbilityId.SEED_SOWER }, + [SpeciesId.ELDEGOSS]: { 0: AbilityId.GRASSY_SURGE }, + [SpeciesId.WOOLOO]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.DUBWOOL]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.CHEWTLE]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.DREDNAW]: { 0: AbilityId.SOLID_ROCK, 1: AbilityId.SOLID_ROCK }, + [SpeciesId.YAMPER]: { 0: AbilityId.PICKUP }, + [SpeciesId.BOLTUND]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.ROLYCOLY]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.CARKOL]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.COALOSSAL]: { 0: AbilityId.SOLID_ROCK, 1: AbilityId.SOLID_ROCK }, + [SpeciesId.APPLIN]: { 0: AbilityId.STURDY }, + [SpeciesId.FLAPPLE]: { 0: AbilityId.NO_GUARD, 1: AbilityId.NO_GUARD }, + [SpeciesId.APPLETUN]: { 0: AbilityId.WELL_BAKED_BODY, 1: AbilityId.WELL_BAKED_BODY }, + [SpeciesId.DIPPLIN]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.HYDRAPPLE]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.SILICOBRA]: { 0: AbilityId.SAND_RUSH }, + [SpeciesId.SANDACONDA]: { 0: AbilityId.SAND_RUSH, 1: AbilityId.SAND_RUSH }, + [SpeciesId.CRAMORANT]: { 0: AbilityId.LIGHTNING_ROD, 1: AbilityId.LIGHTNING_ROD, 2: AbilityId.LIGHTNING_ROD }, + [SpeciesId.ARROKUDA]: { 0: AbilityId.SPEED_BOOST }, + [SpeciesId.BARRASKEWDA]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.TOXEL]: { 0: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.TOXTRICITY]: { 0: AbilityId.ELECTRIC_SURGE, 1: AbilityId.ELECTRIC_SURGE, 2: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.SIZZLIPEDE]: { 0: AbilityId.HUSTLE }, + [SpeciesId.CENTISKORCH]: { 0: AbilityId.HUSTLE, 1: AbilityId.HUSTLE }, + [SpeciesId.CLOBBOPUS]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.GRAPPLOCT]: { 0: AbilityId.WATER_BUBBLE }, + [SpeciesId.SINISTEA]: { 0: AbilityId.SHADOW_SHIELD, 1: AbilityId.SHADOW_SHIELD }, + [SpeciesId.POLTEAGEIST]: { 0: AbilityId.SHADOW_SHIELD, 1: AbilityId.SHADOW_SHIELD }, + [SpeciesId.HATENNA]: { 0: AbilityId.FAIRY_AURA }, + [SpeciesId.HATTREM]: { 0: AbilityId.FAIRY_AURA }, + [SpeciesId.HATTERENE]: { 0: AbilityId.FAIRY_AURA, 1: AbilityId.FAIRY_AURA }, + [SpeciesId.IMPIDIMP]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.MORGREM]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.GRIMMSNARL]: { 0: AbilityId.INTIMIDATE, 1: AbilityId.INTIMIDATE }, + [SpeciesId.MILCERY]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.ALCREMIE]: { 0: AbilityId.REGENERATOR, 1: AbilityId.REGENERATOR, 2: AbilityId.REGENERATOR, 3: AbilityId.REGENERATOR, 4: AbilityId.REGENERATOR, 5: AbilityId.REGENERATOR, 6: AbilityId.REGENERATOR, 7: AbilityId.REGENERATOR, 8: AbilityId.REGENERATOR, 9: AbilityId.REGENERATOR }, + [SpeciesId.FALINKS]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.PINCURCHIN]: { 0: AbilityId.ELECTROMORPHOSIS }, + [SpeciesId.SNOM]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.FROSMOTH]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.STONJOURNER]: { 0: AbilityId.STURDY }, + [SpeciesId.EISCUE]: { 0: AbilityId.ICE_SCALES, 1: AbilityId.ICE_SCALES }, + [SpeciesId.INDEEDEE]: { 0: AbilityId.HOSPITALITY, 1: AbilityId.FRIEND_GUARD }, + [SpeciesId.MORPEKO]: { 0: AbilityId.MOODY, 1: AbilityId.MOODY }, + [SpeciesId.CUFANT]: { 0: AbilityId.EARTH_EATER }, + [SpeciesId.COPPERAJAH]: { 0: AbilityId.EARTH_EATER, 1: AbilityId.EARTH_EATER }, + [SpeciesId.DRACOZOLT]: { 0: AbilityId.NO_GUARD }, + [SpeciesId.ARCTOZOLT]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.DRACOVISH]: { 0: AbilityId.THERMAL_EXCHANGE }, + [SpeciesId.ARCTOVISH]: { 0: AbilityId.STRONG_JAW }, + [SpeciesId.DURALUDON]: { 0: AbilityId.FILTER, 1: AbilityId.UNAWARE }, + [SpeciesId.ARCHALUDON]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.DREEPY]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.DRAKLOAK]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.DRAGAPULT]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.ZACIAN]: { 0: AbilityId.UNNERVE, 1: AbilityId.UNNERVE }, + [SpeciesId.ZAMAZENTA]: { 0: AbilityId.UNNERVE, 1: AbilityId.UNNERVE }, + [SpeciesId.ETERNATUS]: { 0: AbilityId.NEUTRALIZING_GAS, 1: AbilityId.NEUTRALIZING_GAS }, + [SpeciesId.KUBFU]: { 0: AbilityId.IRON_FIST }, + [SpeciesId.URSHIFU]: { 0: AbilityId.IRON_FIST, 1: AbilityId.IRON_FIST, 2: AbilityId.IRON_FIST, 3: AbilityId.IRON_FIST }, + [SpeciesId.ZARUDE]: { 0: AbilityId.TOUGH_CLAWS, 1: AbilityId.TOUGH_CLAWS }, + [SpeciesId.REGIELEKI]: { 0: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.REGIDRAGO]: { 0: AbilityId.MULTISCALE }, + [SpeciesId.GLASTRIER]: { 0: AbilityId.FILTER }, + [SpeciesId.SPECTRIER]: { 0: AbilityId.DAZZLING }, + [SpeciesId.CALYREX]: { 0: AbilityId.HARVEST, 1: AbilityId.FILTER, 2: AbilityId.DAZZLING }, + [SpeciesId.ENAMORUS]: { 0: AbilityId.FAIRY_AURA, 1: AbilityId.FAIRY_AURA }, + [SpeciesId.GALAR_MEOWTH]: { 0: AbilityId.UNBURDEN }, + [SpeciesId.PERRSERKER]: { 0: AbilityId.UNBURDEN }, + [SpeciesId.GALAR_PONYTA]: { 0: AbilityId.CHILLING_NEIGH }, + [SpeciesId.GALAR_RAPIDASH]: { 0: AbilityId.CHILLING_NEIGH }, + [SpeciesId.GALAR_SLOWPOKE]: { 0: AbilityId.OBLIVIOUS }, + [SpeciesId.GALAR_SLOWBRO]: { 0: AbilityId.NEUROFORCE }, + [SpeciesId.GALAR_SLOWKING]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.GALAR_FARFETCHD]: { 0: AbilityId.STAKEOUT }, + [SpeciesId.SIRFETCHD]: { 0: AbilityId.INTREPID_SWORD }, + [SpeciesId.GALAR_ARTICUNO]: { 0: AbilityId.SERENE_GRACE }, + [SpeciesId.GALAR_ZAPDOS]: { 0: AbilityId.TOUGH_CLAWS }, + [SpeciesId.GALAR_MOLTRES]: { 0: AbilityId.DARK_AURA }, + [SpeciesId.GALAR_CORSOLA]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.CURSOLA]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.GALAR_ZIGZAGOON]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.GALAR_LINOONE]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.OBSTAGOON]: { 0: AbilityId.POISON_HEAL }, + [SpeciesId.GALAR_DARUMAKA]: { 0: AbilityId.FLASH_FIRE }, + [SpeciesId.GALAR_DARMANITAN]: { 0: AbilityId.FLASH_FIRE, 1: AbilityId.FLASH_FIRE }, + [SpeciesId.GALAR_YAMASK]: { 0: AbilityId.TABLETS_OF_RUIN }, + [SpeciesId.RUNERIGUS]: { 0: AbilityId.TABLETS_OF_RUIN }, + [SpeciesId.GALAR_STUNFISK]: { 0: AbilityId.ARENA_TRAP }, + [SpeciesId.HISUI_GROWLITHE]: { 0: AbilityId.RECKLESS }, + [SpeciesId.HISUI_ARCANINE]: { 0: AbilityId.RECKLESS }, + [SpeciesId.HISUI_VOLTORB]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.HISUI_ELECTRODE]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.HISUI_QWILFISH]: { 0: AbilityId.MERCILESS }, + [SpeciesId.OVERQWIL]: { 0: AbilityId.MERCILESS }, + [SpeciesId.HISUI_SNEASEL]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.SNEASLER]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.HISUI_ZORUA]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.HISUI_ZOROARK]: { 0: AbilityId.SHADOW_SHIELD }, - [Species.SPRIGATITO]: { 0: Abilities.PICKUP }, - [Species.FLORAGATO]: { 0: Abilities.MAGICIAN }, - [Species.MEOWSCARADA]: { 0: Abilities.MAGICIAN }, - [Species.FUECOCO]: { 0: Abilities.GLUTTONY }, - [Species.CROCALOR]: { 0: Abilities.PUNK_ROCK }, - [Species.SKELEDIRGE]: { 0: Abilities.PUNK_ROCK }, - [Species.QUAXLY]: { 0: Abilities.OPPORTUNIST }, - [Species.QUAXWELL]: { 0: Abilities.OPPORTUNIST }, - [Species.QUAQUAVAL]: { 0: Abilities.OPPORTUNIST }, - [Species.LECHONK]: { 0: Abilities.SIMPLE }, - [Species.OINKOLOGNE]: { 0: Abilities.SIMPLE, 1: Abilities.SIMPLE }, - [Species.TAROUNTULA]: { 0: Abilities.HONEY_GATHER }, - [Species.SPIDOPS]: { 0: Abilities.HONEY_GATHER }, - [Species.NYMBLE]: { 0: Abilities.TECHNICIAN }, - [Species.LOKIX]: { 0: Abilities.GUTS }, - [Species.PAWMI]: { 0: Abilities.TRANSISTOR }, - [Species.PAWMO]: { 0: Abilities.TRANSISTOR }, - [Species.PAWMOT]: { 0: Abilities.TRANSISTOR }, - [Species.TANDEMAUS]: { 0: Abilities.FRIEND_GUARD }, - [Species.MAUSHOLD]: { 0: Abilities.SCRAPPY, 1: Abilities.SCRAPPY }, - [Species.FIDOUGH]: { 0: Abilities.WATER_ABSORB }, - [Species.DACHSBUN]: { 0: Abilities.WATER_ABSORB }, - [Species.SMOLIV]: { 0: Abilities.RIPEN }, - [Species.DOLLIV]: { 0: Abilities.RIPEN }, - [Species.ARBOLIVA]: { 0: Abilities.RIPEN }, - [Species.SQUAWKABILLY]: { 0: Abilities.MOXIE, 1: Abilities.MOXIE, 2: Abilities.MOXIE, 3: Abilities.MOXIE }, - [Species.NACLI]: { 0: Abilities.SOLID_ROCK }, - [Species.NACLSTACK]: { 0: Abilities.SOLID_ROCK }, - [Species.GARGANACL]: { 0: Abilities.SOLID_ROCK }, - [Species.CHARCADET]: { 0: Abilities.BATTLE_ARMOR }, - [Species.ARMAROUGE]: { 0: Abilities.PRISM_ARMOR }, - [Species.CERULEDGE]: { 0: Abilities.PRISM_ARMOR }, - [Species.TADBULB]: { 0: Abilities.LEVITATE }, - [Species.BELLIBOLT]: { 0: Abilities.STAMINA }, - [Species.WATTREL]: { 0: Abilities.SHEER_FORCE }, - [Species.KILOWATTREL]: { 0: Abilities.SHEER_FORCE }, - [Species.MASCHIFF]: { 0: Abilities.STRONG_JAW }, - [Species.MABOSSTIFF]: { 0: Abilities.STRONG_JAW }, - [Species.SHROODLE]: { 0: Abilities.CORROSION }, - [Species.GRAFAIAI]: { 0: Abilities.CORROSION }, - [Species.BRAMBLIN]: { 0: Abilities.WANDERING_SPIRIT }, - [Species.BRAMBLEGHAST]: { 0: Abilities.SHADOW_SHIELD }, - [Species.TOEDSCOOL]: { 0: Abilities.RUN_AWAY }, - [Species.TOEDSCRUEL]: { 0: Abilities.PRANKSTER }, - [Species.KLAWF]: { 0: Abilities.WATER_ABSORB }, - [Species.CAPSAKID]: { 0: Abilities.FLOWER_GIFT }, - [Species.SCOVILLAIN]: { 0: Abilities.PARENTAL_BOND }, - [Species.RELLOR]: { 0: Abilities.PRANKSTER }, - [Species.RABSCA]: { 0: Abilities.PRANKSTER }, - [Species.FLITTLE]: { 0: Abilities.DAZZLING }, - [Species.ESPATHRA]: { 0: Abilities.DAZZLING }, - [Species.TINKATINK]: { 0: Abilities.STEELWORKER }, - [Species.TINKATUFF]: { 0: Abilities.STEELWORKER }, - [Species.TINKATON]: { 0: Abilities.STEELWORKER }, - [Species.WIGLETT]: { 0: Abilities.STURDY }, - [Species.WUGTRIO]: { 0: Abilities.STURDY }, - [Species.BOMBIRDIER]: { 0: Abilities.UNBURDEN }, - [Species.FINIZEN]: { 0: Abilities.SWIFT_SWIM }, - [Species.PALAFIN]: { 0: Abilities.EMERGENCY_EXIT, 1: Abilities.IRON_FIST }, - [Species.VAROOM]: { 0: Abilities.LEVITATE }, - [Species.REVAVROOM]: { 0: Abilities.LEVITATE, 1: Abilities.DARK_AURA, 2: Abilities.FLASH_FIRE, 3: Abilities.MERCILESS, 4: Abilities.FILTER, 5: Abilities.SCRAPPY }, - [Species.CYCLIZAR]: { 0: Abilities.PROTEAN }, - [Species.ORTHWORM]: { 0: Abilities.REGENERATOR }, - [Species.GLIMMET]: { 0: Abilities.STURDY }, - [Species.GLIMMORA]: { 0: Abilities.TERA_SHELL }, - [Species.GREAVARD]: { 0: Abilities.UNAWARE }, - [Species.HOUNDSTONE]: { 0: Abilities.UNAWARE }, - [Species.FLAMIGO]: { 0: Abilities.MOXIE }, - [Species.CETODDLE]: { 0: Abilities.REFRIGERATE }, - [Species.CETITAN]: { 0: Abilities.REFRIGERATE }, - [Species.VELUZA]: { 0: Abilities.SUPER_LUCK }, - [Species.DONDOZO]: { 0: Abilities.DRAGONS_MAW }, - [Species.TATSUGIRI]: { 0: Abilities.FLUFFY, 1: Abilities.FLUFFY, 2: Abilities.FLUFFY }, - [Species.GREAT_TUSK]: { 0: Abilities.INTIMIDATE }, - [Species.SCREAM_TAIL]: { 0: Abilities.UNAWARE }, - [Species.BRUTE_BONNET]: { 0: Abilities.CHLOROPHYLL }, - [Species.FLUTTER_MANE]: { 0: Abilities.DAZZLING }, - [Species.SLITHER_WING]: { 0: Abilities.SCRAPPY }, - [Species.SANDY_SHOCKS]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.IRON_TREADS]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.IRON_BUNDLE]: { 0: Abilities.SNOW_WARNING }, - [Species.IRON_HANDS]: { 0: Abilities.IRON_FIST }, - [Species.IRON_JUGULIS]: { 0: Abilities.LIGHTNING_ROD }, - [Species.IRON_MOTH]: { 0: Abilities.LEVITATE }, - [Species.IRON_THORNS]: { 0: Abilities.SAND_STREAM }, - [Species.FRIGIBAX]: { 0: Abilities.INTIMIDATE }, - [Species.ARCTIBAX]: { 0: Abilities.INTIMIDATE }, - [Species.BAXCALIBUR]: { 0: Abilities.INTIMIDATE }, - [Species.GIMMIGHOUL]: { 0: Abilities.HONEY_GATHER, 1: Abilities.HONEY_GATHER }, - [Species.GHOLDENGO]: { 0: Abilities.HONEY_GATHER }, - [Species.WO_CHIEN]: { 0: Abilities.VESSEL_OF_RUIN }, - [Species.CHIEN_PAO]: { 0: Abilities.INTIMIDATE }, - [Species.TING_LU]: { 0: Abilities.STAMINA }, - [Species.CHI_YU]: { 0: Abilities.BERSERK }, - [Species.ROARING_MOON]: { 0: Abilities.INTIMIDATE }, - [Species.IRON_VALIANT]: { 0: Abilities.NEUROFORCE }, - [Species.KORAIDON]: { 0: Abilities.THERMAL_EXCHANGE }, - [Species.MIRAIDON]: { 0: Abilities.COMPOUND_EYES }, - [Species.WALKING_WAKE]: { 0: Abilities.BEAST_BOOST }, - [Species.IRON_LEAVES]: { 0: Abilities.SHARPNESS }, - [Species.POLTCHAGEIST]: { 0: Abilities.TRIAGE, 1: Abilities.TRIAGE }, - [Species.SINISTCHA]: { 0: Abilities.TRIAGE, 1: Abilities.TRIAGE }, - [Species.OKIDOGI]: { 0: Abilities.DARK_AURA }, - [Species.MUNKIDORI]: { 0: Abilities.MAGICIAN }, - [Species.FEZANDIPITI]: { 0: Abilities.PIXILATE }, - [Species.OGERPON]: { 0: Abilities.OPPORTUNIST, 1: Abilities.SUPER_LUCK, 2: Abilities.FLASH_FIRE, 3: Abilities.MAGIC_GUARD, 4: Abilities.OPPORTUNIST, 5: Abilities.SUPER_LUCK, 6: Abilities.FLASH_FIRE, 7: Abilities.MAGIC_GUARD }, - [Species.GOUGING_FIRE]: { 0: Abilities.BEAST_BOOST }, - [Species.RAGING_BOLT]: { 0: Abilities.BEAST_BOOST }, - [Species.IRON_BOULDER]: { 0: Abilities.SHARPNESS }, - [Species.IRON_CROWN]: { 0: Abilities.SHARPNESS }, - [Species.TERAPAGOS]: { 0: Abilities.SHIELD_DUST, 1: Abilities.SHIELD_DUST, 2: Abilities.SHIELD_DUST }, - [Species.PECHARUNT]: { 0: Abilities.TOXIC_CHAIN }, - [Species.PALDEA_TAUROS]: { 0: Abilities.STAMINA, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY }, - [Species.PALDEA_WOOPER]: { 0: Abilities.POISON_TOUCH }, - [Species.CLODSIRE]: { 0: Abilities.THICK_FAT }, - [Species.BLOODMOON_URSALUNA]: { 0: Abilities.BERSERK } + [SpeciesId.SPRIGATITO]: { 0: AbilityId.PICKUP }, + [SpeciesId.FLORAGATO]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.MEOWSCARADA]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.FUECOCO]: { 0: AbilityId.GLUTTONY }, + [SpeciesId.CROCALOR]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.SKELEDIRGE]: { 0: AbilityId.PUNK_ROCK }, + [SpeciesId.QUAXLY]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.QUAXWELL]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.QUAQUAVAL]: { 0: AbilityId.OPPORTUNIST }, + [SpeciesId.LECHONK]: { 0: AbilityId.SIMPLE }, + [SpeciesId.OINKOLOGNE]: { 0: AbilityId.SIMPLE, 1: AbilityId.SIMPLE }, + [SpeciesId.TAROUNTULA]: { 0: AbilityId.HONEY_GATHER }, + [SpeciesId.SPIDOPS]: { 0: AbilityId.HONEY_GATHER }, + [SpeciesId.NYMBLE]: { 0: AbilityId.TECHNICIAN }, + [SpeciesId.LOKIX]: { 0: AbilityId.GUTS }, + [SpeciesId.PAWMI]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.PAWMO]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.PAWMOT]: { 0: AbilityId.TRANSISTOR }, + [SpeciesId.TANDEMAUS]: { 0: AbilityId.FRIEND_GUARD }, + [SpeciesId.MAUSHOLD]: { 0: AbilityId.SCRAPPY, 1: AbilityId.SCRAPPY }, + [SpeciesId.FIDOUGH]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.DACHSBUN]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.SMOLIV]: { 0: AbilityId.RIPEN }, + [SpeciesId.DOLLIV]: { 0: AbilityId.RIPEN }, + [SpeciesId.ARBOLIVA]: { 0: AbilityId.RIPEN }, + [SpeciesId.SQUAWKABILLY]: { 0: AbilityId.MOXIE, 1: AbilityId.MOXIE, 2: AbilityId.MOXIE, 3: AbilityId.MOXIE }, + [SpeciesId.NACLI]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.NACLSTACK]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.GARGANACL]: { 0: AbilityId.SOLID_ROCK }, + [SpeciesId.CHARCADET]: { 0: AbilityId.BATTLE_ARMOR }, + [SpeciesId.ARMAROUGE]: { 0: AbilityId.PRISM_ARMOR }, + [SpeciesId.CERULEDGE]: { 0: AbilityId.PRISM_ARMOR }, + [SpeciesId.TADBULB]: { 0: AbilityId.LEVITATE }, + [SpeciesId.BELLIBOLT]: { 0: AbilityId.STAMINA }, + [SpeciesId.WATTREL]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.KILOWATTREL]: { 0: AbilityId.SHEER_FORCE }, + [SpeciesId.MASCHIFF]: { 0: AbilityId.STRONG_JAW }, + [SpeciesId.MABOSSTIFF]: { 0: AbilityId.STRONG_JAW }, + [SpeciesId.SHROODLE]: { 0: AbilityId.CORROSION }, + [SpeciesId.GRAFAIAI]: { 0: AbilityId.CORROSION }, + [SpeciesId.BRAMBLIN]: { 0: AbilityId.WANDERING_SPIRIT }, + [SpeciesId.BRAMBLEGHAST]: { 0: AbilityId.SHADOW_SHIELD }, + [SpeciesId.TOEDSCOOL]: { 0: AbilityId.RUN_AWAY }, + [SpeciesId.TOEDSCRUEL]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.KLAWF]: { 0: AbilityId.WATER_ABSORB }, + [SpeciesId.CAPSAKID]: { 0: AbilityId.FLOWER_GIFT }, + [SpeciesId.SCOVILLAIN]: { 0: AbilityId.PARENTAL_BOND }, + [SpeciesId.RELLOR]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.RABSCA]: { 0: AbilityId.PRANKSTER }, + [SpeciesId.FLITTLE]: { 0: AbilityId.DAZZLING }, + [SpeciesId.ESPATHRA]: { 0: AbilityId.DAZZLING }, + [SpeciesId.TINKATINK]: { 0: AbilityId.STEELWORKER }, + [SpeciesId.TINKATUFF]: { 0: AbilityId.STEELWORKER }, + [SpeciesId.TINKATON]: { 0: AbilityId.STEELWORKER }, + [SpeciesId.WIGLETT]: { 0: AbilityId.STURDY }, + [SpeciesId.WUGTRIO]: { 0: AbilityId.STURDY }, + [SpeciesId.BOMBIRDIER]: { 0: AbilityId.UNBURDEN }, + [SpeciesId.FINIZEN]: { 0: AbilityId.SWIFT_SWIM }, + [SpeciesId.PALAFIN]: { 0: AbilityId.EMERGENCY_EXIT, 1: AbilityId.IRON_FIST }, + [SpeciesId.VAROOM]: { 0: AbilityId.LEVITATE }, + [SpeciesId.REVAVROOM]: { 0: AbilityId.LEVITATE, 1: AbilityId.DARK_AURA, 2: AbilityId.FLASH_FIRE, 3: AbilityId.MERCILESS, 4: AbilityId.FILTER, 5: AbilityId.SCRAPPY }, + [SpeciesId.CYCLIZAR]: { 0: AbilityId.PROTEAN }, + [SpeciesId.ORTHWORM]: { 0: AbilityId.REGENERATOR }, + [SpeciesId.GLIMMET]: { 0: AbilityId.STURDY }, + [SpeciesId.GLIMMORA]: { 0: AbilityId.TERA_SHELL }, + [SpeciesId.GREAVARD]: { 0: AbilityId.UNAWARE }, + [SpeciesId.HOUNDSTONE]: { 0: AbilityId.UNAWARE }, + [SpeciesId.FLAMIGO]: { 0: AbilityId.MOXIE }, + [SpeciesId.CETODDLE]: { 0: AbilityId.REFRIGERATE }, + [SpeciesId.CETITAN]: { 0: AbilityId.REFRIGERATE }, + [SpeciesId.VELUZA]: { 0: AbilityId.SUPER_LUCK }, + [SpeciesId.DONDOZO]: { 0: AbilityId.DRAGONS_MAW }, + [SpeciesId.TATSUGIRI]: { 0: AbilityId.FLUFFY, 1: AbilityId.FLUFFY, 2: AbilityId.FLUFFY }, + [SpeciesId.GREAT_TUSK]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.SCREAM_TAIL]: { 0: AbilityId.UNAWARE }, + [SpeciesId.BRUTE_BONNET]: { 0: AbilityId.CHLOROPHYLL }, + [SpeciesId.FLUTTER_MANE]: { 0: AbilityId.DAZZLING }, + [SpeciesId.SLITHER_WING]: { 0: AbilityId.SCRAPPY }, + [SpeciesId.SANDY_SHOCKS]: { 0: AbilityId.ELECTRIC_SURGE }, + [SpeciesId.IRON_TREADS]: { 0: AbilityId.DAUNTLESS_SHIELD }, + [SpeciesId.IRON_BUNDLE]: { 0: AbilityId.SNOW_WARNING }, + [SpeciesId.IRON_HANDS]: { 0: AbilityId.IRON_FIST }, + [SpeciesId.IRON_JUGULIS]: { 0: AbilityId.LIGHTNING_ROD }, + [SpeciesId.IRON_MOTH]: { 0: AbilityId.LEVITATE }, + [SpeciesId.IRON_THORNS]: { 0: AbilityId.SAND_STREAM }, + [SpeciesId.FRIGIBAX]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.ARCTIBAX]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.BAXCALIBUR]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.GIMMIGHOUL]: { 0: AbilityId.HONEY_GATHER, 1: AbilityId.HONEY_GATHER }, + [SpeciesId.GHOLDENGO]: { 0: AbilityId.HONEY_GATHER }, + [SpeciesId.WO_CHIEN]: { 0: AbilityId.VESSEL_OF_RUIN }, + [SpeciesId.CHIEN_PAO]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.TING_LU]: { 0: AbilityId.STAMINA }, + [SpeciesId.CHI_YU]: { 0: AbilityId.BERSERK }, + [SpeciesId.ROARING_MOON]: { 0: AbilityId.INTIMIDATE }, + [SpeciesId.IRON_VALIANT]: { 0: AbilityId.NEUROFORCE }, + [SpeciesId.KORAIDON]: { 0: AbilityId.THERMAL_EXCHANGE }, + [SpeciesId.MIRAIDON]: { 0: AbilityId.COMPOUND_EYES }, + [SpeciesId.WALKING_WAKE]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.IRON_LEAVES]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.POLTCHAGEIST]: { 0: AbilityId.TRIAGE, 1: AbilityId.TRIAGE }, + [SpeciesId.SINISTCHA]: { 0: AbilityId.TRIAGE, 1: AbilityId.TRIAGE }, + [SpeciesId.OKIDOGI]: { 0: AbilityId.DARK_AURA }, + [SpeciesId.MUNKIDORI]: { 0: AbilityId.MAGICIAN }, + [SpeciesId.FEZANDIPITI]: { 0: AbilityId.PIXILATE }, + [SpeciesId.OGERPON]: { 0: AbilityId.OPPORTUNIST, 1: AbilityId.SUPER_LUCK, 2: AbilityId.FLASH_FIRE, 3: AbilityId.MAGIC_GUARD, 4: AbilityId.OPPORTUNIST, 5: AbilityId.SUPER_LUCK, 6: AbilityId.FLASH_FIRE, 7: AbilityId.MAGIC_GUARD }, + [SpeciesId.GOUGING_FIRE]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.RAGING_BOLT]: { 0: AbilityId.BEAST_BOOST }, + [SpeciesId.IRON_BOULDER]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.IRON_CROWN]: { 0: AbilityId.SHARPNESS }, + [SpeciesId.TERAPAGOS]: { 0: AbilityId.SHIELD_DUST, 1: AbilityId.SHIELD_DUST, 2: AbilityId.SHIELD_DUST }, + [SpeciesId.PECHARUNT]: { 0: AbilityId.TOXIC_CHAIN }, + [SpeciesId.PALDEA_TAUROS]: { 0: AbilityId.STAMINA, 1: AbilityId.ADAPTABILITY, 2: AbilityId.ADAPTABILITY }, + [SpeciesId.PALDEA_WOOPER]: { 0: AbilityId.POISON_TOUCH }, + [SpeciesId.CLODSIRE]: { 0: AbilityId.THICK_FAT }, + [SpeciesId.BLOODMOON_URSALUNA]: { 0: AbilityId.BERSERK } }; diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts index cf1e4061987..298cf2d0719 100644 --- a/src/data/balance/pokemon-evolutions.ts +++ b/src/data/balance/pokemon-evolutions.ts @@ -6,9 +6,9 @@ import { PokemonType } from "#enums/pokemon-type"; import { randSeedInt } from "#app/utils/common"; import { WeatherType } from "#enums/weather-type"; import { Nature } from "#enums/nature"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { SpeciesFormKey } from "#enums/species-form-key"; import { TimeOfDay } from "#enums/time-of-day"; import { DamageMoneyRewardModifier, ExtraModifierModifier, MoneyMultiplierModifier, SpeciesStatBoosterModifier, TempExtraModifierModifier } from "#app/modifier/modifier"; @@ -77,16 +77,16 @@ export enum EvolutionItem { /** * Pokemon Evolution tuple type consisting of: - * @property 0 {@linkcode Species} The species of the Pokemon. + * @property 0 {@linkcode SpeciesId} The species of the Pokemon. * @property 1 {@linkcode number} The level at which the Pokemon evolves. */ -export type EvolutionLevel = [species: Species, level: number]; +export type EvolutionLevel = [species: SpeciesId, level: number]; export type EvolutionConditionPredicate = (p: Pokemon) => boolean; export type EvolutionConditionEnforceFunc = (p: Pokemon) => void; export class SpeciesFormEvolution { - public speciesId: Species; + public speciesId: SpeciesId; public preFormKey: string | null; public evoFormKey: string | null; public level: number; @@ -95,7 +95,7 @@ export class SpeciesFormEvolution { public wildDelay: SpeciesWildEvolutionDelay; public description = ""; - constructor(speciesId: Species, preFormKey: string | null, evoFormKey: string | null, level: number, item: EvolutionItem | null, condition: SpeciesEvolutionCondition | null, wildDelay?: SpeciesWildEvolutionDelay) { + constructor(speciesId: SpeciesId, preFormKey: string | null, evoFormKey: string | null, level: number, item: EvolutionItem | null, condition: SpeciesEvolutionCondition | null, wildDelay?: SpeciesWildEvolutionDelay) { if (!i18next.isInitialized) { initI18n(); } @@ -127,15 +127,15 @@ export class SpeciesFormEvolution { } export class SpeciesEvolution extends SpeciesFormEvolution { - constructor(speciesId: Species, level: number, item: EvolutionItem | null, condition: SpeciesEvolutionCondition | null, wildDelay?: SpeciesWildEvolutionDelay) { + constructor(speciesId: SpeciesId, level: number, item: EvolutionItem | null, condition: SpeciesEvolutionCondition | null, wildDelay?: SpeciesWildEvolutionDelay) { super(speciesId, null, null, level, item, condition, wildDelay); } } export class FusionSpeciesFormEvolution extends SpeciesFormEvolution { - public primarySpeciesId: Species; + public primarySpeciesId: SpeciesId; - constructor(primarySpeciesId: Species, evolution: SpeciesFormEvolution) { + constructor(primarySpeciesId: SpeciesId, evolution: SpeciesFormEvolution) { super(evolution.speciesId, evolution.preFormKey, evolution.evoFormKey, evolution.level, evolution.item, evolution.condition, evolution.wildDelay); this.primarySpeciesId = primarySpeciesId; @@ -181,11 +181,11 @@ class TimeOfDayEvolutionCondition extends SpeciesEvolutionCondition { } class MoveEvolutionCondition extends SpeciesEvolutionCondition { - public move: Moves; - constructor(move: Moves) { + public move: MoveId; + constructor(move: MoveId) { super(p => p.moveset.filter(m => m.moveId === move).length > 0); this.move = move; - const moveKey = Moves[this.move].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); + const moveKey = MoveId[this.move].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); this.description = i18next.t("pokemonEvolutions:move", { move: i18next.t(`move:${moveKey}.name`) }); } } @@ -246,11 +246,11 @@ class PartyTypeEvolutionCondition extends SpeciesEvolutionCondition { } class CaughtEvolutionCondition extends SpeciesEvolutionCondition { - public species: Species; - constructor(species: Species) { + public species: SpeciesId; + constructor(species: SpeciesId) { super(() => !!globalScene.gameData.dexData[species].caughtAttr); this.species = species; - this.description = i18next.t("pokemonEvolutions:caught", { species: i18next.t(`pokemon:${Species[this.species].toLowerCase()}`) }); + this.description = i18next.t("pokemonEvolutions:caught", { species: i18next.t(`pokemon:${SpeciesId[this.species].toLowerCase()}`) }); } } @@ -283,12 +283,12 @@ class TreasureEvolutionCondition extends SpeciesEvolutionCondition { } class TyrogueEvolutionCondition extends SpeciesEvolutionCondition { - public move: Moves; - constructor(move: Moves) { + public move: MoveId; + constructor(move: MoveId) { super(p => - p.getMoveset(true).find(m => m && [ Moves.LOW_SWEEP, Moves.MACH_PUNCH, Moves.RAPID_SPIN ].includes(m.moveId))?.moveId === move); + p.getMoveset(true).find(m => m && [ MoveId.LOW_SWEEP, MoveId.MACH_PUNCH, MoveId.RAPID_SPIN ].includes(m.moveId))?.moveId === move); this.move = move; - const moveKey = Moves[this.move].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); + const moveKey = MoveId[this.move].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); this.description = i18next.t("pokemonEvolutions:move", { move: i18next.t(`move:${moveKey}.name`) }); } } @@ -303,9 +303,9 @@ class NatureEvolutionCondition extends SpeciesEvolutionCondition { } class MoveTimeOfDayEvolutionCondition extends SpeciesEvolutionCondition { - public move: Moves; + public move: MoveId; public timesOfDay: TimeOfDay[]; - constructor(move: Moves, tod: "day" | "night") { + constructor(move: MoveId, tod: "day" | "night") { if (tod === "day") { super(p => p.moveset.filter(m => m.moveId === move).length > 0 && (globalScene.arena.getTimeOfDay() === TimeOfDay.DAWN || globalScene.arena.getTimeOfDay() === TimeOfDay.DAY)); this.move = move; @@ -318,14 +318,14 @@ class MoveTimeOfDayEvolutionCondition extends SpeciesEvolutionCondition { super(() => false); this.timesOfDay = []; } - const moveKey = Moves[this.move].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); + const moveKey = MoveId[this.move].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); this.description = i18next.t("pokemonEvolutions:moveTimeOfDay", { move: i18next.t(`move:${moveKey}.name`), tod: i18next.t(`pokemonEvolutions:${tod}`) }); } } class BiomeEvolutionCondition extends SpeciesEvolutionCondition { - public biomes: Biome[]; - constructor(biomes: Biome[]) { + public biomes: BiomeId[]; + constructor(biomes: BiomeId[]) { super(() => biomes.filter(b => b === globalScene.arena.biomeType).length > 0); this.biomes = biomes; this.description = i18next.t("pokemonEvolutions:biome"); @@ -336,12 +336,12 @@ class DunsparceEvolutionCondition extends SpeciesEvolutionCondition { constructor() { super(p => { let ret = false; - if (p.moveset.filter(m => m.moveId === Moves.HYPER_DRILL).length > 0) { + if (p.moveset.filter(m => m.moveId === MoveId.HYPER_DRILL).length > 0) { globalScene.executeWithSeedOffset(() => ret = !randSeedInt(4), p.id); } return ret; }); - const moveKey = Moves[Moves.HYPER_DRILL].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); + const moveKey = MoveId[MoveId.HYPER_DRILL].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join(""); this.description = i18next.t("pokemonEvolutions:move", { move: i18next.t(`move:${moveKey}.name`) }); } } @@ -361,1535 +361,1535 @@ interface PokemonEvolutions { } export const pokemonEvolutions: PokemonEvolutions = { - [Species.BULBASAUR]: [ - new SpeciesEvolution(Species.IVYSAUR, 16, null, null) + [SpeciesId.BULBASAUR]: [ + new SpeciesEvolution(SpeciesId.IVYSAUR, 16, null, null) ], - [Species.IVYSAUR]: [ - new SpeciesEvolution(Species.VENUSAUR, 32, null, null) + [SpeciesId.IVYSAUR]: [ + new SpeciesEvolution(SpeciesId.VENUSAUR, 32, null, null) ], - [Species.CHARMANDER]: [ - new SpeciesEvolution(Species.CHARMELEON, 16, null, null) + [SpeciesId.CHARMANDER]: [ + new SpeciesEvolution(SpeciesId.CHARMELEON, 16, null, null) ], - [Species.CHARMELEON]: [ - new SpeciesEvolution(Species.CHARIZARD, 36, null, null) + [SpeciesId.CHARMELEON]: [ + new SpeciesEvolution(SpeciesId.CHARIZARD, 36, null, null) ], - [Species.SQUIRTLE]: [ - new SpeciesEvolution(Species.WARTORTLE, 16, null, null) + [SpeciesId.SQUIRTLE]: [ + new SpeciesEvolution(SpeciesId.WARTORTLE, 16, null, null) ], - [Species.WARTORTLE]: [ - new SpeciesEvolution(Species.BLASTOISE, 36, null, null) + [SpeciesId.WARTORTLE]: [ + new SpeciesEvolution(SpeciesId.BLASTOISE, 36, null, null) ], - [Species.CATERPIE]: [ - new SpeciesEvolution(Species.METAPOD, 7, null, null) + [SpeciesId.CATERPIE]: [ + new SpeciesEvolution(SpeciesId.METAPOD, 7, null, null) ], - [Species.METAPOD]: [ - new SpeciesEvolution(Species.BUTTERFREE, 10, null, null) + [SpeciesId.METAPOD]: [ + new SpeciesEvolution(SpeciesId.BUTTERFREE, 10, null, null) ], - [Species.WEEDLE]: [ - new SpeciesEvolution(Species.KAKUNA, 7, null, null) + [SpeciesId.WEEDLE]: [ + new SpeciesEvolution(SpeciesId.KAKUNA, 7, null, null) ], - [Species.KAKUNA]: [ - new SpeciesEvolution(Species.BEEDRILL, 10, null, null) + [SpeciesId.KAKUNA]: [ + new SpeciesEvolution(SpeciesId.BEEDRILL, 10, null, null) ], - [Species.PIDGEY]: [ - new SpeciesEvolution(Species.PIDGEOTTO, 18, null, null) + [SpeciesId.PIDGEY]: [ + new SpeciesEvolution(SpeciesId.PIDGEOTTO, 18, null, null) ], - [Species.PIDGEOTTO]: [ - new SpeciesEvolution(Species.PIDGEOT, 36, null, null) + [SpeciesId.PIDGEOTTO]: [ + new SpeciesEvolution(SpeciesId.PIDGEOT, 36, null, null) ], - [Species.RATTATA]: [ - new SpeciesEvolution(Species.RATICATE, 20, null, null) + [SpeciesId.RATTATA]: [ + new SpeciesEvolution(SpeciesId.RATICATE, 20, null, null) ], - [Species.SPEAROW]: [ - new SpeciesEvolution(Species.FEAROW, 20, null, null) + [SpeciesId.SPEAROW]: [ + new SpeciesEvolution(SpeciesId.FEAROW, 20, null, null) ], - [Species.EKANS]: [ - new SpeciesEvolution(Species.ARBOK, 22, null, null) + [SpeciesId.EKANS]: [ + new SpeciesEvolution(SpeciesId.ARBOK, 22, null, null) ], - [Species.SANDSHREW]: [ - new SpeciesEvolution(Species.SANDSLASH, 22, null, null) + [SpeciesId.SANDSHREW]: [ + new SpeciesEvolution(SpeciesId.SANDSLASH, 22, null, null) ], - [Species.NIDORAN_F]: [ - new SpeciesEvolution(Species.NIDORINA, 16, null, null) + [SpeciesId.NIDORAN_F]: [ + new SpeciesEvolution(SpeciesId.NIDORINA, 16, null, null) ], - [Species.NIDORAN_M]: [ - new SpeciesEvolution(Species.NIDORINO, 16, null, null) + [SpeciesId.NIDORAN_M]: [ + new SpeciesEvolution(SpeciesId.NIDORINO, 16, null, null) ], - [Species.ZUBAT]: [ - new SpeciesEvolution(Species.GOLBAT, 22, null, null) + [SpeciesId.ZUBAT]: [ + new SpeciesEvolution(SpeciesId.GOLBAT, 22, null, null) ], - [Species.ODDISH]: [ - new SpeciesEvolution(Species.GLOOM, 21, null, null) + [SpeciesId.ODDISH]: [ + new SpeciesEvolution(SpeciesId.GLOOM, 21, null, null) ], - [Species.PARAS]: [ - new SpeciesEvolution(Species.PARASECT, 24, null, null) + [SpeciesId.PARAS]: [ + new SpeciesEvolution(SpeciesId.PARASECT, 24, null, null) ], - [Species.VENONAT]: [ - new SpeciesEvolution(Species.VENOMOTH, 31, null, null) + [SpeciesId.VENONAT]: [ + new SpeciesEvolution(SpeciesId.VENOMOTH, 31, null, null) ], - [Species.DIGLETT]: [ - new SpeciesEvolution(Species.DUGTRIO, 26, null, null) + [SpeciesId.DIGLETT]: [ + new SpeciesEvolution(SpeciesId.DUGTRIO, 26, null, null) ], - [Species.MEOWTH]: [ - new SpeciesFormEvolution(Species.PERSIAN, "", "", 28, null, null) + [SpeciesId.MEOWTH]: [ + new SpeciesFormEvolution(SpeciesId.PERSIAN, "", "", 28, null, null) ], - [Species.PSYDUCK]: [ - new SpeciesEvolution(Species.GOLDUCK, 33, null, null) + [SpeciesId.PSYDUCK]: [ + new SpeciesEvolution(SpeciesId.GOLDUCK, 33, null, null) ], - [Species.MANKEY]: [ - new SpeciesEvolution(Species.PRIMEAPE, 28, null, null) + [SpeciesId.MANKEY]: [ + new SpeciesEvolution(SpeciesId.PRIMEAPE, 28, null, null) ], - [Species.POLIWAG]: [ - new SpeciesEvolution(Species.POLIWHIRL, 25, null, null) + [SpeciesId.POLIWAG]: [ + new SpeciesEvolution(SpeciesId.POLIWHIRL, 25, null, null) ], - [Species.ABRA]: [ - new SpeciesEvolution(Species.KADABRA, 16, null, null) + [SpeciesId.ABRA]: [ + new SpeciesEvolution(SpeciesId.KADABRA, 16, null, null) ], - [Species.MACHOP]: [ - new SpeciesEvolution(Species.MACHOKE, 28, null, null) + [SpeciesId.MACHOP]: [ + new SpeciesEvolution(SpeciesId.MACHOKE, 28, null, null) ], - [Species.BELLSPROUT]: [ - new SpeciesEvolution(Species.WEEPINBELL, 21, null, null) + [SpeciesId.BELLSPROUT]: [ + new SpeciesEvolution(SpeciesId.WEEPINBELL, 21, null, null) ], - [Species.TENTACOOL]: [ - new SpeciesEvolution(Species.TENTACRUEL, 30, null, null) + [SpeciesId.TENTACOOL]: [ + new SpeciesEvolution(SpeciesId.TENTACRUEL, 30, null, null) ], - [Species.GEODUDE]: [ - new SpeciesEvolution(Species.GRAVELER, 25, null, null) + [SpeciesId.GEODUDE]: [ + new SpeciesEvolution(SpeciesId.GRAVELER, 25, null, null) ], - [Species.PONYTA]: [ - new SpeciesEvolution(Species.RAPIDASH, 40, null, null) + [SpeciesId.PONYTA]: [ + new SpeciesEvolution(SpeciesId.RAPIDASH, 40, null, null) ], - [Species.SLOWPOKE]: [ - new SpeciesEvolution(Species.SLOWBRO, 37, null, null), - new SpeciesEvolution(Species.SLOWKING, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.SLOWPOKE]: [ + new SpeciesEvolution(SpeciesId.SLOWBRO, 37, null, null), + new SpeciesEvolution(SpeciesId.SLOWKING, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.MAGNEMITE]: [ - new SpeciesEvolution(Species.MAGNETON, 30, null, null) + [SpeciesId.MAGNEMITE]: [ + new SpeciesEvolution(SpeciesId.MAGNETON, 30, null, null) ], - [Species.DODUO]: [ - new SpeciesEvolution(Species.DODRIO, 31, null, null) + [SpeciesId.DODUO]: [ + new SpeciesEvolution(SpeciesId.DODRIO, 31, null, null) ], - [Species.SEEL]: [ - new SpeciesEvolution(Species.DEWGONG, 34, null, null) + [SpeciesId.SEEL]: [ + new SpeciesEvolution(SpeciesId.DEWGONG, 34, null, null) ], - [Species.GRIMER]: [ - new SpeciesEvolution(Species.MUK, 38, null, null) + [SpeciesId.GRIMER]: [ + new SpeciesEvolution(SpeciesId.MUK, 38, null, null) ], - [Species.GASTLY]: [ - new SpeciesEvolution(Species.HAUNTER, 25, null, null) + [SpeciesId.GASTLY]: [ + new SpeciesEvolution(SpeciesId.HAUNTER, 25, null, null) ], - [Species.DROWZEE]: [ - new SpeciesEvolution(Species.HYPNO, 26, null, null) + [SpeciesId.DROWZEE]: [ + new SpeciesEvolution(SpeciesId.HYPNO, 26, null, null) ], - [Species.KRABBY]: [ - new SpeciesEvolution(Species.KINGLER, 28, null, null) + [SpeciesId.KRABBY]: [ + new SpeciesEvolution(SpeciesId.KINGLER, 28, null, null) ], - [Species.VOLTORB]: [ - new SpeciesEvolution(Species.ELECTRODE, 30, null, null) + [SpeciesId.VOLTORB]: [ + new SpeciesEvolution(SpeciesId.ELECTRODE, 30, null, null) ], - [Species.CUBONE]: [ - new SpeciesEvolution(Species.ALOLA_MAROWAK, 28, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.MAROWAK, 28, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.CUBONE]: [ + new SpeciesEvolution(SpeciesId.ALOLA_MAROWAK, 28, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.MAROWAK, 28, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.TYROGUE]: [ + [SpeciesId.TYROGUE]: [ /** * Custom: Evolves into Hitmonlee, Hitmonchan or Hitmontop at level 20 * if it knows Low Sweep, Mach Punch, or Rapid Spin, respectively. * If Tyrogue knows multiple of these moves, its evolution is based on * the first qualifying move in its moveset. */ - new SpeciesEvolution(Species.HITMONLEE, 20, null, new TyrogueEvolutionCondition(Moves.LOW_SWEEP)), - new SpeciesEvolution(Species.HITMONCHAN, 20, null, new TyrogueEvolutionCondition(Moves.MACH_PUNCH)), - new SpeciesEvolution(Species.HITMONTOP, 20, null, new TyrogueEvolutionCondition(Moves.RAPID_SPIN)), + new SpeciesEvolution(SpeciesId.HITMONLEE, 20, null, new TyrogueEvolutionCondition(MoveId.LOW_SWEEP)), + new SpeciesEvolution(SpeciesId.HITMONCHAN, 20, null, new TyrogueEvolutionCondition(MoveId.MACH_PUNCH)), + new SpeciesEvolution(SpeciesId.HITMONTOP, 20, null, new TyrogueEvolutionCondition(MoveId.RAPID_SPIN)), ], - [Species.KOFFING]: [ - new SpeciesEvolution(Species.GALAR_WEEZING, 35, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.WEEZING, 35, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.KOFFING]: [ + new SpeciesEvolution(SpeciesId.GALAR_WEEZING, 35, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.WEEZING, 35, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.RHYHORN]: [ - new SpeciesEvolution(Species.RHYDON, 42, null, null) + [SpeciesId.RHYHORN]: [ + new SpeciesEvolution(SpeciesId.RHYDON, 42, null, null) ], - [Species.HORSEA]: [ - new SpeciesEvolution(Species.SEADRA, 32, null, null) + [SpeciesId.HORSEA]: [ + new SpeciesEvolution(SpeciesId.SEADRA, 32, null, null) ], - [Species.GOLDEEN]: [ - new SpeciesEvolution(Species.SEAKING, 33, null, null) + [SpeciesId.GOLDEEN]: [ + new SpeciesEvolution(SpeciesId.SEAKING, 33, null, null) ], - [Species.SMOOCHUM]: [ - new SpeciesEvolution(Species.JYNX, 30, null, null) + [SpeciesId.SMOOCHUM]: [ + new SpeciesEvolution(SpeciesId.JYNX, 30, null, null) ], - [Species.ELEKID]: [ - new SpeciesEvolution(Species.ELECTABUZZ, 30, null, null) + [SpeciesId.ELEKID]: [ + new SpeciesEvolution(SpeciesId.ELECTABUZZ, 30, null, null) ], - [Species.MAGBY]: [ - new SpeciesEvolution(Species.MAGMAR, 30, null, null) + [SpeciesId.MAGBY]: [ + new SpeciesEvolution(SpeciesId.MAGMAR, 30, null, null) ], - [Species.MAGIKARP]: [ - new SpeciesEvolution(Species.GYARADOS, 20, null, null) + [SpeciesId.MAGIKARP]: [ + new SpeciesEvolution(SpeciesId.GYARADOS, 20, null, null) ], - [Species.OMANYTE]: [ - new SpeciesEvolution(Species.OMASTAR, 40, null, null) + [SpeciesId.OMANYTE]: [ + new SpeciesEvolution(SpeciesId.OMASTAR, 40, null, null) ], - [Species.KABUTO]: [ - new SpeciesEvolution(Species.KABUTOPS, 40, null, null) + [SpeciesId.KABUTO]: [ + new SpeciesEvolution(SpeciesId.KABUTOPS, 40, null, null) ], - [Species.DRATINI]: [ - new SpeciesEvolution(Species.DRAGONAIR, 30, null, null) + [SpeciesId.DRATINI]: [ + new SpeciesEvolution(SpeciesId.DRAGONAIR, 30, null, null) ], - [Species.DRAGONAIR]: [ - new SpeciesEvolution(Species.DRAGONITE, 55, null, null) + [SpeciesId.DRAGONAIR]: [ + new SpeciesEvolution(SpeciesId.DRAGONITE, 55, null, null) ], - [Species.CHIKORITA]: [ - new SpeciesEvolution(Species.BAYLEEF, 16, null, null) + [SpeciesId.CHIKORITA]: [ + new SpeciesEvolution(SpeciesId.BAYLEEF, 16, null, null) ], - [Species.BAYLEEF]: [ - new SpeciesEvolution(Species.MEGANIUM, 32, null, null) + [SpeciesId.BAYLEEF]: [ + new SpeciesEvolution(SpeciesId.MEGANIUM, 32, null, null) ], - [Species.CYNDAQUIL]: [ - new SpeciesEvolution(Species.QUILAVA, 14, null, null) + [SpeciesId.CYNDAQUIL]: [ + new SpeciesEvolution(SpeciesId.QUILAVA, 14, null, null) ], - [Species.QUILAVA]: [ - new SpeciesEvolution(Species.HISUI_TYPHLOSION, 36, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.TYPHLOSION, 36, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.QUILAVA]: [ + new SpeciesEvolution(SpeciesId.HISUI_TYPHLOSION, 36, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.TYPHLOSION, 36, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.TOTODILE]: [ - new SpeciesEvolution(Species.CROCONAW, 18, null, null) + [SpeciesId.TOTODILE]: [ + new SpeciesEvolution(SpeciesId.CROCONAW, 18, null, null) ], - [Species.CROCONAW]: [ - new SpeciesEvolution(Species.FERALIGATR, 30, null, null) + [SpeciesId.CROCONAW]: [ + new SpeciesEvolution(SpeciesId.FERALIGATR, 30, null, null) ], - [Species.SENTRET]: [ - new SpeciesEvolution(Species.FURRET, 15, null, null) + [SpeciesId.SENTRET]: [ + new SpeciesEvolution(SpeciesId.FURRET, 15, null, null) ], - [Species.HOOTHOOT]: [ - new SpeciesEvolution(Species.NOCTOWL, 20, null, null) + [SpeciesId.HOOTHOOT]: [ + new SpeciesEvolution(SpeciesId.NOCTOWL, 20, null, null) ], - [Species.LEDYBA]: [ - new SpeciesEvolution(Species.LEDIAN, 18, null, null) + [SpeciesId.LEDYBA]: [ + new SpeciesEvolution(SpeciesId.LEDIAN, 18, null, null) ], - [Species.SPINARAK]: [ - new SpeciesEvolution(Species.ARIADOS, 22, null, null) + [SpeciesId.SPINARAK]: [ + new SpeciesEvolution(SpeciesId.ARIADOS, 22, null, null) ], - [Species.CHINCHOU]: [ - new SpeciesEvolution(Species.LANTURN, 27, null, null) + [SpeciesId.CHINCHOU]: [ + new SpeciesEvolution(SpeciesId.LANTURN, 27, null, null) ], - [Species.NATU]: [ - new SpeciesEvolution(Species.XATU, 25, null, null) + [SpeciesId.NATU]: [ + new SpeciesEvolution(SpeciesId.XATU, 25, null, null) ], - [Species.MAREEP]: [ - new SpeciesEvolution(Species.FLAAFFY, 15, null, null) + [SpeciesId.MAREEP]: [ + new SpeciesEvolution(SpeciesId.FLAAFFY, 15, null, null) ], - [Species.FLAAFFY]: [ - new SpeciesEvolution(Species.AMPHAROS, 30, null, null) + [SpeciesId.FLAAFFY]: [ + new SpeciesEvolution(SpeciesId.AMPHAROS, 30, null, null) ], - [Species.MARILL]: [ - new SpeciesEvolution(Species.AZUMARILL, 18, null, null) + [SpeciesId.MARILL]: [ + new SpeciesEvolution(SpeciesId.AZUMARILL, 18, null, null) ], - [Species.HOPPIP]: [ - new SpeciesEvolution(Species.SKIPLOOM, 18, null, null) + [SpeciesId.HOPPIP]: [ + new SpeciesEvolution(SpeciesId.SKIPLOOM, 18, null, null) ], - [Species.SKIPLOOM]: [ - new SpeciesEvolution(Species.JUMPLUFF, 27, null, null) + [SpeciesId.SKIPLOOM]: [ + new SpeciesEvolution(SpeciesId.JUMPLUFF, 27, null, null) ], - [Species.WOOPER]: [ - new SpeciesEvolution(Species.QUAGSIRE, 20, null, null) + [SpeciesId.WOOPER]: [ + new SpeciesEvolution(SpeciesId.QUAGSIRE, 20, null, null) ], - [Species.WYNAUT]: [ - new SpeciesEvolution(Species.WOBBUFFET, 15, null, null) + [SpeciesId.WYNAUT]: [ + new SpeciesEvolution(SpeciesId.WOBBUFFET, 15, null, null) ], - [Species.PINECO]: [ - new SpeciesEvolution(Species.FORRETRESS, 31, null, null) + [SpeciesId.PINECO]: [ + new SpeciesEvolution(SpeciesId.FORRETRESS, 31, null, null) ], - [Species.SNUBBULL]: [ - new SpeciesEvolution(Species.GRANBULL, 23, null, null) + [SpeciesId.SNUBBULL]: [ + new SpeciesEvolution(SpeciesId.GRANBULL, 23, null, null) ], - [Species.TEDDIURSA]: [ - new SpeciesEvolution(Species.URSARING, 30, null, null) + [SpeciesId.TEDDIURSA]: [ + new SpeciesEvolution(SpeciesId.URSARING, 30, null, null) ], - [Species.SLUGMA]: [ - new SpeciesEvolution(Species.MAGCARGO, 38, null, null) + [SpeciesId.SLUGMA]: [ + new SpeciesEvolution(SpeciesId.MAGCARGO, 38, null, null) ], - [Species.SWINUB]: [ - new SpeciesEvolution(Species.PILOSWINE, 33, null, null) + [SpeciesId.SWINUB]: [ + new SpeciesEvolution(SpeciesId.PILOSWINE, 33, null, null) ], - [Species.REMORAID]: [ - new SpeciesEvolution(Species.OCTILLERY, 25, null, null) + [SpeciesId.REMORAID]: [ + new SpeciesEvolution(SpeciesId.OCTILLERY, 25, null, null) ], - [Species.HOUNDOUR]: [ - new SpeciesEvolution(Species.HOUNDOOM, 24, null, null) + [SpeciesId.HOUNDOUR]: [ + new SpeciesEvolution(SpeciesId.HOUNDOOM, 24, null, null) ], - [Species.PHANPY]: [ - new SpeciesEvolution(Species.DONPHAN, 25, null, null) + [SpeciesId.PHANPY]: [ + new SpeciesEvolution(SpeciesId.DONPHAN, 25, null, null) ], - [Species.LARVITAR]: [ - new SpeciesEvolution(Species.PUPITAR, 30, null, null) + [SpeciesId.LARVITAR]: [ + new SpeciesEvolution(SpeciesId.PUPITAR, 30, null, null) ], - [Species.PUPITAR]: [ - new SpeciesEvolution(Species.TYRANITAR, 55, null, null) + [SpeciesId.PUPITAR]: [ + new SpeciesEvolution(SpeciesId.TYRANITAR, 55, null, null) ], - [Species.TREECKO]: [ - new SpeciesEvolution(Species.GROVYLE, 16, null, null) + [SpeciesId.TREECKO]: [ + new SpeciesEvolution(SpeciesId.GROVYLE, 16, null, null) ], - [Species.GROVYLE]: [ - new SpeciesEvolution(Species.SCEPTILE, 36, null, null) + [SpeciesId.GROVYLE]: [ + new SpeciesEvolution(SpeciesId.SCEPTILE, 36, null, null) ], - [Species.TORCHIC]: [ - new SpeciesEvolution(Species.COMBUSKEN, 16, null, null) + [SpeciesId.TORCHIC]: [ + new SpeciesEvolution(SpeciesId.COMBUSKEN, 16, null, null) ], - [Species.COMBUSKEN]: [ - new SpeciesEvolution(Species.BLAZIKEN, 36, null, null) + [SpeciesId.COMBUSKEN]: [ + new SpeciesEvolution(SpeciesId.BLAZIKEN, 36, null, null) ], - [Species.MUDKIP]: [ - new SpeciesEvolution(Species.MARSHTOMP, 16, null, null) + [SpeciesId.MUDKIP]: [ + new SpeciesEvolution(SpeciesId.MARSHTOMP, 16, null, null) ], - [Species.MARSHTOMP]: [ - new SpeciesEvolution(Species.SWAMPERT, 36, null, null) + [SpeciesId.MARSHTOMP]: [ + new SpeciesEvolution(SpeciesId.SWAMPERT, 36, null, null) ], - [Species.POOCHYENA]: [ - new SpeciesEvolution(Species.MIGHTYENA, 18, null, null) + [SpeciesId.POOCHYENA]: [ + new SpeciesEvolution(SpeciesId.MIGHTYENA, 18, null, null) ], - [Species.ZIGZAGOON]: [ - new SpeciesEvolution(Species.LINOONE, 20, null, null) + [SpeciesId.ZIGZAGOON]: [ + new SpeciesEvolution(SpeciesId.LINOONE, 20, null, null) ], - [Species.WURMPLE]: [ - new SpeciesEvolution(Species.SILCOON, 7, null, new TimeOfDayEvolutionCondition("day")), - new SpeciesEvolution(Species.CASCOON, 7, null, new TimeOfDayEvolutionCondition("night")) + [SpeciesId.WURMPLE]: [ + new SpeciesEvolution(SpeciesId.SILCOON, 7, null, new TimeOfDayEvolutionCondition("day")), + new SpeciesEvolution(SpeciesId.CASCOON, 7, null, new TimeOfDayEvolutionCondition("night")) ], - [Species.SILCOON]: [ - new SpeciesEvolution(Species.BEAUTIFLY, 10, null, null) + [SpeciesId.SILCOON]: [ + new SpeciesEvolution(SpeciesId.BEAUTIFLY, 10, null, null) ], - [Species.CASCOON]: [ - new SpeciesEvolution(Species.DUSTOX, 10, null, null) + [SpeciesId.CASCOON]: [ + new SpeciesEvolution(SpeciesId.DUSTOX, 10, null, null) ], - [Species.LOTAD]: [ - new SpeciesEvolution(Species.LOMBRE, 14, null, null) + [SpeciesId.LOTAD]: [ + new SpeciesEvolution(SpeciesId.LOMBRE, 14, null, null) ], - [Species.SEEDOT]: [ - new SpeciesEvolution(Species.NUZLEAF, 14, null, null) + [SpeciesId.SEEDOT]: [ + new SpeciesEvolution(SpeciesId.NUZLEAF, 14, null, null) ], - [Species.TAILLOW]: [ - new SpeciesEvolution(Species.SWELLOW, 22, null, null) + [SpeciesId.TAILLOW]: [ + new SpeciesEvolution(SpeciesId.SWELLOW, 22, null, null) ], - [Species.WINGULL]: [ - new SpeciesEvolution(Species.PELIPPER, 25, null, null) + [SpeciesId.WINGULL]: [ + new SpeciesEvolution(SpeciesId.PELIPPER, 25, null, null) ], - [Species.RALTS]: [ - new SpeciesEvolution(Species.KIRLIA, 20, null, null) + [SpeciesId.RALTS]: [ + new SpeciesEvolution(SpeciesId.KIRLIA, 20, null, null) ], - [Species.KIRLIA]: [ - new SpeciesEvolution(Species.GARDEVOIR, 30, null, new GenderEvolutionCondition(Gender.FEMALE)), - new SpeciesEvolution(Species.GALLADE, 30, null, new GenderEvolutionCondition(Gender.MALE)) + [SpeciesId.KIRLIA]: [ + new SpeciesEvolution(SpeciesId.GARDEVOIR, 30, null, new GenderEvolutionCondition(Gender.FEMALE)), + new SpeciesEvolution(SpeciesId.GALLADE, 30, null, new GenderEvolutionCondition(Gender.MALE)) ], - [Species.SURSKIT]: [ - new SpeciesEvolution(Species.MASQUERAIN, 22, null, null) + [SpeciesId.SURSKIT]: [ + new SpeciesEvolution(SpeciesId.MASQUERAIN, 22, null, null) ], - [Species.SHROOMISH]: [ - new SpeciesEvolution(Species.BRELOOM, 23, null, null) + [SpeciesId.SHROOMISH]: [ + new SpeciesEvolution(SpeciesId.BRELOOM, 23, null, null) ], - [Species.SLAKOTH]: [ - new SpeciesEvolution(Species.VIGOROTH, 18, null, null) + [SpeciesId.SLAKOTH]: [ + new SpeciesEvolution(SpeciesId.VIGOROTH, 18, null, null) ], - [Species.VIGOROTH]: [ - new SpeciesEvolution(Species.SLAKING, 36, null, null) + [SpeciesId.VIGOROTH]: [ + new SpeciesEvolution(SpeciesId.SLAKING, 36, null, null) ], - [Species.NINCADA]: [ - new SpeciesEvolution(Species.NINJASK, 20, null, null), - new SpeciesEvolution(Species.SHEDINJA, 20, null, new ShedinjaEvolutionCondition()) + [SpeciesId.NINCADA]: [ + new SpeciesEvolution(SpeciesId.NINJASK, 20, null, null), + new SpeciesEvolution(SpeciesId.SHEDINJA, 20, null, new ShedinjaEvolutionCondition()) ], - [Species.WHISMUR]: [ - new SpeciesEvolution(Species.LOUDRED, 20, null, null) + [SpeciesId.WHISMUR]: [ + new SpeciesEvolution(SpeciesId.LOUDRED, 20, null, null) ], - [Species.LOUDRED]: [ - new SpeciesEvolution(Species.EXPLOUD, 40, null, null) + [SpeciesId.LOUDRED]: [ + new SpeciesEvolution(SpeciesId.EXPLOUD, 40, null, null) ], - [Species.MAKUHITA]: [ - new SpeciesEvolution(Species.HARIYAMA, 24, null, null) + [SpeciesId.MAKUHITA]: [ + new SpeciesEvolution(SpeciesId.HARIYAMA, 24, null, null) ], - [Species.ARON]: [ - new SpeciesEvolution(Species.LAIRON, 32, null, null) + [SpeciesId.ARON]: [ + new SpeciesEvolution(SpeciesId.LAIRON, 32, null, null) ], - [Species.LAIRON]: [ - new SpeciesEvolution(Species.AGGRON, 42, null, null) + [SpeciesId.LAIRON]: [ + new SpeciesEvolution(SpeciesId.AGGRON, 42, null, null) ], - [Species.MEDITITE]: [ - new SpeciesEvolution(Species.MEDICHAM, 37, null, null) + [SpeciesId.MEDITITE]: [ + new SpeciesEvolution(SpeciesId.MEDICHAM, 37, null, null) ], - [Species.ELECTRIKE]: [ - new SpeciesEvolution(Species.MANECTRIC, 26, null, null) + [SpeciesId.ELECTRIKE]: [ + new SpeciesEvolution(SpeciesId.MANECTRIC, 26, null, null) ], - [Species.GULPIN]: [ - new SpeciesEvolution(Species.SWALOT, 26, null, null) + [SpeciesId.GULPIN]: [ + new SpeciesEvolution(SpeciesId.SWALOT, 26, null, null) ], - [Species.CARVANHA]: [ - new SpeciesEvolution(Species.SHARPEDO, 30, null, null) + [SpeciesId.CARVANHA]: [ + new SpeciesEvolution(SpeciesId.SHARPEDO, 30, null, null) ], - [Species.WAILMER]: [ - new SpeciesEvolution(Species.WAILORD, 40, null, null) + [SpeciesId.WAILMER]: [ + new SpeciesEvolution(SpeciesId.WAILORD, 40, null, null) ], - [Species.NUMEL]: [ - new SpeciesEvolution(Species.CAMERUPT, 33, null, null) + [SpeciesId.NUMEL]: [ + new SpeciesEvolution(SpeciesId.CAMERUPT, 33, null, null) ], - [Species.SPOINK]: [ - new SpeciesEvolution(Species.GRUMPIG, 32, null, null) + [SpeciesId.SPOINK]: [ + new SpeciesEvolution(SpeciesId.GRUMPIG, 32, null, null) ], - [Species.TRAPINCH]: [ - new SpeciesEvolution(Species.VIBRAVA, 35, null, null) + [SpeciesId.TRAPINCH]: [ + new SpeciesEvolution(SpeciesId.VIBRAVA, 35, null, null) ], - [Species.VIBRAVA]: [ - new SpeciesEvolution(Species.FLYGON, 45, null, null) + [SpeciesId.VIBRAVA]: [ + new SpeciesEvolution(SpeciesId.FLYGON, 45, null, null) ], - [Species.CACNEA]: [ - new SpeciesEvolution(Species.CACTURNE, 32, null, null) + [SpeciesId.CACNEA]: [ + new SpeciesEvolution(SpeciesId.CACTURNE, 32, null, null) ], - [Species.SWABLU]: [ - new SpeciesEvolution(Species.ALTARIA, 35, null, null) + [SpeciesId.SWABLU]: [ + new SpeciesEvolution(SpeciesId.ALTARIA, 35, null, null) ], - [Species.BARBOACH]: [ - new SpeciesEvolution(Species.WHISCASH, 30, null, null) + [SpeciesId.BARBOACH]: [ + new SpeciesEvolution(SpeciesId.WHISCASH, 30, null, null) ], - [Species.CORPHISH]: [ - new SpeciesEvolution(Species.CRAWDAUNT, 30, null, null) + [SpeciesId.CORPHISH]: [ + new SpeciesEvolution(SpeciesId.CRAWDAUNT, 30, null, null) ], - [Species.BALTOY]: [ - new SpeciesEvolution(Species.CLAYDOL, 36, null, null) + [SpeciesId.BALTOY]: [ + new SpeciesEvolution(SpeciesId.CLAYDOL, 36, null, null) ], - [Species.LILEEP]: [ - new SpeciesEvolution(Species.CRADILY, 40, null, null) + [SpeciesId.LILEEP]: [ + new SpeciesEvolution(SpeciesId.CRADILY, 40, null, null) ], - [Species.ANORITH]: [ - new SpeciesEvolution(Species.ARMALDO, 40, null, null) + [SpeciesId.ANORITH]: [ + new SpeciesEvolution(SpeciesId.ARMALDO, 40, null, null) ], - [Species.SHUPPET]: [ - new SpeciesEvolution(Species.BANETTE, 37, null, null) + [SpeciesId.SHUPPET]: [ + new SpeciesEvolution(SpeciesId.BANETTE, 37, null, null) ], - [Species.DUSKULL]: [ - new SpeciesEvolution(Species.DUSCLOPS, 37, null, null) + [SpeciesId.DUSKULL]: [ + new SpeciesEvolution(SpeciesId.DUSCLOPS, 37, null, null) ], - [Species.SNORUNT]: [ - new SpeciesEvolution(Species.GLALIE, 42, null, new GenderEvolutionCondition(Gender.MALE)), - new SpeciesEvolution(Species.FROSLASS, 42, null, new GenderEvolutionCondition(Gender.FEMALE)) + [SpeciesId.SNORUNT]: [ + new SpeciesEvolution(SpeciesId.GLALIE, 42, null, new GenderEvolutionCondition(Gender.MALE)), + new SpeciesEvolution(SpeciesId.FROSLASS, 42, null, new GenderEvolutionCondition(Gender.FEMALE)) ], - [Species.SPHEAL]: [ - new SpeciesEvolution(Species.SEALEO, 32, null, null) + [SpeciesId.SPHEAL]: [ + new SpeciesEvolution(SpeciesId.SEALEO, 32, null, null) ], - [Species.SEALEO]: [ - new SpeciesEvolution(Species.WALREIN, 44, null, null) + [SpeciesId.SEALEO]: [ + new SpeciesEvolution(SpeciesId.WALREIN, 44, null, null) ], - [Species.BAGON]: [ - new SpeciesEvolution(Species.SHELGON, 30, null, null) + [SpeciesId.BAGON]: [ + new SpeciesEvolution(SpeciesId.SHELGON, 30, null, null) ], - [Species.SHELGON]: [ - new SpeciesEvolution(Species.SALAMENCE, 50, null, null) + [SpeciesId.SHELGON]: [ + new SpeciesEvolution(SpeciesId.SALAMENCE, 50, null, null) ], - [Species.BELDUM]: [ - new SpeciesEvolution(Species.METANG, 20, null, null) + [SpeciesId.BELDUM]: [ + new SpeciesEvolution(SpeciesId.METANG, 20, null, null) ], - [Species.METANG]: [ - new SpeciesEvolution(Species.METAGROSS, 45, null, null) + [SpeciesId.METANG]: [ + new SpeciesEvolution(SpeciesId.METAGROSS, 45, null, null) ], - [Species.TURTWIG]: [ - new SpeciesEvolution(Species.GROTLE, 18, null, null) + [SpeciesId.TURTWIG]: [ + new SpeciesEvolution(SpeciesId.GROTLE, 18, null, null) ], - [Species.GROTLE]: [ - new SpeciesEvolution(Species.TORTERRA, 32, null, null) + [SpeciesId.GROTLE]: [ + new SpeciesEvolution(SpeciesId.TORTERRA, 32, null, null) ], - [Species.CHIMCHAR]: [ - new SpeciesEvolution(Species.MONFERNO, 14, null, null) + [SpeciesId.CHIMCHAR]: [ + new SpeciesEvolution(SpeciesId.MONFERNO, 14, null, null) ], - [Species.MONFERNO]: [ - new SpeciesEvolution(Species.INFERNAPE, 36, null, null) + [SpeciesId.MONFERNO]: [ + new SpeciesEvolution(SpeciesId.INFERNAPE, 36, null, null) ], - [Species.PIPLUP]: [ - new SpeciesEvolution(Species.PRINPLUP, 16, null, null) + [SpeciesId.PIPLUP]: [ + new SpeciesEvolution(SpeciesId.PRINPLUP, 16, null, null) ], - [Species.PRINPLUP]: [ - new SpeciesEvolution(Species.EMPOLEON, 36, null, null) + [SpeciesId.PRINPLUP]: [ + new SpeciesEvolution(SpeciesId.EMPOLEON, 36, null, null) ], - [Species.STARLY]: [ - new SpeciesEvolution(Species.STARAVIA, 14, null, null) + [SpeciesId.STARLY]: [ + new SpeciesEvolution(SpeciesId.STARAVIA, 14, null, null) ], - [Species.STARAVIA]: [ - new SpeciesEvolution(Species.STARAPTOR, 34, null, null) + [SpeciesId.STARAVIA]: [ + new SpeciesEvolution(SpeciesId.STARAPTOR, 34, null, null) ], - [Species.BIDOOF]: [ - new SpeciesEvolution(Species.BIBAREL, 15, null, null) + [SpeciesId.BIDOOF]: [ + new SpeciesEvolution(SpeciesId.BIBAREL, 15, null, null) ], - [Species.KRICKETOT]: [ - new SpeciesEvolution(Species.KRICKETUNE, 10, null, null) + [SpeciesId.KRICKETOT]: [ + new SpeciesEvolution(SpeciesId.KRICKETUNE, 10, null, null) ], - [Species.SHINX]: [ - new SpeciesEvolution(Species.LUXIO, 15, null, null) + [SpeciesId.SHINX]: [ + new SpeciesEvolution(SpeciesId.LUXIO, 15, null, null) ], - [Species.LUXIO]: [ - new SpeciesEvolution(Species.LUXRAY, 30, null, null) + [SpeciesId.LUXIO]: [ + new SpeciesEvolution(SpeciesId.LUXRAY, 30, null, null) ], - [Species.CRANIDOS]: [ - new SpeciesEvolution(Species.RAMPARDOS, 30, null, null) + [SpeciesId.CRANIDOS]: [ + new SpeciesEvolution(SpeciesId.RAMPARDOS, 30, null, null) ], - [Species.SHIELDON]: [ - new SpeciesEvolution(Species.BASTIODON, 30, null, null) + [SpeciesId.SHIELDON]: [ + new SpeciesEvolution(SpeciesId.BASTIODON, 30, null, null) ], - [Species.BURMY]: [ - new SpeciesEvolution(Species.MOTHIM, 20, null, new GenderEvolutionCondition(Gender.MALE)), - new SpeciesEvolution(Species.WORMADAM, 20, null, new GenderEvolutionCondition(Gender.FEMALE)) + [SpeciesId.BURMY]: [ + new SpeciesEvolution(SpeciesId.MOTHIM, 20, null, new GenderEvolutionCondition(Gender.MALE)), + new SpeciesEvolution(SpeciesId.WORMADAM, 20, null, new GenderEvolutionCondition(Gender.FEMALE)) ], - [Species.COMBEE]: [ - new SpeciesEvolution(Species.VESPIQUEN, 21, null, new GenderEvolutionCondition(Gender.FEMALE)) + [SpeciesId.COMBEE]: [ + new SpeciesEvolution(SpeciesId.VESPIQUEN, 21, null, new GenderEvolutionCondition(Gender.FEMALE)) ], - [Species.BUIZEL]: [ - new SpeciesEvolution(Species.FLOATZEL, 26, null, null) + [SpeciesId.BUIZEL]: [ + new SpeciesEvolution(SpeciesId.FLOATZEL, 26, null, null) ], - [Species.CHERUBI]: [ - new SpeciesEvolution(Species.CHERRIM, 25, null, null) + [SpeciesId.CHERUBI]: [ + new SpeciesEvolution(SpeciesId.CHERRIM, 25, null, null) ], - [Species.SHELLOS]: [ - new SpeciesEvolution(Species.GASTRODON, 30, null, null) + [SpeciesId.SHELLOS]: [ + new SpeciesEvolution(SpeciesId.GASTRODON, 30, null, null) ], - [Species.DRIFLOON]: [ - new SpeciesEvolution(Species.DRIFBLIM, 28, null, null) + [SpeciesId.DRIFLOON]: [ + new SpeciesEvolution(SpeciesId.DRIFBLIM, 28, null, null) ], - [Species.GLAMEOW]: [ - new SpeciesEvolution(Species.PURUGLY, 38, null, null) + [SpeciesId.GLAMEOW]: [ + new SpeciesEvolution(SpeciesId.PURUGLY, 38, null, null) ], - [Species.STUNKY]: [ - new SpeciesEvolution(Species.SKUNTANK, 34, null, null) + [SpeciesId.STUNKY]: [ + new SpeciesEvolution(SpeciesId.SKUNTANK, 34, null, null) ], - [Species.BRONZOR]: [ - new SpeciesEvolution(Species.BRONZONG, 33, null, null) + [SpeciesId.BRONZOR]: [ + new SpeciesEvolution(SpeciesId.BRONZONG, 33, null, null) ], - [Species.GIBLE]: [ - new SpeciesEvolution(Species.GABITE, 24, null, null) + [SpeciesId.GIBLE]: [ + new SpeciesEvolution(SpeciesId.GABITE, 24, null, null) ], - [Species.GABITE]: [ - new SpeciesEvolution(Species.GARCHOMP, 48, null, null) + [SpeciesId.GABITE]: [ + new SpeciesEvolution(SpeciesId.GARCHOMP, 48, null, null) ], - [Species.HIPPOPOTAS]: [ - new SpeciesEvolution(Species.HIPPOWDON, 34, null, null) + [SpeciesId.HIPPOPOTAS]: [ + new SpeciesEvolution(SpeciesId.HIPPOWDON, 34, null, null) ], - [Species.SKORUPI]: [ - new SpeciesEvolution(Species.DRAPION, 40, null, null) + [SpeciesId.SKORUPI]: [ + new SpeciesEvolution(SpeciesId.DRAPION, 40, null, null) ], - [Species.CROAGUNK]: [ - new SpeciesEvolution(Species.TOXICROAK, 37, null, null) + [SpeciesId.CROAGUNK]: [ + new SpeciesEvolution(SpeciesId.TOXICROAK, 37, null, null) ], - [Species.FINNEON]: [ - new SpeciesEvolution(Species.LUMINEON, 31, null, null) + [SpeciesId.FINNEON]: [ + new SpeciesEvolution(SpeciesId.LUMINEON, 31, null, null) ], - [Species.MANTYKE]: [ - new SpeciesEvolution(Species.MANTINE, 32, null, new CaughtEvolutionCondition(Species.REMORAID), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.MANTYKE]: [ + new SpeciesEvolution(SpeciesId.MANTINE, 32, null, new CaughtEvolutionCondition(SpeciesId.REMORAID), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.SNOVER]: [ - new SpeciesEvolution(Species.ABOMASNOW, 40, null, null) + [SpeciesId.SNOVER]: [ + new SpeciesEvolution(SpeciesId.ABOMASNOW, 40, null, null) ], - [Species.SNIVY]: [ - new SpeciesEvolution(Species.SERVINE, 17, null, null) + [SpeciesId.SNIVY]: [ + new SpeciesEvolution(SpeciesId.SERVINE, 17, null, null) ], - [Species.SERVINE]: [ - new SpeciesEvolution(Species.SERPERIOR, 36, null, null) + [SpeciesId.SERVINE]: [ + new SpeciesEvolution(SpeciesId.SERPERIOR, 36, null, null) ], - [Species.TEPIG]: [ - new SpeciesEvolution(Species.PIGNITE, 17, null, null) + [SpeciesId.TEPIG]: [ + new SpeciesEvolution(SpeciesId.PIGNITE, 17, null, null) ], - [Species.PIGNITE]: [ - new SpeciesEvolution(Species.EMBOAR, 36, null, null) + [SpeciesId.PIGNITE]: [ + new SpeciesEvolution(SpeciesId.EMBOAR, 36, null, null) ], - [Species.OSHAWOTT]: [ - new SpeciesEvolution(Species.DEWOTT, 17, null, null) + [SpeciesId.OSHAWOTT]: [ + new SpeciesEvolution(SpeciesId.DEWOTT, 17, null, null) ], - [Species.DEWOTT]: [ - new SpeciesEvolution(Species.HISUI_SAMUROTT, 36, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.SAMUROTT, 36, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.DEWOTT]: [ + new SpeciesEvolution(SpeciesId.HISUI_SAMUROTT, 36, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.SAMUROTT, 36, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.PATRAT]: [ - new SpeciesEvolution(Species.WATCHOG, 20, null, null) + [SpeciesId.PATRAT]: [ + new SpeciesEvolution(SpeciesId.WATCHOG, 20, null, null) ], - [Species.LILLIPUP]: [ - new SpeciesEvolution(Species.HERDIER, 16, null, null) + [SpeciesId.LILLIPUP]: [ + new SpeciesEvolution(SpeciesId.HERDIER, 16, null, null) ], - [Species.HERDIER]: [ - new SpeciesEvolution(Species.STOUTLAND, 32, null, null) + [SpeciesId.HERDIER]: [ + new SpeciesEvolution(SpeciesId.STOUTLAND, 32, null, null) ], - [Species.PURRLOIN]: [ - new SpeciesEvolution(Species.LIEPARD, 20, null, null) + [SpeciesId.PURRLOIN]: [ + new SpeciesEvolution(SpeciesId.LIEPARD, 20, null, null) ], - [Species.PIDOVE]: [ - new SpeciesEvolution(Species.TRANQUILL, 21, null, null) + [SpeciesId.PIDOVE]: [ + new SpeciesEvolution(SpeciesId.TRANQUILL, 21, null, null) ], - [Species.TRANQUILL]: [ - new SpeciesEvolution(Species.UNFEZANT, 32, null, null) + [SpeciesId.TRANQUILL]: [ + new SpeciesEvolution(SpeciesId.UNFEZANT, 32, null, null) ], - [Species.BLITZLE]: [ - new SpeciesEvolution(Species.ZEBSTRIKA, 27, null, null) + [SpeciesId.BLITZLE]: [ + new SpeciesEvolution(SpeciesId.ZEBSTRIKA, 27, null, null) ], - [Species.ROGGENROLA]: [ - new SpeciesEvolution(Species.BOLDORE, 25, null, null) + [SpeciesId.ROGGENROLA]: [ + new SpeciesEvolution(SpeciesId.BOLDORE, 25, null, null) ], - [Species.DRILBUR]: [ - new SpeciesEvolution(Species.EXCADRILL, 31, null, null) + [SpeciesId.DRILBUR]: [ + new SpeciesEvolution(SpeciesId.EXCADRILL, 31, null, null) ], - [Species.TIMBURR]: [ - new SpeciesEvolution(Species.GURDURR, 25, null, null) + [SpeciesId.TIMBURR]: [ + new SpeciesEvolution(SpeciesId.GURDURR, 25, null, null) ], - [Species.TYMPOLE]: [ - new SpeciesEvolution(Species.PALPITOAD, 25, null, null) + [SpeciesId.TYMPOLE]: [ + new SpeciesEvolution(SpeciesId.PALPITOAD, 25, null, null) ], - [Species.PALPITOAD]: [ - new SpeciesEvolution(Species.SEISMITOAD, 36, null, null) + [SpeciesId.PALPITOAD]: [ + new SpeciesEvolution(SpeciesId.SEISMITOAD, 36, null, null) ], - [Species.SEWADDLE]: [ - new SpeciesEvolution(Species.SWADLOON, 20, null, null) + [SpeciesId.SEWADDLE]: [ + new SpeciesEvolution(SpeciesId.SWADLOON, 20, null, null) ], - [Species.VENIPEDE]: [ - new SpeciesEvolution(Species.WHIRLIPEDE, 22, null, null) + [SpeciesId.VENIPEDE]: [ + new SpeciesEvolution(SpeciesId.WHIRLIPEDE, 22, null, null) ], - [Species.WHIRLIPEDE]: [ - new SpeciesEvolution(Species.SCOLIPEDE, 30, null, null) + [SpeciesId.WHIRLIPEDE]: [ + new SpeciesEvolution(SpeciesId.SCOLIPEDE, 30, null, null) ], - [Species.SANDILE]: [ - new SpeciesEvolution(Species.KROKOROK, 29, null, null) + [SpeciesId.SANDILE]: [ + new SpeciesEvolution(SpeciesId.KROKOROK, 29, null, null) ], - [Species.KROKOROK]: [ - new SpeciesEvolution(Species.KROOKODILE, 40, null, null) + [SpeciesId.KROKOROK]: [ + new SpeciesEvolution(SpeciesId.KROOKODILE, 40, null, null) ], - [Species.DARUMAKA]: [ - new SpeciesEvolution(Species.DARMANITAN, 35, null, null) + [SpeciesId.DARUMAKA]: [ + new SpeciesEvolution(SpeciesId.DARMANITAN, 35, null, null) ], - [Species.DWEBBLE]: [ - new SpeciesEvolution(Species.CRUSTLE, 34, null, null) + [SpeciesId.DWEBBLE]: [ + new SpeciesEvolution(SpeciesId.CRUSTLE, 34, null, null) ], - [Species.SCRAGGY]: [ - new SpeciesEvolution(Species.SCRAFTY, 39, null, null) + [SpeciesId.SCRAGGY]: [ + new SpeciesEvolution(SpeciesId.SCRAFTY, 39, null, null) ], - [Species.YAMASK]: [ - new SpeciesEvolution(Species.COFAGRIGUS, 34, null, null) + [SpeciesId.YAMASK]: [ + new SpeciesEvolution(SpeciesId.COFAGRIGUS, 34, null, null) ], - [Species.TIRTOUGA]: [ - new SpeciesEvolution(Species.CARRACOSTA, 37, null, null) + [SpeciesId.TIRTOUGA]: [ + new SpeciesEvolution(SpeciesId.CARRACOSTA, 37, null, null) ], - [Species.ARCHEN]: [ - new SpeciesEvolution(Species.ARCHEOPS, 37, null, null) + [SpeciesId.ARCHEN]: [ + new SpeciesEvolution(SpeciesId.ARCHEOPS, 37, null, null) ], - [Species.TRUBBISH]: [ - new SpeciesEvolution(Species.GARBODOR, 36, null, null) + [SpeciesId.TRUBBISH]: [ + new SpeciesEvolution(SpeciesId.GARBODOR, 36, null, null) ], - [Species.ZORUA]: [ - new SpeciesEvolution(Species.ZOROARK, 30, null, null) + [SpeciesId.ZORUA]: [ + new SpeciesEvolution(SpeciesId.ZOROARK, 30, null, null) ], - [Species.GOTHITA]: [ - new SpeciesEvolution(Species.GOTHORITA, 32, null, null) + [SpeciesId.GOTHITA]: [ + new SpeciesEvolution(SpeciesId.GOTHORITA, 32, null, null) ], - [Species.GOTHORITA]: [ - new SpeciesEvolution(Species.GOTHITELLE, 41, null, null) + [SpeciesId.GOTHORITA]: [ + new SpeciesEvolution(SpeciesId.GOTHITELLE, 41, null, null) ], - [Species.SOLOSIS]: [ - new SpeciesEvolution(Species.DUOSION, 32, null, null) + [SpeciesId.SOLOSIS]: [ + new SpeciesEvolution(SpeciesId.DUOSION, 32, null, null) ], - [Species.DUOSION]: [ - new SpeciesEvolution(Species.REUNICLUS, 41, null, null) + [SpeciesId.DUOSION]: [ + new SpeciesEvolution(SpeciesId.REUNICLUS, 41, null, null) ], - [Species.DUCKLETT]: [ - new SpeciesEvolution(Species.SWANNA, 35, null, null) + [SpeciesId.DUCKLETT]: [ + new SpeciesEvolution(SpeciesId.SWANNA, 35, null, null) ], - [Species.VANILLITE]: [ - new SpeciesEvolution(Species.VANILLISH, 35, null, null) + [SpeciesId.VANILLITE]: [ + new SpeciesEvolution(SpeciesId.VANILLISH, 35, null, null) ], - [Species.VANILLISH]: [ - new SpeciesEvolution(Species.VANILLUXE, 47, null, null) + [SpeciesId.VANILLISH]: [ + new SpeciesEvolution(SpeciesId.VANILLUXE, 47, null, null) ], - [Species.DEERLING]: [ - new SpeciesEvolution(Species.SAWSBUCK, 34, null, null) + [SpeciesId.DEERLING]: [ + new SpeciesEvolution(SpeciesId.SAWSBUCK, 34, null, null) ], - [Species.FOONGUS]: [ - new SpeciesEvolution(Species.AMOONGUSS, 39, null, null) + [SpeciesId.FOONGUS]: [ + new SpeciesEvolution(SpeciesId.AMOONGUSS, 39, null, null) ], - [Species.FRILLISH]: [ - new SpeciesEvolution(Species.JELLICENT, 40, null, null) + [SpeciesId.FRILLISH]: [ + new SpeciesEvolution(SpeciesId.JELLICENT, 40, null, null) ], - [Species.JOLTIK]: [ - new SpeciesEvolution(Species.GALVANTULA, 36, null, null) + [SpeciesId.JOLTIK]: [ + new SpeciesEvolution(SpeciesId.GALVANTULA, 36, null, null) ], - [Species.FERROSEED]: [ - new SpeciesEvolution(Species.FERROTHORN, 40, null, null) + [SpeciesId.FERROSEED]: [ + new SpeciesEvolution(SpeciesId.FERROTHORN, 40, null, null) ], - [Species.KLINK]: [ - new SpeciesEvolution(Species.KLANG, 38, null, null) + [SpeciesId.KLINK]: [ + new SpeciesEvolution(SpeciesId.KLANG, 38, null, null) ], - [Species.KLANG]: [ - new SpeciesEvolution(Species.KLINKLANG, 49, null, null) + [SpeciesId.KLANG]: [ + new SpeciesEvolution(SpeciesId.KLINKLANG, 49, null, null) ], - [Species.TYNAMO]: [ - new SpeciesEvolution(Species.EELEKTRIK, 39, null, null) + [SpeciesId.TYNAMO]: [ + new SpeciesEvolution(SpeciesId.EELEKTRIK, 39, null, null) ], - [Species.ELGYEM]: [ - new SpeciesEvolution(Species.BEHEEYEM, 42, null, null) + [SpeciesId.ELGYEM]: [ + new SpeciesEvolution(SpeciesId.BEHEEYEM, 42, null, null) ], - [Species.LITWICK]: [ - new SpeciesEvolution(Species.LAMPENT, 41, null, null) + [SpeciesId.LITWICK]: [ + new SpeciesEvolution(SpeciesId.LAMPENT, 41, null, null) ], - [Species.AXEW]: [ - new SpeciesEvolution(Species.FRAXURE, 38, null, null) + [SpeciesId.AXEW]: [ + new SpeciesEvolution(SpeciesId.FRAXURE, 38, null, null) ], - [Species.FRAXURE]: [ - new SpeciesEvolution(Species.HAXORUS, 48, null, null) + [SpeciesId.FRAXURE]: [ + new SpeciesEvolution(SpeciesId.HAXORUS, 48, null, null) ], - [Species.CUBCHOO]: [ - new SpeciesEvolution(Species.BEARTIC, 37, null, null) + [SpeciesId.CUBCHOO]: [ + new SpeciesEvolution(SpeciesId.BEARTIC, 37, null, null) ], - [Species.MIENFOO]: [ - new SpeciesEvolution(Species.MIENSHAO, 50, null, null) + [SpeciesId.MIENFOO]: [ + new SpeciesEvolution(SpeciesId.MIENSHAO, 50, null, null) ], - [Species.GOLETT]: [ - new SpeciesEvolution(Species.GOLURK, 43, null, null) + [SpeciesId.GOLETT]: [ + new SpeciesEvolution(SpeciesId.GOLURK, 43, null, null) ], - [Species.PAWNIARD]: [ - new SpeciesEvolution(Species.BISHARP, 52, null, null) + [SpeciesId.PAWNIARD]: [ + new SpeciesEvolution(SpeciesId.BISHARP, 52, null, null) ], - [Species.BISHARP]: [ - new SpeciesEvolution(Species.KINGAMBIT, 1, EvolutionItem.LEADERS_CREST, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.BISHARP]: [ + new SpeciesEvolution(SpeciesId.KINGAMBIT, 1, EvolutionItem.LEADERS_CREST, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.RUFFLET]: [ - new SpeciesEvolution(Species.HISUI_BRAVIARY, 54, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.BRAVIARY, 54, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.RUFFLET]: [ + new SpeciesEvolution(SpeciesId.HISUI_BRAVIARY, 54, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.BRAVIARY, 54, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.VULLABY]: [ - new SpeciesEvolution(Species.MANDIBUZZ, 54, null, null) + [SpeciesId.VULLABY]: [ + new SpeciesEvolution(SpeciesId.MANDIBUZZ, 54, null, null) ], - [Species.DEINO]: [ - new SpeciesEvolution(Species.ZWEILOUS, 50, null, null) + [SpeciesId.DEINO]: [ + new SpeciesEvolution(SpeciesId.ZWEILOUS, 50, null, null) ], - [Species.ZWEILOUS]: [ - new SpeciesEvolution(Species.HYDREIGON, 64, null, null) + [SpeciesId.ZWEILOUS]: [ + new SpeciesEvolution(SpeciesId.HYDREIGON, 64, null, null) ], - [Species.LARVESTA]: [ - new SpeciesEvolution(Species.VOLCARONA, 59, null, null) + [SpeciesId.LARVESTA]: [ + new SpeciesEvolution(SpeciesId.VOLCARONA, 59, null, null) ], - [Species.CHESPIN]: [ - new SpeciesEvolution(Species.QUILLADIN, 16, null, null) + [SpeciesId.CHESPIN]: [ + new SpeciesEvolution(SpeciesId.QUILLADIN, 16, null, null) ], - [Species.QUILLADIN]: [ - new SpeciesEvolution(Species.CHESNAUGHT, 36, null, null) + [SpeciesId.QUILLADIN]: [ + new SpeciesEvolution(SpeciesId.CHESNAUGHT, 36, null, null) ], - [Species.FENNEKIN]: [ - new SpeciesEvolution(Species.BRAIXEN, 16, null, null) + [SpeciesId.FENNEKIN]: [ + new SpeciesEvolution(SpeciesId.BRAIXEN, 16, null, null) ], - [Species.BRAIXEN]: [ - new SpeciesEvolution(Species.DELPHOX, 36, null, null) + [SpeciesId.BRAIXEN]: [ + new SpeciesEvolution(SpeciesId.DELPHOX, 36, null, null) ], - [Species.FROAKIE]: [ - new SpeciesEvolution(Species.FROGADIER, 16, null, null) + [SpeciesId.FROAKIE]: [ + new SpeciesEvolution(SpeciesId.FROGADIER, 16, null, null) ], - [Species.FROGADIER]: [ - new SpeciesEvolution(Species.GRENINJA, 36, null, null) + [SpeciesId.FROGADIER]: [ + new SpeciesEvolution(SpeciesId.GRENINJA, 36, null, null) ], - [Species.BUNNELBY]: [ - new SpeciesEvolution(Species.DIGGERSBY, 20, null, null) + [SpeciesId.BUNNELBY]: [ + new SpeciesEvolution(SpeciesId.DIGGERSBY, 20, null, null) ], - [Species.FLETCHLING]: [ - new SpeciesEvolution(Species.FLETCHINDER, 17, null, null) + [SpeciesId.FLETCHLING]: [ + new SpeciesEvolution(SpeciesId.FLETCHINDER, 17, null, null) ], - [Species.FLETCHINDER]: [ - new SpeciesEvolution(Species.TALONFLAME, 35, null, null) + [SpeciesId.FLETCHINDER]: [ + new SpeciesEvolution(SpeciesId.TALONFLAME, 35, null, null) ], - [Species.SCATTERBUG]: [ - new SpeciesEvolution(Species.SPEWPA, 9, null, null) + [SpeciesId.SCATTERBUG]: [ + new SpeciesEvolution(SpeciesId.SPEWPA, 9, null, null) ], - [Species.SPEWPA]: [ - new SpeciesEvolution(Species.VIVILLON, 12, null, null) + [SpeciesId.SPEWPA]: [ + new SpeciesEvolution(SpeciesId.VIVILLON, 12, null, null) ], - [Species.LITLEO]: [ - new SpeciesEvolution(Species.PYROAR, 35, null, null) + [SpeciesId.LITLEO]: [ + new SpeciesEvolution(SpeciesId.PYROAR, 35, null, null) ], - [Species.FLABEBE]: [ - new SpeciesEvolution(Species.FLOETTE, 19, null, null) + [SpeciesId.FLABEBE]: [ + new SpeciesEvolution(SpeciesId.FLOETTE, 19, null, null) ], - [Species.SKIDDO]: [ - new SpeciesEvolution(Species.GOGOAT, 32, null, null) + [SpeciesId.SKIDDO]: [ + new SpeciesEvolution(SpeciesId.GOGOAT, 32, null, null) ], - [Species.PANCHAM]: [ - new SpeciesEvolution(Species.PANGORO, 32, null, new PartyTypeEvolutionCondition(PokemonType.DARK), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.PANCHAM]: [ + new SpeciesEvolution(SpeciesId.PANGORO, 32, null, new PartyTypeEvolutionCondition(PokemonType.DARK), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.ESPURR]: [ - new SpeciesFormEvolution(Species.MEOWSTIC, "", "female", 25, null, new GenderEvolutionCondition(Gender.FEMALE)), - new SpeciesFormEvolution(Species.MEOWSTIC, "", "", 25, null, new GenderEvolutionCondition(Gender.MALE)) + [SpeciesId.ESPURR]: [ + new SpeciesFormEvolution(SpeciesId.MEOWSTIC, "", "female", 25, null, new GenderEvolutionCondition(Gender.FEMALE)), + new SpeciesFormEvolution(SpeciesId.MEOWSTIC, "", "", 25, null, new GenderEvolutionCondition(Gender.MALE)) ], - [Species.HONEDGE]: [ - new SpeciesEvolution(Species.DOUBLADE, 35, null, null) + [SpeciesId.HONEDGE]: [ + new SpeciesEvolution(SpeciesId.DOUBLADE, 35, null, null) ], - [Species.INKAY]: [ - new SpeciesEvolution(Species.MALAMAR, 30, null, null) + [SpeciesId.INKAY]: [ + new SpeciesEvolution(SpeciesId.MALAMAR, 30, null, null) ], - [Species.BINACLE]: [ - new SpeciesEvolution(Species.BARBARACLE, 39, null, null) + [SpeciesId.BINACLE]: [ + new SpeciesEvolution(SpeciesId.BARBARACLE, 39, null, null) ], - [Species.SKRELP]: [ - new SpeciesEvolution(Species.DRAGALGE, 48, null, null) + [SpeciesId.SKRELP]: [ + new SpeciesEvolution(SpeciesId.DRAGALGE, 48, null, null) ], - [Species.CLAUNCHER]: [ - new SpeciesEvolution(Species.CLAWITZER, 37, null, null) + [SpeciesId.CLAUNCHER]: [ + new SpeciesEvolution(SpeciesId.CLAWITZER, 37, null, null) ], - [Species.TYRUNT]: [ - new SpeciesEvolution(Species.TYRANTRUM, 39, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.TYRUNT]: [ + new SpeciesEvolution(SpeciesId.TYRANTRUM, 39, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.AMAURA]: [ - new SpeciesEvolution(Species.AURORUS, 39, null, new TimeOfDayEvolutionCondition("night")) + [SpeciesId.AMAURA]: [ + new SpeciesEvolution(SpeciesId.AURORUS, 39, null, new TimeOfDayEvolutionCondition("night")) ], - [Species.GOOMY]: [ - new SpeciesEvolution(Species.HISUI_SLIGGOO, 40, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.SLIGGOO, 40, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.GOOMY]: [ + new SpeciesEvolution(SpeciesId.HISUI_SLIGGOO, 40, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.SLIGGOO, 40, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.SLIGGOO]: [ - new SpeciesEvolution(Species.GOODRA, 50, null, new WeatherEvolutionCondition([ WeatherType.RAIN, WeatherType.FOG, WeatherType.HEAVY_RAIN ]), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.SLIGGOO]: [ + new SpeciesEvolution(SpeciesId.GOODRA, 50, null, new WeatherEvolutionCondition([ WeatherType.RAIN, WeatherType.FOG, WeatherType.HEAVY_RAIN ]), SpeciesWildEvolutionDelay.LONG) ], - [Species.BERGMITE]: [ - new SpeciesEvolution(Species.HISUI_AVALUGG, 37, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.AVALUGG, 37, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.BERGMITE]: [ + new SpeciesEvolution(SpeciesId.HISUI_AVALUGG, 37, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.AVALUGG, 37, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.NOIBAT]: [ - new SpeciesEvolution(Species.NOIVERN, 48, null, null) + [SpeciesId.NOIBAT]: [ + new SpeciesEvolution(SpeciesId.NOIVERN, 48, null, null) ], - [Species.ROWLET]: [ - new SpeciesEvolution(Species.DARTRIX, 17, null, null) + [SpeciesId.ROWLET]: [ + new SpeciesEvolution(SpeciesId.DARTRIX, 17, null, null) ], - [Species.DARTRIX]: [ - new SpeciesEvolution(Species.HISUI_DECIDUEYE, 36, null, new TimeOfDayEvolutionCondition("night")), - new SpeciesEvolution(Species.DECIDUEYE, 34, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.DARTRIX]: [ + new SpeciesEvolution(SpeciesId.HISUI_DECIDUEYE, 36, null, new TimeOfDayEvolutionCondition("night")), + new SpeciesEvolution(SpeciesId.DECIDUEYE, 34, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.LITTEN]: [ - new SpeciesEvolution(Species.TORRACAT, 17, null, null) + [SpeciesId.LITTEN]: [ + new SpeciesEvolution(SpeciesId.TORRACAT, 17, null, null) ], - [Species.TORRACAT]: [ - new SpeciesEvolution(Species.INCINEROAR, 34, null, null) + [SpeciesId.TORRACAT]: [ + new SpeciesEvolution(SpeciesId.INCINEROAR, 34, null, null) ], - [Species.POPPLIO]: [ - new SpeciesEvolution(Species.BRIONNE, 17, null, null) + [SpeciesId.POPPLIO]: [ + new SpeciesEvolution(SpeciesId.BRIONNE, 17, null, null) ], - [Species.BRIONNE]: [ - new SpeciesEvolution(Species.PRIMARINA, 34, null, null) + [SpeciesId.BRIONNE]: [ + new SpeciesEvolution(SpeciesId.PRIMARINA, 34, null, null) ], - [Species.PIKIPEK]: [ - new SpeciesEvolution(Species.TRUMBEAK, 14, null, null) + [SpeciesId.PIKIPEK]: [ + new SpeciesEvolution(SpeciesId.TRUMBEAK, 14, null, null) ], - [Species.TRUMBEAK]: [ - new SpeciesEvolution(Species.TOUCANNON, 28, null, null) + [SpeciesId.TRUMBEAK]: [ + new SpeciesEvolution(SpeciesId.TOUCANNON, 28, null, null) ], - [Species.YUNGOOS]: [ - new SpeciesEvolution(Species.GUMSHOOS, 20, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.YUNGOOS]: [ + new SpeciesEvolution(SpeciesId.GUMSHOOS, 20, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.GRUBBIN]: [ - new SpeciesEvolution(Species.CHARJABUG, 20, null, null) + [SpeciesId.GRUBBIN]: [ + new SpeciesEvolution(SpeciesId.CHARJABUG, 20, null, null) ], - [Species.CUTIEFLY]: [ - new SpeciesEvolution(Species.RIBOMBEE, 25, null, null) + [SpeciesId.CUTIEFLY]: [ + new SpeciesEvolution(SpeciesId.RIBOMBEE, 25, null, null) ], - [Species.MAREANIE]: [ - new SpeciesEvolution(Species.TOXAPEX, 38, null, null) + [SpeciesId.MAREANIE]: [ + new SpeciesEvolution(SpeciesId.TOXAPEX, 38, null, null) ], - [Species.MUDBRAY]: [ - new SpeciesEvolution(Species.MUDSDALE, 30, null, null) + [SpeciesId.MUDBRAY]: [ + new SpeciesEvolution(SpeciesId.MUDSDALE, 30, null, null) ], - [Species.DEWPIDER]: [ - new SpeciesEvolution(Species.ARAQUANID, 22, null, null) + [SpeciesId.DEWPIDER]: [ + new SpeciesEvolution(SpeciesId.ARAQUANID, 22, null, null) ], - [Species.FOMANTIS]: [ - new SpeciesEvolution(Species.LURANTIS, 34, null, new TimeOfDayEvolutionCondition("day")) + [SpeciesId.FOMANTIS]: [ + new SpeciesEvolution(SpeciesId.LURANTIS, 34, null, new TimeOfDayEvolutionCondition("day")) ], - [Species.MORELULL]: [ - new SpeciesEvolution(Species.SHIINOTIC, 24, null, null) + [SpeciesId.MORELULL]: [ + new SpeciesEvolution(SpeciesId.SHIINOTIC, 24, null, null) ], - [Species.SALANDIT]: [ - new SpeciesEvolution(Species.SALAZZLE, 33, null, new GenderEvolutionCondition(Gender.FEMALE)) + [SpeciesId.SALANDIT]: [ + new SpeciesEvolution(SpeciesId.SALAZZLE, 33, null, new GenderEvolutionCondition(Gender.FEMALE)) ], - [Species.STUFFUL]: [ - new SpeciesEvolution(Species.BEWEAR, 27, null, null) + [SpeciesId.STUFFUL]: [ + new SpeciesEvolution(SpeciesId.BEWEAR, 27, null, null) ], - [Species.BOUNSWEET]: [ - new SpeciesEvolution(Species.STEENEE, 18, null, null) + [SpeciesId.BOUNSWEET]: [ + new SpeciesEvolution(SpeciesId.STEENEE, 18, null, null) ], - [Species.WIMPOD]: [ - new SpeciesEvolution(Species.GOLISOPOD, 30, null, null) + [SpeciesId.WIMPOD]: [ + new SpeciesEvolution(SpeciesId.GOLISOPOD, 30, null, null) ], - [Species.SANDYGAST]: [ - new SpeciesEvolution(Species.PALOSSAND, 42, null, null) + [SpeciesId.SANDYGAST]: [ + new SpeciesEvolution(SpeciesId.PALOSSAND, 42, null, null) ], - [Species.JANGMO_O]: [ - new SpeciesEvolution(Species.HAKAMO_O, 35, null, null) + [SpeciesId.JANGMO_O]: [ + new SpeciesEvolution(SpeciesId.HAKAMO_O, 35, null, null) ], - [Species.HAKAMO_O]: [ - new SpeciesEvolution(Species.KOMMO_O, 45, null, null) + [SpeciesId.HAKAMO_O]: [ + new SpeciesEvolution(SpeciesId.KOMMO_O, 45, null, null) ], - [Species.COSMOG]: [ - new SpeciesEvolution(Species.COSMOEM, 23, null, null) + [SpeciesId.COSMOG]: [ + new SpeciesEvolution(SpeciesId.COSMOEM, 23, null, null) ], - [Species.COSMOEM]: [ - new SpeciesEvolution(Species.SOLGALEO, 1, EvolutionItem.SUN_FLUTE, null, SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesEvolution(Species.LUNALA, 1, EvolutionItem.MOON_FLUTE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.COSMOEM]: [ + new SpeciesEvolution(SpeciesId.SOLGALEO, 1, EvolutionItem.SUN_FLUTE, null, SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesEvolution(SpeciesId.LUNALA, 1, EvolutionItem.MOON_FLUTE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.MELTAN]: [ - new SpeciesEvolution(Species.MELMETAL, 48, null, null) + [SpeciesId.MELTAN]: [ + new SpeciesEvolution(SpeciesId.MELMETAL, 48, null, null) ], - [Species.ALOLA_RATTATA]: [ - new SpeciesEvolution(Species.ALOLA_RATICATE, 20, null, new TimeOfDayEvolutionCondition("night")) + [SpeciesId.ALOLA_RATTATA]: [ + new SpeciesEvolution(SpeciesId.ALOLA_RATICATE, 20, null, new TimeOfDayEvolutionCondition("night")) ], - [Species.ALOLA_DIGLETT]: [ - new SpeciesEvolution(Species.ALOLA_DUGTRIO, 26, null, null) + [SpeciesId.ALOLA_DIGLETT]: [ + new SpeciesEvolution(SpeciesId.ALOLA_DUGTRIO, 26, null, null) ], - [Species.ALOLA_GEODUDE]: [ - new SpeciesEvolution(Species.ALOLA_GRAVELER, 25, null, null) + [SpeciesId.ALOLA_GEODUDE]: [ + new SpeciesEvolution(SpeciesId.ALOLA_GRAVELER, 25, null, null) ], - [Species.ALOLA_GRIMER]: [ - new SpeciesEvolution(Species.ALOLA_MUK, 38, null, null) + [SpeciesId.ALOLA_GRIMER]: [ + new SpeciesEvolution(SpeciesId.ALOLA_MUK, 38, null, null) ], - [Species.GROOKEY]: [ - new SpeciesEvolution(Species.THWACKEY, 16, null, null) + [SpeciesId.GROOKEY]: [ + new SpeciesEvolution(SpeciesId.THWACKEY, 16, null, null) ], - [Species.THWACKEY]: [ - new SpeciesEvolution(Species.RILLABOOM, 35, null, null) + [SpeciesId.THWACKEY]: [ + new SpeciesEvolution(SpeciesId.RILLABOOM, 35, null, null) ], - [Species.SCORBUNNY]: [ - new SpeciesEvolution(Species.RABOOT, 16, null, null) + [SpeciesId.SCORBUNNY]: [ + new SpeciesEvolution(SpeciesId.RABOOT, 16, null, null) ], - [Species.RABOOT]: [ - new SpeciesEvolution(Species.CINDERACE, 35, null, null) + [SpeciesId.RABOOT]: [ + new SpeciesEvolution(SpeciesId.CINDERACE, 35, null, null) ], - [Species.SOBBLE]: [ - new SpeciesEvolution(Species.DRIZZILE, 16, null, null) + [SpeciesId.SOBBLE]: [ + new SpeciesEvolution(SpeciesId.DRIZZILE, 16, null, null) ], - [Species.DRIZZILE]: [ - new SpeciesEvolution(Species.INTELEON, 35, null, null) + [SpeciesId.DRIZZILE]: [ + new SpeciesEvolution(SpeciesId.INTELEON, 35, null, null) ], - [Species.SKWOVET]: [ - new SpeciesEvolution(Species.GREEDENT, 24, null, null) + [SpeciesId.SKWOVET]: [ + new SpeciesEvolution(SpeciesId.GREEDENT, 24, null, null) ], - [Species.ROOKIDEE]: [ - new SpeciesEvolution(Species.CORVISQUIRE, 18, null, null) + [SpeciesId.ROOKIDEE]: [ + new SpeciesEvolution(SpeciesId.CORVISQUIRE, 18, null, null) ], - [Species.CORVISQUIRE]: [ - new SpeciesEvolution(Species.CORVIKNIGHT, 38, null, null) + [SpeciesId.CORVISQUIRE]: [ + new SpeciesEvolution(SpeciesId.CORVIKNIGHT, 38, null, null) ], - [Species.BLIPBUG]: [ - new SpeciesEvolution(Species.DOTTLER, 10, null, null) + [SpeciesId.BLIPBUG]: [ + new SpeciesEvolution(SpeciesId.DOTTLER, 10, null, null) ], - [Species.DOTTLER]: [ - new SpeciesEvolution(Species.ORBEETLE, 30, null, null) + [SpeciesId.DOTTLER]: [ + new SpeciesEvolution(SpeciesId.ORBEETLE, 30, null, null) ], - [Species.NICKIT]: [ - new SpeciesEvolution(Species.THIEVUL, 18, null, null) + [SpeciesId.NICKIT]: [ + new SpeciesEvolution(SpeciesId.THIEVUL, 18, null, null) ], - [Species.GOSSIFLEUR]: [ - new SpeciesEvolution(Species.ELDEGOSS, 20, null, null) + [SpeciesId.GOSSIFLEUR]: [ + new SpeciesEvolution(SpeciesId.ELDEGOSS, 20, null, null) ], - [Species.WOOLOO]: [ - new SpeciesEvolution(Species.DUBWOOL, 24, null, null) + [SpeciesId.WOOLOO]: [ + new SpeciesEvolution(SpeciesId.DUBWOOL, 24, null, null) ], - [Species.CHEWTLE]: [ - new SpeciesEvolution(Species.DREDNAW, 22, null, null) + [SpeciesId.CHEWTLE]: [ + new SpeciesEvolution(SpeciesId.DREDNAW, 22, null, null) ], - [Species.YAMPER]: [ - new SpeciesEvolution(Species.BOLTUND, 25, null, null) + [SpeciesId.YAMPER]: [ + new SpeciesEvolution(SpeciesId.BOLTUND, 25, null, null) ], - [Species.ROLYCOLY]: [ - new SpeciesEvolution(Species.CARKOL, 18, null, null) + [SpeciesId.ROLYCOLY]: [ + new SpeciesEvolution(SpeciesId.CARKOL, 18, null, null) ], - [Species.CARKOL]: [ - new SpeciesEvolution(Species.COALOSSAL, 34, null, null) + [SpeciesId.CARKOL]: [ + new SpeciesEvolution(SpeciesId.COALOSSAL, 34, null, null) ], - [Species.SILICOBRA]: [ - new SpeciesEvolution(Species.SANDACONDA, 36, null, null) + [SpeciesId.SILICOBRA]: [ + new SpeciesEvolution(SpeciesId.SANDACONDA, 36, null, null) ], - [Species.ARROKUDA]: [ - new SpeciesEvolution(Species.BARRASKEWDA, 26, null, null) + [SpeciesId.ARROKUDA]: [ + new SpeciesEvolution(SpeciesId.BARRASKEWDA, 26, null, null) ], - [Species.TOXEL]: [ - new SpeciesFormEvolution(Species.TOXTRICITY, "", "lowkey", 30, null, + [SpeciesId.TOXEL]: [ + new SpeciesFormEvolution(SpeciesId.TOXTRICITY, "", "lowkey", 30, null, new NatureEvolutionCondition([ Nature.LONELY, Nature.BOLD, Nature.RELAXED, Nature.TIMID, Nature.SERIOUS, Nature.MODEST, Nature.MILD, Nature.QUIET, Nature.BASHFUL, Nature.CALM, Nature.GENTLE, Nature.CAREFUL ]) ), - new SpeciesFormEvolution(Species.TOXTRICITY, "", "amped", 30, null, null) + new SpeciesFormEvolution(SpeciesId.TOXTRICITY, "", "amped", 30, null, null) ], - [Species.SIZZLIPEDE]: [ - new SpeciesEvolution(Species.CENTISKORCH, 28, null, null) + [SpeciesId.SIZZLIPEDE]: [ + new SpeciesEvolution(SpeciesId.CENTISKORCH, 28, null, null) ], - [Species.HATENNA]: [ - new SpeciesEvolution(Species.HATTREM, 32, null, null) + [SpeciesId.HATENNA]: [ + new SpeciesEvolution(SpeciesId.HATTREM, 32, null, null) ], - [Species.HATTREM]: [ - new SpeciesEvolution(Species.HATTERENE, 42, null, null) + [SpeciesId.HATTREM]: [ + new SpeciesEvolution(SpeciesId.HATTERENE, 42, null, null) ], - [Species.IMPIDIMP]: [ - new SpeciesEvolution(Species.MORGREM, 32, null, null) + [SpeciesId.IMPIDIMP]: [ + new SpeciesEvolution(SpeciesId.MORGREM, 32, null, null) ], - [Species.MORGREM]: [ - new SpeciesEvolution(Species.GRIMMSNARL, 42, null, null) + [SpeciesId.MORGREM]: [ + new SpeciesEvolution(SpeciesId.GRIMMSNARL, 42, null, null) ], - [Species.CUFANT]: [ - new SpeciesEvolution(Species.COPPERAJAH, 34, null, null) + [SpeciesId.CUFANT]: [ + new SpeciesEvolution(SpeciesId.COPPERAJAH, 34, null, null) ], - [Species.DREEPY]: [ - new SpeciesEvolution(Species.DRAKLOAK, 50, null, null) + [SpeciesId.DREEPY]: [ + new SpeciesEvolution(SpeciesId.DRAKLOAK, 50, null, null) ], - [Species.DRAKLOAK]: [ - new SpeciesEvolution(Species.DRAGAPULT, 60, null, null) + [SpeciesId.DRAKLOAK]: [ + new SpeciesEvolution(SpeciesId.DRAGAPULT, 60, null, null) ], - [Species.GALAR_MEOWTH]: [ - new SpeciesEvolution(Species.PERRSERKER, 28, null, null) + [SpeciesId.GALAR_MEOWTH]: [ + new SpeciesEvolution(SpeciesId.PERRSERKER, 28, null, null) ], - [Species.GALAR_PONYTA]: [ - new SpeciesEvolution(Species.GALAR_RAPIDASH, 40, null, null) + [SpeciesId.GALAR_PONYTA]: [ + new SpeciesEvolution(SpeciesId.GALAR_RAPIDASH, 40, null, null) ], - [Species.GALAR_FARFETCHD]: [ - new SpeciesEvolution(Species.SIRFETCHD, 30, null, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.GALAR_FARFETCHD]: [ + new SpeciesEvolution(SpeciesId.SIRFETCHD, 30, null, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.GALAR_SLOWPOKE]: [ - new SpeciesEvolution(Species.GALAR_SLOWBRO, 1, EvolutionItem.GALARICA_CUFF, null, SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesEvolution(Species.GALAR_SLOWKING, 1, EvolutionItem.GALARICA_WREATH, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.GALAR_SLOWPOKE]: [ + new SpeciesEvolution(SpeciesId.GALAR_SLOWBRO, 1, EvolutionItem.GALARICA_CUFF, null, SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesEvolution(SpeciesId.GALAR_SLOWKING, 1, EvolutionItem.GALARICA_WREATH, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.GALAR_MR_MIME]: [ - new SpeciesEvolution(Species.MR_RIME, 42, null, null) + [SpeciesId.GALAR_MR_MIME]: [ + new SpeciesEvolution(SpeciesId.MR_RIME, 42, null, null) ], - [Species.GALAR_CORSOLA]: [ - new SpeciesEvolution(Species.CURSOLA, 38, null, null) + [SpeciesId.GALAR_CORSOLA]: [ + new SpeciesEvolution(SpeciesId.CURSOLA, 38, null, null) ], - [Species.GALAR_ZIGZAGOON]: [ - new SpeciesEvolution(Species.GALAR_LINOONE, 20, null, null) + [SpeciesId.GALAR_ZIGZAGOON]: [ + new SpeciesEvolution(SpeciesId.GALAR_LINOONE, 20, null, null) ], - [Species.GALAR_LINOONE]: [ - new SpeciesEvolution(Species.OBSTAGOON, 35, null, new TimeOfDayEvolutionCondition("night")) + [SpeciesId.GALAR_LINOONE]: [ + new SpeciesEvolution(SpeciesId.OBSTAGOON, 35, null, new TimeOfDayEvolutionCondition("night")) ], - [Species.GALAR_YAMASK]: [ - new SpeciesEvolution(Species.RUNERIGUS, 34, null, null) + [SpeciesId.GALAR_YAMASK]: [ + new SpeciesEvolution(SpeciesId.RUNERIGUS, 34, null, null) ], - [Species.HISUI_ZORUA]: [ - new SpeciesEvolution(Species.HISUI_ZOROARK, 30, null, null) + [SpeciesId.HISUI_ZORUA]: [ + new SpeciesEvolution(SpeciesId.HISUI_ZOROARK, 30, null, null) ], - [Species.HISUI_SLIGGOO]: [ - new SpeciesEvolution(Species.HISUI_GOODRA, 50, null, new WeatherEvolutionCondition([ WeatherType.RAIN, WeatherType.FOG, WeatherType.HEAVY_RAIN ]), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.HISUI_SLIGGOO]: [ + new SpeciesEvolution(SpeciesId.HISUI_GOODRA, 50, null, new WeatherEvolutionCondition([ WeatherType.RAIN, WeatherType.FOG, WeatherType.HEAVY_RAIN ]), SpeciesWildEvolutionDelay.LONG) ], - [Species.SPRIGATITO]: [ - new SpeciesEvolution(Species.FLORAGATO, 16, null, null) + [SpeciesId.SPRIGATITO]: [ + new SpeciesEvolution(SpeciesId.FLORAGATO, 16, null, null) ], - [Species.FLORAGATO]: [ - new SpeciesEvolution(Species.MEOWSCARADA, 36, null, null) + [SpeciesId.FLORAGATO]: [ + new SpeciesEvolution(SpeciesId.MEOWSCARADA, 36, null, null) ], - [Species.FUECOCO]: [ - new SpeciesEvolution(Species.CROCALOR, 16, null, null) + [SpeciesId.FUECOCO]: [ + new SpeciesEvolution(SpeciesId.CROCALOR, 16, null, null) ], - [Species.CROCALOR]: [ - new SpeciesEvolution(Species.SKELEDIRGE, 36, null, null) + [SpeciesId.CROCALOR]: [ + new SpeciesEvolution(SpeciesId.SKELEDIRGE, 36, null, null) ], - [Species.QUAXLY]: [ - new SpeciesEvolution(Species.QUAXWELL, 16, null, null) + [SpeciesId.QUAXLY]: [ + new SpeciesEvolution(SpeciesId.QUAXWELL, 16, null, null) ], - [Species.QUAXWELL]: [ - new SpeciesEvolution(Species.QUAQUAVAL, 36, null, null) + [SpeciesId.QUAXWELL]: [ + new SpeciesEvolution(SpeciesId.QUAQUAVAL, 36, null, null) ], - [Species.LECHONK]: [ - new SpeciesFormEvolution(Species.OINKOLOGNE, "", "female", 18, null, new GenderEvolutionCondition(Gender.FEMALE)), - new SpeciesFormEvolution(Species.OINKOLOGNE, "", "", 18, null, new GenderEvolutionCondition(Gender.MALE)) + [SpeciesId.LECHONK]: [ + new SpeciesFormEvolution(SpeciesId.OINKOLOGNE, "", "female", 18, null, new GenderEvolutionCondition(Gender.FEMALE)), + new SpeciesFormEvolution(SpeciesId.OINKOLOGNE, "", "", 18, null, new GenderEvolutionCondition(Gender.MALE)) ], - [Species.TAROUNTULA]: [ - new SpeciesEvolution(Species.SPIDOPS, 15, null, null) + [SpeciesId.TAROUNTULA]: [ + new SpeciesEvolution(SpeciesId.SPIDOPS, 15, null, null) ], - [Species.NYMBLE]: [ - new SpeciesEvolution(Species.LOKIX, 24, null, null) + [SpeciesId.NYMBLE]: [ + new SpeciesEvolution(SpeciesId.LOKIX, 24, null, null) ], - [Species.PAWMI]: [ - new SpeciesEvolution(Species.PAWMO, 18, null, null) + [SpeciesId.PAWMI]: [ + new SpeciesEvolution(SpeciesId.PAWMO, 18, null, null) ], - [Species.PAWMO]: [ - new SpeciesEvolution(Species.PAWMOT, 32, null, null) + [SpeciesId.PAWMO]: [ + new SpeciesEvolution(SpeciesId.PAWMOT, 32, null, null) ], - [Species.TANDEMAUS]: [ - new SpeciesFormEvolution(Species.MAUSHOLD, "", "three", 25, null, new TandemausEvolutionCondition()), - new SpeciesFormEvolution(Species.MAUSHOLD, "", "four", 25, null, null) + [SpeciesId.TANDEMAUS]: [ + new SpeciesFormEvolution(SpeciesId.MAUSHOLD, "", "three", 25, null, new TandemausEvolutionCondition()), + new SpeciesFormEvolution(SpeciesId.MAUSHOLD, "", "four", 25, null, null) ], - [Species.FIDOUGH]: [ - new SpeciesEvolution(Species.DACHSBUN, 26, null, null) + [SpeciesId.FIDOUGH]: [ + new SpeciesEvolution(SpeciesId.DACHSBUN, 26, null, null) ], - [Species.SMOLIV]: [ - new SpeciesEvolution(Species.DOLLIV, 25, null, null) + [SpeciesId.SMOLIV]: [ + new SpeciesEvolution(SpeciesId.DOLLIV, 25, null, null) ], - [Species.DOLLIV]: [ - new SpeciesEvolution(Species.ARBOLIVA, 35, null, null) + [SpeciesId.DOLLIV]: [ + new SpeciesEvolution(SpeciesId.ARBOLIVA, 35, null, null) ], - [Species.NACLI]: [ - new SpeciesEvolution(Species.NACLSTACK, 24, null, null) + [SpeciesId.NACLI]: [ + new SpeciesEvolution(SpeciesId.NACLSTACK, 24, null, null) ], - [Species.NACLSTACK]: [ - new SpeciesEvolution(Species.GARGANACL, 38, null, null) + [SpeciesId.NACLSTACK]: [ + new SpeciesEvolution(SpeciesId.GARGANACL, 38, null, null) ], - [Species.WATTREL]: [ - new SpeciesEvolution(Species.KILOWATTREL, 25, null, null) + [SpeciesId.WATTREL]: [ + new SpeciesEvolution(SpeciesId.KILOWATTREL, 25, null, null) ], - [Species.MASCHIFF]: [ - new SpeciesEvolution(Species.MABOSSTIFF, 30, null, null) + [SpeciesId.MASCHIFF]: [ + new SpeciesEvolution(SpeciesId.MABOSSTIFF, 30, null, null) ], - [Species.SHROODLE]: [ - new SpeciesEvolution(Species.GRAFAIAI, 28, null, null) + [SpeciesId.SHROODLE]: [ + new SpeciesEvolution(SpeciesId.GRAFAIAI, 28, null, null) ], - [Species.BRAMBLIN]: [ - new SpeciesEvolution(Species.BRAMBLEGHAST, 30, null, null) + [SpeciesId.BRAMBLIN]: [ + new SpeciesEvolution(SpeciesId.BRAMBLEGHAST, 30, null, null) ], - [Species.TOEDSCOOL]: [ - new SpeciesEvolution(Species.TOEDSCRUEL, 30, null, null) + [SpeciesId.TOEDSCOOL]: [ + new SpeciesEvolution(SpeciesId.TOEDSCRUEL, 30, null, null) ], - [Species.RELLOR]: [ - new SpeciesEvolution(Species.RABSCA, 29, null, null) + [SpeciesId.RELLOR]: [ + new SpeciesEvolution(SpeciesId.RABSCA, 29, null, null) ], - [Species.FLITTLE]: [ - new SpeciesEvolution(Species.ESPATHRA, 35, null, null) + [SpeciesId.FLITTLE]: [ + new SpeciesEvolution(SpeciesId.ESPATHRA, 35, null, null) ], - [Species.TINKATINK]: [ - new SpeciesEvolution(Species.TINKATUFF, 24, null, null) + [SpeciesId.TINKATINK]: [ + new SpeciesEvolution(SpeciesId.TINKATUFF, 24, null, null) ], - [Species.TINKATUFF]: [ - new SpeciesEvolution(Species.TINKATON, 38, null, null) + [SpeciesId.TINKATUFF]: [ + new SpeciesEvolution(SpeciesId.TINKATON, 38, null, null) ], - [Species.WIGLETT]: [ - new SpeciesEvolution(Species.WUGTRIO, 26, null, null) + [SpeciesId.WIGLETT]: [ + new SpeciesEvolution(SpeciesId.WUGTRIO, 26, null, null) ], - [Species.FINIZEN]: [ - new SpeciesEvolution(Species.PALAFIN, 38, null, null) + [SpeciesId.FINIZEN]: [ + new SpeciesEvolution(SpeciesId.PALAFIN, 38, null, null) ], - [Species.VAROOM]: [ - new SpeciesEvolution(Species.REVAVROOM, 40, null, null) + [SpeciesId.VAROOM]: [ + new SpeciesEvolution(SpeciesId.REVAVROOM, 40, null, null) ], - [Species.GLIMMET]: [ - new SpeciesEvolution(Species.GLIMMORA, 35, null, null) + [SpeciesId.GLIMMET]: [ + new SpeciesEvolution(SpeciesId.GLIMMORA, 35, null, null) ], - [Species.GREAVARD]: [ - new SpeciesEvolution(Species.HOUNDSTONE, 30, null, new TimeOfDayEvolutionCondition("night")) + [SpeciesId.GREAVARD]: [ + new SpeciesEvolution(SpeciesId.HOUNDSTONE, 30, null, new TimeOfDayEvolutionCondition("night")) ], - [Species.FRIGIBAX]: [ - new SpeciesEvolution(Species.ARCTIBAX, 35, null, null) + [SpeciesId.FRIGIBAX]: [ + new SpeciesEvolution(SpeciesId.ARCTIBAX, 35, null, null) ], - [Species.ARCTIBAX]: [ - new SpeciesEvolution(Species.BAXCALIBUR, 54, null, null) + [SpeciesId.ARCTIBAX]: [ + new SpeciesEvolution(SpeciesId.BAXCALIBUR, 54, null, null) ], - [Species.PALDEA_WOOPER]: [ - new SpeciesEvolution(Species.CLODSIRE, 20, null, null) + [SpeciesId.PALDEA_WOOPER]: [ + new SpeciesEvolution(SpeciesId.CLODSIRE, 20, null, null) ], - [Species.PIKACHU]: [ - new SpeciesFormEvolution(Species.ALOLA_RAICHU, "", "", 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALOLA_RAICHU, "partner", "", 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.RAICHU, "", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.RAICHU, "partner", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.PIKACHU]: [ + new SpeciesFormEvolution(SpeciesId.ALOLA_RAICHU, "", "", 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.ALOLA_RAICHU, "partner", "", 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.RAICHU, "", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.RAICHU, "partner", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.NIDORINA]: [ - new SpeciesEvolution(Species.NIDOQUEEN, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.NIDORINA]: [ + new SpeciesEvolution(SpeciesId.NIDOQUEEN, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.NIDORINO]: [ - new SpeciesEvolution(Species.NIDOKING, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.NIDORINO]: [ + new SpeciesEvolution(SpeciesId.NIDOKING, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.CLEFAIRY]: [ - new SpeciesEvolution(Species.CLEFABLE, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.CLEFAIRY]: [ + new SpeciesEvolution(SpeciesId.CLEFABLE, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.VULPIX]: [ - new SpeciesEvolution(Species.NINETALES, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.VULPIX]: [ + new SpeciesEvolution(SpeciesId.NINETALES, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.JIGGLYPUFF]: [ - new SpeciesEvolution(Species.WIGGLYTUFF, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.JIGGLYPUFF]: [ + new SpeciesEvolution(SpeciesId.WIGGLYTUFF, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.GLOOM]: [ - new SpeciesEvolution(Species.VILEPLUME, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesEvolution(Species.BELLOSSOM, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.GLOOM]: [ + new SpeciesEvolution(SpeciesId.VILEPLUME, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesEvolution(SpeciesId.BELLOSSOM, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.GROWLITHE]: [ - new SpeciesEvolution(Species.ARCANINE, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.GROWLITHE]: [ + new SpeciesEvolution(SpeciesId.ARCANINE, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.POLIWHIRL]: [ - new SpeciesEvolution(Species.POLIWRATH, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesEvolution(Species.POLITOED, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.POLIWHIRL]: [ + new SpeciesEvolution(SpeciesId.POLIWRATH, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesEvolution(SpeciesId.POLITOED, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.WEEPINBELL]: [ - new SpeciesEvolution(Species.VICTREEBEL, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.WEEPINBELL]: [ + new SpeciesEvolution(SpeciesId.VICTREEBEL, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.MAGNETON]: [ - new SpeciesEvolution(Species.MAGNEZONE, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.MAGNETON]: [ + new SpeciesEvolution(SpeciesId.MAGNEZONE, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.SHELLDER]: [ - new SpeciesEvolution(Species.CLOYSTER, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.SHELLDER]: [ + new SpeciesEvolution(SpeciesId.CLOYSTER, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.EXEGGCUTE]: [ - new SpeciesEvolution(Species.ALOLA_EXEGGUTOR, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesEvolution(Species.EXEGGUTOR, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.EXEGGCUTE]: [ + new SpeciesEvolution(SpeciesId.ALOLA_EXEGGUTOR, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesEvolution(SpeciesId.EXEGGUTOR, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.TANGELA]: [ - new SpeciesEvolution(Species.TANGROWTH, 34, null, new MoveEvolutionCondition(Moves.ANCIENT_POWER), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.TANGELA]: [ + new SpeciesEvolution(SpeciesId.TANGROWTH, 34, null, new MoveEvolutionCondition(MoveId.ANCIENT_POWER), SpeciesWildEvolutionDelay.LONG) ], - [Species.LICKITUNG]: [ - new SpeciesEvolution(Species.LICKILICKY, 32, null, new MoveEvolutionCondition(Moves.ROLLOUT), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.LICKITUNG]: [ + new SpeciesEvolution(SpeciesId.LICKILICKY, 32, null, new MoveEvolutionCondition(MoveId.ROLLOUT), SpeciesWildEvolutionDelay.LONG) ], - [Species.STARYU]: [ - new SpeciesEvolution(Species.STARMIE, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.STARYU]: [ + new SpeciesEvolution(SpeciesId.STARMIE, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.EEVEE]: [ - new SpeciesFormEvolution(Species.SYLVEON, "", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, PokemonType.FAIRY), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.SYLVEON, "partner", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, PokemonType.FAIRY), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ESPEON, "", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ESPEON, "partner", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.UMBREON, "", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "night"), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.UMBREON, "partner", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "night"), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.VAPOREON, "", "", 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.VAPOREON, "partner", "", 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.JOLTEON, "", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.JOLTEON, "partner", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.FLAREON, "", "", 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.FLAREON, "partner", "", 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.LEAFEON, "", "", 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.LEAFEON, "partner", "", 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.GLACEON, "", "", 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.GLACEON, "partner", "", 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.EEVEE]: [ + new SpeciesFormEvolution(SpeciesId.SYLVEON, "", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, PokemonType.FAIRY), SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.SYLVEON, "partner", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, PokemonType.FAIRY), SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.ESPEON, "", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.ESPEON, "partner", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.UMBREON, "", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "night"), SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.UMBREON, "partner", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "night"), SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.VAPOREON, "", "", 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.VAPOREON, "partner", "", 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.JOLTEON, "", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.JOLTEON, "partner", "", 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.FLAREON, "", "", 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.FLAREON, "partner", "", 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.LEAFEON, "", "", 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.LEAFEON, "partner", "", 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.GLACEON, "", "", 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.GLACEON, "partner", "", 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.TOGETIC]: [ - new SpeciesEvolution(Species.TOGEKISS, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.TOGETIC]: [ + new SpeciesEvolution(SpeciesId.TOGEKISS, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.AIPOM]: [ - new SpeciesEvolution(Species.AMBIPOM, 32, null, new MoveEvolutionCondition(Moves.DOUBLE_HIT), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.AIPOM]: [ + new SpeciesEvolution(SpeciesId.AMBIPOM, 32, null, new MoveEvolutionCondition(MoveId.DOUBLE_HIT), SpeciesWildEvolutionDelay.LONG) ], - [Species.SUNKERN]: [ - new SpeciesEvolution(Species.SUNFLORA, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.SUNKERN]: [ + new SpeciesEvolution(SpeciesId.SUNFLORA, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.YANMA]: [ - new SpeciesEvolution(Species.YANMEGA, 33, null, new MoveEvolutionCondition(Moves.ANCIENT_POWER), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.YANMA]: [ + new SpeciesEvolution(SpeciesId.YANMEGA, 33, null, new MoveEvolutionCondition(MoveId.ANCIENT_POWER), SpeciesWildEvolutionDelay.LONG) ], - [Species.MURKROW]: [ - new SpeciesEvolution(Species.HONCHKROW, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.MURKROW]: [ + new SpeciesEvolution(SpeciesId.HONCHKROW, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.MISDREAVUS]: [ - new SpeciesEvolution(Species.MISMAGIUS, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.MISDREAVUS]: [ + new SpeciesEvolution(SpeciesId.MISMAGIUS, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.GIRAFARIG]: [ - new SpeciesEvolution(Species.FARIGIRAF, 32, null, new MoveEvolutionCondition(Moves.TWIN_BEAM), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.GIRAFARIG]: [ + new SpeciesEvolution(SpeciesId.FARIGIRAF, 32, null, new MoveEvolutionCondition(MoveId.TWIN_BEAM), SpeciesWildEvolutionDelay.LONG) ], - [Species.DUNSPARCE]: [ - new SpeciesFormEvolution(Species.DUDUNSPARCE, "", "three-segment", 32, null, new DunsparceEvolutionCondition(), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.DUDUNSPARCE, "", "two-segment", 32, null, new MoveEvolutionCondition(Moves.HYPER_DRILL), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.DUNSPARCE]: [ + new SpeciesFormEvolution(SpeciesId.DUDUNSPARCE, "", "three-segment", 32, null, new DunsparceEvolutionCondition(), SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.DUDUNSPARCE, "", "two-segment", 32, null, new MoveEvolutionCondition(MoveId.HYPER_DRILL), SpeciesWildEvolutionDelay.LONG) ], - [Species.GLIGAR]: [ - new SpeciesEvolution(Species.GLISCOR, 1, EvolutionItem.RAZOR_FANG, new TimeOfDayEvolutionCondition("night") /* Razor fang at night*/, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.GLIGAR]: [ + new SpeciesEvolution(SpeciesId.GLISCOR, 1, EvolutionItem.RAZOR_FANG, new TimeOfDayEvolutionCondition("night") /* Razor fang at night*/, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.SNEASEL]: [ - new SpeciesEvolution(Species.WEAVILE, 1, EvolutionItem.RAZOR_CLAW, new TimeOfDayEvolutionCondition("night") /* Razor claw at night*/, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.SNEASEL]: [ + new SpeciesEvolution(SpeciesId.WEAVILE, 1, EvolutionItem.RAZOR_CLAW, new TimeOfDayEvolutionCondition("night") /* Razor claw at night*/, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.URSARING]: [ - new SpeciesEvolution(Species.URSALUNA, 1, EvolutionItem.PEAT_BLOCK, null, SpeciesWildEvolutionDelay.VERY_LONG) //Ursaring does not evolve into Bloodmoon Ursaluna + [SpeciesId.URSARING]: [ + new SpeciesEvolution(SpeciesId.URSALUNA, 1, EvolutionItem.PEAT_BLOCK, null, SpeciesWildEvolutionDelay.VERY_LONG) //Ursaring does not evolve into Bloodmoon Ursaluna ], - [Species.PILOSWINE]: [ - new SpeciesEvolution(Species.MAMOSWINE, 1, null, new MoveEvolutionCondition(Moves.ANCIENT_POWER), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.PILOSWINE]: [ + new SpeciesEvolution(SpeciesId.MAMOSWINE, 1, null, new MoveEvolutionCondition(MoveId.ANCIENT_POWER), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.STANTLER]: [ - new SpeciesEvolution(Species.WYRDEER, 25, null, new MoveEvolutionCondition(Moves.PSYSHIELD_BASH), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.STANTLER]: [ + new SpeciesEvolution(SpeciesId.WYRDEER, 25, null, new MoveEvolutionCondition(MoveId.PSYSHIELD_BASH), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.LOMBRE]: [ - new SpeciesEvolution(Species.LUDICOLO, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.LOMBRE]: [ + new SpeciesEvolution(SpeciesId.LUDICOLO, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.NUZLEAF]: [ - new SpeciesEvolution(Species.SHIFTRY, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.NUZLEAF]: [ + new SpeciesEvolution(SpeciesId.SHIFTRY, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.NOSEPASS]: [ - new SpeciesEvolution(Species.PROBOPASS, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.NOSEPASS]: [ + new SpeciesEvolution(SpeciesId.PROBOPASS, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.SKITTY]: [ - new SpeciesEvolution(Species.DELCATTY, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.SKITTY]: [ + new SpeciesEvolution(SpeciesId.DELCATTY, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.ROSELIA]: [ - new SpeciesEvolution(Species.ROSERADE, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.ROSELIA]: [ + new SpeciesEvolution(SpeciesId.ROSERADE, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.BONSLY]: [ - new SpeciesEvolution(Species.SUDOWOODO, 1, null, new MoveEvolutionCondition(Moves.MIMIC), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.BONSLY]: [ + new SpeciesEvolution(SpeciesId.SUDOWOODO, 1, null, new MoveEvolutionCondition(MoveId.MIMIC), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.MIME_JR]: [ - new SpeciesEvolution(Species.GALAR_MR_MIME, 1, null, new MoveTimeOfDayEvolutionCondition(Moves.MIMIC, "night"), SpeciesWildEvolutionDelay.MEDIUM), - new SpeciesEvolution(Species.MR_MIME, 1, null, new MoveTimeOfDayEvolutionCondition(Moves.MIMIC, "day"), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.MIME_JR]: [ + new SpeciesEvolution(SpeciesId.GALAR_MR_MIME, 1, null, new MoveTimeOfDayEvolutionCondition(MoveId.MIMIC, "night"), SpeciesWildEvolutionDelay.MEDIUM), + new SpeciesEvolution(SpeciesId.MR_MIME, 1, null, new MoveTimeOfDayEvolutionCondition(MoveId.MIMIC, "day"), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.PANSAGE]: [ - new SpeciesEvolution(Species.SIMISAGE, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.PANSAGE]: [ + new SpeciesEvolution(SpeciesId.SIMISAGE, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.PANSEAR]: [ - new SpeciesEvolution(Species.SIMISEAR, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.PANSEAR]: [ + new SpeciesEvolution(SpeciesId.SIMISEAR, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.PANPOUR]: [ - new SpeciesEvolution(Species.SIMIPOUR, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.PANPOUR]: [ + new SpeciesEvolution(SpeciesId.SIMIPOUR, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.MUNNA]: [ - new SpeciesEvolution(Species.MUSHARNA, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.MUNNA]: [ + new SpeciesEvolution(SpeciesId.MUSHARNA, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.COTTONEE]: [ - new SpeciesEvolution(Species.WHIMSICOTT, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.COTTONEE]: [ + new SpeciesEvolution(SpeciesId.WHIMSICOTT, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.PETILIL]: [ - new SpeciesEvolution(Species.HISUI_LILLIGANT, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesEvolution(Species.LILLIGANT, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.PETILIL]: [ + new SpeciesEvolution(SpeciesId.HISUI_LILLIGANT, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesEvolution(SpeciesId.LILLIGANT, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.BASCULIN]: [ - new SpeciesFormEvolution(Species.BASCULEGION, "white-striped", "female", 40, null, new GenderEvolutionCondition(Gender.FEMALE), SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesFormEvolution(Species.BASCULEGION, "white-striped", "male", 40, null, new GenderEvolutionCondition(Gender.MALE), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.BASCULIN]: [ + new SpeciesFormEvolution(SpeciesId.BASCULEGION, "white-striped", "female", 40, null, new GenderEvolutionCondition(Gender.FEMALE), SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesFormEvolution(SpeciesId.BASCULEGION, "white-striped", "male", 40, null, new GenderEvolutionCondition(Gender.MALE), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.MINCCINO]: [ - new SpeciesEvolution(Species.CINCCINO, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.MINCCINO]: [ + new SpeciesEvolution(SpeciesId.CINCCINO, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.EELEKTRIK]: [ - new SpeciesEvolution(Species.EELEKTROSS, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.EELEKTRIK]: [ + new SpeciesEvolution(SpeciesId.EELEKTROSS, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.LAMPENT]: [ - new SpeciesEvolution(Species.CHANDELURE, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.LAMPENT]: [ + new SpeciesEvolution(SpeciesId.CHANDELURE, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.FLOETTE]: [ - new SpeciesEvolution(Species.FLORGES, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.FLOETTE]: [ + new SpeciesEvolution(SpeciesId.FLORGES, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.DOUBLADE]: [ - new SpeciesEvolution(Species.AEGISLASH, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.DOUBLADE]: [ + new SpeciesEvolution(SpeciesId.AEGISLASH, 1, EvolutionItem.DUSK_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.HELIOPTILE]: [ - new SpeciesEvolution(Species.HELIOLISK, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.HELIOPTILE]: [ + new SpeciesEvolution(SpeciesId.HELIOLISK, 1, EvolutionItem.SUN_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.CHARJABUG]: [ - new SpeciesEvolution(Species.VIKAVOLT, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.CHARJABUG]: [ + new SpeciesEvolution(SpeciesId.VIKAVOLT, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.CRABRAWLER]: [ - new SpeciesEvolution(Species.CRABOMINABLE, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.CRABRAWLER]: [ + new SpeciesEvolution(SpeciesId.CRABOMINABLE, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.ROCKRUFF]: [ - new SpeciesFormEvolution(Species.LYCANROC, "own-tempo", "dusk", 25, null, null), - new SpeciesFormEvolution(Species.LYCANROC, "", "midday", 25, null, new TimeOfDayEvolutionCondition("day")), - new SpeciesFormEvolution(Species.LYCANROC, "", "midnight", 25, null, new TimeOfDayEvolutionCondition("night")) + [SpeciesId.ROCKRUFF]: [ + new SpeciesFormEvolution(SpeciesId.LYCANROC, "own-tempo", "dusk", 25, null, null), + new SpeciesFormEvolution(SpeciesId.LYCANROC, "", "midday", 25, null, new TimeOfDayEvolutionCondition("day")), + new SpeciesFormEvolution(SpeciesId.LYCANROC, "", "midnight", 25, null, new TimeOfDayEvolutionCondition("night")) ], - [Species.STEENEE]: [ - new SpeciesEvolution(Species.TSAREENA, 28, null, new MoveEvolutionCondition(Moves.STOMP), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.STEENEE]: [ + new SpeciesEvolution(SpeciesId.TSAREENA, 28, null, new MoveEvolutionCondition(MoveId.STOMP), SpeciesWildEvolutionDelay.LONG) ], - [Species.POIPOLE]: [ - new SpeciesEvolution(Species.NAGANADEL, 1, null, new MoveEvolutionCondition(Moves.DRAGON_PULSE), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.POIPOLE]: [ + new SpeciesEvolution(SpeciesId.NAGANADEL, 1, null, new MoveEvolutionCondition(MoveId.DRAGON_PULSE), SpeciesWildEvolutionDelay.LONG) ], - [Species.ALOLA_SANDSHREW]: [ - new SpeciesEvolution(Species.ALOLA_SANDSLASH, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.ALOLA_SANDSHREW]: [ + new SpeciesEvolution(SpeciesId.ALOLA_SANDSLASH, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.ALOLA_VULPIX]: [ - new SpeciesEvolution(Species.ALOLA_NINETALES, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.ALOLA_VULPIX]: [ + new SpeciesEvolution(SpeciesId.ALOLA_NINETALES, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.APPLIN]: [ - new SpeciesEvolution(Species.DIPPLIN, 1, EvolutionItem.SYRUPY_APPLE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesEvolution(Species.FLAPPLE, 1, EvolutionItem.TART_APPLE, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesEvolution(Species.APPLETUN, 1, EvolutionItem.SWEET_APPLE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.APPLIN]: [ + new SpeciesEvolution(SpeciesId.DIPPLIN, 1, EvolutionItem.SYRUPY_APPLE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesEvolution(SpeciesId.FLAPPLE, 1, EvolutionItem.TART_APPLE, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesEvolution(SpeciesId.APPLETUN, 1, EvolutionItem.SWEET_APPLE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.CLOBBOPUS]: [ - new SpeciesEvolution(Species.GRAPPLOCT, 35, null, new MoveEvolutionCondition(Moves.TAUNT)/*Once Taunt is implemented, change evo level to 1 and delay to LONG*/) + [SpeciesId.CLOBBOPUS]: [ + new SpeciesEvolution(SpeciesId.GRAPPLOCT, 35, null, new MoveEvolutionCondition(MoveId.TAUNT)/*Once Taunt is implemented, change evo level to 1 and delay to LONG*/) ], - [Species.SINISTEA]: [ - new SpeciesFormEvolution(Species.POLTEAGEIST, "phony", "phony", 1, EvolutionItem.CRACKED_POT, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.POLTEAGEIST, "antique", "antique", 1, EvolutionItem.CHIPPED_POT, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.SINISTEA]: [ + new SpeciesFormEvolution(SpeciesId.POLTEAGEIST, "phony", "phony", 1, EvolutionItem.CRACKED_POT, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.POLTEAGEIST, "antique", "antique", 1, EvolutionItem.CHIPPED_POT, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.MILCERY]: [ - new SpeciesFormEvolution(Species.ALCREMIE, "", "vanilla-cream", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.TOWN, Biome.PLAINS, Biome.GRASS, Biome.TALL_GRASS, Biome.METROPOLIS ]), + [SpeciesId.MILCERY]: [ + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "vanilla-cream", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.TOWN, BiomeId.PLAINS, BiomeId.GRASS, BiomeId.TALL_GRASS, BiomeId.METROPOLIS ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "ruby-cream", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.BADLANDS, Biome.VOLCANO, Biome.GRAVEYARD, Biome.FACTORY, Biome.SLUM ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "ruby-cream", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.BADLANDS, BiomeId.VOLCANO, BiomeId.GRAVEYARD, BiomeId.FACTORY, BiomeId.SLUM ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "matcha-cream", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.FOREST, Biome.SWAMP, Biome.MEADOW, Biome.JUNGLE ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "matcha-cream", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.FOREST, BiomeId.SWAMP, BiomeId.MEADOW, BiomeId.JUNGLE ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "mint-cream", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.SEA, Biome.BEACH, Biome.LAKE, Biome.SEABED ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "mint-cream", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.SEA, BiomeId.BEACH, BiomeId.LAKE, BiomeId.SEABED ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "lemon-cream", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.DESERT, Biome.POWER_PLANT, Biome.DOJO, Biome.RUINS, Biome.CONSTRUCTION_SITE ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "lemon-cream", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.DESERT, BiomeId.POWER_PLANT, BiomeId.DOJO, BiomeId.RUINS, BiomeId.CONSTRUCTION_SITE ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "salted-cream", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.MOUNTAIN, Biome.CAVE, Biome.ICE_CAVE, Biome.FAIRY_CAVE, Biome.SNOWY_FOREST ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "salted-cream", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.MOUNTAIN, BiomeId.CAVE, BiomeId.ICE_CAVE, BiomeId.FAIRY_CAVE, BiomeId.SNOWY_FOREST ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "ruby-swirl", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.WASTELAND, Biome.LABORATORY ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "ruby-swirl", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.WASTELAND, BiomeId.LABORATORY ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "caramel-swirl", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.TEMPLE, Biome.ISLAND ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "caramel-swirl", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.TEMPLE, BiomeId.ISLAND ]), SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.ALCREMIE, "", "rainbow-swirl", 1, EvolutionItem.STRAWBERRY_SWEET, - new BiomeEvolutionCondition([ Biome.ABYSS, Biome.SPACE, Biome.END ]), + new SpeciesFormEvolution(SpeciesId.ALCREMIE, "", "rainbow-swirl", 1, EvolutionItem.STRAWBERRY_SWEET, + new BiomeEvolutionCondition([ BiomeId.ABYSS, BiomeId.SPACE, BiomeId.END ]), SpeciesWildEvolutionDelay.LONG) ], - [Species.DURALUDON]: [ - new SpeciesFormEvolution(Species.ARCHALUDON, "", "", 1, EvolutionItem.METAL_ALLOY, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.DURALUDON]: [ + new SpeciesFormEvolution(SpeciesId.ARCHALUDON, "", "", 1, EvolutionItem.METAL_ALLOY, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.KUBFU]: [ - new SpeciesFormEvolution(Species.URSHIFU, "", "single-strike", 1, EvolutionItem.SCROLL_OF_DARKNESS, null, SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesFormEvolution(Species.URSHIFU, "", "rapid-strike", 1, EvolutionItem.SCROLL_OF_WATERS, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.KUBFU]: [ + new SpeciesFormEvolution(SpeciesId.URSHIFU, "", "single-strike", 1, EvolutionItem.SCROLL_OF_DARKNESS, null, SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesFormEvolution(SpeciesId.URSHIFU, "", "rapid-strike", 1, EvolutionItem.SCROLL_OF_WATERS, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.GALAR_DARUMAKA]: [ - new SpeciesEvolution(Species.GALAR_DARMANITAN, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.GALAR_DARUMAKA]: [ + new SpeciesEvolution(SpeciesId.GALAR_DARMANITAN, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.HISUI_GROWLITHE]: [ - new SpeciesEvolution(Species.HISUI_ARCANINE, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.HISUI_GROWLITHE]: [ + new SpeciesEvolution(SpeciesId.HISUI_ARCANINE, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.HISUI_VOLTORB]: [ - new SpeciesEvolution(Species.HISUI_ELECTRODE, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.HISUI_VOLTORB]: [ + new SpeciesEvolution(SpeciesId.HISUI_ELECTRODE, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.HISUI_QWILFISH]: [ - new SpeciesEvolution(Species.OVERQWIL, 28, null, new MoveEvolutionCondition(Moves.BARB_BARRAGE), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.HISUI_QWILFISH]: [ + new SpeciesEvolution(SpeciesId.OVERQWIL, 28, null, new MoveEvolutionCondition(MoveId.BARB_BARRAGE), SpeciesWildEvolutionDelay.LONG) ], - [Species.HISUI_SNEASEL]: [ - new SpeciesEvolution(Species.SNEASLER, 1, EvolutionItem.RAZOR_CLAW, new TimeOfDayEvolutionCondition("day") /* Razor claw at day*/, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.HISUI_SNEASEL]: [ + new SpeciesEvolution(SpeciesId.SNEASLER, 1, EvolutionItem.RAZOR_CLAW, new TimeOfDayEvolutionCondition("day") /* Razor claw at day*/, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.CHARCADET]: [ - new SpeciesEvolution(Species.ARMAROUGE, 1, EvolutionItem.AUSPICIOUS_ARMOR, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesEvolution(Species.CERULEDGE, 1, EvolutionItem.MALICIOUS_ARMOR, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.CHARCADET]: [ + new SpeciesEvolution(SpeciesId.ARMAROUGE, 1, EvolutionItem.AUSPICIOUS_ARMOR, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesEvolution(SpeciesId.CERULEDGE, 1, EvolutionItem.MALICIOUS_ARMOR, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.TADBULB]: [ - new SpeciesEvolution(Species.BELLIBOLT, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.TADBULB]: [ + new SpeciesEvolution(SpeciesId.BELLIBOLT, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.CAPSAKID]: [ - new SpeciesEvolution(Species.SCOVILLAIN, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.CAPSAKID]: [ + new SpeciesEvolution(SpeciesId.SCOVILLAIN, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.CETODDLE]: [ - new SpeciesEvolution(Species.CETITAN, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.CETODDLE]: [ + new SpeciesEvolution(SpeciesId.CETITAN, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.POLTCHAGEIST]: [ - new SpeciesFormEvolution(Species.SINISTCHA, "counterfeit", "unremarkable", 1, EvolutionItem.UNREMARKABLE_TEACUP, null, SpeciesWildEvolutionDelay.LONG), - new SpeciesFormEvolution(Species.SINISTCHA, "artisan", "masterpiece", 1, EvolutionItem.MASTERPIECE_TEACUP, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.POLTCHAGEIST]: [ + new SpeciesFormEvolution(SpeciesId.SINISTCHA, "counterfeit", "unremarkable", 1, EvolutionItem.UNREMARKABLE_TEACUP, null, SpeciesWildEvolutionDelay.LONG), + new SpeciesFormEvolution(SpeciesId.SINISTCHA, "artisan", "masterpiece", 1, EvolutionItem.MASTERPIECE_TEACUP, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.DIPPLIN]: [ - new SpeciesEvolution(Species.HYDRAPPLE, 1, null, new MoveEvolutionCondition(Moves.DRAGON_CHEER), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.DIPPLIN]: [ + new SpeciesEvolution(SpeciesId.HYDRAPPLE, 1, null, new MoveEvolutionCondition(MoveId.DRAGON_CHEER), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.KADABRA]: [ - new SpeciesEvolution(Species.ALAKAZAM, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.KADABRA]: [ + new SpeciesEvolution(SpeciesId.ALAKAZAM, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.MACHOKE]: [ - new SpeciesEvolution(Species.MACHAMP, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.MACHOKE]: [ + new SpeciesEvolution(SpeciesId.MACHAMP, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.GRAVELER]: [ - new SpeciesEvolution(Species.GOLEM, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.GRAVELER]: [ + new SpeciesEvolution(SpeciesId.GOLEM, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.HAUNTER]: [ - new SpeciesEvolution(Species.GENGAR, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.HAUNTER]: [ + new SpeciesEvolution(SpeciesId.GENGAR, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.ONIX]: [ - new SpeciesEvolution(Species.STEELIX, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(PokemonType.STEEL), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.ONIX]: [ + new SpeciesEvolution(SpeciesId.STEELIX, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(PokemonType.STEEL), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.RHYDON]: [ - new SpeciesEvolution(Species.RHYPERIOR, 1, EvolutionItem.PROTECTOR, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.RHYDON]: [ + new SpeciesEvolution(SpeciesId.RHYPERIOR, 1, EvolutionItem.PROTECTOR, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.SEADRA]: [ - new SpeciesEvolution(Species.KINGDRA, 1, EvolutionItem.DRAGON_SCALE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.SEADRA]: [ + new SpeciesEvolution(SpeciesId.KINGDRA, 1, EvolutionItem.DRAGON_SCALE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.SCYTHER]: [ - new SpeciesEvolution(Species.SCIZOR, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(PokemonType.STEEL), SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesEvolution(Species.KLEAVOR, 1, EvolutionItem.BLACK_AUGURITE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.SCYTHER]: [ + new SpeciesEvolution(SpeciesId.SCIZOR, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(PokemonType.STEEL), SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesEvolution(SpeciesId.KLEAVOR, 1, EvolutionItem.BLACK_AUGURITE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.ELECTABUZZ]: [ - new SpeciesEvolution(Species.ELECTIVIRE, 1, EvolutionItem.ELECTIRIZER, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.ELECTABUZZ]: [ + new SpeciesEvolution(SpeciesId.ELECTIVIRE, 1, EvolutionItem.ELECTIRIZER, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.MAGMAR]: [ - new SpeciesEvolution(Species.MAGMORTAR, 1, EvolutionItem.MAGMARIZER, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.MAGMAR]: [ + new SpeciesEvolution(SpeciesId.MAGMORTAR, 1, EvolutionItem.MAGMARIZER, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.PORYGON]: [ - new SpeciesEvolution(Species.PORYGON2, 1, EvolutionItem.UPGRADE, null, SpeciesWildEvolutionDelay.LONG) + [SpeciesId.PORYGON]: [ + new SpeciesEvolution(SpeciesId.PORYGON2, 1, EvolutionItem.UPGRADE, null, SpeciesWildEvolutionDelay.LONG) ], - [Species.PORYGON2]: [ - new SpeciesEvolution(Species.PORYGON_Z, 1, EvolutionItem.DUBIOUS_DISC, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.PORYGON2]: [ + new SpeciesEvolution(SpeciesId.PORYGON_Z, 1, EvolutionItem.DUBIOUS_DISC, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.FEEBAS]: [ - new SpeciesEvolution(Species.MILOTIC, 1, EvolutionItem.PRISM_SCALE, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.FEEBAS]: [ + new SpeciesEvolution(SpeciesId.MILOTIC, 1, EvolutionItem.PRISM_SCALE, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.DUSCLOPS]: [ - new SpeciesEvolution(Species.DUSKNOIR, 1, EvolutionItem.REAPER_CLOTH, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.DUSCLOPS]: [ + new SpeciesEvolution(SpeciesId.DUSKNOIR, 1, EvolutionItem.REAPER_CLOTH, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.CLAMPERL]: [ + [SpeciesId.CLAMPERL]: [ // TODO: Change the SpeciesEvolutionConditions here to use a bespoke HeldItemEvolutionCondition after the modifier rework - new SpeciesEvolution(Species.HUNTAIL, 1, EvolutionItem.LINKING_CORD, new SpeciesEvolutionCondition(p => p.getHeldItems().some(m => m instanceof SpeciesStatBoosterModifier && (m.type as SpeciesStatBoosterModifierType).key === "DEEP_SEA_TOOTH")), SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesEvolution(Species.GOREBYSS, 1, EvolutionItem.LINKING_CORD, new SpeciesEvolutionCondition(p => p.getHeldItems().some(m => m instanceof SpeciesStatBoosterModifier && (m.type as SpeciesStatBoosterModifierType).key === "DEEP_SEA_SCALE")), SpeciesWildEvolutionDelay.VERY_LONG) + new SpeciesEvolution(SpeciesId.HUNTAIL, 1, EvolutionItem.LINKING_CORD, new SpeciesEvolutionCondition(p => p.getHeldItems().some(m => m instanceof SpeciesStatBoosterModifier && (m.type as SpeciesStatBoosterModifierType).key === "DEEP_SEA_TOOTH")), SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesEvolution(SpeciesId.GOREBYSS, 1, EvolutionItem.LINKING_CORD, new SpeciesEvolutionCondition(p => p.getHeldItems().some(m => m instanceof SpeciesStatBoosterModifier && (m.type as SpeciesStatBoosterModifierType).key === "DEEP_SEA_SCALE")), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.BOLDORE]: [ - new SpeciesEvolution(Species.GIGALITH, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.BOLDORE]: [ + new SpeciesEvolution(SpeciesId.GIGALITH, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.GURDURR]: [ - new SpeciesEvolution(Species.CONKELDURR, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.GURDURR]: [ + new SpeciesEvolution(SpeciesId.CONKELDURR, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.KARRABLAST]: [ - new SpeciesEvolution(Species.ESCAVALIER, 1, EvolutionItem.LINKING_CORD, new CaughtEvolutionCondition(Species.SHELMET), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.KARRABLAST]: [ + new SpeciesEvolution(SpeciesId.ESCAVALIER, 1, EvolutionItem.LINKING_CORD, new CaughtEvolutionCondition(SpeciesId.SHELMET), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.SHELMET]: [ - new SpeciesEvolution(Species.ACCELGOR, 1, EvolutionItem.LINKING_CORD, new CaughtEvolutionCondition(Species.KARRABLAST), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.SHELMET]: [ + new SpeciesEvolution(SpeciesId.ACCELGOR, 1, EvolutionItem.LINKING_CORD, new CaughtEvolutionCondition(SpeciesId.KARRABLAST), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.SPRITZEE]: [ - new SpeciesEvolution(Species.AROMATISSE, 1, EvolutionItem.SACHET, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.SPRITZEE]: [ + new SpeciesEvolution(SpeciesId.AROMATISSE, 1, EvolutionItem.SACHET, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.SWIRLIX]: [ - new SpeciesEvolution(Species.SLURPUFF, 1, EvolutionItem.WHIPPED_DREAM, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.SWIRLIX]: [ + new SpeciesEvolution(SpeciesId.SLURPUFF, 1, EvolutionItem.WHIPPED_DREAM, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.PHANTUMP]: [ - new SpeciesEvolution(Species.TREVENANT, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.PHANTUMP]: [ + new SpeciesEvolution(SpeciesId.TREVENANT, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.PUMPKABOO]: [ - new SpeciesEvolution(Species.GOURGEIST, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.PUMPKABOO]: [ + new SpeciesEvolution(SpeciesId.GOURGEIST, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.ALOLA_GRAVELER]: [ - new SpeciesEvolution(Species.ALOLA_GOLEM, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.ALOLA_GRAVELER]: [ + new SpeciesEvolution(SpeciesId.ALOLA_GOLEM, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.PRIMEAPE]: [ - new SpeciesEvolution(Species.ANNIHILAPE, 35, null, new MoveEvolutionCondition(Moves.RAGE_FIST), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.PRIMEAPE]: [ + new SpeciesEvolution(SpeciesId.ANNIHILAPE, 35, null, new MoveEvolutionCondition(MoveId.RAGE_FIST), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.GOLBAT]: [ - new SpeciesEvolution(Species.CROBAT, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.GOLBAT]: [ + new SpeciesEvolution(SpeciesId.CROBAT, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.VERY_LONG) ], - [Species.CHANSEY]: [ - new SpeciesEvolution(Species.BLISSEY, 1, null, new FriendshipEvolutionCondition(200), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.CHANSEY]: [ + new SpeciesEvolution(SpeciesId.BLISSEY, 1, null, new FriendshipEvolutionCondition(200), SpeciesWildEvolutionDelay.LONG) ], - [Species.PICHU]: [ - new SpeciesFormEvolution(Species.PIKACHU, "spiky", "partner", 1, null, new FriendshipEvolutionCondition(90), SpeciesWildEvolutionDelay.SHORT), - new SpeciesFormEvolution(Species.PIKACHU, "", "", 1, null, new FriendshipEvolutionCondition(90), SpeciesWildEvolutionDelay.SHORT), + [SpeciesId.PICHU]: [ + new SpeciesFormEvolution(SpeciesId.PIKACHU, "spiky", "partner", 1, null, new FriendshipEvolutionCondition(90), SpeciesWildEvolutionDelay.SHORT), + new SpeciesFormEvolution(SpeciesId.PIKACHU, "", "", 1, null, new FriendshipEvolutionCondition(90), SpeciesWildEvolutionDelay.SHORT), ], - [Species.CLEFFA]: [ - new SpeciesEvolution(Species.CLEFAIRY, 1, null, new FriendshipEvolutionCondition(160), SpeciesWildEvolutionDelay.SHORT) + [SpeciesId.CLEFFA]: [ + new SpeciesEvolution(SpeciesId.CLEFAIRY, 1, null, new FriendshipEvolutionCondition(160), SpeciesWildEvolutionDelay.SHORT) ], - [Species.IGGLYBUFF]: [ - new SpeciesEvolution(Species.JIGGLYPUFF, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.SHORT) + [SpeciesId.IGGLYBUFF]: [ + new SpeciesEvolution(SpeciesId.JIGGLYPUFF, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.SHORT) ], - [Species.TOGEPI]: [ - new SpeciesEvolution(Species.TOGETIC, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.SHORT) + [SpeciesId.TOGEPI]: [ + new SpeciesEvolution(SpeciesId.TOGETIC, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.SHORT) ], - [Species.AZURILL]: [ - new SpeciesEvolution(Species.MARILL, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.SHORT) + [SpeciesId.AZURILL]: [ + new SpeciesEvolution(SpeciesId.MARILL, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.SHORT) ], - [Species.BUDEW]: [ - new SpeciesEvolution(Species.ROSELIA, 1, null, new FriendshipTimeOfDayEvolutionCondition(70, "day"), SpeciesWildEvolutionDelay.SHORT) + [SpeciesId.BUDEW]: [ + new SpeciesEvolution(SpeciesId.ROSELIA, 1, null, new FriendshipTimeOfDayEvolutionCondition(70, "day"), SpeciesWildEvolutionDelay.SHORT) ], - [Species.BUNEARY]: [ - new SpeciesEvolution(Species.LOPUNNY, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.BUNEARY]: [ + new SpeciesEvolution(SpeciesId.LOPUNNY, 1, null, new FriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.CHINGLING]: [ - new SpeciesEvolution(Species.CHIMECHO, 1, null, new FriendshipTimeOfDayEvolutionCondition(90, "night"), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.CHINGLING]: [ + new SpeciesEvolution(SpeciesId.CHIMECHO, 1, null, new FriendshipTimeOfDayEvolutionCondition(90, "night"), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.HAPPINY]: [ - new SpeciesEvolution(Species.CHANSEY, 1, null, new FriendshipEvolutionCondition(160), SpeciesWildEvolutionDelay.SHORT) + [SpeciesId.HAPPINY]: [ + new SpeciesEvolution(SpeciesId.CHANSEY, 1, null, new FriendshipEvolutionCondition(160), SpeciesWildEvolutionDelay.SHORT) ], - [Species.MUNCHLAX]: [ - new SpeciesEvolution(Species.SNORLAX, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.MUNCHLAX]: [ + new SpeciesEvolution(SpeciesId.SNORLAX, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.LONG) ], - [Species.RIOLU]: [ - new SpeciesEvolution(Species.LUCARIO, 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.RIOLU]: [ + new SpeciesEvolution(SpeciesId.LUCARIO, 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG) ], - [Species.WOOBAT]: [ - new SpeciesEvolution(Species.SWOOBAT, 1, null, new FriendshipEvolutionCondition(90), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.WOOBAT]: [ + new SpeciesEvolution(SpeciesId.SWOOBAT, 1, null, new FriendshipEvolutionCondition(90), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.SWADLOON]: [ - new SpeciesEvolution(Species.LEAVANNY, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.SWADLOON]: [ + new SpeciesEvolution(SpeciesId.LEAVANNY, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.LONG) ], - [Species.TYPE_NULL]: [ - new SpeciesEvolution(Species.SILVALLY, 1, null, new FriendshipEvolutionCondition(100), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.TYPE_NULL]: [ + new SpeciesEvolution(SpeciesId.SILVALLY, 1, null, new FriendshipEvolutionCondition(100), SpeciesWildEvolutionDelay.LONG) ], - [Species.ALOLA_MEOWTH]: [ - new SpeciesEvolution(Species.ALOLA_PERSIAN, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.LONG) + [SpeciesId.ALOLA_MEOWTH]: [ + new SpeciesEvolution(SpeciesId.ALOLA_PERSIAN, 1, null, new FriendshipEvolutionCondition(120), SpeciesWildEvolutionDelay.LONG) ], - [Species.SNOM]: [ - new SpeciesEvolution(Species.FROSMOTH, 1, null, new FriendshipTimeOfDayEvolutionCondition(90, "night"), SpeciesWildEvolutionDelay.MEDIUM) + [SpeciesId.SNOM]: [ + new SpeciesEvolution(SpeciesId.FROSMOTH, 1, null, new FriendshipTimeOfDayEvolutionCondition(90, "night"), SpeciesWildEvolutionDelay.MEDIUM) ], - [Species.GIMMIGHOUL]: [ - new SpeciesFormEvolution(Species.GHOLDENGO, "chest", "", 1, null, new TreasureEvolutionCondition(), SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesFormEvolution(Species.GHOLDENGO, "roaming", "", 1, null, new TreasureEvolutionCondition(), SpeciesWildEvolutionDelay.VERY_LONG) + [SpeciesId.GIMMIGHOUL]: [ + new SpeciesFormEvolution(SpeciesId.GHOLDENGO, "chest", "", 1, null, new TreasureEvolutionCondition(), SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesFormEvolution(SpeciesId.GHOLDENGO, "roaming", "", 1, null, new TreasureEvolutionCondition(), SpeciesWildEvolutionDelay.VERY_LONG) ] }; interface PokemonPrevolutions { - [key: string]: Species + [key: string]: SpeciesId } export const pokemonPrevolutions: PokemonPrevolutions = {}; @@ -1903,7 +1903,7 @@ export function initPokemonPrevolutions(): void { if (ev.evoFormKey && megaFormKeys.indexOf(ev.evoFormKey) > -1) { continue; } - pokemonPrevolutions[ev.speciesId] = Number.parseInt(pk) as Species; + pokemonPrevolutions[ev.speciesId] = Number.parseInt(pk) as SpeciesId; } }); } diff --git a/src/data/balance/pokemon-level-moves.ts b/src/data/balance/pokemon-level-moves.ts index 0b0ba1b5f71..e8a0052da48 100644 --- a/src/data/balance/pokemon-level-moves.ts +++ b/src/data/balance/pokemon-level-moves.ts @@ -1,7 +1,7 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; -export type LevelMoves = ([number, Moves])[]; +export type LevelMoves = ([number, MoveId])[]; interface PokemonSpeciesLevelMoves { [key: number]: LevelMoves @@ -21,20001 +21,20001 @@ export const RELEARN_MOVE = -1; export const EVOLVE_MOVE = 0; export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { - [Species.BULBASAUR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.VINE_WHIP ], - [ 6, Moves.GROWTH ], - [ 9, Moves.LEECH_SEED ], - [ 12, Moves.RAZOR_LEAF ], - [ 15, Moves.POISON_POWDER ], - [ 15, Moves.SLEEP_POWDER ], - [ 18, Moves.SEED_BOMB ], - [ 21, Moves.TAKE_DOWN ], - [ 24, Moves.SWEET_SCENT ], - [ 27, Moves.SYNTHESIS ], - [ 30, Moves.WORRY_SEED ], - [ 33, Moves.POWER_WHIP ], - [ 36, Moves.SOLAR_BEAM ], - ], - [Species.IVYSAUR]: [ - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.GROWTH ], - [ 9, Moves.LEECH_SEED ], - [ 12, Moves.RAZOR_LEAF ], - [ 15, Moves.POISON_POWDER ], - [ 15, Moves.SLEEP_POWDER ], - [ 20, Moves.SEED_BOMB ], - [ 25, Moves.TAKE_DOWN ], - [ 30, Moves.SWEET_SCENT ], - [ 35, Moves.SYNTHESIS ], - [ 40, Moves.WORRY_SEED ], - [ 45, Moves.POWER_WHIP ], - [ 50, Moves.SOLAR_BEAM ], - ], - [Species.VENUSAUR]: [ - [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ], - [ 1, Moves.GROWTH ], - [ 1, Moves.PETAL_DANCE ], - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 9, Moves.LEECH_SEED ], - [ 12, Moves.RAZOR_LEAF ], - [ 15, Moves.POISON_POWDER ], - [ 15, Moves.SLEEP_POWDER ], - [ 20, Moves.SEED_BOMB ], - [ 25, Moves.TAKE_DOWN ], - [ 30, Moves.SWEET_SCENT ], - [ 37, Moves.SYNTHESIS ], - [ 44, Moves.WORRY_SEED ], - [ 51, Moves.POWER_WHIP ], - [ 58, Moves.SOLAR_BEAM ], - ], - [Species.CHARMANDER]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 4, Moves.EMBER ], - [ 8, Moves.SMOKESCREEN ], - [ 12, Moves.DRAGON_BREATH ], - [ 17, Moves.FIRE_FANG ], - [ 20, Moves.SLASH ], - [ 24, Moves.FLAMETHROWER ], - [ 28, Moves.SCARY_FACE ], - [ 32, Moves.FIRE_SPIN ], - [ 36, Moves.INFERNO ], - [ 40, Moves.FLARE_BLITZ ], - ], - [Species.CHARMELEON]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.FIRE_SPIN ], // Previous Stage Move - [ 12, Moves.DRAGON_BREATH ], - [ 19, Moves.FIRE_FANG ], - [ 24, Moves.SLASH ], - [ 30, Moves.FLAMETHROWER ], - [ 37, Moves.SCARY_FACE ], - [ 48, Moves.INFERNO ], - [ 54, Moves.FLARE_BLITZ ], - ], - [Species.CHARIZARD]: [ - [ EVOLVE_MOVE, Moves.AIR_SLASH ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.HEAT_WAVE ], - [ 1, Moves.DRAGON_CLAW ], - [ 12, Moves.DRAGON_BREATH ], - [ 19, Moves.FIRE_FANG ], - [ 24, Moves.SLASH ], - [ 30, Moves.FLAMETHROWER ], - [ 39, Moves.SCARY_FACE ], - [ 46, Moves.FIRE_SPIN ], - [ 54, Moves.INFERNO ], - [ 62, Moves.FLARE_BLITZ ], - ], - [Species.SQUIRTLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 3, Moves.WATER_GUN ], - [ 6, Moves.WITHDRAW ], - [ 9, Moves.RAPID_SPIN ], - [ 12, Moves.BITE ], - [ 15, Moves.WATER_PULSE ], - [ 18, Moves.PROTECT ], - [ 21, Moves.RAIN_DANCE ], - [ 24, Moves.AQUA_TAIL ], - [ 27, Moves.SHELL_SMASH ], - [ 30, Moves.IRON_DEFENSE ], - [ 33, Moves.HYDRO_PUMP ], - [ 36, Moves.WAVE_CRASH ], - ], - [Species.WARTORTLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WITHDRAW ], - [ 9, Moves.RAPID_SPIN ], - [ 12, Moves.BITE ], - [ 15, Moves.WATER_PULSE ], - [ 20, Moves.PROTECT ], - [ 25, Moves.RAIN_DANCE ], - [ 30, Moves.AQUA_TAIL ], - [ 35, Moves.SHELL_SMASH ], - [ 40, Moves.IRON_DEFENSE ], - [ 45, Moves.HYDRO_PUMP ], - [ 50, Moves.WAVE_CRASH ], - ], - [Species.BLASTOISE]: [ - [ EVOLVE_MOVE, Moves.FLASH_CANNON ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WITHDRAW ], - [ 9, Moves.RAPID_SPIN ], - [ 12, Moves.BITE ], - [ 15, Moves.WATER_PULSE ], - [ 20, Moves.PROTECT ], - [ 25, Moves.RAIN_DANCE ], - [ 30, Moves.AQUA_TAIL ], - [ 35, Moves.SHELL_SMASH ], - [ 42, Moves.IRON_DEFENSE ], - [ 49, Moves.HYDRO_PUMP ], - [ 56, Moves.WAVE_CRASH ], - ], - [Species.CATERPIE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.STRING_SHOT ], - [ 9, Moves.BUG_BITE ], - ], - [Species.METAPOD]: [ - [ EVOLVE_MOVE, Moves.HARDEN ], - [ RELEARN_MOVE, Moves.TACKLE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.STRING_SHOT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.BUG_BITE ], // Previous Stage Move - [ 1, Moves.HARDEN ], - ], - [Species.BUTTERFREE]: [ - [ EVOLVE_MOVE, Moves.GUST ], - [ 1, Moves.TACKLE ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.HARDEN ], - [ 1, Moves.BUG_BITE ], - [ 4, Moves.SUPERSONIC ], - [ 8, Moves.CONFUSION ], - [ 12, Moves.POISON_POWDER ], - [ 12, Moves.STUN_SPORE ], - [ 12, Moves.SLEEP_POWDER ], - [ 16, Moves.PSYBEAM ], - [ 20, Moves.WHIRLWIND ], - [ 24, Moves.AIR_SLASH ], - [ 28, Moves.SAFEGUARD ], - [ 32, Moves.BUG_BUZZ ], - [ 36, Moves.TAILWIND ], - [ 40, Moves.RAGE_POWDER ], - [ 44, Moves.QUIVER_DANCE ], - ], - [Species.WEEDLE]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.STRING_SHOT ], - [ 9, Moves.BUG_BITE ], - ], - [Species.KAKUNA]: [ - [ EVOLVE_MOVE, Moves.HARDEN ], - [ RELEARN_MOVE, Moves.POISON_STING ], // Previous Stage Move - [ RELEARN_MOVE, Moves.STRING_SHOT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.BUG_BITE ], // Previous Stage Move - [ 1, Moves.HARDEN ], - ], - [Species.BEEDRILL]: [ - [ EVOLVE_MOVE, Moves.TWINEEDLE ], - [ 1, Moves.POISON_STING ], // Previous Stage Move - [ 1, Moves.STRING_SHOT ], // Previous Stage Move - [ 1, Moves.HARDEN ], // Previous Stage Move - [ 1, Moves.BUG_BITE ], // Previous Stage Move - [ 1, Moves.FURY_ATTACK ], - [ 11, Moves.FURY_CUTTER ], - [ 14, Moves.RAGE ], - [ 17, Moves.PURSUIT ], - [ 20, Moves.FOCUS_ENERGY ], - [ 23, Moves.VENOSHOCK ], - [ 26, Moves.ASSURANCE ], - [ 29, Moves.TOXIC_SPIKES ], - [ 32, Moves.PIN_MISSILE ], - [ 35, Moves.POISON_JAB ], - [ 38, Moves.AGILITY ], - [ 41, Moves.ENDEAVOR ], - [ 44, Moves.FELL_STINGER ], - ], - [Species.PIDGEY]: [ - [ 1, Moves.TACKLE ], - [ 5, Moves.SAND_ATTACK ], - [ 9, Moves.GUST ], - [ 13, Moves.QUICK_ATTACK ], - [ 17, Moves.WHIRLWIND ], - [ 21, Moves.TWISTER ], - [ 25, Moves.FEATHER_DANCE ], - [ 29, Moves.AGILITY ], - [ 33, Moves.WING_ATTACK ], - [ 37, Moves.ROOST ], - [ 41, Moves.TAILWIND ], - [ 45, Moves.AERIAL_ACE ], - [ 49, Moves.AIR_SLASH ], - [ 53, Moves.HURRICANE ], - ], - [Species.PIDGEOTTO]: [ - [ 1, Moves.GUST ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 5, Moves.SAND_ATTACK ], - [ 9, Moves.GUST ], - [ 13, Moves.QUICK_ATTACK ], - [ 17, Moves.WHIRLWIND ], - [ 22, Moves.TWISTER ], - [ 27, Moves.FEATHER_DANCE ], - [ 32, Moves.AGILITY ], - [ 37, Moves.WING_ATTACK ], - [ 42, Moves.ROOST ], - [ 47, Moves.TAILWIND ], - [ 52, Moves.AERIAL_ACE ], - [ 57, Moves.AIR_SLASH ], - [ 62, Moves.HURRICANE ], - ], - [Species.PIDGEOT]: [ - [ 1, Moves.GUST ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.HURRICANE ], - [ 5, Moves.SAND_ATTACK ], - [ 9, Moves.GUST ], - [ 17, Moves.WHIRLWIND ], - [ 22, Moves.TWISTER ], - [ 27, Moves.FEATHER_DANCE ], - [ 32, Moves.AGILITY ], - [ 38, Moves.WING_ATTACK ], - [ 44, Moves.ROOST ], - [ 50, Moves.TAILWIND ], - [ 56, Moves.AERIAL_ACE ], - [ 62, Moves.AIR_SLASH ], - [ 68, Moves.HURRICANE ], - ], - [Species.RATTATA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 4, Moves.QUICK_ATTACK ], - [ 7, Moves.FOCUS_ENERGY ], - [ 10, Moves.BITE ], - [ 13, Moves.LASER_FOCUS ], - [ 16, Moves.TAKE_DOWN ], - [ 19, Moves.ASSURANCE ], - [ 22, Moves.CRUNCH ], - [ 25, Moves.SUCKER_PUNCH ], - [ 28, Moves.SUPER_FANG ], - [ 31, Moves.DOUBLE_EDGE ], - [ 34, Moves.ENDEAVOR ], - ], - [Species.RATICATE]: [ - [ EVOLVE_MOVE, Moves.SCARY_FACE ], - [ 1, Moves.SWORDS_DANCE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 10, Moves.BITE ], - [ 13, Moves.LASER_FOCUS ], - [ 16, Moves.TAKE_DOWN ], - [ 19, Moves.ASSURANCE ], - [ 24, Moves.CRUNCH ], - [ 29, Moves.SUCKER_PUNCH ], - [ 34, Moves.SUPER_FANG ], - [ 39, Moves.DOUBLE_EDGE ], - [ 44, Moves.ENDEAVOR ], - ], - [Species.SPEAROW]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 4, Moves.LEER ], - [ 8, Moves.ASSURANCE ], - [ 11, Moves.FURY_ATTACK ], - [ 15, Moves.AERIAL_ACE ], - [ 18, Moves.WING_ATTACK ], - [ 22, Moves.TAKE_DOWN ], - [ 25, Moves.AGILITY ], - [ 29, Moves.FOCUS_ENERGY ], - [ 32, Moves.ROOST ], - [ 36, Moves.DRILL_PECK ], - ], - [Species.FEAROW]: [ - [ 1, Moves.LEER ], - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 1, Moves.ASSURANCE ], - [ 1, Moves.PLUCK ], - [ 1, Moves.DRILL_RUN ], - [ 1, Moves.PURSUIT ], - [ 4, Moves.LEER ], - [ 8, Moves.ASSURANCE ], - [ 11, Moves.FURY_ATTACK ], - [ 15, Moves.AERIAL_ACE ], - [ 18, Moves.WING_ATTACK ], - [ 23, Moves.TAKE_DOWN ], - [ 27, Moves.AGILITY ], - [ 32, Moves.FOCUS_ENERGY ], - [ 36, Moves.ROOST ], - [ 41, Moves.DRILL_PECK ], - ], - [Species.EKANS]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 4, Moves.POISON_STING ], - [ 9, Moves.BITE ], - [ 12, Moves.GLARE ], - [ 17, Moves.SCREECH ], - [ 20, Moves.ACID ], - [ 25, Moves.SWALLOW ], - [ 25, Moves.STOCKPILE ], - [ 25, Moves.SPIT_UP ], - [ 28, Moves.ACID_SPRAY ], - [ 33, Moves.SLUDGE_BOMB ], - [ 36, Moves.GASTRO_ACID ], - [ 38, Moves.BELCH ], - [ 41, Moves.HAZE ], - [ 44, Moves.COIL ], - [ 49, Moves.GUNK_SHOT ], - ], - [Species.ARBOK]: [ - [ EVOLVE_MOVE, Moves.CRUNCH ], - [ 1, Moves.WRAP ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 12, Moves.GLARE ], - [ 17, Moves.SCREECH ], - [ 20, Moves.ACID ], - [ 27, Moves.STOCKPILE ], - [ 27, Moves.SPIT_UP ], - [ 27, Moves.SWALLOW ], - [ 32, Moves.ACID_SPRAY ], - [ 39, Moves.SLUDGE_BOMB ], - [ 44, Moves.GASTRO_ACID ], - [ 48, Moves.BELCH ], - [ 51, Moves.HAZE ], - [ 56, Moves.COIL ], - [ 63, Moves.GUNK_SHOT ], - ], - [Species.PIKACHU]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.SPARK ], - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], - ], - [Species.RAICHU]: [ - [ EVOLVE_MOVE, Moves.ZIPPY_ZAP ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.THUNDER ], - [ 1, Moves.AGILITY ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.LIGHT_SCREEN ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.SPARK ], - [ 1, Moves.IRON_TAIL ], - [ 1, Moves.FEINT ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.DISCHARGE ], - [ 1, Moves.ELECTRO_BALL ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 1, Moves.THUNDER_PUNCH ], - [ 5, Moves.THUNDERBOLT ], - [ 50, Moves.PIKA_PAPOW ], - ], - [Species.SANDSHREW]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.DEFENSE_CURL ], - [ 3, Moves.POISON_STING ], - [ 6, Moves.SAND_ATTACK ], - [ 9, Moves.ROLLOUT ], - [ 12, Moves.FURY_CUTTER ], - [ 15, Moves.RAPID_SPIN ], - [ 18, Moves.BULLDOZE ], - [ 21, Moves.SWIFT ], - [ 24, Moves.FURY_SWIPES ], - [ 27, Moves.AGILITY ], - [ 30, Moves.SLASH ], - [ 33, Moves.DIG ], - [ 36, Moves.GYRO_BALL ], - [ 39, Moves.SWORDS_DANCE ], - [ 42, Moves.SANDSTORM ], - [ 45, Moves.EARTHQUAKE ], - ], - [Species.SANDSLASH]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.CRUSH_CLAW ], - [ 1, Moves.AGILITY ], // Previous Stage Move - [ 9, Moves.ROLLOUT ], - [ 12, Moves.FURY_CUTTER ], - [ 15, Moves.RAPID_SPIN ], - [ 18, Moves.BULLDOZE ], - [ 21, Moves.SWIFT ], - [ 26, Moves.FURY_SWIPES ], - [ 31, Moves.SAND_TOMB ], - [ 36, Moves.SLASH ], - [ 41, Moves.DIG ], - [ 46, Moves.GYRO_BALL ], - [ 51, Moves.SWORDS_DANCE ], - [ 56, Moves.SANDSTORM ], - [ 61, Moves.EARTHQUAKE ], - ], - [Species.NIDORAN_F]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.GROWL ], - [ 5, Moves.SCRATCH ], - [ 10, Moves.TAIL_WHIP ], - [ 15, Moves.FURY_SWIPES ], - [ 20, Moves.TOXIC_SPIKES ], - [ 25, Moves.DOUBLE_KICK ], - [ 30, Moves.BITE ], - [ 35, Moves.HELPING_HAND ], - [ 40, Moves.TOXIC ], - [ 45, Moves.FLATTER ], - [ 50, Moves.CRUNCH ], - [ 55, Moves.EARTH_POWER ], - ], - [Species.NIDORINA]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.GROWL ], - [ 15, Moves.FURY_SWIPES ], - [ 22, Moves.TOXIC_SPIKES ], - [ 29, Moves.DOUBLE_KICK ], - [ 36, Moves.BITE ], - [ 43, Moves.HELPING_HAND ], - [ 50, Moves.TOXIC ], - [ 57, Moves.FLATTER ], - [ 64, Moves.CRUNCH ], - [ 71, Moves.EARTH_POWER ], - ], - [Species.NIDOQUEEN]: [ - [ EVOLVE_MOVE, Moves.SUPERPOWER ], - [ 1, Moves.SLUDGE_WAVE ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.DOUBLE_KICK ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.BITE ], - [ 1, Moves.GROWL ], - [ 1, Moves.TOXIC ], - [ 1, Moves.FURY_SWIPES ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.FLATTER ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.TOXIC_SPIKES ], - [ 1, Moves.EARTH_POWER ], - ], - [Species.NIDORAN_M]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 5, Moves.PECK ], - [ 10, Moves.FOCUS_ENERGY ], - [ 15, Moves.FURY_ATTACK ], - [ 20, Moves.TOXIC_SPIKES ], - [ 25, Moves.DOUBLE_KICK ], - [ 30, Moves.HORN_ATTACK ], - [ 35, Moves.HELPING_HAND ], - [ 40, Moves.TOXIC ], - [ 45, Moves.FLATTER ], - [ 50, Moves.POISON_JAB ], - [ 55, Moves.EARTH_POWER ], - ], - [Species.NIDORINO]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 15, Moves.FURY_ATTACK ], - [ 22, Moves.TOXIC_SPIKES ], - [ 29, Moves.DOUBLE_KICK ], - [ 36, Moves.HORN_ATTACK ], - [ 43, Moves.HELPING_HAND ], - [ 50, Moves.TOXIC ], - [ 57, Moves.FLATTER ], - [ 64, Moves.POISON_JAB ], - [ 71, Moves.EARTH_POWER ], - ], - [Species.NIDOKING]: [ - [ EVOLVE_MOVE, Moves.MEGAHORN ], - [ 1, Moves.SLUDGE_WAVE ], - [ 1, Moves.DOUBLE_KICK ], - [ 1, Moves.HORN_ATTACK ], - [ 1, Moves.FURY_ATTACK ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.TOXIC ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.FLATTER ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.TOXIC_SPIKES ], - [ 1, Moves.POISON_JAB ], - [ 1, Moves.EARTH_POWER ], - ], - [Species.CLEFAIRY]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.SING ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.SPLASH ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.SPOTLIGHT ], - [ 4, Moves.STORED_POWER ], - [ 8, Moves.ENCORE ], - [ 12, Moves.AFTER_YOU ], - [ 16, Moves.LIFE_DEW ], - [ 20, Moves.METRONOME ], - [ 24, Moves.MOONLIGHT ], - [ 28, Moves.GRAVITY ], - [ 32, Moves.METEOR_MASH ], - [ 36, Moves.FOLLOW_ME ], - [ 40, Moves.COSMIC_POWER ], - [ 44, Moves.MOONBLAST ], - [ 48, Moves.HEALING_WISH ], - ], - [Species.CLEFABLE]: [ - [ RELEARN_MOVE, Moves.POUND ], - [ RELEARN_MOVE, Moves.GROWL ], - [ RELEARN_MOVE, Moves.SING ], - [ RELEARN_MOVE, Moves.DEFENSE_CURL ], - [ RELEARN_MOVE, Moves.SPLASH ], - [ RELEARN_MOVE, Moves.SWEET_KISS ], - [ RELEARN_MOVE, Moves.CHARM ], - [ RELEARN_MOVE, Moves.ENCORE ], - [ RELEARN_MOVE, Moves.MOONLIGHT ], - [ RELEARN_MOVE, Moves.FOLLOW_ME ], - [ RELEARN_MOVE, Moves.COSMIC_POWER ], - [ RELEARN_MOVE, Moves.GRAVITY ], - [ RELEARN_MOVE, Moves.HEALING_WISH ], - [ RELEARN_MOVE, Moves.COPYCAT ], - [ RELEARN_MOVE, Moves.AFTER_YOU ], - [ RELEARN_MOVE, Moves.STORED_POWER ], - [ RELEARN_MOVE, Moves.DISARMING_VOICE ], - [ 1, Moves.METRONOME ], - [ 1, Moves.METEOR_MASH ], - [ 1, Moves.MOONBLAST ], - [ 1, Moves.LIFE_DEW ], - [ 1, Moves.SPOTLIGHT ], - ], - [Species.VULPIX]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.EMBER ], - [ 4, Moves.DISABLE ], - [ 8, Moves.QUICK_ATTACK ], - [ 12, Moves.SPITE ], - [ 16, Moves.INCINERATE ], - [ 20, Moves.CONFUSE_RAY ], - [ 24, Moves.WILL_O_WISP ], - [ 28, Moves.EXTRASENSORY ], - [ 32, Moves.FLAMETHROWER ], - [ 36, Moves.IMPRISON ], - [ 40, Moves.FIRE_SPIN ], - [ 44, Moves.SAFEGUARD ], - [ 48, Moves.INFERNO ], - [ 52, Moves.FIRE_BLAST ], - ], - [Species.NINETALES]: [ - [ RELEARN_MOVE, Moves.DISABLE ], - [ RELEARN_MOVE, Moves.EMBER ], - [ RELEARN_MOVE, Moves.FIRE_SPIN ], - [ RELEARN_MOVE, Moves.CONFUSE_RAY ], - [ RELEARN_MOVE, Moves.FIRE_BLAST ], - [ RELEARN_MOVE, Moves.SPITE ], - [ RELEARN_MOVE, Moves.SAFEGUARD ], - [ RELEARN_MOVE, Moves.WILL_O_WISP ], - [ RELEARN_MOVE, Moves.IMPRISON ], - [ RELEARN_MOVE, Moves.EXTRASENSORY ], - [ RELEARN_MOVE, Moves.NASTY_PLOT ], - [ RELEARN_MOVE, Moves.INCINERATE ], - [ RELEARN_MOVE, Moves.INFERNO ], - [ 1, Moves.FLAMETHROWER ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.QUICK_ATTACK ], - ], - [Species.JIGGLYPUFF]: [ - [ 1, Moves.POUND ], - [ 1, Moves.SING ], - [ 1, Moves.DISABLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.DISARMING_VOICE ], - [ 4, Moves.ECHOED_VOICE ], - [ 8, Moves.COVET ], - [ 12, Moves.STOCKPILE ], - [ 12, Moves.SPIT_UP ], - [ 12, Moves.SWALLOW ], - [ 16, Moves.ROUND ], - [ 20, Moves.REST ], - [ 24, Moves.BODY_SLAM ], - [ 28, Moves.MIMIC ], - [ 32, Moves.GYRO_BALL ], - [ 36, Moves.HYPER_VOICE ], - [ 44, Moves.DOUBLE_EDGE ], - ], - [Species.WIGGLYTUFF]: [ - [ 1, Moves.POUND ], - [ 1, Moves.BODY_SLAM ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.SING ], - [ 1, Moves.DISABLE ], - [ 1, Moves.MIMIC ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.REST ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.STOCKPILE ], - [ 1, Moves.SPIT_UP ], - [ 1, Moves.SWALLOW ], - [ 1, Moves.HYPER_VOICE ], - [ 1, Moves.COVET ], - [ 1, Moves.GYRO_BALL ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.ROUND ], - [ 1, Moves.ECHOED_VOICE ], - [ 1, Moves.DISARMING_VOICE ], - [ 5, Moves.PLAY_ROUGH ], - ], - [Species.ZUBAT]: [ - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.ABSORB ], - [ 5, Moves.ASTONISH ], - [ 10, Moves.MEAN_LOOK ], - [ 15, Moves.POISON_FANG ], - [ 20, Moves.QUICK_GUARD ], - [ 25, Moves.AIR_CUTTER ], - [ 30, Moves.BITE ], - [ 35, Moves.HAZE ], - [ 40, Moves.VENOSHOCK ], - [ 45, Moves.CONFUSE_RAY ], - [ 50, Moves.AIR_SLASH ], - [ 55, Moves.LEECH_LIFE ], - ], - [Species.GOLBAT]: [ - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.ABSORB ], - [ 1, Moves.SCREECH ], - [ 1, Moves.MEAN_LOOK ], - [ 1, Moves.ASTONISH ], - [ 15, Moves.POISON_FANG ], - [ 20, Moves.QUICK_GUARD ], - [ 27, Moves.AIR_CUTTER ], - [ 34, Moves.BITE ], - [ 41, Moves.HAZE ], - [ 48, Moves.VENOSHOCK ], - [ 55, Moves.CONFUSE_RAY ], - [ 62, Moves.AIR_SLASH ], - [ 69, Moves.LEECH_LIFE ], - ], - [Species.ODDISH]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 4, Moves.ACID ], - [ 8, Moves.SWEET_SCENT ], - [ 12, Moves.MEGA_DRAIN ], - [ 14, Moves.POISON_POWDER ], - [ 16, Moves.STUN_SPORE ], - [ 18, Moves.SLEEP_POWDER ], - [ 20, Moves.GIGA_DRAIN ], - [ 24, Moves.TOXIC ], - [ 28, Moves.MOONBLAST ], - [ 32, Moves.GRASSY_TERRAIN ], - [ 36, Moves.MOONLIGHT ], - [ 40, Moves.PETAL_DANCE ], - ], - [Species.GLOOM]: [ - [ 1, Moves.ACID ], - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 1, Moves.SWEET_SCENT ], - [ 12, Moves.MEGA_DRAIN ], - [ 14, Moves.POISON_POWDER ], - [ 16, Moves.STUN_SPORE ], - [ 18, Moves.SLEEP_POWDER ], - [ 20, Moves.GIGA_DRAIN ], - [ 26, Moves.TOXIC ], - [ 32, Moves.MOONBLAST ], - [ 38, Moves.GRASSY_TERRAIN ], - [ 44, Moves.MOONLIGHT ], - [ 50, Moves.PETAL_DANCE ], - ], - [Species.VILEPLUME]: [ - [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ], - [ 1, Moves.ACID ], - [ 1, Moves.ABSORB ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.GROWTH ], - [ 1, Moves.POISON_POWDER ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.SLEEP_POWDER ], - [ 1, Moves.PETAL_DANCE ], - [ 1, Moves.TOXIC ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.AROMATHERAPY ], - [ 1, Moves.GRASSY_TERRAIN ], - [ 1, Moves.MOONBLAST ], - ], - [Species.PARAS]: [ - [ 1, Moves.SCRATCH ], - [ 6, Moves.POISON_POWDER ], - [ 6, Moves.STUN_SPORE ], - [ 11, Moves.ABSORB ], - [ 17, Moves.FURY_CUTTER ], - [ 22, Moves.SPORE ], - [ 27, Moves.SLASH ], - [ 33, Moves.GROWTH ], - [ 38, Moves.GIGA_DRAIN ], - [ 43, Moves.AROMATHERAPY ], - [ 49, Moves.RAGE_POWDER ], - [ 54, Moves.X_SCISSOR ], - ], - [Species.PARASECT]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.ABSORB ], - [ 1, Moves.POISON_POWDER ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.CROSS_POISON ], - [ 6, Moves.POISON_POWDER ], - [ 6, Moves.STUN_SPORE ], - [ 11, Moves.ABSORB ], - [ 17, Moves.FURY_CUTTER ], - [ 22, Moves.SPORE ], - [ 29, Moves.SLASH ], - [ 37, Moves.GROWTH ], - [ 44, Moves.GIGA_DRAIN ], - [ 51, Moves.AROMATHERAPY ], - [ 59, Moves.RAGE_POWDER ], - [ 66, Moves.X_SCISSOR ], - ], - [Species.VENONAT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DISABLE ], - [ 5, Moves.SUPERSONIC ], - [ 11, Moves.CONFUSION ], - [ 13, Moves.POISON_POWDER ], - [ 17, Moves.PSYBEAM ], - [ 23, Moves.STUN_SPORE ], - [ 25, Moves.BUG_BUZZ ], - [ 29, Moves.SLEEP_POWDER ], - [ 35, Moves.LEECH_LIFE ], - [ 37, Moves.ZEN_HEADBUTT ], - [ 41, Moves.POISON_FANG ], - [ 47, Moves.PSYCHIC ], - ], - [Species.VENOMOTH]: [ - [ EVOLVE_MOVE, Moves.AIR_SLASH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.DISABLE ], - [ 1, Moves.QUIVER_DANCE ], - [ 1, Moves.SILVER_WIND ], - [ 11, Moves.CONFUSION ], - [ 13, Moves.POISON_POWDER ], - [ 17, Moves.PSYBEAM ], - [ 23, Moves.STUN_SPORE ], - [ 25, Moves.BUG_BUZZ ], - [ 29, Moves.SLEEP_POWDER ], - [ 37, Moves.LEECH_LIFE ], - [ 41, Moves.ZEN_HEADBUTT ], - [ 47, Moves.POISON_FANG ], - [ 55, Moves.PSYCHIC ], - ], - [Species.DIGLETT]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 4, Moves.GROWL ], - [ 8, Moves.ASTONISH ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.BULLDOZE ], - [ 20, Moves.SUCKER_PUNCH ], - [ 24, Moves.SLASH ], - [ 28, Moves.SANDSTORM ], - [ 32, Moves.DIG ], - [ 36, Moves.EARTH_POWER ], - [ 40, Moves.EARTHQUAKE ], - [ 44, Moves.FISSURE ], - ], - [Species.DUGTRIO]: [ - [ EVOLVE_MOVE, Moves.SAND_TOMB ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.GROWL ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.ROTOTILLER ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.BULLDOZE ], - [ 20, Moves.SUCKER_PUNCH ], - [ 24, Moves.SLASH ], - [ 30, Moves.SANDSTORM ], - [ 36, Moves.DIG ], - [ 42, Moves.EARTH_POWER ], - [ 48, Moves.EARTHQUAKE ], - [ 54, Moves.FISSURE ], - ], - [Species.MEOWTH]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 4, Moves.FEINT ], - [ 8, Moves.SCRATCH ], - [ 12, Moves.PAY_DAY ], - [ 16, Moves.BITE ], - [ 20, Moves.TAUNT ], - [ 24, Moves.ASSURANCE ], - [ 29, Moves.FURY_SWIPES ], - [ 32, Moves.SCREECH ], - [ 36, Moves.SLASH ], - [ 40, Moves.NASTY_PLOT ], - [ 44, Moves.PLAY_ROUGH ], - ], - [Species.PERSIAN]: [ - [ EVOLVE_MOVE, Moves.POWER_GEM ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.FEINT ], - [ 1, Moves.SWITCHEROO ], - [ 12, Moves.PAY_DAY ], - [ 16, Moves.BITE ], - [ 20, Moves.TAUNT ], - [ 24, Moves.ASSURANCE ], - [ 31, Moves.FURY_SWIPES ], - [ 36, Moves.SCREECH ], - [ 42, Moves.SLASH ], - [ 48, Moves.NASTY_PLOT ], - [ 54, Moves.PLAY_ROUGH ], - ], - [Species.PSYDUCK]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_SPORT ], - [ 3, Moves.WATER_GUN ], - [ 6, Moves.CONFUSION ], - [ 9, Moves.FURY_SWIPES ], - [ 12, Moves.WATER_PULSE ], - [ 15, Moves.DISABLE ], - [ 18, Moves.ZEN_HEADBUTT ], - [ 21, Moves.SCREECH ], - [ 24, Moves.AQUA_TAIL ], - [ 27, Moves.SOAK ], - [ 30, Moves.PSYCH_UP ], - [ 34, Moves.AMNESIA ], - [ 39, Moves.WONDER_ROOM ], - ], - [Species.GOLDUCK]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.AQUA_JET ], - [ 1, Moves.WATER_SPORT ], - [ 1, Moves.ME_FIRST ], - [ 9, Moves.FURY_SWIPES ], - [ 12, Moves.WATER_PULSE ], - [ 15, Moves.DISABLE ], - [ 18, Moves.ZEN_HEADBUTT ], - [ 21, Moves.SCREECH ], - [ 24, Moves.AQUA_TAIL ], - [ 27, Moves.SOAK ], - [ 30, Moves.PSYCH_UP ], - [ 36, Moves.AMNESIA ], - [ 40, Moves.HYDRO_PUMP ], - [ 45, Moves.WONDER_ROOM ], - ], - [Species.MANKEY]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.COVET ], - [ 5, Moves.FURY_SWIPES ], - [ 8, Moves.LOW_KICK ], - [ 12, Moves.SEISMIC_TOSS ], - [ 17, Moves.SWAGGER ], - [ 22, Moves.CROSS_CHOP ], - [ 26, Moves.ASSURANCE ], - [ 29, Moves.THRASH ], - [ 33, Moves.CLOSE_COMBAT ], - [ 36, Moves.SCREECH ], - [ 40, Moves.STOMPING_TANTRUM ], - [ 44, Moves.OUTRAGE ], - [ 48, Moves.FINAL_GAMBIT ], - ], - [Species.PRIMEAPE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.COVET ], // Previous Stage Move - [ 1, Moves.FLING ], - [ 5, Moves.FURY_SWIPES ], - [ 8, Moves.LOW_KICK ], - [ 15, Moves.SEISMIC_TOSS ], - [ 17, Moves.SWAGGER ], - [ 22, Moves.CROSS_CHOP ], - [ 26, Moves.ASSURANCE ], - [ 30, Moves.THRASH ], - [ 35, Moves.RAGE_FIST ], - [ 39, Moves.CLOSE_COMBAT ], - [ 44, Moves.SCREECH ], - [ 48, Moves.STOMPING_TANTRUM ], - [ 53, Moves.OUTRAGE ], - [ 57, Moves.FINAL_GAMBIT ], - ], - [Species.GROWLITHE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 4, Moves.HOWL ], - [ 8, Moves.BITE ], - [ 12, Moves.FLAME_WHEEL ], - [ 16, Moves.HELPING_HAND ], - [ 20, Moves.AGILITY ], - [ 24, Moves.FIRE_FANG ], - [ 28, Moves.RETALIATE ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.FLAMETHROWER ], - [ 44, Moves.ROAR ], - [ 48, Moves.PLAY_ROUGH ], - [ 52, Moves.REVERSAL ], - [ 56, Moves.FLARE_BLITZ ], - ], - [Species.ARCANINE]: [ - [ EVOLVE_MOVE, Moves.EXTREME_SPEED ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.ROAR ], - [ 1, Moves.EMBER ], - [ 1, Moves.AGILITY ], - [ 1, Moves.FLAME_WHEEL ], - [ 1, Moves.REVERSAL ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.ODOR_SLEUTH ], - [ 1, Moves.HOWL ], - [ 1, Moves.FLARE_BLITZ ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.RETALIATE ], - [ 1, Moves.PLAY_ROUGH ], - [ 5, Moves.FLAMETHROWER ], - ], - [Species.POLIWAG]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.WATER_SPORT ], - [ 6, Moves.POUND ], - [ 12, Moves.MUD_SHOT ], - [ 18, Moves.BUBBLE_BEAM ], - [ 24, Moves.RAIN_DANCE ], - [ 30, Moves.BODY_SLAM ], - [ 36, Moves.EARTH_POWER ], - [ 42, Moves.HYDRO_PUMP ], - [ 48, Moves.BELLY_DRUM ], - [ 54, Moves.DOUBLE_EDGE ], - ], - [Species.POLIWHIRL]: [ - [ 1, Moves.POUND ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.WATER_SPORT ], - [ 1, Moves.MUD_SHOT ], - [ 18, Moves.BUBBLE_BEAM ], - [ 24, Moves.RAIN_DANCE ], - [ 32, Moves.BODY_SLAM ], - [ 40, Moves.EARTH_POWER ], - [ 48, Moves.HYDRO_PUMP ], - [ 56, Moves.BELLY_DRUM ], - [ 66, Moves.DOUBLE_EDGE ], - ], - [Species.POLIWRATH]: [ - [ EVOLVE_MOVE, Moves.DYNAMIC_PUNCH ], - [ RELEARN_MOVE, Moves.POUND ], - [ RELEARN_MOVE, Moves.DOUBLE_EDGE ], - [ RELEARN_MOVE, Moves.WATER_GUN ], - [ RELEARN_MOVE, Moves.HYDRO_PUMP ], - [ RELEARN_MOVE, Moves.BELLY_DRUM ], - [ RELEARN_MOVE, Moves.RAIN_DANCE ], - [ RELEARN_MOVE, Moves.MUD_SHOT ], - [ RELEARN_MOVE, Moves.EARTH_POWER ], - [ RELEARN_MOVE, Moves.CIRCLE_THROW ], - [ 1, Moves.BUBBLE_BEAM ], - [ 1, Moves.BODY_SLAM ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.WATER_SPORT ], - ], - [Species.ABRA]: [ - [ 1, Moves.TELEPORT ], - [ 1, Moves.CONFUSION ], // Custom - ], - [Species.KADABRA]: [ - [ EVOLVE_MOVE, Moves.PSYBEAM ], // LGPE - [ 1, Moves.CONFUSION ], // Previous Stage Move, Custom - [ 1, Moves.DISABLE ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.KINESIS ], - [ 10, Moves.REFLECT ], - [ 15, Moves.ALLY_SWITCH ], - [ 20, Moves.PSYCHO_CUT ], - [ 25, Moves.RECOVER ], - [ 30, Moves.PSYSHOCK ], - [ 35, Moves.PSYCHIC ], - [ 40, Moves.ROLE_PLAY ], - [ 45, Moves.FUTURE_SIGHT ], - [ 50, Moves.CALM_MIND ], - ], - [Species.ALAKAZAM]: [ - [ 1, Moves.DISABLE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.KINESIS ], - [ 5, Moves.PSYBEAM ], - [ 10, Moves.REFLECT ], - [ 15, Moves.ALLY_SWITCH ], - [ 20, Moves.PSYCHO_CUT ], - [ 25, Moves.RECOVER ], - [ 30, Moves.PSYSHOCK ], - [ 35, Moves.PSYCHIC ], - [ 40, Moves.ROLE_PLAY ], - [ 45, Moves.FUTURE_SIGHT ], - [ 50, Moves.CALM_MIND ], - ], - [Species.MACHOP]: [ - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 4, Moves.FOCUS_ENERGY ], - [ 8, Moves.REVENGE ], - [ 12, Moves.LOW_SWEEP ], - [ 16, Moves.KNOCK_OFF ], - [ 20, Moves.SCARY_FACE ], - [ 24, Moves.VITAL_THROW ], - [ 29, Moves.STRENGTH ], - [ 32, Moves.DUAL_CHOP ], - [ 36, Moves.BULK_UP ], - [ 40, Moves.SEISMIC_TOSS ], - [ 44, Moves.DYNAMIC_PUNCH ], - [ 48, Moves.CROSS_CHOP ], - [ 52, Moves.DOUBLE_EDGE ], - ], - [Species.MACHOKE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.REVENGE ], - [ 1, Moves.KARATE_CHOP ], - [ 12, Moves.LOW_SWEEP ], - [ 16, Moves.KNOCK_OFF ], - [ 20, Moves.SCARY_FACE ], - [ 24, Moves.VITAL_THROW ], - [ 31, Moves.STRENGTH ], - [ 36, Moves.DUAL_CHOP ], - [ 42, Moves.BULK_UP ], - [ 48, Moves.SEISMIC_TOSS ], - [ 54, Moves.DYNAMIC_PUNCH ], - [ 60, Moves.CROSS_CHOP ], - [ 66, Moves.DOUBLE_EDGE ], - ], - [Species.MACHAMP]: [ - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.REVENGE ], - [ 1, Moves.WIDE_GUARD ], - [ 1, Moves.KARATE_CHOP ], - [ 12, Moves.LOW_SWEEP ], - [ 16, Moves.KNOCK_OFF ], - [ 20, Moves.SCARY_FACE ], - [ 24, Moves.VITAL_THROW ], - [ 31, Moves.STRENGTH ], - [ 36, Moves.DUAL_CHOP ], - [ 42, Moves.BULK_UP ], - [ 48, Moves.SEISMIC_TOSS ], - [ 54, Moves.DYNAMIC_PUNCH ], - [ 60, Moves.CROSS_CHOP ], - [ 66, Moves.DOUBLE_EDGE ], - ], - [Species.BELLSPROUT]: [ - [ 1, Moves.VINE_WHIP ], - [ 7, Moves.GROWTH ], - [ 11, Moves.WRAP ], - [ 13, Moves.SLEEP_POWDER ], - [ 15, Moves.POISON_POWDER ], - [ 17, Moves.STUN_SPORE ], - [ 23, Moves.ACID ], - [ 27, Moves.KNOCK_OFF ], - [ 29, Moves.SWEET_SCENT ], - [ 35, Moves.GASTRO_ACID ], - [ 39, Moves.RAZOR_LEAF ], - [ 41, Moves.POISON_JAB ], - [ 47, Moves.SLAM ], - [ 52, Moves.POWER_WHIP ], - ], - [Species.WEEPINBELL]: [ - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.WRAP ], - [ 1, Moves.GROWTH ], - [ 13, Moves.SLEEP_POWDER ], - [ 15, Moves.POISON_POWDER ], - [ 17, Moves.STUN_SPORE ], - [ 24, Moves.ACID ], - [ 29, Moves.KNOCK_OFF ], - [ 32, Moves.SWEET_SCENT ], - [ 39, Moves.GASTRO_ACID ], - [ 44, Moves.RAZOR_LEAF ], - [ 47, Moves.POISON_JAB ], - [ 54, Moves.SLAM ], - [ 58, Moves.POWER_WHIP ], - ], - [Species.VICTREEBEL]: [ - [ EVOLVE_MOVE, Moves.LEAF_STORM ], - [ RELEARN_MOVE, Moves.STOCKPILE ], - [ RELEARN_MOVE, Moves.SWALLOW ], - [ RELEARN_MOVE, Moves.SPIT_UP ], - [ RELEARN_MOVE, Moves.WRAP ], // Previous Stage Move - [ RELEARN_MOVE, Moves.GROWTH ], // Previous Stage Move - [ RELEARN_MOVE, Moves.ACID ], // Previous Stage Move - [ RELEARN_MOVE, Moves.KNOCK_OFF ], // Previous Stage Move - [ RELEARN_MOVE, Moves.GASTRO_ACID ], - [ RELEARN_MOVE, Moves.POISON_JAB ], // Previous Stage Move - [ RELEARN_MOVE, Moves.SLAM ], // Previous Stage Move - [ RELEARN_MOVE, Moves.POWER_WHIP ], - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.SLEEP_POWDER ], - [ 1, Moves.POISON_POWDER ], // Previous Stage Move - [ 1, Moves.STUN_SPORE ], // Previous Stage Move - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.RAZOR_LEAF ], - [ 44, Moves.LEAF_BLADE ], - ], - [Species.TENTACOOL]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.ACID ], - [ 8, Moves.WRAP ], - [ 12, Moves.SUPERSONIC ], - [ 16, Moves.WATER_PULSE ], - [ 20, Moves.SCREECH ], - [ 24, Moves.BUBBLE_BEAM ], - [ 28, Moves.HEX ], - [ 32, Moves.ACID_ARMOR ], - [ 36, Moves.POISON_JAB ], - [ 40, Moves.SURF ], - [ 44, Moves.SLUDGE_WAVE ], - [ 48, Moves.HYDRO_PUMP ], - ], - [Species.TENTACRUEL]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.ACID ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.REFLECT_TYPE ], - [ 1, Moves.WRING_OUT ], - [ 12, Moves.SUPERSONIC ], - [ 16, Moves.WATER_PULSE ], - [ 20, Moves.SCREECH ], - [ 24, Moves.BUBBLE_BEAM ], - [ 28, Moves.HEX ], - [ 34, Moves.ACID_ARMOR ], - [ 40, Moves.POISON_JAB ], - [ 46, Moves.SURF ], - [ 52, Moves.SLUDGE_WAVE ], - [ 58, Moves.HYDRO_PUMP ], - ], - [Species.GEODUDE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 6, Moves.ROCK_POLISH ], - [ 10, Moves.ROLLOUT ], - [ 12, Moves.BULLDOZE ], - [ 16, Moves.ROCK_THROW ], - [ 18, Moves.SMACK_DOWN ], - [ 24, Moves.SELF_DESTRUCT ], - [ 28, Moves.STEALTH_ROCK ], - [ 30, Moves.ROCK_BLAST ], - [ 34, Moves.EARTHQUAKE ], - [ 36, Moves.EXPLOSION ], - [ 40, Moves.DOUBLE_EDGE ], - [ 42, Moves.STONE_EDGE ], - ], - [Species.GRAVELER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROCK_POLISH ], - [ 10, Moves.ROLLOUT ], - [ 12, Moves.BULLDOZE ], - [ 16, Moves.ROCK_THROW ], - [ 18, Moves.SMACK_DOWN ], - [ 24, Moves.SELF_DESTRUCT ], - [ 30, Moves.STEALTH_ROCK ], - [ 34, Moves.ROCK_BLAST ], - [ 40, Moves.EARTHQUAKE ], - [ 44, Moves.EXPLOSION ], - [ 50, Moves.DOUBLE_EDGE ], - [ 54, Moves.STONE_EDGE ], - ], - [Species.GOLEM]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROCK_POLISH ], - [ 1, Moves.ROLLOUT ], // Previous Stage Move - [ 1, Moves.HEAVY_SLAM ], - [ 16, Moves.ROCK_THROW ], - [ 18, Moves.SMACK_DOWN ], - [ 22, Moves.BULLDOZE ], - [ 24, Moves.SELF_DESTRUCT ], - [ 30, Moves.STEALTH_ROCK ], - [ 34, Moves.ROCK_BLAST ], - [ 40, Moves.EARTHQUAKE ], - [ 44, Moves.EXPLOSION ], - [ 50, Moves.DOUBLE_EDGE ], - [ 54, Moves.STONE_EDGE ], - ], - [Species.PONYTA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.TAIL_WHIP ], - [ 10, Moves.EMBER ], - [ 15, Moves.FLAME_CHARGE ], - [ 20, Moves.AGILITY ], - [ 25, Moves.FLAME_WHEEL ], - [ 30, Moves.STOMP ], - [ 35, Moves.FIRE_SPIN ], - [ 41, Moves.TAKE_DOWN ], - [ 45, Moves.INFERNO ], - [ 50, Moves.FIRE_BLAST ], - [ 55, Moves.FLARE_BLITZ ], - ], - [Species.RAPIDASH]: [ - [ EVOLVE_MOVE, Moves.SMART_STRIKE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.MEGAHORN ], - [ 1, Moves.POISON_JAB ], - [ 15, Moves.FLAME_CHARGE ], - [ 20, Moves.AGILITY ], - [ 25, Moves.FLAME_WHEEL ], - [ 30, Moves.STOMP ], - [ 35, Moves.FIRE_SPIN ], - [ 43, Moves.TAKE_DOWN ], - [ 49, Moves.INFERNO ], - [ 56, Moves.FIRE_BLAST ], - [ 63, Moves.FLARE_BLITZ ], - ], - [Species.SLOWPOKE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CURSE ], - [ 3, Moves.GROWL ], - [ 6, Moves.WATER_GUN ], - [ 9, Moves.YAWN ], - [ 12, Moves.CONFUSION ], - [ 15, Moves.DISABLE ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 27, Moves.AMNESIA ], - [ 30, Moves.SURF ], - [ 33, Moves.SLACK_OFF ], - [ 36, Moves.PSYCHIC ], - [ 39, Moves.PSYCH_UP ], - [ 42, Moves.RAIN_DANCE ], - [ 45, Moves.HEAL_PULSE ], - ], - [Species.SLOWBRO]: [ - [ RELEARN_MOVE, Moves.FUTURE_SIGHT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.CURSE ], - [ 9, Moves.YAWN ], - [ 12, Moves.CONFUSION ], - [ 15, Moves.DISABLE ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 27, Moves.AMNESIA ], - [ 30, Moves.SURF ], - [ 33, Moves.SLACK_OFF ], - [ 36, Moves.PSYCHIC ], - [ 41, Moves.PSYCH_UP ], - [ 46, Moves.RAIN_DANCE ], - [ 51, Moves.HEAL_PULSE ], - ], - [Species.MAGNEMITE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.THUNDER_SHOCK ], - [ 4, Moves.SUPERSONIC ], - [ 8, Moves.THUNDER_WAVE ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.GYRO_BALL ], - [ 20, Moves.SPARK ], - [ 24, Moves.SCREECH ], - [ 28, Moves.MAGNET_RISE ], - [ 32, Moves.FLASH_CANNON ], - [ 36, Moves.DISCHARGE ], - [ 40, Moves.METAL_SOUND ], - [ 44, Moves.LIGHT_SCREEN ], - [ 48, Moves.LOCK_ON ], - [ 52, Moves.ZAP_CANNON ], - ], - [Species.MAGNETON]: [ - [ EVOLVE_MOVE, Moves.TRI_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.GYRO_BALL ], - [ 20, Moves.SPARK ], - [ 24, Moves.SCREECH ], - [ 28, Moves.MAGNET_RISE ], - [ 34, Moves.FLASH_CANNON ], - [ 40, Moves.DISCHARGE ], - [ 46, Moves.METAL_SOUND ], - [ 52, Moves.LIGHT_SCREEN ], - [ 58, Moves.LOCK_ON ], - [ 64, Moves.ZAP_CANNON ], - ], - [Species.FARFETCHD]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.PECK ], - [ 5, Moves.LEER ], - [ 10, Moves.FURY_CUTTER ], - [ 15, Moves.CUT ], - [ 20, Moves.AERIAL_ACE ], - [ 25, Moves.AIR_CUTTER ], - [ 30, Moves.KNOCK_OFF ], - [ 35, Moves.FALSE_SWIPE ], - [ 40, Moves.SLASH ], - [ 45, Moves.SWORDS_DANCE ], - [ 50, Moves.AIR_SLASH ], - [ 55, Moves.LEAF_BLADE ], - [ 60, Moves.AGILITY ], - [ 65, Moves.BRAVE_BIRD ], - ], - [Species.DODUO]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 5, Moves.QUICK_ATTACK ], - [ 9, Moves.FURY_ATTACK ], - [ 14, Moves.PLUCK ], - [ 19, Moves.DOUBLE_HIT ], - [ 23, Moves.AGILITY ], - [ 27, Moves.UPROAR ], - [ 30, Moves.ACUPRESSURE ], - [ 33, Moves.SWORDS_DANCE ], - [ 36, Moves.DRILL_PECK ], - [ 39, Moves.ENDEAVOR ], - [ 43, Moves.THRASH ], - ], - [Species.DODRIO]: [ - [ EVOLVE_MOVE, Moves.TRI_ATTACK ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 5, Moves.QUICK_ATTACK ], - [ 12, Moves.FURY_ATTACK ], - [ 15, Moves.PLUCK ], - [ 19, Moves.DOUBLE_HIT ], - [ 23, Moves.AGILITY ], - [ 26, Moves.UPROAR ], - [ 30, Moves.ACUPRESSURE ], - [ 34, Moves.SWORDS_DANCE ], - [ 38, Moves.DRILL_PECK ], - [ 43, Moves.ENDEAVOR ], - [ 50, Moves.THRASH ], - ], - [Species.SEEL]: [ - [ 1, Moves.HEADBUTT ], - [ 3, Moves.GROWL ], - [ 7, Moves.CHARM ], - [ 11, Moves.ICY_WIND ], - [ 13, Moves.ENCORE ], - [ 17, Moves.ICE_SHARD ], - [ 21, Moves.REST ], - [ 23, Moves.AQUA_RING ], - [ 27, Moves.AURORA_BEAM ], - [ 31, Moves.AQUA_JET ], - [ 33, Moves.BRINE ], - [ 37, Moves.TAKE_DOWN ], - [ 41, Moves.DIVE ], - [ 43, Moves.AQUA_TAIL ], - [ 47, Moves.ICE_BEAM ], - [ 51, Moves.SAFEGUARD ], - [ 53, Moves.SNOWSCAPE ], - ], - [Species.DEWGONG]: [ - [ EVOLVE_MOVE, Moves.SHEER_COLD ], - [ 1, Moves.HEADBUTT ], - [ 1, Moves.GROWL ], - [ 1, Moves.ICY_WIND ], - [ 1, Moves.CHARM ], - [ 1, Moves.SIGNAL_BEAM ], - [ 13, Moves.ENCORE ], - [ 17, Moves.ICE_SHARD ], - [ 21, Moves.REST ], - [ 23, Moves.AQUA_RING ], - [ 27, Moves.AURORA_BEAM ], - [ 31, Moves.AQUA_JET ], - [ 33, Moves.BRINE ], - [ 39, Moves.TAKE_DOWN ], - [ 45, Moves.DIVE ], - [ 49, Moves.AQUA_TAIL ], - [ 55, Moves.ICE_BEAM ], - [ 61, Moves.SAFEGUARD ], - [ 65, Moves.SNOWSCAPE ], - ], - [Species.GRIMER]: [ - [ 1, Moves.POUND ], - [ 1, Moves.POISON_GAS ], - [ 4, Moves.HARDEN ], - [ 7, Moves.MUD_SLAP ], - [ 12, Moves.DISABLE ], - [ 15, Moves.SLUDGE ], - [ 18, Moves.MUD_SHOT ], - [ 21, Moves.MINIMIZE ], - [ 26, Moves.TOXIC ], - [ 29, Moves.SLUDGE_BOMB ], - [ 32, Moves.SLUDGE_WAVE ], - [ 37, Moves.SCREECH ], - [ 40, Moves.GUNK_SHOT ], - [ 43, Moves.ACID_ARMOR ], - [ 46, Moves.BELCH ], - [ 48, Moves.MEMENTO ], - ], - [Species.MUK]: [ - [ 1, Moves.POUND ], - [ 1, Moves.HARDEN ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MUD_SLAP ], - [ 12, Moves.DISABLE ], - [ 15, Moves.SLUDGE ], - [ 18, Moves.MUD_SHOT ], - [ 21, Moves.MINIMIZE ], - [ 26, Moves.TOXIC ], - [ 29, Moves.SLUDGE_BOMB ], - [ 32, Moves.SLUDGE_WAVE ], - [ 37, Moves.SCREECH ], - [ 40, Moves.GUNK_SHOT ], - [ 46, Moves.ACID_ARMOR ], - [ 52, Moves.BELCH ], - [ 57, Moves.MEMENTO ], - ], - [Species.SHELLDER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.WITHDRAW ], - [ 8, Moves.ICE_SHARD ], - [ 12, Moves.LEER ], - [ 16, Moves.WHIRLPOOL ], - [ 20, Moves.SUPERSONIC ], - [ 24, Moves.AURORA_BEAM ], - [ 28, Moves.PROTECT ], - [ 32, Moves.RAZOR_SHELL ], - [ 36, Moves.IRON_DEFENSE ], - [ 40, Moves.ICE_BEAM ], - [ 44, Moves.SHELL_SMASH ], - [ 48, Moves.HYDRO_PUMP ], - ], - [Species.CLOYSTER]: [ - [ EVOLVE_MOVE, Moves.ICICLE_SPEAR ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HYDRO_PUMP ], - [ 1, Moves.ICE_BEAM ], - [ 1, Moves.AURORA_BEAM ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SPIKES ], - [ 1, Moves.WHIRLPOOL ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.TOXIC_SPIKES ], - [ 1, Moves.ICE_SHARD ], - [ 1, Moves.SHELL_SMASH ], - [ 1, Moves.ICICLE_CRASH ], - [ 5, Moves.RAZOR_SHELL ], - ], - [Species.GASTLY]: [ - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.LICK ], - [ 1, Moves.ACID ], // Custom - [ 4, Moves.HYPNOSIS ], - [ 8, Moves.MEAN_LOOK ], - [ 12, Moves.PAYBACK ], - [ 16, Moves.SPITE ], - [ 20, Moves.CURSE ], - [ 24, Moves.HEX ], - [ 28, Moves.NIGHT_SHADE ], - [ 32, Moves.SUCKER_PUNCH ], - [ 36, Moves.DARK_PULSE ], - [ 40, Moves.SHADOW_BALL ], - [ 44, Moves.DESTINY_BOND ], - [ 48, Moves.DREAM_EATER ], - ], - [Species.HAUNTER]: [ - [ EVOLVE_MOVE, Moves.SHADOW_PUNCH ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.LICK ], - [ 1, Moves.ACID ], // Previous Stage Move, Custom - [ 1, Moves.MEAN_LOOK ], - [ 12, Moves.PAYBACK ], - [ 16, Moves.SPITE ], - [ 20, Moves.CURSE ], - [ 24, Moves.HEX ], - [ 30, Moves.NIGHT_SHADE ], - [ 36, Moves.SUCKER_PUNCH ], - [ 42, Moves.DARK_PULSE ], - [ 48, Moves.SHADOW_BALL ], - [ 54, Moves.DESTINY_BOND ], - [ 60, Moves.DREAM_EATER ], - ], - [Species.GENGAR]: [ - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.LICK ], - [ 1, Moves.ACID ], // Previous Stage Move, Custom - [ 1, Moves.PERISH_SONG ], - [ 1, Moves.MEAN_LOOK ], - [ 1, Moves.SHADOW_PUNCH ], - [ 1, Moves.REFLECT_TYPE ], - [ 12, Moves.PAYBACK ], - [ 16, Moves.SPITE ], - [ 20, Moves.CURSE ], - [ 24, Moves.HEX ], - [ 30, Moves.NIGHT_SHADE ], - [ 36, Moves.SUCKER_PUNCH ], - [ 42, Moves.DARK_PULSE ], - [ 48, Moves.SHADOW_BALL ], - [ 54, Moves.DESTINY_BOND ], - [ 60, Moves.DREAM_EATER ], - ], - [Species.ONIX]: [ - [ 1, Moves.BIND ], - [ 1, Moves.TACKLE ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MUD_SPORT ], - [ 4, Moves.SMACK_DOWN ], - [ 8, Moves.ROCK_POLISH ], - [ 12, Moves.DRAGON_BREATH ], - [ 16, Moves.CURSE ], - [ 20, Moves.ROCK_SLIDE ], - [ 22, Moves.GYRO_BALL ], // Custom, from USUM - [ 24, Moves.SCREECH ], - [ 28, Moves.SAND_TOMB ], - [ 32, Moves.STEALTH_ROCK ], - [ 36, Moves.SLAM ], - [ 40, Moves.SANDSTORM ], - [ 44, Moves.DIG ], - [ 48, Moves.IRON_TAIL ], - [ 52, Moves.STONE_EDGE ], - [ 56, Moves.DOUBLE_EDGE ], - ], - [Species.DROWZEE]: [ - [ 1, Moves.POUND ], - [ 1, Moves.HYPNOSIS ], - [ 5, Moves.DISABLE ], - [ 9, Moves.CONFUSION ], - [ 13, Moves.HEADBUTT ], - [ 17, Moves.POISON_GAS ], - [ 21, Moves.PSYBEAM ], - [ 25, Moves.PSYCH_UP ], - [ 29, Moves.ZEN_HEADBUTT ], - [ 33, Moves.SWAGGER ], - [ 37, Moves.PSYCHIC ], - [ 41, Moves.NASTY_PLOT ], - [ 45, Moves.PSYSHOCK ], - [ 49, Moves.FUTURE_SIGHT ], - ], - [Species.HYPNO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.DISABLE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.SWITCHEROO ], - [ 1, Moves.NIGHTMARE ], - [ 13, Moves.HEADBUTT ], - [ 17, Moves.POISON_GAS ], - [ 21, Moves.PSYBEAM ], - [ 25, Moves.PSYCH_UP ], - [ 32, Moves.ZEN_HEADBUTT ], - [ 37, Moves.SWAGGER ], - [ 42, Moves.PSYCHIC ], - [ 47, Moves.NASTY_PLOT ], - [ 51, Moves.PSYSHOCK ], - [ 56, Moves.FUTURE_SIGHT ], - ], - [Species.KRABBY]: [ - [ 1, Moves.LEER ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.MUD_SPORT ], - [ 4, Moves.HARDEN ], - [ 8, Moves.METAL_CLAW ], - [ 12, Moves.MUD_SHOT ], - [ 16, Moves.PROTECT ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.STOMP ], - [ 29, Moves.FLAIL ], - [ 32, Moves.RAZOR_SHELL ], - [ 36, Moves.SLAM ], - [ 40, Moves.SWORDS_DANCE ], - [ 44, Moves.CRABHAMMER ], - [ 48, Moves.GUILLOTINE ], - ], - [Species.KINGLER]: [ - [ 1, Moves.LEER ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HARDEN ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.HAMMER_ARM ], - [ 1, Moves.WIDE_GUARD ], - [ 1, Moves.MUD_SPORT ], - [ 12, Moves.MUD_SHOT ], - [ 16, Moves.PROTECT ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.STOMP ], - [ 31, Moves.FLAIL ], - [ 36, Moves.RAZOR_SHELL ], - [ 42, Moves.SLAM ], - [ 48, Moves.SWORDS_DANCE ], - [ 54, Moves.CRABHAMMER ], - [ 60, Moves.GUILLOTINE ], - ], - [Species.VOLTORB]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CHARGE ], - [ 4, Moves.THUNDER_SHOCK ], - [ 6, Moves.EERIE_IMPULSE ], - [ 9, Moves.SPARK ], - [ 11, Moves.ROLLOUT ], - [ 13, Moves.SCREECH ], - [ 16, Moves.CHARGE_BEAM ], - [ 20, Moves.SWIFT ], - [ 22, Moves.ELECTRO_BALL ], - [ 26, Moves.SELF_DESTRUCT ], - [ 29, Moves.LIGHT_SCREEN ], - [ 34, Moves.MAGNET_RISE ], - [ 37, Moves.DISCHARGE ], - [ 41, Moves.EXPLOSION ], - [ 46, Moves.GYRO_BALL ], - [ 50, Moves.MIRROR_COAT ], - ], - [Species.ELECTRODE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.CHARGE ], - [ 1, Moves.EERIE_IMPULSE ], - [ 1, Moves.MAGNETIC_FLUX ], - [ 9, Moves.SPARK ], - [ 11, Moves.ROLLOUT ], - [ 13, Moves.SCREECH ], - [ 16, Moves.CHARGE_BEAM ], - [ 20, Moves.SWIFT ], - [ 22, Moves.ELECTRO_BALL ], - [ 26, Moves.SELF_DESTRUCT ], - [ 29, Moves.LIGHT_SCREEN ], - [ 36, Moves.MAGNET_RISE ], - [ 41, Moves.DISCHARGE ], - [ 47, Moves.EXPLOSION ], - [ 54, Moves.GYRO_BALL ], - [ 58, Moves.MIRROR_COAT ], - ], - [Species.EXEGGCUTE]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.BARRAGE ], - [ 5, Moves.REFLECT ], - [ 10, Moves.LEECH_SEED ], - [ 15, Moves.MEGA_DRAIN ], - [ 20, Moves.CONFUSION ], - [ 25, Moves.SYNTHESIS ], - [ 30, Moves.BULLET_SEED ], - [ 35, Moves.GIGA_DRAIN ], - [ 40, Moves.EXTRASENSORY ], - [ 45, Moves.UPROAR ], - [ 50, Moves.WORRY_SEED ], - [ 55, Moves.SOLAR_BEAM ], - ], - [Species.EXEGGUTOR]: [ - [ EVOLVE_MOVE, Moves.STOMP ], - [ RELEARN_MOVE, Moves.GROWTH ], - [ 1, Moves.BARRAGE ], - [ 1, Moves.SEED_BOMB ], - [ 1, Moves.PSYSHOCK ], - [ 1, Moves.WOOD_HAMMER ], - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.SYNTHESIS ], - [ 1, Moves.BULLET_SEED ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.EXTRASENSORY ], - [ 1, Moves.UPROAR ], - [ 1, Moves.WORRY_SEED ], - [ 1, Moves.SOLAR_BEAM ], - [ 1, Moves.ABSORB ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.REFLECT ], - [ 1, Moves.LEECH_SEED ], - ], - [Species.CUBONE]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.MUD_SLAP ], - [ 4, Moves.TAIL_WHIP ], - [ 8, Moves.FALSE_SWIPE ], - [ 12, Moves.HEADBUTT ], - [ 16, Moves.RETALIATE ], - [ 20, Moves.FLING ], - [ 24, Moves.STOMPING_TANTRUM ], - [ 29, Moves.BONE_RUSH ], - [ 32, Moves.FOCUS_ENERGY ], - [ 36, Moves.ENDEAVOR ], - [ 40, Moves.BONEMERANG ], - [ 44, Moves.THRASH ], - [ 48, Moves.DOUBLE_EDGE ], - ], - [Species.MAROWAK]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.FALSE_SWIPE ], - [ 1, Moves.BONE_CLUB ], - [ 12, Moves.HEADBUTT ], - [ 16, Moves.RETALIATE ], - [ 20, Moves.FLING ], - [ 24, Moves.STOMPING_TANTRUM ], - [ 31, Moves.BONE_RUSH ], - [ 36, Moves.FOCUS_ENERGY ], - [ 42, Moves.ENDEAVOR ], - [ 48, Moves.BONEMERANG ], - [ 54, Moves.THRASH ], - [ 60, Moves.DOUBLE_EDGE ], - ], - [Species.HITMONLEE]: [ - [ EVOLVE_MOVE, Moves.BRICK_BREAK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.FEINT ], - [ 1, Moves.LOW_SWEEP ], - [ 1, Moves.JUMP_KICK ], - [ 1, Moves.ROLLING_KICK ], - [ 1, Moves.MACH_PUNCH ], // Previous Stage Move, Custom - [ 1, Moves.RAPID_SPIN ], // Previous Stage Move, Custom - [ 4, Moves.DOUBLE_KICK ], - [ 8, Moves.LOW_KICK ], - [ 12, Moves.ENDURE ], - [ 16, Moves.SUCKER_PUNCH ], - [ 21, Moves.WIDE_GUARD ], - [ 24, Moves.BLAZE_KICK ], - [ 28, Moves.FEINT ], - [ 32, Moves.MEGA_KICK ], - [ 36, Moves.CLOSE_COMBAT ], - [ 40, Moves.REVERSAL ], - [ 44, Moves.HIGH_JUMP_KICK ], - [ 50, Moves.AXE_KICK ], - ], - [Species.HITMONCHAN]: [ - [ EVOLVE_MOVE, Moves.DRAIN_PUNCH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.FEINT ], - [ 1, Moves.PURSUIT ], - [ 1, Moves.COMET_PUNCH ], - [ 1, Moves.LOW_SWEEP ], // Previous Stage Move, Custom - [ 1, Moves.RAPID_SPIN ], // Previous Stage Move, Custom - [ 4, Moves.MACH_PUNCH ], - [ 8, Moves.VACUUM_WAVE ], - [ 12, Moves.DETECT ], - [ 16, Moves.BULLET_PUNCH ], - [ 21, Moves.QUICK_GUARD ], - [ 24, Moves.THUNDER_PUNCH ], - [ 24, Moves.ICE_PUNCH ], - [ 24, Moves.FIRE_PUNCH ], - [ 28, Moves.AGILITY ], - [ 32, Moves.MEGA_PUNCH ], - [ 36, Moves.CLOSE_COMBAT ], - [ 40, Moves.COUNTER ], - [ 44, Moves.FOCUS_PUNCH ], - ], - [Species.LICKITUNG]: [ - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.LICK ], - [ 1, Moves.TACKLE ], // Custom - [ 6, Moves.REST ], - [ 12, Moves.SUPERSONIC ], - [ 18, Moves.WRAP ], - [ 24, Moves.DISABLE ], - [ 30, Moves.STOMP ], - [ 32, Moves.ROLLOUT ], - [ 36, Moves.KNOCK_OFF ], - [ 42, Moves.SCREECH ], - [ 48, Moves.SLAM ], - [ 54, Moves.POWER_WHIP ], - [ 60, Moves.BELLY_DRUM ], - ], - [Species.KOFFING]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POISON_GAS ], - [ 4, Moves.SMOG ], - [ 8, Moves.SMOKESCREEN ], - [ 12, Moves.CLEAR_SMOG ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.SLUDGE ], - [ 24, Moves.HAZE ], - [ 28, Moves.SELF_DESTRUCT ], - [ 32, Moves.SLUDGE_BOMB ], - [ 36, Moves.TOXIC ], - [ 40, Moves.BELCH ], - [ 44, Moves.EXPLOSION ], - [ 48, Moves.MEMENTO ], - [ 52, Moves.DESTINY_BOND ], - ], - [Species.WEEZING]: [ - [ EVOLVE_MOVE, Moves.DOUBLE_HIT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.SMOG ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.HEAT_WAVE ], - [ 12, Moves.CLEAR_SMOG ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.SLUDGE ], - [ 24, Moves.HAZE ], - [ 28, Moves.SELF_DESTRUCT ], - [ 32, Moves.SLUDGE_BOMB ], - [ 38, Moves.TOXIC ], - [ 44, Moves.BELCH ], - [ 50, Moves.EXPLOSION ], - [ 56, Moves.MEMENTO ], - [ 62, Moves.DESTINY_BOND ], - ], - [Species.RHYHORN]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.SMACK_DOWN ], - [ 10, Moves.BULLDOZE ], - [ 15, Moves.HORN_ATTACK ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.STOMP ], - [ 30, Moves.ROCK_BLAST ], - [ 35, Moves.DRILL_RUN ], - [ 40, Moves.TAKE_DOWN ], - [ 45, Moves.EARTHQUAKE ], - [ 50, Moves.STONE_EDGE ], - [ 55, Moves.MEGAHORN ], - [ 60, Moves.HORN_DRILL ], - ], - [Species.RHYDON]: [ - [ EVOLVE_MOVE, Moves.HAMMER_ARM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.SMACK_DOWN ], - [ 1, Moves.BULLDOZE ], - [ 15, Moves.HORN_ATTACK ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.STOMP ], - [ 30, Moves.ROCK_BLAST ], - [ 35, Moves.DRILL_RUN ], - [ 40, Moves.TAKE_DOWN ], - [ 47, Moves.EARTHQUAKE ], - [ 54, Moves.STONE_EDGE ], - [ 61, Moves.MEGAHORN ], - [ 68, Moves.HORN_DRILL ], - ], - [Species.CHANSEY]: [ - [ 1, Moves.POUND ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.DISARMING_VOICE ], - [ 4, Moves.TAIL_WHIP ], - [ 8, Moves.ECHOED_VOICE ], - [ 12, Moves.LIFE_DEW ], - [ 16, Moves.SING ], - [ 20, Moves.FLING ], - [ 24, Moves.TAKE_DOWN ], - [ 28, Moves.HEAL_PULSE ], - [ 32, Moves.HELPING_HAND ], - [ 36, Moves.LIGHT_SCREEN ], - [ 40, Moves.DOUBLE_EDGE ], - [ 44, Moves.SOFT_BOILED ], - [ 48, Moves.LAST_RESORT ], - [ 52, Moves.HEALING_WISH ], - ], - [Species.TANGELA]: [ - [ 1, Moves.BIND ], - [ 1, Moves.ABSORB ], - [ 1, Moves.CONSTRICT ], - [ 4, Moves.STUN_SPORE ], - [ 8, Moves.GROWTH ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.VINE_WHIP ], - [ 20, Moves.POISON_POWDER ], - [ 24, Moves.DOUBLE_HIT ], - [ 28, Moves.KNOCK_OFF ], - [ 32, Moves.GIGA_DRAIN ], - [ 34, Moves.ANCIENT_POWER ], - [ 36, Moves.SLEEP_POWDER ], - [ 40, Moves.SLAM ], - [ 44, Moves.TICKLE ], - [ 48, Moves.POWER_WHIP ], - [ 52, Moves.INGRAIN ], - [ 56, Moves.GRASSY_TERRAIN ], - ], - [Species.KANGASKHAN]: [ - [ 1, Moves.POUND ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.COMET_PUNCH ], - [ 4, Moves.GROWL ], - [ 8, Moves.FAKE_OUT ], - [ 12, Moves.BITE ], - [ 16, Moves.STOMP ], - [ 20, Moves.FOCUS_ENERGY ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.SUCKER_PUNCH ], - [ 32, Moves.DOUBLE_HIT ], - [ 36, Moves.CRUNCH ], - [ 40, Moves.ENDURE ], - [ 44, Moves.REVERSAL ], - [ 48, Moves.OUTRAGE ], - [ 52, Moves.LAST_RESORT ], - ], - [Species.HORSEA]: [ - [ 1, Moves.LEER ], - [ 1, Moves.WATER_GUN ], - [ 5, Moves.SMOKESCREEN ], - [ 10, Moves.TWISTER ], - [ 15, Moves.FOCUS_ENERGY ], - [ 20, Moves.DRAGON_BREATH ], - [ 25, Moves.BUBBLE_BEAM ], - [ 30, Moves.AGILITY ], - [ 35, Moves.LASER_FOCUS ], - [ 40, Moves.DRAGON_PULSE ], - [ 45, Moves.HYDRO_PUMP ], - [ 50, Moves.DRAGON_DANCE ], - [ 55, Moves.RAIN_DANCE ], - ], - [Species.SEADRA]: [ - [ 1, Moves.LEER ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.TWISTER ], - [ 15, Moves.FOCUS_ENERGY ], - [ 20, Moves.DRAGON_BREATH ], - [ 25, Moves.BUBBLE_BEAM ], - [ 30, Moves.AGILITY ], - [ 37, Moves.LASER_FOCUS ], - [ 44, Moves.DRAGON_PULSE ], - [ 51, Moves.HYDRO_PUMP ], - [ 58, Moves.DRAGON_DANCE ], - [ 65, Moves.RAIN_DANCE ], - ], - [Species.GOLDEEN]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.PECK ], - [ 1, Moves.WATER_SPORT ], - [ 5, Moves.SUPERSONIC ], - [ 10, Moves.WATER_PULSE ], - [ 15, Moves.HORN_ATTACK ], - [ 20, Moves.AGILITY ], - [ 25, Moves.AQUA_RING ], - [ 30, Moves.FLAIL ], - [ 35, Moves.WATERFALL ], - [ 40, Moves.SOAK ], - [ 45, Moves.MEGAHORN ], - [ 50, Moves.HORN_DRILL ], - ], - [Species.SEAKING]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_SPORT ], - [ 1, Moves.PECK ], - [ 1, Moves.WATER_PULSE ], - [ 15, Moves.HORN_ATTACK ], - [ 20, Moves.AGILITY ], - [ 25, Moves.AQUA_RING ], - [ 30, Moves.FLAIL ], - [ 37, Moves.WATERFALL ], - [ 44, Moves.SOAK ], - [ 51, Moves.MEGAHORN ], - [ 58, Moves.HORN_DRILL ], - ], - [Species.STARYU]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 4, Moves.WATER_GUN ], - [ 8, Moves.CONFUSE_RAY ], - [ 12, Moves.RAPID_SPIN ], - [ 16, Moves.MINIMIZE ], - [ 20, Moves.SWIFT ], - [ 24, Moves.PSYBEAM ], - [ 28, Moves.BRINE ], - [ 32, Moves.LIGHT_SCREEN ], - [ 36, Moves.POWER_GEM ], - [ 40, Moves.PSYCHIC ], - [ 44, Moves.SURF ], - [ 48, Moves.RECOVER ], - [ 52, Moves.COSMIC_POWER ], - [ 56, Moves.HYDRO_PUMP ], - ], - [Species.STARMIE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HYDRO_PUMP ], - [ 1, Moves.SURF ], - [ 1, Moves.PSYBEAM ], - [ 1, Moves.PSYCHIC ], - [ 1, Moves.RECOVER ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MINIMIZE ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.LIGHT_SCREEN ], - [ 1, Moves.SWIFT ], - [ 1, Moves.SPOTLIGHT ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.COSMIC_POWER ], - [ 1, Moves.BRINE ], - [ 1, Moves.POWER_GEM ], - ], - [Species.MR_MIME]: [ - [ 1, Moves.POUND ], - [ 1, Moves.TICKLE ], // Previous Stage Move - [ 1, Moves.BATON_PASS ], - [ 1, Moves.ENCORE ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.POWER_SWAP ], - [ 1, Moves.GUARD_SWAP ], - [ 1, Moves.WIDE_GUARD ], - [ 1, Moves.QUICK_GUARD ], - [ 1, Moves.BARRIER ], - [ 12, Moves.CONFUSION ], - [ 16, Moves.ROLE_PLAY ], - [ 20, Moves.PROTECT ], - [ 24, Moves.RECYCLE ], - [ 28, Moves.PSYBEAM ], - [ 32, Moves.MIMIC ], - [ 36, Moves.LIGHT_SCREEN ], - [ 36, Moves.REFLECT ], - [ 36, Moves.SAFEGUARD ], - [ 40, Moves.SUCKER_PUNCH ], - [ 44, Moves.DAZZLING_GLEAM ], - [ 48, Moves.PSYCHIC ], - [ 52, Moves.TEETER_DANCE ], - ], - [Species.SCYTHER]: [ - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 4, Moves.FURY_CUTTER ], - [ 8, Moves.FALSE_SWIPE ], - [ 12, Moves.WING_ATTACK ], - [ 16, Moves.DOUBLE_TEAM ], - [ 20, Moves.DOUBLE_HIT ], - [ 24, Moves.SLASH ], - [ 28, Moves.FOCUS_ENERGY ], - [ 30, Moves.STEEL_WING ], // Custom - [ 32, Moves.AGILITY ], - [ 36, Moves.AIR_SLASH ], - [ 40, Moves.X_SCISSOR ], - [ 44, Moves.SWORDS_DANCE ], - ], - [Species.JYNX]: [ - [ 1, Moves.POUND ], - [ 1, Moves.LICK ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.COPYCAT ], - [ 12, Moves.CONFUSION ], - [ 16, Moves.COVET ], - [ 20, Moves.SING ], - [ 24, Moves.FAKE_TEARS ], - [ 28, Moves.ICE_PUNCH ], - [ 34, Moves.PSYCHIC ], - [ 40, Moves.LOVELY_KISS ], - [ 46, Moves.MEAN_LOOK ], - [ 52, Moves.PERISH_SONG ], - [ 58, Moves.BLIZZARD ], - ], - [Species.ELECTABUZZ]: [ - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.CHARGE ], - [ 12, Moves.SWIFT ], - [ 16, Moves.SHOCK_WAVE ], - [ 20, Moves.THUNDER_WAVE ], - [ 24, Moves.SCREECH ], - [ 28, Moves.THUNDER_PUNCH ], - [ 34, Moves.DISCHARGE ], - [ 40, Moves.LOW_KICK ], - [ 46, Moves.THUNDERBOLT ], - [ 52, Moves.LIGHT_SCREEN ], - [ 58, Moves.THUNDER ], - [ 64, Moves.GIGA_IMPACT ], - ], - [Species.MAGMAR]: [ - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.SMOG ], - [ 12, Moves.CLEAR_SMOG ], - [ 16, Moves.FLAME_WHEEL ], - [ 20, Moves.CONFUSE_RAY ], - [ 24, Moves.SCARY_FACE ], - [ 28, Moves.FIRE_PUNCH ], - [ 34, Moves.LAVA_PLUME ], - [ 40, Moves.LOW_KICK ], - [ 46, Moves.FLAMETHROWER ], - [ 52, Moves.SUNNY_DAY ], - [ 58, Moves.FIRE_BLAST ], - [ 64, Moves.HYPER_BEAM ], - ], - [Species.PINSIR]: [ - [ 1, Moves.VISE_GRIP ], - [ 1, Moves.HARDEN ], - [ 4, Moves.FOCUS_ENERGY ], - [ 8, Moves.BIND ], - [ 12, Moves.SEISMIC_TOSS ], - [ 16, Moves.BUG_BITE ], - [ 20, Moves.STORM_THROW ], - [ 24, Moves.DOUBLE_HIT ], - [ 28, Moves.VITAL_THROW ], - [ 32, Moves.X_SCISSOR ], - [ 36, Moves.STRENGTH ], - [ 40, Moves.SWORDS_DANCE ], - [ 44, Moves.SUBMISSION ], - [ 48, Moves.GUILLOTINE ], - [ 52, Moves.SUPERPOWER ], - ], - [Species.TAUROS]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.WORK_UP ], - [ 10, Moves.PAYBACK ], - [ 15, Moves.ASSURANCE ], - [ 20, Moves.HORN_ATTACK ], - [ 25, Moves.SCARY_FACE ], - [ 30, Moves.ZEN_HEADBUTT ], - [ 35, Moves.RAGING_BULL ], - [ 40, Moves.REST ], - [ 45, Moves.SWAGGER ], - [ 50, Moves.THRASH ], - [ 55, Moves.DOUBLE_EDGE ], - [ 60, Moves.GIGA_IMPACT ], - ], - [Species.MAGIKARP]: [ - [ 1, Moves.SPLASH ], - [ 15, Moves.TACKLE ], - [ 25, Moves.FLAIL ], - ], - [Species.GYARADOS]: [ - [ EVOLVE_MOVE, Moves.BITE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.SPLASH ], - [ 1, Moves.FLAIL ], - [ 1, Moves.TWISTER ], - [ 4, Moves.WHIRLPOOL ], - [ 8, Moves.ICE_FANG ], - [ 12, Moves.BRINE ], - [ 16, Moves.SCARY_FACE ], - [ 21, Moves.WATERFALL ], - [ 24, Moves.CRUNCH ], - [ 28, Moves.RAIN_DANCE ], - [ 32, Moves.AQUA_TAIL ], - [ 36, Moves.DRAGON_DANCE ], - [ 40, Moves.HYDRO_PUMP ], - [ 44, Moves.HURRICANE ], - [ 48, Moves.THRASH ], - [ 52, Moves.HYPER_BEAM ], - ], - [Species.LAPRAS]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 5, Moves.SING ], - [ 10, Moves.MIST ], - [ 15, Moves.LIFE_DEW ], - [ 20, Moves.ICE_SHARD ], - [ 25, Moves.CONFUSE_RAY ], - [ 30, Moves.WATER_PULSE ], - [ 35, Moves.BRINE ], - [ 40, Moves.BODY_SLAM ], - [ 45, Moves.ICE_BEAM ], - [ 50, Moves.RAIN_DANCE ], - [ 55, Moves.HYDRO_PUMP ], - [ 60, Moves.PERISH_SONG ], - [ 65, Moves.SHEER_COLD ], - ], - [Species.DITTO]: [ - [ 1, Moves.TRANSFORM ], - ], - [Species.EEVEE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.QUICK_ATTACK ], - [ 15, Moves.BABY_DOLL_EYES ], - [ 20, Moves.SWIFT ], - [ 25, Moves.BITE ], - [ 30, Moves.COPYCAT ], - [ 35, Moves.BATON_PASS ], - [ 40, Moves.TAKE_DOWN ], - [ 45, Moves.CHARM ], - [ 50, Moves.DOUBLE_EDGE ], - [ 55, Moves.LAST_RESORT ], - [ 60, Moves.VEEVEE_VOLLEY ], - ], - [Species.VAPOREON]: [ - [ EVOLVE_MOVE, Moves.BOUNCY_BUBBLE ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWIFT ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.WATER_GUN ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.HAZE ], - [ 30, Moves.WATER_PULSE ], - [ 35, Moves.AURORA_BEAM ], - [ 40, Moves.AQUA_RING ], - [ 45, Moves.MUDDY_WATER ], - [ 50, Moves.ACID_ARMOR ], - [ 55, Moves.HYDRO_PUMP ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.JOLTEON]: [ - [ EVOLVE_MOVE, Moves.BUZZY_BUZZ ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWIFT ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.THUNDER_SHOCK ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.THUNDER_WAVE ], - [ 30, Moves.DOUBLE_KICK ], - [ 35, Moves.THUNDER_FANG ], - [ 40, Moves.PIN_MISSILE ], - [ 45, Moves.DISCHARGE ], - [ 50, Moves.AGILITY ], - [ 55, Moves.THUNDER ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.FLAREON]: [ - [ EVOLVE_MOVE, Moves.SIZZLY_SLIDE ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWIFT ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.EMBER ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.SMOG ], - [ 30, Moves.BITE ], - [ 35, Moves.FIRE_FANG ], - [ 40, Moves.FIRE_SPIN ], - [ 45, Moves.LAVA_PLUME ], - [ 50, Moves.SCARY_FACE ], - [ 55, Moves.FLARE_BLITZ ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.PORYGON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CONVERSION ], - [ 5, Moves.RECYCLE ], - [ 10, Moves.MAGNET_RISE ], - [ 15, Moves.THUNDER_SHOCK ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.CONVERSION_2 ], - [ 30, Moves.AGILITY ], - [ 35, Moves.RECOVER ], - [ 40, Moves.DISCHARGE ], - [ 45, Moves.TRI_ATTACK ], - [ 50, Moves.MAGIC_COAT ], - [ 55, Moves.LOCK_ON ], - [ 60, Moves.ZAP_CANNON ], - ], - [Species.OMANYTE]: [ - [ 1, Moves.BIND ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.CONSTRICT ], - [ 5, Moves.ROLLOUT ], - [ 10, Moves.SAND_ATTACK ], - [ 15, Moves.WATER_GUN ], - [ 20, Moves.LEER ], - [ 25, Moves.MUD_SHOT ], - [ 30, Moves.ANCIENT_POWER ], - [ 35, Moves.BRINE ], - [ 41, Moves.PROTECT ], - [ 45, Moves.ROCK_BLAST ], - [ 50, Moves.SURF ], - [ 55, Moves.SHELL_SMASH ], - [ 60, Moves.HYDRO_PUMP ], - ], - [Species.OMASTAR]: [ - [ EVOLVE_MOVE, Moves.CRUNCH ], - [ 1, Moves.BIND ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.CONSTRICT ], - [ 1, Moves.SPIKE_CANNON ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.ROLLOUT ], - [ 15, Moves.WATER_GUN ], - [ 20, Moves.LEER ], - [ 25, Moves.MUD_SHOT ], - [ 30, Moves.ANCIENT_POWER ], - [ 35, Moves.BRINE ], - [ 43, Moves.PROTECT ], - [ 49, Moves.ROCK_BLAST ], - [ 56, Moves.SURF ], - [ 63, Moves.SHELL_SMASH ], - [ 70, Moves.HYDRO_PUMP ], - ], - [Species.KABUTO]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.HARDEN ], - [ 5, Moves.SCRATCH ], - [ 10, Moves.SAND_ATTACK ], - [ 15, Moves.AQUA_JET ], - [ 20, Moves.LEER ], - [ 25, Moves.MUD_SHOT ], - [ 30, Moves.ANCIENT_POWER ], - [ 35, Moves.BRINE ], - [ 41, Moves.PROTECT ], - [ 45, Moves.LEECH_LIFE ], - [ 50, Moves.LIQUIDATION ], - [ 55, Moves.METAL_SOUND ], - [ 60, Moves.STONE_EDGE ], - ], - [Species.KABUTOPS]: [ - [ EVOLVE_MOVE, Moves.SLASH ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.ABSORB ], - [ 1, Moves.HARDEN ], - [ 1, Moves.FEINT ], - [ 1, Moves.NIGHT_SLASH ], - [ 15, Moves.AQUA_JET ], - [ 20, Moves.LEER ], - [ 25, Moves.MUD_SHOT ], - [ 30, Moves.ANCIENT_POWER ], - [ 35, Moves.BRINE ], - [ 43, Moves.PROTECT ], - [ 49, Moves.LEECH_LIFE ], - [ 56, Moves.LIQUIDATION ], - [ 63, Moves.METAL_SOUND ], - [ 70, Moves.STONE_EDGE ], - ], - [Species.AERODACTYL]: [ - [ 1, Moves.BITE ], - [ 1, Moves.ANCIENT_POWER ], - [ 5, Moves.SUPERSONIC ], - [ 10, Moves.WING_ATTACK ], - [ 15, Moves.SCARY_FACE ], - [ 20, Moves.ROCK_SLIDE ], - [ 25, Moves.ROAR ], - [ 30, Moves.CRUNCH ], - [ 35, Moves.IRON_HEAD ], - [ 40, Moves.TAKE_DOWN ], - [ 45, Moves.STONE_EDGE ], - [ 50, Moves.AGILITY ], - [ 55, Moves.HYPER_BEAM ], - [ 60, Moves.GIGA_IMPACT ], - ], - [Species.SNORLAX]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SCREECH ], - [ 1, Moves.ODOR_SLEUTH ], // Previous Stage Move - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.METRONOME ], - [ 1, Moves.LICK ], - [ 1, Moves.FLAIL ], - [ 1, Moves.STOCKPILE ], - [ 1, Moves.SWALLOW ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.BLOCK ], - [ 1, Moves.COVET ], - [ 1, Moves.FLING ], - [ 1, Moves.LAST_RESORT ], - [ 12, Moves.YAWN ], - [ 16, Moves.BITE ], - [ 20, Moves.REST ], - [ 20, Moves.SNORE ], - [ 20, Moves.SLEEP_TALK ], - [ 24, Moves.CRUNCH ], - [ 28, Moves.BODY_SLAM ], - [ 32, Moves.HEAVY_SLAM ], - [ 36, Moves.AMNESIA ], - [ 40, Moves.HIGH_HORSEPOWER ], - [ 44, Moves.HAMMER_ARM ], - [ 48, Moves.BELLY_DRUM ], - [ 52, Moves.BELCH ], - [ 56, Moves.GIGA_IMPACT ], - ], - [Species.ARTICUNO]: [ - [ 1, Moves.GUST ], - [ 1, Moves.MIST ], - [ 5, Moves.POWDER_SNOW ], - [ 10, Moves.REFLECT ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.AGILITY ], - [ 25, Moves.ANCIENT_POWER ], - [ 30, Moves.TAILWIND ], - [ 35, Moves.FREEZE_DRY ], - [ 40, Moves.ROOST ], - [ 45, Moves.ICE_BEAM ], - [ 50, Moves.SNOWSCAPE ], - [ 55, Moves.HURRICANE ], - [ 60, Moves.HAZE ], - [ 65, Moves.BLIZZARD ], - [ 70, Moves.SHEER_COLD ], - ], - [Species.ZAPDOS]: [ - [ 1, Moves.PECK ], - [ 1, Moves.THUNDER_WAVE ], - [ 5, Moves.THUNDER_SHOCK ], - [ 10, Moves.LIGHT_SCREEN ], - [ 15, Moves.PLUCK ], - [ 20, Moves.AGILITY ], - [ 25, Moves.ANCIENT_POWER ], - [ 30, Moves.CHARGE ], - [ 35, Moves.DRILL_PECK ], - [ 40, Moves.ROOST ], - [ 45, Moves.DISCHARGE ], - [ 50, Moves.RAIN_DANCE ], - [ 55, Moves.THUNDER ], - [ 60, Moves.DETECT ], - [ 65, Moves.MAGNETIC_FLUX ], - [ 70, Moves.ZAP_CANNON ], - ], - [Species.MOLTRES]: [ - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 5, Moves.EMBER ], - [ 10, Moves.SAFEGUARD ], - [ 15, Moves.WING_ATTACK ], - [ 20, Moves.AGILITY ], - [ 25, Moves.ANCIENT_POWER ], - [ 30, Moves.INCINERATE ], - [ 35, Moves.AIR_SLASH ], - [ 40, Moves.ROOST ], - [ 45, Moves.HEAT_WAVE ], - [ 50, Moves.SUNNY_DAY ], - [ 55, Moves.HURRICANE ], - [ 60, Moves.ENDURE ], - [ 65, Moves.OVERHEAT ], - [ 70, Moves.SKY_ATTACK ], - ], - [Species.DRATINI]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 5, Moves.TWISTER ], - [ 10, Moves.THUNDER_WAVE ], - [ 15, Moves.DRAGON_TAIL ], - [ 20, Moves.AGILITY ], - [ 25, Moves.SLAM ], - [ 31, Moves.AQUA_TAIL ], - [ 35, Moves.DRAGON_RUSH ], - [ 40, Moves.SAFEGUARD ], - [ 45, Moves.RAIN_DANCE ], - [ 50, Moves.DRAGON_DANCE ], - [ 55, Moves.OUTRAGE ], - [ 60, Moves.HYPER_BEAM ], - ], - [Species.DRAGONAIR]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.TWISTER ], - [ 15, Moves.DRAGON_TAIL ], - [ 20, Moves.AGILITY ], - [ 25, Moves.SLAM ], - [ 33, Moves.AQUA_TAIL ], - [ 39, Moves.DRAGON_RUSH ], - [ 46, Moves.SAFEGUARD ], - [ 53, Moves.RAIN_DANCE ], - [ 60, Moves.DRAGON_DANCE ], - [ 67, Moves.OUTRAGE ], - [ 74, Moves.HYPER_BEAM ], - ], - [Species.DRAGONITE]: [ - [ EVOLVE_MOVE, Moves.HURRICANE ], - [ 1, Moves.FIRE_PUNCH ], - [ 1, Moves.THUNDER_PUNCH ], - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.TWISTER ], - [ 1, Moves.EXTREME_SPEED ], - [ 1, Moves.ROOST ], - [ 15, Moves.DRAGON_TAIL ], - [ 20, Moves.AGILITY ], - [ 25, Moves.SLAM ], - [ 33, Moves.AQUA_TAIL ], - [ 39, Moves.DRAGON_RUSH ], - [ 41, Moves.OUTRAGE ], - [ 46, Moves.SAFEGUARD ], - [ 53, Moves.RAIN_DANCE ], - [ 62, Moves.DRAGON_DANCE ], - [ 80, Moves.HYPER_BEAM ], - ], - [Species.MEWTWO]: [ - [ 1, Moves.DISABLE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.SWIFT ], - [ 1, Moves.LIFE_DEW ], - [ 8, Moves.ANCIENT_POWER ], - [ 16, Moves.PSYCHO_CUT ], - [ 24, Moves.SAFEGUARD ], - [ 32, Moves.AMNESIA ], - [ 40, Moves.AURA_SPHERE ], - [ 48, Moves.PSYCHIC ], - [ 56, Moves.POWER_SWAP ], - [ 56, Moves.GUARD_SWAP ], - [ 64, Moves.MIST ], - [ 72, Moves.PSYSTRIKE ], - [ 80, Moves.RECOVER ], - [ 88, Moves.FUTURE_SIGHT ], - ], - [Species.MEW]: [ - [ 1, Moves.POUND ], - [ 1, Moves.REFLECT_TYPE ], - [ 10, Moves.AMNESIA ], - [ 20, Moves.BATON_PASS ], - [ 30, Moves.ANCIENT_POWER ], - [ 40, Moves.LIFE_DEW ], - [ 50, Moves.NASTY_PLOT ], - [ 60, Moves.METRONOME ], - [ 70, Moves.IMPRISON ], - [ 80, Moves.TRANSFORM ], - [ 90, Moves.AURA_SPHERE ], - [ 100, Moves.PSYCHIC ], - ], - [Species.CHIKORITA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.RAZOR_LEAF ], // Custom, moved from 6 to 5 - [ 9, Moves.POISON_POWDER ], - [ 12, Moves.SYNTHESIS ], - [ 17, Moves.REFLECT ], - [ 20, Moves.MAGICAL_LEAF ], - [ 23, Moves.LEECH_SEED ], - [ 28, Moves.SWEET_SCENT ], - [ 31, Moves.LIGHT_SCREEN ], - [ 34, Moves.BODY_SLAM ], - [ 39, Moves.SAFEGUARD ], - [ 42, Moves.GIGA_DRAIN ], - [ 45, Moves.SOLAR_BEAM ], - ], - [Species.BAYLEEF]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.POISON_POWDER ], - [ 12, Moves.SYNTHESIS ], - [ 18, Moves.REFLECT ], - [ 22, Moves.MAGICAL_LEAF ], - [ 26, Moves.LEECH_SEED ], - [ 32, Moves.SWEET_SCENT ], - [ 36, Moves.LIGHT_SCREEN ], - [ 40, Moves.BODY_SLAM ], - [ 46, Moves.SAFEGUARD ], - [ 50, Moves.GIGA_DRAIN ], - [ 54, Moves.SOLAR_BEAM ], - ], - [Species.MEGANIUM]: [ - [ EVOLVE_MOVE, Moves.PETAL_DANCE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.POISON_POWDER ], - [ 1, Moves.PETAL_BLIZZARD ], - [ 12, Moves.SYNTHESIS ], - [ 18, Moves.REFLECT ], - [ 22, Moves.MAGICAL_LEAF ], - [ 26, Moves.LEECH_SEED ], - [ 34, Moves.SWEET_SCENT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 46, Moves.BODY_SLAM ], - [ 54, Moves.SAFEGUARD ], - [ 60, Moves.GIGA_DRAIN ], - [ 65, Moves.SOLAR_BEAM ], - ], - [Species.CYNDAQUIL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 5, Moves.EMBER ], // Custom, moved from 10 to 5 - [ 10, Moves.SMOKESCREEN ], // Custom, moved from 6 to 10 - [ 13, Moves.QUICK_ATTACK ], - [ 19, Moves.FLAME_WHEEL ], - [ 22, Moves.DEFENSE_CURL ], - [ 28, Moves.FLAME_CHARGE ], - [ 31, Moves.SWIFT ], - [ 37, Moves.LAVA_PLUME ], - [ 40, Moves.FLAMETHROWER ], - [ 46, Moves.INFERNO ], - [ 49, Moves.ROLLOUT ], - [ 55, Moves.DOUBLE_EDGE ], - [ 58, Moves.OVERHEAT ], - [ 64, Moves.ERUPTION ], - ], - [Species.QUILAVA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.SMOKESCREEN ], - [ 10, Moves.EMBER ], - [ 13, Moves.QUICK_ATTACK ], - [ 20, Moves.FLAME_WHEEL ], - [ 24, Moves.DEFENSE_CURL ], - [ 31, Moves.SWIFT ], - [ 35, Moves.FLAME_CHARGE ], - [ 42, Moves.LAVA_PLUME ], - [ 46, Moves.FLAMETHROWER ], - [ 53, Moves.INFERNO ], - [ 57, Moves.ROLLOUT ], - [ 64, Moves.DOUBLE_EDGE ], - [ 68, Moves.OVERHEAT ], - [ 75, Moves.ERUPTION ], - ], - [Species.TYPHLOSION]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.ERUPTION ], - [ 1, Moves.GYRO_BALL ], - [ 13, Moves.QUICK_ATTACK ], - [ 20, Moves.FLAME_WHEEL ], - [ 24, Moves.DEFENSE_CURL ], - [ 31, Moves.SWIFT ], - [ 35, Moves.FLAME_CHARGE ], - [ 43, Moves.LAVA_PLUME ], - [ 48, Moves.FLAMETHROWER ], - [ 56, Moves.INFERNO ], - [ 61, Moves.ROLLOUT ], - [ 74, Moves.OVERHEAT ], - ], - [Species.TOTODILE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 5, Moves.WATER_GUN ], // Custom, moved from 6 to 5 - [ 9, Moves.BITE ], - [ 13, Moves.SCARY_FACE ], - [ 19, Moves.ICE_FANG ], - [ 22, Moves.FLAIL ], - [ 27, Moves.CRUNCH ], - [ 30, Moves.SLASH ], - [ 33, Moves.SCREECH ], - [ 37, Moves.THRASH ], - [ 41, Moves.AQUA_TAIL ], - [ 45, Moves.SUPERPOWER ], - [ 50, Moves.HYDRO_PUMP ], - ], - [Species.CROCONAW]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.WATER_GUN ], - [ 13, Moves.BITE ], - [ 15, Moves.SCARY_FACE ], - [ 21, Moves.ICE_FANG ], - [ 24, Moves.FLAIL ], - [ 30, Moves.CRUNCH ], - [ 34, Moves.SLASH ], - [ 37, Moves.SCREECH ], - [ 42, Moves.THRASH ], - [ 47, Moves.AQUA_TAIL ], - [ 50, Moves.SUPERPOWER ], - [ 55, Moves.HYDRO_PUMP ], - ], - [Species.FERALIGATR]: [ - [ 1, Moves.AGILITY ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.WATER_GUN ], - [ 13, Moves.BITE ], - [ 15, Moves.SCARY_FACE ], - [ 21, Moves.ICE_FANG ], - [ 24, Moves.FLAIL ], - [ 32, Moves.CRUNCH ], - [ 37, Moves.SLASH ], - [ 44, Moves.SCREECH ], - [ 51, Moves.THRASH ], - [ 59, Moves.AQUA_TAIL ], - [ 65, Moves.SUPERPOWER ], - [ 70, Moves.HYDRO_PUMP ], - ], - [Species.SENTRET]: [ - [ 1, Moves.SCRATCH ], - [ 4, Moves.DEFENSE_CURL ], - [ 7, Moves.QUICK_ATTACK ], - [ 13, Moves.FURY_SWIPES ], - [ 16, Moves.HELPING_HAND ], - [ 19, Moves.FOLLOW_ME ], - [ 25, Moves.SLAM ], - [ 28, Moves.REST ], - [ 31, Moves.SUCKER_PUNCH ], - [ 36, Moves.AMNESIA ], - [ 39, Moves.BATON_PASS ], - [ 42, Moves.DOUBLE_EDGE ], - [ 47, Moves.HYPER_VOICE ], - ], - [Species.FURRET]: [ - [ EVOLVE_MOVE, Moves.AGILITY ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.COIL ], - [ 13, Moves.FURY_SWIPES ], - [ 17, Moves.HELPING_HAND ], - [ 21, Moves.FOLLOW_ME ], - [ 28, Moves.SLAM ], - [ 32, Moves.REST ], - [ 36, Moves.SUCKER_PUNCH ], - [ 42, Moves.AMNESIA ], - [ 46, Moves.BATON_PASS ], - [ 50, Moves.DOUBLE_EDGE ], - [ 56, Moves.HYPER_VOICE ], - ], - [Species.HOOTHOOT]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 3, Moves.TACKLE ], - [ 6, Moves.ECHOED_VOICE ], - [ 9, Moves.CONFUSION ], - [ 12, Moves.REFLECT ], - [ 15, Moves.DEFOG ], - [ 18, Moves.AIR_SLASH ], - [ 21, Moves.EXTRASENSORY ], - [ 24, Moves.TAKE_DOWN ], - [ 27, Moves.UPROAR ], - [ 30, Moves.ROOST ], - [ 33, Moves.MOONBLAST ], - [ 36, Moves.HYPNOSIS ], - [ 39, Moves.DREAM_EATER ], - ], - [Species.NOCTOWL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 1, Moves.SKY_ATTACK ], - [ 1, Moves.ECHOED_VOICE ], - [ 9, Moves.CONFUSION ], - [ 12, Moves.REFLECT ], - [ 15, Moves.DEFOG ], - [ 18, Moves.AIR_SLASH ], - [ 23, Moves.EXTRASENSORY ], - [ 28, Moves.TAKE_DOWN ], - [ 33, Moves.UPROAR ], - [ 38, Moves.ROOST ], - [ 43, Moves.MOONBLAST ], - [ 48, Moves.HYPNOSIS ], - [ 53, Moves.DREAM_EATER ], - ], - [Species.LEDYBA]: [ - [ 1, Moves.TACKLE ], - [ 5, Moves.SUPERSONIC ], - [ 8, Moves.SWIFT ], - [ 12, Moves.LIGHT_SCREEN ], - [ 12, Moves.REFLECT ], - [ 12, Moves.SAFEGUARD ], - [ 15, Moves.MACH_PUNCH ], - [ 19, Moves.ROOST ], - [ 22, Moves.STRUGGLE_BUG ], - [ 26, Moves.BATON_PASS ], - [ 29, Moves.AGILITY ], - [ 33, Moves.BUG_BUZZ ], - [ 36, Moves.AIR_SLASH ], - [ 40, Moves.DOUBLE_EDGE ], - ], - [Species.LEDIAN]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.SWIFT ], - [ 5, Moves.SUPERSONIC ], - [ 12, Moves.LIGHT_SCREEN ], - [ 12, Moves.REFLECT ], - [ 12, Moves.SAFEGUARD ], - [ 15, Moves.MACH_PUNCH ], - [ 20, Moves.ROOST ], - [ 24, Moves.STRUGGLE_BUG ], - [ 29, Moves.BATON_PASS ], - [ 33, Moves.AGILITY ], - [ 38, Moves.BUG_BUZZ ], - [ 42, Moves.AIR_SLASH ], - [ 47, Moves.DOUBLE_EDGE ], - ], - [Species.SPINARAK]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.CONSTRICT ], - [ 5, Moves.ABSORB ], - [ 8, Moves.INFESTATION ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.NIGHT_SHADE ], - [ 19, Moves.SHADOW_SNEAK ], - [ 22, Moves.FURY_SWIPES ], - [ 26, Moves.SUCKER_PUNCH ], - [ 29, Moves.AGILITY ], - [ 33, Moves.PIN_MISSILE ], - [ 36, Moves.PSYCHIC ], - [ 40, Moves.POISON_JAB ], - [ 44, Moves.CROSS_POISON ], - [ 47, Moves.STICKY_WEB ], - [ 51, Moves.TOXIC_THREAD ], - ], - [Species.ARIADOS]: [ - [ EVOLVE_MOVE, Moves.SWORDS_DANCE ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.ABSORB ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.CONSTRICT ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.FELL_STINGER ], - [ 8, Moves.INFESTATION ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.NIGHT_SHADE ], - [ 19, Moves.SHADOW_SNEAK ], - [ 23, Moves.FURY_SWIPES ], - [ 28, Moves.SUCKER_PUNCH ], - [ 31, Moves.AGILITY ], - [ 35, Moves.PIN_MISSILE ], - [ 41, Moves.PSYCHIC ], - [ 46, Moves.POISON_JAB ], - [ 50, Moves.CROSS_POISON ], - [ 54, Moves.STICKY_WEB ], - [ 59, Moves.TOXIC_THREAD ], - ], - [Species.CROBAT]: [ - [ EVOLVE_MOVE, Moves.CROSS_POISON ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.ABSORB ], - [ 1, Moves.TOXIC ], - [ 1, Moves.SCREECH ], - [ 1, Moves.MEAN_LOOK ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.TAILWIND ], - [ 15, Moves.POISON_FANG ], - [ 20, Moves.QUICK_GUARD ], - [ 27, Moves.AIR_CUTTER ], - [ 34, Moves.BITE ], - [ 41, Moves.HAZE ], - [ 48, Moves.VENOSHOCK ], - [ 55, Moves.CONFUSE_RAY ], - [ 62, Moves.AIR_SLASH ], - [ 69, Moves.LEECH_LIFE ], - ], - [Species.CHINCHOU]: [ - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.ELECTRO_BALL ], - [ 8, Moves.THUNDER_WAVE ], - [ 12, Moves.BUBBLE_BEAM ], - [ 16, Moves.CONFUSE_RAY ], - [ 20, Moves.SPARK ], - [ 24, Moves.CHARGE ], - [ 28, Moves.DISCHARGE ], - [ 32, Moves.AQUA_RING ], - [ 36, Moves.FLAIL ], - [ 40, Moves.TAKE_DOWN ], - [ 44, Moves.HYDRO_PUMP ], - ], - [Species.LANTURN]: [ - [ EVOLVE_MOVE, Moves.STOCKPILE ], - [ EVOLVE_MOVE, Moves.SPIT_UP ], - [ EVOLVE_MOVE, Moves.SWALLOW ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SPOTLIGHT ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.ELECTRO_BALL ], - [ 1, Moves.EERIE_IMPULSE ], - [ 12, Moves.BUBBLE_BEAM ], - [ 16, Moves.CONFUSE_RAY ], - [ 20, Moves.SPARK ], - [ 24, Moves.CHARGE ], - [ 30, Moves.DISCHARGE ], - [ 36, Moves.AQUA_RING ], - [ 42, Moves.FLAIL ], - [ 48, Moves.TAKE_DOWN ], - [ 54, Moves.HYDRO_PUMP ], - ], - [Species.PICHU]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.THUNDER_SHOCK ], - [ 4, Moves.PLAY_NICE ], - [ 8, Moves.SWEET_KISS ], - [ 12, Moves.NUZZLE ], - [ 16, Moves.NASTY_PLOT ], - [ 20, Moves.CHARM ], - ], - [Species.CLEFFA]: [ - [ 1, Moves.POUND ], - [ 1, Moves.SPLASH ], - [ 1, Moves.COPYCAT ], - [ 4, Moves.SING ], - [ 8, Moves.SWEET_KISS ], - [ 12, Moves.DISARMING_VOICE ], - [ 16, Moves.ENCORE ], - [ 20, Moves.CHARM ], - ], - [Species.IGGLYBUFF]: [ - [ 1, Moves.POUND ], - [ 1, Moves.SING ], - [ 1, Moves.COPYCAT ], - [ 4, Moves.DEFENSE_CURL ], - [ 8, Moves.SWEET_KISS ], - [ 12, Moves.DISARMING_VOICE ], - [ 16, Moves.DISABLE ], - [ 20, Moves.CHARM ], - ], - [Species.TOGEPI]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 4, Moves.SWEET_KISS ], - [ 8, Moves.LIFE_DEW ], - [ 12, Moves.CHARM ], - [ 16, Moves.ANCIENT_POWER ], - [ 20, Moves.YAWN ], - [ 24, Moves.METRONOME ], - [ 28, Moves.AFTER_YOU ], - [ 32, Moves.DOUBLE_EDGE ], - [ 36, Moves.SAFEGUARD ], - [ 40, Moves.FOLLOW_ME ], - [ 44, Moves.BATON_PASS ], - [ 48, Moves.LAST_RESORT ], - [ 52, Moves.WISH ], - ], - [Species.TOGETIC]: [ - [ EVOLVE_MOVE, Moves.FAIRY_WIND ], - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.LIFE_DEW ], - [ 12, Moves.CHARM ], - [ 16, Moves.ANCIENT_POWER ], - [ 20, Moves.YAWN ], - [ 24, Moves.METRONOME ], - [ 28, Moves.AFTER_YOU ], - [ 32, Moves.DOUBLE_EDGE ], - [ 36, Moves.SAFEGUARD ], - [ 40, Moves.FOLLOW_ME ], - [ 44, Moves.BATON_PASS ], - [ 48, Moves.LAST_RESORT ], - [ 52, Moves.WISH ], - ], - [Species.NATU]: [ - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 5, Moves.STORED_POWER ], - [ 10, Moves.TELEPORT ], - [ 15, Moves.CONFUSE_RAY ], - [ 20, Moves.NIGHT_SHADE ], - [ 26, Moves.PSYCHO_SHIFT ], - [ 30, Moves.POWER_SWAP ], - [ 35, Moves.PSYCHIC ], - [ 35, Moves.GUARD_SWAP ], - [ 40, Moves.WISH ], - [ 45, Moves.FUTURE_SIGHT ], - ], - [Species.XATU]: [ - [ EVOLVE_MOVE, Moves.AIR_SLASH ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.TAILWIND ], - [ 1, Moves.STORED_POWER ], - [ 15, Moves.CONFUSE_RAY ], - [ 20, Moves.NIGHT_SHADE ], - [ 28, Moves.PSYCHO_SHIFT ], - [ 34, Moves.POWER_SWAP ], - [ 34, Moves.GUARD_SWAP ], - [ 41, Moves.PSYCHIC ], - [ 48, Moves.WISH ], - [ 55, Moves.FUTURE_SIGHT ], - ], - [Species.MAREEP]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.THUNDER_SHOCK ], - [ 11, Moves.COTTON_SPORE ], - [ 15, Moves.CHARGE ], - [ 18, Moves.TAKE_DOWN ], - [ 22, Moves.ELECTRO_BALL ], - [ 25, Moves.CONFUSE_RAY ], - [ 29, Moves.POWER_GEM ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.COTTON_GUARD ], - [ 39, Moves.DAZZLING_GLEAM ], - [ 43, Moves.LIGHT_SCREEN ], - [ 46, Moves.THUNDER ], - ], - [Species.FLAAFFY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 6, Moves.THUNDER_SHOCK ], - [ 9, Moves.THUNDER_WAVE ], - [ 11, Moves.COTTON_SPORE ], - [ 16, Moves.CHARGE ], - [ 20, Moves.TAKE_DOWN ], - [ 25, Moves.ELECTRO_BALL ], - [ 29, Moves.CONFUSE_RAY ], - [ 34, Moves.POWER_GEM ], - [ 38, Moves.DISCHARGE ], - [ 43, Moves.COTTON_GUARD ], - [ 47, Moves.DAZZLING_GLEAM ], - [ 52, Moves.LIGHT_SCREEN ], - [ 56, Moves.THUNDER ], - ], - [Species.AMPHAROS]: [ - [ EVOLVE_MOVE, Moves.THUNDER_PUNCH ], - [ 1, Moves.FIRE_PUNCH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.ZAP_CANNON ], - [ 1, Moves.DRAGON_PULSE ], - [ 1, Moves.MAGNETIC_FLUX ], - [ 1, Moves.ION_DELUGE ], - [ 11, Moves.COTTON_SPORE ], - [ 16, Moves.CHARGE ], - [ 20, Moves.TAKE_DOWN ], - [ 25, Moves.ELECTRO_BALL ], - [ 29, Moves.CONFUSE_RAY ], - [ 35, Moves.POWER_GEM ], - [ 40, Moves.DISCHARGE ], - [ 46, Moves.COTTON_GUARD ], - [ 51, Moves.DAZZLING_GLEAM ], - [ 57, Moves.LIGHT_SCREEN ], - [ 62, Moves.THUNDER ], - ], - [Species.BELLOSSOM]: [ - [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ], - [ 1, Moves.ACID ], - [ 1, Moves.ABSORB ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.GROWTH ], - [ 1, Moves.POISON_POWDER ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.SLEEP_POWDER ], - [ 1, Moves.PETAL_DANCE ], - [ 1, Moves.TOXIC ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.QUIVER_DANCE ], - [ 1, Moves.GRASSY_TERRAIN ], - [ 1, Moves.MOONBLAST ], - ], - [Species.MARILL]: [ - [ 1, Moves.SPLASH ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.HELPING_HAND ], - [ 6, Moves.BUBBLE_BEAM ], - [ 9, Moves.CHARM ], - [ 12, Moves.SLAM ], - [ 15, Moves.BOUNCE ], - [ 19, Moves.AQUA_TAIL ], - [ 21, Moves.PLAY_ROUGH ], - [ 24, Moves.AQUA_RING ], - [ 27, Moves.RAIN_DANCE ], - [ 30, Moves.HYDRO_PUMP ], - [ 33, Moves.DOUBLE_EDGE ], - [ 36, Moves.SUPERPOWER ], - ], - [Species.AZUMARILL]: [ - [ 1, Moves.SPLASH ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.HELPING_HAND ], - [ 6, Moves.BUBBLE_BEAM ], - [ 9, Moves.CHARM ], - [ 12, Moves.SLAM ], - [ 15, Moves.BOUNCE ], - [ 21, Moves.AQUA_TAIL ], - [ 25, Moves.PLAY_ROUGH ], - [ 30, Moves.AQUA_RING ], - [ 35, Moves.RAIN_DANCE ], - [ 40, Moves.HYDRO_PUMP ], - [ 45, Moves.DOUBLE_EDGE ], - [ 50, Moves.SUPERPOWER ], - ], - [Species.SUDOWOODO]: [ - [ EVOLVE_MOVE, Moves.SLAM ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.TACKLE ], // Previous Stage Move, Custom - [ 1, Moves.FLAIL ], - [ 1, Moves.FAKE_TEARS ], - [ 1, Moves.HAMMER_ARM ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.STONE_EDGE ], - [ 1, Moves.WOOD_HAMMER ], - [ 12, Moves.BLOCK ], - [ 16, Moves.MIMIC ], - [ 20, Moves.ROCK_TOMB ], - [ 24, Moves.TEARFUL_LOOK ], - [ 28, Moves.SUCKER_PUNCH ], - [ 32, Moves.ROCK_SLIDE ], - [ 36, Moves.LOW_KICK ], - [ 40, Moves.COUNTER ], - [ 44, Moves.DOUBLE_EDGE ], - [ 48, Moves.HEAD_SMASH ], - ], - [Species.POLITOED]: [ - [ EVOLVE_MOVE, Moves.BOUNCE ], - [ RELEARN_MOVE, Moves.BODY_SLAM ], - [ RELEARN_MOVE, Moves.DOUBLE_EDGE ], - [ RELEARN_MOVE, Moves.WATER_GUN ], - [ RELEARN_MOVE, Moves.BUBBLE_BEAM ], - [ RELEARN_MOVE, Moves.HYPNOSIS ], - [ RELEARN_MOVE, Moves.PERISH_SONG ], - [ RELEARN_MOVE, Moves.SWAGGER ], - [ RELEARN_MOVE, Moves.HYPER_VOICE ], - [ RELEARN_MOVE, Moves.MUD_SHOT ], - [ RELEARN_MOVE, Moves.EARTH_POWER ], - [ 1, Moves.RAIN_DANCE ], - [ 1, Moves.HYDRO_PUMP ], - [ 1, Moves.BELLY_DRUM ], - [ 1, Moves.POUND ], - [ 1, Moves.WATER_SPORT ], // Previous Stage Move - ], - [Species.HOPPIP]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SPLASH ], - [ 4, Moves.TAIL_WHIP ], - [ 6, Moves.ABSORB ], - [ 8, Moves.FAIRY_WIND ], - [ 10, Moves.POISON_POWDER ], - [ 10, Moves.STUN_SPORE ], - [ 10, Moves.SLEEP_POWDER ], - [ 12, Moves.BULLET_SEED ], - [ 15, Moves.SYNTHESIS ], - [ 19, Moves.LEECH_SEED ], - [ 22, Moves.MEGA_DRAIN ], - [ 24, Moves.ACROBATICS ], - [ 27, Moves.COTTON_SPORE ], - [ 29, Moves.U_TURN ], - [ 32, Moves.GIGA_DRAIN ], - [ 35, Moves.BOUNCE ], - [ 38, Moves.MEMENTO ], - ], - [Species.SKIPLOOM]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.ABSORB ], - [ 1, Moves.SPLASH ], - [ 1, Moves.SYNTHESIS ], - [ 8, Moves.TACKLE ], - [ 10, Moves.FAIRY_WIND ], - [ 12, Moves.POISON_POWDER ], - [ 12, Moves.STUN_SPORE ], - [ 12, Moves.SLEEP_POWDER ], - [ 15, Moves.BULLET_SEED ], - [ 20, Moves.LEECH_SEED ], - [ 24, Moves.MEGA_DRAIN ], - [ 28, Moves.ACROBATICS ], - [ 31, Moves.COTTON_SPORE ], - [ 34, Moves.U_TURN ], - [ 37, Moves.GIGA_DRAIN ], - [ 41, Moves.BOUNCE ], - [ 44, Moves.MEMENTO ], - ], - [Species.JUMPLUFF]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.ABSORB ], - [ 1, Moves.SPLASH ], - [ 1, Moves.SYNTHESIS ], - [ 8, Moves.TACKLE ], - [ 10, Moves.FAIRY_WIND ], - [ 12, Moves.POISON_POWDER ], - [ 12, Moves.STUN_SPORE ], - [ 12, Moves.SLEEP_POWDER ], - [ 15, Moves.BULLET_SEED ], - [ 20, Moves.LEECH_SEED ], - [ 24, Moves.MEGA_DRAIN ], - [ 30, Moves.ACROBATICS ], - [ 35, Moves.COTTON_SPORE ], - [ 39, Moves.U_TURN ], - [ 43, Moves.GIGA_DRAIN ], - [ 49, Moves.BOUNCE ], - [ 55, Moves.MEMENTO ], - ], - [Species.AIPOM]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 4, Moves.SAND_ATTACK ], - [ 8, Moves.ASTONISH ], - [ 11, Moves.BATON_PASS ], - [ 15, Moves.TICKLE ], - [ 18, Moves.FURY_SWIPES ], - [ 22, Moves.SWIFT ], - [ 25, Moves.SCREECH ], - [ 29, Moves.AGILITY ], - [ 32, Moves.DOUBLE_HIT ], - [ 36, Moves.FLING ], - [ 39, Moves.NASTY_PLOT ], - [ 43, Moves.LAST_RESORT ], - ], - [Species.SUNKERN]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWTH ], - [ 7, Moves.ABSORB ], - [ 10, Moves.MEGA_DRAIN ], - [ 16, Moves.RAZOR_LEAF ], - [ 19, Moves.WORRY_SEED ], - [ 22, Moves.GIGA_DRAIN ], - [ 25, Moves.ENDEAVOR ], - [ 28, Moves.SYNTHESIS ], - [ 31, Moves.SOLAR_BEAM ], - [ 34, Moves.DOUBLE_EDGE ], - [ 36, Moves.SUNNY_DAY ], - [ 39, Moves.SEED_BOMB ], - ], - [Species.SUNFLORA]: [ - [ RELEARN_MOVE, Moves.SEED_BOMB ], // Previous Stage Move - [ 1, Moves.POUND ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWTH ], - [ 1, Moves.ENDEAVOR ], // Previous Stage Move - [ 1, Moves.SYNTHESIS ], // Previous Stage Move - [ 4, Moves.INGRAIN ], - [ 7, Moves.ABSORB ], - [ 10, Moves.MEGA_DRAIN ], - [ 13, Moves.LEECH_SEED ], - [ 16, Moves.RAZOR_LEAF ], - [ 19, Moves.WORRY_SEED ], - [ 22, Moves.GIGA_DRAIN ], - [ 25, Moves.BULLET_SEED ], - [ 28, Moves.PETAL_DANCE ], - [ 31, Moves.SOLAR_BEAM ], - [ 34, Moves.DOUBLE_EDGE ], - [ 39, Moves.SUNNY_DAY ], - [ 43, Moves.LEAF_STORM ], - [ 50, Moves.PETAL_BLIZZARD ], - ], - [Species.YANMA]: [ - [ 1, Moves.TACKLE ], - [ 6, Moves.QUICK_ATTACK ], - [ 11, Moves.DOUBLE_TEAM ], - [ 14, Moves.AIR_CUTTER ], - [ 17, Moves.DETECT ], - [ 22, Moves.SUPERSONIC ], - [ 27, Moves.UPROAR ], - [ 30, Moves.BUG_BITE ], - [ 33, Moves.ANCIENT_POWER ], - [ 38, Moves.HYPNOSIS ], - [ 43, Moves.WING_ATTACK ], - [ 46, Moves.SCREECH ], - [ 49, Moves.U_TURN ], - [ 54, Moves.AIR_SLASH ], - [ 57, Moves.BUG_BUZZ ], - ], - [Species.WOOPER]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.RAIN_DANCE ], - [ 8, Moves.MUD_SHOT ], - [ 12, Moves.MIST ], - [ 12, Moves.HAZE ], - [ 16, Moves.SLAM ], - [ 21, Moves.YAWN ], - [ 24, Moves.AQUA_TAIL ], - [ 28, Moves.MUDDY_WATER ], - [ 32, Moves.AMNESIA ], - [ 36, Moves.TOXIC ], - [ 40, Moves.EARTHQUAKE ], - ], - [Species.QUAGSIRE]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.RAIN_DANCE ], - [ 1, Moves.MUD_SHOT ], - [ 12, Moves.MIST ], - [ 12, Moves.HAZE ], - [ 16, Moves.SLAM ], - [ 23, Moves.YAWN ], - [ 28, Moves.AQUA_TAIL ], - [ 34, Moves.MUDDY_WATER ], - [ 40, Moves.AMNESIA ], - [ 46, Moves.TOXIC ], - [ 52, Moves.EARTHQUAKE ], - ], - [Species.ESPEON]: [ - [ EVOLVE_MOVE, Moves.GLITZY_GLOW ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.GROWL ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.CONFUSION ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.SWIFT ], - [ 30, Moves.PSYBEAM ], - [ 35, Moves.MORNING_SUN ], - [ 40, Moves.POWER_SWAP ], - [ 45, Moves.PSYCHIC ], - [ 50, Moves.PSYCH_UP ], - [ 55, Moves.FUTURE_SIGHT ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.UMBREON]: [ - [ EVOLVE_MOVE, Moves.BADDY_BAD ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWIFT ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.PURSUIT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.SNARL ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.CONFUSE_RAY ], - [ 30, Moves.ASSURANCE ], - [ 35, Moves.MOONLIGHT ], - [ 40, Moves.GUARD_SWAP ], - [ 45, Moves.DARK_PULSE ], - [ 50, Moves.SCREECH ], - [ 55, Moves.MEAN_LOOK ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.MURKROW]: [ - [ 1, Moves.PECK ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.GUST ], - [ 11, Moves.HAZE ], - [ 15, Moves.WING_ATTACK ], - [ 21, Moves.NIGHT_SHADE ], - [ 25, Moves.ASSURANCE ], - [ 31, Moves.TAUNT ], - [ 35, Moves.MEAN_LOOK ], - [ 40, Moves.FOUL_PLAY ], - [ 50, Moves.SUCKER_PUNCH ], - [ 55, Moves.TORMENT ], - [ 60, Moves.QUASH ], - ], - [Species.SLOWKING]: [ - [ RELEARN_MOVE, Moves.FUTURE_SIGHT ], - [ RELEARN_MOVE, Moves.CHILLY_RECEPTION ], - [ 1, Moves.POWER_GEM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.SWAGGER ], - [ 1, Moves.TACKLE ], - [ 1, Moves.CURSE ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 9, Moves.YAWN ], - [ 12, Moves.CONFUSION ], - [ 15, Moves.DISABLE ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.ZEN_HEADBUTT ], // Previous Stage Move, Galar Slowking Level - [ 27, Moves.AMNESIA ], - [ 30, Moves.SURF ], - [ 33, Moves.SLACK_OFF ], - [ 36, Moves.PSYCHIC ], - [ 39, Moves.PSYCH_UP ], - [ 42, Moves.RAIN_DANCE ], - [ 45, Moves.HEAL_PULSE ], - ], - [Species.MISDREAVUS]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.PSYWAVE ], - [ 10, Moves.ASTONISH ], - [ 14, Moves.CONFUSE_RAY ], - [ 19, Moves.MEAN_LOOK ], - [ 23, Moves.HEX ], - [ 28, Moves.PSYBEAM ], - [ 32, Moves.PAIN_SPLIT ], - [ 37, Moves.PAYBACK ], - [ 41, Moves.SHADOW_BALL ], - [ 46, Moves.PERISH_SONG ], - [ 50, Moves.POWER_GEM ], - ], - [Species.UNOWN]: [ - [ 1, Moves.HIDDEN_POWER ], - ], - [Species.WOBBUFFET]: [ - [ EVOLVE_MOVE, Moves.COUNTER ], - [ EVOLVE_MOVE, Moves.DESTINY_BOND ], - [ EVOLVE_MOVE, Moves.SAFEGUARD ], - [ EVOLVE_MOVE, Moves.MIRROR_COAT ], - [ 1, Moves.COUNTER ], - [ 1, Moves.DESTINY_BOND ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.MIRROR_COAT ], - [ 1, Moves.AMNESIA ], - [ 1, Moves.SPLASH ], - [ 1, Moves.CHARM ], - [ 1, Moves.ENCORE ], - ], - [Species.GIRAFARIG]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.POWER_SWAP ], - [ 1, Moves.GUARD_SWAP ], - [ 5, Moves.CONFUSION ], - [ 10, Moves.ASSURANCE ], - [ 14, Moves.STOMP ], - [ 19, Moves.PSYBEAM ], - [ 23, Moves.AGILITY ], - [ 28, Moves.DOUBLE_HIT ], - [ 32, Moves.TWIN_BEAM ], - [ 37, Moves.CRUNCH ], - [ 41, Moves.BATON_PASS ], - [ 46, Moves.NASTY_PLOT ], - [ 50, Moves.PSYCHIC ], - ], - [Species.PINECO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 6, Moves.SELF_DESTRUCT ], - [ 9, Moves.BUG_BITE ], - [ 12, Moves.TAKE_DOWN ], - [ 17, Moves.RAPID_SPIN ], - [ 20, Moves.ROLLOUT ], - [ 23, Moves.CURSE ], - [ 28, Moves.SPIKES ], - [ 31, Moves.PAYBACK ], - [ 34, Moves.EXPLOSION ], - [ 39, Moves.IRON_DEFENSE ], - [ 42, Moves.GYRO_BALL ], - [ 45, Moves.DOUBLE_EDGE ], - ], - [Species.FORRETRESS]: [ - [ EVOLVE_MOVE, Moves.HEAVY_SLAM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SELF_DESTRUCT ], - [ 1, Moves.PROTECT ], - [ 1, Moves.ZAP_CANNON ], - [ 1, Moves.TOXIC_SPIKES ], - [ 1, Moves.MAGNET_RISE ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.MIRROR_SHOT ], - [ 12, Moves.TAKE_DOWN ], - [ 17, Moves.RAPID_SPIN ], - [ 20, Moves.ROLLOUT ], - [ 23, Moves.CURSE ], - [ 28, Moves.SPIKES ], - [ 32, Moves.PAYBACK ], - [ 36, Moves.EXPLOSION ], - [ 42, Moves.IRON_DEFENSE ], - [ 46, Moves.GYRO_BALL ], - [ 50, Moves.DOUBLE_EDGE ], - ], - [Species.DUNSPARCE]: [ - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.FLAIL ], - [ 1, Moves.TACKLE ], // Custom - [ 4, Moves.MUD_SLAP ], - [ 8, Moves.ROLLOUT ], - [ 12, Moves.GLARE ], - [ 16, Moves.SCREECH ], - [ 20, Moves.ANCIENT_POWER ], - [ 24, Moves.DRILL_RUN ], - [ 28, Moves.YAWN ], - [ 32, Moves.HYPER_DRILL ], - [ 36, Moves.ROOST ], - [ 40, Moves.DRAGON_RUSH ], - [ 44, Moves.COIL ], - [ 48, Moves.DOUBLE_EDGE ], - [ 52, Moves.ENDEAVOR ], - ], - [Species.GLIGAR]: [ - [ 1, Moves.POISON_STING ], - [ 4, Moves.SAND_ATTACK ], - [ 7, Moves.HARDEN ], - [ 10, Moves.KNOCK_OFF ], - [ 13, Moves.QUICK_ATTACK ], - [ 16, Moves.FURY_CUTTER ], - [ 19, Moves.POISON_TAIL ], - [ 22, Moves.ACROBATICS ], - [ 27, Moves.SLASH ], - [ 30, Moves.U_TURN ], - [ 35, Moves.SCREECH ], - [ 40, Moves.X_SCISSOR ], - [ 45, Moves.CRABHAMMER ], - [ 50, Moves.SWORDS_DANCE ], - ], - [Species.STEELIX]: [ - [ 1, Moves.BIND ], - [ 1, Moves.TACKLE ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MUD_SPORT ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.ROCK_POLISH ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 4, Moves.SMACK_DOWN ], - [ 8, Moves.AUTOTOMIZE ], - [ 12, Moves.DRAGON_BREATH ], - [ 16, Moves.CURSE ], - [ 20, Moves.ROCK_SLIDE ], - [ 22, Moves.GYRO_BALL ], // Custom from USUM - [ 24, Moves.SCREECH ], - [ 28, Moves.SAND_TOMB ], - [ 32, Moves.STEALTH_ROCK ], - [ 36, Moves.SLAM ], - [ 40, Moves.SANDSTORM ], - [ 44, Moves.DIG ], - [ 48, Moves.IRON_TAIL ], - [ 52, Moves.STONE_EDGE ], - [ 56, Moves.DOUBLE_EDGE ], - [ 60, Moves.MAGNET_RISE ], - ], - [Species.SNUBBULL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.CHARM ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 7, Moves.BITE ], - [ 13, Moves.LICK ], - [ 19, Moves.HEADBUTT ], - [ 25, Moves.ROAR ], - [ 31, Moves.LAST_RESORT ], - [ 37, Moves.PLAY_ROUGH ], - [ 43, Moves.PAYBACK ], - [ 49, Moves.CRUNCH ], - ], - [Species.GRANBULL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.OUTRAGE ], - [ 1, Moves.CHARM ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 7, Moves.BITE ], - [ 13, Moves.LICK ], - [ 19, Moves.HEADBUTT ], - [ 27, Moves.ROAR ], - [ 35, Moves.LAST_RESORT ], - [ 43, Moves.PLAY_ROUGH ], - [ 51, Moves.PAYBACK ], - [ 59, Moves.CRUNCH ], - ], - [Species.QWILFISH]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POISON_STING ], - [ 4, Moves.HARDEN ], - [ 8, Moves.WATER_GUN ], - [ 12, Moves.FELL_STINGER ], - [ 16, Moves.MINIMIZE ], - [ 20, Moves.SPIKES ], - [ 24, Moves.BRINE ], - [ 28, Moves.POISON_JAB ], - [ 32, Moves.PIN_MISSILE ], - [ 36, Moves.TOXIC_SPIKES ], - [ 40, Moves.STOCKPILE ], - [ 40, Moves.SPIT_UP ], - [ 44, Moves.TOXIC ], - [ 48, Moves.AQUA_TAIL ], - [ 52, Moves.ACUPRESSURE ], - [ 56, Moves.DESTINY_BOND ], - ], - [Species.SCIZOR]: [ - [ EVOLVE_MOVE, Moves.BULLET_PUNCH ], - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.AGILITY ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FALSE_SWIPE ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.AIR_SLASH ], - [ 12, Moves.METAL_CLAW ], - [ 16, Moves.DOUBLE_TEAM ], - [ 20, Moves.DOUBLE_HIT ], - [ 24, Moves.SLASH ], - [ 28, Moves.FOCUS_ENERGY ], - [ 30, Moves.STEEL_WING ], // Custom - [ 32, Moves.IRON_DEFENSE ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.X_SCISSOR ], - [ 44, Moves.SWORDS_DANCE ], - ], - [Species.SHUCKLE]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.BIDE ], - [ 1, Moves.CONSTRICT ], - [ 5, Moves.ROLLOUT ], - [ 10, Moves.STRUGGLE_BUG ], - [ 15, Moves.ROCK_THROW ], - [ 20, Moves.SAFEGUARD ], - [ 25, Moves.REST ], - [ 30, Moves.BUG_BITE ], - [ 35, Moves.GUARD_SPLIT ], - [ 35, Moves.POWER_SPLIT ], - [ 40, Moves.ROCK_SLIDE ], - [ 45, Moves.GASTRO_ACID ], - [ 50, Moves.STICKY_WEB ], - [ 55, Moves.POWER_TRICK ], - [ 60, Moves.STONE_EDGE ], - [ 65, Moves.SHELL_SMASH ], - ], - [Species.HERACROSS]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.ARM_THRUST ], - [ 5, Moves.FURY_ATTACK ], - [ 10, Moves.ENDURE ], - [ 15, Moves.AERIAL_ACE ], - [ 20, Moves.HORN_ATTACK ], - [ 25, Moves.COUNTER ], - [ 30, Moves.BRICK_BREAK ], - [ 35, Moves.PIN_MISSILE ], - [ 40, Moves.THROAT_CHOP ], - [ 45, Moves.THRASH ], - [ 50, Moves.SWORDS_DANCE ], - [ 55, Moves.MEGAHORN ], - [ 60, Moves.CLOSE_COMBAT ], - ], - [Species.SNEASEL]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 6, Moves.TAUNT ], - [ 12, Moves.QUICK_ATTACK ], - [ 18, Moves.METAL_CLAW ], - [ 24, Moves.ICY_WIND ], - [ 30, Moves.FURY_SWIPES ], - [ 36, Moves.HONE_CLAWS ], - [ 42, Moves.BEAT_UP ], - [ 48, Moves.AGILITY ], - [ 54, Moves.SCREECH ], - [ 60, Moves.SLASH ], - ], - [Species.TEDDIURSA]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LICK ], - [ 1, Moves.COVET ], - [ 1, Moves.FLING ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 8, Moves.FURY_SWIPES ], - [ 13, Moves.PAYBACK ], - [ 17, Moves.SWEET_SCENT ], - [ 22, Moves.SLASH ], - [ 25, Moves.PLAY_NICE ], - [ 29, Moves.PLAY_ROUGH ], - [ 33, Moves.CHARM ], - [ 37, Moves.REST ], - [ 37, Moves.SNORE ], - [ 41, Moves.THRASH ], - ], - [Species.URSARING]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.LICK ], - [ 1, Moves.COVET ], - [ 1, Moves.FLING ], // Previous Stage Move - [ 1, Moves.BABY_DOLL_EYES ], // Previous Stage Move - [ 1, Moves.FAKE_TEARS ], - [ 1, Moves.CHARM ], // Previous Stage Move - [ 8, Moves.FURY_SWIPES ], - [ 13, Moves.PAYBACK ], - [ 17, Moves.SWEET_SCENT ], - [ 22, Moves.SLASH ], - [ 25, Moves.PLAY_NICE ], - [ 29, Moves.PLAY_ROUGH ], - [ 35, Moves.SCARY_FACE ], - [ 41, Moves.REST ], - [ 41, Moves.SNORE ], - [ 48, Moves.HIGH_HORSEPOWER ], - [ 56, Moves.THRASH ], - [ 64, Moves.HAMMER_ARM ], - ], - [Species.SLUGMA]: [ - [ 1, Moves.SMOG ], - [ 1, Moves.YAWN ], - [ 5, Moves.EMBER ], // Custom, Moved from Level 6 to 5 - [ 8, Moves.ROCK_THROW ], - [ 13, Moves.HARDEN ], - [ 20, Moves.CLEAR_SMOG ], - [ 22, Moves.ANCIENT_POWER ], - [ 27, Moves.INCINERATE ], - [ 29, Moves.ROCK_SLIDE ], - [ 34, Moves.LAVA_PLUME ], - [ 36, Moves.AMNESIA ], - [ 41, Moves.BODY_SLAM ], - [ 43, Moves.RECOVER ], - [ 48, Moves.FLAMETHROWER ], - [ 50, Moves.EARTH_POWER ], - ], - [Species.MAGCARGO]: [ - [ EVOLVE_MOVE, Moves.SHELL_SMASH ], - [ 1, Moves.EMBER ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.SMOG ], - [ 1, Moves.YAWN ], - [ 1, Moves.EARTH_POWER ], - [ 13, Moves.HARDEN ], - [ 20, Moves.CLEAR_SMOG ], - [ 22, Moves.ANCIENT_POWER ], - [ 27, Moves.INCINERATE ], - [ 29, Moves.ROCK_SLIDE ], - [ 34, Moves.LAVA_PLUME ], - [ 36, Moves.AMNESIA ], - [ 43, Moves.BODY_SLAM ], - [ 47, Moves.RECOVER ], - [ 54, Moves.FLAMETHROWER ], - ], - [Species.SWINUB]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.ODOR_SLEUTH ], - [ 5, Moves.POWDER_SNOW ], - [ 10, Moves.FLAIL ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.MIST ], - [ 25, Moves.ENDURE ], - [ 30, Moves.ICY_WIND ], - [ 35, Moves.AMNESIA ], - [ 40, Moves.TAKE_DOWN ], - [ 45, Moves.EARTHQUAKE ], - [ 50, Moves.BLIZZARD ], - ], - [Species.PILOSWINE]: [ - [ EVOLVE_MOVE, Moves.ICE_FANG ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FLAIL ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.ODOR_SLEUTH ], - [ 1, Moves.ANCIENT_POWER ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.MIST ], - [ 25, Moves.ENDURE ], - [ 30, Moves.ICY_WIND ], - [ 37, Moves.AMNESIA ], - [ 44, Moves.TAKE_DOWN ], - [ 51, Moves.EARTHQUAKE ], - [ 58, Moves.BLIZZARD ], - [ 65, Moves.THRASH ], - ], - [Species.CORSOLA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.WATER_GUN ], - [ 10, Moves.AQUA_RING ], - [ 15, Moves.ENDURE ], - [ 20, Moves.ANCIENT_POWER ], - [ 25, Moves.BUBBLE_BEAM ], - [ 30, Moves.FLAIL ], - [ 35, Moves.LIFE_DEW ], - [ 40, Moves.POWER_GEM ], - [ 45, Moves.EARTH_POWER ], - [ 50, Moves.RECOVER ], - [ 55, Moves.MIRROR_COAT ], - ], - [Species.REMORAID]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HELPING_HAND ], - [ 4, Moves.WATER_PULSE ], - [ 8, Moves.FOCUS_ENERGY ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.AURORA_BEAM ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.LOCK_ON ], - [ 28, Moves.BULLET_SEED ], - [ 32, Moves.ICE_BEAM ], - [ 36, Moves.HYDRO_PUMP ], - [ 40, Moves.SOAK ], - [ 44, Moves.HYPER_BEAM ], - ], - [Species.OCTILLERY]: [ - [ EVOLVE_MOVE, Moves.OCTAZOOKA ], - [ 1, Moves.WRAP ], - [ 1, Moves.CONSTRICT ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.ROCK_BLAST ], - [ 1, Moves.WATER_PULSE ], - [ 1, Moves.GUNK_SHOT ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.AURORA_BEAM ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.LOCK_ON ], - [ 30, Moves.BULLET_SEED ], - [ 36, Moves.ICE_BEAM ], - [ 42, Moves.HYDRO_PUMP ], - [ 48, Moves.SOAK ], - [ 54, Moves.HYPER_BEAM ], - ], - [Species.DELIBIRD]: [ // Given a custom level up learnset - [ 1, Moves.PRESENT ], - [ 1, Moves.METRONOME ], - [ 5, Moves.FAKE_OUT ], - [ 5, Moves.POWDER_SNOW ], - [ 6, Moves.MIST ], - [ 10, Moves.ICE_SHARD ], - [ 15, Moves.AERIAL_ACE ], - [ 20, Moves.ICY_WIND ], - [ 25, Moves.DRILL_PECK ], - [ 30, Moves.ICE_PUNCH ], - [ 35, Moves.HAZE ], - [ 40, Moves.AIR_SLASH ], - [ 45, Moves.TAILWIND ], - [ 50, Moves.SNOWSCAPE ], - [ 55, Moves.BLIZZARD ], - [ 60, Moves.BRAVE_BIRD ], - ], - [Species.MANTINE]: [ - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.PSYBEAM ], - [ 1, Moves.SIGNAL_BEAM ], - [ 1, Moves.BULLET_SEED ], - [ 1, Moves.ROOST ], - [ 12, Moves.WATER_PULSE ], - [ 16, Moves.WIDE_GUARD ], - [ 20, Moves.AGILITY ], - [ 24, Moves.BUBBLE_BEAM ], - [ 28, Moves.HEADBUTT ], - [ 32, Moves.AIR_SLASH ], - [ 36, Moves.AQUA_RING ], - [ 40, Moves.BOUNCE ], - [ 44, Moves.TAKE_DOWN ], - [ 48, Moves.HYDRO_PUMP ], - ], - [Species.SKARMORY]: [ - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 4, Moves.SAND_ATTACK ], - [ 8, Moves.FURY_ATTACK ], - [ 12, Moves.METAL_CLAW ], - [ 16, Moves.AGILITY ], - [ 20, Moves.WING_ATTACK ], - [ 24, Moves.SLASH ], - [ 28, Moves.STEEL_WING ], - [ 32, Moves.PAYBACK ], - [ 36, Moves.DRILL_PECK ], - [ 40, Moves.METAL_SOUND ], - [ 44, Moves.SPIKES ], - [ 48, Moves.IRON_DEFENSE ], - [ 52, Moves.BRAVE_BIRD ], - ], - [Species.HOUNDOUR]: [ - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 4, Moves.HOWL ], - [ 8, Moves.SMOG ], - [ 13, Moves.ROAR ], - [ 16, Moves.BITE ], - [ 20, Moves.INCINERATE ], - [ 25, Moves.BEAT_UP ], - [ 28, Moves.FIRE_FANG ], - [ 32, Moves.TORMENT ], - [ 37, Moves.COMEUPPANCE ], - [ 40, Moves.FOUL_PLAY ], - [ 44, Moves.FLAMETHROWER ], - [ 49, Moves.CRUNCH ], - [ 52, Moves.NASTY_PLOT ], - [ 56, Moves.INFERNO ], - ], - [Species.HOUNDOOM]: [ - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOG ], - [ 1, Moves.HOWL ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.THUNDER_FANG ], - [ 13, Moves.ROAR ], - [ 16, Moves.BITE ], - [ 20, Moves.INCINERATE ], - [ 26, Moves.BEAT_UP ], - [ 30, Moves.FIRE_FANG ], - [ 35, Moves.TORMENT ], - [ 41, Moves.COMEUPPANCE ], - [ 45, Moves.FOUL_PLAY ], - [ 50, Moves.FLAMETHROWER ], - [ 56, Moves.CRUNCH ], - [ 62, Moves.INFERNO ], - ], - [Species.KINGDRA]: [ - [ RELEARN_MOVE, Moves.LASER_FOCUS ], // Previous Stage Move - [ 1, Moves.LEER ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.TWISTER ], - [ 1, Moves.WHIRLPOOL ], - [ 1, Moves.YAWN ], - [ 15, Moves.FOCUS_ENERGY ], - [ 20, Moves.DRAGON_BREATH ], - [ 25, Moves.BUBBLE_BEAM ], - [ 30, Moves.AGILITY ], - [ 37, Moves.WATER_PULSE ], - [ 44, Moves.DRAGON_PULSE ], - [ 51, Moves.HYDRO_PUMP ], - [ 58, Moves.DRAGON_DANCE ], - [ 65, Moves.RAIN_DANCE ], - [ 72, Moves.WAVE_CRASH ], - ], - [Species.PHANPY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ODOR_SLEUTH ], - [ 6, Moves.FLAIL ], - [ 10, Moves.ROLLOUT ], - [ 15, Moves.BULLDOZE ], - [ 19, Moves.ENDURE ], - [ 24, Moves.SLAM ], - [ 28, Moves.TAKE_DOWN ], - [ 33, Moves.CHARM ], - [ 37, Moves.LAST_RESORT ], - [ 42, Moves.DOUBLE_EDGE ], - ], - [Species.DONPHAN]: [ - [ EVOLVE_MOVE, Moves.FURY_ATTACK ], - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.GROWL ], - [ 1, Moves.HORN_ATTACK ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ODOR_SLEUTH ], // Previous Stage Move - [ 1, Moves.FLAIL ], // Previous Stage Move - [ 1, Moves.ENDURE ], // Previous Stage Move - [ 1, Moves.TAKE_DOWN ], // Previous Stage Move - [ 1, Moves.CHARM ], // Previous Stage Move - [ 1, Moves.LAST_RESORT ], // Previous Stage Move - [ 1, Moves.DOUBLE_EDGE ], // Previous Stage Move - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.BULLDOZE ], - [ 6, Moves.RAPID_SPIN ], - [ 10, Moves.ROLLOUT ], - [ 15, Moves.ASSURANCE ], - [ 19, Moves.KNOCK_OFF ], - [ 24, Moves.SLAM ], - [ 30, Moves.STOMPING_TANTRUM ], - [ 37, Moves.SCARY_FACE ], - [ 43, Moves.EARTHQUAKE ], - [ 50, Moves.GIGA_IMPACT ], - ], - [Species.PORYGON2]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.CONVERSION ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.MAGNET_RISE ], - [ 1, Moves.MAGIC_COAT ], // Previous Stage Move - [ 15, Moves.THUNDER_SHOCK ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.CONVERSION_2 ], - [ 30, Moves.AGILITY ], - [ 35, Moves.RECOVER ], - [ 40, Moves.DISCHARGE ], - [ 45, Moves.TRI_ATTACK ], - [ 50, Moves.LOCK_ON ], - [ 55, Moves.ZAP_CANNON ], - [ 60, Moves.HYPER_BEAM ], - ], - [Species.STANTLER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ME_FIRST ], - [ 3, Moves.LEER ], - [ 7, Moves.ASTONISH ], - [ 10, Moves.HYPNOSIS ], - [ 13, Moves.STOMP ], - [ 16, Moves.SAND_ATTACK ], - [ 21, Moves.TAKE_DOWN ], - [ 23, Moves.CONFUSE_RAY ], - [ 25, Moves.PSYSHIELD_BASH ], - [ 27, Moves.CALM_MIND ], - [ 32, Moves.ROLE_PLAY ], - [ 37, Moves.ZEN_HEADBUTT ], - [ 49, Moves.IMPRISON ], - [ 55, Moves.DOUBLE_EDGE ], + [SpeciesId.BULBASAUR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.VINE_WHIP ], + [ 6, MoveId.GROWTH ], + [ 9, MoveId.LEECH_SEED ], + [ 12, MoveId.RAZOR_LEAF ], + [ 15, MoveId.POISON_POWDER ], + [ 15, MoveId.SLEEP_POWDER ], + [ 18, MoveId.SEED_BOMB ], + [ 21, MoveId.TAKE_DOWN ], + [ 24, MoveId.SWEET_SCENT ], + [ 27, MoveId.SYNTHESIS ], + [ 30, MoveId.WORRY_SEED ], + [ 33, MoveId.POWER_WHIP ], + [ 36, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.IVYSAUR]: [ + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.GROWTH ], + [ 9, MoveId.LEECH_SEED ], + [ 12, MoveId.RAZOR_LEAF ], + [ 15, MoveId.POISON_POWDER ], + [ 15, MoveId.SLEEP_POWDER ], + [ 20, MoveId.SEED_BOMB ], + [ 25, MoveId.TAKE_DOWN ], + [ 30, MoveId.SWEET_SCENT ], + [ 35, MoveId.SYNTHESIS ], + [ 40, MoveId.WORRY_SEED ], + [ 45, MoveId.POWER_WHIP ], + [ 50, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.VENUSAUR]: [ + [ EVOLVE_MOVE, MoveId.PETAL_BLIZZARD ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.PETAL_DANCE ], + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 9, MoveId.LEECH_SEED ], + [ 12, MoveId.RAZOR_LEAF ], + [ 15, MoveId.POISON_POWDER ], + [ 15, MoveId.SLEEP_POWDER ], + [ 20, MoveId.SEED_BOMB ], + [ 25, MoveId.TAKE_DOWN ], + [ 30, MoveId.SWEET_SCENT ], + [ 37, MoveId.SYNTHESIS ], + [ 44, MoveId.WORRY_SEED ], + [ 51, MoveId.POWER_WHIP ], + [ 58, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.CHARMANDER]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.EMBER ], + [ 8, MoveId.SMOKESCREEN ], + [ 12, MoveId.DRAGON_BREATH ], + [ 17, MoveId.FIRE_FANG ], + [ 20, MoveId.SLASH ], + [ 24, MoveId.FLAMETHROWER ], + [ 28, MoveId.SCARY_FACE ], + [ 32, MoveId.FIRE_SPIN ], + [ 36, MoveId.INFERNO ], + [ 40, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.CHARMELEON]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.FIRE_SPIN ], // Previous Stage Move + [ 12, MoveId.DRAGON_BREATH ], + [ 19, MoveId.FIRE_FANG ], + [ 24, MoveId.SLASH ], + [ 30, MoveId.FLAMETHROWER ], + [ 37, MoveId.SCARY_FACE ], + [ 48, MoveId.INFERNO ], + [ 54, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.CHARIZARD]: [ + [ EVOLVE_MOVE, MoveId.AIR_SLASH ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.HEAT_WAVE ], + [ 1, MoveId.DRAGON_CLAW ], + [ 12, MoveId.DRAGON_BREATH ], + [ 19, MoveId.FIRE_FANG ], + [ 24, MoveId.SLASH ], + [ 30, MoveId.FLAMETHROWER ], + [ 39, MoveId.SCARY_FACE ], + [ 46, MoveId.FIRE_SPIN ], + [ 54, MoveId.INFERNO ], + [ 62, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.SQUIRTLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 3, MoveId.WATER_GUN ], + [ 6, MoveId.WITHDRAW ], + [ 9, MoveId.RAPID_SPIN ], + [ 12, MoveId.BITE ], + [ 15, MoveId.WATER_PULSE ], + [ 18, MoveId.PROTECT ], + [ 21, MoveId.RAIN_DANCE ], + [ 24, MoveId.AQUA_TAIL ], + [ 27, MoveId.SHELL_SMASH ], + [ 30, MoveId.IRON_DEFENSE ], + [ 33, MoveId.HYDRO_PUMP ], + [ 36, MoveId.WAVE_CRASH ], + ], + [SpeciesId.WARTORTLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WITHDRAW ], + [ 9, MoveId.RAPID_SPIN ], + [ 12, MoveId.BITE ], + [ 15, MoveId.WATER_PULSE ], + [ 20, MoveId.PROTECT ], + [ 25, MoveId.RAIN_DANCE ], + [ 30, MoveId.AQUA_TAIL ], + [ 35, MoveId.SHELL_SMASH ], + [ 40, MoveId.IRON_DEFENSE ], + [ 45, MoveId.HYDRO_PUMP ], + [ 50, MoveId.WAVE_CRASH ], + ], + [SpeciesId.BLASTOISE]: [ + [ EVOLVE_MOVE, MoveId.FLASH_CANNON ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WITHDRAW ], + [ 9, MoveId.RAPID_SPIN ], + [ 12, MoveId.BITE ], + [ 15, MoveId.WATER_PULSE ], + [ 20, MoveId.PROTECT ], + [ 25, MoveId.RAIN_DANCE ], + [ 30, MoveId.AQUA_TAIL ], + [ 35, MoveId.SHELL_SMASH ], + [ 42, MoveId.IRON_DEFENSE ], + [ 49, MoveId.HYDRO_PUMP ], + [ 56, MoveId.WAVE_CRASH ], + ], + [SpeciesId.CATERPIE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STRING_SHOT ], + [ 9, MoveId.BUG_BITE ], + ], + [SpeciesId.METAPOD]: [ + [ EVOLVE_MOVE, MoveId.HARDEN ], + [ RELEARN_MOVE, MoveId.TACKLE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.STRING_SHOT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.BUG_BITE ], // Previous Stage Move + [ 1, MoveId.HARDEN ], + ], + [SpeciesId.BUTTERFREE]: [ + [ EVOLVE_MOVE, MoveId.GUST ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.BUG_BITE ], + [ 4, MoveId.SUPERSONIC ], + [ 8, MoveId.CONFUSION ], + [ 12, MoveId.POISON_POWDER ], + [ 12, MoveId.STUN_SPORE ], + [ 12, MoveId.SLEEP_POWDER ], + [ 16, MoveId.PSYBEAM ], + [ 20, MoveId.WHIRLWIND ], + [ 24, MoveId.AIR_SLASH ], + [ 28, MoveId.SAFEGUARD ], + [ 32, MoveId.BUG_BUZZ ], + [ 36, MoveId.TAILWIND ], + [ 40, MoveId.RAGE_POWDER ], + [ 44, MoveId.QUIVER_DANCE ], + ], + [SpeciesId.WEEDLE]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.STRING_SHOT ], + [ 9, MoveId.BUG_BITE ], + ], + [SpeciesId.KAKUNA]: [ + [ EVOLVE_MOVE, MoveId.HARDEN ], + [ RELEARN_MOVE, MoveId.POISON_STING ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.STRING_SHOT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.BUG_BITE ], // Previous Stage Move + [ 1, MoveId.HARDEN ], + ], + [SpeciesId.BEEDRILL]: [ + [ EVOLVE_MOVE, MoveId.TWINEEDLE ], + [ 1, MoveId.POISON_STING ], // Previous Stage Move + [ 1, MoveId.STRING_SHOT ], // Previous Stage Move + [ 1, MoveId.HARDEN ], // Previous Stage Move + [ 1, MoveId.BUG_BITE ], // Previous Stage Move + [ 1, MoveId.FURY_ATTACK ], + [ 11, MoveId.FURY_CUTTER ], + [ 14, MoveId.RAGE ], + [ 17, MoveId.PURSUIT ], + [ 20, MoveId.FOCUS_ENERGY ], + [ 23, MoveId.VENOSHOCK ], + [ 26, MoveId.ASSURANCE ], + [ 29, MoveId.TOXIC_SPIKES ], + [ 32, MoveId.PIN_MISSILE ], + [ 35, MoveId.POISON_JAB ], + [ 38, MoveId.AGILITY ], + [ 41, MoveId.ENDEAVOR ], + [ 44, MoveId.FELL_STINGER ], + ], + [SpeciesId.PIDGEY]: [ + [ 1, MoveId.TACKLE ], + [ 5, MoveId.SAND_ATTACK ], + [ 9, MoveId.GUST ], + [ 13, MoveId.QUICK_ATTACK ], + [ 17, MoveId.WHIRLWIND ], + [ 21, MoveId.TWISTER ], + [ 25, MoveId.FEATHER_DANCE ], + [ 29, MoveId.AGILITY ], + [ 33, MoveId.WING_ATTACK ], + [ 37, MoveId.ROOST ], + [ 41, MoveId.TAILWIND ], + [ 45, MoveId.AERIAL_ACE ], + [ 49, MoveId.AIR_SLASH ], + [ 53, MoveId.HURRICANE ], + ], + [SpeciesId.PIDGEOTTO]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 5, MoveId.SAND_ATTACK ], + [ 9, MoveId.GUST ], + [ 13, MoveId.QUICK_ATTACK ], + [ 17, MoveId.WHIRLWIND ], + [ 22, MoveId.TWISTER ], + [ 27, MoveId.FEATHER_DANCE ], + [ 32, MoveId.AGILITY ], + [ 37, MoveId.WING_ATTACK ], + [ 42, MoveId.ROOST ], + [ 47, MoveId.TAILWIND ], + [ 52, MoveId.AERIAL_ACE ], + [ 57, MoveId.AIR_SLASH ], + [ 62, MoveId.HURRICANE ], + ], + [SpeciesId.PIDGEOT]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.HURRICANE ], + [ 5, MoveId.SAND_ATTACK ], + [ 9, MoveId.GUST ], + [ 17, MoveId.WHIRLWIND ], + [ 22, MoveId.TWISTER ], + [ 27, MoveId.FEATHER_DANCE ], + [ 32, MoveId.AGILITY ], + [ 38, MoveId.WING_ATTACK ], + [ 44, MoveId.ROOST ], + [ 50, MoveId.TAILWIND ], + [ 56, MoveId.AERIAL_ACE ], + [ 62, MoveId.AIR_SLASH ], + [ 68, MoveId.HURRICANE ], + ], + [SpeciesId.RATTATA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 4, MoveId.QUICK_ATTACK ], + [ 7, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.BITE ], + [ 13, MoveId.LASER_FOCUS ], + [ 16, MoveId.TAKE_DOWN ], + [ 19, MoveId.ASSURANCE ], + [ 22, MoveId.CRUNCH ], + [ 25, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.SUPER_FANG ], + [ 31, MoveId.DOUBLE_EDGE ], + [ 34, MoveId.ENDEAVOR ], + ], + [SpeciesId.RATICATE]: [ + [ EVOLVE_MOVE, MoveId.SCARY_FACE ], + [ 1, MoveId.SWORDS_DANCE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.BITE ], + [ 13, MoveId.LASER_FOCUS ], + [ 16, MoveId.TAKE_DOWN ], + [ 19, MoveId.ASSURANCE ], + [ 24, MoveId.CRUNCH ], + [ 29, MoveId.SUCKER_PUNCH ], + [ 34, MoveId.SUPER_FANG ], + [ 39, MoveId.DOUBLE_EDGE ], + [ 44, MoveId.ENDEAVOR ], + ], + [SpeciesId.SPEAROW]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 4, MoveId.LEER ], + [ 8, MoveId.ASSURANCE ], + [ 11, MoveId.FURY_ATTACK ], + [ 15, MoveId.AERIAL_ACE ], + [ 18, MoveId.WING_ATTACK ], + [ 22, MoveId.TAKE_DOWN ], + [ 25, MoveId.AGILITY ], + [ 29, MoveId.FOCUS_ENERGY ], + [ 32, MoveId.ROOST ], + [ 36, MoveId.DRILL_PECK ], + ], + [SpeciesId.FEAROW]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 1, MoveId.ASSURANCE ], + [ 1, MoveId.PLUCK ], + [ 1, MoveId.DRILL_RUN ], + [ 1, MoveId.PURSUIT ], + [ 4, MoveId.LEER ], + [ 8, MoveId.ASSURANCE ], + [ 11, MoveId.FURY_ATTACK ], + [ 15, MoveId.AERIAL_ACE ], + [ 18, MoveId.WING_ATTACK ], + [ 23, MoveId.TAKE_DOWN ], + [ 27, MoveId.AGILITY ], + [ 32, MoveId.FOCUS_ENERGY ], + [ 36, MoveId.ROOST ], + [ 41, MoveId.DRILL_PECK ], + ], + [SpeciesId.EKANS]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 4, MoveId.POISON_STING ], + [ 9, MoveId.BITE ], + [ 12, MoveId.GLARE ], + [ 17, MoveId.SCREECH ], + [ 20, MoveId.ACID ], + [ 25, MoveId.SWALLOW ], + [ 25, MoveId.STOCKPILE ], + [ 25, MoveId.SPIT_UP ], + [ 28, MoveId.ACID_SPRAY ], + [ 33, MoveId.SLUDGE_BOMB ], + [ 36, MoveId.GASTRO_ACID ], + [ 38, MoveId.BELCH ], + [ 41, MoveId.HAZE ], + [ 44, MoveId.COIL ], + [ 49, MoveId.GUNK_SHOT ], + ], + [SpeciesId.ARBOK]: [ + [ EVOLVE_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 12, MoveId.GLARE ], + [ 17, MoveId.SCREECH ], + [ 20, MoveId.ACID ], + [ 27, MoveId.STOCKPILE ], + [ 27, MoveId.SPIT_UP ], + [ 27, MoveId.SWALLOW ], + [ 32, MoveId.ACID_SPRAY ], + [ 39, MoveId.SLUDGE_BOMB ], + [ 44, MoveId.GASTRO_ACID ], + [ 48, MoveId.BELCH ], + [ 51, MoveId.HAZE ], + [ 56, MoveId.COIL ], + [ 63, MoveId.GUNK_SHOT ], + ], + [SpeciesId.PIKACHU]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], + ], + [SpeciesId.RAICHU]: [ + [ EVOLVE_MOVE, MoveId.ZIPPY_ZAP ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.THUNDER ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.LIGHT_SCREEN ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.SPARK ], + [ 1, MoveId.IRON_TAIL ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.DISCHARGE ], + [ 1, MoveId.ELECTRO_BALL ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 1, MoveId.THUNDER_PUNCH ], + [ 5, MoveId.THUNDERBOLT ], + [ 50, MoveId.PIKA_PAPOW ], + ], + [SpeciesId.SANDSHREW]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.DEFENSE_CURL ], + [ 3, MoveId.POISON_STING ], + [ 6, MoveId.SAND_ATTACK ], + [ 9, MoveId.ROLLOUT ], + [ 12, MoveId.FURY_CUTTER ], + [ 15, MoveId.RAPID_SPIN ], + [ 18, MoveId.BULLDOZE ], + [ 21, MoveId.SWIFT ], + [ 24, MoveId.FURY_SWIPES ], + [ 27, MoveId.AGILITY ], + [ 30, MoveId.SLASH ], + [ 33, MoveId.DIG ], + [ 36, MoveId.GYRO_BALL ], + [ 39, MoveId.SWORDS_DANCE ], + [ 42, MoveId.SANDSTORM ], + [ 45, MoveId.EARTHQUAKE ], + ], + [SpeciesId.SANDSLASH]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.CRUSH_CLAW ], + [ 1, MoveId.AGILITY ], // Previous Stage Move + [ 9, MoveId.ROLLOUT ], + [ 12, MoveId.FURY_CUTTER ], + [ 15, MoveId.RAPID_SPIN ], + [ 18, MoveId.BULLDOZE ], + [ 21, MoveId.SWIFT ], + [ 26, MoveId.FURY_SWIPES ], + [ 31, MoveId.SAND_TOMB ], + [ 36, MoveId.SLASH ], + [ 41, MoveId.DIG ], + [ 46, MoveId.GYRO_BALL ], + [ 51, MoveId.SWORDS_DANCE ], + [ 56, MoveId.SANDSTORM ], + [ 61, MoveId.EARTHQUAKE ], + ], + [SpeciesId.NIDORAN_F]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.SCRATCH ], + [ 10, MoveId.TAIL_WHIP ], + [ 15, MoveId.FURY_SWIPES ], + [ 20, MoveId.TOXIC_SPIKES ], + [ 25, MoveId.DOUBLE_KICK ], + [ 30, MoveId.BITE ], + [ 35, MoveId.HELPING_HAND ], + [ 40, MoveId.TOXIC ], + [ 45, MoveId.FLATTER ], + [ 50, MoveId.CRUNCH ], + [ 55, MoveId.EARTH_POWER ], + ], + [SpeciesId.NIDORINA]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.GROWL ], + [ 15, MoveId.FURY_SWIPES ], + [ 22, MoveId.TOXIC_SPIKES ], + [ 29, MoveId.DOUBLE_KICK ], + [ 36, MoveId.BITE ], + [ 43, MoveId.HELPING_HAND ], + [ 50, MoveId.TOXIC ], + [ 57, MoveId.FLATTER ], + [ 64, MoveId.CRUNCH ], + [ 71, MoveId.EARTH_POWER ], + ], + [SpeciesId.NIDOQUEEN]: [ + [ EVOLVE_MOVE, MoveId.SUPERPOWER ], + [ 1, MoveId.SLUDGE_WAVE ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.DOUBLE_KICK ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.BITE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.FURY_SWIPES ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.FLATTER ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.TOXIC_SPIKES ], + [ 1, MoveId.EARTH_POWER ], + ], + [SpeciesId.NIDORAN_M]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 5, MoveId.PECK ], + [ 10, MoveId.FOCUS_ENERGY ], + [ 15, MoveId.FURY_ATTACK ], + [ 20, MoveId.TOXIC_SPIKES ], + [ 25, MoveId.DOUBLE_KICK ], + [ 30, MoveId.HORN_ATTACK ], + [ 35, MoveId.HELPING_HAND ], + [ 40, MoveId.TOXIC ], + [ 45, MoveId.FLATTER ], + [ 50, MoveId.POISON_JAB ], + [ 55, MoveId.EARTH_POWER ], + ], + [SpeciesId.NIDORINO]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 15, MoveId.FURY_ATTACK ], + [ 22, MoveId.TOXIC_SPIKES ], + [ 29, MoveId.DOUBLE_KICK ], + [ 36, MoveId.HORN_ATTACK ], + [ 43, MoveId.HELPING_HAND ], + [ 50, MoveId.TOXIC ], + [ 57, MoveId.FLATTER ], + [ 64, MoveId.POISON_JAB ], + [ 71, MoveId.EARTH_POWER ], + ], + [SpeciesId.NIDOKING]: [ + [ EVOLVE_MOVE, MoveId.MEGAHORN ], + [ 1, MoveId.SLUDGE_WAVE ], + [ 1, MoveId.DOUBLE_KICK ], + [ 1, MoveId.HORN_ATTACK ], + [ 1, MoveId.FURY_ATTACK ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.FLATTER ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.TOXIC_SPIKES ], + [ 1, MoveId.POISON_JAB ], + [ 1, MoveId.EARTH_POWER ], + ], + [SpeciesId.CLEFAIRY]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SING ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.SPOTLIGHT ], + [ 4, MoveId.STORED_POWER ], + [ 8, MoveId.ENCORE ], + [ 12, MoveId.AFTER_YOU ], + [ 16, MoveId.LIFE_DEW ], + [ 20, MoveId.METRONOME ], + [ 24, MoveId.MOONLIGHT ], + [ 28, MoveId.GRAVITY ], + [ 32, MoveId.METEOR_MASH ], + [ 36, MoveId.FOLLOW_ME ], + [ 40, MoveId.COSMIC_POWER ], + [ 44, MoveId.MOONBLAST ], + [ 48, MoveId.HEALING_WISH ], + ], + [SpeciesId.CLEFABLE]: [ + [ RELEARN_MOVE, MoveId.POUND ], + [ RELEARN_MOVE, MoveId.GROWL ], + [ RELEARN_MOVE, MoveId.SING ], + [ RELEARN_MOVE, MoveId.DEFENSE_CURL ], + [ RELEARN_MOVE, MoveId.SPLASH ], + [ RELEARN_MOVE, MoveId.SWEET_KISS ], + [ RELEARN_MOVE, MoveId.CHARM ], + [ RELEARN_MOVE, MoveId.ENCORE ], + [ RELEARN_MOVE, MoveId.MOONLIGHT ], + [ RELEARN_MOVE, MoveId.FOLLOW_ME ], + [ RELEARN_MOVE, MoveId.COSMIC_POWER ], + [ RELEARN_MOVE, MoveId.GRAVITY ], + [ RELEARN_MOVE, MoveId.HEALING_WISH ], + [ RELEARN_MOVE, MoveId.COPYCAT ], + [ RELEARN_MOVE, MoveId.AFTER_YOU ], + [ RELEARN_MOVE, MoveId.STORED_POWER ], + [ RELEARN_MOVE, MoveId.DISARMING_VOICE ], + [ 1, MoveId.METRONOME ], + [ 1, MoveId.METEOR_MASH ], + [ 1, MoveId.MOONBLAST ], + [ 1, MoveId.LIFE_DEW ], + [ 1, MoveId.SPOTLIGHT ], + ], + [SpeciesId.VULPIX]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.EMBER ], + [ 4, MoveId.DISABLE ], + [ 8, MoveId.QUICK_ATTACK ], + [ 12, MoveId.SPITE ], + [ 16, MoveId.INCINERATE ], + [ 20, MoveId.CONFUSE_RAY ], + [ 24, MoveId.WILL_O_WISP ], + [ 28, MoveId.EXTRASENSORY ], + [ 32, MoveId.FLAMETHROWER ], + [ 36, MoveId.IMPRISON ], + [ 40, MoveId.FIRE_SPIN ], + [ 44, MoveId.SAFEGUARD ], + [ 48, MoveId.INFERNO ], + [ 52, MoveId.FIRE_BLAST ], + ], + [SpeciesId.NINETALES]: [ + [ RELEARN_MOVE, MoveId.DISABLE ], + [ RELEARN_MOVE, MoveId.EMBER ], + [ RELEARN_MOVE, MoveId.FIRE_SPIN ], + [ RELEARN_MOVE, MoveId.CONFUSE_RAY ], + [ RELEARN_MOVE, MoveId.FIRE_BLAST ], + [ RELEARN_MOVE, MoveId.SPITE ], + [ RELEARN_MOVE, MoveId.SAFEGUARD ], + [ RELEARN_MOVE, MoveId.WILL_O_WISP ], + [ RELEARN_MOVE, MoveId.IMPRISON ], + [ RELEARN_MOVE, MoveId.EXTRASENSORY ], + [ RELEARN_MOVE, MoveId.NASTY_PLOT ], + [ RELEARN_MOVE, MoveId.INCINERATE ], + [ RELEARN_MOVE, MoveId.INFERNO ], + [ 1, MoveId.FLAMETHROWER ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.QUICK_ATTACK ], + ], + [SpeciesId.JIGGLYPUFF]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.SING ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.DISARMING_VOICE ], + [ 4, MoveId.ECHOED_VOICE ], + [ 8, MoveId.COVET ], + [ 12, MoveId.STOCKPILE ], + [ 12, MoveId.SPIT_UP ], + [ 12, MoveId.SWALLOW ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.REST ], + [ 24, MoveId.BODY_SLAM ], + [ 28, MoveId.MIMIC ], + [ 32, MoveId.GYRO_BALL ], + [ 36, MoveId.HYPER_VOICE ], + [ 44, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.WIGGLYTUFF]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.BODY_SLAM ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.SING ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.MIMIC ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.REST ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.STOCKPILE ], + [ 1, MoveId.SPIT_UP ], + [ 1, MoveId.SWALLOW ], + [ 1, MoveId.HYPER_VOICE ], + [ 1, MoveId.COVET ], + [ 1, MoveId.GYRO_BALL ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.ROUND ], + [ 1, MoveId.ECHOED_VOICE ], + [ 1, MoveId.DISARMING_VOICE ], + [ 5, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.ZUBAT]: [ + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.ABSORB ], + [ 5, MoveId.ASTONISH ], + [ 10, MoveId.MEAN_LOOK ], + [ 15, MoveId.POISON_FANG ], + [ 20, MoveId.QUICK_GUARD ], + [ 25, MoveId.AIR_CUTTER ], + [ 30, MoveId.BITE ], + [ 35, MoveId.HAZE ], + [ 40, MoveId.VENOSHOCK ], + [ 45, MoveId.CONFUSE_RAY ], + [ 50, MoveId.AIR_SLASH ], + [ 55, MoveId.LEECH_LIFE ], + ], + [SpeciesId.GOLBAT]: [ + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.SCREECH ], + [ 1, MoveId.MEAN_LOOK ], + [ 1, MoveId.ASTONISH ], + [ 15, MoveId.POISON_FANG ], + [ 20, MoveId.QUICK_GUARD ], + [ 27, MoveId.AIR_CUTTER ], + [ 34, MoveId.BITE ], + [ 41, MoveId.HAZE ], + [ 48, MoveId.VENOSHOCK ], + [ 55, MoveId.CONFUSE_RAY ], + [ 62, MoveId.AIR_SLASH ], + [ 69, MoveId.LEECH_LIFE ], + ], + [SpeciesId.ODDISH]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 4, MoveId.ACID ], + [ 8, MoveId.SWEET_SCENT ], + [ 12, MoveId.MEGA_DRAIN ], + [ 14, MoveId.POISON_POWDER ], + [ 16, MoveId.STUN_SPORE ], + [ 18, MoveId.SLEEP_POWDER ], + [ 20, MoveId.GIGA_DRAIN ], + [ 24, MoveId.TOXIC ], + [ 28, MoveId.MOONBLAST ], + [ 32, MoveId.GRASSY_TERRAIN ], + [ 36, MoveId.MOONLIGHT ], + [ 40, MoveId.PETAL_DANCE ], + ], + [SpeciesId.GLOOM]: [ + [ 1, MoveId.ACID ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.SWEET_SCENT ], + [ 12, MoveId.MEGA_DRAIN ], + [ 14, MoveId.POISON_POWDER ], + [ 16, MoveId.STUN_SPORE ], + [ 18, MoveId.SLEEP_POWDER ], + [ 20, MoveId.GIGA_DRAIN ], + [ 26, MoveId.TOXIC ], + [ 32, MoveId.MOONBLAST ], + [ 38, MoveId.GRASSY_TERRAIN ], + [ 44, MoveId.MOONLIGHT ], + [ 50, MoveId.PETAL_DANCE ], + ], + [SpeciesId.VILEPLUME]: [ + [ EVOLVE_MOVE, MoveId.PETAL_BLIZZARD ], + [ 1, MoveId.ACID ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.POISON_POWDER ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.SLEEP_POWDER ], + [ 1, MoveId.PETAL_DANCE ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.AROMATHERAPY ], + [ 1, MoveId.GRASSY_TERRAIN ], + [ 1, MoveId.MOONBLAST ], + ], + [SpeciesId.PARAS]: [ + [ 1, MoveId.SCRATCH ], + [ 6, MoveId.POISON_POWDER ], + [ 6, MoveId.STUN_SPORE ], + [ 11, MoveId.ABSORB ], + [ 17, MoveId.FURY_CUTTER ], + [ 22, MoveId.SPORE ], + [ 27, MoveId.SLASH ], + [ 33, MoveId.GROWTH ], + [ 38, MoveId.GIGA_DRAIN ], + [ 43, MoveId.AROMATHERAPY ], + [ 49, MoveId.RAGE_POWDER ], + [ 54, MoveId.X_SCISSOR ], + ], + [SpeciesId.PARASECT]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.POISON_POWDER ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.CROSS_POISON ], + [ 6, MoveId.POISON_POWDER ], + [ 6, MoveId.STUN_SPORE ], + [ 11, MoveId.ABSORB ], + [ 17, MoveId.FURY_CUTTER ], + [ 22, MoveId.SPORE ], + [ 29, MoveId.SLASH ], + [ 37, MoveId.GROWTH ], + [ 44, MoveId.GIGA_DRAIN ], + [ 51, MoveId.AROMATHERAPY ], + [ 59, MoveId.RAGE_POWDER ], + [ 66, MoveId.X_SCISSOR ], + ], + [SpeciesId.VENONAT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DISABLE ], + [ 5, MoveId.SUPERSONIC ], + [ 11, MoveId.CONFUSION ], + [ 13, MoveId.POISON_POWDER ], + [ 17, MoveId.PSYBEAM ], + [ 23, MoveId.STUN_SPORE ], + [ 25, MoveId.BUG_BUZZ ], + [ 29, MoveId.SLEEP_POWDER ], + [ 35, MoveId.LEECH_LIFE ], + [ 37, MoveId.ZEN_HEADBUTT ], + [ 41, MoveId.POISON_FANG ], + [ 47, MoveId.PSYCHIC ], + ], + [SpeciesId.VENOMOTH]: [ + [ EVOLVE_MOVE, MoveId.AIR_SLASH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.QUIVER_DANCE ], + [ 1, MoveId.SILVER_WIND ], + [ 11, MoveId.CONFUSION ], + [ 13, MoveId.POISON_POWDER ], + [ 17, MoveId.PSYBEAM ], + [ 23, MoveId.STUN_SPORE ], + [ 25, MoveId.BUG_BUZZ ], + [ 29, MoveId.SLEEP_POWDER ], + [ 37, MoveId.LEECH_LIFE ], + [ 41, MoveId.ZEN_HEADBUTT ], + [ 47, MoveId.POISON_FANG ], + [ 55, MoveId.PSYCHIC ], + ], + [SpeciesId.DIGLETT]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 4, MoveId.GROWL ], + [ 8, MoveId.ASTONISH ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.BULLDOZE ], + [ 20, MoveId.SUCKER_PUNCH ], + [ 24, MoveId.SLASH ], + [ 28, MoveId.SANDSTORM ], + [ 32, MoveId.DIG ], + [ 36, MoveId.EARTH_POWER ], + [ 40, MoveId.EARTHQUAKE ], + [ 44, MoveId.FISSURE ], + ], + [SpeciesId.DUGTRIO]: [ + [ EVOLVE_MOVE, MoveId.SAND_TOMB ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.ROTOTILLER ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.BULLDOZE ], + [ 20, MoveId.SUCKER_PUNCH ], + [ 24, MoveId.SLASH ], + [ 30, MoveId.SANDSTORM ], + [ 36, MoveId.DIG ], + [ 42, MoveId.EARTH_POWER ], + [ 48, MoveId.EARTHQUAKE ], + [ 54, MoveId.FISSURE ], + ], + [SpeciesId.MEOWTH]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 4, MoveId.FEINT ], + [ 8, MoveId.SCRATCH ], + [ 12, MoveId.PAY_DAY ], + [ 16, MoveId.BITE ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.ASSURANCE ], + [ 29, MoveId.FURY_SWIPES ], + [ 32, MoveId.SCREECH ], + [ 36, MoveId.SLASH ], + [ 40, MoveId.NASTY_PLOT ], + [ 44, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.PERSIAN]: [ + [ EVOLVE_MOVE, MoveId.POWER_GEM ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.SWITCHEROO ], + [ 12, MoveId.PAY_DAY ], + [ 16, MoveId.BITE ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.ASSURANCE ], + [ 31, MoveId.FURY_SWIPES ], + [ 36, MoveId.SCREECH ], + [ 42, MoveId.SLASH ], + [ 48, MoveId.NASTY_PLOT ], + [ 54, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.PSYDUCK]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_SPORT ], + [ 3, MoveId.WATER_GUN ], + [ 6, MoveId.CONFUSION ], + [ 9, MoveId.FURY_SWIPES ], + [ 12, MoveId.WATER_PULSE ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.ZEN_HEADBUTT ], + [ 21, MoveId.SCREECH ], + [ 24, MoveId.AQUA_TAIL ], + [ 27, MoveId.SOAK ], + [ 30, MoveId.PSYCH_UP ], + [ 34, MoveId.AMNESIA ], + [ 39, MoveId.WONDER_ROOM ], + ], + [SpeciesId.GOLDUCK]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.WATER_SPORT ], + [ 1, MoveId.ME_FIRST ], + [ 9, MoveId.FURY_SWIPES ], + [ 12, MoveId.WATER_PULSE ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.ZEN_HEADBUTT ], + [ 21, MoveId.SCREECH ], + [ 24, MoveId.AQUA_TAIL ], + [ 27, MoveId.SOAK ], + [ 30, MoveId.PSYCH_UP ], + [ 36, MoveId.AMNESIA ], + [ 40, MoveId.HYDRO_PUMP ], + [ 45, MoveId.WONDER_ROOM ], + ], + [SpeciesId.MANKEY]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.COVET ], + [ 5, MoveId.FURY_SWIPES ], + [ 8, MoveId.LOW_KICK ], + [ 12, MoveId.SEISMIC_TOSS ], + [ 17, MoveId.SWAGGER ], + [ 22, MoveId.CROSS_CHOP ], + [ 26, MoveId.ASSURANCE ], + [ 29, MoveId.THRASH ], + [ 33, MoveId.CLOSE_COMBAT ], + [ 36, MoveId.SCREECH ], + [ 40, MoveId.STOMPING_TANTRUM ], + [ 44, MoveId.OUTRAGE ], + [ 48, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.PRIMEAPE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.COVET ], // Previous Stage Move + [ 1, MoveId.FLING ], + [ 5, MoveId.FURY_SWIPES ], + [ 8, MoveId.LOW_KICK ], + [ 15, MoveId.SEISMIC_TOSS ], + [ 17, MoveId.SWAGGER ], + [ 22, MoveId.CROSS_CHOP ], + [ 26, MoveId.ASSURANCE ], + [ 30, MoveId.THRASH ], + [ 35, MoveId.RAGE_FIST ], + [ 39, MoveId.CLOSE_COMBAT ], + [ 44, MoveId.SCREECH ], + [ 48, MoveId.STOMPING_TANTRUM ], + [ 53, MoveId.OUTRAGE ], + [ 57, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.GROWLITHE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 4, MoveId.HOWL ], + [ 8, MoveId.BITE ], + [ 12, MoveId.FLAME_WHEEL ], + [ 16, MoveId.HELPING_HAND ], + [ 20, MoveId.AGILITY ], + [ 24, MoveId.FIRE_FANG ], + [ 28, MoveId.RETALIATE ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.FLAMETHROWER ], + [ 44, MoveId.ROAR ], + [ 48, MoveId.PLAY_ROUGH ], + [ 52, MoveId.REVERSAL ], + [ 56, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.ARCANINE]: [ + [ EVOLVE_MOVE, MoveId.EXTREME_SPEED ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.ROAR ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.FLAME_WHEEL ], + [ 1, MoveId.REVERSAL ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.ODOR_SLEUTH ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.FLARE_BLITZ ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.RETALIATE ], + [ 1, MoveId.PLAY_ROUGH ], + [ 5, MoveId.FLAMETHROWER ], + ], + [SpeciesId.POLIWAG]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.WATER_SPORT ], + [ 6, MoveId.POUND ], + [ 12, MoveId.MUD_SHOT ], + [ 18, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.RAIN_DANCE ], + [ 30, MoveId.BODY_SLAM ], + [ 36, MoveId.EARTH_POWER ], + [ 42, MoveId.HYDRO_PUMP ], + [ 48, MoveId.BELLY_DRUM ], + [ 54, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.POLIWHIRL]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.WATER_SPORT ], + [ 1, MoveId.MUD_SHOT ], + [ 18, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.RAIN_DANCE ], + [ 32, MoveId.BODY_SLAM ], + [ 40, MoveId.EARTH_POWER ], + [ 48, MoveId.HYDRO_PUMP ], + [ 56, MoveId.BELLY_DRUM ], + [ 66, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.POLIWRATH]: [ + [ EVOLVE_MOVE, MoveId.DYNAMIC_PUNCH ], + [ RELEARN_MOVE, MoveId.POUND ], + [ RELEARN_MOVE, MoveId.DOUBLE_EDGE ], + [ RELEARN_MOVE, MoveId.WATER_GUN ], + [ RELEARN_MOVE, MoveId.HYDRO_PUMP ], + [ RELEARN_MOVE, MoveId.BELLY_DRUM ], + [ RELEARN_MOVE, MoveId.RAIN_DANCE ], + [ RELEARN_MOVE, MoveId.MUD_SHOT ], + [ RELEARN_MOVE, MoveId.EARTH_POWER ], + [ RELEARN_MOVE, MoveId.CIRCLE_THROW ], + [ 1, MoveId.BUBBLE_BEAM ], + [ 1, MoveId.BODY_SLAM ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.WATER_SPORT ], + ], + [SpeciesId.ABRA]: [ + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.CONFUSION ], // Custom + ], + [SpeciesId.KADABRA]: [ + [ EVOLVE_MOVE, MoveId.PSYBEAM ], // LGPE + [ 1, MoveId.CONFUSION ], // Previous Stage Move, Custom + [ 1, MoveId.DISABLE ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.KINESIS ], + [ 10, MoveId.REFLECT ], + [ 15, MoveId.ALLY_SWITCH ], + [ 20, MoveId.PSYCHO_CUT ], + [ 25, MoveId.RECOVER ], + [ 30, MoveId.PSYSHOCK ], + [ 35, MoveId.PSYCHIC ], + [ 40, MoveId.ROLE_PLAY ], + [ 45, MoveId.FUTURE_SIGHT ], + [ 50, MoveId.CALM_MIND ], + ], + [SpeciesId.ALAKAZAM]: [ + [ 1, MoveId.DISABLE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.KINESIS ], + [ 5, MoveId.PSYBEAM ], + [ 10, MoveId.REFLECT ], + [ 15, MoveId.ALLY_SWITCH ], + [ 20, MoveId.PSYCHO_CUT ], + [ 25, MoveId.RECOVER ], + [ 30, MoveId.PSYSHOCK ], + [ 35, MoveId.PSYCHIC ], + [ 40, MoveId.ROLE_PLAY ], + [ 45, MoveId.FUTURE_SIGHT ], + [ 50, MoveId.CALM_MIND ], + ], + [SpeciesId.MACHOP]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 4, MoveId.FOCUS_ENERGY ], + [ 8, MoveId.REVENGE ], + [ 12, MoveId.LOW_SWEEP ], + [ 16, MoveId.KNOCK_OFF ], + [ 20, MoveId.SCARY_FACE ], + [ 24, MoveId.VITAL_THROW ], + [ 29, MoveId.STRENGTH ], + [ 32, MoveId.DUAL_CHOP ], + [ 36, MoveId.BULK_UP ], + [ 40, MoveId.SEISMIC_TOSS ], + [ 44, MoveId.DYNAMIC_PUNCH ], + [ 48, MoveId.CROSS_CHOP ], + [ 52, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.MACHOKE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.REVENGE ], + [ 1, MoveId.KARATE_CHOP ], + [ 12, MoveId.LOW_SWEEP ], + [ 16, MoveId.KNOCK_OFF ], + [ 20, MoveId.SCARY_FACE ], + [ 24, MoveId.VITAL_THROW ], + [ 31, MoveId.STRENGTH ], + [ 36, MoveId.DUAL_CHOP ], + [ 42, MoveId.BULK_UP ], + [ 48, MoveId.SEISMIC_TOSS ], + [ 54, MoveId.DYNAMIC_PUNCH ], + [ 60, MoveId.CROSS_CHOP ], + [ 66, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.MACHAMP]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.REVENGE ], + [ 1, MoveId.WIDE_GUARD ], + [ 1, MoveId.KARATE_CHOP ], + [ 12, MoveId.LOW_SWEEP ], + [ 16, MoveId.KNOCK_OFF ], + [ 20, MoveId.SCARY_FACE ], + [ 24, MoveId.VITAL_THROW ], + [ 31, MoveId.STRENGTH ], + [ 36, MoveId.DUAL_CHOP ], + [ 42, MoveId.BULK_UP ], + [ 48, MoveId.SEISMIC_TOSS ], + [ 54, MoveId.DYNAMIC_PUNCH ], + [ 60, MoveId.CROSS_CHOP ], + [ 66, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.BELLSPROUT]: [ + [ 1, MoveId.VINE_WHIP ], + [ 7, MoveId.GROWTH ], + [ 11, MoveId.WRAP ], + [ 13, MoveId.SLEEP_POWDER ], + [ 15, MoveId.POISON_POWDER ], + [ 17, MoveId.STUN_SPORE ], + [ 23, MoveId.ACID ], + [ 27, MoveId.KNOCK_OFF ], + [ 29, MoveId.SWEET_SCENT ], + [ 35, MoveId.GASTRO_ACID ], + [ 39, MoveId.RAZOR_LEAF ], + [ 41, MoveId.POISON_JAB ], + [ 47, MoveId.SLAM ], + [ 52, MoveId.POWER_WHIP ], + ], + [SpeciesId.WEEPINBELL]: [ + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.GROWTH ], + [ 13, MoveId.SLEEP_POWDER ], + [ 15, MoveId.POISON_POWDER ], + [ 17, MoveId.STUN_SPORE ], + [ 24, MoveId.ACID ], + [ 29, MoveId.KNOCK_OFF ], + [ 32, MoveId.SWEET_SCENT ], + [ 39, MoveId.GASTRO_ACID ], + [ 44, MoveId.RAZOR_LEAF ], + [ 47, MoveId.POISON_JAB ], + [ 54, MoveId.SLAM ], + [ 58, MoveId.POWER_WHIP ], + ], + [SpeciesId.VICTREEBEL]: [ + [ EVOLVE_MOVE, MoveId.LEAF_STORM ], + [ RELEARN_MOVE, MoveId.STOCKPILE ], + [ RELEARN_MOVE, MoveId.SWALLOW ], + [ RELEARN_MOVE, MoveId.SPIT_UP ], + [ RELEARN_MOVE, MoveId.WRAP ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.GROWTH ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.ACID ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.KNOCK_OFF ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.GASTRO_ACID ], + [ RELEARN_MOVE, MoveId.POISON_JAB ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.SLAM ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.POWER_WHIP ], + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.SLEEP_POWDER ], + [ 1, MoveId.POISON_POWDER ], // Previous Stage Move + [ 1, MoveId.STUN_SPORE ], // Previous Stage Move + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.RAZOR_LEAF ], + [ 44, MoveId.LEAF_BLADE ], + ], + [SpeciesId.TENTACOOL]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.ACID ], + [ 8, MoveId.WRAP ], + [ 12, MoveId.SUPERSONIC ], + [ 16, MoveId.WATER_PULSE ], + [ 20, MoveId.SCREECH ], + [ 24, MoveId.BUBBLE_BEAM ], + [ 28, MoveId.HEX ], + [ 32, MoveId.ACID_ARMOR ], + [ 36, MoveId.POISON_JAB ], + [ 40, MoveId.SURF ], + [ 44, MoveId.SLUDGE_WAVE ], + [ 48, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.TENTACRUEL]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.ACID ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.REFLECT_TYPE ], + [ 1, MoveId.WRING_OUT ], + [ 12, MoveId.SUPERSONIC ], + [ 16, MoveId.WATER_PULSE ], + [ 20, MoveId.SCREECH ], + [ 24, MoveId.BUBBLE_BEAM ], + [ 28, MoveId.HEX ], + [ 34, MoveId.ACID_ARMOR ], + [ 40, MoveId.POISON_JAB ], + [ 46, MoveId.SURF ], + [ 52, MoveId.SLUDGE_WAVE ], + [ 58, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.GEODUDE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 6, MoveId.ROCK_POLISH ], + [ 10, MoveId.ROLLOUT ], + [ 12, MoveId.BULLDOZE ], + [ 16, MoveId.ROCK_THROW ], + [ 18, MoveId.SMACK_DOWN ], + [ 24, MoveId.SELF_DESTRUCT ], + [ 28, MoveId.STEALTH_ROCK ], + [ 30, MoveId.ROCK_BLAST ], + [ 34, MoveId.EARTHQUAKE ], + [ 36, MoveId.EXPLOSION ], + [ 40, MoveId.DOUBLE_EDGE ], + [ 42, MoveId.STONE_EDGE ], + ], + [SpeciesId.GRAVELER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROCK_POLISH ], + [ 10, MoveId.ROLLOUT ], + [ 12, MoveId.BULLDOZE ], + [ 16, MoveId.ROCK_THROW ], + [ 18, MoveId.SMACK_DOWN ], + [ 24, MoveId.SELF_DESTRUCT ], + [ 30, MoveId.STEALTH_ROCK ], + [ 34, MoveId.ROCK_BLAST ], + [ 40, MoveId.EARTHQUAKE ], + [ 44, MoveId.EXPLOSION ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 54, MoveId.STONE_EDGE ], + ], + [SpeciesId.GOLEM]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROCK_POLISH ], + [ 1, MoveId.ROLLOUT ], // Previous Stage Move + [ 1, MoveId.HEAVY_SLAM ], + [ 16, MoveId.ROCK_THROW ], + [ 18, MoveId.SMACK_DOWN ], + [ 22, MoveId.BULLDOZE ], + [ 24, MoveId.SELF_DESTRUCT ], + [ 30, MoveId.STEALTH_ROCK ], + [ 34, MoveId.ROCK_BLAST ], + [ 40, MoveId.EARTHQUAKE ], + [ 44, MoveId.EXPLOSION ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 54, MoveId.STONE_EDGE ], + ], + [SpeciesId.PONYTA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.TAIL_WHIP ], + [ 10, MoveId.EMBER ], + [ 15, MoveId.FLAME_CHARGE ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.FLAME_WHEEL ], + [ 30, MoveId.STOMP ], + [ 35, MoveId.FIRE_SPIN ], + [ 41, MoveId.TAKE_DOWN ], + [ 45, MoveId.INFERNO ], + [ 50, MoveId.FIRE_BLAST ], + [ 55, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.RAPIDASH]: [ + [ EVOLVE_MOVE, MoveId.SMART_STRIKE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.MEGAHORN ], + [ 1, MoveId.POISON_JAB ], + [ 15, MoveId.FLAME_CHARGE ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.FLAME_WHEEL ], + [ 30, MoveId.STOMP ], + [ 35, MoveId.FIRE_SPIN ], + [ 43, MoveId.TAKE_DOWN ], + [ 49, MoveId.INFERNO ], + [ 56, MoveId.FIRE_BLAST ], + [ 63, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.SLOWPOKE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CURSE ], + [ 3, MoveId.GROWL ], + [ 6, MoveId.WATER_GUN ], + [ 9, MoveId.YAWN ], + [ 12, MoveId.CONFUSION ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 27, MoveId.AMNESIA ], + [ 30, MoveId.SURF ], + [ 33, MoveId.SLACK_OFF ], + [ 36, MoveId.PSYCHIC ], + [ 39, MoveId.PSYCH_UP ], + [ 42, MoveId.RAIN_DANCE ], + [ 45, MoveId.HEAL_PULSE ], + ], + [SpeciesId.SLOWBRO]: [ + [ RELEARN_MOVE, MoveId.FUTURE_SIGHT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.CURSE ], + [ 9, MoveId.YAWN ], + [ 12, MoveId.CONFUSION ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 27, MoveId.AMNESIA ], + [ 30, MoveId.SURF ], + [ 33, MoveId.SLACK_OFF ], + [ 36, MoveId.PSYCHIC ], + [ 41, MoveId.PSYCH_UP ], + [ 46, MoveId.RAIN_DANCE ], + [ 51, MoveId.HEAL_PULSE ], + ], + [SpeciesId.MAGNEMITE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 4, MoveId.SUPERSONIC ], + [ 8, MoveId.THUNDER_WAVE ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.GYRO_BALL ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.MAGNET_RISE ], + [ 32, MoveId.FLASH_CANNON ], + [ 36, MoveId.DISCHARGE ], + [ 40, MoveId.METAL_SOUND ], + [ 44, MoveId.LIGHT_SCREEN ], + [ 48, MoveId.LOCK_ON ], + [ 52, MoveId.ZAP_CANNON ], + ], + [SpeciesId.MAGNETON]: [ + [ EVOLVE_MOVE, MoveId.TRI_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.GYRO_BALL ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.MAGNET_RISE ], + [ 34, MoveId.FLASH_CANNON ], + [ 40, MoveId.DISCHARGE ], + [ 46, MoveId.METAL_SOUND ], + [ 52, MoveId.LIGHT_SCREEN ], + [ 58, MoveId.LOCK_ON ], + [ 64, MoveId.ZAP_CANNON ], + ], + [SpeciesId.FARFETCHD]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.PECK ], + [ 5, MoveId.LEER ], + [ 10, MoveId.FURY_CUTTER ], + [ 15, MoveId.CUT ], + [ 20, MoveId.AERIAL_ACE ], + [ 25, MoveId.AIR_CUTTER ], + [ 30, MoveId.KNOCK_OFF ], + [ 35, MoveId.FALSE_SWIPE ], + [ 40, MoveId.SLASH ], + [ 45, MoveId.SWORDS_DANCE ], + [ 50, MoveId.AIR_SLASH ], + [ 55, MoveId.LEAF_BLADE ], + [ 60, MoveId.AGILITY ], + [ 65, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.DODUO]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 5, MoveId.QUICK_ATTACK ], + [ 9, MoveId.FURY_ATTACK ], + [ 14, MoveId.PLUCK ], + [ 19, MoveId.DOUBLE_HIT ], + [ 23, MoveId.AGILITY ], + [ 27, MoveId.UPROAR ], + [ 30, MoveId.ACUPRESSURE ], + [ 33, MoveId.SWORDS_DANCE ], + [ 36, MoveId.DRILL_PECK ], + [ 39, MoveId.ENDEAVOR ], + [ 43, MoveId.THRASH ], + ], + [SpeciesId.DODRIO]: [ + [ EVOLVE_MOVE, MoveId.TRI_ATTACK ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 5, MoveId.QUICK_ATTACK ], + [ 12, MoveId.FURY_ATTACK ], + [ 15, MoveId.PLUCK ], + [ 19, MoveId.DOUBLE_HIT ], + [ 23, MoveId.AGILITY ], + [ 26, MoveId.UPROAR ], + [ 30, MoveId.ACUPRESSURE ], + [ 34, MoveId.SWORDS_DANCE ], + [ 38, MoveId.DRILL_PECK ], + [ 43, MoveId.ENDEAVOR ], + [ 50, MoveId.THRASH ], + ], + [SpeciesId.SEEL]: [ + [ 1, MoveId.HEADBUTT ], + [ 3, MoveId.GROWL ], + [ 7, MoveId.CHARM ], + [ 11, MoveId.ICY_WIND ], + [ 13, MoveId.ENCORE ], + [ 17, MoveId.ICE_SHARD ], + [ 21, MoveId.REST ], + [ 23, MoveId.AQUA_RING ], + [ 27, MoveId.AURORA_BEAM ], + [ 31, MoveId.AQUA_JET ], + [ 33, MoveId.BRINE ], + [ 37, MoveId.TAKE_DOWN ], + [ 41, MoveId.DIVE ], + [ 43, MoveId.AQUA_TAIL ], + [ 47, MoveId.ICE_BEAM ], + [ 51, MoveId.SAFEGUARD ], + [ 53, MoveId.SNOWSCAPE ], + ], + [SpeciesId.DEWGONG]: [ + [ EVOLVE_MOVE, MoveId.SHEER_COLD ], + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ICY_WIND ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.SIGNAL_BEAM ], + [ 13, MoveId.ENCORE ], + [ 17, MoveId.ICE_SHARD ], + [ 21, MoveId.REST ], + [ 23, MoveId.AQUA_RING ], + [ 27, MoveId.AURORA_BEAM ], + [ 31, MoveId.AQUA_JET ], + [ 33, MoveId.BRINE ], + [ 39, MoveId.TAKE_DOWN ], + [ 45, MoveId.DIVE ], + [ 49, MoveId.AQUA_TAIL ], + [ 55, MoveId.ICE_BEAM ], + [ 61, MoveId.SAFEGUARD ], + [ 65, MoveId.SNOWSCAPE ], + ], + [SpeciesId.GRIMER]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.POISON_GAS ], + [ 4, MoveId.HARDEN ], + [ 7, MoveId.MUD_SLAP ], + [ 12, MoveId.DISABLE ], + [ 15, MoveId.SLUDGE ], + [ 18, MoveId.MUD_SHOT ], + [ 21, MoveId.MINIMIZE ], + [ 26, MoveId.TOXIC ], + [ 29, MoveId.SLUDGE_BOMB ], + [ 32, MoveId.SLUDGE_WAVE ], + [ 37, MoveId.SCREECH ], + [ 40, MoveId.GUNK_SHOT ], + [ 43, MoveId.ACID_ARMOR ], + [ 46, MoveId.BELCH ], + [ 48, MoveId.MEMENTO ], + ], + [SpeciesId.MUK]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MUD_SLAP ], + [ 12, MoveId.DISABLE ], + [ 15, MoveId.SLUDGE ], + [ 18, MoveId.MUD_SHOT ], + [ 21, MoveId.MINIMIZE ], + [ 26, MoveId.TOXIC ], + [ 29, MoveId.SLUDGE_BOMB ], + [ 32, MoveId.SLUDGE_WAVE ], + [ 37, MoveId.SCREECH ], + [ 40, MoveId.GUNK_SHOT ], + [ 46, MoveId.ACID_ARMOR ], + [ 52, MoveId.BELCH ], + [ 57, MoveId.MEMENTO ], + ], + [SpeciesId.SHELLDER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.WITHDRAW ], + [ 8, MoveId.ICE_SHARD ], + [ 12, MoveId.LEER ], + [ 16, MoveId.WHIRLPOOL ], + [ 20, MoveId.SUPERSONIC ], + [ 24, MoveId.AURORA_BEAM ], + [ 28, MoveId.PROTECT ], + [ 32, MoveId.RAZOR_SHELL ], + [ 36, MoveId.IRON_DEFENSE ], + [ 40, MoveId.ICE_BEAM ], + [ 44, MoveId.SHELL_SMASH ], + [ 48, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.CLOYSTER]: [ + [ EVOLVE_MOVE, MoveId.ICICLE_SPEAR ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HYDRO_PUMP ], + [ 1, MoveId.ICE_BEAM ], + [ 1, MoveId.AURORA_BEAM ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SPIKES ], + [ 1, MoveId.WHIRLPOOL ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.TOXIC_SPIKES ], + [ 1, MoveId.ICE_SHARD ], + [ 1, MoveId.SHELL_SMASH ], + [ 1, MoveId.ICICLE_CRASH ], + [ 5, MoveId.RAZOR_SHELL ], + ], + [SpeciesId.GASTLY]: [ + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.LICK ], + [ 1, MoveId.ACID ], // Custom + [ 4, MoveId.HYPNOSIS ], + [ 8, MoveId.MEAN_LOOK ], + [ 12, MoveId.PAYBACK ], + [ 16, MoveId.SPITE ], + [ 20, MoveId.CURSE ], + [ 24, MoveId.HEX ], + [ 28, MoveId.NIGHT_SHADE ], + [ 32, MoveId.SUCKER_PUNCH ], + [ 36, MoveId.DARK_PULSE ], + [ 40, MoveId.SHADOW_BALL ], + [ 44, MoveId.DESTINY_BOND ], + [ 48, MoveId.DREAM_EATER ], + ], + [SpeciesId.HAUNTER]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_PUNCH ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.LICK ], + [ 1, MoveId.ACID ], // Previous Stage Move, Custom + [ 1, MoveId.MEAN_LOOK ], + [ 12, MoveId.PAYBACK ], + [ 16, MoveId.SPITE ], + [ 20, MoveId.CURSE ], + [ 24, MoveId.HEX ], + [ 30, MoveId.NIGHT_SHADE ], + [ 36, MoveId.SUCKER_PUNCH ], + [ 42, MoveId.DARK_PULSE ], + [ 48, MoveId.SHADOW_BALL ], + [ 54, MoveId.DESTINY_BOND ], + [ 60, MoveId.DREAM_EATER ], + ], + [SpeciesId.GENGAR]: [ + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.LICK ], + [ 1, MoveId.ACID ], // Previous Stage Move, Custom + [ 1, MoveId.PERISH_SONG ], + [ 1, MoveId.MEAN_LOOK ], + [ 1, MoveId.SHADOW_PUNCH ], + [ 1, MoveId.REFLECT_TYPE ], + [ 12, MoveId.PAYBACK ], + [ 16, MoveId.SPITE ], + [ 20, MoveId.CURSE ], + [ 24, MoveId.HEX ], + [ 30, MoveId.NIGHT_SHADE ], + [ 36, MoveId.SUCKER_PUNCH ], + [ 42, MoveId.DARK_PULSE ], + [ 48, MoveId.SHADOW_BALL ], + [ 54, MoveId.DESTINY_BOND ], + [ 60, MoveId.DREAM_EATER ], + ], + [SpeciesId.ONIX]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.MUD_SPORT ], + [ 4, MoveId.SMACK_DOWN ], + [ 8, MoveId.ROCK_POLISH ], + [ 12, MoveId.DRAGON_BREATH ], + [ 16, MoveId.CURSE ], + [ 20, MoveId.ROCK_SLIDE ], + [ 22, MoveId.GYRO_BALL ], // Custom, from USUM + [ 24, MoveId.SCREECH ], + [ 28, MoveId.SAND_TOMB ], + [ 32, MoveId.STEALTH_ROCK ], + [ 36, MoveId.SLAM ], + [ 40, MoveId.SANDSTORM ], + [ 44, MoveId.DIG ], + [ 48, MoveId.IRON_TAIL ], + [ 52, MoveId.STONE_EDGE ], + [ 56, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.DROWZEE]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.HYPNOSIS ], + [ 5, MoveId.DISABLE ], + [ 9, MoveId.CONFUSION ], + [ 13, MoveId.HEADBUTT ], + [ 17, MoveId.POISON_GAS ], + [ 21, MoveId.PSYBEAM ], + [ 25, MoveId.PSYCH_UP ], + [ 29, MoveId.ZEN_HEADBUTT ], + [ 33, MoveId.SWAGGER ], + [ 37, MoveId.PSYCHIC ], + [ 41, MoveId.NASTY_PLOT ], + [ 45, MoveId.PSYSHOCK ], + [ 49, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.HYPNO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.SWITCHEROO ], + [ 1, MoveId.NIGHTMARE ], + [ 13, MoveId.HEADBUTT ], + [ 17, MoveId.POISON_GAS ], + [ 21, MoveId.PSYBEAM ], + [ 25, MoveId.PSYCH_UP ], + [ 32, MoveId.ZEN_HEADBUTT ], + [ 37, MoveId.SWAGGER ], + [ 42, MoveId.PSYCHIC ], + [ 47, MoveId.NASTY_PLOT ], + [ 51, MoveId.PSYSHOCK ], + [ 56, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.KRABBY]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.MUD_SPORT ], + [ 4, MoveId.HARDEN ], + [ 8, MoveId.METAL_CLAW ], + [ 12, MoveId.MUD_SHOT ], + [ 16, MoveId.PROTECT ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.STOMP ], + [ 29, MoveId.FLAIL ], + [ 32, MoveId.RAZOR_SHELL ], + [ 36, MoveId.SLAM ], + [ 40, MoveId.SWORDS_DANCE ], + [ 44, MoveId.CRABHAMMER ], + [ 48, MoveId.GUILLOTINE ], + ], + [SpeciesId.KINGLER]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.HAMMER_ARM ], + [ 1, MoveId.WIDE_GUARD ], + [ 1, MoveId.MUD_SPORT ], + [ 12, MoveId.MUD_SHOT ], + [ 16, MoveId.PROTECT ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.STOMP ], + [ 31, MoveId.FLAIL ], + [ 36, MoveId.RAZOR_SHELL ], + [ 42, MoveId.SLAM ], + [ 48, MoveId.SWORDS_DANCE ], + [ 54, MoveId.CRABHAMMER ], + [ 60, MoveId.GUILLOTINE ], + ], + [SpeciesId.VOLTORB]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CHARGE ], + [ 4, MoveId.THUNDER_SHOCK ], + [ 6, MoveId.EERIE_IMPULSE ], + [ 9, MoveId.SPARK ], + [ 11, MoveId.ROLLOUT ], + [ 13, MoveId.SCREECH ], + [ 16, MoveId.CHARGE_BEAM ], + [ 20, MoveId.SWIFT ], + [ 22, MoveId.ELECTRO_BALL ], + [ 26, MoveId.SELF_DESTRUCT ], + [ 29, MoveId.LIGHT_SCREEN ], + [ 34, MoveId.MAGNET_RISE ], + [ 37, MoveId.DISCHARGE ], + [ 41, MoveId.EXPLOSION ], + [ 46, MoveId.GYRO_BALL ], + [ 50, MoveId.MIRROR_COAT ], + ], + [SpeciesId.ELECTRODE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.EERIE_IMPULSE ], + [ 1, MoveId.MAGNETIC_FLUX ], + [ 9, MoveId.SPARK ], + [ 11, MoveId.ROLLOUT ], + [ 13, MoveId.SCREECH ], + [ 16, MoveId.CHARGE_BEAM ], + [ 20, MoveId.SWIFT ], + [ 22, MoveId.ELECTRO_BALL ], + [ 26, MoveId.SELF_DESTRUCT ], + [ 29, MoveId.LIGHT_SCREEN ], + [ 36, MoveId.MAGNET_RISE ], + [ 41, MoveId.DISCHARGE ], + [ 47, MoveId.EXPLOSION ], + [ 54, MoveId.GYRO_BALL ], + [ 58, MoveId.MIRROR_COAT ], + ], + [SpeciesId.EXEGGCUTE]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.BARRAGE ], + [ 5, MoveId.REFLECT ], + [ 10, MoveId.LEECH_SEED ], + [ 15, MoveId.MEGA_DRAIN ], + [ 20, MoveId.CONFUSION ], + [ 25, MoveId.SYNTHESIS ], + [ 30, MoveId.BULLET_SEED ], + [ 35, MoveId.GIGA_DRAIN ], + [ 40, MoveId.EXTRASENSORY ], + [ 45, MoveId.UPROAR ], + [ 50, MoveId.WORRY_SEED ], + [ 55, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.EXEGGUTOR]: [ + [ EVOLVE_MOVE, MoveId.STOMP ], + [ RELEARN_MOVE, MoveId.GROWTH ], + [ 1, MoveId.BARRAGE ], + [ 1, MoveId.SEED_BOMB ], + [ 1, MoveId.PSYSHOCK ], + [ 1, MoveId.WOOD_HAMMER ], + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.SYNTHESIS ], + [ 1, MoveId.BULLET_SEED ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.EXTRASENSORY ], + [ 1, MoveId.UPROAR ], + [ 1, MoveId.WORRY_SEED ], + [ 1, MoveId.SOLAR_BEAM ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.REFLECT ], + [ 1, MoveId.LEECH_SEED ], + ], + [SpeciesId.CUBONE]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.MUD_SLAP ], + [ 4, MoveId.TAIL_WHIP ], + [ 8, MoveId.FALSE_SWIPE ], + [ 12, MoveId.HEADBUTT ], + [ 16, MoveId.RETALIATE ], + [ 20, MoveId.FLING ], + [ 24, MoveId.STOMPING_TANTRUM ], + [ 29, MoveId.BONE_RUSH ], + [ 32, MoveId.FOCUS_ENERGY ], + [ 36, MoveId.ENDEAVOR ], + [ 40, MoveId.BONEMERANG ], + [ 44, MoveId.THRASH ], + [ 48, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.MAROWAK]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.FALSE_SWIPE ], + [ 1, MoveId.BONE_CLUB ], + [ 12, MoveId.HEADBUTT ], + [ 16, MoveId.RETALIATE ], + [ 20, MoveId.FLING ], + [ 24, MoveId.STOMPING_TANTRUM ], + [ 31, MoveId.BONE_RUSH ], + [ 36, MoveId.FOCUS_ENERGY ], + [ 42, MoveId.ENDEAVOR ], + [ 48, MoveId.BONEMERANG ], + [ 54, MoveId.THRASH ], + [ 60, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.HITMONLEE]: [ + [ EVOLVE_MOVE, MoveId.BRICK_BREAK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.LOW_SWEEP ], + [ 1, MoveId.JUMP_KICK ], + [ 1, MoveId.ROLLING_KICK ], + [ 1, MoveId.MACH_PUNCH ], // Previous Stage Move, Custom + [ 1, MoveId.RAPID_SPIN ], // Previous Stage Move, Custom + [ 4, MoveId.DOUBLE_KICK ], + [ 8, MoveId.LOW_KICK ], + [ 12, MoveId.ENDURE ], + [ 16, MoveId.SUCKER_PUNCH ], + [ 21, MoveId.WIDE_GUARD ], + [ 24, MoveId.BLAZE_KICK ], + [ 28, MoveId.FEINT ], + [ 32, MoveId.MEGA_KICK ], + [ 36, MoveId.CLOSE_COMBAT ], + [ 40, MoveId.REVERSAL ], + [ 44, MoveId.HIGH_JUMP_KICK ], + [ 50, MoveId.AXE_KICK ], + ], + [SpeciesId.HITMONCHAN]: [ + [ EVOLVE_MOVE, MoveId.DRAIN_PUNCH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.PURSUIT ], + [ 1, MoveId.COMET_PUNCH ], + [ 1, MoveId.LOW_SWEEP ], // Previous Stage Move, Custom + [ 1, MoveId.RAPID_SPIN ], // Previous Stage Move, Custom + [ 4, MoveId.MACH_PUNCH ], + [ 8, MoveId.VACUUM_WAVE ], + [ 12, MoveId.DETECT ], + [ 16, MoveId.BULLET_PUNCH ], + [ 21, MoveId.QUICK_GUARD ], + [ 24, MoveId.THUNDER_PUNCH ], + [ 24, MoveId.ICE_PUNCH ], + [ 24, MoveId.FIRE_PUNCH ], + [ 28, MoveId.AGILITY ], + [ 32, MoveId.MEGA_PUNCH ], + [ 36, MoveId.CLOSE_COMBAT ], + [ 40, MoveId.COUNTER ], + [ 44, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.LICKITUNG]: [ + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.LICK ], + [ 1, MoveId.TACKLE ], // Custom + [ 6, MoveId.REST ], + [ 12, MoveId.SUPERSONIC ], + [ 18, MoveId.WRAP ], + [ 24, MoveId.DISABLE ], + [ 30, MoveId.STOMP ], + [ 32, MoveId.ROLLOUT ], + [ 36, MoveId.KNOCK_OFF ], + [ 42, MoveId.SCREECH ], + [ 48, MoveId.SLAM ], + [ 54, MoveId.POWER_WHIP ], + [ 60, MoveId.BELLY_DRUM ], + ], + [SpeciesId.KOFFING]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POISON_GAS ], + [ 4, MoveId.SMOG ], + [ 8, MoveId.SMOKESCREEN ], + [ 12, MoveId.CLEAR_SMOG ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.SLUDGE ], + [ 24, MoveId.HAZE ], + [ 28, MoveId.SELF_DESTRUCT ], + [ 32, MoveId.SLUDGE_BOMB ], + [ 36, MoveId.TOXIC ], + [ 40, MoveId.BELCH ], + [ 44, MoveId.EXPLOSION ], + [ 48, MoveId.MEMENTO ], + [ 52, MoveId.DESTINY_BOND ], + ], + [SpeciesId.WEEZING]: [ + [ EVOLVE_MOVE, MoveId.DOUBLE_HIT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.HEAT_WAVE ], + [ 12, MoveId.CLEAR_SMOG ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.SLUDGE ], + [ 24, MoveId.HAZE ], + [ 28, MoveId.SELF_DESTRUCT ], + [ 32, MoveId.SLUDGE_BOMB ], + [ 38, MoveId.TOXIC ], + [ 44, MoveId.BELCH ], + [ 50, MoveId.EXPLOSION ], + [ 56, MoveId.MEMENTO ], + [ 62, MoveId.DESTINY_BOND ], + ], + [SpeciesId.RHYHORN]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.SMACK_DOWN ], + [ 10, MoveId.BULLDOZE ], + [ 15, MoveId.HORN_ATTACK ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.STOMP ], + [ 30, MoveId.ROCK_BLAST ], + [ 35, MoveId.DRILL_RUN ], + [ 40, MoveId.TAKE_DOWN ], + [ 45, MoveId.EARTHQUAKE ], + [ 50, MoveId.STONE_EDGE ], + [ 55, MoveId.MEGAHORN ], + [ 60, MoveId.HORN_DRILL ], + ], + [SpeciesId.RHYDON]: [ + [ EVOLVE_MOVE, MoveId.HAMMER_ARM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.SMACK_DOWN ], + [ 1, MoveId.BULLDOZE ], + [ 15, MoveId.HORN_ATTACK ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.STOMP ], + [ 30, MoveId.ROCK_BLAST ], + [ 35, MoveId.DRILL_RUN ], + [ 40, MoveId.TAKE_DOWN ], + [ 47, MoveId.EARTHQUAKE ], + [ 54, MoveId.STONE_EDGE ], + [ 61, MoveId.MEGAHORN ], + [ 68, MoveId.HORN_DRILL ], + ], + [SpeciesId.CHANSEY]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.DISARMING_VOICE ], + [ 4, MoveId.TAIL_WHIP ], + [ 8, MoveId.ECHOED_VOICE ], + [ 12, MoveId.LIFE_DEW ], + [ 16, MoveId.SING ], + [ 20, MoveId.FLING ], + [ 24, MoveId.TAKE_DOWN ], + [ 28, MoveId.HEAL_PULSE ], + [ 32, MoveId.HELPING_HAND ], + [ 36, MoveId.LIGHT_SCREEN ], + [ 40, MoveId.DOUBLE_EDGE ], + [ 44, MoveId.SOFT_BOILED ], + [ 48, MoveId.LAST_RESORT ], + [ 52, MoveId.HEALING_WISH ], + ], + [SpeciesId.TANGELA]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.CONSTRICT ], + [ 4, MoveId.STUN_SPORE ], + [ 8, MoveId.GROWTH ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.VINE_WHIP ], + [ 20, MoveId.POISON_POWDER ], + [ 24, MoveId.DOUBLE_HIT ], + [ 28, MoveId.KNOCK_OFF ], + [ 32, MoveId.GIGA_DRAIN ], + [ 34, MoveId.ANCIENT_POWER ], + [ 36, MoveId.SLEEP_POWDER ], + [ 40, MoveId.SLAM ], + [ 44, MoveId.TICKLE ], + [ 48, MoveId.POWER_WHIP ], + [ 52, MoveId.INGRAIN ], + [ 56, MoveId.GRASSY_TERRAIN ], + ], + [SpeciesId.KANGASKHAN]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.COMET_PUNCH ], + [ 4, MoveId.GROWL ], + [ 8, MoveId.FAKE_OUT ], + [ 12, MoveId.BITE ], + [ 16, MoveId.STOMP ], + [ 20, MoveId.FOCUS_ENERGY ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 32, MoveId.DOUBLE_HIT ], + [ 36, MoveId.CRUNCH ], + [ 40, MoveId.ENDURE ], + [ 44, MoveId.REVERSAL ], + [ 48, MoveId.OUTRAGE ], + [ 52, MoveId.LAST_RESORT ], + ], + [SpeciesId.HORSEA]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.WATER_GUN ], + [ 5, MoveId.SMOKESCREEN ], + [ 10, MoveId.TWISTER ], + [ 15, MoveId.FOCUS_ENERGY ], + [ 20, MoveId.DRAGON_BREATH ], + [ 25, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.AGILITY ], + [ 35, MoveId.LASER_FOCUS ], + [ 40, MoveId.DRAGON_PULSE ], + [ 45, MoveId.HYDRO_PUMP ], + [ 50, MoveId.DRAGON_DANCE ], + [ 55, MoveId.RAIN_DANCE ], + ], + [SpeciesId.SEADRA]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.TWISTER ], + [ 15, MoveId.FOCUS_ENERGY ], + [ 20, MoveId.DRAGON_BREATH ], + [ 25, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.AGILITY ], + [ 37, MoveId.LASER_FOCUS ], + [ 44, MoveId.DRAGON_PULSE ], + [ 51, MoveId.HYDRO_PUMP ], + [ 58, MoveId.DRAGON_DANCE ], + [ 65, MoveId.RAIN_DANCE ], + ], + [SpeciesId.GOLDEEN]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.PECK ], + [ 1, MoveId.WATER_SPORT ], + [ 5, MoveId.SUPERSONIC ], + [ 10, MoveId.WATER_PULSE ], + [ 15, MoveId.HORN_ATTACK ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.AQUA_RING ], + [ 30, MoveId.FLAIL ], + [ 35, MoveId.WATERFALL ], + [ 40, MoveId.SOAK ], + [ 45, MoveId.MEGAHORN ], + [ 50, MoveId.HORN_DRILL ], + ], + [SpeciesId.SEAKING]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_SPORT ], + [ 1, MoveId.PECK ], + [ 1, MoveId.WATER_PULSE ], + [ 15, MoveId.HORN_ATTACK ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.AQUA_RING ], + [ 30, MoveId.FLAIL ], + [ 37, MoveId.WATERFALL ], + [ 44, MoveId.SOAK ], + [ 51, MoveId.MEGAHORN ], + [ 58, MoveId.HORN_DRILL ], + ], + [SpeciesId.STARYU]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 4, MoveId.WATER_GUN ], + [ 8, MoveId.CONFUSE_RAY ], + [ 12, MoveId.RAPID_SPIN ], + [ 16, MoveId.MINIMIZE ], + [ 20, MoveId.SWIFT ], + [ 24, MoveId.PSYBEAM ], + [ 28, MoveId.BRINE ], + [ 32, MoveId.LIGHT_SCREEN ], + [ 36, MoveId.POWER_GEM ], + [ 40, MoveId.PSYCHIC ], + [ 44, MoveId.SURF ], + [ 48, MoveId.RECOVER ], + [ 52, MoveId.COSMIC_POWER ], + [ 56, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.STARMIE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HYDRO_PUMP ], + [ 1, MoveId.SURF ], + [ 1, MoveId.PSYBEAM ], + [ 1, MoveId.PSYCHIC ], + [ 1, MoveId.RECOVER ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.MINIMIZE ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.LIGHT_SCREEN ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.SPOTLIGHT ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.COSMIC_POWER ], + [ 1, MoveId.BRINE ], + [ 1, MoveId.POWER_GEM ], + ], + [SpeciesId.MR_MIME]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.TICKLE ], // Previous Stage Move + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.ENCORE ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.POWER_SWAP ], + [ 1, MoveId.GUARD_SWAP ], + [ 1, MoveId.WIDE_GUARD ], + [ 1, MoveId.QUICK_GUARD ], + [ 1, MoveId.BARRIER ], + [ 12, MoveId.CONFUSION ], + [ 16, MoveId.ROLE_PLAY ], + [ 20, MoveId.PROTECT ], + [ 24, MoveId.RECYCLE ], + [ 28, MoveId.PSYBEAM ], + [ 32, MoveId.MIMIC ], + [ 36, MoveId.LIGHT_SCREEN ], + [ 36, MoveId.REFLECT ], + [ 36, MoveId.SAFEGUARD ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.DAZZLING_GLEAM ], + [ 48, MoveId.PSYCHIC ], + [ 52, MoveId.TEETER_DANCE ], + ], + [SpeciesId.SCYTHER]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 4, MoveId.FURY_CUTTER ], + [ 8, MoveId.FALSE_SWIPE ], + [ 12, MoveId.WING_ATTACK ], + [ 16, MoveId.DOUBLE_TEAM ], + [ 20, MoveId.DOUBLE_HIT ], + [ 24, MoveId.SLASH ], + [ 28, MoveId.FOCUS_ENERGY ], + [ 30, MoveId.STEEL_WING ], // Custom + [ 32, MoveId.AGILITY ], + [ 36, MoveId.AIR_SLASH ], + [ 40, MoveId.X_SCISSOR ], + [ 44, MoveId.SWORDS_DANCE ], + ], + [SpeciesId.JYNX]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.LICK ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.COPYCAT ], + [ 12, MoveId.CONFUSION ], + [ 16, MoveId.COVET ], + [ 20, MoveId.SING ], + [ 24, MoveId.FAKE_TEARS ], + [ 28, MoveId.ICE_PUNCH ], + [ 34, MoveId.PSYCHIC ], + [ 40, MoveId.LOVELY_KISS ], + [ 46, MoveId.MEAN_LOOK ], + [ 52, MoveId.PERISH_SONG ], + [ 58, MoveId.BLIZZARD ], + ], + [SpeciesId.ELECTABUZZ]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.CHARGE ], + [ 12, MoveId.SWIFT ], + [ 16, MoveId.SHOCK_WAVE ], + [ 20, MoveId.THUNDER_WAVE ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.THUNDER_PUNCH ], + [ 34, MoveId.DISCHARGE ], + [ 40, MoveId.LOW_KICK ], + [ 46, MoveId.THUNDERBOLT ], + [ 52, MoveId.LIGHT_SCREEN ], + [ 58, MoveId.THUNDER ], + [ 64, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.MAGMAR]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.SMOG ], + [ 12, MoveId.CLEAR_SMOG ], + [ 16, MoveId.FLAME_WHEEL ], + [ 20, MoveId.CONFUSE_RAY ], + [ 24, MoveId.SCARY_FACE ], + [ 28, MoveId.FIRE_PUNCH ], + [ 34, MoveId.LAVA_PLUME ], + [ 40, MoveId.LOW_KICK ], + [ 46, MoveId.FLAMETHROWER ], + [ 52, MoveId.SUNNY_DAY ], + [ 58, MoveId.FIRE_BLAST ], + [ 64, MoveId.HYPER_BEAM ], + ], + [SpeciesId.PINSIR]: [ + [ 1, MoveId.VISE_GRIP ], + [ 1, MoveId.HARDEN ], + [ 4, MoveId.FOCUS_ENERGY ], + [ 8, MoveId.BIND ], + [ 12, MoveId.SEISMIC_TOSS ], + [ 16, MoveId.BUG_BITE ], + [ 20, MoveId.STORM_THROW ], + [ 24, MoveId.DOUBLE_HIT ], + [ 28, MoveId.VITAL_THROW ], + [ 32, MoveId.X_SCISSOR ], + [ 36, MoveId.STRENGTH ], + [ 40, MoveId.SWORDS_DANCE ], + [ 44, MoveId.SUBMISSION ], + [ 48, MoveId.GUILLOTINE ], + [ 52, MoveId.SUPERPOWER ], + ], + [SpeciesId.TAUROS]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.WORK_UP ], + [ 10, MoveId.PAYBACK ], + [ 15, MoveId.ASSURANCE ], + [ 20, MoveId.HORN_ATTACK ], + [ 25, MoveId.SCARY_FACE ], + [ 30, MoveId.ZEN_HEADBUTT ], + [ 35, MoveId.RAGING_BULL ], + [ 40, MoveId.REST ], + [ 45, MoveId.SWAGGER ], + [ 50, MoveId.THRASH ], + [ 55, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.MAGIKARP]: [ + [ 1, MoveId.SPLASH ], + [ 15, MoveId.TACKLE ], + [ 25, MoveId.FLAIL ], + ], + [SpeciesId.GYARADOS]: [ + [ EVOLVE_MOVE, MoveId.BITE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.TWISTER ], + [ 4, MoveId.WHIRLPOOL ], + [ 8, MoveId.ICE_FANG ], + [ 12, MoveId.BRINE ], + [ 16, MoveId.SCARY_FACE ], + [ 21, MoveId.WATERFALL ], + [ 24, MoveId.CRUNCH ], + [ 28, MoveId.RAIN_DANCE ], + [ 32, MoveId.AQUA_TAIL ], + [ 36, MoveId.DRAGON_DANCE ], + [ 40, MoveId.HYDRO_PUMP ], + [ 44, MoveId.HURRICANE ], + [ 48, MoveId.THRASH ], + [ 52, MoveId.HYPER_BEAM ], + ], + [SpeciesId.LAPRAS]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 5, MoveId.SING ], + [ 10, MoveId.MIST ], + [ 15, MoveId.LIFE_DEW ], + [ 20, MoveId.ICE_SHARD ], + [ 25, MoveId.CONFUSE_RAY ], + [ 30, MoveId.WATER_PULSE ], + [ 35, MoveId.BRINE ], + [ 40, MoveId.BODY_SLAM ], + [ 45, MoveId.ICE_BEAM ], + [ 50, MoveId.RAIN_DANCE ], + [ 55, MoveId.HYDRO_PUMP ], + [ 60, MoveId.PERISH_SONG ], + [ 65, MoveId.SHEER_COLD ], + ], + [SpeciesId.DITTO]: [ + [ 1, MoveId.TRANSFORM ], + ], + [SpeciesId.EEVEE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.QUICK_ATTACK ], + [ 15, MoveId.BABY_DOLL_EYES ], + [ 20, MoveId.SWIFT ], + [ 25, MoveId.BITE ], + [ 30, MoveId.COPYCAT ], + [ 35, MoveId.BATON_PASS ], + [ 40, MoveId.TAKE_DOWN ], + [ 45, MoveId.CHARM ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 55, MoveId.LAST_RESORT ], + [ 60, MoveId.VEEVEE_VOLLEY ], + ], + [SpeciesId.VAPOREON]: [ + [ EVOLVE_MOVE, MoveId.BOUNCY_BUBBLE ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.WATER_GUN ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.HAZE ], + [ 30, MoveId.WATER_PULSE ], + [ 35, MoveId.AURORA_BEAM ], + [ 40, MoveId.AQUA_RING ], + [ 45, MoveId.MUDDY_WATER ], + [ 50, MoveId.ACID_ARMOR ], + [ 55, MoveId.HYDRO_PUMP ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.JOLTEON]: [ + [ EVOLVE_MOVE, MoveId.BUZZY_BUZZ ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.THUNDER_SHOCK ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.THUNDER_WAVE ], + [ 30, MoveId.DOUBLE_KICK ], + [ 35, MoveId.THUNDER_FANG ], + [ 40, MoveId.PIN_MISSILE ], + [ 45, MoveId.DISCHARGE ], + [ 50, MoveId.AGILITY ], + [ 55, MoveId.THUNDER ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.FLAREON]: [ + [ EVOLVE_MOVE, MoveId.SIZZLY_SLIDE ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.EMBER ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.SMOG ], + [ 30, MoveId.BITE ], + [ 35, MoveId.FIRE_FANG ], + [ 40, MoveId.FIRE_SPIN ], + [ 45, MoveId.LAVA_PLUME ], + [ 50, MoveId.SCARY_FACE ], + [ 55, MoveId.FLARE_BLITZ ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.PORYGON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CONVERSION ], + [ 5, MoveId.RECYCLE ], + [ 10, MoveId.MAGNET_RISE ], + [ 15, MoveId.THUNDER_SHOCK ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.CONVERSION_2 ], + [ 30, MoveId.AGILITY ], + [ 35, MoveId.RECOVER ], + [ 40, MoveId.DISCHARGE ], + [ 45, MoveId.TRI_ATTACK ], + [ 50, MoveId.MAGIC_COAT ], + [ 55, MoveId.LOCK_ON ], + [ 60, MoveId.ZAP_CANNON ], + ], + [SpeciesId.OMANYTE]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.CONSTRICT ], + [ 5, MoveId.ROLLOUT ], + [ 10, MoveId.SAND_ATTACK ], + [ 15, MoveId.WATER_GUN ], + [ 20, MoveId.LEER ], + [ 25, MoveId.MUD_SHOT ], + [ 30, MoveId.ANCIENT_POWER ], + [ 35, MoveId.BRINE ], + [ 41, MoveId.PROTECT ], + [ 45, MoveId.ROCK_BLAST ], + [ 50, MoveId.SURF ], + [ 55, MoveId.SHELL_SMASH ], + [ 60, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.OMASTAR]: [ + [ EVOLVE_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.BIND ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.CONSTRICT ], + [ 1, MoveId.SPIKE_CANNON ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.ROLLOUT ], + [ 15, MoveId.WATER_GUN ], + [ 20, MoveId.LEER ], + [ 25, MoveId.MUD_SHOT ], + [ 30, MoveId.ANCIENT_POWER ], + [ 35, MoveId.BRINE ], + [ 43, MoveId.PROTECT ], + [ 49, MoveId.ROCK_BLAST ], + [ 56, MoveId.SURF ], + [ 63, MoveId.SHELL_SMASH ], + [ 70, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.KABUTO]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.SCRATCH ], + [ 10, MoveId.SAND_ATTACK ], + [ 15, MoveId.AQUA_JET ], + [ 20, MoveId.LEER ], + [ 25, MoveId.MUD_SHOT ], + [ 30, MoveId.ANCIENT_POWER ], + [ 35, MoveId.BRINE ], + [ 41, MoveId.PROTECT ], + [ 45, MoveId.LEECH_LIFE ], + [ 50, MoveId.LIQUIDATION ], + [ 55, MoveId.METAL_SOUND ], + [ 60, MoveId.STONE_EDGE ], + ], + [SpeciesId.KABUTOPS]: [ + [ EVOLVE_MOVE, MoveId.SLASH ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.NIGHT_SLASH ], + [ 15, MoveId.AQUA_JET ], + [ 20, MoveId.LEER ], + [ 25, MoveId.MUD_SHOT ], + [ 30, MoveId.ANCIENT_POWER ], + [ 35, MoveId.BRINE ], + [ 43, MoveId.PROTECT ], + [ 49, MoveId.LEECH_LIFE ], + [ 56, MoveId.LIQUIDATION ], + [ 63, MoveId.METAL_SOUND ], + [ 70, MoveId.STONE_EDGE ], + ], + [SpeciesId.AERODACTYL]: [ + [ 1, MoveId.BITE ], + [ 1, MoveId.ANCIENT_POWER ], + [ 5, MoveId.SUPERSONIC ], + [ 10, MoveId.WING_ATTACK ], + [ 15, MoveId.SCARY_FACE ], + [ 20, MoveId.ROCK_SLIDE ], + [ 25, MoveId.ROAR ], + [ 30, MoveId.CRUNCH ], + [ 35, MoveId.IRON_HEAD ], + [ 40, MoveId.TAKE_DOWN ], + [ 45, MoveId.STONE_EDGE ], + [ 50, MoveId.AGILITY ], + [ 55, MoveId.HYPER_BEAM ], + [ 60, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.SNORLAX]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SCREECH ], + [ 1, MoveId.ODOR_SLEUTH ], // Previous Stage Move + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.METRONOME ], + [ 1, MoveId.LICK ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.STOCKPILE ], + [ 1, MoveId.SWALLOW ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.BLOCK ], + [ 1, MoveId.COVET ], + [ 1, MoveId.FLING ], + [ 1, MoveId.LAST_RESORT ], + [ 12, MoveId.YAWN ], + [ 16, MoveId.BITE ], + [ 20, MoveId.REST ], + [ 20, MoveId.SNORE ], + [ 20, MoveId.SLEEP_TALK ], + [ 24, MoveId.CRUNCH ], + [ 28, MoveId.BODY_SLAM ], + [ 32, MoveId.HEAVY_SLAM ], + [ 36, MoveId.AMNESIA ], + [ 40, MoveId.HIGH_HORSEPOWER ], + [ 44, MoveId.HAMMER_ARM ], + [ 48, MoveId.BELLY_DRUM ], + [ 52, MoveId.BELCH ], + [ 56, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.ARTICUNO]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.MIST ], + [ 5, MoveId.POWDER_SNOW ], + [ 10, MoveId.REFLECT ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.ANCIENT_POWER ], + [ 30, MoveId.TAILWIND ], + [ 35, MoveId.FREEZE_DRY ], + [ 40, MoveId.ROOST ], + [ 45, MoveId.ICE_BEAM ], + [ 50, MoveId.SNOWSCAPE ], + [ 55, MoveId.HURRICANE ], + [ 60, MoveId.HAZE ], + [ 65, MoveId.BLIZZARD ], + [ 70, MoveId.SHEER_COLD ], + ], + [SpeciesId.ZAPDOS]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.THUNDER_WAVE ], + [ 5, MoveId.THUNDER_SHOCK ], + [ 10, MoveId.LIGHT_SCREEN ], + [ 15, MoveId.PLUCK ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.ANCIENT_POWER ], + [ 30, MoveId.CHARGE ], + [ 35, MoveId.DRILL_PECK ], + [ 40, MoveId.ROOST ], + [ 45, MoveId.DISCHARGE ], + [ 50, MoveId.RAIN_DANCE ], + [ 55, MoveId.THUNDER ], + [ 60, MoveId.DETECT ], + [ 65, MoveId.MAGNETIC_FLUX ], + [ 70, MoveId.ZAP_CANNON ], + ], + [SpeciesId.MOLTRES]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 5, MoveId.EMBER ], + [ 10, MoveId.SAFEGUARD ], + [ 15, MoveId.WING_ATTACK ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.ANCIENT_POWER ], + [ 30, MoveId.INCINERATE ], + [ 35, MoveId.AIR_SLASH ], + [ 40, MoveId.ROOST ], + [ 45, MoveId.HEAT_WAVE ], + [ 50, MoveId.SUNNY_DAY ], + [ 55, MoveId.HURRICANE ], + [ 60, MoveId.ENDURE ], + [ 65, MoveId.OVERHEAT ], + [ 70, MoveId.SKY_ATTACK ], + ], + [SpeciesId.DRATINI]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 5, MoveId.TWISTER ], + [ 10, MoveId.THUNDER_WAVE ], + [ 15, MoveId.DRAGON_TAIL ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.SLAM ], + [ 31, MoveId.AQUA_TAIL ], + [ 35, MoveId.DRAGON_RUSH ], + [ 40, MoveId.SAFEGUARD ], + [ 45, MoveId.RAIN_DANCE ], + [ 50, MoveId.DRAGON_DANCE ], + [ 55, MoveId.OUTRAGE ], + [ 60, MoveId.HYPER_BEAM ], + ], + [SpeciesId.DRAGONAIR]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.TWISTER ], + [ 15, MoveId.DRAGON_TAIL ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.SLAM ], + [ 33, MoveId.AQUA_TAIL ], + [ 39, MoveId.DRAGON_RUSH ], + [ 46, MoveId.SAFEGUARD ], + [ 53, MoveId.RAIN_DANCE ], + [ 60, MoveId.DRAGON_DANCE ], + [ 67, MoveId.OUTRAGE ], + [ 74, MoveId.HYPER_BEAM ], + ], + [SpeciesId.DRAGONITE]: [ + [ EVOLVE_MOVE, MoveId.HURRICANE ], + [ 1, MoveId.FIRE_PUNCH ], + [ 1, MoveId.THUNDER_PUNCH ], + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.TWISTER ], + [ 1, MoveId.EXTREME_SPEED ], + [ 1, MoveId.ROOST ], + [ 15, MoveId.DRAGON_TAIL ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.SLAM ], + [ 33, MoveId.AQUA_TAIL ], + [ 39, MoveId.DRAGON_RUSH ], + [ 41, MoveId.OUTRAGE ], + [ 46, MoveId.SAFEGUARD ], + [ 53, MoveId.RAIN_DANCE ], + [ 62, MoveId.DRAGON_DANCE ], + [ 80, MoveId.HYPER_BEAM ], + ], + [SpeciesId.MEWTWO]: [ + [ 1, MoveId.DISABLE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.LIFE_DEW ], + [ 8, MoveId.ANCIENT_POWER ], + [ 16, MoveId.PSYCHO_CUT ], + [ 24, MoveId.SAFEGUARD ], + [ 32, MoveId.AMNESIA ], + [ 40, MoveId.AURA_SPHERE ], + [ 48, MoveId.PSYCHIC ], + [ 56, MoveId.POWER_SWAP ], + [ 56, MoveId.GUARD_SWAP ], + [ 64, MoveId.MIST ], + [ 72, MoveId.PSYSTRIKE ], + [ 80, MoveId.RECOVER ], + [ 88, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.MEW]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.REFLECT_TYPE ], + [ 10, MoveId.AMNESIA ], + [ 20, MoveId.BATON_PASS ], + [ 30, MoveId.ANCIENT_POWER ], + [ 40, MoveId.LIFE_DEW ], + [ 50, MoveId.NASTY_PLOT ], + [ 60, MoveId.METRONOME ], + [ 70, MoveId.IMPRISON ], + [ 80, MoveId.TRANSFORM ], + [ 90, MoveId.AURA_SPHERE ], + [ 100, MoveId.PSYCHIC ], + ], + [SpeciesId.CHIKORITA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.RAZOR_LEAF ], // Custom, moved from 6 to 5 + [ 9, MoveId.POISON_POWDER ], + [ 12, MoveId.SYNTHESIS ], + [ 17, MoveId.REFLECT ], + [ 20, MoveId.MAGICAL_LEAF ], + [ 23, MoveId.LEECH_SEED ], + [ 28, MoveId.SWEET_SCENT ], + [ 31, MoveId.LIGHT_SCREEN ], + [ 34, MoveId.BODY_SLAM ], + [ 39, MoveId.SAFEGUARD ], + [ 42, MoveId.GIGA_DRAIN ], + [ 45, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.BAYLEEF]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.POISON_POWDER ], + [ 12, MoveId.SYNTHESIS ], + [ 18, MoveId.REFLECT ], + [ 22, MoveId.MAGICAL_LEAF ], + [ 26, MoveId.LEECH_SEED ], + [ 32, MoveId.SWEET_SCENT ], + [ 36, MoveId.LIGHT_SCREEN ], + [ 40, MoveId.BODY_SLAM ], + [ 46, MoveId.SAFEGUARD ], + [ 50, MoveId.GIGA_DRAIN ], + [ 54, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.MEGANIUM]: [ + [ EVOLVE_MOVE, MoveId.PETAL_DANCE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.POISON_POWDER ], + [ 1, MoveId.PETAL_BLIZZARD ], + [ 12, MoveId.SYNTHESIS ], + [ 18, MoveId.REFLECT ], + [ 22, MoveId.MAGICAL_LEAF ], + [ 26, MoveId.LEECH_SEED ], + [ 34, MoveId.SWEET_SCENT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 46, MoveId.BODY_SLAM ], + [ 54, MoveId.SAFEGUARD ], + [ 60, MoveId.GIGA_DRAIN ], + [ 65, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.CYNDAQUIL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 5, MoveId.EMBER ], // Custom, moved from 10 to 5 + [ 10, MoveId.SMOKESCREEN ], // Custom, moved from 6 to 10 + [ 13, MoveId.QUICK_ATTACK ], + [ 19, MoveId.FLAME_WHEEL ], + [ 22, MoveId.DEFENSE_CURL ], + [ 28, MoveId.FLAME_CHARGE ], + [ 31, MoveId.SWIFT ], + [ 37, MoveId.LAVA_PLUME ], + [ 40, MoveId.FLAMETHROWER ], + [ 46, MoveId.INFERNO ], + [ 49, MoveId.ROLLOUT ], + [ 55, MoveId.DOUBLE_EDGE ], + [ 58, MoveId.OVERHEAT ], + [ 64, MoveId.ERUPTION ], + ], + [SpeciesId.QUILAVA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.SMOKESCREEN ], + [ 10, MoveId.EMBER ], + [ 13, MoveId.QUICK_ATTACK ], + [ 20, MoveId.FLAME_WHEEL ], + [ 24, MoveId.DEFENSE_CURL ], + [ 31, MoveId.SWIFT ], + [ 35, MoveId.FLAME_CHARGE ], + [ 42, MoveId.LAVA_PLUME ], + [ 46, MoveId.FLAMETHROWER ], + [ 53, MoveId.INFERNO ], + [ 57, MoveId.ROLLOUT ], + [ 64, MoveId.DOUBLE_EDGE ], + [ 68, MoveId.OVERHEAT ], + [ 75, MoveId.ERUPTION ], + ], + [SpeciesId.TYPHLOSION]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.ERUPTION ], + [ 1, MoveId.GYRO_BALL ], + [ 13, MoveId.QUICK_ATTACK ], + [ 20, MoveId.FLAME_WHEEL ], + [ 24, MoveId.DEFENSE_CURL ], + [ 31, MoveId.SWIFT ], + [ 35, MoveId.FLAME_CHARGE ], + [ 43, MoveId.LAVA_PLUME ], + [ 48, MoveId.FLAMETHROWER ], + [ 56, MoveId.INFERNO ], + [ 61, MoveId.ROLLOUT ], + [ 74, MoveId.OVERHEAT ], + ], + [SpeciesId.TOTODILE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 5, MoveId.WATER_GUN ], // Custom, moved from 6 to 5 + [ 9, MoveId.BITE ], + [ 13, MoveId.SCARY_FACE ], + [ 19, MoveId.ICE_FANG ], + [ 22, MoveId.FLAIL ], + [ 27, MoveId.CRUNCH ], + [ 30, MoveId.SLASH ], + [ 33, MoveId.SCREECH ], + [ 37, MoveId.THRASH ], + [ 41, MoveId.AQUA_TAIL ], + [ 45, MoveId.SUPERPOWER ], + [ 50, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.CROCONAW]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.WATER_GUN ], + [ 13, MoveId.BITE ], + [ 15, MoveId.SCARY_FACE ], + [ 21, MoveId.ICE_FANG ], + [ 24, MoveId.FLAIL ], + [ 30, MoveId.CRUNCH ], + [ 34, MoveId.SLASH ], + [ 37, MoveId.SCREECH ], + [ 42, MoveId.THRASH ], + [ 47, MoveId.AQUA_TAIL ], + [ 50, MoveId.SUPERPOWER ], + [ 55, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.FERALIGATR]: [ + [ 1, MoveId.AGILITY ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.WATER_GUN ], + [ 13, MoveId.BITE ], + [ 15, MoveId.SCARY_FACE ], + [ 21, MoveId.ICE_FANG ], + [ 24, MoveId.FLAIL ], + [ 32, MoveId.CRUNCH ], + [ 37, MoveId.SLASH ], + [ 44, MoveId.SCREECH ], + [ 51, MoveId.THRASH ], + [ 59, MoveId.AQUA_TAIL ], + [ 65, MoveId.SUPERPOWER ], + [ 70, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.SENTRET]: [ + [ 1, MoveId.SCRATCH ], + [ 4, MoveId.DEFENSE_CURL ], + [ 7, MoveId.QUICK_ATTACK ], + [ 13, MoveId.FURY_SWIPES ], + [ 16, MoveId.HELPING_HAND ], + [ 19, MoveId.FOLLOW_ME ], + [ 25, MoveId.SLAM ], + [ 28, MoveId.REST ], + [ 31, MoveId.SUCKER_PUNCH ], + [ 36, MoveId.AMNESIA ], + [ 39, MoveId.BATON_PASS ], + [ 42, MoveId.DOUBLE_EDGE ], + [ 47, MoveId.HYPER_VOICE ], + ], + [SpeciesId.FURRET]: [ + [ EVOLVE_MOVE, MoveId.AGILITY ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.COIL ], + [ 13, MoveId.FURY_SWIPES ], + [ 17, MoveId.HELPING_HAND ], + [ 21, MoveId.FOLLOW_ME ], + [ 28, MoveId.SLAM ], + [ 32, MoveId.REST ], + [ 36, MoveId.SUCKER_PUNCH ], + [ 42, MoveId.AMNESIA ], + [ 46, MoveId.BATON_PASS ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 56, MoveId.HYPER_VOICE ], + ], + [SpeciesId.HOOTHOOT]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 3, MoveId.TACKLE ], + [ 6, MoveId.ECHOED_VOICE ], + [ 9, MoveId.CONFUSION ], + [ 12, MoveId.REFLECT ], + [ 15, MoveId.DEFOG ], + [ 18, MoveId.AIR_SLASH ], + [ 21, MoveId.EXTRASENSORY ], + [ 24, MoveId.TAKE_DOWN ], + [ 27, MoveId.UPROAR ], + [ 30, MoveId.ROOST ], + [ 33, MoveId.MOONBLAST ], + [ 36, MoveId.HYPNOSIS ], + [ 39, MoveId.DREAM_EATER ], + ], + [SpeciesId.NOCTOWL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 1, MoveId.SKY_ATTACK ], + [ 1, MoveId.ECHOED_VOICE ], + [ 9, MoveId.CONFUSION ], + [ 12, MoveId.REFLECT ], + [ 15, MoveId.DEFOG ], + [ 18, MoveId.AIR_SLASH ], + [ 23, MoveId.EXTRASENSORY ], + [ 28, MoveId.TAKE_DOWN ], + [ 33, MoveId.UPROAR ], + [ 38, MoveId.ROOST ], + [ 43, MoveId.MOONBLAST ], + [ 48, MoveId.HYPNOSIS ], + [ 53, MoveId.DREAM_EATER ], + ], + [SpeciesId.LEDYBA]: [ + [ 1, MoveId.TACKLE ], + [ 5, MoveId.SUPERSONIC ], + [ 8, MoveId.SWIFT ], + [ 12, MoveId.LIGHT_SCREEN ], + [ 12, MoveId.REFLECT ], + [ 12, MoveId.SAFEGUARD ], + [ 15, MoveId.MACH_PUNCH ], + [ 19, MoveId.ROOST ], + [ 22, MoveId.STRUGGLE_BUG ], + [ 26, MoveId.BATON_PASS ], + [ 29, MoveId.AGILITY ], + [ 33, MoveId.BUG_BUZZ ], + [ 36, MoveId.AIR_SLASH ], + [ 40, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.LEDIAN]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.SWIFT ], + [ 5, MoveId.SUPERSONIC ], + [ 12, MoveId.LIGHT_SCREEN ], + [ 12, MoveId.REFLECT ], + [ 12, MoveId.SAFEGUARD ], + [ 15, MoveId.MACH_PUNCH ], + [ 20, MoveId.ROOST ], + [ 24, MoveId.STRUGGLE_BUG ], + [ 29, MoveId.BATON_PASS ], + [ 33, MoveId.AGILITY ], + [ 38, MoveId.BUG_BUZZ ], + [ 42, MoveId.AIR_SLASH ], + [ 47, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.SPINARAK]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.CONSTRICT ], + [ 5, MoveId.ABSORB ], + [ 8, MoveId.INFESTATION ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.NIGHT_SHADE ], + [ 19, MoveId.SHADOW_SNEAK ], + [ 22, MoveId.FURY_SWIPES ], + [ 26, MoveId.SUCKER_PUNCH ], + [ 29, MoveId.AGILITY ], + [ 33, MoveId.PIN_MISSILE ], + [ 36, MoveId.PSYCHIC ], + [ 40, MoveId.POISON_JAB ], + [ 44, MoveId.CROSS_POISON ], + [ 47, MoveId.STICKY_WEB ], + [ 51, MoveId.TOXIC_THREAD ], + ], + [SpeciesId.ARIADOS]: [ + [ EVOLVE_MOVE, MoveId.SWORDS_DANCE ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.CONSTRICT ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.FELL_STINGER ], + [ 8, MoveId.INFESTATION ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.NIGHT_SHADE ], + [ 19, MoveId.SHADOW_SNEAK ], + [ 23, MoveId.FURY_SWIPES ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 31, MoveId.AGILITY ], + [ 35, MoveId.PIN_MISSILE ], + [ 41, MoveId.PSYCHIC ], + [ 46, MoveId.POISON_JAB ], + [ 50, MoveId.CROSS_POISON ], + [ 54, MoveId.STICKY_WEB ], + [ 59, MoveId.TOXIC_THREAD ], + ], + [SpeciesId.CROBAT]: [ + [ EVOLVE_MOVE, MoveId.CROSS_POISON ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.SCREECH ], + [ 1, MoveId.MEAN_LOOK ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.TAILWIND ], + [ 15, MoveId.POISON_FANG ], + [ 20, MoveId.QUICK_GUARD ], + [ 27, MoveId.AIR_CUTTER ], + [ 34, MoveId.BITE ], + [ 41, MoveId.HAZE ], + [ 48, MoveId.VENOSHOCK ], + [ 55, MoveId.CONFUSE_RAY ], + [ 62, MoveId.AIR_SLASH ], + [ 69, MoveId.LEECH_LIFE ], + ], + [SpeciesId.CHINCHOU]: [ + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.ELECTRO_BALL ], + [ 8, MoveId.THUNDER_WAVE ], + [ 12, MoveId.BUBBLE_BEAM ], + [ 16, MoveId.CONFUSE_RAY ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.CHARGE ], + [ 28, MoveId.DISCHARGE ], + [ 32, MoveId.AQUA_RING ], + [ 36, MoveId.FLAIL ], + [ 40, MoveId.TAKE_DOWN ], + [ 44, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.LANTURN]: [ + [ EVOLVE_MOVE, MoveId.STOCKPILE ], + [ EVOLVE_MOVE, MoveId.SPIT_UP ], + [ EVOLVE_MOVE, MoveId.SWALLOW ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SPOTLIGHT ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.ELECTRO_BALL ], + [ 1, MoveId.EERIE_IMPULSE ], + [ 12, MoveId.BUBBLE_BEAM ], + [ 16, MoveId.CONFUSE_RAY ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.CHARGE ], + [ 30, MoveId.DISCHARGE ], + [ 36, MoveId.AQUA_RING ], + [ 42, MoveId.FLAIL ], + [ 48, MoveId.TAKE_DOWN ], + [ 54, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.PICHU]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 4, MoveId.PLAY_NICE ], + [ 8, MoveId.SWEET_KISS ], + [ 12, MoveId.NUZZLE ], + [ 16, MoveId.NASTY_PLOT ], + [ 20, MoveId.CHARM ], + ], + [SpeciesId.CLEFFA]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.COPYCAT ], + [ 4, MoveId.SING ], + [ 8, MoveId.SWEET_KISS ], + [ 12, MoveId.DISARMING_VOICE ], + [ 16, MoveId.ENCORE ], + [ 20, MoveId.CHARM ], + ], + [SpeciesId.IGGLYBUFF]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.SING ], + [ 1, MoveId.COPYCAT ], + [ 4, MoveId.DEFENSE_CURL ], + [ 8, MoveId.SWEET_KISS ], + [ 12, MoveId.DISARMING_VOICE ], + [ 16, MoveId.DISABLE ], + [ 20, MoveId.CHARM ], + ], + [SpeciesId.TOGEPI]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.SWEET_KISS ], + [ 8, MoveId.LIFE_DEW ], + [ 12, MoveId.CHARM ], + [ 16, MoveId.ANCIENT_POWER ], + [ 20, MoveId.YAWN ], + [ 24, MoveId.METRONOME ], + [ 28, MoveId.AFTER_YOU ], + [ 32, MoveId.DOUBLE_EDGE ], + [ 36, MoveId.SAFEGUARD ], + [ 40, MoveId.FOLLOW_ME ], + [ 44, MoveId.BATON_PASS ], + [ 48, MoveId.LAST_RESORT ], + [ 52, MoveId.WISH ], + ], + [SpeciesId.TOGETIC]: [ + [ EVOLVE_MOVE, MoveId.FAIRY_WIND ], + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.LIFE_DEW ], + [ 12, MoveId.CHARM ], + [ 16, MoveId.ANCIENT_POWER ], + [ 20, MoveId.YAWN ], + [ 24, MoveId.METRONOME ], + [ 28, MoveId.AFTER_YOU ], + [ 32, MoveId.DOUBLE_EDGE ], + [ 36, MoveId.SAFEGUARD ], + [ 40, MoveId.FOLLOW_ME ], + [ 44, MoveId.BATON_PASS ], + [ 48, MoveId.LAST_RESORT ], + [ 52, MoveId.WISH ], + ], + [SpeciesId.NATU]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 5, MoveId.STORED_POWER ], + [ 10, MoveId.TELEPORT ], + [ 15, MoveId.CONFUSE_RAY ], + [ 20, MoveId.NIGHT_SHADE ], + [ 26, MoveId.PSYCHO_SHIFT ], + [ 30, MoveId.POWER_SWAP ], + [ 35, MoveId.PSYCHIC ], + [ 35, MoveId.GUARD_SWAP ], + [ 40, MoveId.WISH ], + [ 45, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.XATU]: [ + [ EVOLVE_MOVE, MoveId.AIR_SLASH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.TAILWIND ], + [ 1, MoveId.STORED_POWER ], + [ 15, MoveId.CONFUSE_RAY ], + [ 20, MoveId.NIGHT_SHADE ], + [ 28, MoveId.PSYCHO_SHIFT ], + [ 34, MoveId.POWER_SWAP ], + [ 34, MoveId.GUARD_SWAP ], + [ 41, MoveId.PSYCHIC ], + [ 48, MoveId.WISH ], + [ 55, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.MAREEP]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.THUNDER_SHOCK ], + [ 11, MoveId.COTTON_SPORE ], + [ 15, MoveId.CHARGE ], + [ 18, MoveId.TAKE_DOWN ], + [ 22, MoveId.ELECTRO_BALL ], + [ 25, MoveId.CONFUSE_RAY ], + [ 29, MoveId.POWER_GEM ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.COTTON_GUARD ], + [ 39, MoveId.DAZZLING_GLEAM ], + [ 43, MoveId.LIGHT_SCREEN ], + [ 46, MoveId.THUNDER ], + ], + [SpeciesId.FLAAFFY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 6, MoveId.THUNDER_SHOCK ], + [ 9, MoveId.THUNDER_WAVE ], + [ 11, MoveId.COTTON_SPORE ], + [ 16, MoveId.CHARGE ], + [ 20, MoveId.TAKE_DOWN ], + [ 25, MoveId.ELECTRO_BALL ], + [ 29, MoveId.CONFUSE_RAY ], + [ 34, MoveId.POWER_GEM ], + [ 38, MoveId.DISCHARGE ], + [ 43, MoveId.COTTON_GUARD ], + [ 47, MoveId.DAZZLING_GLEAM ], + [ 52, MoveId.LIGHT_SCREEN ], + [ 56, MoveId.THUNDER ], + ], + [SpeciesId.AMPHAROS]: [ + [ EVOLVE_MOVE, MoveId.THUNDER_PUNCH ], + [ 1, MoveId.FIRE_PUNCH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.ZAP_CANNON ], + [ 1, MoveId.DRAGON_PULSE ], + [ 1, MoveId.MAGNETIC_FLUX ], + [ 1, MoveId.ION_DELUGE ], + [ 11, MoveId.COTTON_SPORE ], + [ 16, MoveId.CHARGE ], + [ 20, MoveId.TAKE_DOWN ], + [ 25, MoveId.ELECTRO_BALL ], + [ 29, MoveId.CONFUSE_RAY ], + [ 35, MoveId.POWER_GEM ], + [ 40, MoveId.DISCHARGE ], + [ 46, MoveId.COTTON_GUARD ], + [ 51, MoveId.DAZZLING_GLEAM ], + [ 57, MoveId.LIGHT_SCREEN ], + [ 62, MoveId.THUNDER ], + ], + [SpeciesId.BELLOSSOM]: [ + [ EVOLVE_MOVE, MoveId.PETAL_BLIZZARD ], + [ 1, MoveId.ACID ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.POISON_POWDER ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.SLEEP_POWDER ], + [ 1, MoveId.PETAL_DANCE ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.QUIVER_DANCE ], + [ 1, MoveId.GRASSY_TERRAIN ], + [ 1, MoveId.MOONBLAST ], + ], + [SpeciesId.MARILL]: [ + [ 1, MoveId.SPLASH ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.HELPING_HAND ], + [ 6, MoveId.BUBBLE_BEAM ], + [ 9, MoveId.CHARM ], + [ 12, MoveId.SLAM ], + [ 15, MoveId.BOUNCE ], + [ 19, MoveId.AQUA_TAIL ], + [ 21, MoveId.PLAY_ROUGH ], + [ 24, MoveId.AQUA_RING ], + [ 27, MoveId.RAIN_DANCE ], + [ 30, MoveId.HYDRO_PUMP ], + [ 33, MoveId.DOUBLE_EDGE ], + [ 36, MoveId.SUPERPOWER ], + ], + [SpeciesId.AZUMARILL]: [ + [ 1, MoveId.SPLASH ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.HELPING_HAND ], + [ 6, MoveId.BUBBLE_BEAM ], + [ 9, MoveId.CHARM ], + [ 12, MoveId.SLAM ], + [ 15, MoveId.BOUNCE ], + [ 21, MoveId.AQUA_TAIL ], + [ 25, MoveId.PLAY_ROUGH ], + [ 30, MoveId.AQUA_RING ], + [ 35, MoveId.RAIN_DANCE ], + [ 40, MoveId.HYDRO_PUMP ], + [ 45, MoveId.DOUBLE_EDGE ], + [ 50, MoveId.SUPERPOWER ], + ], + [SpeciesId.SUDOWOODO]: [ + [ EVOLVE_MOVE, MoveId.SLAM ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.TACKLE ], // Previous Stage Move, Custom + [ 1, MoveId.FLAIL ], + [ 1, MoveId.FAKE_TEARS ], + [ 1, MoveId.HAMMER_ARM ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.STONE_EDGE ], + [ 1, MoveId.WOOD_HAMMER ], + [ 12, MoveId.BLOCK ], + [ 16, MoveId.MIMIC ], + [ 20, MoveId.ROCK_TOMB ], + [ 24, MoveId.TEARFUL_LOOK ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 32, MoveId.ROCK_SLIDE ], + [ 36, MoveId.LOW_KICK ], + [ 40, MoveId.COUNTER ], + [ 44, MoveId.DOUBLE_EDGE ], + [ 48, MoveId.HEAD_SMASH ], + ], + [SpeciesId.POLITOED]: [ + [ EVOLVE_MOVE, MoveId.BOUNCE ], + [ RELEARN_MOVE, MoveId.BODY_SLAM ], + [ RELEARN_MOVE, MoveId.DOUBLE_EDGE ], + [ RELEARN_MOVE, MoveId.WATER_GUN ], + [ RELEARN_MOVE, MoveId.BUBBLE_BEAM ], + [ RELEARN_MOVE, MoveId.HYPNOSIS ], + [ RELEARN_MOVE, MoveId.PERISH_SONG ], + [ RELEARN_MOVE, MoveId.SWAGGER ], + [ RELEARN_MOVE, MoveId.HYPER_VOICE ], + [ RELEARN_MOVE, MoveId.MUD_SHOT ], + [ RELEARN_MOVE, MoveId.EARTH_POWER ], + [ 1, MoveId.RAIN_DANCE ], + [ 1, MoveId.HYDRO_PUMP ], + [ 1, MoveId.BELLY_DRUM ], + [ 1, MoveId.POUND ], + [ 1, MoveId.WATER_SPORT ], // Previous Stage Move + ], + [SpeciesId.HOPPIP]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SPLASH ], + [ 4, MoveId.TAIL_WHIP ], + [ 6, MoveId.ABSORB ], + [ 8, MoveId.FAIRY_WIND ], + [ 10, MoveId.POISON_POWDER ], + [ 10, MoveId.STUN_SPORE ], + [ 10, MoveId.SLEEP_POWDER ], + [ 12, MoveId.BULLET_SEED ], + [ 15, MoveId.SYNTHESIS ], + [ 19, MoveId.LEECH_SEED ], + [ 22, MoveId.MEGA_DRAIN ], + [ 24, MoveId.ACROBATICS ], + [ 27, MoveId.COTTON_SPORE ], + [ 29, MoveId.U_TURN ], + [ 32, MoveId.GIGA_DRAIN ], + [ 35, MoveId.BOUNCE ], + [ 38, MoveId.MEMENTO ], + ], + [SpeciesId.SKIPLOOM]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.SYNTHESIS ], + [ 8, MoveId.TACKLE ], + [ 10, MoveId.FAIRY_WIND ], + [ 12, MoveId.POISON_POWDER ], + [ 12, MoveId.STUN_SPORE ], + [ 12, MoveId.SLEEP_POWDER ], + [ 15, MoveId.BULLET_SEED ], + [ 20, MoveId.LEECH_SEED ], + [ 24, MoveId.MEGA_DRAIN ], + [ 28, MoveId.ACROBATICS ], + [ 31, MoveId.COTTON_SPORE ], + [ 34, MoveId.U_TURN ], + [ 37, MoveId.GIGA_DRAIN ], + [ 41, MoveId.BOUNCE ], + [ 44, MoveId.MEMENTO ], + ], + [SpeciesId.JUMPLUFF]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.SYNTHESIS ], + [ 8, MoveId.TACKLE ], + [ 10, MoveId.FAIRY_WIND ], + [ 12, MoveId.POISON_POWDER ], + [ 12, MoveId.STUN_SPORE ], + [ 12, MoveId.SLEEP_POWDER ], + [ 15, MoveId.BULLET_SEED ], + [ 20, MoveId.LEECH_SEED ], + [ 24, MoveId.MEGA_DRAIN ], + [ 30, MoveId.ACROBATICS ], + [ 35, MoveId.COTTON_SPORE ], + [ 39, MoveId.U_TURN ], + [ 43, MoveId.GIGA_DRAIN ], + [ 49, MoveId.BOUNCE ], + [ 55, MoveId.MEMENTO ], + ], + [SpeciesId.AIPOM]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 4, MoveId.SAND_ATTACK ], + [ 8, MoveId.ASTONISH ], + [ 11, MoveId.BATON_PASS ], + [ 15, MoveId.TICKLE ], + [ 18, MoveId.FURY_SWIPES ], + [ 22, MoveId.SWIFT ], + [ 25, MoveId.SCREECH ], + [ 29, MoveId.AGILITY ], + [ 32, MoveId.DOUBLE_HIT ], + [ 36, MoveId.FLING ], + [ 39, MoveId.NASTY_PLOT ], + [ 43, MoveId.LAST_RESORT ], + ], + [SpeciesId.SUNKERN]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWTH ], + [ 7, MoveId.ABSORB ], + [ 10, MoveId.MEGA_DRAIN ], + [ 16, MoveId.RAZOR_LEAF ], + [ 19, MoveId.WORRY_SEED ], + [ 22, MoveId.GIGA_DRAIN ], + [ 25, MoveId.ENDEAVOR ], + [ 28, MoveId.SYNTHESIS ], + [ 31, MoveId.SOLAR_BEAM ], + [ 34, MoveId.DOUBLE_EDGE ], + [ 36, MoveId.SUNNY_DAY ], + [ 39, MoveId.SEED_BOMB ], + ], + [SpeciesId.SUNFLORA]: [ + [ RELEARN_MOVE, MoveId.SEED_BOMB ], // Previous Stage Move + [ 1, MoveId.POUND ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.ENDEAVOR ], // Previous Stage Move + [ 1, MoveId.SYNTHESIS ], // Previous Stage Move + [ 4, MoveId.INGRAIN ], + [ 7, MoveId.ABSORB ], + [ 10, MoveId.MEGA_DRAIN ], + [ 13, MoveId.LEECH_SEED ], + [ 16, MoveId.RAZOR_LEAF ], + [ 19, MoveId.WORRY_SEED ], + [ 22, MoveId.GIGA_DRAIN ], + [ 25, MoveId.BULLET_SEED ], + [ 28, MoveId.PETAL_DANCE ], + [ 31, MoveId.SOLAR_BEAM ], + [ 34, MoveId.DOUBLE_EDGE ], + [ 39, MoveId.SUNNY_DAY ], + [ 43, MoveId.LEAF_STORM ], + [ 50, MoveId.PETAL_BLIZZARD ], + ], + [SpeciesId.YANMA]: [ + [ 1, MoveId.TACKLE ], + [ 6, MoveId.QUICK_ATTACK ], + [ 11, MoveId.DOUBLE_TEAM ], + [ 14, MoveId.AIR_CUTTER ], + [ 17, MoveId.DETECT ], + [ 22, MoveId.SUPERSONIC ], + [ 27, MoveId.UPROAR ], + [ 30, MoveId.BUG_BITE ], + [ 33, MoveId.ANCIENT_POWER ], + [ 38, MoveId.HYPNOSIS ], + [ 43, MoveId.WING_ATTACK ], + [ 46, MoveId.SCREECH ], + [ 49, MoveId.U_TURN ], + [ 54, MoveId.AIR_SLASH ], + [ 57, MoveId.BUG_BUZZ ], + ], + [SpeciesId.WOOPER]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.RAIN_DANCE ], + [ 8, MoveId.MUD_SHOT ], + [ 12, MoveId.MIST ], + [ 12, MoveId.HAZE ], + [ 16, MoveId.SLAM ], + [ 21, MoveId.YAWN ], + [ 24, MoveId.AQUA_TAIL ], + [ 28, MoveId.MUDDY_WATER ], + [ 32, MoveId.AMNESIA ], + [ 36, MoveId.TOXIC ], + [ 40, MoveId.EARTHQUAKE ], + ], + [SpeciesId.QUAGSIRE]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.RAIN_DANCE ], + [ 1, MoveId.MUD_SHOT ], + [ 12, MoveId.MIST ], + [ 12, MoveId.HAZE ], + [ 16, MoveId.SLAM ], + [ 23, MoveId.YAWN ], + [ 28, MoveId.AQUA_TAIL ], + [ 34, MoveId.MUDDY_WATER ], + [ 40, MoveId.AMNESIA ], + [ 46, MoveId.TOXIC ], + [ 52, MoveId.EARTHQUAKE ], + ], + [SpeciesId.ESPEON]: [ + [ EVOLVE_MOVE, MoveId.GLITZY_GLOW ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.CONFUSION ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.SWIFT ], + [ 30, MoveId.PSYBEAM ], + [ 35, MoveId.MORNING_SUN ], + [ 40, MoveId.POWER_SWAP ], + [ 45, MoveId.PSYCHIC ], + [ 50, MoveId.PSYCH_UP ], + [ 55, MoveId.FUTURE_SIGHT ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.UMBREON]: [ + [ EVOLVE_MOVE, MoveId.BADDY_BAD ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.PURSUIT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.SNARL ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.CONFUSE_RAY ], + [ 30, MoveId.ASSURANCE ], + [ 35, MoveId.MOONLIGHT ], + [ 40, MoveId.GUARD_SWAP ], + [ 45, MoveId.DARK_PULSE ], + [ 50, MoveId.SCREECH ], + [ 55, MoveId.MEAN_LOOK ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.MURKROW]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.GUST ], + [ 11, MoveId.HAZE ], + [ 15, MoveId.WING_ATTACK ], + [ 21, MoveId.NIGHT_SHADE ], + [ 25, MoveId.ASSURANCE ], + [ 31, MoveId.TAUNT ], + [ 35, MoveId.MEAN_LOOK ], + [ 40, MoveId.FOUL_PLAY ], + [ 50, MoveId.SUCKER_PUNCH ], + [ 55, MoveId.TORMENT ], + [ 60, MoveId.QUASH ], + ], + [SpeciesId.SLOWKING]: [ + [ RELEARN_MOVE, MoveId.FUTURE_SIGHT ], + [ RELEARN_MOVE, MoveId.CHILLY_RECEPTION ], + [ 1, MoveId.POWER_GEM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.SWAGGER ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CURSE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 9, MoveId.YAWN ], + [ 12, MoveId.CONFUSION ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.ZEN_HEADBUTT ], // Previous Stage Move, Galar Slowking Level + [ 27, MoveId.AMNESIA ], + [ 30, MoveId.SURF ], + [ 33, MoveId.SLACK_OFF ], + [ 36, MoveId.PSYCHIC ], + [ 39, MoveId.PSYCH_UP ], + [ 42, MoveId.RAIN_DANCE ], + [ 45, MoveId.HEAL_PULSE ], + ], + [SpeciesId.MISDREAVUS]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.PSYWAVE ], + [ 10, MoveId.ASTONISH ], + [ 14, MoveId.CONFUSE_RAY ], + [ 19, MoveId.MEAN_LOOK ], + [ 23, MoveId.HEX ], + [ 28, MoveId.PSYBEAM ], + [ 32, MoveId.PAIN_SPLIT ], + [ 37, MoveId.PAYBACK ], + [ 41, MoveId.SHADOW_BALL ], + [ 46, MoveId.PERISH_SONG ], + [ 50, MoveId.POWER_GEM ], + ], + [SpeciesId.UNOWN]: [ + [ 1, MoveId.HIDDEN_POWER ], + ], + [SpeciesId.WOBBUFFET]: [ + [ EVOLVE_MOVE, MoveId.COUNTER ], + [ EVOLVE_MOVE, MoveId.DESTINY_BOND ], + [ EVOLVE_MOVE, MoveId.SAFEGUARD ], + [ EVOLVE_MOVE, MoveId.MIRROR_COAT ], + [ 1, MoveId.COUNTER ], + [ 1, MoveId.DESTINY_BOND ], + [ 1, MoveId.SAFEGUARD ], + [ 1, MoveId.MIRROR_COAT ], + [ 1, MoveId.AMNESIA ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.ENCORE ], + ], + [SpeciesId.GIRAFARIG]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POWER_SWAP ], + [ 1, MoveId.GUARD_SWAP ], + [ 5, MoveId.CONFUSION ], + [ 10, MoveId.ASSURANCE ], + [ 14, MoveId.STOMP ], + [ 19, MoveId.PSYBEAM ], + [ 23, MoveId.AGILITY ], + [ 28, MoveId.DOUBLE_HIT ], + [ 32, MoveId.TWIN_BEAM ], + [ 37, MoveId.CRUNCH ], + [ 41, MoveId.BATON_PASS ], + [ 46, MoveId.NASTY_PLOT ], + [ 50, MoveId.PSYCHIC ], + ], + [SpeciesId.PINECO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 6, MoveId.SELF_DESTRUCT ], + [ 9, MoveId.BUG_BITE ], + [ 12, MoveId.TAKE_DOWN ], + [ 17, MoveId.RAPID_SPIN ], + [ 20, MoveId.ROLLOUT ], + [ 23, MoveId.CURSE ], + [ 28, MoveId.SPIKES ], + [ 31, MoveId.PAYBACK ], + [ 34, MoveId.EXPLOSION ], + [ 39, MoveId.IRON_DEFENSE ], + [ 42, MoveId.GYRO_BALL ], + [ 45, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.FORRETRESS]: [ + [ EVOLVE_MOVE, MoveId.HEAVY_SLAM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SELF_DESTRUCT ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ZAP_CANNON ], + [ 1, MoveId.TOXIC_SPIKES ], + [ 1, MoveId.MAGNET_RISE ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.MIRROR_SHOT ], + [ 12, MoveId.TAKE_DOWN ], + [ 17, MoveId.RAPID_SPIN ], + [ 20, MoveId.ROLLOUT ], + [ 23, MoveId.CURSE ], + [ 28, MoveId.SPIKES ], + [ 32, MoveId.PAYBACK ], + [ 36, MoveId.EXPLOSION ], + [ 42, MoveId.IRON_DEFENSE ], + [ 46, MoveId.GYRO_BALL ], + [ 50, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.DUNSPARCE]: [ + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.TACKLE ], // Custom + [ 4, MoveId.MUD_SLAP ], + [ 8, MoveId.ROLLOUT ], + [ 12, MoveId.GLARE ], + [ 16, MoveId.SCREECH ], + [ 20, MoveId.ANCIENT_POWER ], + [ 24, MoveId.DRILL_RUN ], + [ 28, MoveId.YAWN ], + [ 32, MoveId.HYPER_DRILL ], + [ 36, MoveId.ROOST ], + [ 40, MoveId.DRAGON_RUSH ], + [ 44, MoveId.COIL ], + [ 48, MoveId.DOUBLE_EDGE ], + [ 52, MoveId.ENDEAVOR ], + ], + [SpeciesId.GLIGAR]: [ + [ 1, MoveId.POISON_STING ], + [ 4, MoveId.SAND_ATTACK ], + [ 7, MoveId.HARDEN ], + [ 10, MoveId.KNOCK_OFF ], + [ 13, MoveId.QUICK_ATTACK ], + [ 16, MoveId.FURY_CUTTER ], + [ 19, MoveId.POISON_TAIL ], + [ 22, MoveId.ACROBATICS ], + [ 27, MoveId.SLASH ], + [ 30, MoveId.U_TURN ], + [ 35, MoveId.SCREECH ], + [ 40, MoveId.X_SCISSOR ], + [ 45, MoveId.CRABHAMMER ], + [ 50, MoveId.SWORDS_DANCE ], + ], + [SpeciesId.STEELIX]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.MUD_SPORT ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.ROCK_POLISH ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 4, MoveId.SMACK_DOWN ], + [ 8, MoveId.AUTOTOMIZE ], + [ 12, MoveId.DRAGON_BREATH ], + [ 16, MoveId.CURSE ], + [ 20, MoveId.ROCK_SLIDE ], + [ 22, MoveId.GYRO_BALL ], // Custom from USUM + [ 24, MoveId.SCREECH ], + [ 28, MoveId.SAND_TOMB ], + [ 32, MoveId.STEALTH_ROCK ], + [ 36, MoveId.SLAM ], + [ 40, MoveId.SANDSTORM ], + [ 44, MoveId.DIG ], + [ 48, MoveId.IRON_TAIL ], + [ 52, MoveId.STONE_EDGE ], + [ 56, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.MAGNET_RISE ], + ], + [SpeciesId.SNUBBULL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 7, MoveId.BITE ], + [ 13, MoveId.LICK ], + [ 19, MoveId.HEADBUTT ], + [ 25, MoveId.ROAR ], + [ 31, MoveId.LAST_RESORT ], + [ 37, MoveId.PLAY_ROUGH ], + [ 43, MoveId.PAYBACK ], + [ 49, MoveId.CRUNCH ], + ], + [SpeciesId.GRANBULL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.OUTRAGE ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 7, MoveId.BITE ], + [ 13, MoveId.LICK ], + [ 19, MoveId.HEADBUTT ], + [ 27, MoveId.ROAR ], + [ 35, MoveId.LAST_RESORT ], + [ 43, MoveId.PLAY_ROUGH ], + [ 51, MoveId.PAYBACK ], + [ 59, MoveId.CRUNCH ], + ], + [SpeciesId.QWILFISH]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POISON_STING ], + [ 4, MoveId.HARDEN ], + [ 8, MoveId.WATER_GUN ], + [ 12, MoveId.FELL_STINGER ], + [ 16, MoveId.MINIMIZE ], + [ 20, MoveId.SPIKES ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.POISON_JAB ], + [ 32, MoveId.PIN_MISSILE ], + [ 36, MoveId.TOXIC_SPIKES ], + [ 40, MoveId.STOCKPILE ], + [ 40, MoveId.SPIT_UP ], + [ 44, MoveId.TOXIC ], + [ 48, MoveId.AQUA_TAIL ], + [ 52, MoveId.ACUPRESSURE ], + [ 56, MoveId.DESTINY_BOND ], + ], + [SpeciesId.SCIZOR]: [ + [ EVOLVE_MOVE, MoveId.BULLET_PUNCH ], + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FALSE_SWIPE ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.AIR_SLASH ], + [ 12, MoveId.METAL_CLAW ], + [ 16, MoveId.DOUBLE_TEAM ], + [ 20, MoveId.DOUBLE_HIT ], + [ 24, MoveId.SLASH ], + [ 28, MoveId.FOCUS_ENERGY ], + [ 30, MoveId.STEEL_WING ], // Custom + [ 32, MoveId.IRON_DEFENSE ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.X_SCISSOR ], + [ 44, MoveId.SWORDS_DANCE ], + ], + [SpeciesId.SHUCKLE]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.CONSTRICT ], + [ 5, MoveId.ROLLOUT ], + [ 10, MoveId.STRUGGLE_BUG ], + [ 15, MoveId.ROCK_THROW ], + [ 20, MoveId.SAFEGUARD ], + [ 25, MoveId.REST ], + [ 30, MoveId.BUG_BITE ], + [ 35, MoveId.GUARD_SPLIT ], + [ 35, MoveId.POWER_SPLIT ], + [ 40, MoveId.ROCK_SLIDE ], + [ 45, MoveId.GASTRO_ACID ], + [ 50, MoveId.STICKY_WEB ], + [ 55, MoveId.POWER_TRICK ], + [ 60, MoveId.STONE_EDGE ], + [ 65, MoveId.SHELL_SMASH ], + ], + [SpeciesId.HERACROSS]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ARM_THRUST ], + [ 5, MoveId.FURY_ATTACK ], + [ 10, MoveId.ENDURE ], + [ 15, MoveId.AERIAL_ACE ], + [ 20, MoveId.HORN_ATTACK ], + [ 25, MoveId.COUNTER ], + [ 30, MoveId.BRICK_BREAK ], + [ 35, MoveId.PIN_MISSILE ], + [ 40, MoveId.THROAT_CHOP ], + [ 45, MoveId.THRASH ], + [ 50, MoveId.SWORDS_DANCE ], + [ 55, MoveId.MEGAHORN ], + [ 60, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.SNEASEL]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 6, MoveId.TAUNT ], + [ 12, MoveId.QUICK_ATTACK ], + [ 18, MoveId.METAL_CLAW ], + [ 24, MoveId.ICY_WIND ], + [ 30, MoveId.FURY_SWIPES ], + [ 36, MoveId.HONE_CLAWS ], + [ 42, MoveId.BEAT_UP ], + [ 48, MoveId.AGILITY ], + [ 54, MoveId.SCREECH ], + [ 60, MoveId.SLASH ], + ], + [SpeciesId.TEDDIURSA]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LICK ], + [ 1, MoveId.COVET ], + [ 1, MoveId.FLING ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 8, MoveId.FURY_SWIPES ], + [ 13, MoveId.PAYBACK ], + [ 17, MoveId.SWEET_SCENT ], + [ 22, MoveId.SLASH ], + [ 25, MoveId.PLAY_NICE ], + [ 29, MoveId.PLAY_ROUGH ], + [ 33, MoveId.CHARM ], + [ 37, MoveId.REST ], + [ 37, MoveId.SNORE ], + [ 41, MoveId.THRASH ], + ], + [SpeciesId.URSARING]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LICK ], + [ 1, MoveId.COVET ], + [ 1, MoveId.FLING ], // Previous Stage Move + [ 1, MoveId.BABY_DOLL_EYES ], // Previous Stage Move + [ 1, MoveId.FAKE_TEARS ], + [ 1, MoveId.CHARM ], // Previous Stage Move + [ 8, MoveId.FURY_SWIPES ], + [ 13, MoveId.PAYBACK ], + [ 17, MoveId.SWEET_SCENT ], + [ 22, MoveId.SLASH ], + [ 25, MoveId.PLAY_NICE ], + [ 29, MoveId.PLAY_ROUGH ], + [ 35, MoveId.SCARY_FACE ], + [ 41, MoveId.REST ], + [ 41, MoveId.SNORE ], + [ 48, MoveId.HIGH_HORSEPOWER ], + [ 56, MoveId.THRASH ], + [ 64, MoveId.HAMMER_ARM ], + ], + [SpeciesId.SLUGMA]: [ + [ 1, MoveId.SMOG ], + [ 1, MoveId.YAWN ], + [ 5, MoveId.EMBER ], // Custom, Moved from Level 6 to 5 + [ 8, MoveId.ROCK_THROW ], + [ 13, MoveId.HARDEN ], + [ 20, MoveId.CLEAR_SMOG ], + [ 22, MoveId.ANCIENT_POWER ], + [ 27, MoveId.INCINERATE ], + [ 29, MoveId.ROCK_SLIDE ], + [ 34, MoveId.LAVA_PLUME ], + [ 36, MoveId.AMNESIA ], + [ 41, MoveId.BODY_SLAM ], + [ 43, MoveId.RECOVER ], + [ 48, MoveId.FLAMETHROWER ], + [ 50, MoveId.EARTH_POWER ], + ], + [SpeciesId.MAGCARGO]: [ + [ EVOLVE_MOVE, MoveId.SHELL_SMASH ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.YAWN ], + [ 1, MoveId.EARTH_POWER ], + [ 13, MoveId.HARDEN ], + [ 20, MoveId.CLEAR_SMOG ], + [ 22, MoveId.ANCIENT_POWER ], + [ 27, MoveId.INCINERATE ], + [ 29, MoveId.ROCK_SLIDE ], + [ 34, MoveId.LAVA_PLUME ], + [ 36, MoveId.AMNESIA ], + [ 43, MoveId.BODY_SLAM ], + [ 47, MoveId.RECOVER ], + [ 54, MoveId.FLAMETHROWER ], + ], + [SpeciesId.SWINUB]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.ODOR_SLEUTH ], + [ 5, MoveId.POWDER_SNOW ], + [ 10, MoveId.FLAIL ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.MIST ], + [ 25, MoveId.ENDURE ], + [ 30, MoveId.ICY_WIND ], + [ 35, MoveId.AMNESIA ], + [ 40, MoveId.TAKE_DOWN ], + [ 45, MoveId.EARTHQUAKE ], + [ 50, MoveId.BLIZZARD ], + ], + [SpeciesId.PILOSWINE]: [ + [ EVOLVE_MOVE, MoveId.ICE_FANG ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.ODOR_SLEUTH ], + [ 1, MoveId.ANCIENT_POWER ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.MIST ], + [ 25, MoveId.ENDURE ], + [ 30, MoveId.ICY_WIND ], + [ 37, MoveId.AMNESIA ], + [ 44, MoveId.TAKE_DOWN ], + [ 51, MoveId.EARTHQUAKE ], + [ 58, MoveId.BLIZZARD ], + [ 65, MoveId.THRASH ], + ], + [SpeciesId.CORSOLA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.WATER_GUN ], + [ 10, MoveId.AQUA_RING ], + [ 15, MoveId.ENDURE ], + [ 20, MoveId.ANCIENT_POWER ], + [ 25, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.FLAIL ], + [ 35, MoveId.LIFE_DEW ], + [ 40, MoveId.POWER_GEM ], + [ 45, MoveId.EARTH_POWER ], + [ 50, MoveId.RECOVER ], + [ 55, MoveId.MIRROR_COAT ], + ], + [SpeciesId.REMORAID]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HELPING_HAND ], + [ 4, MoveId.WATER_PULSE ], + [ 8, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.AURORA_BEAM ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.LOCK_ON ], + [ 28, MoveId.BULLET_SEED ], + [ 32, MoveId.ICE_BEAM ], + [ 36, MoveId.HYDRO_PUMP ], + [ 40, MoveId.SOAK ], + [ 44, MoveId.HYPER_BEAM ], + ], + [SpeciesId.OCTILLERY]: [ + [ EVOLVE_MOVE, MoveId.OCTAZOOKA ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.CONSTRICT ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.ROCK_BLAST ], + [ 1, MoveId.WATER_PULSE ], + [ 1, MoveId.GUNK_SHOT ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.AURORA_BEAM ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.LOCK_ON ], + [ 30, MoveId.BULLET_SEED ], + [ 36, MoveId.ICE_BEAM ], + [ 42, MoveId.HYDRO_PUMP ], + [ 48, MoveId.SOAK ], + [ 54, MoveId.HYPER_BEAM ], + ], + [SpeciesId.DELIBIRD]: [ // Given a custom level up learnset + [ 1, MoveId.PRESENT ], + [ 1, MoveId.METRONOME ], + [ 5, MoveId.FAKE_OUT ], + [ 5, MoveId.POWDER_SNOW ], + [ 6, MoveId.MIST ], + [ 10, MoveId.ICE_SHARD ], + [ 15, MoveId.AERIAL_ACE ], + [ 20, MoveId.ICY_WIND ], + [ 25, MoveId.DRILL_PECK ], + [ 30, MoveId.ICE_PUNCH ], + [ 35, MoveId.HAZE ], + [ 40, MoveId.AIR_SLASH ], + [ 45, MoveId.TAILWIND ], + [ 50, MoveId.SNOWSCAPE ], + [ 55, MoveId.BLIZZARD ], + [ 60, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.MANTINE]: [ + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.PSYBEAM ], + [ 1, MoveId.SIGNAL_BEAM ], + [ 1, MoveId.BULLET_SEED ], + [ 1, MoveId.ROOST ], + [ 12, MoveId.WATER_PULSE ], + [ 16, MoveId.WIDE_GUARD ], + [ 20, MoveId.AGILITY ], + [ 24, MoveId.BUBBLE_BEAM ], + [ 28, MoveId.HEADBUTT ], + [ 32, MoveId.AIR_SLASH ], + [ 36, MoveId.AQUA_RING ], + [ 40, MoveId.BOUNCE ], + [ 44, MoveId.TAKE_DOWN ], + [ 48, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.SKARMORY]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 4, MoveId.SAND_ATTACK ], + [ 8, MoveId.FURY_ATTACK ], + [ 12, MoveId.METAL_CLAW ], + [ 16, MoveId.AGILITY ], + [ 20, MoveId.WING_ATTACK ], + [ 24, MoveId.SLASH ], + [ 28, MoveId.STEEL_WING ], + [ 32, MoveId.PAYBACK ], + [ 36, MoveId.DRILL_PECK ], + [ 40, MoveId.METAL_SOUND ], + [ 44, MoveId.SPIKES ], + [ 48, MoveId.IRON_DEFENSE ], + [ 52, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.HOUNDOUR]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 4, MoveId.HOWL ], + [ 8, MoveId.SMOG ], + [ 13, MoveId.ROAR ], + [ 16, MoveId.BITE ], + [ 20, MoveId.INCINERATE ], + [ 25, MoveId.BEAT_UP ], + [ 28, MoveId.FIRE_FANG ], + [ 32, MoveId.TORMENT ], + [ 37, MoveId.COMEUPPANCE ], + [ 40, MoveId.FOUL_PLAY ], + [ 44, MoveId.FLAMETHROWER ], + [ 49, MoveId.CRUNCH ], + [ 52, MoveId.NASTY_PLOT ], + [ 56, MoveId.INFERNO ], + ], + [SpeciesId.HOUNDOOM]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.THUNDER_FANG ], + [ 13, MoveId.ROAR ], + [ 16, MoveId.BITE ], + [ 20, MoveId.INCINERATE ], + [ 26, MoveId.BEAT_UP ], + [ 30, MoveId.FIRE_FANG ], + [ 35, MoveId.TORMENT ], + [ 41, MoveId.COMEUPPANCE ], + [ 45, MoveId.FOUL_PLAY ], + [ 50, MoveId.FLAMETHROWER ], + [ 56, MoveId.CRUNCH ], + [ 62, MoveId.INFERNO ], + ], + [SpeciesId.KINGDRA]: [ + [ RELEARN_MOVE, MoveId.LASER_FOCUS ], // Previous Stage Move + [ 1, MoveId.LEER ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.TWISTER ], + [ 1, MoveId.WHIRLPOOL ], + [ 1, MoveId.YAWN ], + [ 15, MoveId.FOCUS_ENERGY ], + [ 20, MoveId.DRAGON_BREATH ], + [ 25, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.AGILITY ], + [ 37, MoveId.WATER_PULSE ], + [ 44, MoveId.DRAGON_PULSE ], + [ 51, MoveId.HYDRO_PUMP ], + [ 58, MoveId.DRAGON_DANCE ], + [ 65, MoveId.RAIN_DANCE ], + [ 72, MoveId.WAVE_CRASH ], + ], + [SpeciesId.PHANPY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ODOR_SLEUTH ], + [ 6, MoveId.FLAIL ], + [ 10, MoveId.ROLLOUT ], + [ 15, MoveId.BULLDOZE ], + [ 19, MoveId.ENDURE ], + [ 24, MoveId.SLAM ], + [ 28, MoveId.TAKE_DOWN ], + [ 33, MoveId.CHARM ], + [ 37, MoveId.LAST_RESORT ], + [ 42, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.DONPHAN]: [ + [ EVOLVE_MOVE, MoveId.FURY_ATTACK ], + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.GROWL ], + [ 1, MoveId.HORN_ATTACK ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ODOR_SLEUTH ], // Previous Stage Move + [ 1, MoveId.FLAIL ], // Previous Stage Move + [ 1, MoveId.ENDURE ], // Previous Stage Move + [ 1, MoveId.TAKE_DOWN ], // Previous Stage Move + [ 1, MoveId.CHARM ], // Previous Stage Move + [ 1, MoveId.LAST_RESORT ], // Previous Stage Move + [ 1, MoveId.DOUBLE_EDGE ], // Previous Stage Move + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.BULLDOZE ], + [ 6, MoveId.RAPID_SPIN ], + [ 10, MoveId.ROLLOUT ], + [ 15, MoveId.ASSURANCE ], + [ 19, MoveId.KNOCK_OFF ], + [ 24, MoveId.SLAM ], + [ 30, MoveId.STOMPING_TANTRUM ], + [ 37, MoveId.SCARY_FACE ], + [ 43, MoveId.EARTHQUAKE ], + [ 50, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.PORYGON2]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.CONVERSION ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.MAGNET_RISE ], + [ 1, MoveId.MAGIC_COAT ], // Previous Stage Move + [ 15, MoveId.THUNDER_SHOCK ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.CONVERSION_2 ], + [ 30, MoveId.AGILITY ], + [ 35, MoveId.RECOVER ], + [ 40, MoveId.DISCHARGE ], + [ 45, MoveId.TRI_ATTACK ], + [ 50, MoveId.LOCK_ON ], + [ 55, MoveId.ZAP_CANNON ], + [ 60, MoveId.HYPER_BEAM ], + ], + [SpeciesId.STANTLER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ME_FIRST ], + [ 3, MoveId.LEER ], + [ 7, MoveId.ASTONISH ], + [ 10, MoveId.HYPNOSIS ], + [ 13, MoveId.STOMP ], + [ 16, MoveId.SAND_ATTACK ], + [ 21, MoveId.TAKE_DOWN ], + [ 23, MoveId.CONFUSE_RAY ], + [ 25, MoveId.PSYSHIELD_BASH ], + [ 27, MoveId.CALM_MIND ], + [ 32, MoveId.ROLE_PLAY ], + [ 37, MoveId.ZEN_HEADBUTT ], + [ 49, MoveId.IMPRISON ], + [ 55, MoveId.DOUBLE_EDGE ], ], // Reverting Smeargle back to pre gen9 implementation, to make it less dependent on access to Memory Mushrooms - [Species.SMEARGLE]: [ - [ 1, Moves.SKETCH ], - [ 11, Moves.SKETCH ], - [ 21, Moves.SKETCH ], - [ 31, Moves.SKETCH ], - [ 41, Moves.SKETCH ], - [ 51, Moves.SKETCH ], - [ 61, Moves.SKETCH ], - [ 71, Moves.SKETCH ], - [ 81, Moves.SKETCH ], - [ 91, Moves.SKETCH ], - ], - [Species.TYROGUE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.HELPING_HAND ], - [ 10, Moves.LOW_SWEEP ], // Custom - [ 10, Moves.MACH_PUNCH ], // Custom - [ 10, Moves.RAPID_SPIN ], // Custom - ], - [Species.HITMONTOP]: [ - [ EVOLVE_MOVE, Moves.TRIPLE_KICK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.FEINT ], - [ 1, Moves.PURSUIT ], - [ 1, Moves.ROLLING_KICK ], - [ 1, Moves.LOW_SWEEP ], // Previous Stage Move, Custom - [ 1, Moves.MACH_PUNCH ], // Previous Stage Move, Custom - [ 4, Moves.QUICK_ATTACK ], - [ 8, Moves.GYRO_BALL ], - [ 12, Moves.DETECT ], - [ 16, Moves.REVENGE ], - [ 21, Moves.WIDE_GUARD ], - [ 21, Moves.QUICK_GUARD ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.AGILITY ], - [ 32, Moves.DIG ], - [ 36, Moves.CLOSE_COMBAT ], - [ 40, Moves.COUNTER ], - [ 44, Moves.ENDEAVOR ], - ], - [Species.SMOOCHUM]: [ - [ 1, Moves.POUND ], - [ 1, Moves.LICK ], - [ 4, Moves.POWDER_SNOW ], - [ 8, Moves.COPYCAT ], - [ 12, Moves.CONFUSION ], - [ 16, Moves.COVET ], - [ 20, Moves.SING ], - [ 24, Moves.FAKE_TEARS ], - [ 28, Moves.ICE_PUNCH ], - [ 32, Moves.PSYCHIC ], - [ 36, Moves.SWEET_KISS ], - [ 40, Moves.MEAN_LOOK ], - [ 44, Moves.PERISH_SONG ], - [ 48, Moves.BLIZZARD ], - ], - [Species.ELEKID]: [ - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 4, Moves.THUNDER_SHOCK ], - [ 8, Moves.CHARGE ], - [ 12, Moves.SWIFT ], - [ 16, Moves.SHOCK_WAVE ], - [ 20, Moves.THUNDER_WAVE ], - [ 24, Moves.SCREECH ], - [ 28, Moves.THUNDER_PUNCH ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.LOW_KICK ], - [ 40, Moves.THUNDERBOLT ], - [ 44, Moves.LIGHT_SCREEN ], - [ 48, Moves.THUNDER ], - ], - [Species.MAGBY]: [ - [ 1, Moves.LEER ], - [ 1, Moves.SMOG ], - [ 4, Moves.EMBER ], - [ 8, Moves.SMOKESCREEN ], - [ 12, Moves.CLEAR_SMOG ], - [ 16, Moves.FLAME_WHEEL ], - [ 20, Moves.CONFUSE_RAY ], - [ 24, Moves.SCARY_FACE ], - [ 28, Moves.FIRE_PUNCH ], - [ 32, Moves.LAVA_PLUME ], - [ 36, Moves.LOW_KICK ], - [ 40, Moves.FLAMETHROWER ], - [ 44, Moves.SUNNY_DAY ], - [ 48, Moves.FIRE_BLAST ], - ], - [Species.MILTANK]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.ROLLOUT ], - [ 10, Moves.DEFENSE_CURL ], - [ 15, Moves.STOMP ], - [ 20, Moves.HEAL_BELL ], - [ 25, Moves.HEADBUTT ], - [ 30, Moves.ZEN_HEADBUTT ], - [ 35, Moves.MILK_DRINK ], - [ 40, Moves.BODY_SLAM ], - [ 45, Moves.PLAY_ROUGH ], - [ 50, Moves.CHARM ], - [ 55, Moves.HIGH_HORSEPOWER ], - ], - [Species.BLISSEY]: [ - [ 1, Moves.POUND ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.DISARMING_VOICE ], - [ 4, Moves.TAIL_WHIP ], - [ 8, Moves.ECHOED_VOICE ], - [ 12, Moves.LIFE_DEW ], - [ 16, Moves.SING ], - [ 20, Moves.FLING ], - [ 24, Moves.TAKE_DOWN ], - [ 28, Moves.HEAL_PULSE ], - [ 32, Moves.HELPING_HAND ], - [ 36, Moves.LIGHT_SCREEN ], - [ 40, Moves.DOUBLE_EDGE ], - [ 44, Moves.SOFT_BOILED ], - [ 48, Moves.LAST_RESORT ], - [ 52, Moves.HEALING_WISH ], - ], - [Species.RAIKOU]: [ - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.EXTREME_SPEED ], - [ 1, Moves.CHARGE ], - [ 6, Moves.SPARK ], - [ 12, Moves.BITE ], - [ 18, Moves.CALM_MIND ], - [ 24, Moves.ROAR ], - [ 30, Moves.THUNDER_FANG ], - [ 36, Moves.HOWL ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.EXTRASENSORY ], - [ 54, Moves.DISCHARGE ], - [ 60, Moves.REFLECT ], - [ 66, Moves.RAIN_DANCE ], - [ 72, Moves.THUNDER ], - [ 78, Moves.ZAP_CANNON ], - ], - [Species.ENTEI]: [ - [ RELEARN_MOVE, Moves.SACRED_FIRE ], - [ RELEARN_MOVE, Moves.EXTREME_SPEED ], - [ 1, Moves.STOMP ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 6, Moves.FLAME_WHEEL ], - [ 12, Moves.BITE ], - [ 18, Moves.CALM_MIND ], - [ 24, Moves.ROAR ], - [ 30, Moves.FIRE_FANG ], - [ 36, Moves.SCARY_FACE ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.EXTRASENSORY ], - [ 54, Moves.LAVA_PLUME ], - [ 60, Moves.SWAGGER ], - [ 66, Moves.SUNNY_DAY ], - [ 72, Moves.FIRE_BLAST ], - [ 78, Moves.ERUPTION ], - ], - [Species.SUICUNE]: [ - [ RELEARN_MOVE, Moves.EXTREME_SPEED ], - [ RELEARN_MOVE, Moves.SHEER_COLD ], - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 1, Moves.MIST ], - [ 1, Moves.WATER_GUN ], - [ 6, Moves.WATER_PULSE ], - [ 12, Moves.BITE ], - [ 18, Moves.CALM_MIND ], - [ 24, Moves.ROAR ], - [ 30, Moves.ICE_FANG ], - [ 36, Moves.TAILWIND ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.EXTRASENSORY ], - [ 54, Moves.SURF ], - [ 60, Moves.MIRROR_COAT ], - [ 66, Moves.RAIN_DANCE ], - [ 72, Moves.HYDRO_PUMP ], - [ 78, Moves.BLIZZARD ], - ], - [Species.LARVITAR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 3, Moves.ROCK_THROW ], - [ 6, Moves.PAYBACK ], - [ 9, Moves.BITE ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.ROCK_SLIDE ], - [ 18, Moves.STOMPING_TANTRUM ], - [ 21, Moves.SCREECH ], - [ 24, Moves.SMACK_DOWN ], - [ 27, Moves.CRUNCH ], - [ 31, Moves.EARTHQUAKE ], - [ 33, Moves.STONE_EDGE ], - [ 36, Moves.THRASH ], - [ 39, Moves.SANDSTORM ], - [ 42, Moves.HYPER_BEAM ], - ], - [Species.PUPITAR]: [ - [ EVOLVE_MOVE, Moves.IRON_DEFENSE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.PAYBACK ], - [ 9, Moves.BITE ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.ROCK_SLIDE ], - [ 18, Moves.STOMPING_TANTRUM ], - [ 21, Moves.SCREECH ], - [ 24, Moves.SMACK_DOWN ], - [ 27, Moves.CRUNCH ], - [ 33, Moves.EARTHQUAKE ], - [ 37, Moves.STONE_EDGE ], - [ 42, Moves.THRASH ], - [ 47, Moves.SANDSTORM ], - [ 52, Moves.HYPER_BEAM ], - ], - [Species.TYRANITAR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.PAYBACK ], - [ 1, Moves.DARK_PULSE ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 9, Moves.BITE ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.ROCK_SLIDE ], - [ 18, Moves.STOMPING_TANTRUM ], - [ 21, Moves.SCREECH ], - [ 24, Moves.SMACK_DOWN ], - [ 27, Moves.CRUNCH ], - [ 33, Moves.EARTHQUAKE ], - [ 37, Moves.STONE_EDGE ], - [ 42, Moves.THRASH ], - [ 47, Moves.SANDSTORM ], - [ 52, Moves.HYPER_BEAM ], - [ 59, Moves.GIGA_IMPACT ], - ], - [Species.LUGIA]: [ - [ RELEARN_MOVE, Moves.DRAGON_RUSH ], - [ 1, Moves.GUST ], - [ 1, Moves.WHIRLWIND ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.WEATHER_BALL ], - [ 9, Moves.MIST ], - [ 18, Moves.SAFEGUARD ], - [ 27, Moves.CALM_MIND ], - [ 36, Moves.EXTRASENSORY ], - [ 45, Moves.RECOVER ], - [ 54, Moves.AEROBLAST ], - [ 63, Moves.RAIN_DANCE ], - [ 72, Moves.HYDRO_PUMP ], - [ 81, Moves.FUTURE_SIGHT ], - [ 90, Moves.SKY_ATTACK ], - ], - [Species.HO_OH]: [ - [ 1, Moves.GUST ], - [ 1, Moves.WHIRLWIND ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.WEATHER_BALL ], - [ 9, Moves.LIFE_DEW ], - [ 18, Moves.SAFEGUARD ], - [ 27, Moves.CALM_MIND ], - [ 36, Moves.EXTRASENSORY ], - [ 45, Moves.RECOVER ], - [ 54, Moves.SACRED_FIRE ], - [ 63, Moves.SUNNY_DAY ], - [ 72, Moves.FIRE_BLAST ], - [ 81, Moves.FUTURE_SIGHT ], - [ 90, Moves.SKY_ATTACK ], - [ 99, Moves.OVERHEAT ], - ], - [Species.CELEBI]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.HEAL_BELL ], - [ 10, Moves.MAGICAL_LEAF ], - [ 20, Moves.BATON_PASS ], - [ 30, Moves.ANCIENT_POWER ], - [ 40, Moves.LIFE_DEW ], - [ 50, Moves.LEECH_SEED ], - [ 55, Moves.HEAL_BLOCK ], - [ 60, Moves.RECOVER ], - [ 70, Moves.FUTURE_SIGHT ], - [ 80, Moves.HEALING_WISH ], - [ 90, Moves.LEAF_STORM ], - [ 100, Moves.PERISH_SONG ], - ], - [Species.TREECKO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.LEER ], - [ 3, Moves.LEAFAGE ], - [ 6, Moves.QUICK_ATTACK ], - [ 9, Moves.MEGA_DRAIN ], - [ 12, Moves.DETECT ], - [ 15, Moves.QUICK_GUARD ], - [ 18, Moves.ASSURANCE ], - [ 21, Moves.GIGA_DRAIN ], - [ 24, Moves.SLAM ], - [ 27, Moves.DOUBLE_TEAM ], - [ 30, Moves.ENERGY_BALL ], - [ 33, Moves.SCREECH ], - [ 36, Moves.ENDEAVOR ], - [ 39, Moves.LEAF_STORM ], - ], - [Species.GROVYLE]: [ - [ RELEARN_MOVE, Moves.FALSE_SWIPE ], - [ RELEARN_MOVE, Moves.FURY_CUTTER ], - [ RELEARN_MOVE, Moves.X_SCISSOR ], - [ RELEARN_MOVE, Moves.ENERGY_BALL ], - [ 1, Moves.POUND ], - [ 1, Moves.LEER ], - [ 1, Moves.LEAFAGE ], - [ 1, Moves.QUICK_ATTACK ], - [ 9, Moves.MEGA_DRAIN ], - [ 12, Moves.DETECT ], - [ 15, Moves.QUICK_GUARD ], - [ 20, Moves.ASSURANCE ], - [ 25, Moves.GIGA_DRAIN ], - [ 30, Moves.SLAM ], - [ 35, Moves.DOUBLE_TEAM ], - [ 40, Moves.LEAF_BLADE ], - [ 45, Moves.SCREECH ], - [ 50, Moves.ENDEAVOR ], - [ 55, Moves.LEAF_STORM ], - ], - [Species.SCEPTILE]: [ - [ EVOLVE_MOVE, Moves.LEAF_BLADE ], - [ RELEARN_MOVE, Moves.FALSE_SWIPE ], - [ RELEARN_MOVE, Moves.FURY_CUTTER ], - [ RELEARN_MOVE, Moves.X_SCISSOR ], - [ RELEARN_MOVE, Moves.ENERGY_BALL ], - [ RELEARN_MOVE, Moves.SHED_TAIL ], - [ 1, Moves.POUND ], - [ 1, Moves.LEER ], - [ 1, Moves.LEAFAGE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DUAL_CHOP ], - [ 5, Moves.MEGA_DRAIN ], - [ 12, Moves.DETECT ], - [ 15, Moves.QUICK_GUARD ], - [ 20, Moves.ASSURANCE ], - [ 25, Moves.GIGA_DRAIN ], - [ 30, Moves.SLAM ], - [ 35, Moves.DOUBLE_TEAM ], - [ 42, Moves.SCREECH ], - [ 49, Moves.ENDEAVOR ], - [ 56, Moves.LEAF_STORM ], - ], - [Species.TORCHIC]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 3, Moves.EMBER ], - [ 6, Moves.QUICK_ATTACK ], - [ 9, Moves.FLAME_CHARGE ], - [ 12, Moves.DETECT ], - [ 15, Moves.SAND_ATTACK ], - [ 18, Moves.AERIAL_ACE ], - [ 21, Moves.SLASH ], - [ 24, Moves.BOUNCE ], - [ 27, Moves.FOCUS_ENERGY ], - [ 30, Moves.FLAMETHROWER ], - [ 33, Moves.FEATHER_DANCE ], - [ 36, Moves.REVERSAL ], - [ 39, Moves.FLARE_BLITZ ], - ], - [Species.COMBUSKEN]: [ - [ EVOLVE_MOVE, Moves.DOUBLE_KICK ], - [ RELEARN_MOVE, Moves.FLAMETHROWER ], - [ RELEARN_MOVE, Moves.FEATHER_DANCE ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.QUICK_ATTACK ], - [ 9, Moves.FLAME_CHARGE ], - [ 12, Moves.DETECT ], - [ 15, Moves.SAND_ATTACK ], - [ 20, Moves.AERIAL_ACE ], - [ 25, Moves.SLASH ], - [ 30, Moves.BOUNCE ], - [ 35, Moves.FOCUS_ENERGY ], - [ 40, Moves.BLAZE_KICK ], - [ 45, Moves.BULK_UP ], - [ 50, Moves.REVERSAL ], - [ 55, Moves.FLARE_BLITZ ], - ], - [Species.BLAZIKEN]: [ - [ EVOLVE_MOVE, Moves.BLAZE_KICK ], - [ RELEARN_MOVE, Moves.FIRE_PUNCH ], - [ RELEARN_MOVE, Moves.EMBER ], - [ RELEARN_MOVE, Moves.FLAMETHROWER ], - [ RELEARN_MOVE, Moves.FEATHER_DANCE ], - [ 1, Moves.DOUBLE_KICK ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.QUICK_ATTACK ], - [ 9, Moves.FLAME_CHARGE ], - [ 12, Moves.DETECT ], - [ 15, Moves.SAND_ATTACK ], - [ 20, Moves.AERIAL_ACE ], - [ 25, Moves.SLASH ], - [ 30, Moves.BOUNCE ], - [ 35, Moves.FOCUS_ENERGY ], - [ 42, Moves.BULK_UP ], - [ 49, Moves.REVERSAL ], - [ 56, Moves.FLARE_BLITZ ], - [ 63, Moves.BRAVE_BIRD ], - ], - [Species.MUDKIP]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.WATER_GUN ], - [ 6, Moves.ROCK_SMASH ], - [ 9, Moves.ROCK_THROW ], - [ 12, Moves.PROTECT ], - [ 15, Moves.SUPERSONIC ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.ROCK_SLIDE ], - [ 24, Moves.TAKE_DOWN ], - [ 27, Moves.AMNESIA ], - [ 30, Moves.SURF ], - [ 33, Moves.SCREECH ], - [ 36, Moves.ENDEAVOR ], - [ 39, Moves.HYDRO_PUMP ], - ], - [Species.MARSHTOMP]: [ - [ EVOLVE_MOVE, Moves.MUD_SHOT ], - [ RELEARN_MOVE, Moves.SURF ], // Previous Stage Move - [ RELEARN_MOVE, Moves.ROCK_SMASH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 9, Moves.ROCK_THROW ], - [ 12, Moves.PROTECT ], - [ 15, Moves.SUPERSONIC ], - [ 20, Moves.WATER_PULSE ], - [ 25, Moves.ROCK_SLIDE ], - [ 30, Moves.TAKE_DOWN ], - [ 35, Moves.AMNESIA ], - [ 40, Moves.MUDDY_WATER ], - [ 45, Moves.SCREECH ], - [ 50, Moves.ENDEAVOR ], - [ 55, Moves.HYDRO_PUMP ], - ], - [Species.SWAMPERT]: [ - [ RELEARN_MOVE, Moves.SURF ], - [ RELEARN_MOVE, Moves.EARTHQUAKE ], - [ RELEARN_MOVE, Moves.ROCK_SMASH ], - [ RELEARN_MOVE, Moves.HAMMER_ARM ], - [ 1, Moves.MUD_SHOT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 9, Moves.ROCK_THROW ], - [ 12, Moves.PROTECT ], - [ 15, Moves.SUPERSONIC ], - [ 20, Moves.WATER_PULSE ], - [ 25, Moves.ROCK_SLIDE ], - [ 30, Moves.TAKE_DOWN ], - [ 35, Moves.AMNESIA ], - [ 42, Moves.MUDDY_WATER ], - [ 49, Moves.SCREECH ], - [ 56, Moves.ENDEAVOR ], - [ 63, Moves.HYDRO_PUMP ], - ], - [Species.POOCHYENA]: [ - [ 1, Moves.TACKLE ], - [ 4, Moves.HOWL ], - [ 7, Moves.SAND_ATTACK ], - [ 10, Moves.BITE ], - [ 13, Moves.LEER ], - [ 16, Moves.ROAR ], - [ 19, Moves.SWAGGER ], - [ 22, Moves.ASSURANCE ], - [ 25, Moves.SCARY_FACE ], - [ 28, Moves.TAUNT ], - [ 31, Moves.CRUNCH ], - [ 34, Moves.YAWN ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.SUCKER_PUNCH ], - [ 44, Moves.PLAY_ROUGH ], - ], - [Species.MIGHTYENA]: [ - [ EVOLVE_MOVE, Moves.SNARL ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.THIEF ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 13, Moves.LEER ], - [ 13, Moves.HOWL ], - [ 16, Moves.ROAR ], - [ 20, Moves.SWAGGER ], - [ 24, Moves.ASSURANCE ], - [ 28, Moves.SCARY_FACE ], - [ 36, Moves.TAUNT ], - [ 44, Moves.YAWN ], - [ 48, Moves.TAKE_DOWN ], - [ 52, Moves.SUCKER_PUNCH ], - [ 56, Moves.PLAY_ROUGH ], - ], - [Species.ZIGZAGOON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.SAND_ATTACK ], - [ 6, Moves.TAIL_WHIP ], - [ 9, Moves.COVET ], - [ 12, Moves.HEADBUTT ], - [ 15, Moves.BABY_DOLL_EYES ], - [ 18, Moves.PIN_MISSILE ], - [ 21, Moves.REST ], - [ 24, Moves.TAKE_DOWN ], - [ 27, Moves.FLING ], - [ 30, Moves.FLAIL ], - [ 33, Moves.BELLY_DRUM ], - [ 36, Moves.DOUBLE_EDGE ], - ], - [Species.LINOONE]: [ - [ EVOLVE_MOVE, Moves.SLASH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.PIN_MISSILE ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWITCHEROO ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 1, Moves.ROTOTILLER ], - [ 9, Moves.COVET ], - [ 12, Moves.HEADBUTT ], - [ 15, Moves.HONE_CLAWS ], - [ 18, Moves.FURY_SWIPES ], - [ 23, Moves.REST ], - [ 28, Moves.TAKE_DOWN ], - [ 33, Moves.FLING ], - [ 38, Moves.FLAIL ], - [ 43, Moves.BELLY_DRUM ], - [ 48, Moves.DOUBLE_EDGE ], - ], - [Species.WURMPLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.STRING_SHOT ], - [ 5, Moves.POISON_STING ], - [ 15, Moves.BUG_BITE ], - ], - [Species.SILCOON]: [ - [ EVOLVE_MOVE, Moves.HARDEN ], - [ RELEARN_MOVE, Moves.TACKLE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.STRING_SHOT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.POISON_STING ], // Previous Stage Move - [ RELEARN_MOVE, Moves.BUG_BITE ], // Previous Stage Move - [ 1, Moves.HARDEN ], - ], - [Species.BEAUTIFLY]: [ - [ EVOLVE_MOVE, Moves.GUST ], - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.BUG_BITE ], - [ 1, Moves.GUST ], - [ 1, Moves.HARDEN ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.POISON_STING ], - [ 12, Moves.ABSORB ], - [ 15, Moves.STUN_SPORE ], - [ 17, Moves.MORNING_SUN ], - [ 20, Moves.AIR_CUTTER ], - [ 22, Moves.MEGA_DRAIN ], - [ 25, Moves.LEECH_LIFE ], - [ 27, Moves.ATTRACT ], - [ 30, Moves.WHIRLWIND ], - [ 32, Moves.GIGA_DRAIN ], - [ 35, Moves.BUG_BUZZ ], - [ 37, Moves.PROTECT ], - [ 40, Moves.QUIVER_DANCE ], - ], - [Species.CASCOON]: [ - [ EVOLVE_MOVE, Moves.HARDEN ], - [ RELEARN_MOVE, Moves.TACKLE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.STRING_SHOT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.POISON_STING ], // Previous Stage Move - [ RELEARN_MOVE, Moves.BUG_BITE ], // Previous Stage Move - [ 1, Moves.HARDEN ], - ], - [Species.DUSTOX]: [ - [ EVOLVE_MOVE, Moves.GUST ], - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.BUG_BITE ], - [ 1, Moves.GUST ], - [ 1, Moves.HARDEN ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.POISON_STING ], - [ 12, Moves.CONFUSION ], - [ 15, Moves.POISON_POWDER ], - [ 17, Moves.MOONLIGHT ], - [ 20, Moves.VENOSHOCK ], - [ 22, Moves.PSYBEAM ], - [ 25, Moves.LEECH_LIFE ], - [ 27, Moves.LIGHT_SCREEN ], - [ 30, Moves.WHIRLWIND ], - [ 32, Moves.TOXIC ], - [ 35, Moves.BUG_BUZZ ], - [ 37, Moves.PROTECT ], - [ 40, Moves.QUIVER_DANCE ], - ], - [Species.LOTAD]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.ASTONISH ], - [ 3, Moves.ABSORB ], - [ 6, Moves.WATER_GUN ], - [ 9, Moves.MIST ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.FLAIL ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.LEECH_SEED ], - [ 28, Moves.GIGA_DRAIN ], - [ 33, Moves.RAIN_DANCE ], - [ 38, Moves.ZEN_HEADBUTT ], - [ 43, Moves.ENERGY_BALL ], - ], - [Species.LOMBRE]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.ABSORB ], - [ 1, Moves.FLAIL ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.RAIN_DANCE ], // Previous Stage Move - [ 1, Moves.KNOCK_OFF ], - [ 1, Moves.TEETER_DANCE ], - [ 1, Moves.ASTONISH ], - [ 9, Moves.MIST ], - [ 12, Moves.MEGA_DRAIN ], - [ 18, Moves.FURY_SWIPES ], - [ 24, Moves.BUBBLE_BEAM ], - [ 30, Moves.LEECH_SEED ], - [ 36, Moves.GIGA_DRAIN ], - [ 50, Moves.ZEN_HEADBUTT ], - [ 57, Moves.ENERGY_BALL ], - [ 64, Moves.HYDRO_PUMP ], - ], - [Species.LUDICOLO]: [ - [ RELEARN_MOVE, Moves.GROWL ], - [ RELEARN_MOVE, Moves.MIST ], - [ RELEARN_MOVE, Moves.WATER_GUN ], - [ RELEARN_MOVE, Moves.HYDRO_PUMP ], - [ RELEARN_MOVE, Moves.ABSORB ], - [ RELEARN_MOVE, Moves.MEGA_DRAIN ], - [ RELEARN_MOVE, Moves.FURY_SWIPES ], - [ RELEARN_MOVE, Moves.FLAIL ], - [ RELEARN_MOVE, Moves.KNOCK_OFF ], - [ RELEARN_MOVE, Moves.TEETER_DANCE ], - [ RELEARN_MOVE, Moves.ASTONISH ], - [ RELEARN_MOVE, Moves.ENERGY_BALL ], - [ RELEARN_MOVE, Moves.ZEN_HEADBUTT ], - [ RELEARN_MOVE, Moves.LEECH_SEED ], // Previous Stage Move - [ RELEARN_MOVE, Moves.GIGA_DRAIN ], // Previous Stage Move - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.BUBBLE_BEAM ], - [ 1, Moves.RAIN_DANCE ], - ], - [Species.SEEDOT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.BIDE ], - [ 3, Moves.ABSORB ], - [ 6, Moves.ASTONISH ], - [ 9, Moves.GROWTH ], - [ 12, Moves.ROLLOUT ], - [ 15, Moves.MEGA_DRAIN ], - [ 18, Moves.PAYBACK ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.SUNNY_DAY ], - [ 27, Moves.SYNTHESIS ], - [ 30, Moves.SUCKER_PUNCH ], - [ 33, Moves.EXPLOSION ], - ], - [Species.NUZLEAF]: [ - [ EVOLVE_MOVE, Moves.RAZOR_LEAF ], - [ 1, Moves.AIR_CUTTER ], - [ 1, Moves.TORMENT ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.SWAGGER ], - [ 1, Moves.EXPLOSION ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.BIDE ], // Previous Stage Move - [ 1, Moves.ABSORB ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.HEADBUTT ], // Previous Stage Move - [ 9, Moves.GROWTH ], - [ 12, Moves.ROLLOUT ], - [ 18, Moves.MEGA_DRAIN ], - [ 24, Moves.PAYBACK ], - [ 30, Moves.SYNTHESIS ], - [ 36, Moves.SUNNY_DAY ], - [ 43, Moves.EXTRASENSORY ], - [ 50, Moves.SUCKER_PUNCH ], - [ 57, Moves.LEAF_BLADE ], - ], - [Species.SHIFTRY]: [ - [ EVOLVE_MOVE, Moves.LEAF_BLADE ], - [ RELEARN_MOVE, Moves.WHIRLWIND ], - [ RELEARN_MOVE, Moves.TACKLE ], - [ RELEARN_MOVE, Moves.BIDE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.ABSORB ], - [ RELEARN_MOVE, Moves.MEGA_DRAIN ], - [ RELEARN_MOVE, Moves.GROWTH ], - [ RELEARN_MOVE, Moves.RAZOR_LEAF ], - [ RELEARN_MOVE, Moves.HARDEN ], - [ RELEARN_MOVE, Moves.HEADBUTT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.EXPLOSION ], - [ RELEARN_MOVE, Moves.ROLLOUT ], - [ RELEARN_MOVE, Moves.SWAGGER ], - [ RELEARN_MOVE, Moves.SYNTHESIS ], - [ RELEARN_MOVE, Moves.BEAT_UP ], - [ RELEARN_MOVE, Moves.FAKE_OUT ], - [ RELEARN_MOVE, Moves.TORMENT ], - [ RELEARN_MOVE, Moves.ASTONISH ], - [ RELEARN_MOVE, Moves.EXTRASENSORY ], - [ RELEARN_MOVE, Moves.SUCKER_PUNCH ], - [ 1, Moves.AIR_CUTTER ], - [ 1, Moves.HURRICANE ], - [ 1, Moves.PAYBACK ], - [ 1, Moves.SUNNY_DAY ], - ], - [Species.TAILLOW]: [ - [ 1, Moves.PECK ], - [ 1, Moves.GROWL ], - [ 5, Moves.FOCUS_ENERGY ], - [ 9, Moves.QUICK_ATTACK ], - [ 13, Moves.WING_ATTACK ], - [ 17, Moves.DOUBLE_TEAM ], - [ 21, Moves.AERIAL_ACE ], - [ 25, Moves.QUICK_GUARD ], - [ 29, Moves.AGILITY ], - [ 33, Moves.AIR_SLASH ], - [ 37, Moves.ENDEAVOR ], - [ 41, Moves.BRAVE_BIRD ], - [ 45, Moves.REVERSAL ], - ], - [Species.SWELLOW]: [ - [ 1, Moves.BRAVE_BIRD ], - [ 1, Moves.AIR_SLASH ], - [ 1, Moves.PLUCK ], - [ 1, Moves.PECK ], - [ 1, Moves.GROWL ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.QUICK_ATTACK ], - [ 13, Moves.WING_ATTACK ], - [ 17, Moves.DOUBLE_TEAM ], - [ 21, Moves.AERIAL_ACE ], - [ 27, Moves.QUICK_GUARD ], - [ 33, Moves.AGILITY ], - [ 45, Moves.ENDEAVOR ], - [ 51, Moves.BRAVE_BIRD ], - [ 57, Moves.REVERSAL ], - ], - [Species.WINGULL]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 5, Moves.QUICK_ATTACK ], - [ 10, Moves.SUPERSONIC ], - [ 15, Moves.WING_ATTACK ], - [ 20, Moves.WATER_PULSE ], - [ 26, Moves.AGILITY ], - [ 30, Moves.AIR_SLASH ], - [ 35, Moves.MIST ], - [ 40, Moves.ROOST ], - [ 45, Moves.HURRICANE ], - ], - [Species.PELIPPER]: [ - [ 1, Moves.PROTECT ], - [ 1, Moves.SOAK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.AGILITY ], - [ 1, Moves.AIR_SLASH ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.TAILWIND ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_SPORT ], - [ 15, Moves.WING_ATTACK ], - [ 20, Moves.WATER_PULSE ], - [ 28, Moves.STOCKPILE ], - [ 28, Moves.SPIT_UP ], - [ 28, Moves.SWALLOW ], - [ 34, Moves.FLING ], - [ 41, Moves.MIST ], - [ 48, Moves.ROOST ], - [ 55, Moves.HURRICANE ], - [ 62, Moves.HYDRO_PUMP ], - ], - [Species.RALTS]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.DISARMING_VOICE ], - [ 3, Moves.DOUBLE_TEAM ], - [ 6, Moves.CONFUSION ], - [ 9, Moves.HYPNOSIS ], - [ 12, Moves.DRAINING_KISS ], - [ 15, Moves.TELEPORT ], - [ 18, Moves.PSYBEAM ], - [ 21, Moves.LIFE_DEW ], - [ 24, Moves.CHARM ], - [ 27, Moves.CALM_MIND ], - [ 30, Moves.PSYCHIC ], - [ 33, Moves.HEAL_PULSE ], - [ 36, Moves.DREAM_EATER ], - [ 39, Moves.FUTURE_SIGHT ], - ], - [Species.KIRLIA]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.CONFUSION ], - [ 9, Moves.HYPNOSIS ], - [ 12, Moves.DRAINING_KISS ], - [ 15, Moves.TELEPORT ], - [ 18, Moves.PSYBEAM ], - [ 23, Moves.LIFE_DEW ], - [ 28, Moves.CHARM ], - [ 33, Moves.CALM_MIND ], - [ 38, Moves.PSYCHIC ], - [ 43, Moves.HEAL_PULSE ], - [ 48, Moves.DREAM_EATER ], - [ 53, Moves.FUTURE_SIGHT ], - ], - [Species.GARDEVOIR]: [ - [ EVOLVE_MOVE, Moves.DAZZLING_GLEAM ], - [ 1, Moves.MISTY_TERRAIN ], - [ 1, Moves.HEALING_WISH ], - [ 1, Moves.CHARM ], - [ 1, Moves.MYSTICAL_FIRE ], - [ 1, Moves.HEAL_PULSE ], - [ 1, Moves.GROWL ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.CONFUSION ], - [ 9, Moves.HYPNOSIS ], - [ 12, Moves.DRAINING_KISS ], - [ 15, Moves.TELEPORT ], - [ 18, Moves.PSYBEAM ], - [ 23, Moves.LIFE_DEW ], - [ 28, Moves.WISH ], - [ 35, Moves.CALM_MIND ], - [ 42, Moves.PSYCHIC ], - [ 49, Moves.MOONBLAST ], - [ 56, Moves.DREAM_EATER ], - [ 63, Moves.FUTURE_SIGHT ], - ], - [Species.SURSKIT]: [ - [ 1, Moves.WATER_GUN ], - [ 6, Moves.QUICK_ATTACK ], - [ 9, Moves.SWEET_SCENT ], - [ 14, Moves.SOAK ], - [ 17, Moves.BUBBLE_BEAM ], - [ 22, Moves.AGILITY ], - [ 25, Moves.MIST ], - [ 25, Moves.HAZE ], - [ 35, Moves.BATON_PASS ], - [ 38, Moves.STICKY_WEB ], - ], - [Species.MASQUERAIN]: [ - [ RELEARN_MOVE, Moves.BATON_PASS ], // Previous Stage Move - [ RELEARN_MOVE, Moves.STICKY_WEB ], // Previous Stage Move - [ 1, Moves.WHIRLWIND ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.SOAK ], - [ 1, Moves.BUBBLE_BEAM ], // Previous Stage Move - [ 1, Moves.AGILITY ], // Previous Stage Move - [ 1, Moves.MIST ], // Previous Stage Move - [ 1, Moves.HAZE ], // Previous Stage Move - [ 1, Moves.OMINOUS_WIND ], - [ 17, Moves.GUST ], - [ 22, Moves.SCARY_FACE ], - [ 22, Moves.AIR_CUTTER ], - [ 26, Moves.STUN_SPORE ], - [ 32, Moves.AIR_SLASH ], - [ 38, Moves.GIGA_DRAIN ], - [ 44, Moves.BUG_BUZZ ], - [ 52, Moves.QUIVER_DANCE ], - ], - [Species.SHROOMISH]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.TACKLE ], - [ 5, Moves.STUN_SPORE ], - [ 8, Moves.LEECH_SEED ], - [ 12, Moves.MEGA_DRAIN ], - [ 15, Moves.HEADBUTT ], - [ 19, Moves.POISON_POWDER ], - [ 26, Moves.GIGA_DRAIN ], - [ 29, Moves.GROWTH ], - [ 33, Moves.TOXIC ], - [ 36, Moves.SEED_BOMB ], - [ 40, Moves.SPORE ], - ], - [Species.BRELOOM]: [ - [ EVOLVE_MOVE, Moves.MACH_PUNCH ], - [ RELEARN_MOVE, Moves.SPORE ], - [ 1, Moves.POISON_POWDER ], - [ 1, Moves.GIGA_DRAIN ], // Previous Stage Move - [ 1, Moves.GROWTH ], - [ 1, Moves.TOXIC ], - [ 1, Moves.ABSORB ], - [ 1, Moves.TACKLE ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.LEECH_SEED ], - [ 12, Moves.MEGA_DRAIN ], - [ 15, Moves.HEADBUTT ], - [ 19, Moves.FEINT ], - [ 22, Moves.COUNTER ], - [ 28, Moves.FORCE_PALM ], - [ 33, Moves.WORRY_SEED ], - [ 39, Moves.BRICK_BREAK ], - [ 44, Moves.SEED_BOMB ], - [ 50, Moves.DYNAMIC_PUNCH ], - [ 55, Moves.FOCUS_PUNCH ], - ], - [Species.SLAKOTH]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.YAWN ], - [ 6, Moves.ENCORE ], - [ 9, Moves.SLACK_OFF ], - [ 14, Moves.HEADBUTT ], - [ 17, Moves.AMNESIA ], - [ 22, Moves.COVET ], - [ 25, Moves.THROAT_CHOP ], - [ 30, Moves.COUNTER ], - [ 33, Moves.FLAIL ], - [ 38, Moves.PLAY_ROUGH ], - ], - [Species.VIGOROTH]: [ - [ RELEARN_MOVE, Moves.PLAY_ROUGH ], // Previous Stage Move - [ 1, Moves.SCRATCH ], - [ 1, Moves.YAWN ], // Previous Stage Move - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.SLACK_OFF ], // Previous Stage Move - [ 1, Moves.ENCORE ], - [ 1, Moves.HEADBUTT ], // Previous Stage Move - [ 1, Moves.AMNESIA ], // Previous Stage Move - [ 1, Moves.COVET ], // Previous Stage Move - [ 1, Moves.FLAIL ], // Previous Stage Move - [ 1, Moves.UPROAR ], - [ 14, Moves.FURY_SWIPES ], - [ 17, Moves.ENDURE ], - [ 23, Moves.SLASH ], - [ 27, Moves.THROAT_CHOP ], - [ 33, Moves.COUNTER ], - [ 37, Moves.FOCUS_PUNCH ], - [ 43, Moves.REVERSAL ], - ], - [Species.SLAKING]: [ - [ EVOLVE_MOVE, Moves.SWAGGER ], - [ RELEARN_MOVE, Moves.PLAY_ROUGH ], // Previous Stage Move - [ RELEARN_MOVE, Moves.FOCUS_PUNCH ], // Previous Stage Move - [ 1, Moves.SUCKER_PUNCH ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.YAWN ], - [ 1, Moves.FOCUS_ENERGY ], // Previous Stage Move - [ 1, Moves.ENCORE ], - [ 1, Moves.SLACK_OFF ], - [ 1, Moves.UPROAR ], // Previous Stage Move - [ 1, Moves.FURY_SWIPES ], // Previous Stage Move - [ 1, Moves.ENDURE ], // Previous Stage Move - [ 1, Moves.HEADBUTT ], // Previous Stage Move - [ 1, Moves.SLASH ], // Previous Stage Move - [ 1, Moves.REVERSAL ], // Previous Stage Move - [ 17, Moves.AMNESIA ], - [ 23, Moves.COVET ], - [ 27, Moves.THROAT_CHOP ], - [ 33, Moves.COUNTER ], - [ 39, Moves.FLAIL ], - [ 45, Moves.FLING ], - [ 52, Moves.MEGA_KICK ], - [ 63, Moves.HAMMER_ARM ], - ], - [Species.NINCADA]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 5, Moves.HARDEN ], - [ 10, Moves.FALSE_SWIPE ], - [ 15, Moves.MUD_SLAP ], - [ 21, Moves.ABSORB ], - [ 25, Moves.METAL_CLAW ], - [ 30, Moves.FURY_SWIPES ], - [ 35, Moves.MIND_READER ], - [ 40, Moves.DIG ], - ], - [Species.NINJASK]: [ - [ EVOLVE_MOVE, Moves.DOUBLE_TEAM ], - [ EVOLVE_MOVE, Moves.SCREECH ], - [ EVOLVE_MOVE, Moves.FURY_CUTTER ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.AERIAL_ACE ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.DIG ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.HARDEN ], - [ 1, Moves.FALSE_SWIPE ], - [ 15, Moves.AGILITY ], - [ 23, Moves.ABSORB ], - [ 29, Moves.BUG_BITE ], - [ 36, Moves.FURY_SWIPES ], - [ 43, Moves.MIND_READER ], - [ 50, Moves.SLASH ], - [ 57, Moves.SWORDS_DANCE ], - [ 64, Moves.X_SCISSOR ], - ], - [Species.SHEDINJA]: [ - [ 1, Moves.SHADOW_CLAW ], - [ 1, Moves.GRUDGE ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.DIG ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.HARDEN ], - [ 1, Moves.FALSE_SWIPE ], - [ 15, Moves.CONFUSE_RAY ], - [ 23, Moves.ABSORB ], - [ 29, Moves.SHADOW_SNEAK ], - [ 36, Moves.FURY_SWIPES ], - [ 43, Moves.MIND_READER ], - [ 50, Moves.SHADOW_BALL ], - [ 57, Moves.SPITE ], - [ 64, Moves.PHANTOM_FORCE ], - ], - [Species.WHISMUR]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.POUND ], - [ 5, Moves.ECHOED_VOICE ], - [ 10, Moves.HOWL ], - [ 15, Moves.REST ], - [ 15, Moves.SLEEP_TALK ], - [ 21, Moves.STOMP ], - [ 25, Moves.ROAR ], - [ 30, Moves.SUPERSONIC ], - [ 35, Moves.UPROAR ], - [ 40, Moves.SCREECH ], - [ 45, Moves.HYPER_VOICE ], - ], - [Species.LOUDRED]: [ - [ EVOLVE_MOVE, Moves.BITE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.POUND ], - [ 1, Moves.ECHOED_VOICE ], - [ 1, Moves.HOWL ], - [ 15, Moves.REST ], - [ 15, Moves.SLEEP_TALK ], - [ 23, Moves.STOMP ], - [ 29, Moves.ROAR ], - [ 36, Moves.SUPERSONIC ], - [ 43, Moves.UPROAR ], - [ 50, Moves.SCREECH ], - [ 57, Moves.HYPER_VOICE ], - ], - [Species.EXPLOUD]: [ - [ EVOLVE_MOVE, Moves.CRUNCH ], - [ 1, Moves.BITE ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.POUND ], - [ 1, Moves.ECHOED_VOICE ], - [ 1, Moves.HOWL ], - [ 15, Moves.REST ], - [ 15, Moves.SLEEP_TALK ], - [ 23, Moves.STOMP ], - [ 29, Moves.ROAR ], - [ 36, Moves.SUPERSONIC ], - [ 45, Moves.UPROAR ], - [ 54, Moves.SCREECH ], - [ 63, Moves.HYPER_VOICE ], - [ 72, Moves.BOOMBURST ], - [ 81, Moves.HYPER_BEAM ], - ], - [Species.MAKUHITA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 4, Moves.SAND_ATTACK ], - [ 7, Moves.ARM_THRUST ], - [ 10, Moves.FAKE_OUT ], - [ 13, Moves.FORCE_PALM ], - [ 16, Moves.WHIRLWIND ], - [ 19, Moves.KNOCK_OFF ], - [ 22, Moves.BULK_UP ], - [ 25, Moves.BELLY_DRUM ], - [ 28, Moves.DETECT ], - [ 31, Moves.SEISMIC_TOSS ], - [ 34, Moves.FOCUS_PUNCH ], - [ 37, Moves.ENDURE ], - [ 40, Moves.CLOSE_COMBAT ], - [ 43, Moves.REVERSAL ], - [ 46, Moves.HEAVY_SLAM ], - ], - [Species.HARIYAMA]: [ - [ 1, Moves.BRINE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.SAND_ATTACK ], // Previous Stage Move - [ 1, Moves.ARM_THRUST ], - [ 10, Moves.FAKE_OUT ], - [ 13, Moves.FORCE_PALM ], - [ 16, Moves.WHIRLWIND ], - [ 19, Moves.KNOCK_OFF ], - [ 22, Moves.BULK_UP ], - [ 26, Moves.BELLY_DRUM ], - [ 30, Moves.DETECT ], - [ 34, Moves.SEISMIC_TOSS ], - [ 38, Moves.FOCUS_PUNCH ], - [ 42, Moves.ENDURE ], - [ 46, Moves.CLOSE_COMBAT ], - [ 50, Moves.REVERSAL ], - [ 54, Moves.HEAVY_SLAM ], - [ 60, Moves.HEADLONG_RUSH ], - ], - [Species.AZURILL]: [ - [ 1, Moves.SPLASH ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.TAIL_WHIP ], - [ 3, Moves.HELPING_HAND ], - [ 6, Moves.BUBBLE_BEAM ], - [ 9, Moves.CHARM ], - [ 12, Moves.SLAM ], - [ 15, Moves.BOUNCE ], - ], - [Species.NOSEPASS]: [ - [ 1, Moves.TACKLE ], - [ 4, Moves.HARDEN ], - [ 7, Moves.BLOCK ], - [ 10, Moves.ROCK_THROW ], - [ 13, Moves.THUNDER_WAVE ], - [ 16, Moves.REST ], - [ 19, Moves.SPARK ], - [ 22, Moves.ROCK_SLIDE ], - [ 25, Moves.POWER_GEM ], - [ 28, Moves.ROCK_BLAST ], - [ 31, Moves.DISCHARGE ], - [ 34, Moves.SANDSTORM ], - [ 37, Moves.EARTH_POWER ], - [ 40, Moves.STONE_EDGE ], - [ 43, Moves.LOCK_ON ], - [ 43, Moves.ZAP_CANNON ], - ], - [Species.SKITTY]: [ - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.GROWL ], - [ 1, Moves.TAIL_WHIP ], - [ 4, Moves.TACKLE ], - [ 7, Moves.SING ], - [ 10, Moves.ATTRACT ], - [ 13, Moves.DISARMING_VOICE ], - [ 16, Moves.FURY_SWIPES ], - [ 19, Moves.COPYCAT ], - [ 22, Moves.PAYBACK ], - [ 25, Moves.CHARM ], - [ 31, Moves.FACADE ], - [ 34, Moves.COVET ], - [ 37, Moves.HEAL_BELL ], - [ 40, Moves.DOUBLE_EDGE ], - [ 43, Moves.BABY_DOLL_EYES ], - [ 46, Moves.PLAY_ROUGH ], - ], - [Species.DELCATTY]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SING ], - [ 1, Moves.ATTRACT ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.FURY_SWIPES ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.PAYBACK ], - [ 1, Moves.CHARM ], - [ 1, Moves.FACADE ], - [ 1, Moves.COVET ], - [ 1, Moves.HEAL_BELL ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 1, Moves.PLAY_ROUGH ], - ], - [Species.SABLEYE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.SCRATCH ], - [ 3, Moves.ASTONISH ], - [ 9, Moves.SHADOW_SNEAK ], - [ 12, Moves.FAKE_OUT ], - [ 15, Moves.DISABLE ], - [ 18, Moves.DETECT ], - [ 21, Moves.NIGHT_SHADE ], - [ 24, Moves.FURY_SWIPES ], - [ 27, Moves.KNOCK_OFF ], - [ 30, Moves.QUASH ], - [ 33, Moves.SHADOW_CLAW ], - [ 36, Moves.MEAN_LOOK ], - [ 39, Moves.POWER_GEM ], - [ 42, Moves.ZEN_HEADBUTT ], - [ 45, Moves.SHADOW_BALL ], - [ 48, Moves.FOUL_PLAY ], - ], - [Species.MAWILE]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.GROWL ], - [ 4, Moves.FAIRY_WIND ], - [ 8, Moves.BATON_PASS ], - [ 12, Moves.BITE ], - [ 16, Moves.STOCKPILE ], - [ 16, Moves.SPIT_UP ], - [ 16, Moves.SWALLOW ], - [ 20, Moves.SUCKER_PUNCH ], - [ 24, Moves.IRON_DEFENSE ], - [ 28, Moves.CRUNCH ], - [ 32, Moves.SWEET_SCENT ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.TAUNT ], - [ 44, Moves.FAKE_TEARS ], - [ 48, Moves.PLAY_ROUGH ], - ], - [Species.ARON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 4, Moves.METAL_CLAW ], - [ 8, Moves.ROCK_TOMB ], - [ 12, Moves.ROAR ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.PROTECT ], - [ 24, Moves.ROCK_SLIDE ], - [ 28, Moves.IRON_HEAD ], - [ 33, Moves.METAL_SOUND ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.AUTOTOMIZE ], - [ 44, Moves.IRON_TAIL ], - [ 48, Moves.IRON_DEFENSE ], - [ 52, Moves.HEAVY_SLAM ], - [ 56, Moves.DOUBLE_EDGE ], - [ 60, Moves.METAL_BURST ], - ], - [Species.LAIRON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.ROCK_TOMB ], - [ 12, Moves.ROAR ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.PROTECT ], - [ 24, Moves.ROCK_SLIDE ], - [ 28, Moves.IRON_HEAD ], - [ 35, Moves.METAL_SOUND ], - [ 40, Moves.TAKE_DOWN ], - [ 46, Moves.AUTOTOMIZE ], - [ 52, Moves.IRON_TAIL ], - [ 58, Moves.IRON_DEFENSE ], - [ 64, Moves.HEAVY_SLAM ], - [ 70, Moves.DOUBLE_EDGE ], - [ 76, Moves.METAL_BURST ], - ], - [Species.AGGRON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.ROCK_TOMB ], - [ 12, Moves.ROAR ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.PROTECT ], - [ 24, Moves.ROCK_SLIDE ], - [ 28, Moves.IRON_HEAD ], - [ 35, Moves.METAL_SOUND ], - [ 40, Moves.TAKE_DOWN ], - [ 48, Moves.AUTOTOMIZE ], - [ 56, Moves.IRON_TAIL ], - [ 64, Moves.IRON_DEFENSE ], - [ 72, Moves.HEAVY_SLAM ], - [ 80, Moves.DOUBLE_EDGE ], - [ 88, Moves.METAL_BURST ], - ], - [Species.MEDITITE]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.WORK_UP ], - [ 1, Moves.BIDE ], - [ 9, Moves.DETECT ], - [ 12, Moves.ENDURE ], - [ 15, Moves.FEINT ], - [ 17, Moves.FORCE_PALM ], - [ 20, Moves.PSYBEAM ], - [ 23, Moves.CALM_MIND ], - [ 25, Moves.ZEN_HEADBUTT ], - [ 28, Moves.HIGH_JUMP_KICK ], - [ 31, Moves.PSYCH_UP ], - [ 33, Moves.ACUPRESSURE ], - [ 36, Moves.POWER_TRICK ], - [ 39, Moves.REVERSAL ], - [ 41, Moves.RECOVER ], - [ 44, Moves.COUNTER ], - ], - [Species.MEDICHAM]: [ - [ 1, Moves.FIRE_PUNCH ], - [ 1, Moves.ICE_PUNCH ], - [ 1, Moves.THUNDER_PUNCH ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.DETECT ], - [ 1, Moves.WORK_UP ], - [ 1, Moves.BIDE ], - [ 1, Moves.REVERSAL ], // Previous Stage Move - [ 12, Moves.ENDURE ], - [ 15, Moves.FEINT ], - [ 17, Moves.FORCE_PALM ], - [ 20, Moves.PSYBEAM ], - [ 23, Moves.CALM_MIND ], - [ 25, Moves.ZEN_HEADBUTT ], - [ 28, Moves.HIGH_JUMP_KICK ], - [ 31, Moves.PSYCH_UP ], - [ 33, Moves.ACUPRESSURE ], - [ 36, Moves.POWER_TRICK ], - [ 47, Moves.RECOVER ], - [ 53, Moves.COUNTER ], - [ 53, Moves.AXE_KICK ], - ], - [Species.ELECTRIKE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.THUNDER_WAVE ], - [ 4, Moves.LEER ], - [ 8, Moves.HOWL ], - [ 12, Moves.QUICK_ATTACK ], - [ 16, Moves.SHOCK_WAVE ], - [ 20, Moves.BITE ], - [ 24, Moves.THUNDER_FANG ], - [ 28, Moves.ROAR ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.CHARGE ], - [ 40, Moves.WILD_CHARGE ], - [ 44, Moves.THUNDER ], - ], - [Species.MANECTRIC]: [ - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.TACKLE ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.LEER ], - [ 1, Moves.HOWL ], - [ 12, Moves.QUICK_ATTACK ], - [ 16, Moves.SHOCK_WAVE ], - [ 20, Moves.BITE ], - [ 24, Moves.THUNDER_FANG ], - [ 30, Moves.ROAR ], - [ 36, Moves.DISCHARGE ], - [ 42, Moves.CHARGE ], - [ 48, Moves.WILD_CHARGE ], - [ 54, Moves.THUNDER ], - [ 60, Moves.ELECTRIC_TERRAIN ], - ], - [Species.PLUSLE]: [ - [ RELEARN_MOVE, Moves.NUZZLE ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.QUICK_ATTACK ], - [ 4, Moves.HELPING_HAND ], - [ 7, Moves.SPARK ], - [ 10, Moves.ENCORE ], - [ 13, Moves.SWITCHEROO ], - [ 16, Moves.SWIFT ], - [ 19, Moves.ELECTRO_BALL ], - [ 22, Moves.COPYCAT ], - [ 26, Moves.CHARGE ], - [ 31, Moves.DISCHARGE ], - [ 34, Moves.BATON_PASS ], - [ 37, Moves.AGILITY ], - [ 40, Moves.LAST_RESORT ], - [ 43, Moves.THUNDER ], - [ 46, Moves.NASTY_PLOT ], - [ 49, Moves.ENTRAINMENT ], - ], - [Species.MINUN]: [ - [ RELEARN_MOVE, Moves.NUZZLE ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.QUICK_ATTACK ], - [ 4, Moves.HELPING_HAND ], - [ 7, Moves.SPARK ], - [ 10, Moves.ENCORE ], - [ 13, Moves.SWITCHEROO ], - [ 16, Moves.SWIFT ], - [ 19, Moves.ELECTRO_BALL ], - [ 22, Moves.COPYCAT ], - [ 26, Moves.CHARGE ], - [ 31, Moves.DISCHARGE ], - [ 34, Moves.BATON_PASS ], - [ 37, Moves.AGILITY ], - [ 40, Moves.LAST_RESORT ], - [ 43, Moves.THUNDER ], - [ 46, Moves.NASTY_PLOT ], - [ 49, Moves.ENTRAINMENT ], - ], - [Species.VOLBEAT]: [ - [ 1, Moves.FLASH ], - [ 1, Moves.TACKLE ], - [ 5, Moves.DOUBLE_TEAM ], - [ 8, Moves.CONFUSE_RAY ], - [ 12, Moves.QUICK_ATTACK ], - [ 15, Moves.STRUGGLE_BUG ], - [ 19, Moves.MOONLIGHT ], - [ 22, Moves.TAIL_GLOW ], - [ 26, Moves.PROTECT ], - [ 29, Moves.ZEN_HEADBUTT ], - [ 33, Moves.HELPING_HAND ], - [ 36, Moves.BUG_BUZZ ], - [ 40, Moves.PLAY_ROUGH ], - [ 43, Moves.DOUBLE_EDGE ], - [ 47, Moves.INFESTATION ], - ], - [Species.ILLUMISE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.PLAY_NICE ], - [ 5, Moves.SWEET_SCENT ], - [ 9, Moves.CHARM ], - [ 12, Moves.QUICK_ATTACK ], - [ 15, Moves.STRUGGLE_BUG ], - [ 19, Moves.MOONLIGHT ], - [ 22, Moves.WISH ], - [ 26, Moves.ENCORE ], - [ 29, Moves.FLATTER ], - [ 33, Moves.ZEN_HEADBUTT ], - [ 36, Moves.HELPING_HAND ], - [ 40, Moves.BUG_BUZZ ], - [ 43, Moves.PLAY_ROUGH ], - [ 47, Moves.INFESTATION ], - ], - [Species.ROSELIA]: [ - [ EVOLVE_MOVE, Moves.POISON_STING ], - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.WORRY_SEED ], - [ 5, Moves.MEGA_DRAIN ], - [ 10, Moves.LEECH_SEED ], - [ 15, Moves.MAGICAL_LEAF ], - [ 20, Moves.TOXIC_SPIKES ], - [ 25, Moves.SWEET_SCENT ], - [ 30, Moves.GIGA_DRAIN ], - [ 35, Moves.SYNTHESIS ], - [ 40, Moves.TOXIC ], - [ 45, Moves.PETAL_BLIZZARD ], - [ 50, Moves.AROMATHERAPY ], - [ 55, Moves.INGRAIN ], - [ 60, Moves.PETAL_DANCE ], - ], - [Species.GULPIN]: [ - [ 1, Moves.POUND ], - [ 5, Moves.YAWN ], - [ 8, Moves.POISON_GAS ], - [ 10, Moves.SLUDGE ], - [ 12, Moves.AMNESIA ], - [ 17, Moves.ACID_SPRAY ], - [ 20, Moves.ENCORE ], - [ 25, Moves.TOXIC ], - [ 28, Moves.STOCKPILE ], - [ 28, Moves.SPIT_UP ], - [ 28, Moves.SWALLOW ], - [ 33, Moves.SLUDGE_BOMB ], - [ 36, Moves.GASTRO_ACID ], - [ 41, Moves.BELCH ], - [ 44, Moves.PAIN_SPLIT ], - [ 49, Moves.GUNK_SHOT ], - ], - [Species.SWALOT]: [ - [ EVOLVE_MOVE, Moves.BODY_SLAM ], - [ 1, Moves.GUNK_SHOT ], - [ 1, Moves.POUND ], - [ 1, Moves.YAWN ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.WRING_OUT ], - [ 1, Moves.SLUDGE ], - [ 1, Moves.PAIN_SPLIT ], // Previous Stage Move - [ 12, Moves.AMNESIA ], - [ 17, Moves.ACID_SPRAY ], - [ 20, Moves.ENCORE ], - [ 25, Moves.TOXIC ], - [ 30, Moves.STOCKPILE ], - [ 30, Moves.SPIT_UP ], - [ 30, Moves.SWALLOW ], - [ 37, Moves.SLUDGE_BOMB ], - [ 42, Moves.GASTRO_ACID ], - [ 49, Moves.BELCH ], - ], - [Species.CARVANHA]: [ - [ 1, Moves.AQUA_JET ], - [ 1, Moves.LEER ], - [ 4, Moves.POISON_FANG ], - [ 8, Moves.FOCUS_ENERGY ], - [ 12, Moves.SCARY_FACE ], - [ 16, Moves.BITE ], - [ 20, Moves.ICE_FANG ], - [ 24, Moves.SCREECH ], - [ 28, Moves.SWAGGER ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.AGILITY ], - [ 40, Moves.LIQUIDATION ], - [ 44, Moves.TAKE_DOWN ], - ], - [Species.SHARPEDO]: [ - [ EVOLVE_MOVE, Moves.SLASH ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.AQUA_JET ], - [ 1, Moves.LEER ], - [ 1, Moves.POISON_FANG ], - [ 1, Moves.FOCUS_ENERGY ], - [ 12, Moves.SCARY_FACE ], - [ 16, Moves.BITE ], - [ 20, Moves.ICE_FANG ], - [ 24, Moves.SCREECH ], - [ 28, Moves.SWAGGER ], - [ 34, Moves.CRUNCH ], - [ 40, Moves.AGILITY ], - [ 46, Moves.LIQUIDATION ], - [ 52, Moves.TAKE_DOWN ], - ], - [Species.WAILMER]: [ - [ 1, Moves.SPLASH ], - [ 1, Moves.TACKLE ], // Custom - [ 3, Moves.GROWL ], - [ 6, Moves.ASTONISH ], - [ 12, Moves.WATER_GUN ], - [ 15, Moves.MIST ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEAVY_SLAM ], - [ 24, Moves.BRINE ], - [ 27, Moves.WHIRLPOOL ], - [ 30, Moves.DIVE ], - [ 33, Moves.BOUNCE ], - [ 36, Moves.BODY_SLAM ], - [ 39, Moves.REST ], - [ 42, Moves.AMNESIA ], - [ 45, Moves.HYDRO_PUMP ], - [ 48, Moves.WATER_SPOUT ], - ], - [Species.WAILORD]: [ - [ 1, Moves.SOAK ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.SPLASH ], - [ 1, Moves.TACKLE ], // Previous Stage Move, Custom - [ 1, Moves.GROWL ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.WATER_GUN ], - [ 15, Moves.MIST ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEAVY_SLAM ], - [ 24, Moves.BRINE ], - [ 27, Moves.WHIRLPOOL ], - [ 30, Moves.DIVE ], - [ 33, Moves.BOUNCE ], - [ 36, Moves.BODY_SLAM ], - [ 39, Moves.REST ], - [ 44, Moves.AMNESIA ], - [ 49, Moves.HYDRO_PUMP ], - [ 54, Moves.WATER_SPOUT ], - ], - [Species.NUMEL]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.TACKLE ], - [ 5, Moves.EMBER ], - [ 8, Moves.FOCUS_ENERGY ], - [ 12, Moves.BULLDOZE ], - [ 15, Moves.INCINERATE ], - [ 19, Moves.AMNESIA ], - [ 22, Moves.LAVA_PLUME ], - [ 26, Moves.EARTH_POWER ], - [ 29, Moves.CURSE ], - [ 31, Moves.TAKE_DOWN ], - [ 40, Moves.EARTHQUAKE ], - [ 43, Moves.FLAMETHROWER ], - [ 47, Moves.DOUBLE_EDGE ], - ], - [Species.CAMERUPT]: [ - [ EVOLVE_MOVE, Moves.ROCK_SLIDE ], - [ RELEARN_MOVE, Moves.FLAMETHROWER ], // Previous Stage Move - [ RELEARN_MOVE, Moves.DOUBLE_EDGE ], // Previous Stage Move - [ 1, Moves.FISSURE ], - [ 1, Moves.ERUPTION ], - [ 1, Moves.GROWL ], - [ 1, Moves.TACKLE ], - [ 1, Moves.EMBER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 12, Moves.BULLDOZE ], - [ 15, Moves.INCINERATE ], - [ 19, Moves.AMNESIA ], - [ 22, Moves.LAVA_PLUME ], - [ 26, Moves.EARTH_POWER ], - [ 29, Moves.CURSE ], - [ 31, Moves.TAKE_DOWN ], - [ 39, Moves.YAWN ], - [ 46, Moves.EARTHQUAKE ], - ], - [Species.TORKOAL]: [ - [ 1, Moves.SMOG ], - [ 1, Moves.EMBER ], - [ 4, Moves.WITHDRAW ], - [ 8, Moves.RAPID_SPIN ], - [ 12, Moves.SMOKESCREEN ], - [ 16, Moves.CLEAR_SMOG ], - [ 20, Moves.FLAME_WHEEL ], - [ 24, Moves.PROTECT ], - [ 28, Moves.LAVA_PLUME ], - [ 32, Moves.BODY_SLAM ], - [ 36, Moves.IRON_DEFENSE ], - [ 40, Moves.FLAMETHROWER ], - [ 44, Moves.CURSE ], - [ 48, Moves.HEAT_WAVE ], - [ 52, Moves.AMNESIA ], - [ 56, Moves.INFERNO ], - [ 60, Moves.SHELL_SMASH ], - [ 64, Moves.ERUPTION ], - ], - [Species.SPOINK]: [ - [ 1, Moves.SPLASH ], - [ 5, Moves.CONFUSION ], // Custom, Moved from Level 7 to 5 - [ 10, Moves.GROWL ], - [ 14, Moves.PSYBEAM ], - [ 18, Moves.PSYCH_UP ], - [ 22, Moves.CONFUSE_RAY ], - [ 29, Moves.REST ], - [ 29, Moves.POWER_GEM ], - [ 33, Moves.SNORE ], - [ 38, Moves.PSYSHOCK ], - [ 40, Moves.PAYBACK ], - [ 44, Moves.PSYCHIC ], - [ 50, Moves.BOUNCE ], - ], - [Species.GRUMPIG]: [ - [ EVOLVE_MOVE, Moves.TEETER_DANCE ], - [ 1, Moves.BELCH ], - [ 1, Moves.SPLASH ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.GROWL ], // Previous Stage Move - [ 1, Moves.PSYBEAM ], - [ 18, Moves.PSYCH_UP ], - [ 22, Moves.CONFUSE_RAY ], - [ 26, Moves.ZEN_HEADBUTT ], - [ 29, Moves.POWER_GEM ], - [ 35, Moves.REST ], - [ 35, Moves.SNORE ], - [ 42, Moves.PSYSHOCK ], - [ 46, Moves.PAYBACK ], - [ 52, Moves.PSYCHIC ], - [ 60, Moves.BOUNCE ], - ], - [Species.SPINDA]: [ - [ 1, Moves.TACKLE ], - [ 5, Moves.COPYCAT ], - [ 10, Moves.DIZZY_PUNCH ], - [ 14, Moves.PSYBEAM ], - [ 19, Moves.HYPNOSIS ], - [ 23, Moves.BODY_SLAM ], - [ 28, Moves.SUCKER_PUNCH ], - [ 32, Moves.TEETER_DANCE ], - [ 37, Moves.UPROAR ], - [ 41, Moves.PSYCH_UP ], - [ 46, Moves.DOUBLE_EDGE ], - [ 50, Moves.FLAIL ], - [ 55, Moves.THRASH ], - ], - [Species.TRAPINCH]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.BIDE ], - [ 1, Moves.FEINT_ATTACK ], - [ 8, Moves.BITE ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.SAND_TOMB ], - [ 20, Moves.BULLDOZE ], - [ 24, Moves.DIG ], - [ 28, Moves.CRUNCH ], - [ 32, Moves.SANDSTORM ], - [ 36, Moves.EARTH_POWER ], - [ 40, Moves.EARTHQUAKE ], - [ 44, Moves.SUPERPOWER ], - [ 48, Moves.FISSURE ], - ], - [Species.VIBRAVA]: [ - [ EVOLVE_MOVE, Moves.DRAGON_BREATH ], - [ RELEARN_MOVE, Moves.SUPERSONIC ], - [ RELEARN_MOVE, Moves.FISSURE ], - [ RELEARN_MOVE, Moves.CRUNCH ], - [ RELEARN_MOVE, Moves.SUPERPOWER ], - [ RELEARN_MOVE, Moves.ASTONISH ], - [ RELEARN_MOVE, Moves.BULLDOZE ], - [ 1, Moves.DIG ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.BITE ], - [ 1, Moves.BIDE ], - [ 1, Moves.FEINT_ATTACK ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.SAND_TOMB ], - [ 20, Moves.DRAGON_TAIL ], - [ 24, Moves.SCREECH ], - [ 28, Moves.BUG_BUZZ ], - [ 32, Moves.SANDSTORM ], - [ 38, Moves.EARTH_POWER ], - [ 44, Moves.EARTHQUAKE ], - [ 50, Moves.UPROAR ], - [ 56, Moves.DRAGON_RUSH ], - [ 62, Moves.BOOMBURST ], - ], - [Species.FLYGON]: [ - [ EVOLVE_MOVE, Moves.DRAGON_CLAW ], - [ RELEARN_MOVE, Moves.BITE ], - [ RELEARN_MOVE, Moves.FISSURE ], - [ RELEARN_MOVE, Moves.DIG ], - [ RELEARN_MOVE, Moves.CRUNCH ], - [ RELEARN_MOVE, Moves.SUPERPOWER ], - [ RELEARN_MOVE, Moves.ASTONISH ], - [ RELEARN_MOVE, Moves.DRAGON_DANCE ], - [ RELEARN_MOVE, Moves.FEINT ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.BULLDOZE ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.BIDE ], - [ 1, Moves.FEINT_ATTACK ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.SAND_TOMB ], - [ 20, Moves.DRAGON_TAIL ], - [ 24, Moves.SCREECH ], - [ 28, Moves.BUG_BUZZ ], - [ 32, Moves.SANDSTORM ], - [ 38, Moves.EARTH_POWER ], - [ 44, Moves.EARTHQUAKE ], - [ 52, Moves.UPROAR ], - [ 60, Moves.DRAGON_RUSH ], - [ 68, Moves.BOOMBURST ], - ], - [Species.CACNEA]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 4, Moves.ABSORB ], - [ 7, Moves.GROWTH ], - [ 10, Moves.LEECH_SEED ], - [ 13, Moves.SAND_ATTACK ], - [ 16, Moves.BULLET_SEED ], - [ 19, Moves.POWER_TRIP ], - [ 22, Moves.INGRAIN ], - [ 26, Moves.PAYBACK ], - [ 30, Moves.SPIKES ], - [ 34, Moves.SUCKER_PUNCH ], - [ 38, Moves.PIN_MISSILE ], - [ 42, Moves.ENERGY_BALL ], - [ 46, Moves.COTTON_SPORE ], - [ 50, Moves.SANDSTORM ], - [ 54, Moves.DESTINY_BOND ], - ], - [Species.CACTURNE]: [ - [ EVOLVE_MOVE, Moves.SPIKY_SHIELD ], - [ 1, Moves.DESTINY_BOND ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 10, Moves.LEECH_SEED ], - [ 13, Moves.SAND_ATTACK ], - [ 16, Moves.BULLET_SEED ], - [ 19, Moves.POWER_TRIP ], - [ 22, Moves.INGRAIN ], - [ 26, Moves.PAYBACK ], - [ 30, Moves.SPIKES ], - [ 35, Moves.SUCKER_PUNCH ], - [ 38, Moves.PIN_MISSILE ], - [ 44, Moves.ENERGY_BALL ], - [ 49, Moves.COTTON_SPORE ], - [ 54, Moves.SANDSTORM ], - ], - [Species.SWABLU]: [ - [ 1, Moves.PECK ], - [ 1, Moves.GROWL ], - [ 4, Moves.DISARMING_VOICE ], - [ 8, Moves.MIST ], - [ 12, Moves.FURY_ATTACK ], - [ 16, Moves.ROUND ], - [ 20, Moves.DRAGON_BREATH ], - [ 24, Moves.SAFEGUARD ], - [ 28, Moves.SING ], - [ 32, Moves.COTTON_GUARD ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.MOONBLAST ], - [ 44, Moves.PERISH_SONG ], - ], - [Species.ALTARIA]: [ - [ EVOLVE_MOVE, Moves.DRAGON_PULSE ], - [ 1, Moves.PLUCK ], - [ 1, Moves.PECK ], - [ 1, Moves.GROWL ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.MIST ], - [ 12, Moves.FURY_ATTACK ], - [ 16, Moves.ROUND ], - [ 20, Moves.DRAGON_BREATH ], - [ 24, Moves.SAFEGUARD ], - [ 28, Moves.SING ], - [ 32, Moves.COTTON_GUARD ], - [ 38, Moves.TAKE_DOWN ], - [ 44, Moves.MOONBLAST ], - [ 50, Moves.PERISH_SONG ], - [ 56, Moves.SKY_ATTACK ], - ], - [Species.ZANGOOSE]: [ - [ RELEARN_MOVE, Moves.DOUBLE_KICK ], - [ RELEARN_MOVE, Moves.DISABLE ], - [ RELEARN_MOVE, Moves.COUNTER ], - [ RELEARN_MOVE, Moves.FURY_SWIPES ], - [ RELEARN_MOVE, Moves.CURSE ], - [ RELEARN_MOVE, Moves.FLAIL ], - [ RELEARN_MOVE, Moves.BELLY_DRUM ], - [ RELEARN_MOVE, Moves.FEINT ], - [ RELEARN_MOVE, Moves.NIGHT_SLASH ], - [ RELEARN_MOVE, Moves.DOUBLE_HIT ], - [ RELEARN_MOVE, Moves.QUICK_GUARD ], - [ RELEARN_MOVE, Moves.FINAL_GAMBIT ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 5, Moves.QUICK_ATTACK ], - [ 8, Moves.FURY_CUTTER ], - [ 12, Moves.METAL_CLAW ], - [ 15, Moves.HONE_CLAWS ], - [ 19, Moves.SLASH ], - [ 22, Moves.POWER_TRIP ], - [ 26, Moves.CRUSH_CLAW ], - [ 29, Moves.FALSE_SWIPE ], - [ 33, Moves.SWITCHEROO ], - [ 36, Moves.DETECT ], - [ 40, Moves.X_SCISSOR ], - [ 43, Moves.TAUNT ], - [ 47, Moves.SWORDS_DANCE ], - [ 50, Moves.CLOSE_COMBAT ], - ], - [Species.SEVIPER]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.SWAGGER ], - [ 4, Moves.BITE ], - [ 6, Moves.LICK ], - [ 9, Moves.POISON_TAIL ], - [ 11, Moves.FEINT ], - [ 14, Moves.SCREECH ], - [ 19, Moves.GLARE ], - [ 21, Moves.POISON_FANG ], - [ 24, Moves.VENOSHOCK ], - [ 29, Moves.GASTRO_ACID ], - [ 31, Moves.POISON_JAB ], - [ 34, Moves.HAZE ], - [ 39, Moves.CRUNCH ], - [ 41, Moves.BELCH ], - [ 44, Moves.COIL ], - [ 46, Moves.SLUDGE_BOMB ], - ], - [Species.LUNATONE]: [ - [ 1, Moves.MOONBLAST ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.ROCK_THROW ], - [ 5, Moves.HYPNOSIS ], - [ 10, Moves.ROCK_POLISH ], - [ 15, Moves.ROCK_SLIDE ], - [ 20, Moves.PSYSHOCK ], - [ 25, Moves.COSMIC_POWER ], - [ 30, Moves.PSYCHIC ], - [ 35, Moves.STONE_EDGE ], - [ 40, Moves.FUTURE_SIGHT ], - [ 45, Moves.MAGIC_ROOM ], - [ 50, Moves.EXPLOSION ], - ], - [Species.SOLROCK]: [ - [ 1, Moves.FLARE_BLITZ ], - [ 1, Moves.MORNING_SUN ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.ROCK_THROW ], - [ 5, Moves.HYPNOSIS ], - [ 10, Moves.ROCK_POLISH ], - [ 15, Moves.ROCK_SLIDE ], - [ 20, Moves.ZEN_HEADBUTT ], - [ 25, Moves.COSMIC_POWER ], - [ 30, Moves.PSYCHIC ], - [ 35, Moves.STONE_EDGE ], - [ 40, Moves.SOLAR_BEAM ], - [ 45, Moves.WONDER_ROOM ], - [ 50, Moves.EXPLOSION ], - ], - [Species.BARBOACH]: [ - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.WATER_GUN ], - [ 6, Moves.REST ], - [ 6, Moves.SNORE ], - [ 12, Moves.WATER_PULSE ], - [ 18, Moves.AMNESIA ], - [ 24, Moves.AQUA_TAIL ], - [ 31, Moves.MUDDY_WATER ], - [ 36, Moves.EARTHQUAKE ], - [ 42, Moves.FUTURE_SIGHT ], - [ 48, Moves.FISSURE ], - ], - [Species.WHISCASH]: [ - [ EVOLVE_MOVE, Moves.THRASH ], - [ 1, Moves.BELCH ], - [ 1, Moves.ZEN_HEADBUTT ], - [ 1, Moves.TICKLE ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.REST ], - [ 1, Moves.SNORE ], - [ 12, Moves.WATER_PULSE ], - [ 18, Moves.AMNESIA ], - [ 24, Moves.AQUA_TAIL ], - [ 33, Moves.MUDDY_WATER ], - [ 40, Moves.EARTHQUAKE ], - [ 48, Moves.FUTURE_SIGHT ], - [ 56, Moves.FISSURE ], - ], - [Species.CORPHISH]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HARDEN ], - [ 4, Moves.LEER ], - [ 8, Moves.TAUNT ], - [ 12, Moves.BUBBLE_BEAM ], - [ 16, Moves.KNOCK_OFF ], - [ 20, Moves.DOUBLE_HIT ], - [ 24, Moves.PROTECT ], - [ 28, Moves.NIGHT_SLASH ], - [ 32, Moves.RAZOR_SHELL ], - [ 36, Moves.SWORDS_DANCE ], - [ 40, Moves.CRUNCH ], - [ 44, Moves.CRABHAMMER ], - [ 48, Moves.ENDEAVOR ], - [ 52, Moves.GUILLOTINE ], - ], - [Species.CRAWDAUNT]: [ - [ EVOLVE_MOVE, Moves.SWIFT ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HARDEN ], - [ 1, Moves.LEER ], - [ 1, Moves.TAUNT ], - [ 12, Moves.BUBBLE_BEAM ], - [ 16, Moves.KNOCK_OFF ], - [ 20, Moves.DOUBLE_HIT ], - [ 24, Moves.PROTECT ], - [ 28, Moves.NIGHT_SLASH ], - [ 34, Moves.RAZOR_SHELL ], - [ 40, Moves.SWORDS_DANCE ], - [ 46, Moves.CRUNCH ], - [ 52, Moves.CRABHAMMER ], - [ 58, Moves.ENDEAVOR ], - [ 64, Moves.GUILLOTINE ], - ], - [Species.BALTOY]: [ - [ 1, Moves.HARDEN ], - [ 1, Moves.MUD_SLAP ], - [ 3, Moves.RAPID_SPIN ], - [ 6, Moves.CONFUSION ], - [ 9, Moves.ROCK_TOMB ], - [ 12, Moves.POWER_TRICK ], - [ 15, Moves.PSYBEAM ], - [ 18, Moves.ANCIENT_POWER ], - [ 21, Moves.IMPRISON ], - [ 24, Moves.COSMIC_POWER ], - [ 27, Moves.EXTRASENSORY ], - [ 30, Moves.EARTH_POWER ], - [ 33, Moves.SELF_DESTRUCT ], - [ 36, Moves.GUARD_SPLIT ], - [ 36, Moves.POWER_SPLIT ], - [ 39, Moves.SANDSTORM ], - [ 42, Moves.EXPLOSION ], - ], - [Species.CLAYDOL]: [ - [ EVOLVE_MOVE, Moves.HYPER_BEAM ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.CONFUSION ], - [ 9, Moves.ROCK_TOMB ], - [ 12, Moves.POWER_TRICK ], - [ 15, Moves.PSYBEAM ], - [ 18, Moves.ANCIENT_POWER ], - [ 21, Moves.IMPRISON ], - [ 24, Moves.COSMIC_POWER ], - [ 27, Moves.EXTRASENSORY ], - [ 30, Moves.EARTH_POWER ], - [ 33, Moves.SELF_DESTRUCT ], - [ 38, Moves.GUARD_SPLIT ], - [ 38, Moves.POWER_SPLIT ], - [ 43, Moves.SANDSTORM ], - [ 48, Moves.EXPLOSION ], - ], - [Species.LILEEP]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.CONSTRICT ], - [ 4, Moves.ACID ], - [ 8, Moves.CONFUSE_RAY ], - [ 12, Moves.INGRAIN ], - [ 16, Moves.ANCIENT_POWER ], - [ 20, Moves.MEGA_DRAIN ], - [ 24, Moves.BRINE ], - [ 28, Moves.AMNESIA ], - [ 32, Moves.GASTRO_ACID ], - [ 36, Moves.GIGA_DRAIN ], - [ 41, Moves.STOCKPILE ], - [ 41, Moves.SPIT_UP ], - [ 41, Moves.SWALLOW ], - [ 44, Moves.ENERGY_BALL ], - ], - [Species.CRADILY]: [ - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.WRAP ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.CONSTRICT ], - [ 1, Moves.ACID ], - [ 1, Moves.CONFUSE_RAY ], - [ 12, Moves.INGRAIN ], - [ 16, Moves.ANCIENT_POWER ], - [ 20, Moves.MEGA_DRAIN ], - [ 24, Moves.BRINE ], - [ 28, Moves.AMNESIA ], - [ 32, Moves.GASTRO_ACID ], - [ 36, Moves.GIGA_DRAIN ], - [ 43, Moves.STOCKPILE ], - [ 43, Moves.SPIT_UP ], - [ 43, Moves.SWALLOW ], - [ 48, Moves.ENERGY_BALL ], - ], - [Species.ANORITH]: [ - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.HARDEN ], - [ 4, Moves.WATER_GUN ], - [ 8, Moves.SMACK_DOWN ], - [ 12, Moves.METAL_CLAW ], - [ 16, Moves.ANCIENT_POWER ], - [ 20, Moves.BUG_BITE ], - [ 24, Moves.BRINE ], - [ 28, Moves.SLASH ], - [ 32, Moves.CRUSH_CLAW ], - [ 36, Moves.ROCK_BLAST ], - [ 41, Moves.PROTECT ], - [ 44, Moves.X_SCISSOR ], - ], - [Species.ARMALDO]: [ - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.HARDEN ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SMACK_DOWN ], - [ 12, Moves.METAL_CLAW ], - [ 16, Moves.ANCIENT_POWER ], - [ 20, Moves.BUG_BITE ], - [ 24, Moves.BRINE ], - [ 28, Moves.SLASH ], - [ 32, Moves.CRUSH_CLAW ], - [ 36, Moves.ROCK_BLAST ], - [ 43, Moves.PROTECT ], - [ 48, Moves.X_SCISSOR ], - ], - [Species.FEEBAS]: [ - [ 1, Moves.SPLASH ], - [ 15, Moves.TACKLE ], - [ 25, Moves.FLAIL ], - ], - [Species.MILOTIC]: [ - [ EVOLVE_MOVE, Moves.WATER_PULSE ], - [ 1, Moves.FLAIL ], - [ 1, Moves.SPLASH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.WRAP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WATER_SPORT ], - [ 4, Moves.DISARMING_VOICE ], - [ 8, Moves.TWISTER ], - [ 12, Moves.AQUA_RING ], - [ 16, Moves.ATTRACT ], - [ 20, Moves.LIFE_DEW ], - [ 24, Moves.DRAGON_TAIL ], - [ 28, Moves.RECOVER ], - [ 32, Moves.AQUA_TAIL ], - [ 36, Moves.SAFEGUARD ], - [ 40, Moves.SURF ], - [ 44, Moves.RAIN_DANCE ], - [ 48, Moves.COIL ], - [ 52, Moves.HYDRO_PUMP ], - ], - [Species.CASTFORM]: [ - [ 1, Moves.TACKLE ], - [ 10, Moves.WATER_GUN ], - [ 10, Moves.EMBER ], - [ 10, Moves.POWDER_SNOW ], - [ 15, Moves.HEADBUTT ], - [ 20, Moves.RAIN_DANCE ], - [ 20, Moves.SUNNY_DAY ], - [ 20, Moves.HAIL ], - [ 25, Moves.WEATHER_BALL ], - [ 35, Moves.HYDRO_PUMP ], - [ 35, Moves.FIRE_BLAST ], - [ 35, Moves.BLIZZARD ], - [ 45, Moves.HURRICANE ], - ], - [Species.KECLEON]: [ - [ 1, Moves.THIEF ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.LICK ], - [ 1, Moves.SCRATCH ], - [ 4, Moves.BIND ], - [ 7, Moves.SHADOW_SNEAK ], - [ 10, Moves.FEINT ], - [ 13, Moves.FURY_SWIPES ], - [ 16, Moves.DISABLE ], - [ 18, Moves.PSYBEAM ], - [ 21, Moves.ANCIENT_POWER ], - [ 25, Moves.SLASH ], - [ 30, Moves.DETECT ], - [ 33, Moves.SHADOW_CLAW ], - [ 38, Moves.SCREECH ], - [ 42, Moves.SUBSTITUTE ], - [ 46, Moves.SUCKER_PUNCH ], - [ 50, Moves.FOUL_PLAY ], - ], - [Species.SHUPPET]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.PURSUIT ], // Custom - [ 4, Moves.SCREECH ], - [ 7, Moves.NIGHT_SHADE ], - [ 10, Moves.SPITE ], - [ 16, Moves.WILL_O_WISP ], - [ 19, Moves.SHADOW_SNEAK ], - [ 22, Moves.HEX ], - [ 26, Moves.CURSE ], - [ 30, Moves.SHADOW_BALL ], - [ 34, Moves.ROLE_PLAY ], - [ 38, Moves.SUCKER_PUNCH ], - [ 42, Moves.TRICK ], - [ 48, Moves.PHANTOM_FORCE ], - ], - [Species.BANETTE]: [ - [ EVOLVE_MOVE, Moves.KNOCK_OFF ], - [ 1, Moves.ASTONISH ], // Previous Stage Move - [ 1, Moves.PURSUIT ], // Previous Stage Move, Custom - [ 1, Moves.SCREECH ], - [ 1, Moves.NIGHT_SHADE ], - [ 1, Moves.SPITE ], - [ 16, Moves.WILL_O_WISP ], - [ 19, Moves.SHADOW_SNEAK ], - [ 22, Moves.HEX ], - [ 26, Moves.CURSE ], - [ 30, Moves.SHADOW_BALL ], - [ 34, Moves.ROLE_PLAY ], - [ 40, Moves.SUCKER_PUNCH ], - [ 46, Moves.TRICK ], - [ 53, Moves.PHANTOM_FORCE ], - ], - [Species.DUSKULL]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.LEER ], - [ 1, Moves.PURSUIT ], // Custom - [ 4, Moves.DISABLE ], - [ 8, Moves.SHADOW_SNEAK ], - [ 12, Moves.CONFUSE_RAY ], - [ 16, Moves.NIGHT_SHADE ], - [ 20, Moves.PAYBACK ], - [ 24, Moves.WILL_O_WISP ], - [ 28, Moves.MEAN_LOOK ], - [ 32, Moves.HEX ], - [ 36, Moves.CURSE ], - [ 40, Moves.SHADOW_BALL ], - [ 44, Moves.FUTURE_SIGHT ], - ], - [Species.DUSCLOPS]: [ - [ EVOLVE_MOVE, Moves.SHADOW_PUNCH ], - [ 1, Moves.FIRE_PUNCH ], - [ 1, Moves.ICE_PUNCH ], - [ 1, Moves.THUNDER_PUNCH ], - [ 1, Moves.GRAVITY ], - [ 1, Moves.BIND ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.LEER ], - [ 1, Moves.PURSUIT ], // Previous Stage Move, Custom - [ 1, Moves.DISABLE ], - [ 1, Moves.SHADOW_SNEAK ], - [ 12, Moves.CONFUSE_RAY ], - [ 16, Moves.NIGHT_SHADE ], - [ 20, Moves.PAYBACK ], - [ 24, Moves.WILL_O_WISP ], - [ 28, Moves.MEAN_LOOK ], - [ 32, Moves.HEX ], - [ 36, Moves.CURSE ], - [ 42, Moves.SHADOW_BALL ], - [ 48, Moves.FUTURE_SIGHT ], - ], - [Species.TROPIUS]: [ - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 1, Moves.GROWTH ], - [ 1, Moves.RAZOR_LEAF ], - [ 6, Moves.SWEET_SCENT ], - [ 10, Moves.STOMP ], - [ 16, Moves.MAGICAL_LEAF ], - [ 21, Moves.WHIRLWIND ], - [ 30, Moves.WIDE_GUARD ], - [ 36, Moves.AIR_SLASH ], - [ 41, Moves.BODY_SLAM ], - [ 46, Moves.OUTRAGE ], - [ 50, Moves.SYNTHESIS ], - [ 56, Moves.SOLAR_BEAM ], - ], - [Species.CHIMECHO]: [ - [ 1, Moves.HEALING_WISH ], - [ 1, Moves.LAST_RESORT ], // Previous Stage Move - [ 1, Moves.ENTRAINMENT ], // Previous Stage Move - [ 1, Moves.WRAP ], - [ 1, Moves.PSYWAVE ], // Previous Stage Move, Custom - [ 1, Moves.GROWL ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.SYNCHRONOISE ], - [ 13, Moves.YAWN ], - [ 16, Moves.STORED_POWER ], - [ 19, Moves.TAKE_DOWN ], - [ 22, Moves.EXTRASENSORY ], - [ 27, Moves.HEAL_BELL ], - [ 32, Moves.UPROAR ], - [ 37, Moves.SAFEGUARD ], - [ 42, Moves.DOUBLE_EDGE ], - [ 47, Moves.HEAL_PULSE ], - ], - [Species.ABSOL]: [ - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.LEER ], - [ 5, Moves.DOUBLE_TEAM ], - [ 10, Moves.KNOCK_OFF ], - [ 15, Moves.DETECT ], - [ 20, Moves.TAUNT ], - [ 25, Moves.SLASH ], - [ 30, Moves.NIGHT_SLASH ], - [ 35, Moves.FOCUS_ENERGY ], - [ 40, Moves.SUCKER_PUNCH ], - [ 45, Moves.SWORDS_DANCE ], - [ 50, Moves.FUTURE_SIGHT ], - [ 55, Moves.PERISH_SONG ], - ], - [Species.WYNAUT]: [ - [ 1, Moves.COUNTER ], - [ 1, Moves.MIRROR_COAT ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.DESTINY_BOND ], - [ 1, Moves.SPLASH ], - [ 1, Moves.CHARM ], - [ 1, Moves.ENCORE ], - [ 1, Moves.AMNESIA ], - ], - [Species.SNORUNT]: [ - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.HEADBUTT ], - [ 5, Moves.LEER ], - [ 10, Moves.DOUBLE_TEAM ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.PROTECT ], - [ 25, Moves.ICY_WIND ], - [ 30, Moves.FROST_BREATH ], - [ 35, Moves.BITE ], - [ 40, Moves.ICE_FANG ], - [ 45, Moves.SNOWSCAPE ], - [ 50, Moves.WEATHER_BALL ], - [ 55, Moves.CRUNCH ], - [ 60, Moves.BLIZZARD ], - ], - [Species.GLALIE]: [ - [ EVOLVE_MOVE, Moves.FREEZE_DRY ], - [ 1, Moves.SHEER_COLD ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.HEADBUTT ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.LEER ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ICE_BALL ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.PROTECT ], - [ 25, Moves.ICY_WIND ], - [ 30, Moves.FROST_BREATH ], - [ 35, Moves.BITE ], - [ 40, Moves.ICE_FANG ], - [ 47, Moves.SNOWSCAPE ], - [ 54, Moves.WEATHER_BALL ], - [ 61, Moves.CRUNCH ], - [ 68, Moves.BLIZZARD ], - ], - [Species.SPHEAL]: [ - [ 1, Moves.ROLLOUT ], - [ 1, Moves.DEFENSE_CURL ], - [ 4, Moves.GROWL ], - [ 8, Moves.WATER_GUN ], - [ 12, Moves.POWDER_SNOW ], - [ 16, Moves.REST ], - [ 20, Moves.SNORE ], - [ 24, Moves.BRINE ], - [ 28, Moves.AURORA_BEAM ], - [ 33, Moves.ENCORE ], - [ 36, Moves.BODY_SLAM ], - [ 40, Moves.SURF ], - [ 44, Moves.BLIZZARD ], - [ 48, Moves.HAIL ], - [ 52, Moves.SHEER_COLD ], - ], - [Species.SEALEO]: [ - [ EVOLVE_MOVE, Moves.SWAGGER ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 12, Moves.POWDER_SNOW ], - [ 16, Moves.REST ], - [ 20, Moves.SNORE ], - [ 24, Moves.BRINE ], - [ 28, Moves.AURORA_BEAM ], - [ 35, Moves.ENCORE ], - [ 40, Moves.BODY_SLAM ], - [ 46, Moves.SURF ], - [ 52, Moves.BLIZZARD ], - [ 58, Moves.HAIL ], - [ 64, Moves.SHEER_COLD ], - ], - [Species.WALREIN]: [ - [ 1, Moves.SWAGGER ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 12, Moves.POWDER_SNOW ], - [ 16, Moves.REST ], - [ 20, Moves.SNORE ], - [ 24, Moves.BRINE ], - [ 28, Moves.AURORA_BEAM ], - [ 35, Moves.ENCORE ], - [ 40, Moves.BODY_SLAM ], - [ 48, Moves.SURF ], - [ 56, Moves.BLIZZARD ], - [ 64, Moves.HAIL ], - [ 72, Moves.SHEER_COLD ], - ], - [Species.CLAMPERL]: [ - [ 1, Moves.CLAMP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WHIRLPOOL ], - [ 1, Moves.IRON_DEFENSE ], - [ 50, Moves.SHELL_SMASH ], - ], - [Species.HUNTAIL]: [ - [ 1, Moves.CLAMP ], // Previous Stage Move - [ 1, Moves.WATER_GUN ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.SHELL_SMASH ], - [ 1, Moves.WHIRLPOOL ], - [ 1, Moves.BITE ], - [ 5, Moves.SCREECH ], - [ 9, Moves.SCARY_FACE ], - [ 11, Moves.RAIN_DANCE ], - [ 14, Moves.WATER_PULSE ], - [ 16, Moves.ICE_FANG ], - [ 19, Moves.BRINE ], - [ 23, Moves.SUCKER_PUNCH ], - [ 26, Moves.DIVE ], - [ 29, Moves.BATON_PASS ], - [ 34, Moves.CRUNCH ], - [ 39, Moves.AQUA_TAIL ], - [ 45, Moves.COIL ], - [ 50, Moves.HYDRO_PUMP ], - ], - [Species.GOREBYSS]: [ - [ 1, Moves.CLAMP ], // Previous Stage Move - [ 1, Moves.WATER_GUN ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.SHELL_SMASH ], - [ 1, Moves.WHIRLPOOL ], - [ 1, Moves.CONFUSION ], - [ 5, Moves.RAIN_DANCE ], - [ 9, Moves.AGILITY ], - [ 11, Moves.DRAINING_KISS ], - [ 14, Moves.WATER_PULSE ], - [ 16, Moves.AMNESIA ], - [ 19, Moves.AQUA_RING ], - [ 23, Moves.SAFEGUARD ], - [ 26, Moves.DIVE ], - [ 29, Moves.BATON_PASS ], - [ 34, Moves.PSYCHIC ], - [ 39, Moves.AQUA_TAIL ], - [ 45, Moves.COIL ], - [ 50, Moves.HYDRO_PUMP ], - ], - [Species.RELICANTH]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.WATER_GUN ], - [ 10, Moves.ANCIENT_POWER ], - [ 15, Moves.YAWN ], - [ 20, Moves.DIVE ], - [ 25, Moves.TAKE_DOWN ], - [ 30, Moves.AQUA_TAIL ], - [ 35, Moves.REST ], - [ 40, Moves.FLAIL ], - [ 45, Moves.HYDRO_PUMP ], - [ 50, Moves.DOUBLE_EDGE ], - [ 55, Moves.HEAD_SMASH ], - ], - [Species.LUVDISC]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CHARM ], - [ 4, Moves.WATER_GUN ], - [ 7, Moves.AGILITY ], - [ 13, Moves.WISH ], - [ 17, Moves.WATER_PULSE ], - [ 20, Moves.ATTRACT ], - [ 22, Moves.DRAINING_KISS ], - [ 26, Moves.FLAIL ], - [ 31, Moves.SWEET_KISS ], - [ 34, Moves.TAKE_DOWN ], - [ 37, Moves.BABY_DOLL_EYES ], - [ 40, Moves.AQUA_RING ], - [ 42, Moves.SOAK ], - [ 46, Moves.HYDRO_PUMP ], - [ 49, Moves.SAFEGUARD ], - ], - [Species.BAGON]: [ - [ 1, Moves.EMBER ], - [ 1, Moves.LEER ], - [ 5, Moves.BITE ], - [ 10, Moves.DRAGON_BREATH ], - [ 15, Moves.HEADBUTT ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.CRUNCH ], - [ 31, Moves.DRAGON_CLAW ], - [ 35, Moves.ZEN_HEADBUTT ], - [ 40, Moves.FOCUS_ENERGY ], - [ 45, Moves.FLAMETHROWER ], - [ 50, Moves.OUTRAGE ], - [ 55, Moves.DOUBLE_EDGE ], - ], - [Species.SHELGON]: [ - [ EVOLVE_MOVE, Moves.PROTECT ], - [ 1, Moves.EMBER ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.DRAGON_BREATH ], - [ 15, Moves.HEADBUTT ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.CRUNCH ], - [ 33, Moves.DRAGON_CLAW ], - [ 39, Moves.ZEN_HEADBUTT ], - [ 46, Moves.FOCUS_ENERGY ], - [ 53, Moves.FLAMETHROWER ], - [ 60, Moves.OUTRAGE ], - [ 67, Moves.DOUBLE_EDGE ], - ], - [Species.SALAMENCE]: [ - [ EVOLVE_MOVE, Moves.FLY ], - [ RELEARN_MOVE, Moves.OUTRAGE ], // Previous Stage Move - [ 1, Moves.PROTECT ], - [ 1, Moves.DRAGON_TAIL ], - [ 1, Moves.DUAL_WINGBEAT ], - [ 1, Moves.ROOST ], - [ 1, Moves.EMBER ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.DRAGON_BREATH ], - [ 15, Moves.HEADBUTT ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.CRUNCH ], - [ 33, Moves.DRAGON_CLAW ], - [ 39, Moves.ZEN_HEADBUTT ], - [ 46, Moves.FOCUS_ENERGY ], - [ 55, Moves.FLAMETHROWER ], - [ 73, Moves.DOUBLE_EDGE ], - ], - [Species.BELDUM]: [ - [ 1, Moves.TACKLE ], - ], - [Species.METANG]: [ - [ EVOLVE_MOVE, Moves.CONFUSION ], - [ EVOLVE_MOVE, Moves.METAL_CLAW ], - [ 1, Moves.TACKLE ], - [ 1, Moves.BULLET_PUNCH ], - [ 1, Moves.HONE_CLAWS ], - [ 6, Moves.ZEN_HEADBUTT ], - [ 12, Moves.MAGNET_RISE ], - [ 18, Moves.FLASH_CANNON ], - [ 26, Moves.TAKE_DOWN ], - [ 34, Moves.PSYCHIC ], - [ 42, Moves.SCARY_FACE ], - [ 50, Moves.METEOR_MASH ], - [ 58, Moves.IRON_DEFENSE ], - [ 66, Moves.AGILITY ], - [ 74, Moves.HYPER_BEAM ], - ], - [Species.METAGROSS]: [ - [ EVOLVE_MOVE, Moves.HAMMER_ARM ], - [ RELEARN_MOVE, Moves.EXPLOSION ], - [ RELEARN_MOVE, Moves.HONE_CLAWS ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.BULLET_PUNCH ], - [ 1, Moves.TACKLE ], - [ 6, Moves.ZEN_HEADBUTT ], - [ 12, Moves.MAGNET_RISE ], - [ 16, Moves.FLASH_CANNON ], - [ 26, Moves.TAKE_DOWN ], - [ 34, Moves.PSYCHIC ], - [ 42, Moves.SCARY_FACE ], - [ 52, Moves.METEOR_MASH ], - [ 62, Moves.IRON_DEFENSE ], - [ 72, Moves.AGILITY ], - [ 82, Moves.HYPER_BEAM ], - ], - [Species.REGIROCK]: [ - [ 1, Moves.CHARGE_BEAM ], - [ 1, Moves.ROCK_THROW ], - [ 6, Moves.BULLDOZE ], - [ 12, Moves.ANCIENT_POWER ], - [ 18, Moves.STOMP ], - [ 24, Moves.ROCK_SLIDE ], - [ 30, Moves.CURSE ], - [ 36, Moves.IRON_DEFENSE ], - [ 42, Moves.HAMMER_ARM ], - [ 48, Moves.STONE_EDGE ], - [ 54, Moves.SUPERPOWER ], - [ 60, Moves.LOCK_ON ], - [ 66, Moves.ZAP_CANNON ], - [ 72, Moves.HYPER_BEAM ], - [ 78, Moves.EXPLOSION ], - ], - [Species.REGICE]: [ - [ 1, Moves.CHARGE_BEAM ], - [ 1, Moves.ICY_WIND ], - [ 6, Moves.BULLDOZE ], - [ 12, Moves.ANCIENT_POWER ], - [ 18, Moves.STOMP ], - [ 24, Moves.ICE_BEAM ], - [ 30, Moves.CURSE ], - [ 36, Moves.AMNESIA ], - [ 42, Moves.HAMMER_ARM ], - [ 48, Moves.BLIZZARD ], - [ 54, Moves.SUPERPOWER ], - [ 60, Moves.LOCK_ON ], - [ 66, Moves.ZAP_CANNON ], - [ 72, Moves.HYPER_BEAM ], - [ 78, Moves.EXPLOSION ], - ], - [Species.REGISTEEL]: [ - [ 1, Moves.CHARGE_BEAM ], - [ 1, Moves.METAL_CLAW ], - [ 6, Moves.BULLDOZE ], - [ 12, Moves.ANCIENT_POWER ], - [ 18, Moves.STOMP ], - [ 24, Moves.IRON_HEAD ], - [ 24, Moves.FLASH_CANNON ], - [ 30, Moves.CURSE ], - [ 36, Moves.AMNESIA ], - [ 36, Moves.IRON_DEFENSE ], - [ 42, Moves.HAMMER_ARM ], - [ 48, Moves.HEAVY_SLAM ], - [ 54, Moves.SUPERPOWER ], - [ 60, Moves.LOCK_ON ], - [ 66, Moves.ZAP_CANNON ], - [ 72, Moves.HYPER_BEAM ], - [ 78, Moves.EXPLOSION ], - ], - [Species.LATIAS]: [ - [ 1, Moves.STORED_POWER ], - [ 1, Moves.CHARM ], - [ 1, Moves.PSYWAVE ], - [ 5, Moves.HELPING_HAND ], - [ 10, Moves.RECOVER ], - [ 15, Moves.CONFUSION ], - [ 20, Moves.TAILWIND ], - [ 25, Moves.DRAGON_BREATH ], - [ 30, Moves.WISH ], - [ 35, Moves.MIST_BALL ], - [ 40, Moves.ZEN_HEADBUTT ], - [ 45, Moves.DRAGON_PULSE ], - [ 50, Moves.HEAL_PULSE ], - [ 55, Moves.REFLECT_TYPE ], - [ 60, Moves.PSYCHIC ], - [ 65, Moves.GUARD_SPLIT ], - [ 70, Moves.HEALING_WISH ], - ], - [Species.LATIOS]: [ - [ 1, Moves.STORED_POWER ], - [ 1, Moves.DRAGON_DANCE ], - [ 1, Moves.HEAL_BLOCK ], - [ 1, Moves.PSYWAVE ], - [ 5, Moves.HELPING_HAND ], - [ 10, Moves.RECOVER ], - [ 15, Moves.CONFUSION ], - [ 20, Moves.TAILWIND ], - [ 25, Moves.DRAGON_BREATH ], - [ 30, Moves.ALLY_SWITCH ], - [ 35, Moves.LUSTER_PURGE ], - [ 40, Moves.ZEN_HEADBUTT ], - [ 45, Moves.DRAGON_PULSE ], - [ 50, Moves.HEAL_PULSE ], - [ 55, Moves.SIMPLE_BEAM ], - [ 60, Moves.PSYCHIC ], - [ 65, Moves.POWER_SPLIT ], - [ 70, Moves.MEMENTO ], - ], - [Species.KYOGRE]: [ - [ 1, Moves.ORIGIN_PULSE ], - [ 1, Moves.WATER_PULSE ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.BODY_SLAM ], - [ 1, Moves.SCARY_FACE ], - [ 9, Moves.AQUA_TAIL ], - [ 18, Moves.CALM_MIND ], - [ 27, Moves.MUDDY_WATER ], - [ 36, Moves.ICE_BEAM ], - [ 45, Moves.SHEER_COLD ], - [ 54, Moves.AQUA_RING ], - [ 72, Moves.HYDRO_PUMP ], - [ 81, Moves.DOUBLE_EDGE ], - [ 90, Moves.WATER_SPOUT ], - ], - [Species.GROUDON]: [ - [ 1, Moves.PRECIPICE_BLADES ], - [ 1, Moves.MUD_SHOT ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.LAVA_PLUME ], - [ 1, Moves.SCARY_FACE ], - [ 9, Moves.EARTH_POWER ], - [ 18, Moves.BULK_UP ], - [ 27, Moves.EARTHQUAKE ], - [ 36, Moves.HAMMER_ARM ], - [ 45, Moves.FISSURE ], - [ 54, Moves.REST ], - [ 72, Moves.FIRE_BLAST ], - [ 81, Moves.SOLAR_BEAM ], - [ 90, Moves.ERUPTION ], - ], - [Species.RAYQUAZA]: [ - [ 1, Moves.DRAGON_ASCENT ], - [ 1, Moves.TWISTER ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.AIR_SLASH ], - [ 1, Moves.SCARY_FACE ], - [ 9, Moves.CRUNCH ], - [ 18, Moves.DRAGON_DANCE ], - [ 27, Moves.EXTREME_SPEED ], - [ 36, Moves.DRAGON_PULSE ], - [ 45, Moves.HYPER_VOICE ], - [ 54, Moves.REST ], - [ 63, Moves.FLY ], - [ 72, Moves.HURRICANE ], - [ 81, Moves.OUTRAGE ], - [ 90, Moves.HYPER_BEAM ], - ], - [Species.JIRACHI]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.WISH ], - [ 7, Moves.SWIFT ], - [ 21, Moves.LIFE_DEW ], - [ 28, Moves.ZEN_HEADBUTT ], - [ 35, Moves.GRAVITY ], - [ 42, Moves.PSYCHIC ], - [ 49, Moves.METEOR_MASH ], - [ 56, Moves.HEALING_WISH ], - [ 63, Moves.REST ], - [ 70, Moves.FUTURE_SIGHT ], - [ 77, Moves.DOUBLE_EDGE ], - [ 84, Moves.COSMIC_POWER ], - [ 91, Moves.LAST_RESORT ], - [ 98, Moves.DOOM_DESIRE ], - ], - [Species.DEOXYS]: [ - [ 1, Moves.CONFUSION ], // Custom - [ 1, Moves.LEER ], - [ 1, Moves.WRAP ], - [ 7, Moves.NIGHT_SHADE ], - [ 13, Moves.TELEPORT ], - [ 19, Moves.KNOCK_OFF ], - [ 25, Moves.PSYSHOCK ], - [ 31, Moves.PSYCHIC ], - [ 37, Moves.GRAVITY ], - [ 43, Moves.SKILL_SWAP ], - [ 49, Moves.ZEN_HEADBUTT ], - [ 55, Moves.COSMIC_POWER ], - [ 61, Moves.RECOVER ], - [ 67, Moves.PSYCHO_BOOST ], - [ 73, Moves.HYPER_BEAM ], - ], - [Species.TURTWIG]: [ - [ 1, Moves.TACKLE ], - [ 5, Moves.WITHDRAW ], - [ 5, Moves.LEAFAGE ], // Custom, moved from 10 to 5, BDSP - [ 9, Moves.GROWTH ], // Fill empty moveslot, from BDSP level 6 - [ 13, Moves.RAZOR_LEAF ], - [ 17, Moves.CURSE ], - [ 21, Moves.BITE ], - [ 25, Moves.MEGA_DRAIN ], - [ 29, Moves.LEECH_SEED ], - [ 33, Moves.SYNTHESIS ], - [ 37, Moves.CRUNCH ], - [ 41, Moves.GIGA_DRAIN ], - [ 45, Moves.LEAF_STORM ], - ], - [Species.GROTLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ABSORB ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.LEAFAGE ], - [ 1, Moves.GROWTH ], // Previous Stage Move - [ 13, Moves.RAZOR_LEAF ], - [ 17, Moves.CURSE ], - [ 22, Moves.BITE ], - [ 27, Moves.MEGA_DRAIN ], - [ 32, Moves.LEECH_SEED ], - [ 37, Moves.SYNTHESIS ], - [ 42, Moves.CRUNCH ], - [ 47, Moves.GIGA_DRAIN ], - [ 52, Moves.LEAF_STORM ], - ], - [Species.TORTERRA]: [ - [ EVOLVE_MOVE, Moves.EARTHQUAKE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.ABSORB ], - [ 1, Moves.LEAFAGE ], - [ 1, Moves.GROWTH ], // Previous Stage Move - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.WOOD_HAMMER ], - [ 17, Moves.CURSE ], - [ 22, Moves.BITE ], - [ 27, Moves.MEGA_DRAIN ], - [ 33, Moves.LEECH_SEED ], - [ 39, Moves.SYNTHESIS ], - [ 45, Moves.CRUNCH ], - [ 51, Moves.GIGA_DRAIN ], - [ 57, Moves.LEAF_STORM ], - [ 63, Moves.HEADLONG_RUSH ], - ], - [Species.CHIMCHAR]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 5, Moves.EMBER ], // Custom, moved from 7 to 5 - [ 9, Moves.TAUNT ], - [ 15, Moves.FURY_SWIPES ], - [ 17, Moves.FLAME_WHEEL ], - [ 23, Moves.NASTY_PLOT ], - [ 25, Moves.TORMENT ], - [ 31, Moves.FACADE ], - [ 33, Moves.FIRE_SPIN ], - [ 39, Moves.ACROBATICS ], - [ 41, Moves.SLACK_OFF ], - [ 47, Moves.FLAMETHROWER ], - ], - [Species.MONFERNO]: [ - [ EVOLVE_MOVE, Moves.MACH_PUNCH ], - [ RELEARN_MOVE, Moves.NASTY_PLOT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.FACADE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.FLAMETHROWER ], // Previous Stage Move - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 9, Moves.TAUNT ], - [ 16, Moves.FURY_SWIPES ], - [ 19, Moves.FLAME_WHEEL ], - [ 26, Moves.FEINT ], - [ 29, Moves.TORMENT ], - [ 36, Moves.CLOSE_COMBAT ], - [ 39, Moves.FIRE_SPIN ], - [ 46, Moves.ACROBATICS ], - [ 49, Moves.SLACK_OFF ], - [ 56, Moves.FLARE_BLITZ ], - ], - [Species.INFERNAPE]: [ - [ EVOLVE_MOVE, Moves.CLOSE_COMBAT ], - [ RELEARN_MOVE, Moves.TAUNT ], - [ RELEARN_MOVE, Moves.NASTY_PLOT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.FACADE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.SLACK_OFF ], - [ RELEARN_MOVE, Moves.FLAMETHROWER ], // Previous Stage Move - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.MACH_PUNCH ], - [ 16, Moves.FURY_SWIPES ], - [ 19, Moves.FLAME_WHEEL ], - [ 26, Moves.FEINT ], - [ 29, Moves.TORMENT ], - [ 42, Moves.FIRE_SPIN ], - [ 47, Moves.FLARE_BLITZ ], - [ 52, Moves.ACROBATICS ], - [ 58, Moves.CALM_MIND ], - [ 65, Moves.RAGING_FURY ], - ], - [Species.PIPLUP]: [ - [ 1, Moves.POUND ], - [ 4, Moves.GROWL ], - [ 5, Moves.WATER_GUN ], // Custom, moved from 8 to 5 - [ 11, Moves.CHARM ], - [ 15, Moves.PECK ], - [ 18, Moves.BUBBLE_BEAM ], - [ 22, Moves.SWAGGER ], - [ 25, Moves.FURY_ATTACK ], - [ 29, Moves.BRINE ], - [ 32, Moves.WHIRLPOOL ], - [ 36, Moves.MIST ], - [ 39, Moves.DRILL_PECK ], - [ 43, Moves.HYDRO_PUMP ], - ], - [Species.PRINPLUP]: [ - [ EVOLVE_MOVE, Moves.METAL_CLAW ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.CHARM ], // Previous Stage Move - [ 15, Moves.PECK ], - [ 19, Moves.BUBBLE_BEAM ], - [ 24, Moves.SWAGGER ], - [ 28, Moves.FURY_ATTACK ], - [ 33, Moves.BRINE ], - [ 37, Moves.WHIRLPOOL ], - [ 42, Moves.MIST ], - [ 46, Moves.DRILL_PECK ], - [ 50, Moves.HYDRO_PUMP ], - ], - [Species.EMPOLEON]: [ - [ EVOLVE_MOVE, Moves.AQUA_JET ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.CHARM ], // Previous Stage Move - [ 1, Moves.METAL_CLAW ], - [ 11, Moves.SWORDS_DANCE ], - [ 15, Moves.PECK ], - [ 19, Moves.BUBBLE_BEAM ], - [ 24, Moves.SWAGGER ], - [ 28, Moves.FURY_ATTACK ], - [ 33, Moves.BRINE ], - [ 39, Moves.WHIRLPOOL ], - [ 46, Moves.MIST ], - [ 52, Moves.DRILL_PECK ], - [ 59, Moves.HYDRO_PUMP ], - [ 66, Moves.WAVE_CRASH ], - ], - [Species.STARLY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.QUICK_ATTACK ], - [ 9, Moves.WING_ATTACK ], - [ 13, Moves.DOUBLE_TEAM ], - [ 17, Moves.ENDEAVOR ], - [ 21, Moves.WHIRLWIND ], - [ 25, Moves.AERIAL_ACE ], - [ 29, Moves.TAKE_DOWN ], - [ 33, Moves.AGILITY ], - [ 37, Moves.BRAVE_BIRD ], - [ 41, Moves.FINAL_GAMBIT ], - ], - [Species.STARAVIA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.QUICK_ATTACK ], - [ 9, Moves.WING_ATTACK ], - [ 13, Moves.DOUBLE_TEAM ], - [ 18, Moves.ENDEAVOR ], - [ 23, Moves.WHIRLWIND ], - [ 28, Moves.AERIAL_ACE ], - [ 33, Moves.TAKE_DOWN ], - [ 38, Moves.AGILITY ], - [ 43, Moves.BRAVE_BIRD ], - [ 48, Moves.FINAL_GAMBIT ], - ], - [Species.STARAPTOR]: [ - [ EVOLVE_MOVE, Moves.CLOSE_COMBAT ], - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.QUICK_ATTACK ], - [ 13, Moves.DOUBLE_TEAM ], - [ 18, Moves.ENDEAVOR ], - [ 23, Moves.WHIRLWIND ], - [ 28, Moves.AERIAL_ACE ], - [ 33, Moves.TAKE_DOWN ], - [ 41, Moves.AGILITY ], - [ 49, Moves.BRAVE_BIRD ], - [ 57, Moves.FINAL_GAMBIT ], - ], - [Species.BIDOOF]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.DEFENSE_CURL ], - [ 9, Moves.ROLLOUT ], - [ 13, Moves.HEADBUTT ], - [ 17, Moves.HYPER_FANG ], - [ 21, Moves.YAWN ], - [ 25, Moves.CRUNCH ], - [ 29, Moves.TAKE_DOWN ], - [ 33, Moves.SUPER_FANG ], - [ 37, Moves.SWORDS_DANCE ], - [ 41, Moves.AMNESIA ], - [ 45, Moves.SUPERPOWER ], - [ 49, Moves.CURSE ], - ], - [Species.BIBAREL]: [ - [ EVOLVE_MOVE, Moves.WATER_GUN ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.AQUA_JET ], - [ 1, Moves.ROTOTILLER ], - [ 5, Moves.DEFENSE_CURL ], - [ 9, Moves.ROLLOUT ], - [ 13, Moves.HEADBUTT ], - [ 18, Moves.HYPER_FANG ], - [ 23, Moves.YAWN ], - [ 28, Moves.CRUNCH ], - [ 33, Moves.TAKE_DOWN ], - [ 38, Moves.SUPER_FANG ], - [ 43, Moves.SWORDS_DANCE ], - [ 48, Moves.AMNESIA ], - [ 53, Moves.SUPERPOWER ], - [ 58, Moves.CURSE ], - ], - [Species.KRICKETOT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.BIDE ], - [ 6, Moves.STRUGGLE_BUG ], - [ 16, Moves.BUG_BITE ], - ], - [Species.KRICKETUNE]: [ - [ EVOLVE_MOVE, Moves.FURY_CUTTER ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.BIDE ], - [ 1, Moves.STRUGGLE_BUG ], // Previous Stage Move - [ 1, Moves.BUG_BITE ], // Previous Stage Move - [ 14, Moves.ABSORB ], - [ 18, Moves.SING ], - [ 22, Moves.FOCUS_ENERGY ], - [ 26, Moves.SLASH ], - [ 30, Moves.X_SCISSOR ], - [ 34, Moves.SCREECH ], - [ 36, Moves.FELL_STINGER ], - [ 38, Moves.TAUNT ], - [ 42, Moves.NIGHT_SLASH ], - [ 44, Moves.STICKY_WEB ], - [ 46, Moves.BUG_BUZZ ], - [ 50, Moves.PERISH_SONG ], - ], - [Species.SHINX]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 4, Moves.THUNDER_SHOCK ], - [ 8, Moves.CHARGE ], - [ 12, Moves.BITE ], - [ 16, Moves.SPARK ], - [ 20, Moves.ROAR ], - [ 24, Moves.VOLT_SWITCH ], - [ 28, Moves.SCARY_FACE ], - [ 32, Moves.THUNDER_WAVE ], - [ 36, Moves.CRUNCH ], - [ 40, Moves.DISCHARGE ], - [ 44, Moves.SWAGGER ], - [ 48, Moves.WILD_CHARGE ], - ], - [Species.LUXIO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.CHARGE ], - [ 12, Moves.BITE ], - [ 18, Moves.SPARK ], - [ 24, Moves.ROAR ], - [ 31, Moves.VOLT_SWITCH ], - [ 36, Moves.SCARY_FACE ], - [ 42, Moves.THUNDER_WAVE ], - [ 48, Moves.CRUNCH ], - [ 54, Moves.DISCHARGE ], - [ 60, Moves.SWAGGER ], - [ 68, Moves.WILD_CHARGE ], - ], - [Species.LUXRAY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.CHARGE ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 12, Moves.BITE ], - [ 18, Moves.SPARK ], - [ 24, Moves.ROAR ], - [ 33, Moves.VOLT_SWITCH ], - [ 40, Moves.SCARY_FACE ], - [ 48, Moves.THUNDER_WAVE ], - [ 56, Moves.CRUNCH ], - [ 64, Moves.DISCHARGE ], - [ 72, Moves.SWAGGER ], - [ 80, Moves.WILD_CHARGE ], - ], - [Species.BUDEW]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.WORRY_SEED ], - ], - [Species.ROSERADE]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.ABSORB ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.GROWTH ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.PETAL_DANCE ], - [ 1, Moves.TOXIC ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.SYNTHESIS ], - [ 1, Moves.INGRAIN ], - [ 1, Moves.AROMATHERAPY ], - [ 1, Moves.MAGICAL_LEAF ], - [ 1, Moves.WORRY_SEED ], - [ 1, Moves.TOXIC_SPIKES ], - [ 1, Moves.PETAL_BLIZZARD ], - [ 1, Moves.GRASSY_TERRAIN ], - [ 1, Moves.VENOM_DRENCH ], - ], - [Species.CRANIDOS]: [ - [ 1, Moves.HEADBUTT ], - [ 1, Moves.LEER ], - [ 6, Moves.FOCUS_ENERGY ], - [ 10, Moves.PURSUIT ], - [ 15, Moves.TAKE_DOWN ], - [ 19, Moves.SCARY_FACE ], - [ 24, Moves.ASSURANCE ], - [ 28, Moves.CHIP_AWAY ], - [ 33, Moves.ANCIENT_POWER ], - [ 37, Moves.ZEN_HEADBUTT ], - [ 42, Moves.SCREECH ], - [ 46, Moves.HEAD_SMASH ], - ], - [Species.RAMPARDOS]: [ - [ EVOLVE_MOVE, Moves.ENDEAVOR ], - [ 1, Moves.HEADBUTT ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.PURSUIT ], - [ 15, Moves.TAKE_DOWN ], - [ 19, Moves.SCARY_FACE ], - [ 24, Moves.ASSURANCE ], - [ 28, Moves.CHIP_AWAY ], - [ 36, Moves.ANCIENT_POWER ], - [ 43, Moves.ZEN_HEADBUTT ], - [ 51, Moves.SCREECH ], - [ 58, Moves.HEAD_SMASH ], - ], - [Species.SHIELDON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 6, Moves.TAUNT ], - [ 10, Moves.METAL_SOUND ], - [ 15, Moves.TAKE_DOWN ], - [ 19, Moves.IRON_DEFENSE ], - [ 24, Moves.SWAGGER ], - [ 28, Moves.ANCIENT_POWER ], - [ 33, Moves.ENDURE ], - [ 37, Moves.METAL_BURST ], - [ 42, Moves.IRON_HEAD ], - [ 46, Moves.HEAVY_SLAM ], - ], - [Species.BASTIODON]: [ - [ EVOLVE_MOVE, Moves.BLOCK ], - [ RELEARN_MOVE, Moves.WIDE_GUARD ], - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.TAUNT ], - [ 1, Moves.METAL_SOUND ], - [ 15, Moves.TAKE_DOWN ], - [ 19, Moves.IRON_DEFENSE ], - [ 24, Moves.SWAGGER ], - [ 28, Moves.ANCIENT_POWER ], - [ 36, Moves.ENDURE ], - [ 43, Moves.METAL_BURST ], - [ 51, Moves.IRON_HEAD ], - [ 58, Moves.HEAVY_SLAM ], - ], - [Species.BURMY]: [ - [ 1, Moves.PROTECT ], - [ 1, Moves.STRUGGLE_BUG ], // Custom - [ 10, Moves.TACKLE ], - [ 15, Moves.BUG_BITE ], - [ 20, Moves.STRING_SHOT ], - ], - [Species.WORMADAM]: [ - [ EVOLVE_MOVE, Moves.QUIVER_DANCE ], - [ 1, Moves.STRUGGLE_BUG ], // Previous Stage Move, Custom - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SUCKER_PUNCH ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.PROTECT ], - [ 10, Moves.TACKLE ], - [ 20, Moves.STRING_SHOT ], - [ 23, Moves.CONFUSION ], - [ 26, Moves.RAZOR_LEAF ], - [ 29, Moves.GROWTH ], - [ 32, Moves.PSYBEAM ], - [ 35, Moves.INFESTATION ], - [ 38, Moves.FLAIL ], - [ 41, Moves.ATTRACT ], - [ 44, Moves.PSYCHIC ], - [ 47, Moves.LEAF_STORM ], - [ 50, Moves.BUG_BUZZ ], - ], - [Species.MOTHIM]: [ - [ EVOLVE_MOVE, Moves.QUIVER_DANCE ], - [ 1, Moves.STRUGGLE_BUG ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.BUG_BITE ], - [ 10, Moves.PROTECT ], - [ 15, Moves.BUG_BITE ], - [ 20, Moves.STRING_SHOT ], - [ 23, Moves.CONFUSION ], - [ 26, Moves.GUST ], - [ 29, Moves.POISON_POWDER ], - [ 32, Moves.PSYBEAM ], - [ 35, Moves.ROOST ], - [ 38, Moves.STRUGGLE_BUG ], - [ 41, Moves.AIR_SLASH ], - [ 44, Moves.PSYCHIC ], - [ 47, Moves.LUNGE ], - [ 50, Moves.BUG_BUZZ ], - ], - [Species.COMBEE]: [ - [ 1, Moves.GUST ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.STRUGGLE_BUG ], - ], - [Species.VESPIQUEN]: [ - [ EVOLVE_MOVE, Moves.SLASH ], - [ 1, Moves.GUST ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.STRUGGLE_BUG ], - [ 4, Moves.FURY_CUTTER ], - [ 8, Moves.AROMATIC_MIST ], - [ 12, Moves.FELL_STINGER ], - [ 16, Moves.FURY_SWIPES ], - [ 20, Moves.SWAGGER ], - [ 24, Moves.ROOST ], - [ 28, Moves.AIR_SLASH ], - [ 32, Moves.POWER_GEM ], - [ 36, Moves.TOXIC ], - [ 40, Moves.ATTACK_ORDER ], - [ 40, Moves.DEFEND_ORDER ], - [ 40, Moves.HEAL_ORDER ], - [ 44, Moves.DESTINY_BOND ], - ], - [Species.PACHIRISU]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.BIDE ], - [ 5, Moves.QUICK_ATTACK ], - [ 9, Moves.CHARM ], - [ 13, Moves.SPARK ], - [ 17, Moves.ENDURE ], - [ 19, Moves.NUZZLE ], - [ 21, Moves.SWIFT ], - [ 25, Moves.ELECTRO_BALL ], - [ 29, Moves.SWEET_KISS ], - [ 33, Moves.THUNDER_WAVE ], - [ 37, Moves.SUPER_FANG ], - [ 41, Moves.DISCHARGE ], - [ 45, Moves.LAST_RESORT ], - [ 49, Moves.THUNDER ], - ], - [Species.BUIZEL]: [ - [ 1, Moves.TACKLE ], - [ 4, Moves.GROWL ], - [ 7, Moves.SOAK ], - [ 11, Moves.QUICK_ATTACK ], - [ 15, Moves.WATER_GUN ], - [ 18, Moves.BITE ], - [ 21, Moves.SWIFT ], - [ 24, Moves.AQUA_JET ], - [ 27, Moves.DOUBLE_HIT ], - [ 31, Moves.WHIRLPOOL ], - [ 35, Moves.LIQUIDATION ], - [ 38, Moves.AQUA_TAIL ], - [ 41, Moves.AGILITY ], - [ 45, Moves.HYDRO_PUMP ], - [ 49, Moves.WAVE_CRASH ], - ], - [Species.FLOATZEL]: [ - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.GROWL ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.SOAK ], - [ 15, Moves.WATER_GUN ], - [ 18, Moves.BITE ], - [ 21, Moves.SWIFT ], - [ 24, Moves.AQUA_JET ], - [ 29, Moves.DOUBLE_HIT ], - [ 35, Moves.WHIRLPOOL ], - [ 41, Moves.LIQUIDATION ], - [ 46, Moves.AQUA_TAIL ], - [ 51, Moves.AGILITY ], - [ 57, Moves.HYDRO_PUMP ], - [ 62, Moves.WAVE_CRASH ], - ], - [Species.CHERUBI]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.MORNING_SUN ], - [ 5, Moves.LEAFAGE ], - [ 10, Moves.GROWTH ], - [ 15, Moves.HELPING_HAND ], - [ 20, Moves.MAGICAL_LEAF ], - [ 26, Moves.LEECH_SEED ], - [ 30, Moves.TAKE_DOWN ], - [ 35, Moves.PETAL_BLIZZARD ], - [ 40, Moves.WORRY_SEED ], - [ 45, Moves.SOLAR_BEAM ], - ], - [Species.CHERRIM]: [ - [ EVOLVE_MOVE, Moves.SUNNY_DAY ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWTH ], - [ 1, Moves.MORNING_SUN ], - [ 1, Moves.FLOWER_SHIELD ], - [ 1, Moves.LEAFAGE ], - [ 15, Moves.HELPING_HAND ], - [ 20, Moves.MAGICAL_LEAF ], - [ 28, Moves.LEECH_SEED ], - [ 34, Moves.TAKE_DOWN ], - [ 41, Moves.PETAL_BLIZZARD ], - [ 48, Moves.WORRY_SEED ], - [ 55, Moves.SOLAR_BEAM ], - [ 62, Moves.PETAL_DANCE ], - ], - [Species.SHELLOS]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.MUD_SLAP ], - [ 5, Moves.HARDEN ], - [ 10, Moves.RECOVER ], - [ 15, Moves.WATER_PULSE ], - [ 20, Moves.ANCIENT_POWER ], - [ 25, Moves.BODY_SLAM ], - [ 31, Moves.MUDDY_WATER ], - [ 35, Moves.EARTH_POWER ], - [ 40, Moves.RAIN_DANCE ], - [ 45, Moves.MEMENTO ], - ], - [Species.GASTRODON]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.RECOVER ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.MUD_SPORT ], - [ 15, Moves.WATER_PULSE ], - [ 20, Moves.ANCIENT_POWER ], - [ 25, Moves.BODY_SLAM ], - [ 33, Moves.MUDDY_WATER ], - [ 39, Moves.EARTH_POWER ], - [ 46, Moves.RAIN_DANCE ], - [ 53, Moves.MEMENTO ], - ], - [Species.AMBIPOM]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.ASTONISH ], - [ 11, Moves.BATON_PASS ], - [ 15, Moves.TICKLE ], - [ 18, Moves.FURY_SWIPES ], - [ 22, Moves.SWIFT ], - [ 25, Moves.SCREECH ], - [ 29, Moves.AGILITY ], - [ 32, Moves.DOUBLE_HIT ], - [ 36, Moves.FLING ], - [ 39, Moves.NASTY_PLOT ], - [ 43, Moves.LAST_RESORT ], - ], - [Species.DRIFLOON]: [ - [ 1, Moves.MINIMIZE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.CONSTRICT ], - [ 4, Moves.GUST ], - [ 8, Moves.FOCUS_ENERGY ], - [ 12, Moves.PAYBACK ], - [ 16, Moves.HEX ], - [ 20, Moves.SHADOW_BALL ], - [ 24, Moves.STOCKPILE ], - [ 24, Moves.SPIT_UP ], - [ 24, Moves.SWALLOW ], - [ 29, Moves.SELF_DESTRUCT ], - [ 32, Moves.DESTINY_BOND ], - [ 36, Moves.BATON_PASS ], - [ 40, Moves.TAILWIND ], - [ 44, Moves.EXPLOSION ], - ], - [Species.DRIFBLIM]: [ - [ EVOLVE_MOVE, Moves.PHANTOM_FORCE ], - [ 1, Moves.GUST ], - [ 1, Moves.MINIMIZE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.CONSTRICT ], - [ 1, Moves.STRENGTH_SAP ], - [ 12, Moves.PAYBACK ], - [ 16, Moves.HEX ], - [ 20, Moves.SHADOW_BALL ], - [ 24, Moves.STOCKPILE ], - [ 24, Moves.SPIT_UP ], - [ 24, Moves.SWALLOW ], - [ 31, Moves.SELF_DESTRUCT ], - [ 36, Moves.DESTINY_BOND ], - [ 42, Moves.BATON_PASS ], - [ 48, Moves.TAILWIND ], - [ 54, Moves.EXPLOSION ], - ], - [Species.BUNEARY]: [ - [ 1, Moves.FRUSTRATION ], - [ 1, Moves.POUND ], - [ 1, Moves.SPLASH ], - [ 4, Moves.DEFENSE_CURL ], - [ 8, Moves.BABY_DOLL_EYES ], - [ 12, Moves.AFTER_YOU ], - [ 16, Moves.QUICK_ATTACK ], - [ 20, Moves.DOUBLE_KICK ], - [ 24, Moves.CHARM ], - [ 28, Moves.BATON_PASS ], - [ 32, Moves.HEADBUTT ], - [ 36, Moves.AGILITY ], - [ 40, Moves.ENTRAINMENT ], - [ 44, Moves.FLATTER ], - [ 48, Moves.BOUNCE ], - [ 52, Moves.HEALING_WISH ], - ], - [Species.LOPUNNY]: [ - [ EVOLVE_MOVE, Moves.RETURN ], - [ 1, Moves.FRUSTRATION ], // Previous Stage Move - [ 1, Moves.POUND ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.SPLASH ], - [ 1, Moves.MIRROR_COAT ], - [ 1, Moves.MAGIC_COAT ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 1, Moves.ROTOTILLER ], - [ 12, Moves.AFTER_YOU ], - [ 16, Moves.QUICK_ATTACK ], - [ 20, Moves.DOUBLE_KICK ], - [ 24, Moves.CHARM ], - [ 28, Moves.BATON_PASS ], - [ 32, Moves.HEADBUTT ], - [ 36, Moves.AGILITY ], - [ 40, Moves.ENTRAINMENT ], - [ 44, Moves.FLATTER ], - [ 48, Moves.BOUNCE ], - [ 52, Moves.HEALING_WISH ], - [ 56, Moves.HIGH_JUMP_KICK ], - ], - [Species.MISMAGIUS]: [ + [SpeciesId.SMEARGLE]: [ + [ 1, MoveId.SKETCH ], + [ 11, MoveId.SKETCH ], + [ 21, MoveId.SKETCH ], + [ 31, MoveId.SKETCH ], + [ 41, MoveId.SKETCH ], + [ 51, MoveId.SKETCH ], + [ 61, MoveId.SKETCH ], + [ 71, MoveId.SKETCH ], + [ 81, MoveId.SKETCH ], + [ 91, MoveId.SKETCH ], + ], + [SpeciesId.TYROGUE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.HELPING_HAND ], + [ 10, MoveId.LOW_SWEEP ], // Custom + [ 10, MoveId.MACH_PUNCH ], // Custom + [ 10, MoveId.RAPID_SPIN ], // Custom + ], + [SpeciesId.HITMONTOP]: [ + [ EVOLVE_MOVE, MoveId.TRIPLE_KICK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.PURSUIT ], + [ 1, MoveId.ROLLING_KICK ], + [ 1, MoveId.LOW_SWEEP ], // Previous Stage Move, Custom + [ 1, MoveId.MACH_PUNCH ], // Previous Stage Move, Custom + [ 4, MoveId.QUICK_ATTACK ], + [ 8, MoveId.GYRO_BALL ], + [ 12, MoveId.DETECT ], + [ 16, MoveId.REVENGE ], + [ 21, MoveId.WIDE_GUARD ], + [ 21, MoveId.QUICK_GUARD ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.AGILITY ], + [ 32, MoveId.DIG ], + [ 36, MoveId.CLOSE_COMBAT ], + [ 40, MoveId.COUNTER ], + [ 44, MoveId.ENDEAVOR ], + ], + [SpeciesId.SMOOCHUM]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.LICK ], + [ 4, MoveId.POWDER_SNOW ], + [ 8, MoveId.COPYCAT ], + [ 12, MoveId.CONFUSION ], + [ 16, MoveId.COVET ], + [ 20, MoveId.SING ], + [ 24, MoveId.FAKE_TEARS ], + [ 28, MoveId.ICE_PUNCH ], + [ 32, MoveId.PSYCHIC ], + [ 36, MoveId.SWEET_KISS ], + [ 40, MoveId.MEAN_LOOK ], + [ 44, MoveId.PERISH_SONG ], + [ 48, MoveId.BLIZZARD ], + ], + [SpeciesId.ELEKID]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 4, MoveId.THUNDER_SHOCK ], + [ 8, MoveId.CHARGE ], + [ 12, MoveId.SWIFT ], + [ 16, MoveId.SHOCK_WAVE ], + [ 20, MoveId.THUNDER_WAVE ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.THUNDER_PUNCH ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.LOW_KICK ], + [ 40, MoveId.THUNDERBOLT ], + [ 44, MoveId.LIGHT_SCREEN ], + [ 48, MoveId.THUNDER ], + ], + [SpeciesId.MAGBY]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.SMOG ], + [ 4, MoveId.EMBER ], + [ 8, MoveId.SMOKESCREEN ], + [ 12, MoveId.CLEAR_SMOG ], + [ 16, MoveId.FLAME_WHEEL ], + [ 20, MoveId.CONFUSE_RAY ], + [ 24, MoveId.SCARY_FACE ], + [ 28, MoveId.FIRE_PUNCH ], + [ 32, MoveId.LAVA_PLUME ], + [ 36, MoveId.LOW_KICK ], + [ 40, MoveId.FLAMETHROWER ], + [ 44, MoveId.SUNNY_DAY ], + [ 48, MoveId.FIRE_BLAST ], + ], + [SpeciesId.MILTANK]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.ROLLOUT ], + [ 10, MoveId.DEFENSE_CURL ], + [ 15, MoveId.STOMP ], + [ 20, MoveId.HEAL_BELL ], + [ 25, MoveId.HEADBUTT ], + [ 30, MoveId.ZEN_HEADBUTT ], + [ 35, MoveId.MILK_DRINK ], + [ 40, MoveId.BODY_SLAM ], + [ 45, MoveId.PLAY_ROUGH ], + [ 50, MoveId.CHARM ], + [ 55, MoveId.HIGH_HORSEPOWER ], + ], + [SpeciesId.BLISSEY]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.DISARMING_VOICE ], + [ 4, MoveId.TAIL_WHIP ], + [ 8, MoveId.ECHOED_VOICE ], + [ 12, MoveId.LIFE_DEW ], + [ 16, MoveId.SING ], + [ 20, MoveId.FLING ], + [ 24, MoveId.TAKE_DOWN ], + [ 28, MoveId.HEAL_PULSE ], + [ 32, MoveId.HELPING_HAND ], + [ 36, MoveId.LIGHT_SCREEN ], + [ 40, MoveId.DOUBLE_EDGE ], + [ 44, MoveId.SOFT_BOILED ], + [ 48, MoveId.LAST_RESORT ], + [ 52, MoveId.HEALING_WISH ], + ], + [SpeciesId.RAIKOU]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.EXTREME_SPEED ], + [ 1, MoveId.CHARGE ], + [ 6, MoveId.SPARK ], + [ 12, MoveId.BITE ], + [ 18, MoveId.CALM_MIND ], + [ 24, MoveId.ROAR ], + [ 30, MoveId.THUNDER_FANG ], + [ 36, MoveId.HOWL ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.EXTRASENSORY ], + [ 54, MoveId.DISCHARGE ], + [ 60, MoveId.REFLECT ], + [ 66, MoveId.RAIN_DANCE ], + [ 72, MoveId.THUNDER ], + [ 78, MoveId.ZAP_CANNON ], + ], + [SpeciesId.ENTEI]: [ + [ RELEARN_MOVE, MoveId.SACRED_FIRE ], + [ RELEARN_MOVE, MoveId.EXTREME_SPEED ], + [ 1, MoveId.STOMP ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 6, MoveId.FLAME_WHEEL ], + [ 12, MoveId.BITE ], + [ 18, MoveId.CALM_MIND ], + [ 24, MoveId.ROAR ], + [ 30, MoveId.FIRE_FANG ], + [ 36, MoveId.SCARY_FACE ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.EXTRASENSORY ], + [ 54, MoveId.LAVA_PLUME ], + [ 60, MoveId.SWAGGER ], + [ 66, MoveId.SUNNY_DAY ], + [ 72, MoveId.FIRE_BLAST ], + [ 78, MoveId.ERUPTION ], + ], + [SpeciesId.SUICUNE]: [ + [ RELEARN_MOVE, MoveId.EXTREME_SPEED ], + [ RELEARN_MOVE, MoveId.SHEER_COLD ], + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 1, MoveId.MIST ], + [ 1, MoveId.WATER_GUN ], + [ 6, MoveId.WATER_PULSE ], + [ 12, MoveId.BITE ], + [ 18, MoveId.CALM_MIND ], + [ 24, MoveId.ROAR ], + [ 30, MoveId.ICE_FANG ], + [ 36, MoveId.TAILWIND ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.EXTRASENSORY ], + [ 54, MoveId.SURF ], + [ 60, MoveId.MIRROR_COAT ], + [ 66, MoveId.RAIN_DANCE ], + [ 72, MoveId.HYDRO_PUMP ], + [ 78, MoveId.BLIZZARD ], + ], + [SpeciesId.LARVITAR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 3, MoveId.ROCK_THROW ], + [ 6, MoveId.PAYBACK ], + [ 9, MoveId.BITE ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.ROCK_SLIDE ], + [ 18, MoveId.STOMPING_TANTRUM ], + [ 21, MoveId.SCREECH ], + [ 24, MoveId.SMACK_DOWN ], + [ 27, MoveId.CRUNCH ], + [ 31, MoveId.EARTHQUAKE ], + [ 33, MoveId.STONE_EDGE ], + [ 36, MoveId.THRASH ], + [ 39, MoveId.SANDSTORM ], + [ 42, MoveId.HYPER_BEAM ], + ], + [SpeciesId.PUPITAR]: [ + [ EVOLVE_MOVE, MoveId.IRON_DEFENSE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.PAYBACK ], + [ 9, MoveId.BITE ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.ROCK_SLIDE ], + [ 18, MoveId.STOMPING_TANTRUM ], + [ 21, MoveId.SCREECH ], + [ 24, MoveId.SMACK_DOWN ], + [ 27, MoveId.CRUNCH ], + [ 33, MoveId.EARTHQUAKE ], + [ 37, MoveId.STONE_EDGE ], + [ 42, MoveId.THRASH ], + [ 47, MoveId.SANDSTORM ], + [ 52, MoveId.HYPER_BEAM ], + ], + [SpeciesId.TYRANITAR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.PAYBACK ], + [ 1, MoveId.DARK_PULSE ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 9, MoveId.BITE ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.ROCK_SLIDE ], + [ 18, MoveId.STOMPING_TANTRUM ], + [ 21, MoveId.SCREECH ], + [ 24, MoveId.SMACK_DOWN ], + [ 27, MoveId.CRUNCH ], + [ 33, MoveId.EARTHQUAKE ], + [ 37, MoveId.STONE_EDGE ], + [ 42, MoveId.THRASH ], + [ 47, MoveId.SANDSTORM ], + [ 52, MoveId.HYPER_BEAM ], + [ 59, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.LUGIA]: [ + [ RELEARN_MOVE, MoveId.DRAGON_RUSH ], + [ 1, MoveId.GUST ], + [ 1, MoveId.WHIRLWIND ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.WEATHER_BALL ], + [ 9, MoveId.MIST ], + [ 18, MoveId.SAFEGUARD ], + [ 27, MoveId.CALM_MIND ], + [ 36, MoveId.EXTRASENSORY ], + [ 45, MoveId.RECOVER ], + [ 54, MoveId.AEROBLAST ], + [ 63, MoveId.RAIN_DANCE ], + [ 72, MoveId.HYDRO_PUMP ], + [ 81, MoveId.FUTURE_SIGHT ], + [ 90, MoveId.SKY_ATTACK ], + ], + [SpeciesId.HO_OH]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.WHIRLWIND ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.WEATHER_BALL ], + [ 9, MoveId.LIFE_DEW ], + [ 18, MoveId.SAFEGUARD ], + [ 27, MoveId.CALM_MIND ], + [ 36, MoveId.EXTRASENSORY ], + [ 45, MoveId.RECOVER ], + [ 54, MoveId.SACRED_FIRE ], + [ 63, MoveId.SUNNY_DAY ], + [ 72, MoveId.FIRE_BLAST ], + [ 81, MoveId.FUTURE_SIGHT ], + [ 90, MoveId.SKY_ATTACK ], + [ 99, MoveId.OVERHEAT ], + ], + [SpeciesId.CELEBI]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.HEAL_BELL ], + [ 10, MoveId.MAGICAL_LEAF ], + [ 20, MoveId.BATON_PASS ], + [ 30, MoveId.ANCIENT_POWER ], + [ 40, MoveId.LIFE_DEW ], + [ 50, MoveId.LEECH_SEED ], + [ 55, MoveId.HEAL_BLOCK ], + [ 60, MoveId.RECOVER ], + [ 70, MoveId.FUTURE_SIGHT ], + [ 80, MoveId.HEALING_WISH ], + [ 90, MoveId.LEAF_STORM ], + [ 100, MoveId.PERISH_SONG ], + ], + [SpeciesId.TREECKO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.LEER ], + [ 3, MoveId.LEAFAGE ], + [ 6, MoveId.QUICK_ATTACK ], + [ 9, MoveId.MEGA_DRAIN ], + [ 12, MoveId.DETECT ], + [ 15, MoveId.QUICK_GUARD ], + [ 18, MoveId.ASSURANCE ], + [ 21, MoveId.GIGA_DRAIN ], + [ 24, MoveId.SLAM ], + [ 27, MoveId.DOUBLE_TEAM ], + [ 30, MoveId.ENERGY_BALL ], + [ 33, MoveId.SCREECH ], + [ 36, MoveId.ENDEAVOR ], + [ 39, MoveId.LEAF_STORM ], + ], + [SpeciesId.GROVYLE]: [ + [ RELEARN_MOVE, MoveId.FALSE_SWIPE ], + [ RELEARN_MOVE, MoveId.FURY_CUTTER ], + [ RELEARN_MOVE, MoveId.X_SCISSOR ], + [ RELEARN_MOVE, MoveId.ENERGY_BALL ], + [ 1, MoveId.POUND ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LEAFAGE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 9, MoveId.MEGA_DRAIN ], + [ 12, MoveId.DETECT ], + [ 15, MoveId.QUICK_GUARD ], + [ 20, MoveId.ASSURANCE ], + [ 25, MoveId.GIGA_DRAIN ], + [ 30, MoveId.SLAM ], + [ 35, MoveId.DOUBLE_TEAM ], + [ 40, MoveId.LEAF_BLADE ], + [ 45, MoveId.SCREECH ], + [ 50, MoveId.ENDEAVOR ], + [ 55, MoveId.LEAF_STORM ], + ], + [SpeciesId.SCEPTILE]: [ + [ EVOLVE_MOVE, MoveId.LEAF_BLADE ], + [ RELEARN_MOVE, MoveId.FALSE_SWIPE ], + [ RELEARN_MOVE, MoveId.FURY_CUTTER ], + [ RELEARN_MOVE, MoveId.X_SCISSOR ], + [ RELEARN_MOVE, MoveId.ENERGY_BALL ], + [ RELEARN_MOVE, MoveId.SHED_TAIL ], + [ 1, MoveId.POUND ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LEAFAGE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DUAL_CHOP ], + [ 5, MoveId.MEGA_DRAIN ], + [ 12, MoveId.DETECT ], + [ 15, MoveId.QUICK_GUARD ], + [ 20, MoveId.ASSURANCE ], + [ 25, MoveId.GIGA_DRAIN ], + [ 30, MoveId.SLAM ], + [ 35, MoveId.DOUBLE_TEAM ], + [ 42, MoveId.SCREECH ], + [ 49, MoveId.ENDEAVOR ], + [ 56, MoveId.LEAF_STORM ], + ], + [SpeciesId.TORCHIC]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.EMBER ], + [ 6, MoveId.QUICK_ATTACK ], + [ 9, MoveId.FLAME_CHARGE ], + [ 12, MoveId.DETECT ], + [ 15, MoveId.SAND_ATTACK ], + [ 18, MoveId.AERIAL_ACE ], + [ 21, MoveId.SLASH ], + [ 24, MoveId.BOUNCE ], + [ 27, MoveId.FOCUS_ENERGY ], + [ 30, MoveId.FLAMETHROWER ], + [ 33, MoveId.FEATHER_DANCE ], + [ 36, MoveId.REVERSAL ], + [ 39, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.COMBUSKEN]: [ + [ EVOLVE_MOVE, MoveId.DOUBLE_KICK ], + [ RELEARN_MOVE, MoveId.FLAMETHROWER ], + [ RELEARN_MOVE, MoveId.FEATHER_DANCE ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 9, MoveId.FLAME_CHARGE ], + [ 12, MoveId.DETECT ], + [ 15, MoveId.SAND_ATTACK ], + [ 20, MoveId.AERIAL_ACE ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.BOUNCE ], + [ 35, MoveId.FOCUS_ENERGY ], + [ 40, MoveId.BLAZE_KICK ], + [ 45, MoveId.BULK_UP ], + [ 50, MoveId.REVERSAL ], + [ 55, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.BLAZIKEN]: [ + [ EVOLVE_MOVE, MoveId.BLAZE_KICK ], + [ RELEARN_MOVE, MoveId.FIRE_PUNCH ], + [ RELEARN_MOVE, MoveId.EMBER ], + [ RELEARN_MOVE, MoveId.FLAMETHROWER ], + [ RELEARN_MOVE, MoveId.FEATHER_DANCE ], + [ 1, MoveId.DOUBLE_KICK ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.QUICK_ATTACK ], + [ 9, MoveId.FLAME_CHARGE ], + [ 12, MoveId.DETECT ], + [ 15, MoveId.SAND_ATTACK ], + [ 20, MoveId.AERIAL_ACE ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.BOUNCE ], + [ 35, MoveId.FOCUS_ENERGY ], + [ 42, MoveId.BULK_UP ], + [ 49, MoveId.REVERSAL ], + [ 56, MoveId.FLARE_BLITZ ], + [ 63, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.MUDKIP]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.WATER_GUN ], + [ 6, MoveId.ROCK_SMASH ], + [ 9, MoveId.ROCK_THROW ], + [ 12, MoveId.PROTECT ], + [ 15, MoveId.SUPERSONIC ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.ROCK_SLIDE ], + [ 24, MoveId.TAKE_DOWN ], + [ 27, MoveId.AMNESIA ], + [ 30, MoveId.SURF ], + [ 33, MoveId.SCREECH ], + [ 36, MoveId.ENDEAVOR ], + [ 39, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.MARSHTOMP]: [ + [ EVOLVE_MOVE, MoveId.MUD_SHOT ], + [ RELEARN_MOVE, MoveId.SURF ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.ROCK_SMASH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 9, MoveId.ROCK_THROW ], + [ 12, MoveId.PROTECT ], + [ 15, MoveId.SUPERSONIC ], + [ 20, MoveId.WATER_PULSE ], + [ 25, MoveId.ROCK_SLIDE ], + [ 30, MoveId.TAKE_DOWN ], + [ 35, MoveId.AMNESIA ], + [ 40, MoveId.MUDDY_WATER ], + [ 45, MoveId.SCREECH ], + [ 50, MoveId.ENDEAVOR ], + [ 55, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.SWAMPERT]: [ + [ RELEARN_MOVE, MoveId.SURF ], + [ RELEARN_MOVE, MoveId.EARTHQUAKE ], + [ RELEARN_MOVE, MoveId.ROCK_SMASH ], + [ RELEARN_MOVE, MoveId.HAMMER_ARM ], + [ 1, MoveId.MUD_SHOT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 9, MoveId.ROCK_THROW ], + [ 12, MoveId.PROTECT ], + [ 15, MoveId.SUPERSONIC ], + [ 20, MoveId.WATER_PULSE ], + [ 25, MoveId.ROCK_SLIDE ], + [ 30, MoveId.TAKE_DOWN ], + [ 35, MoveId.AMNESIA ], + [ 42, MoveId.MUDDY_WATER ], + [ 49, MoveId.SCREECH ], + [ 56, MoveId.ENDEAVOR ], + [ 63, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.POOCHYENA]: [ + [ 1, MoveId.TACKLE ], + [ 4, MoveId.HOWL ], + [ 7, MoveId.SAND_ATTACK ], + [ 10, MoveId.BITE ], + [ 13, MoveId.LEER ], + [ 16, MoveId.ROAR ], + [ 19, MoveId.SWAGGER ], + [ 22, MoveId.ASSURANCE ], + [ 25, MoveId.SCARY_FACE ], + [ 28, MoveId.TAUNT ], + [ 31, MoveId.CRUNCH ], + [ 34, MoveId.YAWN ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.MIGHTYENA]: [ + [ EVOLVE_MOVE, MoveId.SNARL ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.THIEF ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 13, MoveId.LEER ], + [ 13, MoveId.HOWL ], + [ 16, MoveId.ROAR ], + [ 20, MoveId.SWAGGER ], + [ 24, MoveId.ASSURANCE ], + [ 28, MoveId.SCARY_FACE ], + [ 36, MoveId.TAUNT ], + [ 44, MoveId.YAWN ], + [ 48, MoveId.TAKE_DOWN ], + [ 52, MoveId.SUCKER_PUNCH ], + [ 56, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.ZIGZAGOON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.SAND_ATTACK ], + [ 6, MoveId.TAIL_WHIP ], + [ 9, MoveId.COVET ], + [ 12, MoveId.HEADBUTT ], + [ 15, MoveId.BABY_DOLL_EYES ], + [ 18, MoveId.PIN_MISSILE ], + [ 21, MoveId.REST ], + [ 24, MoveId.TAKE_DOWN ], + [ 27, MoveId.FLING ], + [ 30, MoveId.FLAIL ], + [ 33, MoveId.BELLY_DRUM ], + [ 36, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.LINOONE]: [ + [ EVOLVE_MOVE, MoveId.SLASH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.PIN_MISSILE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWITCHEROO ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 1, MoveId.ROTOTILLER ], + [ 9, MoveId.COVET ], + [ 12, MoveId.HEADBUTT ], + [ 15, MoveId.HONE_CLAWS ], + [ 18, MoveId.FURY_SWIPES ], + [ 23, MoveId.REST ], + [ 28, MoveId.TAKE_DOWN ], + [ 33, MoveId.FLING ], + [ 38, MoveId.FLAIL ], + [ 43, MoveId.BELLY_DRUM ], + [ 48, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.WURMPLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STRING_SHOT ], + [ 5, MoveId.POISON_STING ], + [ 15, MoveId.BUG_BITE ], + ], + [SpeciesId.SILCOON]: [ + [ EVOLVE_MOVE, MoveId.HARDEN ], + [ RELEARN_MOVE, MoveId.TACKLE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.STRING_SHOT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.POISON_STING ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.BUG_BITE ], // Previous Stage Move + [ 1, MoveId.HARDEN ], + ], + [SpeciesId.BEAUTIFLY]: [ + [ EVOLVE_MOVE, MoveId.GUST ], + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.GUST ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.POISON_STING ], + [ 12, MoveId.ABSORB ], + [ 15, MoveId.STUN_SPORE ], + [ 17, MoveId.MORNING_SUN ], + [ 20, MoveId.AIR_CUTTER ], + [ 22, MoveId.MEGA_DRAIN ], + [ 25, MoveId.LEECH_LIFE ], + [ 27, MoveId.ATTRACT ], + [ 30, MoveId.WHIRLWIND ], + [ 32, MoveId.GIGA_DRAIN ], + [ 35, MoveId.BUG_BUZZ ], + [ 37, MoveId.PROTECT ], + [ 40, MoveId.QUIVER_DANCE ], + ], + [SpeciesId.CASCOON]: [ + [ EVOLVE_MOVE, MoveId.HARDEN ], + [ RELEARN_MOVE, MoveId.TACKLE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.STRING_SHOT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.POISON_STING ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.BUG_BITE ], // Previous Stage Move + [ 1, MoveId.HARDEN ], + ], + [SpeciesId.DUSTOX]: [ + [ EVOLVE_MOVE, MoveId.GUST ], + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.GUST ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.POISON_STING ], + [ 12, MoveId.CONFUSION ], + [ 15, MoveId.POISON_POWDER ], + [ 17, MoveId.MOONLIGHT ], + [ 20, MoveId.VENOSHOCK ], + [ 22, MoveId.PSYBEAM ], + [ 25, MoveId.LEECH_LIFE ], + [ 27, MoveId.LIGHT_SCREEN ], + [ 30, MoveId.WHIRLWIND ], + [ 32, MoveId.TOXIC ], + [ 35, MoveId.BUG_BUZZ ], + [ 37, MoveId.PROTECT ], + [ 40, MoveId.QUIVER_DANCE ], + ], + [SpeciesId.LOTAD]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.ASTONISH ], + [ 3, MoveId.ABSORB ], + [ 6, MoveId.WATER_GUN ], + [ 9, MoveId.MIST ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.FLAIL ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.LEECH_SEED ], + [ 28, MoveId.GIGA_DRAIN ], + [ 33, MoveId.RAIN_DANCE ], + [ 38, MoveId.ZEN_HEADBUTT ], + [ 43, MoveId.ENERGY_BALL ], + ], + [SpeciesId.LOMBRE]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.RAIN_DANCE ], // Previous Stage Move + [ 1, MoveId.KNOCK_OFF ], + [ 1, MoveId.TEETER_DANCE ], + [ 1, MoveId.ASTONISH ], + [ 9, MoveId.MIST ], + [ 12, MoveId.MEGA_DRAIN ], + [ 18, MoveId.FURY_SWIPES ], + [ 24, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.LEECH_SEED ], + [ 36, MoveId.GIGA_DRAIN ], + [ 50, MoveId.ZEN_HEADBUTT ], + [ 57, MoveId.ENERGY_BALL ], + [ 64, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.LUDICOLO]: [ + [ RELEARN_MOVE, MoveId.GROWL ], + [ RELEARN_MOVE, MoveId.MIST ], + [ RELEARN_MOVE, MoveId.WATER_GUN ], + [ RELEARN_MOVE, MoveId.HYDRO_PUMP ], + [ RELEARN_MOVE, MoveId.ABSORB ], + [ RELEARN_MOVE, MoveId.MEGA_DRAIN ], + [ RELEARN_MOVE, MoveId.FURY_SWIPES ], + [ RELEARN_MOVE, MoveId.FLAIL ], + [ RELEARN_MOVE, MoveId.KNOCK_OFF ], + [ RELEARN_MOVE, MoveId.TEETER_DANCE ], + [ RELEARN_MOVE, MoveId.ASTONISH ], + [ RELEARN_MOVE, MoveId.ENERGY_BALL ], + [ RELEARN_MOVE, MoveId.ZEN_HEADBUTT ], + [ RELEARN_MOVE, MoveId.LEECH_SEED ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.GIGA_DRAIN ], // Previous Stage Move + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.BUBBLE_BEAM ], + [ 1, MoveId.RAIN_DANCE ], + ], + [SpeciesId.SEEDOT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.BIDE ], + [ 3, MoveId.ABSORB ], + [ 6, MoveId.ASTONISH ], + [ 9, MoveId.GROWTH ], + [ 12, MoveId.ROLLOUT ], + [ 15, MoveId.MEGA_DRAIN ], + [ 18, MoveId.PAYBACK ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.SUNNY_DAY ], + [ 27, MoveId.SYNTHESIS ], + [ 30, MoveId.SUCKER_PUNCH ], + [ 33, MoveId.EXPLOSION ], + ], + [SpeciesId.NUZLEAF]: [ + [ EVOLVE_MOVE, MoveId.RAZOR_LEAF ], + [ 1, MoveId.AIR_CUTTER ], + [ 1, MoveId.TORMENT ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.SWAGGER ], + [ 1, MoveId.EXPLOSION ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.BIDE ], // Previous Stage Move + [ 1, MoveId.ABSORB ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.HEADBUTT ], // Previous Stage Move + [ 9, MoveId.GROWTH ], + [ 12, MoveId.ROLLOUT ], + [ 18, MoveId.MEGA_DRAIN ], + [ 24, MoveId.PAYBACK ], + [ 30, MoveId.SYNTHESIS ], + [ 36, MoveId.SUNNY_DAY ], + [ 43, MoveId.EXTRASENSORY ], + [ 50, MoveId.SUCKER_PUNCH ], + [ 57, MoveId.LEAF_BLADE ], + ], + [SpeciesId.SHIFTRY]: [ + [ EVOLVE_MOVE, MoveId.LEAF_BLADE ], + [ RELEARN_MOVE, MoveId.WHIRLWIND ], + [ RELEARN_MOVE, MoveId.TACKLE ], + [ RELEARN_MOVE, MoveId.BIDE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.ABSORB ], + [ RELEARN_MOVE, MoveId.MEGA_DRAIN ], + [ RELEARN_MOVE, MoveId.GROWTH ], + [ RELEARN_MOVE, MoveId.RAZOR_LEAF ], + [ RELEARN_MOVE, MoveId.HARDEN ], + [ RELEARN_MOVE, MoveId.HEADBUTT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.EXPLOSION ], + [ RELEARN_MOVE, MoveId.ROLLOUT ], + [ RELEARN_MOVE, MoveId.SWAGGER ], + [ RELEARN_MOVE, MoveId.SYNTHESIS ], + [ RELEARN_MOVE, MoveId.BEAT_UP ], + [ RELEARN_MOVE, MoveId.FAKE_OUT ], + [ RELEARN_MOVE, MoveId.TORMENT ], + [ RELEARN_MOVE, MoveId.ASTONISH ], + [ RELEARN_MOVE, MoveId.EXTRASENSORY ], + [ RELEARN_MOVE, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.AIR_CUTTER ], + [ 1, MoveId.HURRICANE ], + [ 1, MoveId.PAYBACK ], + [ 1, MoveId.SUNNY_DAY ], + ], + [SpeciesId.TAILLOW]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.FOCUS_ENERGY ], + [ 9, MoveId.QUICK_ATTACK ], + [ 13, MoveId.WING_ATTACK ], + [ 17, MoveId.DOUBLE_TEAM ], + [ 21, MoveId.AERIAL_ACE ], + [ 25, MoveId.QUICK_GUARD ], + [ 29, MoveId.AGILITY ], + [ 33, MoveId.AIR_SLASH ], + [ 37, MoveId.ENDEAVOR ], + [ 41, MoveId.BRAVE_BIRD ], + [ 45, MoveId.REVERSAL ], + ], + [SpeciesId.SWELLOW]: [ + [ 1, MoveId.BRAVE_BIRD ], + [ 1, MoveId.AIR_SLASH ], + [ 1, MoveId.PLUCK ], + [ 1, MoveId.PECK ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.QUICK_ATTACK ], + [ 13, MoveId.WING_ATTACK ], + [ 17, MoveId.DOUBLE_TEAM ], + [ 21, MoveId.AERIAL_ACE ], + [ 27, MoveId.QUICK_GUARD ], + [ 33, MoveId.AGILITY ], + [ 45, MoveId.ENDEAVOR ], + [ 51, MoveId.BRAVE_BIRD ], + [ 57, MoveId.REVERSAL ], + ], + [SpeciesId.WINGULL]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 5, MoveId.QUICK_ATTACK ], + [ 10, MoveId.SUPERSONIC ], + [ 15, MoveId.WING_ATTACK ], + [ 20, MoveId.WATER_PULSE ], + [ 26, MoveId.AGILITY ], + [ 30, MoveId.AIR_SLASH ], + [ 35, MoveId.MIST ], + [ 40, MoveId.ROOST ], + [ 45, MoveId.HURRICANE ], + ], + [SpeciesId.PELIPPER]: [ + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SOAK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.AIR_SLASH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.TAILWIND ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_SPORT ], + [ 15, MoveId.WING_ATTACK ], + [ 20, MoveId.WATER_PULSE ], + [ 28, MoveId.STOCKPILE ], + [ 28, MoveId.SPIT_UP ], + [ 28, MoveId.SWALLOW ], + [ 34, MoveId.FLING ], + [ 41, MoveId.MIST ], + [ 48, MoveId.ROOST ], + [ 55, MoveId.HURRICANE ], + [ 62, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.RALTS]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.DISARMING_VOICE ], + [ 3, MoveId.DOUBLE_TEAM ], + [ 6, MoveId.CONFUSION ], + [ 9, MoveId.HYPNOSIS ], + [ 12, MoveId.DRAINING_KISS ], + [ 15, MoveId.TELEPORT ], + [ 18, MoveId.PSYBEAM ], + [ 21, MoveId.LIFE_DEW ], + [ 24, MoveId.CHARM ], + [ 27, MoveId.CALM_MIND ], + [ 30, MoveId.PSYCHIC ], + [ 33, MoveId.HEAL_PULSE ], + [ 36, MoveId.DREAM_EATER ], + [ 39, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.KIRLIA]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.CONFUSION ], + [ 9, MoveId.HYPNOSIS ], + [ 12, MoveId.DRAINING_KISS ], + [ 15, MoveId.TELEPORT ], + [ 18, MoveId.PSYBEAM ], + [ 23, MoveId.LIFE_DEW ], + [ 28, MoveId.CHARM ], + [ 33, MoveId.CALM_MIND ], + [ 38, MoveId.PSYCHIC ], + [ 43, MoveId.HEAL_PULSE ], + [ 48, MoveId.DREAM_EATER ], + [ 53, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.GARDEVOIR]: [ + [ EVOLVE_MOVE, MoveId.DAZZLING_GLEAM ], + [ 1, MoveId.MISTY_TERRAIN ], + [ 1, MoveId.HEALING_WISH ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.MYSTICAL_FIRE ], + [ 1, MoveId.HEAL_PULSE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.CONFUSION ], + [ 9, MoveId.HYPNOSIS ], + [ 12, MoveId.DRAINING_KISS ], + [ 15, MoveId.TELEPORT ], + [ 18, MoveId.PSYBEAM ], + [ 23, MoveId.LIFE_DEW ], + [ 28, MoveId.WISH ], + [ 35, MoveId.CALM_MIND ], + [ 42, MoveId.PSYCHIC ], + [ 49, MoveId.MOONBLAST ], + [ 56, MoveId.DREAM_EATER ], + [ 63, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.SURSKIT]: [ + [ 1, MoveId.WATER_GUN ], + [ 6, MoveId.QUICK_ATTACK ], + [ 9, MoveId.SWEET_SCENT ], + [ 14, MoveId.SOAK ], + [ 17, MoveId.BUBBLE_BEAM ], + [ 22, MoveId.AGILITY ], + [ 25, MoveId.MIST ], + [ 25, MoveId.HAZE ], + [ 35, MoveId.BATON_PASS ], + [ 38, MoveId.STICKY_WEB ], + ], + [SpeciesId.MASQUERAIN]: [ + [ RELEARN_MOVE, MoveId.BATON_PASS ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.STICKY_WEB ], // Previous Stage Move + [ 1, MoveId.WHIRLWIND ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.SOAK ], + [ 1, MoveId.BUBBLE_BEAM ], // Previous Stage Move + [ 1, MoveId.AGILITY ], // Previous Stage Move + [ 1, MoveId.MIST ], // Previous Stage Move + [ 1, MoveId.HAZE ], // Previous Stage Move + [ 1, MoveId.OMINOUS_WIND ], + [ 17, MoveId.GUST ], + [ 22, MoveId.SCARY_FACE ], + [ 22, MoveId.AIR_CUTTER ], + [ 26, MoveId.STUN_SPORE ], + [ 32, MoveId.AIR_SLASH ], + [ 38, MoveId.GIGA_DRAIN ], + [ 44, MoveId.BUG_BUZZ ], + [ 52, MoveId.QUIVER_DANCE ], + ], + [SpeciesId.SHROOMISH]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.TACKLE ], + [ 5, MoveId.STUN_SPORE ], + [ 8, MoveId.LEECH_SEED ], + [ 12, MoveId.MEGA_DRAIN ], + [ 15, MoveId.HEADBUTT ], + [ 19, MoveId.POISON_POWDER ], + [ 26, MoveId.GIGA_DRAIN ], + [ 29, MoveId.GROWTH ], + [ 33, MoveId.TOXIC ], + [ 36, MoveId.SEED_BOMB ], + [ 40, MoveId.SPORE ], + ], + [SpeciesId.BRELOOM]: [ + [ EVOLVE_MOVE, MoveId.MACH_PUNCH ], + [ RELEARN_MOVE, MoveId.SPORE ], + [ 1, MoveId.POISON_POWDER ], + [ 1, MoveId.GIGA_DRAIN ], // Previous Stage Move + [ 1, MoveId.GROWTH ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.LEECH_SEED ], + [ 12, MoveId.MEGA_DRAIN ], + [ 15, MoveId.HEADBUTT ], + [ 19, MoveId.FEINT ], + [ 22, MoveId.COUNTER ], + [ 28, MoveId.FORCE_PALM ], + [ 33, MoveId.WORRY_SEED ], + [ 39, MoveId.BRICK_BREAK ], + [ 44, MoveId.SEED_BOMB ], + [ 50, MoveId.DYNAMIC_PUNCH ], + [ 55, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.SLAKOTH]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.YAWN ], + [ 6, MoveId.ENCORE ], + [ 9, MoveId.SLACK_OFF ], + [ 14, MoveId.HEADBUTT ], + [ 17, MoveId.AMNESIA ], + [ 22, MoveId.COVET ], + [ 25, MoveId.THROAT_CHOP ], + [ 30, MoveId.COUNTER ], + [ 33, MoveId.FLAIL ], + [ 38, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.VIGOROTH]: [ + [ RELEARN_MOVE, MoveId.PLAY_ROUGH ], // Previous Stage Move + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.YAWN ], // Previous Stage Move + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.SLACK_OFF ], // Previous Stage Move + [ 1, MoveId.ENCORE ], + [ 1, MoveId.HEADBUTT ], // Previous Stage Move + [ 1, MoveId.AMNESIA ], // Previous Stage Move + [ 1, MoveId.COVET ], // Previous Stage Move + [ 1, MoveId.FLAIL ], // Previous Stage Move + [ 1, MoveId.UPROAR ], + [ 14, MoveId.FURY_SWIPES ], + [ 17, MoveId.ENDURE ], + [ 23, MoveId.SLASH ], + [ 27, MoveId.THROAT_CHOP ], + [ 33, MoveId.COUNTER ], + [ 37, MoveId.FOCUS_PUNCH ], + [ 43, MoveId.REVERSAL ], + ], + [SpeciesId.SLAKING]: [ + [ EVOLVE_MOVE, MoveId.SWAGGER ], + [ RELEARN_MOVE, MoveId.PLAY_ROUGH ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.FOCUS_PUNCH ], // Previous Stage Move + [ 1, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.YAWN ], + [ 1, MoveId.FOCUS_ENERGY ], // Previous Stage Move + [ 1, MoveId.ENCORE ], + [ 1, MoveId.SLACK_OFF ], + [ 1, MoveId.UPROAR ], // Previous Stage Move + [ 1, MoveId.FURY_SWIPES ], // Previous Stage Move + [ 1, MoveId.ENDURE ], // Previous Stage Move + [ 1, MoveId.HEADBUTT ], // Previous Stage Move + [ 1, MoveId.SLASH ], // Previous Stage Move + [ 1, MoveId.REVERSAL ], // Previous Stage Move + [ 17, MoveId.AMNESIA ], + [ 23, MoveId.COVET ], + [ 27, MoveId.THROAT_CHOP ], + [ 33, MoveId.COUNTER ], + [ 39, MoveId.FLAIL ], + [ 45, MoveId.FLING ], + [ 52, MoveId.MEGA_KICK ], + [ 63, MoveId.HAMMER_ARM ], + ], + [SpeciesId.NINCADA]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 5, MoveId.HARDEN ], + [ 10, MoveId.FALSE_SWIPE ], + [ 15, MoveId.MUD_SLAP ], + [ 21, MoveId.ABSORB ], + [ 25, MoveId.METAL_CLAW ], + [ 30, MoveId.FURY_SWIPES ], + [ 35, MoveId.MIND_READER ], + [ 40, MoveId.DIG ], + ], + [SpeciesId.NINJASK]: [ + [ EVOLVE_MOVE, MoveId.DOUBLE_TEAM ], + [ EVOLVE_MOVE, MoveId.SCREECH ], + [ EVOLVE_MOVE, MoveId.FURY_CUTTER ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.AERIAL_ACE ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.DIG ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.FALSE_SWIPE ], + [ 15, MoveId.AGILITY ], + [ 23, MoveId.ABSORB ], + [ 29, MoveId.BUG_BITE ], + [ 36, MoveId.FURY_SWIPES ], + [ 43, MoveId.MIND_READER ], + [ 50, MoveId.SLASH ], + [ 57, MoveId.SWORDS_DANCE ], + [ 64, MoveId.X_SCISSOR ], + ], + [SpeciesId.SHEDINJA]: [ + [ 1, MoveId.SHADOW_CLAW ], + [ 1, MoveId.GRUDGE ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.DIG ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.FALSE_SWIPE ], + [ 15, MoveId.CONFUSE_RAY ], + [ 23, MoveId.ABSORB ], + [ 29, MoveId.SHADOW_SNEAK ], + [ 36, MoveId.FURY_SWIPES ], + [ 43, MoveId.MIND_READER ], + [ 50, MoveId.SHADOW_BALL ], + [ 57, MoveId.SPITE ], + [ 64, MoveId.PHANTOM_FORCE ], + ], + [SpeciesId.WHISMUR]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POUND ], + [ 5, MoveId.ECHOED_VOICE ], + [ 10, MoveId.HOWL ], + [ 15, MoveId.REST ], + [ 15, MoveId.SLEEP_TALK ], + [ 21, MoveId.STOMP ], + [ 25, MoveId.ROAR ], + [ 30, MoveId.SUPERSONIC ], + [ 35, MoveId.UPROAR ], + [ 40, MoveId.SCREECH ], + [ 45, MoveId.HYPER_VOICE ], + ], + [SpeciesId.LOUDRED]: [ + [ EVOLVE_MOVE, MoveId.BITE ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POUND ], + [ 1, MoveId.ECHOED_VOICE ], + [ 1, MoveId.HOWL ], + [ 15, MoveId.REST ], + [ 15, MoveId.SLEEP_TALK ], + [ 23, MoveId.STOMP ], + [ 29, MoveId.ROAR ], + [ 36, MoveId.SUPERSONIC ], + [ 43, MoveId.UPROAR ], + [ 50, MoveId.SCREECH ], + [ 57, MoveId.HYPER_VOICE ], + ], + [SpeciesId.EXPLOUD]: [ + [ EVOLVE_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.BITE ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POUND ], + [ 1, MoveId.ECHOED_VOICE ], + [ 1, MoveId.HOWL ], + [ 15, MoveId.REST ], + [ 15, MoveId.SLEEP_TALK ], + [ 23, MoveId.STOMP ], + [ 29, MoveId.ROAR ], + [ 36, MoveId.SUPERSONIC ], + [ 45, MoveId.UPROAR ], + [ 54, MoveId.SCREECH ], + [ 63, MoveId.HYPER_VOICE ], + [ 72, MoveId.BOOMBURST ], + [ 81, MoveId.HYPER_BEAM ], + ], + [SpeciesId.MAKUHITA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 4, MoveId.SAND_ATTACK ], + [ 7, MoveId.ARM_THRUST ], + [ 10, MoveId.FAKE_OUT ], + [ 13, MoveId.FORCE_PALM ], + [ 16, MoveId.WHIRLWIND ], + [ 19, MoveId.KNOCK_OFF ], + [ 22, MoveId.BULK_UP ], + [ 25, MoveId.BELLY_DRUM ], + [ 28, MoveId.DETECT ], + [ 31, MoveId.SEISMIC_TOSS ], + [ 34, MoveId.FOCUS_PUNCH ], + [ 37, MoveId.ENDURE ], + [ 40, MoveId.CLOSE_COMBAT ], + [ 43, MoveId.REVERSAL ], + [ 46, MoveId.HEAVY_SLAM ], + ], + [SpeciesId.HARIYAMA]: [ + [ 1, MoveId.BRINE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.SAND_ATTACK ], // Previous Stage Move + [ 1, MoveId.ARM_THRUST ], + [ 10, MoveId.FAKE_OUT ], + [ 13, MoveId.FORCE_PALM ], + [ 16, MoveId.WHIRLWIND ], + [ 19, MoveId.KNOCK_OFF ], + [ 22, MoveId.BULK_UP ], + [ 26, MoveId.BELLY_DRUM ], + [ 30, MoveId.DETECT ], + [ 34, MoveId.SEISMIC_TOSS ], + [ 38, MoveId.FOCUS_PUNCH ], + [ 42, MoveId.ENDURE ], + [ 46, MoveId.CLOSE_COMBAT ], + [ 50, MoveId.REVERSAL ], + [ 54, MoveId.HEAVY_SLAM ], + [ 60, MoveId.HEADLONG_RUSH ], + ], + [SpeciesId.AZURILL]: [ + [ 1, MoveId.SPLASH ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.TAIL_WHIP ], + [ 3, MoveId.HELPING_HAND ], + [ 6, MoveId.BUBBLE_BEAM ], + [ 9, MoveId.CHARM ], + [ 12, MoveId.SLAM ], + [ 15, MoveId.BOUNCE ], + ], + [SpeciesId.NOSEPASS]: [ + [ 1, MoveId.TACKLE ], + [ 4, MoveId.HARDEN ], + [ 7, MoveId.BLOCK ], + [ 10, MoveId.ROCK_THROW ], + [ 13, MoveId.THUNDER_WAVE ], + [ 16, MoveId.REST ], + [ 19, MoveId.SPARK ], + [ 22, MoveId.ROCK_SLIDE ], + [ 25, MoveId.POWER_GEM ], + [ 28, MoveId.ROCK_BLAST ], + [ 31, MoveId.DISCHARGE ], + [ 34, MoveId.SANDSTORM ], + [ 37, MoveId.EARTH_POWER ], + [ 40, MoveId.STONE_EDGE ], + [ 43, MoveId.LOCK_ON ], + [ 43, MoveId.ZAP_CANNON ], + ], + [SpeciesId.SKITTY]: [ + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.TAIL_WHIP ], + [ 4, MoveId.TACKLE ], + [ 7, MoveId.SING ], + [ 10, MoveId.ATTRACT ], + [ 13, MoveId.DISARMING_VOICE ], + [ 16, MoveId.FURY_SWIPES ], + [ 19, MoveId.COPYCAT ], + [ 22, MoveId.PAYBACK ], + [ 25, MoveId.CHARM ], + [ 31, MoveId.FACADE ], + [ 34, MoveId.COVET ], + [ 37, MoveId.HEAL_BELL ], + [ 40, MoveId.DOUBLE_EDGE ], + [ 43, MoveId.BABY_DOLL_EYES ], + [ 46, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.DELCATTY]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SING ], + [ 1, MoveId.ATTRACT ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.FURY_SWIPES ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.PAYBACK ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.FACADE ], + [ 1, MoveId.COVET ], + [ 1, MoveId.HEAL_BELL ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 1, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.SABLEYE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.SCRATCH ], + [ 3, MoveId.ASTONISH ], + [ 9, MoveId.SHADOW_SNEAK ], + [ 12, MoveId.FAKE_OUT ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.DETECT ], + [ 21, MoveId.NIGHT_SHADE ], + [ 24, MoveId.FURY_SWIPES ], + [ 27, MoveId.KNOCK_OFF ], + [ 30, MoveId.QUASH ], + [ 33, MoveId.SHADOW_CLAW ], + [ 36, MoveId.MEAN_LOOK ], + [ 39, MoveId.POWER_GEM ], + [ 42, MoveId.ZEN_HEADBUTT ], + [ 45, MoveId.SHADOW_BALL ], + [ 48, MoveId.FOUL_PLAY ], + ], + [SpeciesId.MAWILE]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.FAIRY_WIND ], + [ 8, MoveId.BATON_PASS ], + [ 12, MoveId.BITE ], + [ 16, MoveId.STOCKPILE ], + [ 16, MoveId.SPIT_UP ], + [ 16, MoveId.SWALLOW ], + [ 20, MoveId.SUCKER_PUNCH ], + [ 24, MoveId.IRON_DEFENSE ], + [ 28, MoveId.CRUNCH ], + [ 32, MoveId.SWEET_SCENT ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.TAUNT ], + [ 44, MoveId.FAKE_TEARS ], + [ 48, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.ARON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 4, MoveId.METAL_CLAW ], + [ 8, MoveId.ROCK_TOMB ], + [ 12, MoveId.ROAR ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.PROTECT ], + [ 24, MoveId.ROCK_SLIDE ], + [ 28, MoveId.IRON_HEAD ], + [ 33, MoveId.METAL_SOUND ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.AUTOTOMIZE ], + [ 44, MoveId.IRON_TAIL ], + [ 48, MoveId.IRON_DEFENSE ], + [ 52, MoveId.HEAVY_SLAM ], + [ 56, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.METAL_BURST ], + ], + [SpeciesId.LAIRON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.ROCK_TOMB ], + [ 12, MoveId.ROAR ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.PROTECT ], + [ 24, MoveId.ROCK_SLIDE ], + [ 28, MoveId.IRON_HEAD ], + [ 35, MoveId.METAL_SOUND ], + [ 40, MoveId.TAKE_DOWN ], + [ 46, MoveId.AUTOTOMIZE ], + [ 52, MoveId.IRON_TAIL ], + [ 58, MoveId.IRON_DEFENSE ], + [ 64, MoveId.HEAVY_SLAM ], + [ 70, MoveId.DOUBLE_EDGE ], + [ 76, MoveId.METAL_BURST ], + ], + [SpeciesId.AGGRON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.ROCK_TOMB ], + [ 12, MoveId.ROAR ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.PROTECT ], + [ 24, MoveId.ROCK_SLIDE ], + [ 28, MoveId.IRON_HEAD ], + [ 35, MoveId.METAL_SOUND ], + [ 40, MoveId.TAKE_DOWN ], + [ 48, MoveId.AUTOTOMIZE ], + [ 56, MoveId.IRON_TAIL ], + [ 64, MoveId.IRON_DEFENSE ], + [ 72, MoveId.HEAVY_SLAM ], + [ 80, MoveId.DOUBLE_EDGE ], + [ 88, MoveId.METAL_BURST ], + ], + [SpeciesId.MEDITITE]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.WORK_UP ], + [ 1, MoveId.BIDE ], + [ 9, MoveId.DETECT ], + [ 12, MoveId.ENDURE ], + [ 15, MoveId.FEINT ], + [ 17, MoveId.FORCE_PALM ], + [ 20, MoveId.PSYBEAM ], + [ 23, MoveId.CALM_MIND ], + [ 25, MoveId.ZEN_HEADBUTT ], + [ 28, MoveId.HIGH_JUMP_KICK ], + [ 31, MoveId.PSYCH_UP ], + [ 33, MoveId.ACUPRESSURE ], + [ 36, MoveId.POWER_TRICK ], + [ 39, MoveId.REVERSAL ], + [ 41, MoveId.RECOVER ], + [ 44, MoveId.COUNTER ], + ], + [SpeciesId.MEDICHAM]: [ + [ 1, MoveId.FIRE_PUNCH ], + [ 1, MoveId.ICE_PUNCH ], + [ 1, MoveId.THUNDER_PUNCH ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.DETECT ], + [ 1, MoveId.WORK_UP ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.REVERSAL ], // Previous Stage Move + [ 12, MoveId.ENDURE ], + [ 15, MoveId.FEINT ], + [ 17, MoveId.FORCE_PALM ], + [ 20, MoveId.PSYBEAM ], + [ 23, MoveId.CALM_MIND ], + [ 25, MoveId.ZEN_HEADBUTT ], + [ 28, MoveId.HIGH_JUMP_KICK ], + [ 31, MoveId.PSYCH_UP ], + [ 33, MoveId.ACUPRESSURE ], + [ 36, MoveId.POWER_TRICK ], + [ 47, MoveId.RECOVER ], + [ 53, MoveId.COUNTER ], + [ 53, MoveId.AXE_KICK ], + ], + [SpeciesId.ELECTRIKE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.THUNDER_WAVE ], + [ 4, MoveId.LEER ], + [ 8, MoveId.HOWL ], + [ 12, MoveId.QUICK_ATTACK ], + [ 16, MoveId.SHOCK_WAVE ], + [ 20, MoveId.BITE ], + [ 24, MoveId.THUNDER_FANG ], + [ 28, MoveId.ROAR ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.CHARGE ], + [ 40, MoveId.WILD_CHARGE ], + [ 44, MoveId.THUNDER ], + ], + [SpeciesId.MANECTRIC]: [ + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.HOWL ], + [ 12, MoveId.QUICK_ATTACK ], + [ 16, MoveId.SHOCK_WAVE ], + [ 20, MoveId.BITE ], + [ 24, MoveId.THUNDER_FANG ], + [ 30, MoveId.ROAR ], + [ 36, MoveId.DISCHARGE ], + [ 42, MoveId.CHARGE ], + [ 48, MoveId.WILD_CHARGE ], + [ 54, MoveId.THUNDER ], + [ 60, MoveId.ELECTRIC_TERRAIN ], + ], + [SpeciesId.PLUSLE]: [ + [ RELEARN_MOVE, MoveId.NUZZLE ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 4, MoveId.HELPING_HAND ], + [ 7, MoveId.SPARK ], + [ 10, MoveId.ENCORE ], + [ 13, MoveId.SWITCHEROO ], + [ 16, MoveId.SWIFT ], + [ 19, MoveId.ELECTRO_BALL ], + [ 22, MoveId.COPYCAT ], + [ 26, MoveId.CHARGE ], + [ 31, MoveId.DISCHARGE ], + [ 34, MoveId.BATON_PASS ], + [ 37, MoveId.AGILITY ], + [ 40, MoveId.LAST_RESORT ], + [ 43, MoveId.THUNDER ], + [ 46, MoveId.NASTY_PLOT ], + [ 49, MoveId.ENTRAINMENT ], + ], + [SpeciesId.MINUN]: [ + [ RELEARN_MOVE, MoveId.NUZZLE ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 4, MoveId.HELPING_HAND ], + [ 7, MoveId.SPARK ], + [ 10, MoveId.ENCORE ], + [ 13, MoveId.SWITCHEROO ], + [ 16, MoveId.SWIFT ], + [ 19, MoveId.ELECTRO_BALL ], + [ 22, MoveId.COPYCAT ], + [ 26, MoveId.CHARGE ], + [ 31, MoveId.DISCHARGE ], + [ 34, MoveId.BATON_PASS ], + [ 37, MoveId.AGILITY ], + [ 40, MoveId.LAST_RESORT ], + [ 43, MoveId.THUNDER ], + [ 46, MoveId.NASTY_PLOT ], + [ 49, MoveId.ENTRAINMENT ], + ], + [SpeciesId.VOLBEAT]: [ + [ 1, MoveId.FLASH ], + [ 1, MoveId.TACKLE ], + [ 5, MoveId.DOUBLE_TEAM ], + [ 8, MoveId.CONFUSE_RAY ], + [ 12, MoveId.QUICK_ATTACK ], + [ 15, MoveId.STRUGGLE_BUG ], + [ 19, MoveId.MOONLIGHT ], + [ 22, MoveId.TAIL_GLOW ], + [ 26, MoveId.PROTECT ], + [ 29, MoveId.ZEN_HEADBUTT ], + [ 33, MoveId.HELPING_HAND ], + [ 36, MoveId.BUG_BUZZ ], + [ 40, MoveId.PLAY_ROUGH ], + [ 43, MoveId.DOUBLE_EDGE ], + [ 47, MoveId.INFESTATION ], + ], + [SpeciesId.ILLUMISE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PLAY_NICE ], + [ 5, MoveId.SWEET_SCENT ], + [ 9, MoveId.CHARM ], + [ 12, MoveId.QUICK_ATTACK ], + [ 15, MoveId.STRUGGLE_BUG ], + [ 19, MoveId.MOONLIGHT ], + [ 22, MoveId.WISH ], + [ 26, MoveId.ENCORE ], + [ 29, MoveId.FLATTER ], + [ 33, MoveId.ZEN_HEADBUTT ], + [ 36, MoveId.HELPING_HAND ], + [ 40, MoveId.BUG_BUZZ ], + [ 43, MoveId.PLAY_ROUGH ], + [ 47, MoveId.INFESTATION ], + ], + [SpeciesId.ROSELIA]: [ + [ EVOLVE_MOVE, MoveId.POISON_STING ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.WORRY_SEED ], + [ 5, MoveId.MEGA_DRAIN ], + [ 10, MoveId.LEECH_SEED ], + [ 15, MoveId.MAGICAL_LEAF ], + [ 20, MoveId.TOXIC_SPIKES ], + [ 25, MoveId.SWEET_SCENT ], + [ 30, MoveId.GIGA_DRAIN ], + [ 35, MoveId.SYNTHESIS ], + [ 40, MoveId.TOXIC ], + [ 45, MoveId.PETAL_BLIZZARD ], + [ 50, MoveId.AROMATHERAPY ], + [ 55, MoveId.INGRAIN ], + [ 60, MoveId.PETAL_DANCE ], + ], + [SpeciesId.GULPIN]: [ + [ 1, MoveId.POUND ], + [ 5, MoveId.YAWN ], + [ 8, MoveId.POISON_GAS ], + [ 10, MoveId.SLUDGE ], + [ 12, MoveId.AMNESIA ], + [ 17, MoveId.ACID_SPRAY ], + [ 20, MoveId.ENCORE ], + [ 25, MoveId.TOXIC ], + [ 28, MoveId.STOCKPILE ], + [ 28, MoveId.SPIT_UP ], + [ 28, MoveId.SWALLOW ], + [ 33, MoveId.SLUDGE_BOMB ], + [ 36, MoveId.GASTRO_ACID ], + [ 41, MoveId.BELCH ], + [ 44, MoveId.PAIN_SPLIT ], + [ 49, MoveId.GUNK_SHOT ], + ], + [SpeciesId.SWALOT]: [ + [ EVOLVE_MOVE, MoveId.BODY_SLAM ], + [ 1, MoveId.GUNK_SHOT ], + [ 1, MoveId.POUND ], + [ 1, MoveId.YAWN ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.WRING_OUT ], + [ 1, MoveId.SLUDGE ], + [ 1, MoveId.PAIN_SPLIT ], // Previous Stage Move + [ 12, MoveId.AMNESIA ], + [ 17, MoveId.ACID_SPRAY ], + [ 20, MoveId.ENCORE ], + [ 25, MoveId.TOXIC ], + [ 30, MoveId.STOCKPILE ], + [ 30, MoveId.SPIT_UP ], + [ 30, MoveId.SWALLOW ], + [ 37, MoveId.SLUDGE_BOMB ], + [ 42, MoveId.GASTRO_ACID ], + [ 49, MoveId.BELCH ], + ], + [SpeciesId.CARVANHA]: [ + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.LEER ], + [ 4, MoveId.POISON_FANG ], + [ 8, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.SCARY_FACE ], + [ 16, MoveId.BITE ], + [ 20, MoveId.ICE_FANG ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.SWAGGER ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.AGILITY ], + [ 40, MoveId.LIQUIDATION ], + [ 44, MoveId.TAKE_DOWN ], + ], + [SpeciesId.SHARPEDO]: [ + [ EVOLVE_MOVE, MoveId.SLASH ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.LEER ], + [ 1, MoveId.POISON_FANG ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.SCARY_FACE ], + [ 16, MoveId.BITE ], + [ 20, MoveId.ICE_FANG ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.SWAGGER ], + [ 34, MoveId.CRUNCH ], + [ 40, MoveId.AGILITY ], + [ 46, MoveId.LIQUIDATION ], + [ 52, MoveId.TAKE_DOWN ], + ], + [SpeciesId.WAILMER]: [ + [ 1, MoveId.SPLASH ], + [ 1, MoveId.TACKLE ], // Custom + [ 3, MoveId.GROWL ], + [ 6, MoveId.ASTONISH ], + [ 12, MoveId.WATER_GUN ], + [ 15, MoveId.MIST ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEAVY_SLAM ], + [ 24, MoveId.BRINE ], + [ 27, MoveId.WHIRLPOOL ], + [ 30, MoveId.DIVE ], + [ 33, MoveId.BOUNCE ], + [ 36, MoveId.BODY_SLAM ], + [ 39, MoveId.REST ], + [ 42, MoveId.AMNESIA ], + [ 45, MoveId.HYDRO_PUMP ], + [ 48, MoveId.WATER_SPOUT ], + ], + [SpeciesId.WAILORD]: [ + [ 1, MoveId.SOAK ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.TACKLE ], // Previous Stage Move, Custom + [ 1, MoveId.GROWL ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.WATER_GUN ], + [ 15, MoveId.MIST ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEAVY_SLAM ], + [ 24, MoveId.BRINE ], + [ 27, MoveId.WHIRLPOOL ], + [ 30, MoveId.DIVE ], + [ 33, MoveId.BOUNCE ], + [ 36, MoveId.BODY_SLAM ], + [ 39, MoveId.REST ], + [ 44, MoveId.AMNESIA ], + [ 49, MoveId.HYDRO_PUMP ], + [ 54, MoveId.WATER_SPOUT ], + ], + [SpeciesId.NUMEL]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.TACKLE ], + [ 5, MoveId.EMBER ], + [ 8, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.BULLDOZE ], + [ 15, MoveId.INCINERATE ], + [ 19, MoveId.AMNESIA ], + [ 22, MoveId.LAVA_PLUME ], + [ 26, MoveId.EARTH_POWER ], + [ 29, MoveId.CURSE ], + [ 31, MoveId.TAKE_DOWN ], + [ 40, MoveId.EARTHQUAKE ], + [ 43, MoveId.FLAMETHROWER ], + [ 47, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.CAMERUPT]: [ + [ EVOLVE_MOVE, MoveId.ROCK_SLIDE ], + [ RELEARN_MOVE, MoveId.FLAMETHROWER ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.DOUBLE_EDGE ], // Previous Stage Move + [ 1, MoveId.FISSURE ], + [ 1, MoveId.ERUPTION ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.BULLDOZE ], + [ 15, MoveId.INCINERATE ], + [ 19, MoveId.AMNESIA ], + [ 22, MoveId.LAVA_PLUME ], + [ 26, MoveId.EARTH_POWER ], + [ 29, MoveId.CURSE ], + [ 31, MoveId.TAKE_DOWN ], + [ 39, MoveId.YAWN ], + [ 46, MoveId.EARTHQUAKE ], + ], + [SpeciesId.TORKOAL]: [ + [ 1, MoveId.SMOG ], + [ 1, MoveId.EMBER ], + [ 4, MoveId.WITHDRAW ], + [ 8, MoveId.RAPID_SPIN ], + [ 12, MoveId.SMOKESCREEN ], + [ 16, MoveId.CLEAR_SMOG ], + [ 20, MoveId.FLAME_WHEEL ], + [ 24, MoveId.PROTECT ], + [ 28, MoveId.LAVA_PLUME ], + [ 32, MoveId.BODY_SLAM ], + [ 36, MoveId.IRON_DEFENSE ], + [ 40, MoveId.FLAMETHROWER ], + [ 44, MoveId.CURSE ], + [ 48, MoveId.HEAT_WAVE ], + [ 52, MoveId.AMNESIA ], + [ 56, MoveId.INFERNO ], + [ 60, MoveId.SHELL_SMASH ], + [ 64, MoveId.ERUPTION ], + ], + [SpeciesId.SPOINK]: [ + [ 1, MoveId.SPLASH ], + [ 5, MoveId.CONFUSION ], // Custom, Moved from Level 7 to 5 + [ 10, MoveId.GROWL ], + [ 14, MoveId.PSYBEAM ], + [ 18, MoveId.PSYCH_UP ], + [ 22, MoveId.CONFUSE_RAY ], + [ 29, MoveId.REST ], + [ 29, MoveId.POWER_GEM ], + [ 33, MoveId.SNORE ], + [ 38, MoveId.PSYSHOCK ], + [ 40, MoveId.PAYBACK ], + [ 44, MoveId.PSYCHIC ], + [ 50, MoveId.BOUNCE ], + ], + [SpeciesId.GRUMPIG]: [ + [ EVOLVE_MOVE, MoveId.TEETER_DANCE ], + [ 1, MoveId.BELCH ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.GROWL ], // Previous Stage Move + [ 1, MoveId.PSYBEAM ], + [ 18, MoveId.PSYCH_UP ], + [ 22, MoveId.CONFUSE_RAY ], + [ 26, MoveId.ZEN_HEADBUTT ], + [ 29, MoveId.POWER_GEM ], + [ 35, MoveId.REST ], + [ 35, MoveId.SNORE ], + [ 42, MoveId.PSYSHOCK ], + [ 46, MoveId.PAYBACK ], + [ 52, MoveId.PSYCHIC ], + [ 60, MoveId.BOUNCE ], + ], + [SpeciesId.SPINDA]: [ + [ 1, MoveId.TACKLE ], + [ 5, MoveId.COPYCAT ], + [ 10, MoveId.DIZZY_PUNCH ], + [ 14, MoveId.PSYBEAM ], + [ 19, MoveId.HYPNOSIS ], + [ 23, MoveId.BODY_SLAM ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 32, MoveId.TEETER_DANCE ], + [ 37, MoveId.UPROAR ], + [ 41, MoveId.PSYCH_UP ], + [ 46, MoveId.DOUBLE_EDGE ], + [ 50, MoveId.FLAIL ], + [ 55, MoveId.THRASH ], + ], + [SpeciesId.TRAPINCH]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.FEINT_ATTACK ], + [ 8, MoveId.BITE ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.SAND_TOMB ], + [ 20, MoveId.BULLDOZE ], + [ 24, MoveId.DIG ], + [ 28, MoveId.CRUNCH ], + [ 32, MoveId.SANDSTORM ], + [ 36, MoveId.EARTH_POWER ], + [ 40, MoveId.EARTHQUAKE ], + [ 44, MoveId.SUPERPOWER ], + [ 48, MoveId.FISSURE ], + ], + [SpeciesId.VIBRAVA]: [ + [ EVOLVE_MOVE, MoveId.DRAGON_BREATH ], + [ RELEARN_MOVE, MoveId.SUPERSONIC ], + [ RELEARN_MOVE, MoveId.FISSURE ], + [ RELEARN_MOVE, MoveId.CRUNCH ], + [ RELEARN_MOVE, MoveId.SUPERPOWER ], + [ RELEARN_MOVE, MoveId.ASTONISH ], + [ RELEARN_MOVE, MoveId.BULLDOZE ], + [ 1, MoveId.DIG ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.BITE ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.FEINT_ATTACK ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.SAND_TOMB ], + [ 20, MoveId.DRAGON_TAIL ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.BUG_BUZZ ], + [ 32, MoveId.SANDSTORM ], + [ 38, MoveId.EARTH_POWER ], + [ 44, MoveId.EARTHQUAKE ], + [ 50, MoveId.UPROAR ], + [ 56, MoveId.DRAGON_RUSH ], + [ 62, MoveId.BOOMBURST ], + ], + [SpeciesId.FLYGON]: [ + [ EVOLVE_MOVE, MoveId.DRAGON_CLAW ], + [ RELEARN_MOVE, MoveId.BITE ], + [ RELEARN_MOVE, MoveId.FISSURE ], + [ RELEARN_MOVE, MoveId.DIG ], + [ RELEARN_MOVE, MoveId.CRUNCH ], + [ RELEARN_MOVE, MoveId.SUPERPOWER ], + [ RELEARN_MOVE, MoveId.ASTONISH ], + [ RELEARN_MOVE, MoveId.DRAGON_DANCE ], + [ RELEARN_MOVE, MoveId.FEINT ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.BULLDOZE ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.FEINT_ATTACK ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.SAND_TOMB ], + [ 20, MoveId.DRAGON_TAIL ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.BUG_BUZZ ], + [ 32, MoveId.SANDSTORM ], + [ 38, MoveId.EARTH_POWER ], + [ 44, MoveId.EARTHQUAKE ], + [ 52, MoveId.UPROAR ], + [ 60, MoveId.DRAGON_RUSH ], + [ 68, MoveId.BOOMBURST ], + ], + [SpeciesId.CACNEA]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 4, MoveId.ABSORB ], + [ 7, MoveId.GROWTH ], + [ 10, MoveId.LEECH_SEED ], + [ 13, MoveId.SAND_ATTACK ], + [ 16, MoveId.BULLET_SEED ], + [ 19, MoveId.POWER_TRIP ], + [ 22, MoveId.INGRAIN ], + [ 26, MoveId.PAYBACK ], + [ 30, MoveId.SPIKES ], + [ 34, MoveId.SUCKER_PUNCH ], + [ 38, MoveId.PIN_MISSILE ], + [ 42, MoveId.ENERGY_BALL ], + [ 46, MoveId.COTTON_SPORE ], + [ 50, MoveId.SANDSTORM ], + [ 54, MoveId.DESTINY_BOND ], + ], + [SpeciesId.CACTURNE]: [ + [ EVOLVE_MOVE, MoveId.SPIKY_SHIELD ], + [ 1, MoveId.DESTINY_BOND ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 10, MoveId.LEECH_SEED ], + [ 13, MoveId.SAND_ATTACK ], + [ 16, MoveId.BULLET_SEED ], + [ 19, MoveId.POWER_TRIP ], + [ 22, MoveId.INGRAIN ], + [ 26, MoveId.PAYBACK ], + [ 30, MoveId.SPIKES ], + [ 35, MoveId.SUCKER_PUNCH ], + [ 38, MoveId.PIN_MISSILE ], + [ 44, MoveId.ENERGY_BALL ], + [ 49, MoveId.COTTON_SPORE ], + [ 54, MoveId.SANDSTORM ], + ], + [SpeciesId.SWABLU]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.DISARMING_VOICE ], + [ 8, MoveId.MIST ], + [ 12, MoveId.FURY_ATTACK ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.DRAGON_BREATH ], + [ 24, MoveId.SAFEGUARD ], + [ 28, MoveId.SING ], + [ 32, MoveId.COTTON_GUARD ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.MOONBLAST ], + [ 44, MoveId.PERISH_SONG ], + ], + [SpeciesId.ALTARIA]: [ + [ EVOLVE_MOVE, MoveId.DRAGON_PULSE ], + [ 1, MoveId.PLUCK ], + [ 1, MoveId.PECK ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.MIST ], + [ 12, MoveId.FURY_ATTACK ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.DRAGON_BREATH ], + [ 24, MoveId.SAFEGUARD ], + [ 28, MoveId.SING ], + [ 32, MoveId.COTTON_GUARD ], + [ 38, MoveId.TAKE_DOWN ], + [ 44, MoveId.MOONBLAST ], + [ 50, MoveId.PERISH_SONG ], + [ 56, MoveId.SKY_ATTACK ], + ], + [SpeciesId.ZANGOOSE]: [ + [ RELEARN_MOVE, MoveId.DOUBLE_KICK ], + [ RELEARN_MOVE, MoveId.DISABLE ], + [ RELEARN_MOVE, MoveId.COUNTER ], + [ RELEARN_MOVE, MoveId.FURY_SWIPES ], + [ RELEARN_MOVE, MoveId.CURSE ], + [ RELEARN_MOVE, MoveId.FLAIL ], + [ RELEARN_MOVE, MoveId.BELLY_DRUM ], + [ RELEARN_MOVE, MoveId.FEINT ], + [ RELEARN_MOVE, MoveId.NIGHT_SLASH ], + [ RELEARN_MOVE, MoveId.DOUBLE_HIT ], + [ RELEARN_MOVE, MoveId.QUICK_GUARD ], + [ RELEARN_MOVE, MoveId.FINAL_GAMBIT ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 5, MoveId.QUICK_ATTACK ], + [ 8, MoveId.FURY_CUTTER ], + [ 12, MoveId.METAL_CLAW ], + [ 15, MoveId.HONE_CLAWS ], + [ 19, MoveId.SLASH ], + [ 22, MoveId.POWER_TRIP ], + [ 26, MoveId.CRUSH_CLAW ], + [ 29, MoveId.FALSE_SWIPE ], + [ 33, MoveId.SWITCHEROO ], + [ 36, MoveId.DETECT ], + [ 40, MoveId.X_SCISSOR ], + [ 43, MoveId.TAUNT ], + [ 47, MoveId.SWORDS_DANCE ], + [ 50, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.SEVIPER]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.SWAGGER ], + [ 4, MoveId.BITE ], + [ 6, MoveId.LICK ], + [ 9, MoveId.POISON_TAIL ], + [ 11, MoveId.FEINT ], + [ 14, MoveId.SCREECH ], + [ 19, MoveId.GLARE ], + [ 21, MoveId.POISON_FANG ], + [ 24, MoveId.VENOSHOCK ], + [ 29, MoveId.GASTRO_ACID ], + [ 31, MoveId.POISON_JAB ], + [ 34, MoveId.HAZE ], + [ 39, MoveId.CRUNCH ], + [ 41, MoveId.BELCH ], + [ 44, MoveId.COIL ], + [ 46, MoveId.SLUDGE_BOMB ], + ], + [SpeciesId.LUNATONE]: [ + [ 1, MoveId.MOONBLAST ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.ROCK_THROW ], + [ 5, MoveId.HYPNOSIS ], + [ 10, MoveId.ROCK_POLISH ], + [ 15, MoveId.ROCK_SLIDE ], + [ 20, MoveId.PSYSHOCK ], + [ 25, MoveId.COSMIC_POWER ], + [ 30, MoveId.PSYCHIC ], + [ 35, MoveId.STONE_EDGE ], + [ 40, MoveId.FUTURE_SIGHT ], + [ 45, MoveId.MAGIC_ROOM ], + [ 50, MoveId.EXPLOSION ], + ], + [SpeciesId.SOLROCK]: [ + [ 1, MoveId.FLARE_BLITZ ], + [ 1, MoveId.MORNING_SUN ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.ROCK_THROW ], + [ 5, MoveId.HYPNOSIS ], + [ 10, MoveId.ROCK_POLISH ], + [ 15, MoveId.ROCK_SLIDE ], + [ 20, MoveId.ZEN_HEADBUTT ], + [ 25, MoveId.COSMIC_POWER ], + [ 30, MoveId.PSYCHIC ], + [ 35, MoveId.STONE_EDGE ], + [ 40, MoveId.SOLAR_BEAM ], + [ 45, MoveId.WONDER_ROOM ], + [ 50, MoveId.EXPLOSION ], + ], + [SpeciesId.BARBOACH]: [ + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.WATER_GUN ], + [ 6, MoveId.REST ], + [ 6, MoveId.SNORE ], + [ 12, MoveId.WATER_PULSE ], + [ 18, MoveId.AMNESIA ], + [ 24, MoveId.AQUA_TAIL ], + [ 31, MoveId.MUDDY_WATER ], + [ 36, MoveId.EARTHQUAKE ], + [ 42, MoveId.FUTURE_SIGHT ], + [ 48, MoveId.FISSURE ], + ], + [SpeciesId.WHISCASH]: [ + [ EVOLVE_MOVE, MoveId.THRASH ], + [ 1, MoveId.BELCH ], + [ 1, MoveId.ZEN_HEADBUTT ], + [ 1, MoveId.TICKLE ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.REST ], + [ 1, MoveId.SNORE ], + [ 12, MoveId.WATER_PULSE ], + [ 18, MoveId.AMNESIA ], + [ 24, MoveId.AQUA_TAIL ], + [ 33, MoveId.MUDDY_WATER ], + [ 40, MoveId.EARTHQUAKE ], + [ 48, MoveId.FUTURE_SIGHT ], + [ 56, MoveId.FISSURE ], + ], + [SpeciesId.CORPHISH]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HARDEN ], + [ 4, MoveId.LEER ], + [ 8, MoveId.TAUNT ], + [ 12, MoveId.BUBBLE_BEAM ], + [ 16, MoveId.KNOCK_OFF ], + [ 20, MoveId.DOUBLE_HIT ], + [ 24, MoveId.PROTECT ], + [ 28, MoveId.NIGHT_SLASH ], + [ 32, MoveId.RAZOR_SHELL ], + [ 36, MoveId.SWORDS_DANCE ], + [ 40, MoveId.CRUNCH ], + [ 44, MoveId.CRABHAMMER ], + [ 48, MoveId.ENDEAVOR ], + [ 52, MoveId.GUILLOTINE ], + ], + [SpeciesId.CRAWDAUNT]: [ + [ EVOLVE_MOVE, MoveId.SWIFT ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.LEER ], + [ 1, MoveId.TAUNT ], + [ 12, MoveId.BUBBLE_BEAM ], + [ 16, MoveId.KNOCK_OFF ], + [ 20, MoveId.DOUBLE_HIT ], + [ 24, MoveId.PROTECT ], + [ 28, MoveId.NIGHT_SLASH ], + [ 34, MoveId.RAZOR_SHELL ], + [ 40, MoveId.SWORDS_DANCE ], + [ 46, MoveId.CRUNCH ], + [ 52, MoveId.CRABHAMMER ], + [ 58, MoveId.ENDEAVOR ], + [ 64, MoveId.GUILLOTINE ], + ], + [SpeciesId.BALTOY]: [ + [ 1, MoveId.HARDEN ], + [ 1, MoveId.MUD_SLAP ], + [ 3, MoveId.RAPID_SPIN ], + [ 6, MoveId.CONFUSION ], + [ 9, MoveId.ROCK_TOMB ], + [ 12, MoveId.POWER_TRICK ], + [ 15, MoveId.PSYBEAM ], + [ 18, MoveId.ANCIENT_POWER ], + [ 21, MoveId.IMPRISON ], + [ 24, MoveId.COSMIC_POWER ], + [ 27, MoveId.EXTRASENSORY ], + [ 30, MoveId.EARTH_POWER ], + [ 33, MoveId.SELF_DESTRUCT ], + [ 36, MoveId.GUARD_SPLIT ], + [ 36, MoveId.POWER_SPLIT ], + [ 39, MoveId.SANDSTORM ], + [ 42, MoveId.EXPLOSION ], + ], + [SpeciesId.CLAYDOL]: [ + [ EVOLVE_MOVE, MoveId.HYPER_BEAM ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.CONFUSION ], + [ 9, MoveId.ROCK_TOMB ], + [ 12, MoveId.POWER_TRICK ], + [ 15, MoveId.PSYBEAM ], + [ 18, MoveId.ANCIENT_POWER ], + [ 21, MoveId.IMPRISON ], + [ 24, MoveId.COSMIC_POWER ], + [ 27, MoveId.EXTRASENSORY ], + [ 30, MoveId.EARTH_POWER ], + [ 33, MoveId.SELF_DESTRUCT ], + [ 38, MoveId.GUARD_SPLIT ], + [ 38, MoveId.POWER_SPLIT ], + [ 43, MoveId.SANDSTORM ], + [ 48, MoveId.EXPLOSION ], + ], + [SpeciesId.LILEEP]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.CONSTRICT ], + [ 4, MoveId.ACID ], + [ 8, MoveId.CONFUSE_RAY ], + [ 12, MoveId.INGRAIN ], + [ 16, MoveId.ANCIENT_POWER ], + [ 20, MoveId.MEGA_DRAIN ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.AMNESIA ], + [ 32, MoveId.GASTRO_ACID ], + [ 36, MoveId.GIGA_DRAIN ], + [ 41, MoveId.STOCKPILE ], + [ 41, MoveId.SPIT_UP ], + [ 41, MoveId.SWALLOW ], + [ 44, MoveId.ENERGY_BALL ], + ], + [SpeciesId.CRADILY]: [ + [ 1, MoveId.LEECH_SEED ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.CONSTRICT ], + [ 1, MoveId.ACID ], + [ 1, MoveId.CONFUSE_RAY ], + [ 12, MoveId.INGRAIN ], + [ 16, MoveId.ANCIENT_POWER ], + [ 20, MoveId.MEGA_DRAIN ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.AMNESIA ], + [ 32, MoveId.GASTRO_ACID ], + [ 36, MoveId.GIGA_DRAIN ], + [ 43, MoveId.STOCKPILE ], + [ 43, MoveId.SPIT_UP ], + [ 43, MoveId.SWALLOW ], + [ 48, MoveId.ENERGY_BALL ], + ], + [SpeciesId.ANORITH]: [ + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.HARDEN ], + [ 4, MoveId.WATER_GUN ], + [ 8, MoveId.SMACK_DOWN ], + [ 12, MoveId.METAL_CLAW ], + [ 16, MoveId.ANCIENT_POWER ], + [ 20, MoveId.BUG_BITE ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.SLASH ], + [ 32, MoveId.CRUSH_CLAW ], + [ 36, MoveId.ROCK_BLAST ], + [ 41, MoveId.PROTECT ], + [ 44, MoveId.X_SCISSOR ], + ], + [SpeciesId.ARMALDO]: [ + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SMACK_DOWN ], + [ 12, MoveId.METAL_CLAW ], + [ 16, MoveId.ANCIENT_POWER ], + [ 20, MoveId.BUG_BITE ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.SLASH ], + [ 32, MoveId.CRUSH_CLAW ], + [ 36, MoveId.ROCK_BLAST ], + [ 43, MoveId.PROTECT ], + [ 48, MoveId.X_SCISSOR ], + ], + [SpeciesId.FEEBAS]: [ + [ 1, MoveId.SPLASH ], + [ 15, MoveId.TACKLE ], + [ 25, MoveId.FLAIL ], + ], + [SpeciesId.MILOTIC]: [ + [ EVOLVE_MOVE, MoveId.WATER_PULSE ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WATER_SPORT ], + [ 4, MoveId.DISARMING_VOICE ], + [ 8, MoveId.TWISTER ], + [ 12, MoveId.AQUA_RING ], + [ 16, MoveId.ATTRACT ], + [ 20, MoveId.LIFE_DEW ], + [ 24, MoveId.DRAGON_TAIL ], + [ 28, MoveId.RECOVER ], + [ 32, MoveId.AQUA_TAIL ], + [ 36, MoveId.SAFEGUARD ], + [ 40, MoveId.SURF ], + [ 44, MoveId.RAIN_DANCE ], + [ 48, MoveId.COIL ], + [ 52, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.CASTFORM]: [ + [ 1, MoveId.TACKLE ], + [ 10, MoveId.WATER_GUN ], + [ 10, MoveId.EMBER ], + [ 10, MoveId.POWDER_SNOW ], + [ 15, MoveId.HEADBUTT ], + [ 20, MoveId.RAIN_DANCE ], + [ 20, MoveId.SUNNY_DAY ], + [ 20, MoveId.HAIL ], + [ 25, MoveId.WEATHER_BALL ], + [ 35, MoveId.HYDRO_PUMP ], + [ 35, MoveId.FIRE_BLAST ], + [ 35, MoveId.BLIZZARD ], + [ 45, MoveId.HURRICANE ], + ], + [SpeciesId.KECLEON]: [ + [ 1, MoveId.THIEF ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.LICK ], + [ 1, MoveId.SCRATCH ], + [ 4, MoveId.BIND ], + [ 7, MoveId.SHADOW_SNEAK ], + [ 10, MoveId.FEINT ], + [ 13, MoveId.FURY_SWIPES ], + [ 16, MoveId.DISABLE ], + [ 18, MoveId.PSYBEAM ], + [ 21, MoveId.ANCIENT_POWER ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.DETECT ], + [ 33, MoveId.SHADOW_CLAW ], + [ 38, MoveId.SCREECH ], + [ 42, MoveId.SUBSTITUTE ], + [ 46, MoveId.SUCKER_PUNCH ], + [ 50, MoveId.FOUL_PLAY ], + ], + [SpeciesId.SHUPPET]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.PURSUIT ], // Custom + [ 4, MoveId.SCREECH ], + [ 7, MoveId.NIGHT_SHADE ], + [ 10, MoveId.SPITE ], + [ 16, MoveId.WILL_O_WISP ], + [ 19, MoveId.SHADOW_SNEAK ], + [ 22, MoveId.HEX ], + [ 26, MoveId.CURSE ], + [ 30, MoveId.SHADOW_BALL ], + [ 34, MoveId.ROLE_PLAY ], + [ 38, MoveId.SUCKER_PUNCH ], + [ 42, MoveId.TRICK ], + [ 48, MoveId.PHANTOM_FORCE ], + ], + [SpeciesId.BANETTE]: [ + [ EVOLVE_MOVE, MoveId.KNOCK_OFF ], + [ 1, MoveId.ASTONISH ], // Previous Stage Move + [ 1, MoveId.PURSUIT ], // Previous Stage Move, Custom + [ 1, MoveId.SCREECH ], + [ 1, MoveId.NIGHT_SHADE ], + [ 1, MoveId.SPITE ], + [ 16, MoveId.WILL_O_WISP ], + [ 19, MoveId.SHADOW_SNEAK ], + [ 22, MoveId.HEX ], + [ 26, MoveId.CURSE ], + [ 30, MoveId.SHADOW_BALL ], + [ 34, MoveId.ROLE_PLAY ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 46, MoveId.TRICK ], + [ 53, MoveId.PHANTOM_FORCE ], + ], + [SpeciesId.DUSKULL]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PURSUIT ], // Custom + [ 4, MoveId.DISABLE ], + [ 8, MoveId.SHADOW_SNEAK ], + [ 12, MoveId.CONFUSE_RAY ], + [ 16, MoveId.NIGHT_SHADE ], + [ 20, MoveId.PAYBACK ], + [ 24, MoveId.WILL_O_WISP ], + [ 28, MoveId.MEAN_LOOK ], + [ 32, MoveId.HEX ], + [ 36, MoveId.CURSE ], + [ 40, MoveId.SHADOW_BALL ], + [ 44, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.DUSCLOPS]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_PUNCH ], + [ 1, MoveId.FIRE_PUNCH ], + [ 1, MoveId.ICE_PUNCH ], + [ 1, MoveId.THUNDER_PUNCH ], + [ 1, MoveId.GRAVITY ], + [ 1, MoveId.BIND ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PURSUIT ], // Previous Stage Move, Custom + [ 1, MoveId.DISABLE ], + [ 1, MoveId.SHADOW_SNEAK ], + [ 12, MoveId.CONFUSE_RAY ], + [ 16, MoveId.NIGHT_SHADE ], + [ 20, MoveId.PAYBACK ], + [ 24, MoveId.WILL_O_WISP ], + [ 28, MoveId.MEAN_LOOK ], + [ 32, MoveId.HEX ], + [ 36, MoveId.CURSE ], + [ 42, MoveId.SHADOW_BALL ], + [ 48, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.TROPIUS]: [ + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.RAZOR_LEAF ], + [ 6, MoveId.SWEET_SCENT ], + [ 10, MoveId.STOMP ], + [ 16, MoveId.MAGICAL_LEAF ], + [ 21, MoveId.WHIRLWIND ], + [ 30, MoveId.WIDE_GUARD ], + [ 36, MoveId.AIR_SLASH ], + [ 41, MoveId.BODY_SLAM ], + [ 46, MoveId.OUTRAGE ], + [ 50, MoveId.SYNTHESIS ], + [ 56, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.CHIMECHO]: [ + [ 1, MoveId.HEALING_WISH ], + [ 1, MoveId.LAST_RESORT ], // Previous Stage Move + [ 1, MoveId.ENTRAINMENT ], // Previous Stage Move + [ 1, MoveId.WRAP ], + [ 1, MoveId.PSYWAVE ], // Previous Stage Move, Custom + [ 1, MoveId.GROWL ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.SYNCHRONOISE ], + [ 13, MoveId.YAWN ], + [ 16, MoveId.STORED_POWER ], + [ 19, MoveId.TAKE_DOWN ], + [ 22, MoveId.EXTRASENSORY ], + [ 27, MoveId.HEAL_BELL ], + [ 32, MoveId.UPROAR ], + [ 37, MoveId.SAFEGUARD ], + [ 42, MoveId.DOUBLE_EDGE ], + [ 47, MoveId.HEAL_PULSE ], + ], + [SpeciesId.ABSOL]: [ + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.LEER ], + [ 5, MoveId.DOUBLE_TEAM ], + [ 10, MoveId.KNOCK_OFF ], + [ 15, MoveId.DETECT ], + [ 20, MoveId.TAUNT ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.NIGHT_SLASH ], + [ 35, MoveId.FOCUS_ENERGY ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 45, MoveId.SWORDS_DANCE ], + [ 50, MoveId.FUTURE_SIGHT ], + [ 55, MoveId.PERISH_SONG ], + ], + [SpeciesId.WYNAUT]: [ + [ 1, MoveId.COUNTER ], + [ 1, MoveId.MIRROR_COAT ], + [ 1, MoveId.SAFEGUARD ], + [ 1, MoveId.DESTINY_BOND ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.ENCORE ], + [ 1, MoveId.AMNESIA ], + ], + [SpeciesId.SNORUNT]: [ + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.HEADBUTT ], + [ 5, MoveId.LEER ], + [ 10, MoveId.DOUBLE_TEAM ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.PROTECT ], + [ 25, MoveId.ICY_WIND ], + [ 30, MoveId.FROST_BREATH ], + [ 35, MoveId.BITE ], + [ 40, MoveId.ICE_FANG ], + [ 45, MoveId.SNOWSCAPE ], + [ 50, MoveId.WEATHER_BALL ], + [ 55, MoveId.CRUNCH ], + [ 60, MoveId.BLIZZARD ], + ], + [SpeciesId.GLALIE]: [ + [ EVOLVE_MOVE, MoveId.FREEZE_DRY ], + [ 1, MoveId.SHEER_COLD ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ICE_BALL ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.PROTECT ], + [ 25, MoveId.ICY_WIND ], + [ 30, MoveId.FROST_BREATH ], + [ 35, MoveId.BITE ], + [ 40, MoveId.ICE_FANG ], + [ 47, MoveId.SNOWSCAPE ], + [ 54, MoveId.WEATHER_BALL ], + [ 61, MoveId.CRUNCH ], + [ 68, MoveId.BLIZZARD ], + ], + [SpeciesId.SPHEAL]: [ + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.DEFENSE_CURL ], + [ 4, MoveId.GROWL ], + [ 8, MoveId.WATER_GUN ], + [ 12, MoveId.POWDER_SNOW ], + [ 16, MoveId.REST ], + [ 20, MoveId.SNORE ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.AURORA_BEAM ], + [ 33, MoveId.ENCORE ], + [ 36, MoveId.BODY_SLAM ], + [ 40, MoveId.SURF ], + [ 44, MoveId.BLIZZARD ], + [ 48, MoveId.HAIL ], + [ 52, MoveId.SHEER_COLD ], + ], + [SpeciesId.SEALEO]: [ + [ EVOLVE_MOVE, MoveId.SWAGGER ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 12, MoveId.POWDER_SNOW ], + [ 16, MoveId.REST ], + [ 20, MoveId.SNORE ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.AURORA_BEAM ], + [ 35, MoveId.ENCORE ], + [ 40, MoveId.BODY_SLAM ], + [ 46, MoveId.SURF ], + [ 52, MoveId.BLIZZARD ], + [ 58, MoveId.HAIL ], + [ 64, MoveId.SHEER_COLD ], + ], + [SpeciesId.WALREIN]: [ + [ 1, MoveId.SWAGGER ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 12, MoveId.POWDER_SNOW ], + [ 16, MoveId.REST ], + [ 20, MoveId.SNORE ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.AURORA_BEAM ], + [ 35, MoveId.ENCORE ], + [ 40, MoveId.BODY_SLAM ], + [ 48, MoveId.SURF ], + [ 56, MoveId.BLIZZARD ], + [ 64, MoveId.HAIL ], + [ 72, MoveId.SHEER_COLD ], + ], + [SpeciesId.CLAMPERL]: [ + [ 1, MoveId.CLAMP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WHIRLPOOL ], + [ 1, MoveId.IRON_DEFENSE ], + [ 50, MoveId.SHELL_SMASH ], + ], + [SpeciesId.HUNTAIL]: [ + [ 1, MoveId.CLAMP ], // Previous Stage Move + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.SHELL_SMASH ], + [ 1, MoveId.WHIRLPOOL ], + [ 1, MoveId.BITE ], + [ 5, MoveId.SCREECH ], + [ 9, MoveId.SCARY_FACE ], + [ 11, MoveId.RAIN_DANCE ], + [ 14, MoveId.WATER_PULSE ], + [ 16, MoveId.ICE_FANG ], + [ 19, MoveId.BRINE ], + [ 23, MoveId.SUCKER_PUNCH ], + [ 26, MoveId.DIVE ], + [ 29, MoveId.BATON_PASS ], + [ 34, MoveId.CRUNCH ], + [ 39, MoveId.AQUA_TAIL ], + [ 45, MoveId.COIL ], + [ 50, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.GOREBYSS]: [ + [ 1, MoveId.CLAMP ], // Previous Stage Move + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.SHELL_SMASH ], + [ 1, MoveId.WHIRLPOOL ], + [ 1, MoveId.CONFUSION ], + [ 5, MoveId.RAIN_DANCE ], + [ 9, MoveId.AGILITY ], + [ 11, MoveId.DRAINING_KISS ], + [ 14, MoveId.WATER_PULSE ], + [ 16, MoveId.AMNESIA ], + [ 19, MoveId.AQUA_RING ], + [ 23, MoveId.SAFEGUARD ], + [ 26, MoveId.DIVE ], + [ 29, MoveId.BATON_PASS ], + [ 34, MoveId.PSYCHIC ], + [ 39, MoveId.AQUA_TAIL ], + [ 45, MoveId.COIL ], + [ 50, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.RELICANTH]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.WATER_GUN ], + [ 10, MoveId.ANCIENT_POWER ], + [ 15, MoveId.YAWN ], + [ 20, MoveId.DIVE ], + [ 25, MoveId.TAKE_DOWN ], + [ 30, MoveId.AQUA_TAIL ], + [ 35, MoveId.REST ], + [ 40, MoveId.FLAIL ], + [ 45, MoveId.HYDRO_PUMP ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 55, MoveId.HEAD_SMASH ], + ], + [SpeciesId.LUVDISC]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CHARM ], + [ 4, MoveId.WATER_GUN ], + [ 7, MoveId.AGILITY ], + [ 13, MoveId.WISH ], + [ 17, MoveId.WATER_PULSE ], + [ 20, MoveId.ATTRACT ], + [ 22, MoveId.DRAINING_KISS ], + [ 26, MoveId.FLAIL ], + [ 31, MoveId.SWEET_KISS ], + [ 34, MoveId.TAKE_DOWN ], + [ 37, MoveId.BABY_DOLL_EYES ], + [ 40, MoveId.AQUA_RING ], + [ 42, MoveId.SOAK ], + [ 46, MoveId.HYDRO_PUMP ], + [ 49, MoveId.SAFEGUARD ], + ], + [SpeciesId.BAGON]: [ + [ 1, MoveId.EMBER ], + [ 1, MoveId.LEER ], + [ 5, MoveId.BITE ], + [ 10, MoveId.DRAGON_BREATH ], + [ 15, MoveId.HEADBUTT ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.CRUNCH ], + [ 31, MoveId.DRAGON_CLAW ], + [ 35, MoveId.ZEN_HEADBUTT ], + [ 40, MoveId.FOCUS_ENERGY ], + [ 45, MoveId.FLAMETHROWER ], + [ 50, MoveId.OUTRAGE ], + [ 55, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.SHELGON]: [ + [ EVOLVE_MOVE, MoveId.PROTECT ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.DRAGON_BREATH ], + [ 15, MoveId.HEADBUTT ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.CRUNCH ], + [ 33, MoveId.DRAGON_CLAW ], + [ 39, MoveId.ZEN_HEADBUTT ], + [ 46, MoveId.FOCUS_ENERGY ], + [ 53, MoveId.FLAMETHROWER ], + [ 60, MoveId.OUTRAGE ], + [ 67, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.SALAMENCE]: [ + [ EVOLVE_MOVE, MoveId.FLY ], + [ RELEARN_MOVE, MoveId.OUTRAGE ], // Previous Stage Move + [ 1, MoveId.PROTECT ], + [ 1, MoveId.DRAGON_TAIL ], + [ 1, MoveId.DUAL_WINGBEAT ], + [ 1, MoveId.ROOST ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.DRAGON_BREATH ], + [ 15, MoveId.HEADBUTT ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.CRUNCH ], + [ 33, MoveId.DRAGON_CLAW ], + [ 39, MoveId.ZEN_HEADBUTT ], + [ 46, MoveId.FOCUS_ENERGY ], + [ 55, MoveId.FLAMETHROWER ], + [ 73, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.BELDUM]: [ + [ 1, MoveId.TACKLE ], + ], + [SpeciesId.METANG]: [ + [ EVOLVE_MOVE, MoveId.CONFUSION ], + [ EVOLVE_MOVE, MoveId.METAL_CLAW ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BULLET_PUNCH ], + [ 1, MoveId.HONE_CLAWS ], + [ 6, MoveId.ZEN_HEADBUTT ], + [ 12, MoveId.MAGNET_RISE ], + [ 18, MoveId.FLASH_CANNON ], + [ 26, MoveId.TAKE_DOWN ], + [ 34, MoveId.PSYCHIC ], + [ 42, MoveId.SCARY_FACE ], + [ 50, MoveId.METEOR_MASH ], + [ 58, MoveId.IRON_DEFENSE ], + [ 66, MoveId.AGILITY ], + [ 74, MoveId.HYPER_BEAM ], + ], + [SpeciesId.METAGROSS]: [ + [ EVOLVE_MOVE, MoveId.HAMMER_ARM ], + [ RELEARN_MOVE, MoveId.EXPLOSION ], + [ RELEARN_MOVE, MoveId.HONE_CLAWS ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.BULLET_PUNCH ], + [ 1, MoveId.TACKLE ], + [ 6, MoveId.ZEN_HEADBUTT ], + [ 12, MoveId.MAGNET_RISE ], + [ 16, MoveId.FLASH_CANNON ], + [ 26, MoveId.TAKE_DOWN ], + [ 34, MoveId.PSYCHIC ], + [ 42, MoveId.SCARY_FACE ], + [ 52, MoveId.METEOR_MASH ], + [ 62, MoveId.IRON_DEFENSE ], + [ 72, MoveId.AGILITY ], + [ 82, MoveId.HYPER_BEAM ], + ], + [SpeciesId.REGIROCK]: [ + [ 1, MoveId.CHARGE_BEAM ], + [ 1, MoveId.ROCK_THROW ], + [ 6, MoveId.BULLDOZE ], + [ 12, MoveId.ANCIENT_POWER ], + [ 18, MoveId.STOMP ], + [ 24, MoveId.ROCK_SLIDE ], + [ 30, MoveId.CURSE ], + [ 36, MoveId.IRON_DEFENSE ], + [ 42, MoveId.HAMMER_ARM ], + [ 48, MoveId.STONE_EDGE ], + [ 54, MoveId.SUPERPOWER ], + [ 60, MoveId.LOCK_ON ], + [ 66, MoveId.ZAP_CANNON ], + [ 72, MoveId.HYPER_BEAM ], + [ 78, MoveId.EXPLOSION ], + ], + [SpeciesId.REGICE]: [ + [ 1, MoveId.CHARGE_BEAM ], + [ 1, MoveId.ICY_WIND ], + [ 6, MoveId.BULLDOZE ], + [ 12, MoveId.ANCIENT_POWER ], + [ 18, MoveId.STOMP ], + [ 24, MoveId.ICE_BEAM ], + [ 30, MoveId.CURSE ], + [ 36, MoveId.AMNESIA ], + [ 42, MoveId.HAMMER_ARM ], + [ 48, MoveId.BLIZZARD ], + [ 54, MoveId.SUPERPOWER ], + [ 60, MoveId.LOCK_ON ], + [ 66, MoveId.ZAP_CANNON ], + [ 72, MoveId.HYPER_BEAM ], + [ 78, MoveId.EXPLOSION ], + ], + [SpeciesId.REGISTEEL]: [ + [ 1, MoveId.CHARGE_BEAM ], + [ 1, MoveId.METAL_CLAW ], + [ 6, MoveId.BULLDOZE ], + [ 12, MoveId.ANCIENT_POWER ], + [ 18, MoveId.STOMP ], + [ 24, MoveId.IRON_HEAD ], + [ 24, MoveId.FLASH_CANNON ], + [ 30, MoveId.CURSE ], + [ 36, MoveId.AMNESIA ], + [ 36, MoveId.IRON_DEFENSE ], + [ 42, MoveId.HAMMER_ARM ], + [ 48, MoveId.HEAVY_SLAM ], + [ 54, MoveId.SUPERPOWER ], + [ 60, MoveId.LOCK_ON ], + [ 66, MoveId.ZAP_CANNON ], + [ 72, MoveId.HYPER_BEAM ], + [ 78, MoveId.EXPLOSION ], + ], + [SpeciesId.LATIAS]: [ + [ 1, MoveId.STORED_POWER ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.PSYWAVE ], + [ 5, MoveId.HELPING_HAND ], + [ 10, MoveId.RECOVER ], + [ 15, MoveId.CONFUSION ], + [ 20, MoveId.TAILWIND ], + [ 25, MoveId.DRAGON_BREATH ], + [ 30, MoveId.WISH ], + [ 35, MoveId.MIST_BALL ], + [ 40, MoveId.ZEN_HEADBUTT ], + [ 45, MoveId.DRAGON_PULSE ], + [ 50, MoveId.HEAL_PULSE ], + [ 55, MoveId.REFLECT_TYPE ], + [ 60, MoveId.PSYCHIC ], + [ 65, MoveId.GUARD_SPLIT ], + [ 70, MoveId.HEALING_WISH ], + ], + [SpeciesId.LATIOS]: [ + [ 1, MoveId.STORED_POWER ], + [ 1, MoveId.DRAGON_DANCE ], + [ 1, MoveId.HEAL_BLOCK ], + [ 1, MoveId.PSYWAVE ], + [ 5, MoveId.HELPING_HAND ], + [ 10, MoveId.RECOVER ], + [ 15, MoveId.CONFUSION ], + [ 20, MoveId.TAILWIND ], + [ 25, MoveId.DRAGON_BREATH ], + [ 30, MoveId.ALLY_SWITCH ], + [ 35, MoveId.LUSTER_PURGE ], + [ 40, MoveId.ZEN_HEADBUTT ], + [ 45, MoveId.DRAGON_PULSE ], + [ 50, MoveId.HEAL_PULSE ], + [ 55, MoveId.SIMPLE_BEAM ], + [ 60, MoveId.PSYCHIC ], + [ 65, MoveId.POWER_SPLIT ], + [ 70, MoveId.MEMENTO ], + ], + [SpeciesId.KYOGRE]: [ + [ 1, MoveId.ORIGIN_PULSE ], + [ 1, MoveId.WATER_PULSE ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.BODY_SLAM ], + [ 1, MoveId.SCARY_FACE ], + [ 9, MoveId.AQUA_TAIL ], + [ 18, MoveId.CALM_MIND ], + [ 27, MoveId.MUDDY_WATER ], + [ 36, MoveId.ICE_BEAM ], + [ 45, MoveId.SHEER_COLD ], + [ 54, MoveId.AQUA_RING ], + [ 72, MoveId.HYDRO_PUMP ], + [ 81, MoveId.DOUBLE_EDGE ], + [ 90, MoveId.WATER_SPOUT ], + ], + [SpeciesId.GROUDON]: [ + [ 1, MoveId.PRECIPICE_BLADES ], + [ 1, MoveId.MUD_SHOT ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.LAVA_PLUME ], + [ 1, MoveId.SCARY_FACE ], + [ 9, MoveId.EARTH_POWER ], + [ 18, MoveId.BULK_UP ], + [ 27, MoveId.EARTHQUAKE ], + [ 36, MoveId.HAMMER_ARM ], + [ 45, MoveId.FISSURE ], + [ 54, MoveId.REST ], + [ 72, MoveId.FIRE_BLAST ], + [ 81, MoveId.SOLAR_BEAM ], + [ 90, MoveId.ERUPTION ], + ], + [SpeciesId.RAYQUAZA]: [ + [ 1, MoveId.DRAGON_ASCENT ], + [ 1, MoveId.TWISTER ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.AIR_SLASH ], + [ 1, MoveId.SCARY_FACE ], + [ 9, MoveId.CRUNCH ], + [ 18, MoveId.DRAGON_DANCE ], + [ 27, MoveId.EXTREME_SPEED ], + [ 36, MoveId.DRAGON_PULSE ], + [ 45, MoveId.HYPER_VOICE ], + [ 54, MoveId.REST ], + [ 63, MoveId.FLY ], + [ 72, MoveId.HURRICANE ], + [ 81, MoveId.OUTRAGE ], + [ 90, MoveId.HYPER_BEAM ], + ], + [SpeciesId.JIRACHI]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.WISH ], + [ 7, MoveId.SWIFT ], + [ 21, MoveId.LIFE_DEW ], + [ 28, MoveId.ZEN_HEADBUTT ], + [ 35, MoveId.GRAVITY ], + [ 42, MoveId.PSYCHIC ], + [ 49, MoveId.METEOR_MASH ], + [ 56, MoveId.HEALING_WISH ], + [ 63, MoveId.REST ], + [ 70, MoveId.FUTURE_SIGHT ], + [ 77, MoveId.DOUBLE_EDGE ], + [ 84, MoveId.COSMIC_POWER ], + [ 91, MoveId.LAST_RESORT ], + [ 98, MoveId.DOOM_DESIRE ], + ], + [SpeciesId.DEOXYS]: [ + [ 1, MoveId.CONFUSION ], // Custom + [ 1, MoveId.LEER ], + [ 1, MoveId.WRAP ], + [ 7, MoveId.NIGHT_SHADE ], + [ 13, MoveId.TELEPORT ], + [ 19, MoveId.KNOCK_OFF ], + [ 25, MoveId.PSYSHOCK ], + [ 31, MoveId.PSYCHIC ], + [ 37, MoveId.GRAVITY ], + [ 43, MoveId.SKILL_SWAP ], + [ 49, MoveId.ZEN_HEADBUTT ], + [ 55, MoveId.COSMIC_POWER ], + [ 61, MoveId.RECOVER ], + [ 67, MoveId.PSYCHO_BOOST ], + [ 73, MoveId.HYPER_BEAM ], + ], + [SpeciesId.TURTWIG]: [ + [ 1, MoveId.TACKLE ], + [ 5, MoveId.WITHDRAW ], + [ 5, MoveId.LEAFAGE ], // Custom, moved from 10 to 5, BDSP + [ 9, MoveId.GROWTH ], // Fill empty moveslot, from BDSP level 6 + [ 13, MoveId.RAZOR_LEAF ], + [ 17, MoveId.CURSE ], + [ 21, MoveId.BITE ], + [ 25, MoveId.MEGA_DRAIN ], + [ 29, MoveId.LEECH_SEED ], + [ 33, MoveId.SYNTHESIS ], + [ 37, MoveId.CRUNCH ], + [ 41, MoveId.GIGA_DRAIN ], + [ 45, MoveId.LEAF_STORM ], + ], + [SpeciesId.GROTLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.LEAFAGE ], + [ 1, MoveId.GROWTH ], // Previous Stage Move + [ 13, MoveId.RAZOR_LEAF ], + [ 17, MoveId.CURSE ], + [ 22, MoveId.BITE ], + [ 27, MoveId.MEGA_DRAIN ], + [ 32, MoveId.LEECH_SEED ], + [ 37, MoveId.SYNTHESIS ], + [ 42, MoveId.CRUNCH ], + [ 47, MoveId.GIGA_DRAIN ], + [ 52, MoveId.LEAF_STORM ], + ], + [SpeciesId.TORTERRA]: [ + [ EVOLVE_MOVE, MoveId.EARTHQUAKE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.LEAFAGE ], + [ 1, MoveId.GROWTH ], // Previous Stage Move + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.WOOD_HAMMER ], + [ 17, MoveId.CURSE ], + [ 22, MoveId.BITE ], + [ 27, MoveId.MEGA_DRAIN ], + [ 33, MoveId.LEECH_SEED ], + [ 39, MoveId.SYNTHESIS ], + [ 45, MoveId.CRUNCH ], + [ 51, MoveId.GIGA_DRAIN ], + [ 57, MoveId.LEAF_STORM ], + [ 63, MoveId.HEADLONG_RUSH ], + ], + [SpeciesId.CHIMCHAR]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 5, MoveId.EMBER ], // Custom, moved from 7 to 5 + [ 9, MoveId.TAUNT ], + [ 15, MoveId.FURY_SWIPES ], + [ 17, MoveId.FLAME_WHEEL ], + [ 23, MoveId.NASTY_PLOT ], + [ 25, MoveId.TORMENT ], + [ 31, MoveId.FACADE ], + [ 33, MoveId.FIRE_SPIN ], + [ 39, MoveId.ACROBATICS ], + [ 41, MoveId.SLACK_OFF ], + [ 47, MoveId.FLAMETHROWER ], + ], + [SpeciesId.MONFERNO]: [ + [ EVOLVE_MOVE, MoveId.MACH_PUNCH ], + [ RELEARN_MOVE, MoveId.NASTY_PLOT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.FACADE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.FLAMETHROWER ], // Previous Stage Move + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 9, MoveId.TAUNT ], + [ 16, MoveId.FURY_SWIPES ], + [ 19, MoveId.FLAME_WHEEL ], + [ 26, MoveId.FEINT ], + [ 29, MoveId.TORMENT ], + [ 36, MoveId.CLOSE_COMBAT ], + [ 39, MoveId.FIRE_SPIN ], + [ 46, MoveId.ACROBATICS ], + [ 49, MoveId.SLACK_OFF ], + [ 56, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.INFERNAPE]: [ + [ EVOLVE_MOVE, MoveId.CLOSE_COMBAT ], + [ RELEARN_MOVE, MoveId.TAUNT ], + [ RELEARN_MOVE, MoveId.NASTY_PLOT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.FACADE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.SLACK_OFF ], + [ RELEARN_MOVE, MoveId.FLAMETHROWER ], // Previous Stage Move + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.MACH_PUNCH ], + [ 16, MoveId.FURY_SWIPES ], + [ 19, MoveId.FLAME_WHEEL ], + [ 26, MoveId.FEINT ], + [ 29, MoveId.TORMENT ], + [ 42, MoveId.FIRE_SPIN ], + [ 47, MoveId.FLARE_BLITZ ], + [ 52, MoveId.ACROBATICS ], + [ 58, MoveId.CALM_MIND ], + [ 65, MoveId.RAGING_FURY ], + ], + [SpeciesId.PIPLUP]: [ + [ 1, MoveId.POUND ], + [ 4, MoveId.GROWL ], + [ 5, MoveId.WATER_GUN ], // Custom, moved from 8 to 5 + [ 11, MoveId.CHARM ], + [ 15, MoveId.PECK ], + [ 18, MoveId.BUBBLE_BEAM ], + [ 22, MoveId.SWAGGER ], + [ 25, MoveId.FURY_ATTACK ], + [ 29, MoveId.BRINE ], + [ 32, MoveId.WHIRLPOOL ], + [ 36, MoveId.MIST ], + [ 39, MoveId.DRILL_PECK ], + [ 43, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.PRINPLUP]: [ + [ EVOLVE_MOVE, MoveId.METAL_CLAW ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.CHARM ], // Previous Stage Move + [ 15, MoveId.PECK ], + [ 19, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.SWAGGER ], + [ 28, MoveId.FURY_ATTACK ], + [ 33, MoveId.BRINE ], + [ 37, MoveId.WHIRLPOOL ], + [ 42, MoveId.MIST ], + [ 46, MoveId.DRILL_PECK ], + [ 50, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.EMPOLEON]: [ + [ EVOLVE_MOVE, MoveId.AQUA_JET ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.CHARM ], // Previous Stage Move + [ 1, MoveId.METAL_CLAW ], + [ 11, MoveId.SWORDS_DANCE ], + [ 15, MoveId.PECK ], + [ 19, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.SWAGGER ], + [ 28, MoveId.FURY_ATTACK ], + [ 33, MoveId.BRINE ], + [ 39, MoveId.WHIRLPOOL ], + [ 46, MoveId.MIST ], + [ 52, MoveId.DRILL_PECK ], + [ 59, MoveId.HYDRO_PUMP ], + [ 66, MoveId.WAVE_CRASH ], + ], + [SpeciesId.STARLY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.QUICK_ATTACK ], + [ 9, MoveId.WING_ATTACK ], + [ 13, MoveId.DOUBLE_TEAM ], + [ 17, MoveId.ENDEAVOR ], + [ 21, MoveId.WHIRLWIND ], + [ 25, MoveId.AERIAL_ACE ], + [ 29, MoveId.TAKE_DOWN ], + [ 33, MoveId.AGILITY ], + [ 37, MoveId.BRAVE_BIRD ], + [ 41, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.STARAVIA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.QUICK_ATTACK ], + [ 9, MoveId.WING_ATTACK ], + [ 13, MoveId.DOUBLE_TEAM ], + [ 18, MoveId.ENDEAVOR ], + [ 23, MoveId.WHIRLWIND ], + [ 28, MoveId.AERIAL_ACE ], + [ 33, MoveId.TAKE_DOWN ], + [ 38, MoveId.AGILITY ], + [ 43, MoveId.BRAVE_BIRD ], + [ 48, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.STARAPTOR]: [ + [ EVOLVE_MOVE, MoveId.CLOSE_COMBAT ], + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.QUICK_ATTACK ], + [ 13, MoveId.DOUBLE_TEAM ], + [ 18, MoveId.ENDEAVOR ], + [ 23, MoveId.WHIRLWIND ], + [ 28, MoveId.AERIAL_ACE ], + [ 33, MoveId.TAKE_DOWN ], + [ 41, MoveId.AGILITY ], + [ 49, MoveId.BRAVE_BIRD ], + [ 57, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.BIDOOF]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.DEFENSE_CURL ], + [ 9, MoveId.ROLLOUT ], + [ 13, MoveId.HEADBUTT ], + [ 17, MoveId.HYPER_FANG ], + [ 21, MoveId.YAWN ], + [ 25, MoveId.CRUNCH ], + [ 29, MoveId.TAKE_DOWN ], + [ 33, MoveId.SUPER_FANG ], + [ 37, MoveId.SWORDS_DANCE ], + [ 41, MoveId.AMNESIA ], + [ 45, MoveId.SUPERPOWER ], + [ 49, MoveId.CURSE ], + ], + [SpeciesId.BIBAREL]: [ + [ EVOLVE_MOVE, MoveId.WATER_GUN ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.ROTOTILLER ], + [ 5, MoveId.DEFENSE_CURL ], + [ 9, MoveId.ROLLOUT ], + [ 13, MoveId.HEADBUTT ], + [ 18, MoveId.HYPER_FANG ], + [ 23, MoveId.YAWN ], + [ 28, MoveId.CRUNCH ], + [ 33, MoveId.TAKE_DOWN ], + [ 38, MoveId.SUPER_FANG ], + [ 43, MoveId.SWORDS_DANCE ], + [ 48, MoveId.AMNESIA ], + [ 53, MoveId.SUPERPOWER ], + [ 58, MoveId.CURSE ], + ], + [SpeciesId.KRICKETOT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.BIDE ], + [ 6, MoveId.STRUGGLE_BUG ], + [ 16, MoveId.BUG_BITE ], + ], + [SpeciesId.KRICKETUNE]: [ + [ EVOLVE_MOVE, MoveId.FURY_CUTTER ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.STRUGGLE_BUG ], // Previous Stage Move + [ 1, MoveId.BUG_BITE ], // Previous Stage Move + [ 14, MoveId.ABSORB ], + [ 18, MoveId.SING ], + [ 22, MoveId.FOCUS_ENERGY ], + [ 26, MoveId.SLASH ], + [ 30, MoveId.X_SCISSOR ], + [ 34, MoveId.SCREECH ], + [ 36, MoveId.FELL_STINGER ], + [ 38, MoveId.TAUNT ], + [ 42, MoveId.NIGHT_SLASH ], + [ 44, MoveId.STICKY_WEB ], + [ 46, MoveId.BUG_BUZZ ], + [ 50, MoveId.PERISH_SONG ], + ], + [SpeciesId.SHINX]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 4, MoveId.THUNDER_SHOCK ], + [ 8, MoveId.CHARGE ], + [ 12, MoveId.BITE ], + [ 16, MoveId.SPARK ], + [ 20, MoveId.ROAR ], + [ 24, MoveId.VOLT_SWITCH ], + [ 28, MoveId.SCARY_FACE ], + [ 32, MoveId.THUNDER_WAVE ], + [ 36, MoveId.CRUNCH ], + [ 40, MoveId.DISCHARGE ], + [ 44, MoveId.SWAGGER ], + [ 48, MoveId.WILD_CHARGE ], + ], + [SpeciesId.LUXIO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.CHARGE ], + [ 12, MoveId.BITE ], + [ 18, MoveId.SPARK ], + [ 24, MoveId.ROAR ], + [ 31, MoveId.VOLT_SWITCH ], + [ 36, MoveId.SCARY_FACE ], + [ 42, MoveId.THUNDER_WAVE ], + [ 48, MoveId.CRUNCH ], + [ 54, MoveId.DISCHARGE ], + [ 60, MoveId.SWAGGER ], + [ 68, MoveId.WILD_CHARGE ], + ], + [SpeciesId.LUXRAY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 12, MoveId.BITE ], + [ 18, MoveId.SPARK ], + [ 24, MoveId.ROAR ], + [ 33, MoveId.VOLT_SWITCH ], + [ 40, MoveId.SCARY_FACE ], + [ 48, MoveId.THUNDER_WAVE ], + [ 56, MoveId.CRUNCH ], + [ 64, MoveId.DISCHARGE ], + [ 72, MoveId.SWAGGER ], + [ 80, MoveId.WILD_CHARGE ], + ], + [SpeciesId.BUDEW]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.WORRY_SEED ], + ], + [SpeciesId.ROSERADE]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.LEECH_SEED ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.PETAL_DANCE ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.SYNTHESIS ], + [ 1, MoveId.INGRAIN ], + [ 1, MoveId.AROMATHERAPY ], + [ 1, MoveId.MAGICAL_LEAF ], + [ 1, MoveId.WORRY_SEED ], + [ 1, MoveId.TOXIC_SPIKES ], + [ 1, MoveId.PETAL_BLIZZARD ], + [ 1, MoveId.GRASSY_TERRAIN ], + [ 1, MoveId.VENOM_DRENCH ], + ], + [SpeciesId.CRANIDOS]: [ + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.LEER ], + [ 6, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.PURSUIT ], + [ 15, MoveId.TAKE_DOWN ], + [ 19, MoveId.SCARY_FACE ], + [ 24, MoveId.ASSURANCE ], + [ 28, MoveId.CHIP_AWAY ], + [ 33, MoveId.ANCIENT_POWER ], + [ 37, MoveId.ZEN_HEADBUTT ], + [ 42, MoveId.SCREECH ], + [ 46, MoveId.HEAD_SMASH ], + ], + [SpeciesId.RAMPARDOS]: [ + [ EVOLVE_MOVE, MoveId.ENDEAVOR ], + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.PURSUIT ], + [ 15, MoveId.TAKE_DOWN ], + [ 19, MoveId.SCARY_FACE ], + [ 24, MoveId.ASSURANCE ], + [ 28, MoveId.CHIP_AWAY ], + [ 36, MoveId.ANCIENT_POWER ], + [ 43, MoveId.ZEN_HEADBUTT ], + [ 51, MoveId.SCREECH ], + [ 58, MoveId.HEAD_SMASH ], + ], + [SpeciesId.SHIELDON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 6, MoveId.TAUNT ], + [ 10, MoveId.METAL_SOUND ], + [ 15, MoveId.TAKE_DOWN ], + [ 19, MoveId.IRON_DEFENSE ], + [ 24, MoveId.SWAGGER ], + [ 28, MoveId.ANCIENT_POWER ], + [ 33, MoveId.ENDURE ], + [ 37, MoveId.METAL_BURST ], + [ 42, MoveId.IRON_HEAD ], + [ 46, MoveId.HEAVY_SLAM ], + ], + [SpeciesId.BASTIODON]: [ + [ EVOLVE_MOVE, MoveId.BLOCK ], + [ RELEARN_MOVE, MoveId.WIDE_GUARD ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.METAL_SOUND ], + [ 15, MoveId.TAKE_DOWN ], + [ 19, MoveId.IRON_DEFENSE ], + [ 24, MoveId.SWAGGER ], + [ 28, MoveId.ANCIENT_POWER ], + [ 36, MoveId.ENDURE ], + [ 43, MoveId.METAL_BURST ], + [ 51, MoveId.IRON_HEAD ], + [ 58, MoveId.HEAVY_SLAM ], + ], + [SpeciesId.BURMY]: [ + [ 1, MoveId.PROTECT ], + [ 1, MoveId.STRUGGLE_BUG ], // Custom + [ 10, MoveId.TACKLE ], + [ 15, MoveId.BUG_BITE ], + [ 20, MoveId.STRING_SHOT ], + ], + [SpeciesId.WORMADAM]: [ + [ EVOLVE_MOVE, MoveId.QUIVER_DANCE ], + [ 1, MoveId.STRUGGLE_BUG ], // Previous Stage Move, Custom + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.PROTECT ], + [ 10, MoveId.TACKLE ], + [ 20, MoveId.STRING_SHOT ], + [ 23, MoveId.CONFUSION ], + [ 26, MoveId.RAZOR_LEAF ], + [ 29, MoveId.GROWTH ], + [ 32, MoveId.PSYBEAM ], + [ 35, MoveId.INFESTATION ], + [ 38, MoveId.FLAIL ], + [ 41, MoveId.ATTRACT ], + [ 44, MoveId.PSYCHIC ], + [ 47, MoveId.LEAF_STORM ], + [ 50, MoveId.BUG_BUZZ ], + ], + [SpeciesId.MOTHIM]: [ + [ EVOLVE_MOVE, MoveId.QUIVER_DANCE ], + [ 1, MoveId.STRUGGLE_BUG ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.BUG_BITE ], + [ 10, MoveId.PROTECT ], + [ 15, MoveId.BUG_BITE ], + [ 20, MoveId.STRING_SHOT ], + [ 23, MoveId.CONFUSION ], + [ 26, MoveId.GUST ], + [ 29, MoveId.POISON_POWDER ], + [ 32, MoveId.PSYBEAM ], + [ 35, MoveId.ROOST ], + [ 38, MoveId.STRUGGLE_BUG ], + [ 41, MoveId.AIR_SLASH ], + [ 44, MoveId.PSYCHIC ], + [ 47, MoveId.LUNGE ], + [ 50, MoveId.BUG_BUZZ ], + ], + [SpeciesId.COMBEE]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.STRUGGLE_BUG ], + ], + [SpeciesId.VESPIQUEN]: [ + [ EVOLVE_MOVE, MoveId.SLASH ], + [ 1, MoveId.GUST ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.STRUGGLE_BUG ], + [ 4, MoveId.FURY_CUTTER ], + [ 8, MoveId.AROMATIC_MIST ], + [ 12, MoveId.FELL_STINGER ], + [ 16, MoveId.FURY_SWIPES ], + [ 20, MoveId.SWAGGER ], + [ 24, MoveId.ROOST ], + [ 28, MoveId.AIR_SLASH ], + [ 32, MoveId.POWER_GEM ], + [ 36, MoveId.TOXIC ], + [ 40, MoveId.ATTACK_ORDER ], + [ 40, MoveId.DEFEND_ORDER ], + [ 40, MoveId.HEAL_ORDER ], + [ 44, MoveId.DESTINY_BOND ], + ], + [SpeciesId.PACHIRISU]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.BIDE ], + [ 5, MoveId.QUICK_ATTACK ], + [ 9, MoveId.CHARM ], + [ 13, MoveId.SPARK ], + [ 17, MoveId.ENDURE ], + [ 19, MoveId.NUZZLE ], + [ 21, MoveId.SWIFT ], + [ 25, MoveId.ELECTRO_BALL ], + [ 29, MoveId.SWEET_KISS ], + [ 33, MoveId.THUNDER_WAVE ], + [ 37, MoveId.SUPER_FANG ], + [ 41, MoveId.DISCHARGE ], + [ 45, MoveId.LAST_RESORT ], + [ 49, MoveId.THUNDER ], + ], + [SpeciesId.BUIZEL]: [ + [ 1, MoveId.TACKLE ], + [ 4, MoveId.GROWL ], + [ 7, MoveId.SOAK ], + [ 11, MoveId.QUICK_ATTACK ], + [ 15, MoveId.WATER_GUN ], + [ 18, MoveId.BITE ], + [ 21, MoveId.SWIFT ], + [ 24, MoveId.AQUA_JET ], + [ 27, MoveId.DOUBLE_HIT ], + [ 31, MoveId.WHIRLPOOL ], + [ 35, MoveId.LIQUIDATION ], + [ 38, MoveId.AQUA_TAIL ], + [ 41, MoveId.AGILITY ], + [ 45, MoveId.HYDRO_PUMP ], + [ 49, MoveId.WAVE_CRASH ], + ], + [SpeciesId.FLOATZEL]: [ + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.GROWL ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.SOAK ], + [ 15, MoveId.WATER_GUN ], + [ 18, MoveId.BITE ], + [ 21, MoveId.SWIFT ], + [ 24, MoveId.AQUA_JET ], + [ 29, MoveId.DOUBLE_HIT ], + [ 35, MoveId.WHIRLPOOL ], + [ 41, MoveId.LIQUIDATION ], + [ 46, MoveId.AQUA_TAIL ], + [ 51, MoveId.AGILITY ], + [ 57, MoveId.HYDRO_PUMP ], + [ 62, MoveId.WAVE_CRASH ], + ], + [SpeciesId.CHERUBI]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.MORNING_SUN ], + [ 5, MoveId.LEAFAGE ], + [ 10, MoveId.GROWTH ], + [ 15, MoveId.HELPING_HAND ], + [ 20, MoveId.MAGICAL_LEAF ], + [ 26, MoveId.LEECH_SEED ], + [ 30, MoveId.TAKE_DOWN ], + [ 35, MoveId.PETAL_BLIZZARD ], + [ 40, MoveId.WORRY_SEED ], + [ 45, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.CHERRIM]: [ + [ EVOLVE_MOVE, MoveId.SUNNY_DAY ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.MORNING_SUN ], + [ 1, MoveId.FLOWER_SHIELD ], + [ 1, MoveId.LEAFAGE ], + [ 15, MoveId.HELPING_HAND ], + [ 20, MoveId.MAGICAL_LEAF ], + [ 28, MoveId.LEECH_SEED ], + [ 34, MoveId.TAKE_DOWN ], + [ 41, MoveId.PETAL_BLIZZARD ], + [ 48, MoveId.WORRY_SEED ], + [ 55, MoveId.SOLAR_BEAM ], + [ 62, MoveId.PETAL_DANCE ], + ], + [SpeciesId.SHELLOS]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.MUD_SLAP ], + [ 5, MoveId.HARDEN ], + [ 10, MoveId.RECOVER ], + [ 15, MoveId.WATER_PULSE ], + [ 20, MoveId.ANCIENT_POWER ], + [ 25, MoveId.BODY_SLAM ], + [ 31, MoveId.MUDDY_WATER ], + [ 35, MoveId.EARTH_POWER ], + [ 40, MoveId.RAIN_DANCE ], + [ 45, MoveId.MEMENTO ], + ], + [SpeciesId.GASTRODON]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.RECOVER ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.MUD_SPORT ], + [ 15, MoveId.WATER_PULSE ], + [ 20, MoveId.ANCIENT_POWER ], + [ 25, MoveId.BODY_SLAM ], + [ 33, MoveId.MUDDY_WATER ], + [ 39, MoveId.EARTH_POWER ], + [ 46, MoveId.RAIN_DANCE ], + [ 53, MoveId.MEMENTO ], + ], + [SpeciesId.AMBIPOM]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.ASTONISH ], + [ 11, MoveId.BATON_PASS ], + [ 15, MoveId.TICKLE ], + [ 18, MoveId.FURY_SWIPES ], + [ 22, MoveId.SWIFT ], + [ 25, MoveId.SCREECH ], + [ 29, MoveId.AGILITY ], + [ 32, MoveId.DOUBLE_HIT ], + [ 36, MoveId.FLING ], + [ 39, MoveId.NASTY_PLOT ], + [ 43, MoveId.LAST_RESORT ], + ], + [SpeciesId.DRIFLOON]: [ + [ 1, MoveId.MINIMIZE ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.CONSTRICT ], + [ 4, MoveId.GUST ], + [ 8, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.PAYBACK ], + [ 16, MoveId.HEX ], + [ 20, MoveId.SHADOW_BALL ], + [ 24, MoveId.STOCKPILE ], + [ 24, MoveId.SPIT_UP ], + [ 24, MoveId.SWALLOW ], + [ 29, MoveId.SELF_DESTRUCT ], + [ 32, MoveId.DESTINY_BOND ], + [ 36, MoveId.BATON_PASS ], + [ 40, MoveId.TAILWIND ], + [ 44, MoveId.EXPLOSION ], + ], + [SpeciesId.DRIFBLIM]: [ + [ EVOLVE_MOVE, MoveId.PHANTOM_FORCE ], + [ 1, MoveId.GUST ], + [ 1, MoveId.MINIMIZE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.CONSTRICT ], + [ 1, MoveId.STRENGTH_SAP ], + [ 12, MoveId.PAYBACK ], + [ 16, MoveId.HEX ], + [ 20, MoveId.SHADOW_BALL ], + [ 24, MoveId.STOCKPILE ], + [ 24, MoveId.SPIT_UP ], + [ 24, MoveId.SWALLOW ], + [ 31, MoveId.SELF_DESTRUCT ], + [ 36, MoveId.DESTINY_BOND ], + [ 42, MoveId.BATON_PASS ], + [ 48, MoveId.TAILWIND ], + [ 54, MoveId.EXPLOSION ], + ], + [SpeciesId.BUNEARY]: [ + [ 1, MoveId.FRUSTRATION ], + [ 1, MoveId.POUND ], + [ 1, MoveId.SPLASH ], + [ 4, MoveId.DEFENSE_CURL ], + [ 8, MoveId.BABY_DOLL_EYES ], + [ 12, MoveId.AFTER_YOU ], + [ 16, MoveId.QUICK_ATTACK ], + [ 20, MoveId.DOUBLE_KICK ], + [ 24, MoveId.CHARM ], + [ 28, MoveId.BATON_PASS ], + [ 32, MoveId.HEADBUTT ], + [ 36, MoveId.AGILITY ], + [ 40, MoveId.ENTRAINMENT ], + [ 44, MoveId.FLATTER ], + [ 48, MoveId.BOUNCE ], + [ 52, MoveId.HEALING_WISH ], + ], + [SpeciesId.LOPUNNY]: [ + [ EVOLVE_MOVE, MoveId.RETURN ], + [ 1, MoveId.FRUSTRATION ], // Previous Stage Move + [ 1, MoveId.POUND ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.MIRROR_COAT ], + [ 1, MoveId.MAGIC_COAT ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 1, MoveId.ROTOTILLER ], + [ 12, MoveId.AFTER_YOU ], + [ 16, MoveId.QUICK_ATTACK ], + [ 20, MoveId.DOUBLE_KICK ], + [ 24, MoveId.CHARM ], + [ 28, MoveId.BATON_PASS ], + [ 32, MoveId.HEADBUTT ], + [ 36, MoveId.AGILITY ], + [ 40, MoveId.ENTRAINMENT ], + [ 44, MoveId.FLATTER ], + [ 48, MoveId.BOUNCE ], + [ 52, MoveId.HEALING_WISH ], + [ 56, MoveId.HIGH_JUMP_KICK ], + ], + [SpeciesId.MISMAGIUS]: [ // Previous Stage Relearn Learnset - [ RELEARN_MOVE, Moves.CONFUSION ], - [ RELEARN_MOVE, Moves.CONFUSE_RAY ], - [ RELEARN_MOVE, Moves.MEAN_LOOK ], - [ RELEARN_MOVE, Moves.HEX ], - [ RELEARN_MOVE, Moves.PSYBEAM ], - [ RELEARN_MOVE, Moves.PAIN_SPLIT ], - [ RELEARN_MOVE, Moves.PAYBACK ], - [ RELEARN_MOVE, Moves.SHADOW_BALL ], - [ RELEARN_MOVE, Moves.PERISH_SONG ], - [ 1, Moves.GROWL ], - [ 1, Moves.SPITE ], - [ 1, Moves.PSYWAVE ], - [ 1, Moves.LUCKY_CHANT ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.MAGICAL_LEAF ], - [ 1, Moves.POWER_GEM ], - [ 1, Moves.PHANTOM_FORCE ], - [ 1, Moves.MYSTICAL_FIRE ], - ], - [Species.HONCHKROW]: [ - [ 1, Moves.PECK ], // Previous Stage Move - [ 1, Moves.ASTONISH ], - [ 1, Moves.GUST ], // Previous Stage Move - [ 1, Moves.HAZE ], - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.NIGHT_SHADE ], // Previous Stage Move - [ 1, Moves.ASSURANCE ], // Previous Stage Move - [ 1, Moves.TAUNT ], // Previous Stage Move - [ 1, Moves.MEAN_LOOK ], // Previous Stage Move - [ 1, Moves.SUCKER_PUNCH ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.TORMENT ], // Previous Stage Move - [ 1, Moves.QUASH ], - [ 1, Moves.PURSUIT ], - [ 25, Moves.SWAGGER ], - [ 35, Moves.NASTY_PLOT ], - [ 45, Moves.FOUL_PLAY ], - [ 55, Moves.DARK_PULSE ], - [ 65, Moves.COMEUPPANCE ], - ], - [Species.GLAMEOW]: [ - [ 1, Moves.FAKE_OUT ], - [ 5, Moves.SCRATCH ], - [ 8, Moves.GROWL ], - [ 13, Moves.HYPNOSIS ], - [ 17, Moves.AERIAL_ACE ], - [ 20, Moves.FURY_SWIPES ], - [ 25, Moves.CHARM ], - [ 29, Moves.TAUNT ], - [ 32, Moves.RETALIATE ], - [ 37, Moves.SLASH ], - [ 41, Moves.SUCKER_PUNCH ], - [ 44, Moves.ATTRACT ], - [ 48, Moves.HONE_CLAWS ], - [ 50, Moves.PLAY_ROUGH ], - ], - [Species.PURUGLY]: [ - [ EVOLVE_MOVE, Moves.SWAGGER ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.PLAY_ROUGH ], - [ 1, Moves.SUCKER_PUNCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 13, Moves.HYPNOSIS ], - [ 17, Moves.AERIAL_ACE ], - [ 20, Moves.FURY_SWIPES ], - [ 25, Moves.CHARM ], - [ 29, Moves.TAUNT ], - [ 32, Moves.RETALIATE ], - [ 37, Moves.SLASH ], - [ 45, Moves.BODY_SLAM ], - [ 52, Moves.ATTRACT ], - [ 60, Moves.HONE_CLAWS ], - ], - [Species.CHINGLING]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.PSYWAVE ], // Custom - [ 4, Moves.GROWL ], - [ 7, Moves.ASTONISH ], - [ 10, Moves.CONFUSION ], - [ 13, Moves.YAWN ], - [ 16, Moves.LAST_RESORT ], - [ 19, Moves.ENTRAINMENT ], - [ 32, Moves.UPROAR ], - ], - [Species.STUNKY]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.POISON_GAS ], - [ 3, Moves.FEINT ], - [ 6, Moves.SMOKESCREEN ], - [ 9, Moves.ACID_SPRAY ], - [ 12, Moves.FURY_SWIPES ], - [ 15, Moves.FOCUS_ENERGY ], - [ 18, Moves.BITE ], - [ 21, Moves.VENOSHOCK ], - [ 24, Moves.SCREECH ], - [ 27, Moves.TOXIC ], - [ 30, Moves.SUCKER_PUNCH ], - [ 33, Moves.MEMENTO ], - [ 36, Moves.NIGHT_SLASH ], - [ 39, Moves.BELCH ], - [ 42, Moves.EXPLOSION ], - ], - [Species.SKUNTANK]: [ - [ EVOLVE_MOVE, Moves.FLAMETHROWER ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.FEINT ], - [ 1, Moves.ACID_SPRAY ], // Previous Stage Move - [ 12, Moves.FURY_SWIPES ], - [ 15, Moves.FOCUS_ENERGY ], - [ 18, Moves.BITE ], - [ 21, Moves.VENOSHOCK ], - [ 24, Moves.SCREECH ], - [ 27, Moves.TOXIC ], - [ 30, Moves.SUCKER_PUNCH ], - [ 33, Moves.MEMENTO ], - [ 38, Moves.NIGHT_SLASH ], - [ 43, Moves.BELCH ], - [ 48, Moves.EXPLOSION ], - ], - [Species.BRONZOR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CONFUSION ], - [ 4, Moves.CONFUSE_RAY ], - [ 8, Moves.PAYBACK ], - [ 12, Moves.IMPRISON ], - [ 16, Moves.GYRO_BALL ], - [ 20, Moves.HYPNOSIS ], - [ 24, Moves.SAFEGUARD ], - [ 28, Moves.EXTRASENSORY ], - [ 32, Moves.HEAVY_SLAM ], - [ 36, Moves.IRON_DEFENSE ], - [ 40, Moves.METAL_SOUND ], - [ 44, Moves.FUTURE_SIGHT ], - [ 45, Moves.HEAL_BLOCK ], - ], - [Species.BRONZONG]: [ - [ EVOLVE_MOVE, Moves.BLOCK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.SUNNY_DAY ], - [ 1, Moves.WEATHER_BALL ], - [ 1, Moves.PAYBACK ], - [ 12, Moves.IMPRISON ], - [ 16, Moves.GYRO_BALL ], - [ 20, Moves.HYPNOSIS ], - [ 24, Moves.SAFEGUARD ], - [ 28, Moves.EXTRASENSORY ], - [ 32, Moves.HEAVY_SLAM ], - [ 38, Moves.IRON_DEFENSE ], - [ 44, Moves.METAL_SOUND ], - [ 50, Moves.FUTURE_SIGHT ], - [ 52, Moves.HEAL_BLOCK ], - [ 56, Moves.RAIN_DANCE ], - ], - [Species.BONSLY]: [ - [ 1, Moves.FAKE_TEARS ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.TACKLE ], // Custom - [ 4, Moves.FLAIL ], - [ 8, Moves.ROCK_THROW ], - [ 12, Moves.BLOCK ], - [ 16, Moves.MIMIC ], - [ 20, Moves.ROCK_TOMB ], - [ 24, Moves.TEARFUL_LOOK ], - [ 28, Moves.SUCKER_PUNCH ], - [ 32, Moves.ROCK_SLIDE ], - [ 36, Moves.LOW_KICK ], - [ 40, Moves.COUNTER ], - [ 44, Moves.DOUBLE_EDGE ], - ], - [Species.MIME_JR]: [ - [ 1, Moves.POUND ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.BARRIER ], - [ 1, Moves.TICKLE ], //USUM - [ 4, Moves.BATON_PASS ], - [ 8, Moves.ENCORE ], - [ 12, Moves.CONFUSION ], - [ 16, Moves.MIMIC ], // Custom, swapped with Role Play to be closer to USUM - [ 20, Moves.PROTECT ], - [ 24, Moves.RECYCLE ], - [ 28, Moves.PSYBEAM ], - [ 32, Moves.ROLE_PLAY ], // Custom, swapped with Mimic - [ 36, Moves.LIGHT_SCREEN ], - [ 36, Moves.REFLECT ], - [ 36, Moves.SAFEGUARD ], - [ 40, Moves.SUCKER_PUNCH ], - [ 44, Moves.DAZZLING_GLEAM ], - [ 48, Moves.PSYCHIC ], - [ 52, Moves.TEETER_DANCE ], - ], - [Species.HAPPINY]: [ - [ 1, Moves.POUND ], - [ 1, Moves.COPYCAT ], - [ 4, Moves.DEFENSE_CURL ], - [ 8, Moves.SWEET_KISS ], - [ 12, Moves.DISARMING_VOICE ], - [ 16, Moves.COVET ], - [ 20, Moves.CHARM ], - ], - [Species.CHATOT]: [ - [ 1, Moves.PECK ], - [ 1, Moves.TAUNT ], - [ 1, Moves.HYPER_VOICE ], - [ 1, Moves.CHATTER ], - [ 1, Moves.CONFIDE ], - [ 5, Moves.GROWL ], - [ 9, Moves.MIRROR_MOVE ], - [ 13, Moves.SING ], - [ 17, Moves.FURY_ATTACK ], - [ 29, Moves.ROUND ], - [ 33, Moves.MIMIC ], - [ 37, Moves.ECHOED_VOICE ], - [ 41, Moves.ROOST ], - [ 45, Moves.UPROAR ], - [ 49, Moves.SYNCHRONOISE ], - [ 50, Moves.FEATHER_DANCE ], - ], - [Species.SPIRITOMB]: [ - [ 1, Moves.NIGHT_SHADE ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.PURSUIT ], - [ 5, Moves.SHADOW_SNEAK ], - [ 10, Moves.SPITE ], - [ 15, Moves.PAYBACK ], - [ 20, Moves.NASTY_PLOT ], - [ 25, Moves.HEX ], - [ 30, Moves.MEMENTO ], - [ 35, Moves.SUCKER_PUNCH ], - [ 40, Moves.CURSE ], - [ 45, Moves.SHADOW_BALL ], - [ 50, Moves.DARK_PULSE ], - [ 55, Moves.HYPNOSIS ], - [ 60, Moves.DREAM_EATER ], - ], - [Species.GIBLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SAND_TOMB ], - [ 6, Moves.SAND_ATTACK ], - [ 12, Moves.DRAGON_BREATH ], - [ 18, Moves.BULLDOZE ], - [ 25, Moves.BITE ], - [ 30, Moves.SLASH ], - [ 36, Moves.DRAGON_CLAW ], - [ 42, Moves.DIG ], - [ 48, Moves.SANDSTORM ], - [ 54, Moves.TAKE_DOWN ], - [ 60, Moves.DRAGON_RUSH ], - ], - [Species.GABITE]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.SAND_TOMB ], - [ 1, Moves.DUAL_CHOP ], - [ 18, Moves.BULLDOZE ], - [ 27, Moves.BITE ], - [ 34, Moves.SLASH ], - [ 42, Moves.DRAGON_CLAW ], - [ 50, Moves.DIG ], - [ 58, Moves.SANDSTORM ], - [ 66, Moves.TAKE_DOWN ], - [ 74, Moves.DRAGON_RUSH ], - ], - [Species.GARCHOMP]: [ - [ EVOLVE_MOVE, Moves.CRUNCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.SAND_TOMB ], - [ 1, Moves.DUAL_CHOP ], - [ 18, Moves.BULLDOZE ], - [ 27, Moves.BITE ], - [ 34, Moves.SLASH ], - [ 42, Moves.DRAGON_CLAW ], - [ 52, Moves.DIG ], - [ 62, Moves.SANDSTORM ], - [ 72, Moves.TAKE_DOWN ], - [ 82, Moves.DRAGON_RUSH ], - ], - [Species.MUNCHLAX]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LICK ], - [ 1, Moves.ODOR_SLEUTH ], - [ 4, Moves.DEFENSE_CURL ], - [ 8, Moves.RECYCLE ], - [ 12, Moves.COVET ], - [ 16, Moves.BITE ], - [ 20, Moves.STOCKPILE ], - [ 20, Moves.SWALLOW ], - [ 24, Moves.SCREECH ], - [ 28, Moves.BODY_SLAM ], - [ 32, Moves.FLING ], - [ 36, Moves.AMNESIA ], - [ 40, Moves.METRONOME ], - [ 44, Moves.FLAIL ], - [ 48, Moves.BELLY_DRUM ], - [ 52, Moves.LAST_RESORT ], - ], - [Species.RIOLU]: [ - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.ENDURE ], - [ 4, Moves.FEINT ], - [ 8, Moves.METAL_CLAW ], - [ 12, Moves.COUNTER ], - [ 16, Moves.WORK_UP ], - [ 20, Moves.ROCK_SMASH ], - [ 24, Moves.VACUUM_WAVE ], - [ 28, Moves.SCREECH ], - [ 32, Moves.QUICK_GUARD ], - [ 36, Moves.FORCE_PALM ], - [ 40, Moves.SWORDS_DANCE ], - [ 44, Moves.HELPING_HAND ], - [ 48, Moves.COPYCAT ], - [ 52, Moves.FINAL_GAMBIT ], - [ 56, Moves.REVERSAL ], - ], - [Species.LUCARIO]: [ - [ EVOLVE_MOVE, Moves.AURA_SPHERE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.ENDURE ], // Previous Stage Move - [ 1, Moves.SCREECH ], - [ 1, Moves.REVERSAL ], - [ 1, Moves.DETECT ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.FEINT ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.VACUUM_WAVE ], - [ 1, Moves.FINAL_GAMBIT ], - [ 1, Moves.LIFE_DEW ], - [ 12, Moves.COUNTER ], - [ 16, Moves.WORK_UP ], - [ 20, Moves.FORCE_PALM ], - [ 24, Moves.CALM_MIND ], - [ 28, Moves.METAL_SOUND ], - [ 32, Moves.QUICK_GUARD ], - [ 36, Moves.BONE_RUSH ], - [ 40, Moves.SWORDS_DANCE ], - [ 44, Moves.HEAL_PULSE ], - [ 48, Moves.METEOR_MASH ], - [ 52, Moves.DRAGON_PULSE ], - [ 56, Moves.EXTREME_SPEED ], - [ 60, Moves.CLOSE_COMBAT ], - ], - [Species.HIPPOPOTAS]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 4, Moves.BITE ], - [ 8, Moves.YAWN ], - [ 12, Moves.SAND_TOMB ], - [ 16, Moves.DIG ], - [ 20, Moves.CRUNCH ], - [ 24, Moves.SANDSTORM ], - [ 28, Moves.TAKE_DOWN ], - [ 32, Moves.ROAR ], - [ 36, Moves.REST ], - [ 40, Moves.EARTHQUAKE ], - [ 44, Moves.DOUBLE_EDGE ], - [ 48, Moves.FISSURE ], - [ 52, Moves.SLACK_OFF ], - ], - [Species.HIPPOWDON]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.YAWN ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 12, Moves.SAND_TOMB ], - [ 16, Moves.DIG ], - [ 20, Moves.CRUNCH ], - [ 24, Moves.SANDSTORM ], - [ 28, Moves.TAKE_DOWN ], - [ 32, Moves.ROAR ], - [ 38, Moves.REST ], - [ 44, Moves.EARTHQUAKE ], - [ 50, Moves.DOUBLE_EDGE ], - [ 56, Moves.FISSURE ], - [ 62, Moves.SLACK_OFF ], - ], - [Species.SKORUPI]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 3, Moves.HONE_CLAWS ], - [ 6, Moves.FELL_STINGER ], - [ 9, Moves.POISON_FANG ], - [ 12, Moves.BITE ], - [ 15, Moves.TOXIC_SPIKES ], - [ 18, Moves.BUG_BITE ], - [ 21, Moves.VENOSHOCK ], - [ 24, Moves.KNOCK_OFF ], - [ 27, Moves.SCARY_FACE ], - [ 30, Moves.PIN_MISSILE ], - [ 33, Moves.TOXIC ], - [ 36, Moves.NIGHT_SLASH ], - [ 39, Moves.CROSS_POISON ], - [ 42, Moves.X_SCISSOR ], - [ 45, Moves.ACUPRESSURE ], - [ 48, Moves.CRUNCH ], - ], - [Species.DRAPION]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.HONE_CLAWS ], - [ 1, Moves.FELL_STINGER ], - [ 9, Moves.POISON_FANG ], - [ 12, Moves.BITE ], - [ 15, Moves.TOXIC_SPIKES ], - [ 18, Moves.BUG_BITE ], - [ 21, Moves.VENOSHOCK ], - [ 24, Moves.KNOCK_OFF ], - [ 27, Moves.SCARY_FACE ], - [ 30, Moves.PIN_MISSILE ], - [ 33, Moves.TOXIC ], - [ 36, Moves.NIGHT_SLASH ], - [ 39, Moves.CROSS_POISON ], - [ 44, Moves.X_SCISSOR ], - [ 49, Moves.ACUPRESSURE ], - [ 54, Moves.CRUNCH ], - ], - [Species.CROAGUNK]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.MUD_SLAP ], - [ 4, Moves.ASTONISH ], - [ 8, Moves.TAUNT ], - [ 12, Moves.FLATTER ], - [ 16, Moves.LOW_KICK ], - [ 20, Moves.VENOSHOCK ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.SWAGGER ], - [ 32, Moves.POISON_JAB ], - [ 36, Moves.TOXIC ], - [ 40, Moves.NASTY_PLOT ], - [ 44, Moves.SLUDGE_BOMB ], - [ 48, Moves.BELCH ], - ], - [Species.TOXICROAK]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.TAUNT ], - [ 1, Moves.ASTONISH ], - [ 12, Moves.FLATTER ], - [ 16, Moves.LOW_KICK ], - [ 20, Moves.VENOSHOCK ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.SWAGGER ], - [ 32, Moves.POISON_JAB ], - [ 36, Moves.TOXIC ], - [ 42, Moves.NASTY_PLOT ], - [ 48, Moves.SLUDGE_BOMB ], - [ 54, Moves.BELCH ], - ], - [Species.CARNIVINE]: [ - [ 1, Moves.BIND ], - [ 1, Moves.GROWTH ], - [ 1, Moves.LEAFAGE ], // Custom - [ 7, Moves.BITE ], - [ 11, Moves.VINE_WHIP ], - [ 17, Moves.SWEET_SCENT ], - [ 21, Moves.INGRAIN ], - [ 27, Moves.GRASS_KNOT ], - [ 31, Moves.LEAF_TORNADO ], - [ 37, Moves.STOCKPILE ], - [ 37, Moves.SPIT_UP ], - [ 37, Moves.SWALLOW ], - [ 41, Moves.CRUNCH ], - [ 47, Moves.SEED_BOMB ], - [ 50, Moves.POWER_WHIP ], - ], - [Species.FINNEON]: [ - [ 1, Moves.POUND ], - [ 6, Moves.WATER_GUN ], - [ 13, Moves.RAIN_DANCE ], - [ 17, Moves.GUST ], - [ 22, Moves.WATER_PULSE ], - [ 26, Moves.ATTRACT ], - [ 29, Moves.SAFEGUARD ], - [ 33, Moves.AQUA_RING ], - [ 38, Moves.WHIRLPOOL ], - [ 42, Moves.U_TURN ], - [ 45, Moves.BOUNCE ], - [ 49, Moves.TAILWIND ], - [ 54, Moves.SOAK ], - ], - [Species.LUMINEON]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GUST ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SOAK ], - [ 13, Moves.RAIN_DANCE ], - [ 22, Moves.WATER_PULSE ], - [ 26, Moves.ATTRACT ], - [ 29, Moves.SAFEGUARD ], - [ 35, Moves.AQUA_RING ], - [ 42, Moves.WHIRLPOOL ], - [ 48, Moves.U_TURN ], - [ 53, Moves.BOUNCE ], - [ 59, Moves.TAILWIND ], - ], - [Species.MANTYKE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.SUPERSONIC ], - [ 8, Moves.WING_ATTACK ], - [ 12, Moves.WATER_PULSE ], - [ 16, Moves.WIDE_GUARD ], - [ 20, Moves.AGILITY ], - [ 24, Moves.BUBBLE_BEAM ], - [ 28, Moves.HEADBUTT ], - [ 32, Moves.AIR_SLASH ], - [ 36, Moves.AQUA_RING ], - [ 40, Moves.BOUNCE ], - [ 44, Moves.TAKE_DOWN ], - [ 48, Moves.HYDRO_PUMP ], - ], - [Species.SNOVER]: [ - [ 1, Moves.LEER ], - [ 1, Moves.POWDER_SNOW ], - [ 5, Moves.LEAFAGE ], - [ 10, Moves.MIST ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.RAZOR_LEAF ], - [ 25, Moves.ICY_WIND ], - [ 30, Moves.SWAGGER ], - [ 35, Moves.INGRAIN ], - [ 41, Moves.WOOD_HAMMER ], - [ 45, Moves.BLIZZARD ], - [ 50, Moves.SHEER_COLD ], - ], - [Species.ABOMASNOW]: [ - [ EVOLVE_MOVE, Moves.ICE_PUNCH ], - [ 1, Moves.LEER ], - [ 1, Moves.MIST ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.LEAFAGE ], - [ 1, Moves.AURORA_VEIL ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.RAZOR_LEAF ], - [ 25, Moves.ICY_WIND ], - [ 30, Moves.SWAGGER ], - [ 35, Moves.INGRAIN ], - [ 43, Moves.WOOD_HAMMER ], - [ 49, Moves.BLIZZARD ], - [ 56, Moves.SHEER_COLD ], - ], - [Species.WEAVILE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.AGILITY ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SLASH ], - [ 1, Moves.BEAT_UP ], - [ 1, Moves.TAUNT ], - [ 1, Moves.ASSURANCE ], - [ 1, Moves.ICE_SHARD ], - [ 1, Moves.EMBARGO ], - [ 18, Moves.METAL_CLAW ], - [ 24, Moves.ICY_WIND ], - [ 30, Moves.FURY_SWIPES ], - [ 36, Moves.HONE_CLAWS ], - [ 42, Moves.FLING ], - [ 48, Moves.NASTY_PLOT ], - [ 54, Moves.SCREECH ], - [ 60, Moves.NIGHT_SLASH ], - [ 66, Moves.DARK_PULSE ], - ], - [Species.MAGNEZONE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.BARRIER ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.MIRROR_COAT ], - [ 1, Moves.MAGNETIC_FLUX ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.GYRO_BALL ], - [ 20, Moves.SPARK ], - [ 24, Moves.SCREECH ], - [ 28, Moves.MAGNET_RISE ], - [ 34, Moves.FLASH_CANNON ], - [ 40, Moves.DISCHARGE ], - [ 46, Moves.METAL_SOUND ], - [ 52, Moves.LIGHT_SCREEN ], - [ 58, Moves.LOCK_ON ], - [ 64, Moves.ZAP_CANNON ], - ], - [Species.LICKILICKY]: [ - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.LICK ], - [ 1, Moves.TACKLE ], // Previous Stage Move, Custom - [ 1, Moves.ROLLOUT ], - [ 1, Moves.WRING_OUT ], - [ 6, Moves.REST ], - [ 18, Moves.WRAP ], - [ 24, Moves.DISABLE ], - [ 30, Moves.STOMP ], - [ 36, Moves.KNOCK_OFF ], - [ 42, Moves.SCREECH ], - [ 48, Moves.SLAM ], - [ 54, Moves.POWER_WHIP ], - [ 60, Moves.BELLY_DRUM ], - ], - [Species.RHYPERIOR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.HAMMER_ARM ], - [ 1, Moves.SMACK_DOWN ], - [ 1, Moves.BULLDOZE ], - [ 15, Moves.HORN_ATTACK ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.STOMP ], - [ 30, Moves.ROCK_BLAST ], - [ 35, Moves.DRILL_RUN ], - [ 40, Moves.TAKE_DOWN ], - [ 47, Moves.EARTHQUAKE ], - [ 54, Moves.STONE_EDGE ], - [ 61, Moves.MEGAHORN ], - [ 68, Moves.HORN_DRILL ], - [ 75, Moves.ROCK_WRECKER ], - ], - [Species.TANGROWTH]: [ - [ 1, Moves.BIND ], - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.BLOCK ], - [ 1, Moves.CONSTRICT ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.VINE_WHIP ], - [ 20, Moves.POISON_POWDER ], - [ 24, Moves.DOUBLE_HIT ], - [ 28, Moves.KNOCK_OFF ], - [ 32, Moves.GIGA_DRAIN ], - [ 34, Moves.ANCIENT_POWER ], - [ 36, Moves.SLEEP_POWDER ], - [ 40, Moves.SLAM ], - [ 44, Moves.TICKLE ], - [ 48, Moves.POWER_WHIP ], - [ 52, Moves.INGRAIN ], - [ 56, Moves.GRASSY_TERRAIN ], - ], - [Species.ELECTIVIRE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.CHARGE ], - [ 1, Moves.ION_DELUGE ], - [ 12, Moves.SWIFT ], - [ 16, Moves.SHOCK_WAVE ], - [ 20, Moves.THUNDER_WAVE ], - [ 24, Moves.SCREECH ], - [ 28, Moves.THUNDER_PUNCH ], - [ 34, Moves.DISCHARGE ], - [ 40, Moves.LOW_KICK ], - [ 46, Moves.THUNDERBOLT ], - [ 52, Moves.LIGHT_SCREEN ], - [ 58, Moves.THUNDER ], - [ 64, Moves.GIGA_IMPACT ], - ], - [Species.MAGMORTAR]: [ - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.SMOG ], - [ 12, Moves.CLEAR_SMOG ], - [ 16, Moves.FLAME_WHEEL ], - [ 20, Moves.CONFUSE_RAY ], - [ 24, Moves.SCARY_FACE ], - [ 28, Moves.FIRE_PUNCH ], - [ 34, Moves.LAVA_PLUME ], - [ 40, Moves.LOW_KICK ], - [ 46, Moves.FLAMETHROWER ], - [ 52, Moves.SUNNY_DAY ], - [ 58, Moves.FIRE_BLAST ], - [ 64, Moves.HYPER_BEAM ], - ], - [Species.TOGEKISS]: [ - [ EVOLVE_MOVE, Moves.AIR_SLASH ], - [ 1, Moves.POUND ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.GROWL ], - [ 1, Moves.METRONOME ], - [ 1, Moves.SKY_ATTACK ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.EXTREME_SPEED ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.FOLLOW_ME ], - [ 1, Moves.WISH ], - [ 1, Moves.YAWN ], - [ 1, Moves.LAST_RESORT ], - [ 1, Moves.AURA_SPHERE ], - [ 1, Moves.AFTER_YOU ], - [ 1, Moves.FAIRY_WIND ], - [ 1, Moves.LIFE_DEW ], - ], - [Species.YANMEGA]: [ - [ RELEARN_MOVE, Moves.HYPNOSIS ], - [ 1, Moves.TACKLE ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.AIR_CUTTER ], // Previous Stage Move - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.WING_ATTACK ], // Previous Stage Move - [ 1, Moves.AIR_SLASH ], - [ 1, Moves.BUG_BUZZ ], - [ 14, Moves.QUICK_ATTACK ], - [ 17, Moves.DETECT ], - [ 22, Moves.SUPERSONIC ], - [ 27, Moves.UPROAR ], - [ 30, Moves.BUG_BITE ], - [ 33, Moves.ANCIENT_POWER ], - [ 38, Moves.FEINT ], - [ 43, Moves.SLASH ], - [ 46, Moves.SCREECH ], - [ 49, Moves.U_TURN ], - ], - [Species.LEAFEON]: [ - [ EVOLVE_MOVE, Moves.SAPPY_SEED ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWIFT ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.RAZOR_LEAF ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.LEECH_SEED ], - [ 30, Moves.MAGICAL_LEAF ], - [ 35, Moves.SYNTHESIS ], - [ 40, Moves.SUNNY_DAY ], - [ 45, Moves.GIGA_DRAIN ], - [ 50, Moves.SWORDS_DANCE ], - [ 55, Moves.LEAF_BLADE ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.GLACEON]: [ - [ EVOLVE_MOVE, Moves.FREEZY_FROST ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.SWIFT ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.ICY_WIND ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.ICE_SHARD ], - [ 30, Moves.BITE ], - [ 35, Moves.ICE_FANG ], - [ 40, Moves.SNOWSCAPE ], - [ 45, Moves.FREEZE_DRY ], - [ 50, Moves.MIRROR_COAT ], - [ 55, Moves.BLIZZARD ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.GLISCOR]: [ - [ 1, Moves.POISON_STING ], // Previous Stage Move - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.HARDEN ], - [ 1, Moves.POISON_TAIL ], // Previous Stage Move - [ 1, Moves.SLASH ], // Previous Stage Move - [ 1, Moves.POISON_JAB ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 13, Moves.QUICK_ATTACK ], - [ 16, Moves.FURY_CUTTER ], - [ 19, Moves.KNOCK_OFF ], - [ 22, Moves.ACROBATICS ], - [ 27, Moves.NIGHT_SLASH ], - [ 30, Moves.U_TURN ], - [ 35, Moves.SCREECH ], - [ 40, Moves.X_SCISSOR ], - [ 45, Moves.CRABHAMMER ], - [ 50, Moves.SWORDS_DANCE ], - ], - [Species.MAMOSWINE]: [ - [ EVOLVE_MOVE, Moves.DOUBLE_HIT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FLAIL ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.ODOR_SLEUTH ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.ICE_FANG ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.MIST ], - [ 25, Moves.ENDURE ], - [ 30, Moves.ICY_WIND ], - [ 37, Moves.AMNESIA ], - [ 44, Moves.TAKE_DOWN ], - [ 51, Moves.EARTHQUAKE ], - [ 58, Moves.BLIZZARD ], - [ 65, Moves.THRASH ], - ], - [Species.PORYGON_Z]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.CONVERSION ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.MAGNET_RISE ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.TRICK_ROOM ], - [ 15, Moves.THUNDER_SHOCK ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.CONVERSION_2 ], - [ 30, Moves.AGILITY ], - [ 35, Moves.RECOVER ], - [ 40, Moves.DISCHARGE ], - [ 45, Moves.TRI_ATTACK ], - [ 50, Moves.MAGIC_COAT ], - [ 55, Moves.LOCK_ON ], - [ 60, Moves.ZAP_CANNON ], - [ 65, Moves.HYPER_BEAM ], - ], - [Species.GALLADE]: [ - [ EVOLVE_MOVE, Moves.SLASH ], - [ 1, Moves.LEER ], - [ 1, Moves.GROWL ], - [ 1, Moves.PSYBEAM ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.PSYCHIC ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.DREAM_EATER ], - [ 1, Moves.CHARM ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.FUTURE_SIGHT ], - [ 1, Moves.IMPRISON ], - [ 1, Moves.CALM_MIND ], - [ 1, Moves.LEAF_BLADE ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.SACRED_SWORD ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.DRAINING_KISS ], - [ 1, Moves.LIFE_DEW ], - [ 1, Moves.AQUA_CUTTER ], - [ 9, Moves.HELPING_HAND ], - [ 12, Moves.FEINT ], - [ 15, Moves.TELEPORT ], - [ 18, Moves.AERIAL_ACE ], - [ 23, Moves.FALSE_SWIPE ], - [ 28, Moves.PROTECT ], - [ 35, Moves.SWORDS_DANCE ], - [ 42, Moves.PSYCHO_CUT ], - [ 49, Moves.HEAL_PULSE ], - [ 56, Moves.WIDE_GUARD ], - [ 56, Moves.QUICK_GUARD ], - [ 63, Moves.CLOSE_COMBAT ], - ], - [Species.PROBOPASS]: [ - [ EVOLVE_MOVE, Moves.TRI_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], // Previous Stage Move - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.BLOCK ], - [ 1, Moves.ROCK_THROW ], // Previous Stage Move - [ 1, Moves.GRAVITY ], - [ 1, Moves.MAGNET_RISE ], - [ 1, Moves.WIDE_GUARD ], - [ 1, Moves.MAGNETIC_FLUX ], - [ 13, Moves.THUNDER_WAVE ], - [ 16, Moves.REST ], - [ 19, Moves.SPARK ], - [ 22, Moves.ROCK_SLIDE ], - [ 25, Moves.POWER_GEM ], - [ 28, Moves.ROCK_BLAST ], - [ 31, Moves.DISCHARGE ], - [ 34, Moves.SANDSTORM ], - [ 37, Moves.EARTH_POWER ], - [ 40, Moves.STONE_EDGE ], - [ 43, Moves.ZAP_CANNON ], - [ 43, Moves.LOCK_ON ], - ], - [Species.DUSKNOIR]: [ - [ 1, Moves.FIRE_PUNCH ], - [ 1, Moves.ICE_PUNCH ], - [ 1, Moves.THUNDER_PUNCH ], - [ 1, Moves.BIND ], - [ 1, Moves.LEER ], - [ 1, Moves.DISABLE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.PURSUIT ], // Previous Stage Move, Custom - [ 1, Moves.SHADOW_PUNCH ], - [ 1, Moves.GRAVITY ], - [ 1, Moves.SHADOW_SNEAK ], - [ 12, Moves.CONFUSE_RAY ], - [ 16, Moves.NIGHT_SHADE ], - [ 20, Moves.PAYBACK ], - [ 24, Moves.WILL_O_WISP ], - [ 28, Moves.MEAN_LOOK ], - [ 32, Moves.HEX ], - [ 36, Moves.CURSE ], - [ 42, Moves.SHADOW_BALL ], - [ 48, Moves.FUTURE_SIGHT ], - [ 54, Moves.DESTINY_BOND ], - ], - [Species.FROSLASS]: [ - [ EVOLVE_MOVE, Moves.HEX ], - [ 1, Moves.HEADBUTT ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.PROTECT ], - [ 1, Moves.DESTINY_BOND ], - [ 1, Moves.WEATHER_BALL ], // Previous Stage Move - [ 1, Moves.CRUNCH ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.OMINOUS_WIND ], - [ 15, Moves.ICE_SHARD ], - [ 20, Moves.DRAINING_KISS ], - [ 25, Moves.ICY_WIND ], - [ 30, Moves.FROST_BREATH ], - [ 35, Moves.CONFUSE_RAY ], - [ 40, Moves.SNOWSCAPE ], - [ 47, Moves.WILL_O_WISP ], - [ 54, Moves.AURORA_VEIL ], - [ 61, Moves.SHADOW_BALL ], - [ 68, Moves.BLIZZARD ], - ], - [Species.ROTOM]: [ - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.THUNDER_SHOCK ], - [ 10, Moves.CONFUSE_RAY ], - [ 15, Moves.CHARGE ], - [ 20, Moves.ELECTRO_BALL ], - [ 25, Moves.THUNDER_WAVE ], - [ 30, Moves.SHOCK_WAVE ], - [ 35, Moves.HEX ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.TRICK ], - [ 50, Moves.DISCHARGE ], - [ 55, Moves.UPROAR ], - ], - [Species.UXIE]: [ - [ RELEARN_MOVE, Moves.TRI_ATTACK ], - [ RELEARN_MOVE, Moves.SNORE ], - [ RELEARN_MOVE, Moves.SAFEGUARD ], - [ RELEARN_MOVE, Moves.IRON_TAIL ], - [ RELEARN_MOVE, Moves.PSYCHO_CUT ], - [ RELEARN_MOVE, Moves.WONDER_ROOM ], - [ RELEARN_MOVE, Moves.MAGIC_ROOM ], - [ RELEARN_MOVE, Moves.ROUND ], - [ RELEARN_MOVE, Moves.ALLY_SWITCH ], - [ RELEARN_MOVE, Moves.EXPANDING_FORCE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.REST ], - [ 7, Moves.SWIFT ], - [ 14, Moves.ENDURE ], - [ 21, Moves.PSYBEAM ], - [ 28, Moves.IMPRISON ], - [ 35, Moves.EXTRASENSORY ], - [ 42, Moves.AMNESIA ], - [ 49, Moves.PSYCHIC ], - [ 56, Moves.YAWN ], - [ 63, Moves.FUTURE_SIGHT ], - [ 70, Moves.FLAIL ], - [ 77, Moves.MEMENTO ], - [ 84, Moves.MYSTICAL_POWER ], - ], - [Species.MESPRIT]: [ - [ RELEARN_MOVE, Moves.TRI_ATTACK ], - [ RELEARN_MOVE, Moves.SNORE ], - [ RELEARN_MOVE, Moves.SAFEGUARD ], - [ RELEARN_MOVE, Moves.IRON_TAIL ], - [ RELEARN_MOVE, Moves.PSYCHO_CUT ], - [ RELEARN_MOVE, Moves.WONDER_ROOM ], - [ RELEARN_MOVE, Moves.MAGIC_ROOM ], - [ RELEARN_MOVE, Moves.ROUND ], - [ RELEARN_MOVE, Moves.ALLY_SWITCH ], - [ RELEARN_MOVE, Moves.EXPANDING_FORCE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.REST ], - [ 7, Moves.SWIFT ], - [ 14, Moves.PROTECT ], - [ 21, Moves.PSYBEAM ], - [ 28, Moves.IMPRISON ], - [ 35, Moves.EXTRASENSORY ], - [ 42, Moves.CHARM ], - [ 49, Moves.PSYCHIC ], - [ 56, Moves.FLATTER ], - [ 63, Moves.FUTURE_SIGHT ], - [ 70, Moves.COPYCAT ], - [ 77, Moves.HEALING_WISH ], - [ 84, Moves.MYSTICAL_POWER ], - ], - [Species.AZELF]: [ - [ RELEARN_MOVE, Moves.SELF_DESTRUCT ], - [ RELEARN_MOVE, Moves.TRI_ATTACK ], - [ RELEARN_MOVE, Moves.SNORE ], - [ RELEARN_MOVE, Moves.SAFEGUARD ], - [ RELEARN_MOVE, Moves.IRON_TAIL ], - [ RELEARN_MOVE, Moves.PAYBACK ], - [ RELEARN_MOVE, Moves.ASSURANCE ], - [ RELEARN_MOVE, Moves.PSYCHO_CUT ], - [ RELEARN_MOVE, Moves.WONDER_ROOM ], - [ RELEARN_MOVE, Moves.MAGIC_ROOM ], - [ RELEARN_MOVE, Moves.ROUND ], - [ RELEARN_MOVE, Moves.ALLY_SWITCH ], - [ RELEARN_MOVE, Moves.EXPANDING_FORCE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.REST ], - [ 7, Moves.SWIFT ], - [ 14, Moves.DETECT ], - [ 21, Moves.PSYBEAM ], - [ 28, Moves.IMPRISON ], - [ 35, Moves.EXTRASENSORY ], - [ 42, Moves.NASTY_PLOT ], - [ 49, Moves.PSYCHIC ], - [ 56, Moves.UPROAR ], - [ 63, Moves.FUTURE_SIGHT ], - [ 70, Moves.LAST_RESORT ], - [ 77, Moves.EXPLOSION ], - [ 84, Moves.MYSTICAL_POWER ], - ], - [Species.DIALGA]: [ - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.METAL_CLAW ], - [ 8, Moves.DRAGON_BREATH ], - [ 16, Moves.ANCIENT_POWER ], - [ 24, Moves.SLASH ], - [ 32, Moves.FLASH_CANNON ], - [ 40, Moves.DRAGON_CLAW ], - [ 48, Moves.AURA_SPHERE ], - [ 56, Moves.POWER_GEM ], - [ 64, Moves.METAL_BURST ], - [ 72, Moves.EARTH_POWER ], - [ 80, Moves.IRON_TAIL ], - [ 88, Moves.ROAR_OF_TIME ], - ], - [Species.PALKIA]: [ - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.WATER_PULSE ], - [ 8, Moves.DRAGON_BREATH ], - [ 16, Moves.ANCIENT_POWER ], - [ 24, Moves.SLASH ], - [ 32, Moves.AQUA_RING ], - [ 48, Moves.AURA_SPHERE ], - [ 56, Moves.POWER_GEM ], - [ 64, Moves.AQUA_TAIL ], - [ 72, Moves.EARTH_POWER ], - [ 80, Moves.SPACIAL_REND ], - [ 88, Moves.HYDRO_PUMP ], - ], - [Species.HEATRAN]: [ - [ 1, Moves.LEER ], - [ 1, Moves.FIRE_SPIN ], - [ 6, Moves.METAL_CLAW ], - [ 12, Moves.ANCIENT_POWER ], - [ 18, Moves.FIRE_FANG ], - [ 24, Moves.SCARY_FACE ], - [ 30, Moves.IRON_HEAD ], - [ 36, Moves.CRUNCH ], - [ 42, Moves.LAVA_PLUME ], - [ 48, Moves.METAL_SOUND ], - [ 54, Moves.EARTH_POWER ], - [ 60, Moves.HEAT_WAVE ], - [ 66, Moves.STONE_EDGE ], - [ 72, Moves.MAGMA_STORM ], - ], - [Species.REGIGIGAS]: [ - [ 1, Moves.POUND ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.DIZZY_PUNCH ], - [ 1, Moves.FORESIGHT ], - [ 6, Moves.PAYBACK ], - [ 12, Moves.REVENGE ], - [ 18, Moves.STOMP ], - [ 24, Moves.PROTECT ], - [ 30, Moves.KNOCK_OFF ], - [ 36, Moves.MEGA_PUNCH ], - [ 42, Moves.BODY_PRESS ], - [ 48, Moves.WIDE_GUARD ], - [ 54, Moves.ZEN_HEADBUTT ], - [ 60, Moves.HEAVY_SLAM ], - [ 66, Moves.HAMMER_ARM ], - [ 72, Moves.GIGA_IMPACT ], - [ 78, Moves.CRUSH_GRIP ], - ], - [Species.GIRATINA]: [ - [ 1, Moves.SHADOW_SNEAK ], - [ 1, Moves.DEFOG ], - [ 1, Moves.DRAGON_BREATH ], //USUM - [ 7, Moves.OMINOUS_WIND ], //USUM - [ 14, Moves.ANCIENT_POWER ], - [ 21, Moves.HEX ], - [ 28, Moves.SLASH ], - [ 35, Moves.SCARY_FACE ], - [ 42, Moves.SHADOW_CLAW ], - [ 49, Moves.PAIN_SPLIT ], - [ 56, Moves.AURA_SPHERE ], - [ 63, Moves.DRAGON_CLAW ], - [ 70, Moves.EARTH_POWER ], - [ 77, Moves.SHADOW_FORCE ], - [ 84, Moves.DESTINY_BOND ], - ], - [Species.CRESSELIA]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.DOUBLE_TEAM ], - [ 6, Moves.MIST ], - [ 12, Moves.AURORA_BEAM ], - [ 18, Moves.PSYBEAM ], - [ 24, Moves.ALLY_SWITCH ], - [ 30, Moves.SLASH ], - [ 36, Moves.PSYCHO_CUT ], - [ 42, Moves.MOONLIGHT ], - [ 48, Moves.SAFEGUARD ], - [ 54, Moves.PSYCHIC ], - [ 60, Moves.MOONBLAST ], - [ 66, Moves.FUTURE_SIGHT ], - [ 72, Moves.LUNAR_DANCE ], - [ 72, Moves.LUNAR_BLESSING ], - ], - [Species.PHIONE]: [ - [ 1, Moves.WATER_GUN ], - [ 9, Moves.CHARM ], - [ 16, Moves.SUPERSONIC ], - [ 24, Moves.BUBBLE_BEAM ], - [ 31, Moves.ACID_ARMOR ], - [ 39, Moves.WHIRLPOOL ], - [ 46, Moves.WATER_PULSE ], - [ 54, Moves.AQUA_RING ], - [ 61, Moves.DIVE ], - [ 69, Moves.RAIN_DANCE ], - [ 75, Moves.TAKE_HEART ], - ], - [Species.MANAPHY]: [ - [ 1, Moves.HEART_SWAP ], - [ 1, Moves.TAIL_GLOW ], - [ 1, Moves.WATER_GUN ], - [ 9, Moves.CHARM ], - [ 16, Moves.SUPERSONIC ], - [ 24, Moves.BUBBLE_BEAM ], - [ 31, Moves.ACID_ARMOR ], - [ 39, Moves.WHIRLPOOL ], - [ 46, Moves.WATER_PULSE ], - [ 54, Moves.AQUA_RING ], - [ 61, Moves.DIVE ], - [ 69, Moves.RAIN_DANCE ], - [ 76, Moves.TAKE_HEART ], - ], - [Species.DARKRAI]: [ - [ 1, Moves.DISABLE ], - [ 1, Moves.OMINOUS_WIND ], - [ 1, Moves.PURSUIT ], // Custom - [ 11, Moves.QUICK_ATTACK ], - [ 20, Moves.HYPNOSIS ], - [ 29, Moves.SUCKER_PUNCH ], - [ 38, Moves.NIGHT_SHADE ], - [ 47, Moves.DOUBLE_TEAM ], - [ 57, Moves.HAZE ], - [ 66, Moves.DARK_VOID ], - [ 75, Moves.NASTY_PLOT ], - [ 84, Moves.DREAM_EATER ], - [ 93, Moves.DARK_PULSE ], - ], - [Species.SHAYMIN]: [ - [ 1, Moves.LEAFAGE ], // Custom - [ 1, Moves.GROWTH ], - [ 10, Moves.MAGICAL_LEAF ], - [ 19, Moves.LEECH_SEED ], - [ 28, Moves.SYNTHESIS ], - [ 37, Moves.SWEET_SCENT ], - [ 46, Moves.NATURAL_GIFT ], - [ 55, Moves.WORRY_SEED ], - [ 64, Moves.AROMATHERAPY ], - [ 73, Moves.ENERGY_BALL ], - [ 82, Moves.SWEET_KISS ], - [ 91, Moves.HEALING_WISH ], - [ 100, Moves.SEED_FLARE ], - ], - [Species.ARCEUS]: [ - [ 1, Moves.SEISMIC_TOSS ], - [ 1, Moves.COSMIC_POWER ], - [ 1, Moves.PUNISHMENT ], - [ 10, Moves.GRAVITY ], - [ 20, Moves.EARTH_POWER ], - [ 30, Moves.HYPER_VOICE ], - [ 40, Moves.EXTREME_SPEED ], - [ 50, Moves.HEALING_WISH ], - [ 60, Moves.FUTURE_SIGHT ], - [ 70, Moves.RECOVER ], - [ 80, Moves.HYPER_BEAM ], - [ 90, Moves.PERISH_SONG ], - [ 100, Moves.JUDGMENT ], - ], - [Species.VICTINI]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.FLAME_CHARGE ], - [ 1, Moves.V_CREATE ], - [ 7, Moves.WORK_UP ], - [ 14, Moves.INCINERATE ], - [ 21, Moves.STORED_POWER ], - [ 28, Moves.HEADBUTT ], - [ 35, Moves.ENDURE ], - [ 42, Moves.ZEN_HEADBUTT ], - [ 49, Moves.INFERNO ], - [ 56, Moves.REVERSAL ], - [ 63, Moves.SEARING_SHOT ], - [ 70, Moves.DOUBLE_EDGE ], - [ 77, Moves.FLARE_BLITZ ], - [ 84, Moves.OVERHEAT ], - [ 91, Moves.FINAL_GAMBIT ], - ], - [Species.SNIVY]: [ - [ 1, Moves.TACKLE ], - [ 4, Moves.LEER ], - [ 5, Moves.VINE_WHIP ], // Custom, moved from 7 to 5 - [ 10, Moves.WRAP ], - [ 13, Moves.GROWTH ], - [ 16, Moves.MAGICAL_LEAF ], - [ 19, Moves.LEECH_SEED ], - [ 22, Moves.MEGA_DRAIN ], - [ 25, Moves.SLAM ], - [ 28, Moves.LEAF_BLADE ], - [ 31, Moves.COIL ], - [ 34, Moves.GIGA_DRAIN ], - [ 37, Moves.GASTRO_ACID ], - [ 40, Moves.LEAF_STORM ], - ], - [Species.SERVINE]: [ - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 13, Moves.GROWTH ], - [ 16, Moves.MAGICAL_LEAF ], - [ 20, Moves.LEECH_SEED ], - [ 24, Moves.MEGA_DRAIN ], - [ 28, Moves.SLAM ], - [ 32, Moves.LEAF_BLADE ], - [ 36, Moves.COIL ], - [ 40, Moves.GIGA_DRAIN ], - [ 44, Moves.GASTRO_ACID ], - [ 48, Moves.LEAF_STORM ], - ], - [Species.SERPERIOR]: [ - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 13, Moves.GROWTH ], - [ 16, Moves.MAGICAL_LEAF ], - [ 20, Moves.LEECH_SEED ], - [ 24, Moves.MEGA_DRAIN ], - [ 28, Moves.SLAM ], - [ 32, Moves.LEAF_BLADE ], - [ 38, Moves.COIL ], - [ 44, Moves.GIGA_DRAIN ], - [ 50, Moves.GASTRO_ACID ], - [ 56, Moves.LEAF_STORM ], - ], - [Species.TEPIG]: [ - [ 1, Moves.TACKLE ], - [ 3, Moves.TAIL_WHIP ], - [ 5, Moves.EMBER ], // Custom, moved from 7 to 5 - [ 9, Moves.ENDURE ], - [ 13, Moves.DEFENSE_CURL ], - [ 15, Moves.FLAME_CHARGE ], - [ 19, Moves.SMOG ], - [ 21, Moves.ROLLOUT ], - [ 25, Moves.TAKE_DOWN ], - [ 27, Moves.HEAT_CRASH ], - [ 31, Moves.ASSURANCE ], - [ 33, Moves.FLAMETHROWER ], - [ 37, Moves.HEAD_SMASH ], - [ 39, Moves.ROAR ], - [ 43, Moves.FLARE_BLITZ ], - ], - [Species.PIGNITE]: [ - [ EVOLVE_MOVE, Moves.ARM_THRUST ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.EMBER ], - [ 1, Moves.ENDURE ], - [ 13, Moves.DEFENSE_CURL ], - [ 15, Moves.FLAME_CHARGE ], - [ 20, Moves.SMOG ], - [ 23, Moves.ROLLOUT ], - [ 28, Moves.TAKE_DOWN ], - [ 31, Moves.HEAT_CRASH ], - [ 36, Moves.ASSURANCE ], - [ 39, Moves.FLAMETHROWER ], - [ 44, Moves.HEAD_SMASH ], - [ 47, Moves.ROAR ], - [ 52, Moves.FLARE_BLITZ ], - ], - [Species.EMBOAR]: [ - [ RELEARN_MOVE, Moves.ENDURE ], - [ RELEARN_MOVE, Moves.HAMMER_ARM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.EMBER ], - [ 1, Moves.ARM_THRUST ], - [ 13, Moves.DEFENSE_CURL ], - [ 15, Moves.FLAME_CHARGE ], - [ 20, Moves.SMOG ], - [ 23, Moves.ROLLOUT ], - [ 28, Moves.TAKE_DOWN ], - [ 31, Moves.HEAT_CRASH ], - [ 38, Moves.ASSURANCE ], - [ 43, Moves.FLAMETHROWER ], - [ 50, Moves.HEAD_SMASH ], - [ 55, Moves.ROAR ], - [ 62, Moves.FLARE_BLITZ ], - ], - [Species.OSHAWOTT]: [ - [ 1, Moves.TACKLE ], - [ 5, Moves.TAIL_WHIP ], - [ 5, Moves.WATER_GUN ], // Custom, moved from 7 to 5 - [ 11, Moves.SOAK ], - [ 13, Moves.FOCUS_ENERGY ], - [ 17, Moves.RAZOR_SHELL ], - [ 19, Moves.FURY_CUTTER ], - [ 23, Moves.WATER_PULSE ], - [ 25, Moves.AERIAL_ACE ], - [ 29, Moves.AQUA_JET ], - [ 31, Moves.ENCORE ], - [ 35, Moves.AQUA_TAIL ], - [ 37, Moves.RETALIATE ], - [ 41, Moves.SWORDS_DANCE ], - [ 43, Moves.HYDRO_PUMP ], - ], - [Species.DEWOTT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SOAK ], - [ 13, Moves.FOCUS_ENERGY ], - [ 18, Moves.RAZOR_SHELL ], - [ 21, Moves.FURY_CUTTER ], - [ 26, Moves.WATER_PULSE ], - [ 29, Moves.AERIAL_ACE ], - [ 34, Moves.AQUA_JET ], - [ 37, Moves.ENCORE ], - [ 42, Moves.AQUA_TAIL ], - [ 45, Moves.RETALIATE ], - [ 50, Moves.SWORDS_DANCE ], - [ 53, Moves.HYDRO_PUMP ], - ], - [Species.SAMUROTT]: [ - [ EVOLVE_MOVE, Moves.SLASH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.MEGAHORN ], - [ 1, Moves.SOAK ], - [ 13, Moves.FOCUS_ENERGY ], - [ 18, Moves.RAZOR_SHELL ], - [ 21, Moves.FURY_CUTTER ], - [ 25, Moves.WATER_PULSE ], - [ 29, Moves.AERIAL_ACE ], - [ 34, Moves.AQUA_JET ], - [ 39, Moves.ENCORE ], - [ 46, Moves.AQUA_TAIL ], - [ 51, Moves.RETALIATE ], - [ 58, Moves.SWORDS_DANCE ], - [ 63, Moves.HYDRO_PUMP ], - ], - [Species.PATRAT]: [ - [ 1, Moves.TACKLE ], - [ 3, Moves.LEER ], - [ 6, Moves.BITE ], - [ 8, Moves.BIDE ], - [ 11, Moves.DETECT ], - [ 13, Moves.SAND_ATTACK ], - [ 16, Moves.CRUNCH ], - [ 18, Moves.HYPNOSIS ], - [ 21, Moves.SUPER_FANG ], - [ 23, Moves.AFTER_YOU ], - [ 26, Moves.FOCUS_ENERGY ], - [ 28, Moves.WORK_UP ], - [ 31, Moves.HYPER_FANG ], - [ 33, Moves.NASTY_PLOT ], - [ 36, Moves.MEAN_LOOK ], - [ 38, Moves.BATON_PASS ], - [ 41, Moves.SLAM ], - ], - [Species.WATCHOG]: [ - [ EVOLVE_MOVE, Moves.CONFUSE_RAY ], - [ RELEARN_MOVE, Moves.WORK_UP ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.ROTOTILLER ], - [ 8, Moves.BIDE ], - [ 11, Moves.DETECT ], - [ 13, Moves.SAND_ATTACK ], - [ 16, Moves.CRUNCH ], - [ 18, Moves.HYPNOSIS ], - [ 22, Moves.SUPER_FANG ], - [ 25, Moves.AFTER_YOU ], - [ 29, Moves.FOCUS_ENERGY ], - [ 32, Moves.PSYCH_UP ], - [ 36, Moves.HYPER_FANG ], - [ 39, Moves.NASTY_PLOT ], - [ 43, Moves.MEAN_LOOK ], - [ 46, Moves.BATON_PASS ], - [ 50, Moves.SLAM ], - ], - [Species.LILLIPUP]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 4, Moves.WORK_UP ], - [ 8, Moves.BITE ], - [ 12, Moves.RETALIATE ], - [ 17, Moves.BABY_DOLL_EYES ], - [ 20, Moves.PLAY_ROUGH ], - [ 24, Moves.CRUNCH ], - [ 28, Moves.TAKE_DOWN ], - [ 32, Moves.HELPING_HAND ], - [ 36, Moves.REVERSAL ], - [ 40, Moves.ROAR ], - [ 44, Moves.LAST_RESORT ], - [ 48, Moves.GIGA_IMPACT ], - ], - [Species.HERDIER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.WORK_UP ], - [ 12, Moves.RETALIATE ], - [ 19, Moves.BABY_DOLL_EYES ], - [ 24, Moves.PLAY_ROUGH ], - [ 30, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 42, Moves.HELPING_HAND ], - [ 48, Moves.REVERSAL ], - [ 54, Moves.ROAR ], - [ 60, Moves.LAST_RESORT ], - [ 66, Moves.GIGA_IMPACT ], - ], - [Species.STOUTLAND]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.WORK_UP ], - [ 12, Moves.RETALIATE ], - [ 19, Moves.BABY_DOLL_EYES ], - [ 24, Moves.PLAY_ROUGH ], - [ 30, Moves.CRUNCH ], - [ 38, Moves.TAKE_DOWN ], - [ 46, Moves.HELPING_HAND ], - [ 54, Moves.REVERSAL ], - [ 62, Moves.ROAR ], - [ 70, Moves.LAST_RESORT ], - [ 78, Moves.GIGA_IMPACT ], - ], - [Species.PURRLOIN]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 4, Moves.SAND_ATTACK ], - [ 5, Moves.FAKE_OUT ], - [ 12, Moves.FURY_SWIPES ], - [ 16, Moves.TORMENT ], - [ 21, Moves.ASSURANCE ], - [ 24, Moves.HONE_CLAWS ], - [ 28, Moves.SUCKER_PUNCH ], - [ 32, Moves.NASTY_PLOT ], - [ 36, Moves.NIGHT_SLASH ], - [ 40, Moves.PLAY_ROUGH ], - ], - [Species.LIEPARD]: [ - [ 1, Moves.ASSIST ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 12, Moves.FURY_SWIPES ], - [ 16, Moves.TORMENT ], - [ 23, Moves.ASSURANCE ], - [ 28, Moves.HONE_CLAWS ], - [ 34, Moves.SUCKER_PUNCH ], - [ 40, Moves.NASTY_PLOT ], - [ 46, Moves.NIGHT_SLASH ], - [ 52, Moves.PLAY_ROUGH ], - ], - [Species.PANSAGE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.PLAY_NICE ], - [ 4, Moves.LEER ], - [ 7, Moves.LICK ], - [ 10, Moves.VINE_WHIP ], - [ 13, Moves.FURY_SWIPES ], - [ 16, Moves.LEECH_SEED ], - [ 19, Moves.BITE ], - [ 22, Moves.SEED_BOMB ], - [ 25, Moves.TORMENT ], - [ 28, Moves.FLING ], - [ 31, Moves.ACROBATICS ], - [ 34, Moves.GRASS_KNOT ], - [ 37, Moves.RECYCLE ], - [ 40, Moves.NATURAL_GIFT ], - [ 43, Moves.CRUNCH ], - ], - [Species.SIMISAGE]: [ + [ RELEARN_MOVE, MoveId.CONFUSION ], + [ RELEARN_MOVE, MoveId.CONFUSE_RAY ], + [ RELEARN_MOVE, MoveId.MEAN_LOOK ], + [ RELEARN_MOVE, MoveId.HEX ], + [ RELEARN_MOVE, MoveId.PSYBEAM ], + [ RELEARN_MOVE, MoveId.PAIN_SPLIT ], + [ RELEARN_MOVE, MoveId.PAYBACK ], + [ RELEARN_MOVE, MoveId.SHADOW_BALL ], + [ RELEARN_MOVE, MoveId.PERISH_SONG ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SPITE ], + [ 1, MoveId.PSYWAVE ], + [ 1, MoveId.LUCKY_CHANT ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.MAGICAL_LEAF ], + [ 1, MoveId.POWER_GEM ], + [ 1, MoveId.PHANTOM_FORCE ], + [ 1, MoveId.MYSTICAL_FIRE ], + ], + [SpeciesId.HONCHKROW]: [ + [ 1, MoveId.PECK ], // Previous Stage Move + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.GUST ], // Previous Stage Move + [ 1, MoveId.HAZE ], + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.NIGHT_SHADE ], // Previous Stage Move + [ 1, MoveId.ASSURANCE ], // Previous Stage Move + [ 1, MoveId.TAUNT ], // Previous Stage Move + [ 1, MoveId.MEAN_LOOK ], // Previous Stage Move + [ 1, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.TORMENT ], // Previous Stage Move + [ 1, MoveId.QUASH ], + [ 1, MoveId.PURSUIT ], + [ 25, MoveId.SWAGGER ], + [ 35, MoveId.NASTY_PLOT ], + [ 45, MoveId.FOUL_PLAY ], + [ 55, MoveId.DARK_PULSE ], + [ 65, MoveId.COMEUPPANCE ], + ], + [SpeciesId.GLAMEOW]: [ + [ 1, MoveId.FAKE_OUT ], + [ 5, MoveId.SCRATCH ], + [ 8, MoveId.GROWL ], + [ 13, MoveId.HYPNOSIS ], + [ 17, MoveId.AERIAL_ACE ], + [ 20, MoveId.FURY_SWIPES ], + [ 25, MoveId.CHARM ], + [ 29, MoveId.TAUNT ], + [ 32, MoveId.RETALIATE ], + [ 37, MoveId.SLASH ], + [ 41, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.ATTRACT ], + [ 48, MoveId.HONE_CLAWS ], + [ 50, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.PURUGLY]: [ + [ EVOLVE_MOVE, MoveId.SWAGGER ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.PLAY_ROUGH ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 13, MoveId.HYPNOSIS ], + [ 17, MoveId.AERIAL_ACE ], + [ 20, MoveId.FURY_SWIPES ], + [ 25, MoveId.CHARM ], + [ 29, MoveId.TAUNT ], + [ 32, MoveId.RETALIATE ], + [ 37, MoveId.SLASH ], + [ 45, MoveId.BODY_SLAM ], + [ 52, MoveId.ATTRACT ], + [ 60, MoveId.HONE_CLAWS ], + ], + [SpeciesId.CHINGLING]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.PSYWAVE ], // Custom + [ 4, MoveId.GROWL ], + [ 7, MoveId.ASTONISH ], + [ 10, MoveId.CONFUSION ], + [ 13, MoveId.YAWN ], + [ 16, MoveId.LAST_RESORT ], + [ 19, MoveId.ENTRAINMENT ], + [ 32, MoveId.UPROAR ], + ], + [SpeciesId.STUNKY]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.POISON_GAS ], + [ 3, MoveId.FEINT ], + [ 6, MoveId.SMOKESCREEN ], + [ 9, MoveId.ACID_SPRAY ], + [ 12, MoveId.FURY_SWIPES ], + [ 15, MoveId.FOCUS_ENERGY ], + [ 18, MoveId.BITE ], + [ 21, MoveId.VENOSHOCK ], + [ 24, MoveId.SCREECH ], + [ 27, MoveId.TOXIC ], + [ 30, MoveId.SUCKER_PUNCH ], + [ 33, MoveId.MEMENTO ], + [ 36, MoveId.NIGHT_SLASH ], + [ 39, MoveId.BELCH ], + [ 42, MoveId.EXPLOSION ], + ], + [SpeciesId.SKUNTANK]: [ + [ EVOLVE_MOVE, MoveId.FLAMETHROWER ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.ACID_SPRAY ], // Previous Stage Move + [ 12, MoveId.FURY_SWIPES ], + [ 15, MoveId.FOCUS_ENERGY ], + [ 18, MoveId.BITE ], + [ 21, MoveId.VENOSHOCK ], + [ 24, MoveId.SCREECH ], + [ 27, MoveId.TOXIC ], + [ 30, MoveId.SUCKER_PUNCH ], + [ 33, MoveId.MEMENTO ], + [ 38, MoveId.NIGHT_SLASH ], + [ 43, MoveId.BELCH ], + [ 48, MoveId.EXPLOSION ], + ], + [SpeciesId.BRONZOR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CONFUSION ], + [ 4, MoveId.CONFUSE_RAY ], + [ 8, MoveId.PAYBACK ], + [ 12, MoveId.IMPRISON ], + [ 16, MoveId.GYRO_BALL ], + [ 20, MoveId.HYPNOSIS ], + [ 24, MoveId.SAFEGUARD ], + [ 28, MoveId.EXTRASENSORY ], + [ 32, MoveId.HEAVY_SLAM ], + [ 36, MoveId.IRON_DEFENSE ], + [ 40, MoveId.METAL_SOUND ], + [ 44, MoveId.FUTURE_SIGHT ], + [ 45, MoveId.HEAL_BLOCK ], + ], + [SpeciesId.BRONZONG]: [ + [ EVOLVE_MOVE, MoveId.BLOCK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.SUNNY_DAY ], + [ 1, MoveId.WEATHER_BALL ], + [ 1, MoveId.PAYBACK ], + [ 12, MoveId.IMPRISON ], + [ 16, MoveId.GYRO_BALL ], + [ 20, MoveId.HYPNOSIS ], + [ 24, MoveId.SAFEGUARD ], + [ 28, MoveId.EXTRASENSORY ], + [ 32, MoveId.HEAVY_SLAM ], + [ 38, MoveId.IRON_DEFENSE ], + [ 44, MoveId.METAL_SOUND ], + [ 50, MoveId.FUTURE_SIGHT ], + [ 52, MoveId.HEAL_BLOCK ], + [ 56, MoveId.RAIN_DANCE ], + ], + [SpeciesId.BONSLY]: [ + [ 1, MoveId.FAKE_TEARS ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.TACKLE ], // Custom + [ 4, MoveId.FLAIL ], + [ 8, MoveId.ROCK_THROW ], + [ 12, MoveId.BLOCK ], + [ 16, MoveId.MIMIC ], + [ 20, MoveId.ROCK_TOMB ], + [ 24, MoveId.TEARFUL_LOOK ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 32, MoveId.ROCK_SLIDE ], + [ 36, MoveId.LOW_KICK ], + [ 40, MoveId.COUNTER ], + [ 44, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.MIME_JR]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.BARRIER ], + [ 1, MoveId.TICKLE ], //USUM + [ 4, MoveId.BATON_PASS ], + [ 8, MoveId.ENCORE ], + [ 12, MoveId.CONFUSION ], + [ 16, MoveId.MIMIC ], // Custom, swapped with Role Play to be closer to USUM + [ 20, MoveId.PROTECT ], + [ 24, MoveId.RECYCLE ], + [ 28, MoveId.PSYBEAM ], + [ 32, MoveId.ROLE_PLAY ], // Custom, swapped with Mimic + [ 36, MoveId.LIGHT_SCREEN ], + [ 36, MoveId.REFLECT ], + [ 36, MoveId.SAFEGUARD ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.DAZZLING_GLEAM ], + [ 48, MoveId.PSYCHIC ], + [ 52, MoveId.TEETER_DANCE ], + ], + [SpeciesId.HAPPINY]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.COPYCAT ], + [ 4, MoveId.DEFENSE_CURL ], + [ 8, MoveId.SWEET_KISS ], + [ 12, MoveId.DISARMING_VOICE ], + [ 16, MoveId.COVET ], + [ 20, MoveId.CHARM ], + ], + [SpeciesId.CHATOT]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.HYPER_VOICE ], + [ 1, MoveId.CHATTER ], + [ 1, MoveId.CONFIDE ], + [ 5, MoveId.GROWL ], + [ 9, MoveId.MIRROR_MOVE ], + [ 13, MoveId.SING ], + [ 17, MoveId.FURY_ATTACK ], + [ 29, MoveId.ROUND ], + [ 33, MoveId.MIMIC ], + [ 37, MoveId.ECHOED_VOICE ], + [ 41, MoveId.ROOST ], + [ 45, MoveId.UPROAR ], + [ 49, MoveId.SYNCHRONOISE ], + [ 50, MoveId.FEATHER_DANCE ], + ], + [SpeciesId.SPIRITOMB]: [ + [ 1, MoveId.NIGHT_SHADE ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.PURSUIT ], + [ 5, MoveId.SHADOW_SNEAK ], + [ 10, MoveId.SPITE ], + [ 15, MoveId.PAYBACK ], + [ 20, MoveId.NASTY_PLOT ], + [ 25, MoveId.HEX ], + [ 30, MoveId.MEMENTO ], + [ 35, MoveId.SUCKER_PUNCH ], + [ 40, MoveId.CURSE ], + [ 45, MoveId.SHADOW_BALL ], + [ 50, MoveId.DARK_PULSE ], + [ 55, MoveId.HYPNOSIS ], + [ 60, MoveId.DREAM_EATER ], + ], + [SpeciesId.GIBLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SAND_TOMB ], + [ 6, MoveId.SAND_ATTACK ], + [ 12, MoveId.DRAGON_BREATH ], + [ 18, MoveId.BULLDOZE ], + [ 25, MoveId.BITE ], + [ 30, MoveId.SLASH ], + [ 36, MoveId.DRAGON_CLAW ], + [ 42, MoveId.DIG ], + [ 48, MoveId.SANDSTORM ], + [ 54, MoveId.TAKE_DOWN ], + [ 60, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.GABITE]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.SAND_TOMB ], + [ 1, MoveId.DUAL_CHOP ], + [ 18, MoveId.BULLDOZE ], + [ 27, MoveId.BITE ], + [ 34, MoveId.SLASH ], + [ 42, MoveId.DRAGON_CLAW ], + [ 50, MoveId.DIG ], + [ 58, MoveId.SANDSTORM ], + [ 66, MoveId.TAKE_DOWN ], + [ 74, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.GARCHOMP]: [ + [ EVOLVE_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.SAND_TOMB ], + [ 1, MoveId.DUAL_CHOP ], + [ 18, MoveId.BULLDOZE ], + [ 27, MoveId.BITE ], + [ 34, MoveId.SLASH ], + [ 42, MoveId.DRAGON_CLAW ], + [ 52, MoveId.DIG ], + [ 62, MoveId.SANDSTORM ], + [ 72, MoveId.TAKE_DOWN ], + [ 82, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.MUNCHLAX]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LICK ], + [ 1, MoveId.ODOR_SLEUTH ], + [ 4, MoveId.DEFENSE_CURL ], + [ 8, MoveId.RECYCLE ], + [ 12, MoveId.COVET ], + [ 16, MoveId.BITE ], + [ 20, MoveId.STOCKPILE ], + [ 20, MoveId.SWALLOW ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.BODY_SLAM ], + [ 32, MoveId.FLING ], + [ 36, MoveId.AMNESIA ], + [ 40, MoveId.METRONOME ], + [ 44, MoveId.FLAIL ], + [ 48, MoveId.BELLY_DRUM ], + [ 52, MoveId.LAST_RESORT ], + ], + [SpeciesId.RIOLU]: [ + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.ENDURE ], + [ 4, MoveId.FEINT ], + [ 8, MoveId.METAL_CLAW ], + [ 12, MoveId.COUNTER ], + [ 16, MoveId.WORK_UP ], + [ 20, MoveId.ROCK_SMASH ], + [ 24, MoveId.VACUUM_WAVE ], + [ 28, MoveId.SCREECH ], + [ 32, MoveId.QUICK_GUARD ], + [ 36, MoveId.FORCE_PALM ], + [ 40, MoveId.SWORDS_DANCE ], + [ 44, MoveId.HELPING_HAND ], + [ 48, MoveId.COPYCAT ], + [ 52, MoveId.FINAL_GAMBIT ], + [ 56, MoveId.REVERSAL ], + ], + [SpeciesId.LUCARIO]: [ + [ EVOLVE_MOVE, MoveId.AURA_SPHERE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.ENDURE ], // Previous Stage Move + [ 1, MoveId.SCREECH ], + [ 1, MoveId.REVERSAL ], + [ 1, MoveId.DETECT ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.VACUUM_WAVE ], + [ 1, MoveId.FINAL_GAMBIT ], + [ 1, MoveId.LIFE_DEW ], + [ 12, MoveId.COUNTER ], + [ 16, MoveId.WORK_UP ], + [ 20, MoveId.FORCE_PALM ], + [ 24, MoveId.CALM_MIND ], + [ 28, MoveId.METAL_SOUND ], + [ 32, MoveId.QUICK_GUARD ], + [ 36, MoveId.BONE_RUSH ], + [ 40, MoveId.SWORDS_DANCE ], + [ 44, MoveId.HEAL_PULSE ], + [ 48, MoveId.METEOR_MASH ], + [ 52, MoveId.DRAGON_PULSE ], + [ 56, MoveId.EXTREME_SPEED ], + [ 60, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.HIPPOPOTAS]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 4, MoveId.BITE ], + [ 8, MoveId.YAWN ], + [ 12, MoveId.SAND_TOMB ], + [ 16, MoveId.DIG ], + [ 20, MoveId.CRUNCH ], + [ 24, MoveId.SANDSTORM ], + [ 28, MoveId.TAKE_DOWN ], + [ 32, MoveId.ROAR ], + [ 36, MoveId.REST ], + [ 40, MoveId.EARTHQUAKE ], + [ 44, MoveId.DOUBLE_EDGE ], + [ 48, MoveId.FISSURE ], + [ 52, MoveId.SLACK_OFF ], + ], + [SpeciesId.HIPPOWDON]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.YAWN ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 12, MoveId.SAND_TOMB ], + [ 16, MoveId.DIG ], + [ 20, MoveId.CRUNCH ], + [ 24, MoveId.SANDSTORM ], + [ 28, MoveId.TAKE_DOWN ], + [ 32, MoveId.ROAR ], + [ 38, MoveId.REST ], + [ 44, MoveId.EARTHQUAKE ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 56, MoveId.FISSURE ], + [ 62, MoveId.SLACK_OFF ], + ], + [SpeciesId.SKORUPI]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 3, MoveId.HONE_CLAWS ], + [ 6, MoveId.FELL_STINGER ], + [ 9, MoveId.POISON_FANG ], + [ 12, MoveId.BITE ], + [ 15, MoveId.TOXIC_SPIKES ], + [ 18, MoveId.BUG_BITE ], + [ 21, MoveId.VENOSHOCK ], + [ 24, MoveId.KNOCK_OFF ], + [ 27, MoveId.SCARY_FACE ], + [ 30, MoveId.PIN_MISSILE ], + [ 33, MoveId.TOXIC ], + [ 36, MoveId.NIGHT_SLASH ], + [ 39, MoveId.CROSS_POISON ], + [ 42, MoveId.X_SCISSOR ], + [ 45, MoveId.ACUPRESSURE ], + [ 48, MoveId.CRUNCH ], + ], + [SpeciesId.DRAPION]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.HONE_CLAWS ], + [ 1, MoveId.FELL_STINGER ], + [ 9, MoveId.POISON_FANG ], + [ 12, MoveId.BITE ], + [ 15, MoveId.TOXIC_SPIKES ], + [ 18, MoveId.BUG_BITE ], + [ 21, MoveId.VENOSHOCK ], + [ 24, MoveId.KNOCK_OFF ], + [ 27, MoveId.SCARY_FACE ], + [ 30, MoveId.PIN_MISSILE ], + [ 33, MoveId.TOXIC ], + [ 36, MoveId.NIGHT_SLASH ], + [ 39, MoveId.CROSS_POISON ], + [ 44, MoveId.X_SCISSOR ], + [ 49, MoveId.ACUPRESSURE ], + [ 54, MoveId.CRUNCH ], + ], + [SpeciesId.CROAGUNK]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.MUD_SLAP ], + [ 4, MoveId.ASTONISH ], + [ 8, MoveId.TAUNT ], + [ 12, MoveId.FLATTER ], + [ 16, MoveId.LOW_KICK ], + [ 20, MoveId.VENOSHOCK ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.SWAGGER ], + [ 32, MoveId.POISON_JAB ], + [ 36, MoveId.TOXIC ], + [ 40, MoveId.NASTY_PLOT ], + [ 44, MoveId.SLUDGE_BOMB ], + [ 48, MoveId.BELCH ], + ], + [SpeciesId.TOXICROAK]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.ASTONISH ], + [ 12, MoveId.FLATTER ], + [ 16, MoveId.LOW_KICK ], + [ 20, MoveId.VENOSHOCK ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.SWAGGER ], + [ 32, MoveId.POISON_JAB ], + [ 36, MoveId.TOXIC ], + [ 42, MoveId.NASTY_PLOT ], + [ 48, MoveId.SLUDGE_BOMB ], + [ 54, MoveId.BELCH ], + ], + [SpeciesId.CARNIVINE]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.LEAFAGE ], // Custom + [ 7, MoveId.BITE ], + [ 11, MoveId.VINE_WHIP ], + [ 17, MoveId.SWEET_SCENT ], + [ 21, MoveId.INGRAIN ], + [ 27, MoveId.GRASS_KNOT ], + [ 31, MoveId.LEAF_TORNADO ], + [ 37, MoveId.STOCKPILE ], + [ 37, MoveId.SPIT_UP ], + [ 37, MoveId.SWALLOW ], + [ 41, MoveId.CRUNCH ], + [ 47, MoveId.SEED_BOMB ], + [ 50, MoveId.POWER_WHIP ], + ], + [SpeciesId.FINNEON]: [ + [ 1, MoveId.POUND ], + [ 6, MoveId.WATER_GUN ], + [ 13, MoveId.RAIN_DANCE ], + [ 17, MoveId.GUST ], + [ 22, MoveId.WATER_PULSE ], + [ 26, MoveId.ATTRACT ], + [ 29, MoveId.SAFEGUARD ], + [ 33, MoveId.AQUA_RING ], + [ 38, MoveId.WHIRLPOOL ], + [ 42, MoveId.U_TURN ], + [ 45, MoveId.BOUNCE ], + [ 49, MoveId.TAILWIND ], + [ 54, MoveId.SOAK ], + ], + [SpeciesId.LUMINEON]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GUST ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SOAK ], + [ 13, MoveId.RAIN_DANCE ], + [ 22, MoveId.WATER_PULSE ], + [ 26, MoveId.ATTRACT ], + [ 29, MoveId.SAFEGUARD ], + [ 35, MoveId.AQUA_RING ], + [ 42, MoveId.WHIRLPOOL ], + [ 48, MoveId.U_TURN ], + [ 53, MoveId.BOUNCE ], + [ 59, MoveId.TAILWIND ], + ], + [SpeciesId.MANTYKE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.SUPERSONIC ], + [ 8, MoveId.WING_ATTACK ], + [ 12, MoveId.WATER_PULSE ], + [ 16, MoveId.WIDE_GUARD ], + [ 20, MoveId.AGILITY ], + [ 24, MoveId.BUBBLE_BEAM ], + [ 28, MoveId.HEADBUTT ], + [ 32, MoveId.AIR_SLASH ], + [ 36, MoveId.AQUA_RING ], + [ 40, MoveId.BOUNCE ], + [ 44, MoveId.TAKE_DOWN ], + [ 48, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.SNOVER]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.POWDER_SNOW ], + [ 5, MoveId.LEAFAGE ], + [ 10, MoveId.MIST ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.RAZOR_LEAF ], + [ 25, MoveId.ICY_WIND ], + [ 30, MoveId.SWAGGER ], + [ 35, MoveId.INGRAIN ], + [ 41, MoveId.WOOD_HAMMER ], + [ 45, MoveId.BLIZZARD ], + [ 50, MoveId.SHEER_COLD ], + ], + [SpeciesId.ABOMASNOW]: [ + [ EVOLVE_MOVE, MoveId.ICE_PUNCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.MIST ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.LEAFAGE ], + [ 1, MoveId.AURORA_VEIL ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.RAZOR_LEAF ], + [ 25, MoveId.ICY_WIND ], + [ 30, MoveId.SWAGGER ], + [ 35, MoveId.INGRAIN ], + [ 43, MoveId.WOOD_HAMMER ], + [ 49, MoveId.BLIZZARD ], + [ 56, MoveId.SHEER_COLD ], + ], + [SpeciesId.WEAVILE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SLASH ], + [ 1, MoveId.BEAT_UP ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.ASSURANCE ], + [ 1, MoveId.ICE_SHARD ], + [ 1, MoveId.EMBARGO ], + [ 18, MoveId.METAL_CLAW ], + [ 24, MoveId.ICY_WIND ], + [ 30, MoveId.FURY_SWIPES ], + [ 36, MoveId.HONE_CLAWS ], + [ 42, MoveId.FLING ], + [ 48, MoveId.NASTY_PLOT ], + [ 54, MoveId.SCREECH ], + [ 60, MoveId.NIGHT_SLASH ], + [ 66, MoveId.DARK_PULSE ], + ], + [SpeciesId.MAGNEZONE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.BARRIER ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.MIRROR_COAT ], + [ 1, MoveId.MAGNETIC_FLUX ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.GYRO_BALL ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.MAGNET_RISE ], + [ 34, MoveId.FLASH_CANNON ], + [ 40, MoveId.DISCHARGE ], + [ 46, MoveId.METAL_SOUND ], + [ 52, MoveId.LIGHT_SCREEN ], + [ 58, MoveId.LOCK_ON ], + [ 64, MoveId.ZAP_CANNON ], + ], + [SpeciesId.LICKILICKY]: [ + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.LICK ], + [ 1, MoveId.TACKLE ], // Previous Stage Move, Custom + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.WRING_OUT ], + [ 6, MoveId.REST ], + [ 18, MoveId.WRAP ], + [ 24, MoveId.DISABLE ], + [ 30, MoveId.STOMP ], + [ 36, MoveId.KNOCK_OFF ], + [ 42, MoveId.SCREECH ], + [ 48, MoveId.SLAM ], + [ 54, MoveId.POWER_WHIP ], + [ 60, MoveId.BELLY_DRUM ], + ], + [SpeciesId.RHYPERIOR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.HAMMER_ARM ], + [ 1, MoveId.SMACK_DOWN ], + [ 1, MoveId.BULLDOZE ], + [ 15, MoveId.HORN_ATTACK ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.STOMP ], + [ 30, MoveId.ROCK_BLAST ], + [ 35, MoveId.DRILL_RUN ], + [ 40, MoveId.TAKE_DOWN ], + [ 47, MoveId.EARTHQUAKE ], + [ 54, MoveId.STONE_EDGE ], + [ 61, MoveId.MEGAHORN ], + [ 68, MoveId.HORN_DRILL ], + [ 75, MoveId.ROCK_WRECKER ], + ], + [SpeciesId.TANGROWTH]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.BLOCK ], + [ 1, MoveId.CONSTRICT ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.VINE_WHIP ], + [ 20, MoveId.POISON_POWDER ], + [ 24, MoveId.DOUBLE_HIT ], + [ 28, MoveId.KNOCK_OFF ], + [ 32, MoveId.GIGA_DRAIN ], + [ 34, MoveId.ANCIENT_POWER ], + [ 36, MoveId.SLEEP_POWDER ], + [ 40, MoveId.SLAM ], + [ 44, MoveId.TICKLE ], + [ 48, MoveId.POWER_WHIP ], + [ 52, MoveId.INGRAIN ], + [ 56, MoveId.GRASSY_TERRAIN ], + ], + [SpeciesId.ELECTIVIRE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.ION_DELUGE ], + [ 12, MoveId.SWIFT ], + [ 16, MoveId.SHOCK_WAVE ], + [ 20, MoveId.THUNDER_WAVE ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.THUNDER_PUNCH ], + [ 34, MoveId.DISCHARGE ], + [ 40, MoveId.LOW_KICK ], + [ 46, MoveId.THUNDERBOLT ], + [ 52, MoveId.LIGHT_SCREEN ], + [ 58, MoveId.THUNDER ], + [ 64, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.MAGMORTAR]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.SMOG ], + [ 12, MoveId.CLEAR_SMOG ], + [ 16, MoveId.FLAME_WHEEL ], + [ 20, MoveId.CONFUSE_RAY ], + [ 24, MoveId.SCARY_FACE ], + [ 28, MoveId.FIRE_PUNCH ], + [ 34, MoveId.LAVA_PLUME ], + [ 40, MoveId.LOW_KICK ], + [ 46, MoveId.FLAMETHROWER ], + [ 52, MoveId.SUNNY_DAY ], + [ 58, MoveId.FIRE_BLAST ], + [ 64, MoveId.HYPER_BEAM ], + ], + [SpeciesId.TOGEKISS]: [ + [ EVOLVE_MOVE, MoveId.AIR_SLASH ], + [ 1, MoveId.POUND ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.METRONOME ], + [ 1, MoveId.SKY_ATTACK ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.SAFEGUARD ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.EXTREME_SPEED ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.FOLLOW_ME ], + [ 1, MoveId.WISH ], + [ 1, MoveId.YAWN ], + [ 1, MoveId.LAST_RESORT ], + [ 1, MoveId.AURA_SPHERE ], + [ 1, MoveId.AFTER_YOU ], + [ 1, MoveId.FAIRY_WIND ], + [ 1, MoveId.LIFE_DEW ], + ], + [SpeciesId.YANMEGA]: [ + [ RELEARN_MOVE, MoveId.HYPNOSIS ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.AIR_CUTTER ], // Previous Stage Move + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.WING_ATTACK ], // Previous Stage Move + [ 1, MoveId.AIR_SLASH ], + [ 1, MoveId.BUG_BUZZ ], + [ 14, MoveId.QUICK_ATTACK ], + [ 17, MoveId.DETECT ], + [ 22, MoveId.SUPERSONIC ], + [ 27, MoveId.UPROAR ], + [ 30, MoveId.BUG_BITE ], + [ 33, MoveId.ANCIENT_POWER ], + [ 38, MoveId.FEINT ], + [ 43, MoveId.SLASH ], + [ 46, MoveId.SCREECH ], + [ 49, MoveId.U_TURN ], + ], + [SpeciesId.LEAFEON]: [ + [ EVOLVE_MOVE, MoveId.SAPPY_SEED ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.RAZOR_LEAF ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.LEECH_SEED ], + [ 30, MoveId.MAGICAL_LEAF ], + [ 35, MoveId.SYNTHESIS ], + [ 40, MoveId.SUNNY_DAY ], + [ 45, MoveId.GIGA_DRAIN ], + [ 50, MoveId.SWORDS_DANCE ], + [ 55, MoveId.LEAF_BLADE ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.GLACEON]: [ + [ EVOLVE_MOVE, MoveId.FREEZY_FROST ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SWIFT ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.ICY_WIND ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.ICE_SHARD ], + [ 30, MoveId.BITE ], + [ 35, MoveId.ICE_FANG ], + [ 40, MoveId.SNOWSCAPE ], + [ 45, MoveId.FREEZE_DRY ], + [ 50, MoveId.MIRROR_COAT ], + [ 55, MoveId.BLIZZARD ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.GLISCOR]: [ + [ 1, MoveId.POISON_STING ], // Previous Stage Move + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.POISON_TAIL ], // Previous Stage Move + [ 1, MoveId.SLASH ], // Previous Stage Move + [ 1, MoveId.POISON_JAB ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 13, MoveId.QUICK_ATTACK ], + [ 16, MoveId.FURY_CUTTER ], + [ 19, MoveId.KNOCK_OFF ], + [ 22, MoveId.ACROBATICS ], + [ 27, MoveId.NIGHT_SLASH ], + [ 30, MoveId.U_TURN ], + [ 35, MoveId.SCREECH ], + [ 40, MoveId.X_SCISSOR ], + [ 45, MoveId.CRABHAMMER ], + [ 50, MoveId.SWORDS_DANCE ], + ], + [SpeciesId.MAMOSWINE]: [ + [ EVOLVE_MOVE, MoveId.DOUBLE_HIT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.ODOR_SLEUTH ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.ICE_FANG ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.MIST ], + [ 25, MoveId.ENDURE ], + [ 30, MoveId.ICY_WIND ], + [ 37, MoveId.AMNESIA ], + [ 44, MoveId.TAKE_DOWN ], + [ 51, MoveId.EARTHQUAKE ], + [ 58, MoveId.BLIZZARD ], + [ 65, MoveId.THRASH ], + ], + [SpeciesId.PORYGON_Z]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.CONVERSION ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.MAGNET_RISE ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.TRICK_ROOM ], + [ 15, MoveId.THUNDER_SHOCK ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.CONVERSION_2 ], + [ 30, MoveId.AGILITY ], + [ 35, MoveId.RECOVER ], + [ 40, MoveId.DISCHARGE ], + [ 45, MoveId.TRI_ATTACK ], + [ 50, MoveId.MAGIC_COAT ], + [ 55, MoveId.LOCK_ON ], + [ 60, MoveId.ZAP_CANNON ], + [ 65, MoveId.HYPER_BEAM ], + ], + [SpeciesId.GALLADE]: [ + [ EVOLVE_MOVE, MoveId.SLASH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PSYBEAM ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.PSYCHIC ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.DREAM_EATER ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.FUTURE_SIGHT ], + [ 1, MoveId.IMPRISON ], + [ 1, MoveId.CALM_MIND ], + [ 1, MoveId.LEAF_BLADE ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.SACRED_SWORD ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.DRAINING_KISS ], + [ 1, MoveId.LIFE_DEW ], + [ 1, MoveId.AQUA_CUTTER ], + [ 9, MoveId.HELPING_HAND ], + [ 12, MoveId.FEINT ], + [ 15, MoveId.TELEPORT ], + [ 18, MoveId.AERIAL_ACE ], + [ 23, MoveId.FALSE_SWIPE ], + [ 28, MoveId.PROTECT ], + [ 35, MoveId.SWORDS_DANCE ], + [ 42, MoveId.PSYCHO_CUT ], + [ 49, MoveId.HEAL_PULSE ], + [ 56, MoveId.WIDE_GUARD ], + [ 56, MoveId.QUICK_GUARD ], + [ 63, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.PROBOPASS]: [ + [ EVOLVE_MOVE, MoveId.TRI_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], // Previous Stage Move + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.BLOCK ], + [ 1, MoveId.ROCK_THROW ], // Previous Stage Move + [ 1, MoveId.GRAVITY ], + [ 1, MoveId.MAGNET_RISE ], + [ 1, MoveId.WIDE_GUARD ], + [ 1, MoveId.MAGNETIC_FLUX ], + [ 13, MoveId.THUNDER_WAVE ], + [ 16, MoveId.REST ], + [ 19, MoveId.SPARK ], + [ 22, MoveId.ROCK_SLIDE ], + [ 25, MoveId.POWER_GEM ], + [ 28, MoveId.ROCK_BLAST ], + [ 31, MoveId.DISCHARGE ], + [ 34, MoveId.SANDSTORM ], + [ 37, MoveId.EARTH_POWER ], + [ 40, MoveId.STONE_EDGE ], + [ 43, MoveId.ZAP_CANNON ], + [ 43, MoveId.LOCK_ON ], + ], + [SpeciesId.DUSKNOIR]: [ + [ 1, MoveId.FIRE_PUNCH ], + [ 1, MoveId.ICE_PUNCH ], + [ 1, MoveId.THUNDER_PUNCH ], + [ 1, MoveId.BIND ], + [ 1, MoveId.LEER ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.PURSUIT ], // Previous Stage Move, Custom + [ 1, MoveId.SHADOW_PUNCH ], + [ 1, MoveId.GRAVITY ], + [ 1, MoveId.SHADOW_SNEAK ], + [ 12, MoveId.CONFUSE_RAY ], + [ 16, MoveId.NIGHT_SHADE ], + [ 20, MoveId.PAYBACK ], + [ 24, MoveId.WILL_O_WISP ], + [ 28, MoveId.MEAN_LOOK ], + [ 32, MoveId.HEX ], + [ 36, MoveId.CURSE ], + [ 42, MoveId.SHADOW_BALL ], + [ 48, MoveId.FUTURE_SIGHT ], + [ 54, MoveId.DESTINY_BOND ], + ], + [SpeciesId.FROSLASS]: [ + [ EVOLVE_MOVE, MoveId.HEX ], + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.DESTINY_BOND ], + [ 1, MoveId.WEATHER_BALL ], // Previous Stage Move + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.OMINOUS_WIND ], + [ 15, MoveId.ICE_SHARD ], + [ 20, MoveId.DRAINING_KISS ], + [ 25, MoveId.ICY_WIND ], + [ 30, MoveId.FROST_BREATH ], + [ 35, MoveId.CONFUSE_RAY ], + [ 40, MoveId.SNOWSCAPE ], + [ 47, MoveId.WILL_O_WISP ], + [ 54, MoveId.AURORA_VEIL ], + [ 61, MoveId.SHADOW_BALL ], + [ 68, MoveId.BLIZZARD ], + ], + [SpeciesId.ROTOM]: [ + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.THUNDER_SHOCK ], + [ 10, MoveId.CONFUSE_RAY ], + [ 15, MoveId.CHARGE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 25, MoveId.THUNDER_WAVE ], + [ 30, MoveId.SHOCK_WAVE ], + [ 35, MoveId.HEX ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.TRICK ], + [ 50, MoveId.DISCHARGE ], + [ 55, MoveId.UPROAR ], + ], + [SpeciesId.UXIE]: [ + [ RELEARN_MOVE, MoveId.TRI_ATTACK ], + [ RELEARN_MOVE, MoveId.SNORE ], + [ RELEARN_MOVE, MoveId.SAFEGUARD ], + [ RELEARN_MOVE, MoveId.IRON_TAIL ], + [ RELEARN_MOVE, MoveId.PSYCHO_CUT ], + [ RELEARN_MOVE, MoveId.WONDER_ROOM ], + [ RELEARN_MOVE, MoveId.MAGIC_ROOM ], + [ RELEARN_MOVE, MoveId.ROUND ], + [ RELEARN_MOVE, MoveId.ALLY_SWITCH ], + [ RELEARN_MOVE, MoveId.EXPANDING_FORCE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.REST ], + [ 7, MoveId.SWIFT ], + [ 14, MoveId.ENDURE ], + [ 21, MoveId.PSYBEAM ], + [ 28, MoveId.IMPRISON ], + [ 35, MoveId.EXTRASENSORY ], + [ 42, MoveId.AMNESIA ], + [ 49, MoveId.PSYCHIC ], + [ 56, MoveId.YAWN ], + [ 63, MoveId.FUTURE_SIGHT ], + [ 70, MoveId.FLAIL ], + [ 77, MoveId.MEMENTO ], + [ 84, MoveId.MYSTICAL_POWER ], + ], + [SpeciesId.MESPRIT]: [ + [ RELEARN_MOVE, MoveId.TRI_ATTACK ], + [ RELEARN_MOVE, MoveId.SNORE ], + [ RELEARN_MOVE, MoveId.SAFEGUARD ], + [ RELEARN_MOVE, MoveId.IRON_TAIL ], + [ RELEARN_MOVE, MoveId.PSYCHO_CUT ], + [ RELEARN_MOVE, MoveId.WONDER_ROOM ], + [ RELEARN_MOVE, MoveId.MAGIC_ROOM ], + [ RELEARN_MOVE, MoveId.ROUND ], + [ RELEARN_MOVE, MoveId.ALLY_SWITCH ], + [ RELEARN_MOVE, MoveId.EXPANDING_FORCE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.REST ], + [ 7, MoveId.SWIFT ], + [ 14, MoveId.PROTECT ], + [ 21, MoveId.PSYBEAM ], + [ 28, MoveId.IMPRISON ], + [ 35, MoveId.EXTRASENSORY ], + [ 42, MoveId.CHARM ], + [ 49, MoveId.PSYCHIC ], + [ 56, MoveId.FLATTER ], + [ 63, MoveId.FUTURE_SIGHT ], + [ 70, MoveId.COPYCAT ], + [ 77, MoveId.HEALING_WISH ], + [ 84, MoveId.MYSTICAL_POWER ], + ], + [SpeciesId.AZELF]: [ + [ RELEARN_MOVE, MoveId.SELF_DESTRUCT ], + [ RELEARN_MOVE, MoveId.TRI_ATTACK ], + [ RELEARN_MOVE, MoveId.SNORE ], + [ RELEARN_MOVE, MoveId.SAFEGUARD ], + [ RELEARN_MOVE, MoveId.IRON_TAIL ], + [ RELEARN_MOVE, MoveId.PAYBACK ], + [ RELEARN_MOVE, MoveId.ASSURANCE ], + [ RELEARN_MOVE, MoveId.PSYCHO_CUT ], + [ RELEARN_MOVE, MoveId.WONDER_ROOM ], + [ RELEARN_MOVE, MoveId.MAGIC_ROOM ], + [ RELEARN_MOVE, MoveId.ROUND ], + [ RELEARN_MOVE, MoveId.ALLY_SWITCH ], + [ RELEARN_MOVE, MoveId.EXPANDING_FORCE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.REST ], + [ 7, MoveId.SWIFT ], + [ 14, MoveId.DETECT ], + [ 21, MoveId.PSYBEAM ], + [ 28, MoveId.IMPRISON ], + [ 35, MoveId.EXTRASENSORY ], + [ 42, MoveId.NASTY_PLOT ], + [ 49, MoveId.PSYCHIC ], + [ 56, MoveId.UPROAR ], + [ 63, MoveId.FUTURE_SIGHT ], + [ 70, MoveId.LAST_RESORT ], + [ 77, MoveId.EXPLOSION ], + [ 84, MoveId.MYSTICAL_POWER ], + ], + [SpeciesId.DIALGA]: [ + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.METAL_CLAW ], + [ 8, MoveId.DRAGON_BREATH ], + [ 16, MoveId.ANCIENT_POWER ], + [ 24, MoveId.SLASH ], + [ 32, MoveId.FLASH_CANNON ], + [ 40, MoveId.DRAGON_CLAW ], + [ 48, MoveId.AURA_SPHERE ], + [ 56, MoveId.POWER_GEM ], + [ 64, MoveId.METAL_BURST ], + [ 72, MoveId.EARTH_POWER ], + [ 80, MoveId.IRON_TAIL ], + [ 88, MoveId.ROAR_OF_TIME ], + ], + [SpeciesId.PALKIA]: [ + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.WATER_PULSE ], + [ 8, MoveId.DRAGON_BREATH ], + [ 16, MoveId.ANCIENT_POWER ], + [ 24, MoveId.SLASH ], + [ 32, MoveId.AQUA_RING ], + [ 48, MoveId.AURA_SPHERE ], + [ 56, MoveId.POWER_GEM ], + [ 64, MoveId.AQUA_TAIL ], + [ 72, MoveId.EARTH_POWER ], + [ 80, MoveId.SPACIAL_REND ], + [ 88, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.HEATRAN]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.FIRE_SPIN ], + [ 6, MoveId.METAL_CLAW ], + [ 12, MoveId.ANCIENT_POWER ], + [ 18, MoveId.FIRE_FANG ], + [ 24, MoveId.SCARY_FACE ], + [ 30, MoveId.IRON_HEAD ], + [ 36, MoveId.CRUNCH ], + [ 42, MoveId.LAVA_PLUME ], + [ 48, MoveId.METAL_SOUND ], + [ 54, MoveId.EARTH_POWER ], + [ 60, MoveId.HEAT_WAVE ], + [ 66, MoveId.STONE_EDGE ], + [ 72, MoveId.MAGMA_STORM ], + ], + [SpeciesId.REGIGIGAS]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.DIZZY_PUNCH ], + [ 1, MoveId.FORESIGHT ], + [ 6, MoveId.PAYBACK ], + [ 12, MoveId.REVENGE ], + [ 18, MoveId.STOMP ], + [ 24, MoveId.PROTECT ], + [ 30, MoveId.KNOCK_OFF ], + [ 36, MoveId.MEGA_PUNCH ], + [ 42, MoveId.BODY_PRESS ], + [ 48, MoveId.WIDE_GUARD ], + [ 54, MoveId.ZEN_HEADBUTT ], + [ 60, MoveId.HEAVY_SLAM ], + [ 66, MoveId.HAMMER_ARM ], + [ 72, MoveId.GIGA_IMPACT ], + [ 78, MoveId.CRUSH_GRIP ], + ], + [SpeciesId.GIRATINA]: [ + [ 1, MoveId.SHADOW_SNEAK ], + [ 1, MoveId.DEFOG ], + [ 1, MoveId.DRAGON_BREATH ], //USUM + [ 7, MoveId.OMINOUS_WIND ], //USUM + [ 14, MoveId.ANCIENT_POWER ], + [ 21, MoveId.HEX ], + [ 28, MoveId.SLASH ], + [ 35, MoveId.SCARY_FACE ], + [ 42, MoveId.SHADOW_CLAW ], + [ 49, MoveId.PAIN_SPLIT ], + [ 56, MoveId.AURA_SPHERE ], + [ 63, MoveId.DRAGON_CLAW ], + [ 70, MoveId.EARTH_POWER ], + [ 77, MoveId.SHADOW_FORCE ], + [ 84, MoveId.DESTINY_BOND ], + ], + [SpeciesId.CRESSELIA]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 6, MoveId.MIST ], + [ 12, MoveId.AURORA_BEAM ], + [ 18, MoveId.PSYBEAM ], + [ 24, MoveId.ALLY_SWITCH ], + [ 30, MoveId.SLASH ], + [ 36, MoveId.PSYCHO_CUT ], + [ 42, MoveId.MOONLIGHT ], + [ 48, MoveId.SAFEGUARD ], + [ 54, MoveId.PSYCHIC ], + [ 60, MoveId.MOONBLAST ], + [ 66, MoveId.FUTURE_SIGHT ], + [ 72, MoveId.LUNAR_DANCE ], + [ 72, MoveId.LUNAR_BLESSING ], + ], + [SpeciesId.PHIONE]: [ + [ 1, MoveId.WATER_GUN ], + [ 9, MoveId.CHARM ], + [ 16, MoveId.SUPERSONIC ], + [ 24, MoveId.BUBBLE_BEAM ], + [ 31, MoveId.ACID_ARMOR ], + [ 39, MoveId.WHIRLPOOL ], + [ 46, MoveId.WATER_PULSE ], + [ 54, MoveId.AQUA_RING ], + [ 61, MoveId.DIVE ], + [ 69, MoveId.RAIN_DANCE ], + [ 75, MoveId.TAKE_HEART ], + ], + [SpeciesId.MANAPHY]: [ + [ 1, MoveId.HEART_SWAP ], + [ 1, MoveId.TAIL_GLOW ], + [ 1, MoveId.WATER_GUN ], + [ 9, MoveId.CHARM ], + [ 16, MoveId.SUPERSONIC ], + [ 24, MoveId.BUBBLE_BEAM ], + [ 31, MoveId.ACID_ARMOR ], + [ 39, MoveId.WHIRLPOOL ], + [ 46, MoveId.WATER_PULSE ], + [ 54, MoveId.AQUA_RING ], + [ 61, MoveId.DIVE ], + [ 69, MoveId.RAIN_DANCE ], + [ 76, MoveId.TAKE_HEART ], + ], + [SpeciesId.DARKRAI]: [ + [ 1, MoveId.DISABLE ], + [ 1, MoveId.OMINOUS_WIND ], + [ 1, MoveId.PURSUIT ], // Custom + [ 11, MoveId.QUICK_ATTACK ], + [ 20, MoveId.HYPNOSIS ], + [ 29, MoveId.SUCKER_PUNCH ], + [ 38, MoveId.NIGHT_SHADE ], + [ 47, MoveId.DOUBLE_TEAM ], + [ 57, MoveId.HAZE ], + [ 66, MoveId.DARK_VOID ], + [ 75, MoveId.NASTY_PLOT ], + [ 84, MoveId.DREAM_EATER ], + [ 93, MoveId.DARK_PULSE ], + ], + [SpeciesId.SHAYMIN]: [ + [ 1, MoveId.LEAFAGE ], // Custom + [ 1, MoveId.GROWTH ], + [ 10, MoveId.MAGICAL_LEAF ], + [ 19, MoveId.LEECH_SEED ], + [ 28, MoveId.SYNTHESIS ], + [ 37, MoveId.SWEET_SCENT ], + [ 46, MoveId.NATURAL_GIFT ], + [ 55, MoveId.WORRY_SEED ], + [ 64, MoveId.AROMATHERAPY ], + [ 73, MoveId.ENERGY_BALL ], + [ 82, MoveId.SWEET_KISS ], + [ 91, MoveId.HEALING_WISH ], + [ 100, MoveId.SEED_FLARE ], + ], + [SpeciesId.ARCEUS]: [ + [ 1, MoveId.SEISMIC_TOSS ], + [ 1, MoveId.COSMIC_POWER ], + [ 1, MoveId.PUNISHMENT ], + [ 10, MoveId.GRAVITY ], + [ 20, MoveId.EARTH_POWER ], + [ 30, MoveId.HYPER_VOICE ], + [ 40, MoveId.EXTREME_SPEED ], + [ 50, MoveId.HEALING_WISH ], + [ 60, MoveId.FUTURE_SIGHT ], + [ 70, MoveId.RECOVER ], + [ 80, MoveId.HYPER_BEAM ], + [ 90, MoveId.PERISH_SONG ], + [ 100, MoveId.JUDGMENT ], + ], + [SpeciesId.VICTINI]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.FLAME_CHARGE ], + [ 1, MoveId.V_CREATE ], + [ 7, MoveId.WORK_UP ], + [ 14, MoveId.INCINERATE ], + [ 21, MoveId.STORED_POWER ], + [ 28, MoveId.HEADBUTT ], + [ 35, MoveId.ENDURE ], + [ 42, MoveId.ZEN_HEADBUTT ], + [ 49, MoveId.INFERNO ], + [ 56, MoveId.REVERSAL ], + [ 63, MoveId.SEARING_SHOT ], + [ 70, MoveId.DOUBLE_EDGE ], + [ 77, MoveId.FLARE_BLITZ ], + [ 84, MoveId.OVERHEAT ], + [ 91, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.SNIVY]: [ + [ 1, MoveId.TACKLE ], + [ 4, MoveId.LEER ], + [ 5, MoveId.VINE_WHIP ], // Custom, moved from 7 to 5 + [ 10, MoveId.WRAP ], + [ 13, MoveId.GROWTH ], + [ 16, MoveId.MAGICAL_LEAF ], + [ 19, MoveId.LEECH_SEED ], + [ 22, MoveId.MEGA_DRAIN ], + [ 25, MoveId.SLAM ], + [ 28, MoveId.LEAF_BLADE ], + [ 31, MoveId.COIL ], + [ 34, MoveId.GIGA_DRAIN ], + [ 37, MoveId.GASTRO_ACID ], + [ 40, MoveId.LEAF_STORM ], + ], + [SpeciesId.SERVINE]: [ + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 13, MoveId.GROWTH ], + [ 16, MoveId.MAGICAL_LEAF ], + [ 20, MoveId.LEECH_SEED ], + [ 24, MoveId.MEGA_DRAIN ], + [ 28, MoveId.SLAM ], + [ 32, MoveId.LEAF_BLADE ], + [ 36, MoveId.COIL ], + [ 40, MoveId.GIGA_DRAIN ], + [ 44, MoveId.GASTRO_ACID ], + [ 48, MoveId.LEAF_STORM ], + ], + [SpeciesId.SERPERIOR]: [ + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 13, MoveId.GROWTH ], + [ 16, MoveId.MAGICAL_LEAF ], + [ 20, MoveId.LEECH_SEED ], + [ 24, MoveId.MEGA_DRAIN ], + [ 28, MoveId.SLAM ], + [ 32, MoveId.LEAF_BLADE ], + [ 38, MoveId.COIL ], + [ 44, MoveId.GIGA_DRAIN ], + [ 50, MoveId.GASTRO_ACID ], + [ 56, MoveId.LEAF_STORM ], + ], + [SpeciesId.TEPIG]: [ + [ 1, MoveId.TACKLE ], + [ 3, MoveId.TAIL_WHIP ], + [ 5, MoveId.EMBER ], // Custom, moved from 7 to 5 + [ 9, MoveId.ENDURE ], + [ 13, MoveId.DEFENSE_CURL ], + [ 15, MoveId.FLAME_CHARGE ], + [ 19, MoveId.SMOG ], + [ 21, MoveId.ROLLOUT ], + [ 25, MoveId.TAKE_DOWN ], + [ 27, MoveId.HEAT_CRASH ], + [ 31, MoveId.ASSURANCE ], + [ 33, MoveId.FLAMETHROWER ], + [ 37, MoveId.HEAD_SMASH ], + [ 39, MoveId.ROAR ], + [ 43, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.PIGNITE]: [ + [ EVOLVE_MOVE, MoveId.ARM_THRUST ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.ENDURE ], + [ 13, MoveId.DEFENSE_CURL ], + [ 15, MoveId.FLAME_CHARGE ], + [ 20, MoveId.SMOG ], + [ 23, MoveId.ROLLOUT ], + [ 28, MoveId.TAKE_DOWN ], + [ 31, MoveId.HEAT_CRASH ], + [ 36, MoveId.ASSURANCE ], + [ 39, MoveId.FLAMETHROWER ], + [ 44, MoveId.HEAD_SMASH ], + [ 47, MoveId.ROAR ], + [ 52, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.EMBOAR]: [ + [ RELEARN_MOVE, MoveId.ENDURE ], + [ RELEARN_MOVE, MoveId.HAMMER_ARM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.ARM_THRUST ], + [ 13, MoveId.DEFENSE_CURL ], + [ 15, MoveId.FLAME_CHARGE ], + [ 20, MoveId.SMOG ], + [ 23, MoveId.ROLLOUT ], + [ 28, MoveId.TAKE_DOWN ], + [ 31, MoveId.HEAT_CRASH ], + [ 38, MoveId.ASSURANCE ], + [ 43, MoveId.FLAMETHROWER ], + [ 50, MoveId.HEAD_SMASH ], + [ 55, MoveId.ROAR ], + [ 62, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.OSHAWOTT]: [ + [ 1, MoveId.TACKLE ], + [ 5, MoveId.TAIL_WHIP ], + [ 5, MoveId.WATER_GUN ], // Custom, moved from 7 to 5 + [ 11, MoveId.SOAK ], + [ 13, MoveId.FOCUS_ENERGY ], + [ 17, MoveId.RAZOR_SHELL ], + [ 19, MoveId.FURY_CUTTER ], + [ 23, MoveId.WATER_PULSE ], + [ 25, MoveId.AERIAL_ACE ], + [ 29, MoveId.AQUA_JET ], + [ 31, MoveId.ENCORE ], + [ 35, MoveId.AQUA_TAIL ], + [ 37, MoveId.RETALIATE ], + [ 41, MoveId.SWORDS_DANCE ], + [ 43, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.DEWOTT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SOAK ], + [ 13, MoveId.FOCUS_ENERGY ], + [ 18, MoveId.RAZOR_SHELL ], + [ 21, MoveId.FURY_CUTTER ], + [ 26, MoveId.WATER_PULSE ], + [ 29, MoveId.AERIAL_ACE ], + [ 34, MoveId.AQUA_JET ], + [ 37, MoveId.ENCORE ], + [ 42, MoveId.AQUA_TAIL ], + [ 45, MoveId.RETALIATE ], + [ 50, MoveId.SWORDS_DANCE ], + [ 53, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.SAMUROTT]: [ + [ EVOLVE_MOVE, MoveId.SLASH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.MEGAHORN ], + [ 1, MoveId.SOAK ], + [ 13, MoveId.FOCUS_ENERGY ], + [ 18, MoveId.RAZOR_SHELL ], + [ 21, MoveId.FURY_CUTTER ], + [ 25, MoveId.WATER_PULSE ], + [ 29, MoveId.AERIAL_ACE ], + [ 34, MoveId.AQUA_JET ], + [ 39, MoveId.ENCORE ], + [ 46, MoveId.AQUA_TAIL ], + [ 51, MoveId.RETALIATE ], + [ 58, MoveId.SWORDS_DANCE ], + [ 63, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.PATRAT]: [ + [ 1, MoveId.TACKLE ], + [ 3, MoveId.LEER ], + [ 6, MoveId.BITE ], + [ 8, MoveId.BIDE ], + [ 11, MoveId.DETECT ], + [ 13, MoveId.SAND_ATTACK ], + [ 16, MoveId.CRUNCH ], + [ 18, MoveId.HYPNOSIS ], + [ 21, MoveId.SUPER_FANG ], + [ 23, MoveId.AFTER_YOU ], + [ 26, MoveId.FOCUS_ENERGY ], + [ 28, MoveId.WORK_UP ], + [ 31, MoveId.HYPER_FANG ], + [ 33, MoveId.NASTY_PLOT ], + [ 36, MoveId.MEAN_LOOK ], + [ 38, MoveId.BATON_PASS ], + [ 41, MoveId.SLAM ], + ], + [SpeciesId.WATCHOG]: [ + [ EVOLVE_MOVE, MoveId.CONFUSE_RAY ], + [ RELEARN_MOVE, MoveId.WORK_UP ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.ROTOTILLER ], + [ 8, MoveId.BIDE ], + [ 11, MoveId.DETECT ], + [ 13, MoveId.SAND_ATTACK ], + [ 16, MoveId.CRUNCH ], + [ 18, MoveId.HYPNOSIS ], + [ 22, MoveId.SUPER_FANG ], + [ 25, MoveId.AFTER_YOU ], + [ 29, MoveId.FOCUS_ENERGY ], + [ 32, MoveId.PSYCH_UP ], + [ 36, MoveId.HYPER_FANG ], + [ 39, MoveId.NASTY_PLOT ], + [ 43, MoveId.MEAN_LOOK ], + [ 46, MoveId.BATON_PASS ], + [ 50, MoveId.SLAM ], + ], + [SpeciesId.LILLIPUP]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 4, MoveId.WORK_UP ], + [ 8, MoveId.BITE ], + [ 12, MoveId.RETALIATE ], + [ 17, MoveId.BABY_DOLL_EYES ], + [ 20, MoveId.PLAY_ROUGH ], + [ 24, MoveId.CRUNCH ], + [ 28, MoveId.TAKE_DOWN ], + [ 32, MoveId.HELPING_HAND ], + [ 36, MoveId.REVERSAL ], + [ 40, MoveId.ROAR ], + [ 44, MoveId.LAST_RESORT ], + [ 48, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.HERDIER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.WORK_UP ], + [ 12, MoveId.RETALIATE ], + [ 19, MoveId.BABY_DOLL_EYES ], + [ 24, MoveId.PLAY_ROUGH ], + [ 30, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 42, MoveId.HELPING_HAND ], + [ 48, MoveId.REVERSAL ], + [ 54, MoveId.ROAR ], + [ 60, MoveId.LAST_RESORT ], + [ 66, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.STOUTLAND]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.WORK_UP ], + [ 12, MoveId.RETALIATE ], + [ 19, MoveId.BABY_DOLL_EYES ], + [ 24, MoveId.PLAY_ROUGH ], + [ 30, MoveId.CRUNCH ], + [ 38, MoveId.TAKE_DOWN ], + [ 46, MoveId.HELPING_HAND ], + [ 54, MoveId.REVERSAL ], + [ 62, MoveId.ROAR ], + [ 70, MoveId.LAST_RESORT ], + [ 78, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.PURRLOIN]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.SAND_ATTACK ], + [ 5, MoveId.FAKE_OUT ], + [ 12, MoveId.FURY_SWIPES ], + [ 16, MoveId.TORMENT ], + [ 21, MoveId.ASSURANCE ], + [ 24, MoveId.HONE_CLAWS ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 32, MoveId.NASTY_PLOT ], + [ 36, MoveId.NIGHT_SLASH ], + [ 40, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.LIEPARD]: [ + [ 1, MoveId.ASSIST ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 12, MoveId.FURY_SWIPES ], + [ 16, MoveId.TORMENT ], + [ 23, MoveId.ASSURANCE ], + [ 28, MoveId.HONE_CLAWS ], + [ 34, MoveId.SUCKER_PUNCH ], + [ 40, MoveId.NASTY_PLOT ], + [ 46, MoveId.NIGHT_SLASH ], + [ 52, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.PANSAGE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.PLAY_NICE ], + [ 4, MoveId.LEER ], + [ 7, MoveId.LICK ], + [ 10, MoveId.VINE_WHIP ], + [ 13, MoveId.FURY_SWIPES ], + [ 16, MoveId.LEECH_SEED ], + [ 19, MoveId.BITE ], + [ 22, MoveId.SEED_BOMB ], + [ 25, MoveId.TORMENT ], + [ 28, MoveId.FLING ], + [ 31, MoveId.ACROBATICS ], + [ 34, MoveId.GRASS_KNOT ], + [ 37, MoveId.RECYCLE ], + [ 40, MoveId.NATURAL_GIFT ], + [ 43, MoveId.CRUNCH ], + ], + [SpeciesId.SIMISAGE]: [ // Previous Stage Relearn Learnset - [ RELEARN_MOVE, Moves.SCRATCH ], - [ RELEARN_MOVE, Moves.PLAY_NICE ], - [ RELEARN_MOVE, Moves.VINE_WHIP ], - [ RELEARN_MOVE, Moves.LEECH_SEED ], - [ RELEARN_MOVE, Moves.BITE ], - [ RELEARN_MOVE, Moves.TORMENT ], - [ RELEARN_MOVE, Moves.FLING ], - [ RELEARN_MOVE, Moves.ACROBATICS ], - [ RELEARN_MOVE, Moves.GRASS_KNOT ], - [ RELEARN_MOVE, Moves.RECYCLE ], - [ RELEARN_MOVE, Moves.NATURAL_GIFT ], - [ RELEARN_MOVE, Moves.CRUNCH ], - [ 1, Moves.LEER ], - [ 1, Moves.LICK ], - [ 1, Moves.FURY_SWIPES ], - [ 1, Moves.SEED_BOMB ], + [ RELEARN_MOVE, MoveId.SCRATCH ], + [ RELEARN_MOVE, MoveId.PLAY_NICE ], + [ RELEARN_MOVE, MoveId.VINE_WHIP ], + [ RELEARN_MOVE, MoveId.LEECH_SEED ], + [ RELEARN_MOVE, MoveId.BITE ], + [ RELEARN_MOVE, MoveId.TORMENT ], + [ RELEARN_MOVE, MoveId.FLING ], + [ RELEARN_MOVE, MoveId.ACROBATICS ], + [ RELEARN_MOVE, MoveId.GRASS_KNOT ], + [ RELEARN_MOVE, MoveId.RECYCLE ], + [ RELEARN_MOVE, MoveId.NATURAL_GIFT ], + [ RELEARN_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LICK ], + [ 1, MoveId.FURY_SWIPES ], + [ 1, MoveId.SEED_BOMB ], ], - [Species.PANSEAR]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.PLAY_NICE ], - [ 4, Moves.LEER ], - [ 7, Moves.LICK ], - [ 10, Moves.INCINERATE ], - [ 13, Moves.FURY_SWIPES ], - [ 16, Moves.YAWN ], - [ 19, Moves.BITE ], - [ 22, Moves.FLAME_BURST ], - [ 25, Moves.AMNESIA ], - [ 28, Moves.FLING ], - [ 31, Moves.ACROBATICS ], - [ 34, Moves.FIRE_BLAST ], - [ 37, Moves.RECYCLE ], - [ 40, Moves.NATURAL_GIFT ], - [ 43, Moves.CRUNCH ], + [SpeciesId.PANSEAR]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.PLAY_NICE ], + [ 4, MoveId.LEER ], + [ 7, MoveId.LICK ], + [ 10, MoveId.INCINERATE ], + [ 13, MoveId.FURY_SWIPES ], + [ 16, MoveId.YAWN ], + [ 19, MoveId.BITE ], + [ 22, MoveId.FLAME_BURST ], + [ 25, MoveId.AMNESIA ], + [ 28, MoveId.FLING ], + [ 31, MoveId.ACROBATICS ], + [ 34, MoveId.FIRE_BLAST ], + [ 37, MoveId.RECYCLE ], + [ 40, MoveId.NATURAL_GIFT ], + [ 43, MoveId.CRUNCH ], ], - [Species.SIMISEAR]: [ + [SpeciesId.SIMISEAR]: [ // Previous Stage Relearn Learnset - [ RELEARN_MOVE, Moves.SCRATCH ], - [ RELEARN_MOVE, Moves.PLAY_NICE ], - [ RELEARN_MOVE, Moves.INCINERATE ], - [ RELEARN_MOVE, Moves.YAWN ], - [ RELEARN_MOVE, Moves.BITE ], - [ RELEARN_MOVE, Moves.AMNESIA ], - [ RELEARN_MOVE, Moves.FLING ], - [ RELEARN_MOVE, Moves.ACROBATICS ], - [ RELEARN_MOVE, Moves.FIRE_BLAST ], - [ RELEARN_MOVE, Moves.RECYCLE ], - [ RELEARN_MOVE, Moves.NATURAL_GIFT ], - [ RELEARN_MOVE, Moves.CRUNCH ], - [ 1, Moves.LEER ], - [ 1, Moves.LICK ], - [ 1, Moves.FURY_SWIPES ], - [ 1, Moves.FLAME_BURST ], + [ RELEARN_MOVE, MoveId.SCRATCH ], + [ RELEARN_MOVE, MoveId.PLAY_NICE ], + [ RELEARN_MOVE, MoveId.INCINERATE ], + [ RELEARN_MOVE, MoveId.YAWN ], + [ RELEARN_MOVE, MoveId.BITE ], + [ RELEARN_MOVE, MoveId.AMNESIA ], + [ RELEARN_MOVE, MoveId.FLING ], + [ RELEARN_MOVE, MoveId.ACROBATICS ], + [ RELEARN_MOVE, MoveId.FIRE_BLAST ], + [ RELEARN_MOVE, MoveId.RECYCLE ], + [ RELEARN_MOVE, MoveId.NATURAL_GIFT ], + [ RELEARN_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LICK ], + [ 1, MoveId.FURY_SWIPES ], + [ 1, MoveId.FLAME_BURST ], ], - [Species.PANPOUR]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.PLAY_NICE ], - [ 4, Moves.LEER ], - [ 7, Moves.LICK ], - [ 10, Moves.WATER_GUN ], - [ 13, Moves.FURY_SWIPES ], - [ 16, Moves.WATER_SPORT ], - [ 19, Moves.BITE ], - [ 22, Moves.SCALD ], - [ 25, Moves.TAUNT ], - [ 28, Moves.FLING ], - [ 31, Moves.ACROBATICS ], - [ 34, Moves.BRINE ], - [ 37, Moves.RECYCLE ], - [ 40, Moves.NATURAL_GIFT ], - [ 43, Moves.CRUNCH ], + [SpeciesId.PANPOUR]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.PLAY_NICE ], + [ 4, MoveId.LEER ], + [ 7, MoveId.LICK ], + [ 10, MoveId.WATER_GUN ], + [ 13, MoveId.FURY_SWIPES ], + [ 16, MoveId.WATER_SPORT ], + [ 19, MoveId.BITE ], + [ 22, MoveId.SCALD ], + [ 25, MoveId.TAUNT ], + [ 28, MoveId.FLING ], + [ 31, MoveId.ACROBATICS ], + [ 34, MoveId.BRINE ], + [ 37, MoveId.RECYCLE ], + [ 40, MoveId.NATURAL_GIFT ], + [ 43, MoveId.CRUNCH ], ], - [Species.SIMIPOUR]: [ + [SpeciesId.SIMIPOUR]: [ // Previous Stage Relearn Learnset - [ RELEARN_MOVE, Moves.SCRATCH ], - [ RELEARN_MOVE, Moves.PLAY_NICE ], - [ RELEARN_MOVE, Moves.WATER_GUN ], - [ RELEARN_MOVE, Moves.WATER_SPORT ], - [ RELEARN_MOVE, Moves.BITE ], - [ RELEARN_MOVE, Moves.TAUNT ], - [ RELEARN_MOVE, Moves.FLING ], - [ RELEARN_MOVE, Moves.ACROBATICS ], - [ RELEARN_MOVE, Moves.BRINE ], - [ RELEARN_MOVE, Moves.RECYCLE ], - [ RELEARN_MOVE, Moves.NATURAL_GIFT ], - [ RELEARN_MOVE, Moves.CRUNCH ], - [ 1, Moves.LEER ], - [ 1, Moves.LICK ], - [ 1, Moves.FURY_SWIPES ], - [ 1, Moves.SCALD ], - ], - [Species.MUNNA]: [ - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.STORED_POWER ], - [ 1, Moves.PSYWAVE ], - [ 4, Moves.HYPNOSIS ], - [ 8, Moves.PSYBEAM ], - [ 12, Moves.IMPRISON ], - [ 16, Moves.MOONLIGHT ], - [ 20, Moves.MAGIC_COAT ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 28, Moves.CALM_MIND ], - [ 32, Moves.YAWN ], - [ 36, Moves.PSYCHIC ], - [ 40, Moves.MOONBLAST ], - [ 44, Moves.DREAM_EATER ], - [ 48, Moves.FUTURE_SIGHT ], - [ 52, Moves.WONDER_ROOM ], - ], - [Species.MUSHARNA]: [ - [ 1, Moves.PSYWAVE ], // Previous Stage Move - [ 1, Moves.PSYBEAM ], - [ 1, Moves.PSYCHIC ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.LUCKY_CHANT ], - [ 1, Moves.DREAM_EATER ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.FUTURE_SIGHT ], - [ 1, Moves.MAGIC_COAT ], - [ 1, Moves.YAWN ], - [ 1, Moves.IMPRISON ], - [ 1, Moves.CALM_MIND ], - [ 1, Moves.ZEN_HEADBUTT ], - [ 1, Moves.WONDER_ROOM ], - [ 1, Moves.STORED_POWER ], - [ 1, Moves.MOONBLAST ], - [ 1, Moves.PSYCHIC_TERRAIN ], - ], - [Species.PIDOVE]: [ - [ 1, Moves.GUST ], - [ 1, Moves.GROWL ], - [ 4, Moves.LEER ], - [ 8, Moves.QUICK_ATTACK ], - [ 12, Moves.TAUNT ], - [ 16, Moves.AIR_CUTTER ], - [ 20, Moves.SWAGGER ], - [ 24, Moves.FEATHER_DANCE ], - [ 28, Moves.DETECT ], - [ 32, Moves.AIR_SLASH ], - [ 36, Moves.ROOST ], - [ 40, Moves.TAILWIND ], - [ 44, Moves.SKY_ATTACK ], - ], - [Species.TRANQUILL]: [ - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 1, Moves.GROWL ], - [ 1, Moves.QUICK_ATTACK ], - [ 12, Moves.TAUNT ], - [ 16, Moves.AIR_CUTTER ], - [ 20, Moves.SWAGGER ], - [ 26, Moves.FEATHER_DANCE ], - [ 34, Moves.DETECT ], - [ 38, Moves.AIR_SLASH ], - [ 44, Moves.ROOST ], - [ 50, Moves.TAILWIND ], - [ 56, Moves.SKY_ATTACK ], - ], - [Species.UNFEZANT]: [ - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 1, Moves.GROWL ], - [ 1, Moves.QUICK_ATTACK ], - [ 12, Moves.TAUNT ], - [ 16, Moves.AIR_CUTTER ], - [ 20, Moves.SWAGGER ], - [ 26, Moves.FEATHER_DANCE ], - [ 36, Moves.DETECT ], - [ 42, Moves.AIR_SLASH ], - [ 50, Moves.ROOST ], - [ 58, Moves.TAILWIND ], - [ 66, Moves.SKY_ATTACK ], - ], - [Species.BLITZLE]: [ - [ 1, Moves.QUICK_ATTACK ], - [ 4, Moves.TAIL_WHIP ], - [ 8, Moves.CHARGE ], - [ 11, Moves.SHOCK_WAVE ], - [ 15, Moves.THUNDER_WAVE ], - [ 18, Moves.FLAME_CHARGE ], - [ 22, Moves.SPARK ], - [ 25, Moves.STOMP ], - [ 29, Moves.DISCHARGE ], - [ 33, Moves.AGILITY ], - [ 35, Moves.WILD_CHARGE ], - [ 40, Moves.THRASH ], - ], - [Species.ZEBSTRIKA]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.CHARGE ], - [ 1, Moves.ION_DELUGE ], - [ 11, Moves.SHOCK_WAVE ], - [ 18, Moves.FLAME_CHARGE ], - [ 25, Moves.SPARK ], - [ 31, Moves.STOMP ], - [ 36, Moves.DISCHARGE ], - [ 42, Moves.AGILITY ], - [ 47, Moves.WILD_CHARGE ], - [ 53, Moves.THRASH ], - ], - [Species.ROGGENROLA]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 4, Moves.HARDEN ], - [ 8, Moves.STEALTH_ROCK ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.SMACK_DOWN ], - [ 20, Moves.IRON_DEFENSE ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.ROCK_SLIDE ], - [ 32, Moves.ROCK_BLAST ], - [ 36, Moves.SANDSTORM ], - [ 40, Moves.STONE_EDGE ], - [ 44, Moves.EXPLOSION ], - ], - [Species.BOLDORE]: [ - [ EVOLVE_MOVE, Moves.POWER_GEM ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.STEALTH_ROCK ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.SMACK_DOWN ], - [ 20, Moves.IRON_DEFENSE ], - [ 24, Moves.HEADBUTT ], - [ 30, Moves.ROCK_SLIDE ], - [ 36, Moves.ROCK_BLAST ], - [ 42, Moves.SANDSTORM ], - [ 48, Moves.STONE_EDGE ], - [ 54, Moves.EXPLOSION ], - ], - [Species.GIGALITH]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.POWER_GEM ], - [ 1, Moves.STEALTH_ROCK ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.SMACK_DOWN ], - [ 20, Moves.IRON_DEFENSE ], - [ 24, Moves.HEADBUTT ], - [ 30, Moves.ROCK_SLIDE ], - [ 36, Moves.ROCK_BLAST ], - [ 42, Moves.SANDSTORM ], - [ 48, Moves.STONE_EDGE ], - [ 54, Moves.EXPLOSION ], - ], - [Species.WOOBAT]: [ - [ 1, Moves.GUST ], - [ 1, Moves.ATTRACT ], - [ 5, Moves.CONFUSION ], - [ 10, Moves.ENDEAVOR ], - [ 15, Moves.AIR_CUTTER ], - [ 20, Moves.IMPRISON ], - [ 25, Moves.ASSURANCE ], - [ 30, Moves.AMNESIA ], - [ 35, Moves.AIR_SLASH ], - [ 40, Moves.PSYCHIC ], - [ 45, Moves.CALM_MIND ], - [ 50, Moves.FUTURE_SIGHT ], - [ 55, Moves.SIMPLE_BEAM ], - ], - [Species.SWOOBAT]: [ - [ 1, Moves.GUST ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.ATTRACT ], - [ 1, Moves.ENDEAVOR ], - [ 15, Moves.AIR_CUTTER ], - [ 20, Moves.IMPRISON ], - [ 25, Moves.ASSURANCE ], - [ 30, Moves.AMNESIA ], - [ 35, Moves.AIR_SLASH ], - [ 40, Moves.PSYCHIC ], - [ 45, Moves.CALM_MIND ], - [ 50, Moves.FUTURE_SIGHT ], - [ 55, Moves.SIMPLE_BEAM ], - ], - [Species.DRILBUR]: [ - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.MUD_SPORT ], - [ 4, Moves.SCRATCH ], - [ 8, Moves.HONE_CLAWS ], - [ 12, Moves.FURY_SWIPES ], - [ 16, Moves.METAL_CLAW ], - [ 20, Moves.SANDSTORM ], - [ 24, Moves.CRUSH_CLAW ], - [ 28, Moves.ROCK_SLIDE ], - [ 32, Moves.DIG ], - [ 36, Moves.SWORDS_DANCE ], - [ 40, Moves.DRILL_RUN ], - [ 44, Moves.EARTHQUAKE ], - [ 48, Moves.FISSURE ], - ], - [Species.EXCADRILL]: [ - [ EVOLVE_MOVE, Moves.HORN_DRILL ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.MUD_SPORT ], - [ 1, Moves.ROTOTILLER ], - [ 1, Moves.HONE_CLAWS ], - [ 12, Moves.FURY_SWIPES ], - [ 16, Moves.METAL_CLAW ], - [ 20, Moves.SANDSTORM ], - [ 24, Moves.CRUSH_CLAW ], - [ 28, Moves.ROCK_SLIDE ], - [ 34, Moves.DIG ], - [ 40, Moves.SWORDS_DANCE ], - [ 46, Moves.DRILL_RUN ], - [ 52, Moves.EARTHQUAKE ], - [ 58, Moves.FISSURE ], - ], - [Species.AUDINO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.PLAY_NICE ], - [ 4, Moves.DISARMING_VOICE ], - [ 9, Moves.BABY_DOLL_EYES ], - [ 12, Moves.HELPING_HAND ], - [ 16, Moves.GROWL ], - [ 20, Moves.ZEN_HEADBUTT ], - [ 24, Moves.LIFE_DEW ], - [ 28, Moves.AFTER_YOU ], - [ 32, Moves.TAKE_DOWN ], - [ 36, Moves.SIMPLE_BEAM ], - [ 40, Moves.HYPER_VOICE ], - [ 44, Moves.HEAL_PULSE ], - [ 48, Moves.DOUBLE_EDGE ], - [ 52, Moves.ENTRAINMENT ], - [ 56, Moves.MISTY_TERRAIN ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.TIMBURR]: [ - [ 1, Moves.POUND ], - [ 1, Moves.LEER ], - [ 4, Moves.LOW_KICK ], - [ 8, Moves.ROCK_THROW ], - [ 12, Moves.FOCUS_ENERGY ], - [ 16, Moves.BULK_UP ], - [ 20, Moves.ROCK_SLIDE ], - [ 24, Moves.SLAM ], - [ 28, Moves.SCARY_FACE ], - [ 32, Moves.DYNAMIC_PUNCH ], - [ 36, Moves.HAMMER_ARM ], - [ 40, Moves.STONE_EDGE ], - [ 44, Moves.SUPERPOWER ], - [ 48, Moves.FOCUS_PUNCH ], - ], - [Species.GURDURR]: [ - [ 1, Moves.POUND ], - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.BIDE ], - [ 12, Moves.FOCUS_ENERGY ], - [ 16, Moves.BULK_UP ], - [ 20, Moves.ROCK_SLIDE ], - [ 24, Moves.SLAM ], - [ 30, Moves.SCARY_FACE ], - [ 36, Moves.DYNAMIC_PUNCH ], - [ 42, Moves.HAMMER_ARM ], - [ 48, Moves.STONE_EDGE ], - [ 54, Moves.SUPERPOWER ], - [ 60, Moves.FOCUS_PUNCH ], - ], - [Species.CONKELDURR]: [ - [ 1, Moves.POUND ], - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.BIDE ], - [ 12, Moves.FOCUS_ENERGY ], - [ 16, Moves.BULK_UP ], - [ 20, Moves.ROCK_SLIDE ], - [ 24, Moves.SLAM ], - [ 30, Moves.SCARY_FACE ], - [ 36, Moves.DYNAMIC_PUNCH ], - [ 42, Moves.HAMMER_ARM ], - [ 48, Moves.STONE_EDGE ], - [ 54, Moves.SUPERPOWER ], - [ 60, Moves.FOCUS_PUNCH ], - ], - [Species.TYMPOLE]: [ - [ 1, Moves.BUBBLE ], //USUM - [ 1, Moves.GROWL ], - [ 1, Moves.ECHOED_VOICE ], - [ 4, Moves.ACID ], - [ 8, Moves.SUPERSONIC ], - [ 12, Moves.MUD_SHOT ], - [ 16, Moves.ROUND ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.FLAIL ], - [ 28, Moves.UPROAR ], - [ 32, Moves.AQUA_RING ], - [ 36, Moves.HYPER_VOICE ], - [ 40, Moves.MUDDY_WATER ], - [ 44, Moves.RAIN_DANCE ], - [ 48, Moves.HYDRO_PUMP ], - ], - [Species.PALPITOAD]: [ - [ 1, Moves.BUBBLE ], //USUM - [ 1, Moves.GROWL ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.ACID ], - [ 1, Moves.ECHOED_VOICE ], - [ 12, Moves.MUD_SHOT ], - [ 16, Moves.ROUND ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.FLAIL ], - [ 30, Moves.UPROAR ], - [ 37, Moves.AQUA_RING ], - [ 42, Moves.HYPER_VOICE ], - [ 48, Moves.MUDDY_WATER ], - [ 54, Moves.RAIN_DANCE ], - [ 60, Moves.HYDRO_PUMP ], - ], - [Species.SEISMITOAD]: [ - [ EVOLVE_MOVE, Moves.DRAIN_PUNCH ], - [ 1, Moves.BUBBLE ], //USUM - [ 1, Moves.GROWL ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.ACID ], - [ 1, Moves.GASTRO_ACID ], - [ 1, Moves.ECHOED_VOICE ], - [ 12, Moves.MUD_SHOT ], - [ 16, Moves.ROUND ], - [ 20, Moves.BUBBLE_BEAM ], - [ 24, Moves.FLAIL ], - [ 30, Moves.UPROAR ], - [ 39, Moves.AQUA_RING ], - [ 46, Moves.HYPER_VOICE ], - [ 54, Moves.MUDDY_WATER ], - [ 62, Moves.RAIN_DANCE ], - [ 70, Moves.HYDRO_PUMP ], - ], - [Species.THROH]: [ - [ 1, Moves.ROCK_SMASH ], // Custom - [ 1, Moves.LEER ], - [ 1, Moves.BIDE ], - [ 1, Moves.MAT_BLOCK ], - [ 1, Moves.BIND ], - [ 5, Moves.FOCUS_ENERGY ], - [ 10, Moves.CIRCLE_THROW ], - [ 15, Moves.WIDE_GUARD ], - [ 20, Moves.REVENGE ], - [ 25, Moves.BULK_UP ], - [ 30, Moves.STORM_THROW ], - [ 35, Moves.VITAL_THROW ], - [ 40, Moves.SEISMIC_TOSS ], - [ 45, Moves.ENDURE ], - [ 50, Moves.REVERSAL ], - [ 55, Moves.SUPERPOWER ], - ], - [Species.SAWK]: [ - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.BIDE ], - [ 5, Moves.FOCUS_ENERGY ], - [ 10, Moves.DOUBLE_KICK ], - [ 15, Moves.QUICK_GUARD ], - [ 20, Moves.LOW_SWEEP ], - [ 25, Moves.BULK_UP ], - [ 30, Moves.RETALIATE ], - [ 35, Moves.BRICK_BREAK ], - [ 40, Moves.COUNTER ], - [ 45, Moves.ENDURE ], - [ 50, Moves.REVERSAL ], - [ 55, Moves.CLOSE_COMBAT ], - ], - [Species.SEWADDLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.STRING_SHOT ], - [ 8, Moves.BUG_BITE ], - [ 15, Moves.RAZOR_LEAF ], - [ 22, Moves.STRUGGLE_BUG ], - [ 29, Moves.ENDURE ], - [ 31, Moves.STICKY_WEB ], - [ 36, Moves.BUG_BUZZ ], - [ 43, Moves.FLAIL ], - ], - [Species.SWADLOON]: [ - [ EVOLVE_MOVE, Moves.PROTECT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.GRASS_WHISTLE ], - [ 22, Moves.STRUGGLE_BUG ], - [ 29, Moves.ENDURE ], - [ 31, Moves.STICKY_WEB ], - [ 36, Moves.BUG_BUZZ ], - [ 43, Moves.FLAIL ], - ], - [Species.LEAVANNY]: [ - [ EVOLVE_MOVE, Moves.SLASH ], - [ RELEARN_MOVE, Moves.BUG_BITE ], - [ RELEARN_MOVE, Moves.STICKY_WEB ], // Previous Stage Move - [ RELEARN_MOVE, Moves.BUG_BUZZ ], // Previous Stage Move - [ 1, Moves.PROTECT ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.GRASS_WHISTLE ], // Previous Stage Move - [ 1, Moves.ENDURE ], // Previous Stage Move - [ 1, Moves.FLAIL ], // Previous Stage Move - [ 1, Moves.FALSE_SWIPE ], - [ 22, Moves.STRUGGLE_BUG ], - [ 29, Moves.FELL_STINGER ], - [ 32, Moves.HELPING_HAND ], - [ 36, Moves.LEAF_BLADE ], - [ 39, Moves.X_SCISSOR ], - [ 43, Moves.ENTRAINMENT ], - [ 46, Moves.SWORDS_DANCE ], - [ 50, Moves.LEAF_STORM ], - ], - [Species.VENIPEDE]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.DEFENSE_CURL ], - [ 4, Moves.ROLLOUT ], - [ 8, Moves.PROTECT ], - [ 12, Moves.POISON_TAIL ], - [ 16, Moves.SCREECH ], - [ 20, Moves.BUG_BITE ], - [ 24, Moves.VENOSHOCK ], - [ 28, Moves.TAKE_DOWN ], - [ 32, Moves.AGILITY ], - [ 36, Moves.TOXIC ], - [ 40, Moves.VENOM_DRENCH ], - [ 44, Moves.DOUBLE_EDGE ], - ], - [Species.WHIRLIPEDE]: [ - [ EVOLVE_MOVE, Moves.IRON_DEFENSE ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.PROTECT ], - [ 1, Moves.ROLLOUT ], - [ 12, Moves.POISON_TAIL ], - [ 16, Moves.SCREECH ], - [ 20, Moves.BUG_BITE ], - [ 26, Moves.VENOSHOCK ], - [ 32, Moves.TAKE_DOWN ], - [ 38, Moves.AGILITY ], - [ 44, Moves.TOXIC ], - [ 50, Moves.VENOM_DRENCH ], - [ 56, Moves.DOUBLE_EDGE ], - ], - [Species.SCOLIPEDE]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.PROTECT ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.IRON_DEFENSE ], - [ 12, Moves.POISON_TAIL ], - [ 16, Moves.SCREECH ], - [ 20, Moves.BUG_BITE ], - [ 26, Moves.VENOSHOCK ], - [ 34, Moves.TAKE_DOWN ], - [ 42, Moves.AGILITY ], - [ 50, Moves.TOXIC ], - [ 58, Moves.VENOM_DRENCH ], - [ 66, Moves.DOUBLE_EDGE ], - [ 74, Moves.MEGAHORN ], - ], - [Species.COTTONEE]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.HELPING_HAND ], - [ 3, Moves.FAIRY_WIND ], - [ 6, Moves.STUN_SPORE ], - [ 12, Moves.MEGA_DRAIN ], - [ 15, Moves.RAZOR_LEAF ], - [ 18, Moves.GROWTH ], - [ 21, Moves.POISON_POWDER ], - [ 24, Moves.GIGA_DRAIN ], - [ 27, Moves.CHARM ], - [ 30, Moves.LEECH_SEED ], - [ 33, Moves.COTTON_SPORE ], - [ 36, Moves.ENERGY_BALL ], - [ 39, Moves.SUNNY_DAY ], - [ 42, Moves.ENDEAVOR ], - [ 45, Moves.COTTON_GUARD ], - [ 48, Moves.SOLAR_BEAM ], - ], - [Species.WHIMSICOTT]: [ - [ 1, Moves.GUST ], - [ 1, Moves.ABSORB ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.GROWTH ], - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.SOLAR_BEAM ], - [ 1, Moves.POISON_POWDER ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.COTTON_SPORE ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.CHARM ], - [ 1, Moves.SUNNY_DAY ], - [ 1, Moves.MEMENTO ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.ENDEAVOR ], - [ 1, Moves.TAILWIND ], - [ 1, Moves.ENERGY_BALL ], - [ 1, Moves.COTTON_GUARD ], - [ 1, Moves.HURRICANE ], - [ 1, Moves.FAIRY_WIND ], - [ 1, Moves.MOONBLAST ], - ], - [Species.PETILIL]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 3, Moves.HELPING_HAND ], - [ 6, Moves.STUN_SPORE ], - [ 9, Moves.MEGA_DRAIN ], - [ 12, Moves.CHARM ], - [ 15, Moves.MAGICAL_LEAF ], - [ 18, Moves.SLEEP_POWDER ], - [ 21, Moves.GIGA_DRAIN ], - [ 24, Moves.LEECH_SEED ], - [ 27, Moves.AFTER_YOU ], - [ 30, Moves.ENERGY_BALL ], - [ 33, Moves.SYNTHESIS ], - [ 36, Moves.SUNNY_DAY ], - [ 39, Moves.ENTRAINMENT ], - [ 42, Moves.LEAF_STORM ], - ], - [Species.LILLIGANT]: [ - [ EVOLVE_MOVE, Moves.PETAL_DANCE ], - [ 1, Moves.ABSORB ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.GROWTH ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.SLEEP_POWDER ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.CHARM ], - [ 1, Moves.SYNTHESIS ], - [ 1, Moves.SUNNY_DAY ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.TEETER_DANCE ], - [ 1, Moves.ENERGY_BALL ], - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.QUIVER_DANCE ], - [ 1, Moves.ENTRAINMENT ], - [ 1, Moves.AFTER_YOU ], - [ 1, Moves.PETAL_BLIZZARD ], - [ 5, Moves.MAGICAL_LEAF ], - ], - [Species.BASCULIN]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.TACKLE ], - [ 8, Moves.FLAIL ], - [ 12, Moves.AQUA_JET ], - [ 16, Moves.BITE ], - [ 20, Moves.SCARY_FACE ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.SOAK ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.FINAL_GAMBIT ], - [ 44, Moves.WAVE_CRASH ], - [ 48, Moves.THRASH ], - [ 52, Moves.DOUBLE_EDGE ], - [ 56, Moves.HEAD_SMASH ], - ], - [Species.SANDILE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.POWER_TRIP ], - [ 3, Moves.SAND_ATTACK ], - [ 6, Moves.HONE_CLAWS ], - [ 9, Moves.SAND_TOMB ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.BITE ], - [ 18, Moves.TORMENT ], - [ 21, Moves.DIG ], - [ 24, Moves.SWAGGER ], - [ 27, Moves.CRUNCH ], - [ 30, Moves.SANDSTORM ], - [ 33, Moves.FOUL_PLAY ], - [ 36, Moves.EARTHQUAKE ], - [ 39, Moves.THRASH ], - ], - [Species.KROKOROK]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.HONE_CLAWS ], - [ 1, Moves.POWER_TRIP ], - [ 9, Moves.SAND_TOMB ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.BITE ], - [ 18, Moves.TORMENT ], - [ 21, Moves.DIG ], - [ 24, Moves.SWAGGER ], - [ 27, Moves.CRUNCH ], - [ 32, Moves.SANDSTORM ], - [ 35, Moves.FOUL_PLAY ], - [ 42, Moves.EARTHQUAKE ], - [ 47, Moves.THRASH ], - ], - [Species.KROOKODILE]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.HONE_CLAWS ], - [ 1, Moves.POWER_TRIP ], - [ 9, Moves.SAND_TOMB ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.BITE ], - [ 18, Moves.TORMENT ], - [ 21, Moves.DIG ], - [ 24, Moves.SWAGGER ], - [ 27, Moves.CRUNCH ], - [ 32, Moves.SANDSTORM ], - [ 35, Moves.FOUL_PLAY ], - [ 44, Moves.EARTHQUAKE ], - [ 51, Moves.THRASH ], - [ 58, Moves.OUTRAGE ], - ], - [Species.DARUMAKA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.EMBER ], - [ 4, Moves.TAUNT ], - [ 8, Moves.BITE ], - [ 12, Moves.INCINERATE ], - [ 16, Moves.WORK_UP ], - [ 20, Moves.FIRE_FANG ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.FIRE_PUNCH ], - [ 32, Moves.UPROAR ], - [ 36, Moves.BELLY_DRUM ], - [ 40, Moves.FLARE_BLITZ ], - [ 44, Moves.THRASH ], - [ 48, Moves.SUPERPOWER ], - ], - [Species.DARMANITAN]: [ - [ EVOLVE_MOVE, Moves.HAMMER_ARM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.EMBER ], - [ 1, Moves.TAUNT ], - [ 12, Moves.INCINERATE ], - [ 16, Moves.WORK_UP ], - [ 20, Moves.FIRE_FANG ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.FIRE_PUNCH ], - [ 32, Moves.UPROAR ], - [ 38, Moves.BELLY_DRUM ], - [ 44, Moves.FLARE_BLITZ ], - [ 50, Moves.THRASH ], - [ 56, Moves.SUPERPOWER ], - ], - [Species.MARACTUS]: [ - [ 1, Moves.PECK ], - [ 1, Moves.ABSORB ], - [ 1, Moves.INGRAIN ], - [ 1, Moves.AFTER_YOU ], - [ 1, Moves.SPIKY_SHIELD ], - [ 4, Moves.GROWTH ], - [ 8, Moves.MEGA_DRAIN ], - [ 12, Moves.LEECH_SEED ], - [ 16, Moves.SUCKER_PUNCH ], - [ 20, Moves.PIN_MISSILE ], - [ 24, Moves.GIGA_DRAIN ], - [ 28, Moves.SWEET_SCENT ], - [ 32, Moves.SYNTHESIS ], - [ 36, Moves.PETAL_BLIZZARD ], - [ 40, Moves.COTTON_SPORE ], - [ 44, Moves.SUNNY_DAY ], - [ 48, Moves.SOLAR_BEAM ], - [ 52, Moves.ACUPRESSURE ], - [ 56, Moves.PETAL_DANCE ], - [ 60, Moves.COTTON_GUARD ], - ], - [Species.DWEBBLE]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.FURY_CUTTER ], - [ 4, Moves.WITHDRAW ], - [ 8, Moves.SMACK_DOWN ], - [ 12, Moves.BUG_BITE ], - [ 16, Moves.FLAIL ], - [ 20, Moves.SLASH ], - [ 24, Moves.ROCK_SLIDE ], - [ 28, Moves.STEALTH_ROCK ], - [ 32, Moves.ROCK_BLAST ], - [ 36, Moves.X_SCISSOR ], - [ 40, Moves.ROCK_POLISH ], - [ 44, Moves.SHELL_SMASH ], - [ 48, Moves.ROCK_WRECKER ], - ], - [Species.CRUSTLE]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.SMACK_DOWN ], - [ 12, Moves.BUG_BITE ], - [ 16, Moves.FLAIL ], - [ 20, Moves.SLASH ], - [ 24, Moves.ROCK_SLIDE ], - [ 28, Moves.STEALTH_ROCK ], - [ 32, Moves.ROCK_BLAST ], - [ 38, Moves.X_SCISSOR ], - [ 44, Moves.ROCK_POLISH ], - [ 50, Moves.SHELL_SMASH ], - [ 56, Moves.ROCK_WRECKER ], - ], - [Species.SCRAGGY]: [ - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 4, Moves.PAYBACK ], - [ 8, Moves.HEADBUTT ], - [ 12, Moves.SAND_ATTACK ], - [ 16, Moves.FACADE ], - [ 20, Moves.PROTECT ], - [ 24, Moves.BEAT_UP ], - [ 28, Moves.SCARY_FACE ], - [ 32, Moves.BRICK_BREAK ], - [ 36, Moves.SWAGGER ], - [ 40, Moves.CRUNCH ], - [ 44, Moves.HIGH_JUMP_KICK ], - [ 48, Moves.FOCUS_PUNCH ], - [ 52, Moves.HEAD_SMASH ], - ], - [Species.SCRAFTY]: [ - [ 1, Moves.HEADBUTT ], - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.PAYBACK ], - [ 1, Moves.FEINT_ATTACK ], - [ 12, Moves.SAND_ATTACK ], - [ 16, Moves.FACADE ], - [ 20, Moves.PROTECT ], - [ 24, Moves.BEAT_UP ], - [ 28, Moves.SCARY_FACE ], - [ 32, Moves.BRICK_BREAK ], - [ 36, Moves.SWAGGER ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.HIGH_JUMP_KICK ], - [ 54, Moves.FOCUS_PUNCH ], - [ 60, Moves.HEAD_SMASH ], - ], - [Species.SIGILYPH]: [ - [ 1, Moves.GUST ], - [ 1, Moves.CONFUSION ], - [ 5, Moves.GRAVITY ], - [ 10, Moves.HYPNOSIS ], - [ 15, Moves.AIR_CUTTER ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.WHIRLWIND ], - [ 30, Moves.COSMIC_POWER ], - [ 35, Moves.AIR_SLASH ], - [ 40, Moves.PSYCHIC ], - [ 45, Moves.TAILWIND ], - [ 50, Moves.LIGHT_SCREEN ], - [ 50, Moves.REFLECT ], - [ 55, Moves.SKY_ATTACK ], - [ 60, Moves.SKILL_SWAP ], - ], - [Species.YAMASK]: [ - [ 1, Moves.PROTECT ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.HEAL_BLOCK ], - [ 4, Moves.HAZE ], - [ 8, Moves.NIGHT_SHADE ], - [ 12, Moves.DISABLE ], - [ 16, Moves.WILL_O_WISP ], - [ 20, Moves.CRAFTY_SHIELD ], - [ 24, Moves.HEX ], - [ 28, Moves.MEAN_LOOK ], - [ 32, Moves.GRUDGE ], - [ 36, Moves.CURSE ], - [ 40, Moves.SHADOW_BALL ], - [ 44, Moves.DARK_PULSE ], - [ 48, Moves.GUARD_SPLIT ], - [ 48, Moves.POWER_SPLIT ], - [ 52, Moves.DESTINY_BOND ], - ], - [Species.COFAGRIGUS]: [ - [ EVOLVE_MOVE, Moves.SHADOW_CLAW ], - [ 1, Moves.NIGHT_SHADE ], - [ 1, Moves.HAZE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.HEAL_BLOCK ], - [ 12, Moves.DISABLE ], - [ 16, Moves.WILL_O_WISP ], - [ 20, Moves.CRAFTY_SHIELD ], - [ 24, Moves.HEX ], - [ 28, Moves.MEAN_LOOK ], - [ 32, Moves.GRUDGE ], - [ 38, Moves.CURSE ], - [ 44, Moves.SHADOW_BALL ], - [ 50, Moves.DARK_PULSE ], - [ 56, Moves.GUARD_SPLIT ], - [ 56, Moves.POWER_SPLIT ], - [ 62, Moves.DESTINY_BOND ], - ], - [Species.TIRTOUGA]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.BIDE ], - [ 3, Moves.PROTECT ], - [ 6, Moves.AQUA_JET ], - [ 9, Moves.SMACK_DOWN ], - [ 12, Moves.ANCIENT_POWER ], - [ 15, Moves.BITE ], - [ 18, Moves.WIDE_GUARD ], - [ 21, Moves.BRINE ], - [ 24, Moves.ROCK_SLIDE ], - [ 27, Moves.CRUNCH ], - [ 30, Moves.CURSE ], - [ 33, Moves.IRON_DEFENSE ], - [ 36, Moves.AQUA_TAIL ], - [ 39, Moves.RAIN_DANCE ], - [ 42, Moves.HYDRO_PUMP ], - [ 45, Moves.SHELL_SMASH ], - ], - [Species.CARRACOSTA]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.PROTECT ], - [ 1, Moves.AQUA_JET ], - [ 1, Moves.BIDE ], - [ 9, Moves.SMACK_DOWN ], - [ 12, Moves.ANCIENT_POWER ], - [ 15, Moves.BITE ], - [ 18, Moves.WIDE_GUARD ], - [ 21, Moves.BRINE ], - [ 24, Moves.ROCK_SLIDE ], - [ 27, Moves.CRUNCH ], - [ 30, Moves.CURSE ], - [ 33, Moves.IRON_DEFENSE ], - [ 36, Moves.AQUA_TAIL ], - [ 41, Moves.RAIN_DANCE ], - [ 46, Moves.HYDRO_PUMP ], - [ 51, Moves.SHELL_SMASH ], - ], - [Species.ARCHEN]: [ - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 3, Moves.ROCK_THROW ], - [ 6, Moves.WING_ATTACK ], - [ 9, Moves.DRAGON_BREATH ], - [ 12, Moves.ANCIENT_POWER ], - [ 15, Moves.PLUCK ], - [ 18, Moves.QUICK_GUARD ], - [ 21, Moves.U_TURN ], - [ 24, Moves.ROCK_SLIDE ], - [ 27, Moves.SCARY_FACE ], - [ 30, Moves.CRUNCH ], - [ 33, Moves.AGILITY ], - [ 36, Moves.TAILWIND ], - [ 39, Moves.DRAGON_CLAW ], - [ 42, Moves.THRASH ], - [ 45, Moves.ENDEAVOR ], - ], - [Species.ARCHEOPS]: [ - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.QUICK_ATTACK ], - [ 9, Moves.DRAGON_BREATH ], - [ 12, Moves.ANCIENT_POWER ], - [ 15, Moves.PLUCK ], - [ 18, Moves.QUICK_GUARD ], - [ 21, Moves.U_TURN ], - [ 24, Moves.ROCK_SLIDE ], - [ 27, Moves.SCARY_FACE ], - [ 30, Moves.CRUNCH ], - [ 33, Moves.AGILITY ], - [ 36, Moves.TAILWIND ], - [ 41, Moves.DRAGON_CLAW ], - [ 46, Moves.THRASH ], - [ 51, Moves.ENDEAVOR ], - ], - [Species.TRUBBISH]: [ - [ 1, Moves.POUND ], - [ 1, Moves.POISON_GAS ], - [ 3, Moves.RECYCLE ], - [ 6, Moves.ACID_SPRAY ], - [ 9, Moves.AMNESIA ], - [ 12, Moves.CLEAR_SMOG ], - [ 15, Moves.TOXIC_SPIKES ], - [ 18, Moves.SLUDGE ], - [ 21, Moves.STOCKPILE ], - [ 21, Moves.SWALLOW ], - [ 24, Moves.TAKE_DOWN ], - [ 27, Moves.SLUDGE_BOMB ], - [ 30, Moves.TOXIC ], - [ 33, Moves.BELCH ], - [ 37, Moves.PAIN_SPLIT ], - [ 39, Moves.GUNK_SHOT ], - [ 42, Moves.EXPLOSION ], - ], - [Species.GARBODOR]: [ - [ 1, Moves.POUND ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.ACID_SPRAY ], - [ 9, Moves.AMNESIA ], - [ 12, Moves.CLEAR_SMOG ], - [ 15, Moves.TOXIC_SPIKES ], - [ 18, Moves.SLUDGE ], - [ 21, Moves.STOCKPILE ], - [ 21, Moves.SWALLOW ], - [ 24, Moves.BODY_SLAM ], - [ 27, Moves.SLUDGE_BOMB ], - [ 30, Moves.TOXIC ], - [ 33, Moves.BELCH ], - [ 39, Moves.PAIN_SPLIT ], - [ 43, Moves.GUNK_SHOT ], - [ 48, Moves.EXPLOSION ], - ], - [Species.ZORUA]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 4, Moves.TORMENT ], - [ 8, Moves.HONE_CLAWS ], - [ 12, Moves.FURY_SWIPES ], - [ 16, Moves.SCARY_FACE ], - [ 20, Moves.TAUNT ], - [ 24, Moves.KNOCK_OFF ], - [ 28, Moves.FAKE_TEARS ], - [ 32, Moves.AGILITY ], - [ 36, Moves.IMPRISON ], - [ 40, Moves.NIGHT_DAZE ], - [ 44, Moves.NASTY_PLOT ], - [ 48, Moves.FOUL_PLAY ], - ], - [Species.ZOROARK]: [ - [ EVOLVE_MOVE, Moves.NIGHT_SLASH ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.TORMENT ], - [ 1, Moves.U_TURN ], - [ 1, Moves.HONE_CLAWS ], - [ 1, Moves.SCARY_FACE ], // Previous Stage Move - [ 1, Moves.PURSUIT ], - [ 12, Moves.FURY_SWIPES ], - [ 20, Moves.TAUNT ], - [ 24, Moves.KNOCK_OFF ], - [ 28, Moves.FAKE_TEARS ], - [ 34, Moves.AGILITY ], - [ 40, Moves.IMPRISON ], - [ 46, Moves.NIGHT_DAZE ], - [ 52, Moves.NASTY_PLOT ], - [ 58, Moves.FOUL_PLAY ], - ], - [Species.MINCCINO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 4, Moves.HELPING_HAND ], - [ 8, Moves.ECHOED_VOICE ], - [ 12, Moves.SING ], - [ 16, Moves.CHARM ], - [ 20, Moves.SWIFT ], - [ 24, Moves.ENCORE ], - [ 28, Moves.AFTER_YOU ], - [ 32, Moves.TAIL_SLAP ], - [ 36, Moves.TICKLE ], - [ 40, Moves.SLAM ], - [ 44, Moves.HYPER_VOICE ], - [ 48, Moves.LAST_RESORT ], - ], - [Species.CINCCINO]: [ - [ EVOLVE_MOVE, Moves.TAIL_SLAP ], - [ RELEARN_MOVE, Moves.SLAM ], - [ RELEARN_MOVE, Moves.SWIFT ], - [ RELEARN_MOVE, Moves.ENCORE ], - [ RELEARN_MOVE, Moves.HELPING_HAND ], - [ RELEARN_MOVE, Moves.HYPER_VOICE ], - [ RELEARN_MOVE, Moves.TICKLE ], - [ RELEARN_MOVE, Moves.ROCK_BLAST ], - [ RELEARN_MOVE, Moves.LAST_RESORT ], - [ RELEARN_MOVE, Moves.AFTER_YOU ], - [ RELEARN_MOVE, Moves.ECHOED_VOICE ], - [ RELEARN_MOVE, Moves.BABY_DOLL_EYES ], - [ 1, Moves.BULLET_SEED ], - [ 1, Moves.SING ], - [ 1, Moves.CHARM ], - [ 1, Moves.POUND ], - ], - [Species.GOTHITA]: [ - [ 1, Moves.POUND ], - [ 1, Moves.CONFUSION ], - [ 4, Moves.PLAY_NICE ], - [ 8, Moves.TICKLE ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.CHARM ], - [ 20, Moves.PSYSHOCK ], - [ 24, Moves.HYPNOSIS ], - [ 28, Moves.FAKE_TEARS ], - [ 33, Moves.PSYCH_UP ], - [ 34, Moves.HEAL_BLOCK ], - [ 36, Moves.PSYCHIC ], - [ 40, Moves.FLATTER ], - [ 44, Moves.FUTURE_SIGHT ], - [ 48, Moves.MAGIC_ROOM ], - ], - [Species.GOTHORITA]: [ - [ 1, Moves.POUND ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.TICKLE ], - [ 1, Moves.PLAY_NICE ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.CHARM ], - [ 20, Moves.PSYSHOCK ], - [ 24, Moves.HYPNOSIS ], - [ 28, Moves.FAKE_TEARS ], - [ 34, Moves.HEAL_BLOCK ], - [ 35, Moves.PSYCH_UP ], - [ 40, Moves.PSYCHIC ], // Previous Stage Move, Gothitelle Level - [ 46, Moves.FLATTER ], - [ 52, Moves.FUTURE_SIGHT ], - [ 58, Moves.MAGIC_ROOM ], - ], - [Species.GOTHITELLE]: [ - [ 1, Moves.POUND ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.TICKLE ], - [ 1, Moves.PLAY_NICE ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.CHARM ], - [ 20, Moves.PSYSHOCK ], - [ 24, Moves.HYPNOSIS ], - [ 28, Moves.FAKE_TEARS ], - [ 34, Moves.HEAL_BLOCK ], - [ 35, Moves.PSYCH_UP ], - [ 40, Moves.PSYCHIC ], - [ 48, Moves.FLATTER ], - [ 56, Moves.FUTURE_SIGHT ], - [ 64, Moves.MAGIC_ROOM ], - ], - [Species.SOLOSIS]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.PROTECT ], - [ 1, Moves.PSYWAVE ], - [ 4, Moves.RECOVER ], - [ 8, Moves.ENDEAVOR ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.CHARM ], - [ 20, Moves.PSYSHOCK ], - [ 24, Moves.LIGHT_SCREEN ], - [ 24, Moves.REFLECT ], - [ 28, Moves.ALLY_SWITCH ], - [ 33, Moves.PAIN_SPLIT ], - [ 36, Moves.PSYCHIC ], - [ 40, Moves.SKILL_SWAP ], - [ 44, Moves.FUTURE_SIGHT ], - [ 46, Moves.HEAL_BLOCK ], - [ 48, Moves.WONDER_ROOM ], - ], - [Species.DUOSION]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.RECOVER ], - [ 1, Moves.PSYWAVE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.ENDEAVOR ], - [ 1, Moves.SNATCH ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.CHARM ], - [ 20, Moves.PSYSHOCK ], - [ 24, Moves.LIGHT_SCREEN ], - [ 24, Moves.REFLECT ], - [ 28, Moves.ALLY_SWITCH ], - [ 35, Moves.PAIN_SPLIT ], - [ 40, Moves.PSYCHIC ], - [ 46, Moves.SKILL_SWAP ], - [ 50, Moves.HEAL_BLOCK ], - [ 52, Moves.FUTURE_SIGHT ], - [ 58, Moves.WONDER_ROOM ], - ], - [Species.REUNICLUS]: [ - [ EVOLVE_MOVE, Moves.HAMMER_ARM ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.RECOVER ], - [ 1, Moves.PROTECT ], - [ 1, Moves.ENDEAVOR ], - [ 1, Moves.DIZZY_PUNCH ], - [ 1, Moves.PSYWAVE ], - [ 1, Moves.SNATCH ], - [ 12, Moves.PSYBEAM ], - [ 16, Moves.CHARM ], - [ 20, Moves.PSYSHOCK ], - [ 24, Moves.LIGHT_SCREEN ], - [ 24, Moves.REFLECT ], - [ 28, Moves.ALLY_SWITCH ], - [ 35, Moves.PAIN_SPLIT ], - [ 40, Moves.PSYCHIC ], - [ 48, Moves.SKILL_SWAP ], - [ 54, Moves.HEAL_BLOCK ], - [ 56, Moves.FUTURE_SIGHT ], - [ 64, Moves.WONDER_ROOM ], - ], - [Species.DUCKLETT]: [ - [ 1, Moves.WATER_GUN ], - [ 6, Moves.DEFOG ], - [ 9, Moves.WING_ATTACK ], - [ 13, Moves.WATER_PULSE ], - [ 15, Moves.AERIAL_ACE ], - [ 19, Moves.BUBBLE_BEAM ], - [ 21, Moves.FEATHER_DANCE ], - [ 24, Moves.AQUA_RING ], - [ 27, Moves.AIR_SLASH ], - [ 30, Moves.ROOST ], - [ 34, Moves.RAIN_DANCE ], - [ 37, Moves.TAILWIND ], - [ 41, Moves.BRAVE_BIRD ], - [ 46, Moves.HURRICANE ], - ], - [Species.SWANNA]: [ - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DEFOG ], - [ 13, Moves.WATER_PULSE ], - [ 15, Moves.AERIAL_ACE ], - [ 19, Moves.BUBBLE_BEAM ], - [ 21, Moves.FEATHER_DANCE ], - [ 24, Moves.AQUA_RING ], - [ 27, Moves.AIR_SLASH ], - [ 30, Moves.ROOST ], - [ 34, Moves.RAIN_DANCE ], - [ 40, Moves.TAILWIND ], - [ 47, Moves.BRAVE_BIRD ], - [ 55, Moves.HURRICANE ], - ], - [Species.VANILLITE]: [ - [ 1, Moves.HARDEN ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.POWDER_SNOW ], // Custom - [ 4, Moves.TAUNT ], - [ 8, Moves.MIST ], - [ 12, Moves.ICY_WIND ], - [ 16, Moves.AVALANCHE ], - [ 20, Moves.HAIL ], - [ 24, Moves.ICICLE_SPEAR ], - [ 28, Moves.UPROAR ], - [ 32, Moves.ACID_ARMOR ], - [ 36, Moves.MIRROR_COAT ], - [ 40, Moves.ICE_BEAM ], - [ 44, Moves.BLIZZARD ], - [ 48, Moves.SHEER_COLD ], - ], - [Species.VANILLISH]: [ - [ 1, Moves.MIST ], - [ 1, Moves.HARDEN ], - [ 1, Moves.TAUNT ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.POWDER_SNOW ], // Previous Stage Move, Custom - [ 12, Moves.ICY_WIND ], - [ 16, Moves.AVALANCHE ], - [ 20, Moves.HAIL ], - [ 24, Moves.ICICLE_SPEAR ], - [ 28, Moves.UPROAR ], - [ 32, Moves.ACID_ARMOR ], - [ 38, Moves.MIRROR_COAT ], - [ 44, Moves.ICE_BEAM ], - [ 50, Moves.BLIZZARD ], - [ 56, Moves.SHEER_COLD ], - ], - [Species.VANILLUXE]: [ - [ 1, Moves.MIST ], - [ 1, Moves.HARDEN ], - [ 1, Moves.TAUNT ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.POWDER_SNOW ], // Previous Stage Move, Custom - [ 1, Moves.WEATHER_BALL ], - [ 1, Moves.ICICLE_CRASH ], - [ 1, Moves.FREEZE_DRY ], - [ 12, Moves.ICY_WIND ], - [ 16, Moves.AVALANCHE ], - [ 20, Moves.HAIL ], - [ 24, Moves.ICICLE_SPEAR ], - [ 28, Moves.UPROAR ], - [ 32, Moves.ACID_ARMOR ], - [ 38, Moves.MIRROR_COAT ], - [ 44, Moves.ICE_BEAM ], - [ 52, Moves.BLIZZARD ], - [ 60, Moves.SHEER_COLD ], - ], - [Species.DEERLING]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CAMOUFLAGE ], - [ 4, Moves.GROWL ], - [ 7, Moves.SAND_ATTACK ], - [ 10, Moves.DOUBLE_KICK ], - [ 13, Moves.LEECH_SEED ], - [ 16, Moves.BULLET_SEED ], - [ 20, Moves.TAKE_DOWN ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 28, Moves.ENERGY_BALL ], - [ 32, Moves.CHARM ], - [ 37, Moves.DOUBLE_EDGE ], - [ 42, Moves.SOLAR_BEAM ], - ], - [Species.SAWSBUCK]: [ - [ EVOLVE_MOVE, Moves.HORN_LEECH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.CAMOUFLAGE ], - [ 1, Moves.MEGAHORN ], - [ 10, Moves.DOUBLE_KICK ], - [ 13, Moves.LEECH_SEED ], - [ 16, Moves.BULLET_SEED ], - [ 20, Moves.TAKE_DOWN ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 28, Moves.ENERGY_BALL ], - [ 36, Moves.CHARM ], - [ 44, Moves.DOUBLE_EDGE ], - [ 52, Moves.SOLAR_BEAM ], - ], - [Species.EMOLGA]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.NUZZLE ], - [ 5, Moves.DOUBLE_TEAM ], - [ 10, Moves.QUICK_ATTACK ], - [ 15, Moves.THUNDER_SHOCK ], - [ 20, Moves.CHARGE ], - [ 25, Moves.ACROBATICS ], - [ 30, Moves.SPARK ], - [ 35, Moves.ENCORE ], - [ 40, Moves.VOLT_SWITCH ], - [ 45, Moves.LIGHT_SCREEN ], - [ 50, Moves.DISCHARGE ], - [ 55, Moves.AGILITY ], - ], - [Species.KARRABLAST]: [ - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 4, Moves.FURY_CUTTER ], - [ 8, Moves.ENDURE ], - [ 12, Moves.FALSE_SWIPE ], - [ 16, Moves.ACID_SPRAY ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.FLAIL ], - [ 28, Moves.SCARY_FACE ], - [ 32, Moves.X_SCISSOR ], - [ 36, Moves.SWORDS_DANCE ], - [ 40, Moves.TAKE_DOWN ], - [ 44, Moves.BUG_BUZZ ], - [ 48, Moves.DOUBLE_EDGE ], - ], - [Species.ESCAVALIER]: [ - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.FLAIL ], - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.ENDURE ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.QUICK_GUARD ], - [ 1, Moves.FELL_STINGER ], - [ 1, Moves.TWINEEDLE ], - [ 12, Moves.FALSE_SWIPE ], - [ 16, Moves.ACID_SPRAY ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.REVERSAL ], - [ 28, Moves.IRON_DEFENSE ], - [ 32, Moves.X_SCISSOR ], - [ 36, Moves.SWORDS_DANCE ], - [ 40, Moves.IRON_HEAD ], - [ 44, Moves.BUG_BUZZ ], - [ 48, Moves.GIGA_IMPACT ], - [ 52, Moves.METAL_BURST ], - ], - [Species.FOONGUS]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.GROWTH ], - [ 8, Moves.STUN_SPORE ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.SYNTHESIS ], - [ 20, Moves.CLEAR_SMOG ], - [ 24, Moves.SWEET_SCENT ], - [ 28, Moves.GIGA_DRAIN ], - [ 32, Moves.INGRAIN ], - [ 36, Moves.TOXIC ], - [ 40, Moves.RAGE_POWDER ], - [ 44, Moves.SOLAR_BEAM ], - [ 48, Moves.SPORE ], - ], - [Species.AMOONGUSS]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.BIDE ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.SYNTHESIS ], - [ 20, Moves.CLEAR_SMOG ], - [ 24, Moves.SWEET_SCENT ], - [ 28, Moves.GIGA_DRAIN ], - [ 32, Moves.INGRAIN ], - [ 36, Moves.TOXIC ], - [ 42, Moves.RAGE_POWDER ], - [ 48, Moves.SOLAR_BEAM ], - [ 54, Moves.SPORE ], - ], - [Species.FRILLISH]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.ABSORB ], - [ 1, Moves.WATER_SPORT ], - [ 4, Moves.POISON_STING ], - [ 8, Moves.NIGHT_SHADE ], - [ 12, Moves.WATER_PULSE ], - [ 16, Moves.RAIN_DANCE ], - [ 20, Moves.HEX ], - [ 24, Moves.BRINE ], - [ 28, Moves.RECOVER ], - [ 32, Moves.SHADOW_BALL ], - [ 36, Moves.WHIRLPOOL ], - [ 41, Moves.HYDRO_PUMP ], - [ 44, Moves.DESTINY_BOND ], - [ 48, Moves.WATER_SPOUT ], - ], - [Species.JELLICENT]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WATER_SPORT ], - [ 1, Moves.WRING_OUT ], - [ 1, Moves.ABSORB ], - [ 1, Moves.NIGHT_SHADE ], - [ 1, Moves.ACID_ARMOR ], - [ 12, Moves.WATER_PULSE ], - [ 16, Moves.RAIN_DANCE ], - [ 20, Moves.HEX ], - [ 24, Moves.BRINE ], - [ 28, Moves.RECOVER ], - [ 32, Moves.SHADOW_BALL ], - [ 36, Moves.WHIRLPOOL ], - [ 43, Moves.HYDRO_PUMP ], - [ 48, Moves.DESTINY_BOND ], - [ 54, Moves.WATER_SPOUT ], - ], - [Species.ALOMOMOLA]: [ - [ 1, Moves.POUND ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.WATER_SPORT ], - [ 5, Moves.AQUA_RING ], - [ 9, Moves.AQUA_JET ], - [ 13, Moves.HELPING_HAND ], - [ 13, Moves.WIDE_GUARD ], - [ 21, Moves.PROTECT ], - [ 25, Moves.WATER_PULSE ], - [ 29, Moves.HEALING_WISH ], - [ 33, Moves.SOAK ], - [ 37, Moves.WISH ], - [ 41, Moves.BRINE ], - [ 45, Moves.SAFEGUARD ], - [ 49, Moves.WHIRLPOOL ], - [ 55, Moves.HYDRO_PUMP ], - ], - [Species.JOLTIK]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.SPIDER_WEB ], - [ 4, Moves.ELECTROWEB ], - [ 8, Moves.BUG_BITE ], - [ 12, Moves.STRING_SHOT ], - [ 16, Moves.THUNDER_WAVE ], - [ 20, Moves.ELECTRO_BALL ], - [ 24, Moves.AGILITY ], - [ 28, Moves.SUCKER_PUNCH ], - [ 32, Moves.SLASH ], - [ 37, Moves.DISCHARGE ], - [ 40, Moves.SCREECH ], - [ 44, Moves.GASTRO_ACID ], - [ 48, Moves.BUG_BUZZ ], - ], - [Species.GALVANTULA]: [ - [ EVOLVE_MOVE, Moves.STICKY_WEB ], - [ 1, Moves.ABSORB ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.ELECTROWEB ], - [ 1, Moves.SPIDER_WEB ], - [ 12, Moves.STRING_SHOT ], - [ 16, Moves.THUNDER_WAVE ], - [ 20, Moves.ELECTRO_BALL ], - [ 24, Moves.AGILITY ], - [ 28, Moves.SUCKER_PUNCH ], - [ 32, Moves.SLASH ], - [ 39, Moves.DISCHARGE ], - [ 44, Moves.SCREECH ], - [ 50, Moves.GASTRO_ACID ], - [ 56, Moves.BUG_BUZZ ], - ], - [Species.FERROSEED]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.METAL_CLAW ], - [ 10, Moves.PIN_MISSILE ], - [ 15, Moves.INGRAIN ], - [ 20, Moves.FLASH_CANNON ], - [ 25, Moves.IRON_HEAD ], - [ 30, Moves.SELF_DESTRUCT ], - [ 35, Moves.IRON_DEFENSE ], - [ 41, Moves.CURSE ], - [ 45, Moves.GYRO_BALL ], - [ 50, Moves.EXPLOSION ], - ], - [Species.FERROTHORN]: [ - [ EVOLVE_MOVE, Moves.POWER_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.PIN_MISSILE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.ROCK_CLIMB ], - [ 15, Moves.INGRAIN ], - [ 20, Moves.FLASH_CANNON ], - [ 25, Moves.IRON_HEAD ], - [ 30, Moves.SELF_DESTRUCT ], - [ 35, Moves.IRON_DEFENSE ], - [ 43, Moves.CURSE ], - [ 49, Moves.GYRO_BALL ], - [ 56, Moves.EXPLOSION ], - ], - [Species.KLINK]: [ - [ 1, Moves.VISE_GRIP ], - [ 1, Moves.THUNDER_SHOCK ], - [ 4, Moves.BIND ], - [ 8, Moves.CHARGE ], - [ 12, Moves.CHARGE_BEAM ], - [ 16, Moves.METAL_SOUND ], - [ 20, Moves.AUTOTOMIZE ], - [ 24, Moves.DISCHARGE ], - [ 28, Moves.SCREECH ], - [ 32, Moves.GEAR_GRIND ], - [ 36, Moves.LOCK_ON ], - [ 40, Moves.SHIFT_GEAR ], - [ 44, Moves.ZAP_CANNON ], - [ 48, Moves.HYPER_BEAM ], - ], - [Species.KLANG]: [ - [ 1, Moves.VISE_GRIP ], - [ 1, Moves.BIND ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.CHARGE ], - [ 12, Moves.CHARGE_BEAM ], - [ 16, Moves.METAL_SOUND ], - [ 20, Moves.AUTOTOMIZE ], - [ 24, Moves.DISCHARGE ], - [ 28, Moves.SCREECH ], - [ 32, Moves.GEAR_GRIND ], - [ 36, Moves.LOCK_ON ], - [ 42, Moves.SHIFT_GEAR ], - [ 48, Moves.ZAP_CANNON ], - [ 54, Moves.HYPER_BEAM ], - ], - [Species.KLINKLANG]: [ - [ 1, Moves.VISE_GRIP ], - [ 1, Moves.BIND ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.CHARGE ], - [ 1, Moves.MAGNETIC_FLUX ], - [ 1, Moves.GEAR_UP ], - [ 12, Moves.CHARGE_BEAM ], - [ 16, Moves.METAL_SOUND ], - [ 20, Moves.AUTOTOMIZE ], - [ 24, Moves.DISCHARGE ], - [ 28, Moves.SCREECH ], - [ 32, Moves.GEAR_GRIND ], - [ 36, Moves.LOCK_ON ], - [ 42, Moves.SHIFT_GEAR ], - [ 48, Moves.ZAP_CANNON ], - [ 56, Moves.HYPER_BEAM ], - [ 64, Moves.ELECTRIC_TERRAIN ], - ], - [Species.TYNAMO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.SPARK ], - [ 1, Moves.CHARGE_BEAM ], - ], - [Species.EELEKTRIK]: [ - [ EVOLVE_MOVE, Moves.CRUNCH ], - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.HEADBUTT ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.SPARK ], - [ 1, Moves.CHARGE_BEAM ], - [ 1, Moves.ION_DELUGE ], - [ 9, Moves.BIND ], - [ 19, Moves.ACID ], - [ 29, Moves.DISCHARGE ], - [ 44, Moves.THUNDERBOLT ], - [ 49, Moves.ACID_SPRAY ], - [ 54, Moves.COIL ], - [ 59, Moves.WILD_CHARGE ], - [ 64, Moves.GASTRO_ACID ], - [ 69, Moves.ZAP_CANNON ], - [ 74, Moves.THRASH ], - ], - [Species.EELEKTROSS]: [ - [ RELEARN_MOVE, Moves.THUNDERBOLT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.ACID_SPRAY ], // Previous Stage Move - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.HEADBUTT ], - [ 1, Moves.THUNDER_WAVE ], // Previous Stage Move - [ 1, Moves.SPARK ], // Previous Stage Move - [ 1, Moves.CHARGE_BEAM ], // Previous Stage Move - [ 1, Moves.ION_DELUGE ], // Previous Stage Move - [ 1, Moves.BIND ], // Previous Stage Move - [ 1, Moves.THRASH ], - [ 1, Moves.ACID ], - [ 1, Moves.ZAP_CANNON ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.CRUSH_CLAW ], - [ 1, Moves.GASTRO_ACID ], - [ 1, Moves.DISCHARGE ], - [ 1, Moves.COIL ], - [ 5, Moves.WILD_CHARGE ], - ], - [Species.ELGYEM]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.CONFUSION ], - [ 6, Moves.IMPRISON ], - [ 8, Moves.HEAL_BLOCK ], - [ 12, Moves.TELEPORT ], - [ 18, Moves.PSYBEAM ], - [ 24, Moves.GUARD_SPLIT ], - [ 24, Moves.POWER_SPLIT ], - [ 30, Moves.HEADBUTT ], - [ 36, Moves.ZEN_HEADBUTT ], - [ 43, Moves.RECOVER ], - [ 48, Moves.CALM_MIND ], - [ 54, Moves.WONDER_ROOM ], - [ 60, Moves.PSYCHIC ], - ], - [Species.BEHEEYEM]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.SYNCHRONOISE ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.IMPRISON ], - [ 1, Moves.PSYCHIC_TERRAIN ], - [ 8, Moves.HEAL_BLOCK ], - [ 18, Moves.PSYBEAM ], - [ 24, Moves.GUARD_SPLIT ], - [ 24, Moves.POWER_SPLIT ], - [ 30, Moves.HEADBUTT ], - [ 36, Moves.ZEN_HEADBUTT ], - [ 45, Moves.RECOVER ], - [ 52, Moves.CALM_MIND ], - [ 60, Moves.WONDER_ROOM ], - [ 68, Moves.PSYCHIC ], - ], - [Species.LITWICK]: [ - [ 1, Moves.SMOG ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.EMBER ], - [ 8, Moves.MINIMIZE ], - [ 12, Moves.CONFUSE_RAY ], - [ 16, Moves.HEX ], - [ 20, Moves.WILL_O_WISP ], - [ 24, Moves.FIRE_SPIN ], - [ 28, Moves.NIGHT_SHADE ], - [ 32, Moves.CURSE ], - [ 36, Moves.SHADOW_BALL ], - [ 40, Moves.INFERNO ], - [ 44, Moves.IMPRISON ], - [ 48, Moves.PAIN_SPLIT ], - [ 52, Moves.OVERHEAT ], - [ 56, Moves.MEMENTO ], - ], - [Species.LAMPENT]: [ - [ 1, Moves.EMBER ], - [ 1, Moves.MINIMIZE ], - [ 1, Moves.SMOG ], - [ 1, Moves.ASTONISH ], - [ 12, Moves.CONFUSE_RAY ], - [ 16, Moves.HEX ], - [ 20, Moves.WILL_O_WISP ], - [ 24, Moves.FIRE_SPIN ], - [ 28, Moves.NIGHT_SHADE ], - [ 32, Moves.CURSE ], - [ 36, Moves.SHADOW_BALL ], - [ 40, Moves.INFERNO ], - [ 46, Moves.IMPRISON ], - [ 52, Moves.PAIN_SPLIT ], - [ 58, Moves.OVERHEAT ], - [ 64, Moves.MEMENTO ], - ], - [Species.CHANDELURE]: [ - [ 1, Moves.EMBER ], - [ 1, Moves.FIRE_SPIN ], - [ 1, Moves.NIGHT_SHADE ], - [ 1, Moves.MINIMIZE ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.SMOG ], - [ 1, Moves.CURSE ], - [ 1, Moves.PAIN_SPLIT ], - [ 1, Moves.SHADOW_BALL ], - [ 1, Moves.WILL_O_WISP ], - [ 1, Moves.MEMENTO ], - [ 1, Moves.IMPRISON ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.OVERHEAT ], - [ 1, Moves.HEX ], - [ 1, Moves.INFERNO ], - ], - [Species.AXEW]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 3, Moves.BITE ], - [ 6, Moves.FALSE_SWIPE ], - [ 9, Moves.ASSURANCE ], - [ 12, Moves.TAUNT ], - [ 15, Moves.SLASH ], - [ 18, Moves.DRAGON_CLAW ], - [ 21, Moves.SCARY_FACE ], - [ 24, Moves.CRUNCH ], - [ 27, Moves.DRAGON_DANCE ], - [ 30, Moves.DUAL_CHOP ], - [ 33, Moves.FOCUS_ENERGY ], - [ 36, Moves.DRAGON_PULSE ], - [ 39, Moves.SWORDS_DANCE ], - [ 42, Moves.OUTRAGE ], - [ 45, Moves.GUILLOTINE ], - [ 48, Moves.GIGA_IMPACT ], - ], - [Species.FRAXURE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.FALSE_SWIPE ], - [ 1, Moves.DUAL_CHOP ], - [ 9, Moves.ASSURANCE ], - [ 12, Moves.TAUNT ], - [ 15, Moves.SLASH ], - [ 18, Moves.DRAGON_CLAW ], - [ 21, Moves.SCARY_FACE ], - [ 24, Moves.CRUNCH ], - [ 27, Moves.DRAGON_DANCE ], - [ 30, Moves.BREAKING_SWIPE ], - [ 33, Moves.FOCUS_ENERGY ], - [ 36, Moves.DRAGON_PULSE ], - [ 41, Moves.SWORDS_DANCE ], - [ 46, Moves.OUTRAGE ], - [ 51, Moves.GUILLOTINE ], - [ 56, Moves.GIGA_IMPACT ], - ], - [Species.HAXORUS]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.FALSE_SWIPE ], - [ 1, Moves.DUAL_CHOP ], - [ 9, Moves.ASSURANCE ], - [ 12, Moves.TAUNT ], - [ 15, Moves.SLASH ], - [ 18, Moves.DRAGON_CLAW ], - [ 21, Moves.SCARY_FACE ], - [ 24, Moves.CRUNCH ], - [ 27, Moves.DRAGON_DANCE ], - [ 30, Moves.BREAKING_SWIPE ], - [ 33, Moves.FOCUS_ENERGY ], - [ 36, Moves.DRAGON_PULSE ], - [ 41, Moves.SWORDS_DANCE ], - [ 46, Moves.OUTRAGE ], - [ 53, Moves.GUILLOTINE ], - [ 60, Moves.GIGA_IMPACT ], - ], - [Species.CUBCHOO]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.POWDER_SNOW ], - [ 3, Moves.ENDURE ], - [ 6, Moves.FURY_SWIPES ], - [ 9, Moves.ICY_WIND ], - [ 12, Moves.PLAY_NICE ], - [ 15, Moves.BRINE ], - [ 18, Moves.FROST_BREATH ], - [ 21, Moves.SLASH ], - [ 24, Moves.FLAIL ], - [ 27, Moves.CHARM ], - [ 30, Moves.SNOWSCAPE ], - [ 33, Moves.THRASH ], - [ 36, Moves.REST ], - [ 39, Moves.BLIZZARD ], - [ 42, Moves.SHEER_COLD ], - ], - [Species.BEARTIC]: [ - [ EVOLVE_MOVE, Moves.ICICLE_CRASH ], - [ 1, Moves.GROWL ], - [ 1, Moves.FURY_SWIPES ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.ENDURE ], - [ 1, Moves.CHARM ], - [ 1, Moves.AQUA_JET ], - [ 1, Moves.BIDE ], - [ 9, Moves.ICY_WIND ], - [ 12, Moves.PLAY_NICE ], - [ 15, Moves.BRINE ], - [ 18, Moves.FROST_BREATH ], - [ 21, Moves.SLASH ], - [ 24, Moves.FLAIL ], - [ 27, Moves.SWAGGER ], - [ 30, Moves.SNOWSCAPE ], - [ 33, Moves.THRASH ], - [ 36, Moves.REST ], - [ 41, Moves.BLIZZARD ], - [ 46, Moves.SHEER_COLD ], - [ 51, Moves.SUPERPOWER ], - ], - [Species.CRYOGONAL]: [ - [ 1, Moves.BIND ], - [ 1, Moves.ICE_SHARD ], - [ 4, Moves.CONFUSE_RAY ], - [ 8, Moves.RAPID_SPIN ], - [ 12, Moves.ICY_WIND ], - [ 16, Moves.MIST ], - [ 16, Moves.HAZE ], - [ 20, Moves.ANCIENT_POWER ], - [ 24, Moves.AURORA_BEAM ], - [ 28, Moves.SLASH ], - [ 32, Moves.NIGHT_SLASH ], - [ 36, Moves.FREEZE_DRY ], - [ 40, Moves.LIGHT_SCREEN ], - [ 40, Moves.REFLECT ], - [ 44, Moves.RECOVER ], - [ 48, Moves.ICE_BEAM ], - [ 52, Moves.ACID_ARMOR ], - [ 56, Moves.SOLAR_BEAM ], - [ 60, Moves.SHEER_COLD ], - ], - [Species.SHELMET]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.PROTECT ], - [ 4, Moves.ACID ], - [ 8, Moves.CURSE ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.STRUGGLE_BUG ], - [ 20, Moves.YAWN ], - [ 24, Moves.ACID_ARMOR ], - [ 28, Moves.GIGA_DRAIN ], - [ 32, Moves.GUARD_SWAP ], - [ 36, Moves.BODY_SLAM ], - [ 40, Moves.RECOVER ], - [ 44, Moves.BUG_BUZZ ], - [ 48, Moves.FINAL_GAMBIT ], - ], - [Species.ACCELGOR]: [ - [ 1, Moves.BODY_SLAM ], - [ 1, Moves.ACID ], - [ 1, Moves.ABSORB ], - [ 1, Moves.PROTECT ], // Previous Stage Move - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ACID_ARMOR ], - [ 1, Moves.CURSE ], - [ 1, Moves.YAWN ], - [ 1, Moves.GUARD_SWAP ], - [ 1, Moves.ACID_SPRAY ], - [ 1, Moves.WATER_SHURIKEN ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.STRUGGLE_BUG ], - [ 20, Moves.SWIFT ], - [ 24, Moves.AGILITY ], - [ 28, Moves.GIGA_DRAIN ], - [ 32, Moves.POWER_SWAP ], - [ 36, Moves.U_TURN ], - [ 40, Moves.RECOVER ], - [ 44, Moves.BUG_BUZZ ], - [ 48, Moves.FINAL_GAMBIT ], - [ 52, Moves.TOXIC ], - ], - [Species.STUNFISK]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.MUD_SPORT ], - [ 5, Moves.ENDURE ], - [ 10, Moves.MUD_SHOT ], - [ 15, Moves.REVENGE ], - [ 20, Moves.CHARGE ], - [ 25, Moves.SUCKER_PUNCH ], - [ 30, Moves.ELECTRIC_TERRAIN ], - [ 35, Moves.BOUNCE ], - [ 40, Moves.MUDDY_WATER ], - [ 45, Moves.DISCHARGE ], - [ 50, Moves.FLAIL ], - [ 55, Moves.FISSURE ], - ], - [Species.MIENFOO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.DETECT ], - [ 5, Moves.FAKE_OUT ], - [ 10, Moves.REVERSAL ], - [ 15, Moves.FURY_SWIPES ], - [ 20, Moves.QUICK_GUARD ], - [ 25, Moves.FORCE_PALM ], - [ 30, Moves.U_TURN ], - [ 35, Moves.DRAIN_PUNCH ], - [ 40, Moves.HONE_CLAWS ], - [ 45, Moves.AURA_SPHERE ], - [ 51, Moves.BOUNCE ], - [ 55, Moves.CALM_MIND ], - [ 60, Moves.HIGH_JUMP_KICK ], - ], - [Species.MIENSHAO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.REVERSAL ], - [ 1, Moves.DETECT ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.QUICK_GUARD ], - [ 15, Moves.FURY_SWIPES ], - [ 20, Moves.WIDE_GUARD ], - [ 25, Moves.FORCE_PALM ], - [ 30, Moves.U_TURN ], - [ 35, Moves.DRAIN_PUNCH ], - [ 40, Moves.HONE_CLAWS ], - [ 45, Moves.AURA_SPHERE ], - [ 53, Moves.BOUNCE ], - [ 59, Moves.CALM_MIND ], - [ 66, Moves.HIGH_JUMP_KICK ], - ], - [Species.DRUDDIGON]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 5, Moves.BITE ], - [ 10, Moves.DRAGON_TAIL ], - [ 15, Moves.METAL_CLAW ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.SLASH ], - [ 30, Moves.DRAGON_CLAW ], - [ 35, Moves.HONE_CLAWS ], - [ 40, Moves.CRUNCH ], - [ 45, Moves.IRON_HEAD ], - [ 50, Moves.OUTRAGE ], - [ 55, Moves.SUPERPOWER ], - ], - [Species.GOLETT]: [ - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.DEFENSE_CURL ], - [ 8, Moves.POUND ], - [ 12, Moves.SHADOW_PUNCH ], - [ 16, Moves.CURSE ], - [ 20, Moves.NIGHT_SHADE ], - [ 24, Moves.STOMPING_TANTRUM ], - [ 28, Moves.IRON_DEFENSE ], - [ 32, Moves.MEGA_PUNCH ], - [ 36, Moves.SHADOW_BALL ], - [ 40, Moves.HEAVY_SLAM ], - [ 44, Moves.PHANTOM_FORCE ], - [ 48, Moves.HAMMER_ARM ], - [ 52, Moves.EARTHQUAKE ], - [ 56, Moves.DYNAMIC_PUNCH ], - ], - [Species.GOLURK]: [ - [ RELEARN_MOVE, Moves.MUD_SLAP ], - [ RELEARN_MOVE, Moves.FOCUS_PUNCH ], - [ 1, Moves.POUND ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.HIGH_HORSEPOWER ], - [ 12, Moves.SHADOW_PUNCH ], - [ 16, Moves.CURSE ], - [ 20, Moves.NIGHT_SHADE ], - [ 24, Moves.STOMPING_TANTRUM ], - [ 28, Moves.IRON_DEFENSE ], - [ 32, Moves.MEGA_PUNCH ], - [ 36, Moves.SHADOW_BALL ], - [ 40, Moves.HEAVY_SLAM ], - [ 46, Moves.PHANTOM_FORCE ], - [ 52, Moves.HAMMER_ARM ], - [ 58, Moves.EARTHQUAKE ], - [ 64, Moves.DYNAMIC_PUNCH ], - ], - [Species.PAWNIARD]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 5, Moves.FURY_CUTTER ], - [ 10, Moves.METAL_CLAW ], - [ 15, Moves.TORMENT ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.ASSURANCE ], - [ 30, Moves.METAL_SOUND ], - [ 35, Moves.SLASH ], - [ 40, Moves.NIGHT_SLASH ], - [ 45, Moves.IRON_DEFENSE ], - [ 50, Moves.RETALIATE ], - [ 55, Moves.IRON_HEAD ], - [ 60, Moves.SWORDS_DANCE ], - [ 65, Moves.GUILLOTINE ], - ], - [Species.BISHARP]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.METAL_BURST ], - [ 15, Moves.TORMENT ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.ASSURANCE ], - [ 30, Moves.METAL_SOUND ], - [ 35, Moves.SLASH ], - [ 40, Moves.NIGHT_SLASH ], - [ 45, Moves.IRON_DEFENSE ], - [ 50, Moves.RETALIATE ], - [ 57, Moves.IRON_HEAD ], - [ 64, Moves.SWORDS_DANCE ], - [ 71, Moves.GUILLOTINE ], - ], - [Species.BOUFFALANT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.PURSUIT ], - [ 5, Moves.FOCUS_ENERGY ], - [ 10, Moves.FURY_ATTACK ], - [ 15, Moves.REVENGE ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.HORN_ATTACK ], - [ 30, Moves.REVERSAL ], - [ 35, Moves.THROAT_CHOP ], - [ 40, Moves.HEAD_CHARGE ], - [ 45, Moves.SWORDS_DANCE ], - [ 50, Moves.MEGAHORN ], - [ 55, Moves.GIGA_IMPACT ], - ], - [Species.RUFFLET]: [ - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 6, Moves.HONE_CLAWS ], - [ 12, Moves.WING_ATTACK ], - [ 18, Moves.TAILWIND ], - [ 24, Moves.SCARY_FACE ], - [ 30, Moves.AERIAL_ACE ], - [ 36, Moves.SLASH ], - [ 42, Moves.WHIRLWIND ], - [ 48, Moves.CRUSH_CLAW ], - [ 55, Moves.AIR_SLASH ], - [ 60, Moves.DEFOG ], - [ 66, Moves.THRASH ], - [ 72, Moves.BRAVE_BIRD ], - ], - [Species.BRAVIARY]: [ - [ EVOLVE_MOVE, Moves.SUPERPOWER ], - [ RELEARN_MOVE, Moves.BRAVE_BIRD ], // Previous Stage Move - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.SKY_ATTACK ], - [ 1, Moves.HONE_CLAWS ], - [ 18, Moves.TAILWIND ], - [ 24, Moves.SCARY_FACE ], - [ 30, Moves.AERIAL_ACE ], - [ 36, Moves.SLASH ], - [ 42, Moves.WHIRLWIND ], - [ 48, Moves.CRUSH_CLAW ], - [ 57, Moves.AIR_SLASH ], - [ 64, Moves.DEFOG ], - [ 72, Moves.THRASH ], - ], - [Species.VULLABY]: [ - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 6, Moves.FLATTER ], - [ 12, Moves.PLUCK ], - [ 18, Moves.TAILWIND ], - [ 24, Moves.KNOCK_OFF ], - [ 30, Moves.IRON_DEFENSE ], - [ 36, Moves.WHIRLWIND ], - [ 42, Moves.AIR_SLASH ], - [ 48, Moves.DARK_PULSE ], - [ 54, Moves.NASTY_PLOT ], - [ 60, Moves.DEFOG ], - [ 66, Moves.ATTRACT ], - [ 72, Moves.BRAVE_BIRD ], - ], - [Species.MANDIBUZZ]: [ - [ EVOLVE_MOVE, Moves.BONE_RUSH ], - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 1, Moves.TOXIC ], - [ 1, Moves.SKY_ATTACK ], - [ 1, Moves.FLATTER ], - [ 1, Moves.PLUCK ], - [ 18, Moves.TAILWIND ], - [ 24, Moves.KNOCK_OFF ], - [ 30, Moves.IRON_DEFENSE ], - [ 36, Moves.WHIRLWIND ], - [ 42, Moves.AIR_SLASH ], - [ 48, Moves.DARK_PULSE ], - [ 57, Moves.NASTY_PLOT ], - [ 64, Moves.DEFOG ], - [ 72, Moves.ATTRACT ], - [ 80, Moves.BRAVE_BIRD ], - ], - [Species.HEATMOR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LICK ], - [ 5, Moves.FURY_SWIPES ], - [ 10, Moves.INCINERATE ], - [ 15, Moves.BUG_BITE ], - [ 20, Moves.STOCKPILE ], - [ 20, Moves.SPIT_UP ], - [ 20, Moves.SWALLOW ], - [ 25, Moves.SLASH ], - [ 30, Moves.BIND ], - [ 35, Moves.FIRE_LASH ], - [ 40, Moves.HONE_CLAWS ], - [ 45, Moves.AMNESIA ], - [ 50, Moves.FIRE_SPIN ], - [ 55, Moves.INFERNO ], - [ 60, Moves.FLARE_BLITZ ], - ], - [Species.DURANT]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.FURY_CUTTER ], - [ 4, Moves.VISE_GRIP ], - [ 8, Moves.METAL_CLAW ], - [ 12, Moves.BEAT_UP ], - [ 16, Moves.BUG_BITE ], - [ 20, Moves.BITE ], - [ 24, Moves.AGILITY ], - [ 28, Moves.DIG ], - [ 32, Moves.X_SCISSOR ], - [ 36, Moves.CRUNCH ], - [ 40, Moves.METAL_SOUND ], - [ 44, Moves.IRON_HEAD ], - [ 48, Moves.ENTRAINMENT ], - [ 52, Moves.IRON_DEFENSE ], - [ 56, Moves.GUILLOTINE ], - ], - [Species.DEINO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 4, Moves.DRAGON_BREATH ], - [ 8, Moves.BITE ], - [ 12, Moves.ROAR ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.WORK_UP ], - [ 28, Moves.SLAM ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.SCARY_FACE ], - [ 40, Moves.DRAGON_PULSE ], - [ 44, Moves.BODY_SLAM ], - [ 48, Moves.HYPER_VOICE ], - [ 52, Moves.DRAGON_RUSH ], - [ 56, Moves.NASTY_PLOT ], - [ 60, Moves.OUTRAGE ], - ], - [Species.ZWEILOUS]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.DOUBLE_HIT ], - [ 12, Moves.ROAR ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.WORK_UP ], - [ 28, Moves.SLAM ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.SCARY_FACE ], - [ 40, Moves.DRAGON_PULSE ], - [ 44, Moves.BODY_SLAM ], - [ 48, Moves.HYPER_VOICE ], - [ 54, Moves.DRAGON_RUSH ], - [ 60, Moves.NASTY_PLOT ], - [ 66, Moves.OUTRAGE ], - ], - [Species.HYDREIGON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.DOUBLE_HIT ], - [ 12, Moves.ROAR ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.WORK_UP ], - [ 28, Moves.SLAM ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.SCARY_FACE ], - [ 40, Moves.DRAGON_PULSE ], - [ 44, Moves.BODY_SLAM ], - [ 48, Moves.HYPER_VOICE ], - [ 54, Moves.DRAGON_RUSH ], - [ 60, Moves.NASTY_PLOT ], - [ 68, Moves.OUTRAGE ], - [ 76, Moves.HYPER_BEAM ], - ], - [Species.LARVESTA]: [ - [ 1, Moves.EMBER ], - [ 1, Moves.STRING_SHOT ], - [ 6, Moves.FLAME_CHARGE ], - [ 12, Moves.STRUGGLE_BUG ], - [ 18, Moves.FLAME_WHEEL ], - [ 24, Moves.BUG_BITE ], - [ 30, Moves.SCREECH ], - [ 36, Moves.LEECH_LIFE ], - [ 42, Moves.BUG_BUZZ ], - [ 48, Moves.TAKE_DOWN ], - [ 54, Moves.AMNESIA ], - [ 60, Moves.DOUBLE_EDGE ], - [ 66, Moves.FLARE_BLITZ ], - ], - [Species.VOLCARONA]: [ - [ EVOLVE_MOVE, Moves.QUIVER_DANCE ], - [ 1, Moves.GUST ], - [ 1, Moves.WHIRLWIND ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.EMBER ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.FIRE_SPIN ], - [ 1, Moves.FLARE_BLITZ ], - [ 1, Moves.FLAME_CHARGE ], - [ 1, Moves.STRUGGLE_BUG ], - [ 1, Moves.FIERY_DANCE ], - [ 18, Moves.FLAME_WHEEL ], - [ 24, Moves.BUG_BITE ], - [ 30, Moves.SCREECH ], - [ 36, Moves.LEECH_LIFE ], - [ 42, Moves.BUG_BUZZ ], - [ 48, Moves.HEAT_WAVE ], - [ 54, Moves.AMNESIA ], - [ 62, Moves.HURRICANE ], - [ 70, Moves.FIRE_BLAST ], - [ 78, Moves.RAGE_POWDER ], - ], - [Species.COBALION]: [ - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.WORK_UP ], - [ 7, Moves.METAL_CLAW ], - [ 14, Moves.QUICK_GUARD ], - [ 21, Moves.DOUBLE_KICK ], - [ 28, Moves.RETALIATE ], - [ 35, Moves.METAL_BURST ], - [ 42, Moves.TAKE_DOWN ], - [ 49, Moves.SACRED_SWORD ], - [ 56, Moves.SWORDS_DANCE ], - [ 63, Moves.IRON_HEAD ], - [ 70, Moves.CLOSE_COMBAT ], - ], - [Species.TERRAKION]: [ - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.WORK_UP ], - [ 7, Moves.SMACK_DOWN ], - [ 14, Moves.QUICK_GUARD ], - [ 21, Moves.DOUBLE_KICK ], - [ 28, Moves.RETALIATE ], - [ 35, Moves.ROCK_SLIDE ], - [ 42, Moves.TAKE_DOWN ], - [ 49, Moves.SACRED_SWORD ], - [ 56, Moves.SWORDS_DANCE ], - [ 63, Moves.STONE_EDGE ], - [ 70, Moves.CLOSE_COMBAT ], - ], - [Species.VIRIZION]: [ - [ RELEARN_MOVE, Moves.TAKE_DOWN ], - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.WORK_UP ], - [ 7, Moves.MAGICAL_LEAF ], - [ 14, Moves.QUICK_GUARD ], - [ 21, Moves.DOUBLE_KICK ], - [ 28, Moves.RETALIATE ], - [ 35, Moves.GIGA_DRAIN ], - [ 42, Moves.TAKE_DOWN ], - [ 49, Moves.SACRED_SWORD ], - [ 56, Moves.SWORDS_DANCE ], - [ 63, Moves.LEAF_BLADE ], - [ 70, Moves.CLOSE_COMBAT ], - ], - [Species.TORNADUS]: [ - [ 1, Moves.GUST ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.LEER ], - [ 10, Moves.SWAGGER ], - [ 15, Moves.BITE ], - [ 20, Moves.AIR_CUTTER ], - [ 25, Moves.AGILITY ], - [ 30, Moves.TAILWIND ], - [ 35, Moves.AIR_SLASH ], - [ 40, Moves.CRUNCH ], - [ 45, Moves.EXTRASENSORY ], - [ 50, Moves.UPROAR ], - [ 55, Moves.HAMMER_ARM ], - [ 60, Moves.RAIN_DANCE ], - [ 65, Moves.HURRICANE ], - [ 70, Moves.THRASH ], - [ 77, Moves.BLEAKWIND_STORM ], - ], - [Species.THUNDURUS]: [ - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.LEER ], - [ 10, Moves.SWAGGER ], - [ 15, Moves.BITE ], - [ 20, Moves.SHOCK_WAVE ], - [ 25, Moves.AGILITY ], - [ 30, Moves.CHARGE ], - [ 31, Moves.HEAL_BLOCK ], - [ 35, Moves.VOLT_SWITCH ], - [ 40, Moves.CRUNCH ], - [ 45, Moves.DISCHARGE ], - [ 50, Moves.UPROAR ], - [ 55, Moves.HAMMER_ARM ], - [ 60, Moves.RAIN_DANCE ], - [ 65, Moves.THUNDER ], - [ 70, Moves.THRASH ], - [ 75, Moves.WILDBOLT_STORM ], - ], - [Species.RESHIRAM]: [ - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.NOBLE_ROAR ], - [ 8, Moves.SLASH ], - [ 16, Moves.CRUNCH ], - [ 24, Moves.EXTRASENSORY ], - [ 32, Moves.DRAGON_PULSE ], - [ 40, Moves.FLAMETHROWER ], - [ 48, Moves.FUSION_FLARE ], - [ 56, Moves.HYPER_VOICE ], - [ 64, Moves.FIRE_BLAST ], - [ 72, Moves.IMPRISON ], - [ 80, Moves.OUTRAGE ], - [ 88, Moves.BLUE_FLARE ], - ], - [Species.ZEKROM]: [ - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.NOBLE_ROAR ], - [ 8, Moves.SLASH ], - [ 16, Moves.CRUNCH ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 32, Moves.DRAGON_CLAW ], - [ 40, Moves.THUNDERBOLT ], - [ 48, Moves.FUSION_BOLT ], - [ 56, Moves.HYPER_VOICE ], - [ 64, Moves.THUNDER ], - [ 72, Moves.IMPRISON ], - [ 80, Moves.OUTRAGE ], - [ 88, Moves.BOLT_STRIKE ], - ], - [Species.LANDORUS]: [ - [ 1, Moves.SAND_TOMB ], - [ 1, Moves.SMACK_DOWN ], - [ 5, Moves.LEER ], - [ 10, Moves.BLOCK ], - [ 15, Moves.BULLDOZE ], - [ 20, Moves.ROCK_TOMB ], - [ 30, Moves.IMPRISON ], - [ 35, Moves.ROCK_SLIDE ], - [ 40, Moves.EARTH_POWER ], - [ 45, Moves.EXTRASENSORY ], - [ 50, Moves.STONE_EDGE ], - [ 55, Moves.HAMMER_ARM ], - [ 60, Moves.SANDSTORM ], - [ 65, Moves.EARTHQUAKE ], - [ 70, Moves.OUTRAGE ], - [ 75, Moves.FISSURE ], - [ 80, Moves.SANDSEAR_STORM ], - ], - [Species.KYUREM]: [ - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.FREEZE_DRY ], - [ 8, Moves.SLASH ], - [ 16, Moves.ENDEAVOR ], - [ 24, Moves.DRAGON_PULSE ], - [ 32, Moves.ICE_BEAM ], - [ 40, Moves.HYPER_VOICE ], - [ 48, Moves.SCARY_FACE ], - [ 56, Moves.BLIZZARD ], - [ 64, Moves.IMPRISON ], - [ 72, Moves.OUTRAGE ], - [ 80, Moves.GLACIATE ], - [ 88, Moves.SHEER_COLD ], - ], - [Species.KELDEO]: [ - [ 1, Moves.LEER ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.AQUA_JET ], - [ 1, Moves.WORK_UP ], - [ 1, Moves.SECRET_SWORD ], - [ 7, Moves.BUBBLE_BEAM ], - [ 14, Moves.QUICK_GUARD ], - [ 21, Moves.DOUBLE_KICK ], - [ 28, Moves.RETALIATE ], - [ 35, Moves.AQUA_TAIL ], - [ 42, Moves.TAKE_DOWN ], - [ 49, Moves.SACRED_SWORD ], - [ 56, Moves.SWORDS_DANCE ], - [ 63, Moves.HYDRO_PUMP ], - [ 70, Moves.CLOSE_COMBAT ], - ], - [Species.MELOETTA]: [ - [ 1, Moves.SING ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.ROUND ], - [ 21, Moves.TEETER_DANCE ], - [ 26, Moves.ACROBATICS ], - [ 31, Moves.PSYBEAM ], - [ 36, Moves.ECHOED_VOICE ], - [ 43, Moves.U_TURN ], - [ 50, Moves.RELIC_SONG ], - [ 57, Moves.PSYCHIC ], - [ 64, Moves.HYPER_VOICE ], - [ 71, Moves.ROLE_PLAY ], - [ 78, Moves.CLOSE_COMBAT ], - [ 85, Moves.PERISH_SONG ], - ], - [Species.GENESECT]: [ - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FURY_CUTTER ], - [ 7, Moves.SCREECH ], - [ 14, Moves.METAL_CLAW ], - [ 21, Moves.FELL_STINGER ], - [ 28, Moves.FLAME_CHARGE ], - [ 35, Moves.METAL_SOUND ], - [ 42, Moves.X_SCISSOR ], - [ 49, Moves.MAGNET_RISE ], - [ 56, Moves.BUG_BUZZ ], - [ 63, Moves.SIMPLE_BEAM ], - [ 70, Moves.ZAP_CANNON ], - [ 77, Moves.LOCK_ON ], - [ 84, Moves.TECHNO_BLAST ], - [ 91, Moves.SELF_DESTRUCT ], - ], - [Species.CHESPIN]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.VINE_WHIP ], - [ 8, Moves.ROLLOUT ], - [ 11, Moves.BITE ], - [ 15, Moves.LEECH_SEED ], - [ 18, Moves.PIN_MISSILE ], - [ 27, Moves.TAKE_DOWN ], - [ 32, Moves.SEED_BOMB ], - [ 35, Moves.MUD_SHOT ], - [ 42, Moves.BODY_SLAM ], - [ 45, Moves.PAIN_SPLIT ], - [ 48, Moves.WOOD_HAMMER ], - ], - [Species.QUILLADIN]: [ - [ EVOLVE_MOVE, Moves.NEEDLE_ARM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.VINE_WHIP ], - [ 8, Moves.ROLLOUT ], - [ 11, Moves.BITE ], - [ 15, Moves.LEECH_SEED ], - [ 20, Moves.SEED_BOMB ], - [ 24, Moves.PIN_MISSILE ], - [ 29, Moves.TAKE_DOWN ], - [ 34, Moves.MUD_SHOT ], - [ 38, Moves.BULK_UP ], - [ 43, Moves.BODY_SLAM ], - [ 47, Moves.PAIN_SPLIT ], - [ 53, Moves.WOOD_HAMMER ], - ], - [Species.CHESNAUGHT]: [ - [ EVOLVE_MOVE, Moves.SPIKY_SHIELD ], - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.HAMMER_ARM ], - [ 1, Moves.FEINT ], - [ 1, Moves.NEEDLE_ARM ], - [ 11, Moves.BITE ], - [ 15, Moves.LEECH_SEED ], - [ 19, Moves.PIN_MISSILE ], - [ 29, Moves.TAKE_DOWN ], - [ 35, Moves.SEED_BOMB ], - [ 41, Moves.MUD_SHOT ], - [ 48, Moves.BULK_UP ], - [ 54, Moves.BODY_SLAM ], - [ 60, Moves.PAIN_SPLIT ], - [ 66, Moves.WOOD_HAMMER ], - [ 78, Moves.GIGA_IMPACT ], - ], - [Species.FENNEKIN]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.EMBER ], - [ 11, Moves.HOWL ], - [ 14, Moves.FLAME_CHARGE ], - [ 17, Moves.PSYBEAM ], - [ 20, Moves.FIRE_SPIN ], - [ 25, Moves.LIGHT_SCREEN ], - [ 31, Moves.PSYSHOCK ], - [ 35, Moves.FLAMETHROWER ], - [ 38, Moves.WILL_O_WISP ], - [ 41, Moves.PSYCHIC ], - [ 43, Moves.SUNNY_DAY ], - [ 48, Moves.FIRE_BLAST ], - ], - [Species.BRAIXEN]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.EMBER ], - [ 11, Moves.HOWL ], - [ 14, Moves.FLAME_CHARGE ], - [ 18, Moves.PSYBEAM ], - [ 22, Moves.FIRE_SPIN ], - [ 28, Moves.LIGHT_SCREEN ], - [ 36, Moves.PSYSHOCK ], - [ 41, Moves.FLAMETHROWER ], - [ 45, Moves.WILL_O_WISP ], - [ 49, Moves.PSYCHIC ], - [ 52, Moves.SUNNY_DAY ], - [ 56, Moves.MAGIC_ROOM ], - [ 59, Moves.FIRE_BLAST ], - ], - [Species.DELPHOX]: [ - [ EVOLVE_MOVE, Moves.MYSTICAL_FIRE ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.EMBER ], - [ 1, Moves.SHADOW_BALL ], - [ 1, Moves.FUTURE_SIGHT ], - [ 1, Moves.ROLE_PLAY ], - [ 1, Moves.HOWL ], - [ 1, Moves.SWITCHEROO ], - [ 14, Moves.FLAME_CHARGE ], - [ 18, Moves.PSYBEAM ], - [ 22, Moves.FIRE_SPIN ], - [ 28, Moves.LIGHT_SCREEN ], - [ 38, Moves.PSYSHOCK ], - [ 45, Moves.FLAMETHROWER ], - [ 51, Moves.WILL_O_WISP ], - [ 57, Moves.PSYCHIC ], - [ 62, Moves.SUNNY_DAY ], - [ 68, Moves.MAGIC_ROOM ], - [ 74, Moves.FIRE_BLAST ], - ], - [Species.FROAKIE]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 5, Moves.WATER_GUN ], - [ 8, Moves.QUICK_ATTACK ], - [ 10, Moves.LICK ], - [ 14, Moves.WATER_PULSE ], - [ 18, Moves.SMOKESCREEN ], - [ 21, Moves.ROUND ], - [ 25, Moves.FLING ], - [ 29, Moves.SMACK_DOWN ], - [ 35, Moves.SUBSTITUTE ], - [ 39, Moves.BOUNCE ], - [ 43, Moves.DOUBLE_TEAM ], - [ 48, Moves.HYDRO_PUMP ], - ], - [Species.FROGADIER]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 8, Moves.QUICK_ATTACK ], - [ 10, Moves.LICK ], - [ 14, Moves.WATER_PULSE ], - [ 19, Moves.SMOKESCREEN ], - [ 23, Moves.ROUND ], - [ 28, Moves.FLING ], - [ 33, Moves.SMACK_DOWN ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.BOUNCE ], - [ 50, Moves.DOUBLE_TEAM ], - [ 56, Moves.HYDRO_PUMP ], - ], - [Species.GRENINJA]: [ - [ EVOLVE_MOVE, Moves.WATER_SHURIKEN ], - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.ROUND ], // Previous Stage Move - [ 1, Moves.FLING ], // Previous Stage Move - [ 1, Moves.SMACK_DOWN ], // Previous Stage Move - [ 1, Moves.BOUNCE ], // Previous Stage Move - [ 1, Moves.HAZE ], - [ 1, Moves.MAT_BLOCK ], - [ 1, Moves.ROLE_PLAY ], - [ 1, Moves.NIGHT_SLASH ], - [ 10, Moves.LICK ], - [ 14, Moves.WATER_PULSE ], - [ 19, Moves.SMOKESCREEN ], - [ 23, Moves.SHADOW_SNEAK ], - [ 28, Moves.SPIKES ], - [ 33, Moves.AERIAL_ACE ], - [ 42, Moves.SUBSTITUTE ], - [ 49, Moves.EXTRASENSORY ], - [ 56, Moves.DOUBLE_TEAM ], - [ 68, Moves.HYDRO_PUMP ], - ], - [Species.BUNNELBY]: [ - [ 1, Moves.LEER ], - [ 1, Moves.MUD_SLAP ], - [ 3, Moves.TACKLE ], - [ 6, Moves.LASER_FOCUS ], - [ 9, Moves.QUICK_ATTACK ], - [ 12, Moves.MUD_SHOT ], - [ 15, Moves.FLAIL ], - [ 18, Moves.DOUBLE_KICK ], - [ 21, Moves.BULLDOZE ], - [ 24, Moves.DIG ], - [ 27, Moves.BOUNCE ], - [ 30, Moves.TAKE_DOWN ], - [ 33, Moves.SWORDS_DANCE ], - [ 36, Moves.EARTHQUAKE ], - [ 39, Moves.SUPER_FANG ], - ], - [Species.DIGGERSBY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.LASER_FOCUS ], - [ 1, Moves.ROTOTILLER ], - [ 9, Moves.QUICK_ATTACK ], - [ 12, Moves.MUD_SHOT ], - [ 15, Moves.FLAIL ], - [ 18, Moves.DOUBLE_KICK ], - [ 23, Moves.BULLDOZE ], - [ 28, Moves.DIG ], - [ 33, Moves.BOUNCE ], - [ 38, Moves.TAKE_DOWN ], - [ 43, Moves.SWORDS_DANCE ], - [ 48, Moves.EARTHQUAKE ], - [ 53, Moves.SUPER_FANG ], - [ 58, Moves.HAMMER_ARM ], - ], - [Species.FLETCHLING]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 5, Moves.QUICK_ATTACK ], - [ 10, Moves.EMBER ], - [ 15, Moves.FLAIL ], - [ 20, Moves.ACROBATICS ], - [ 25, Moves.AGILITY ], - [ 30, Moves.AERIAL_ACE ], - [ 35, Moves.TAILWIND ], - [ 40, Moves.STEEL_WING ], - [ 45, Moves.ROOST ], - [ 50, Moves.FLY ], - ], - [Species.FLETCHINDER]: [ - [ EVOLVE_MOVE, Moves.FLAME_CHARGE ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.PECK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FEINT ], - [ 15, Moves.FLAIL ], - [ 22, Moves.ACROBATICS ], - [ 29, Moves.AGILITY ], - [ 36, Moves.AERIAL_ACE ], - [ 43, Moves.TAILWIND ], - [ 50, Moves.STEEL_WING ], - [ 57, Moves.ROOST ], - [ 64, Moves.FLY ], - ], - [Species.TALONFLAME]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.PECK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FEINT ], - [ 1, Moves.FLARE_BLITZ ], - [ 1, Moves.FLAME_CHARGE ], - [ 15, Moves.FLAIL ], - [ 22, Moves.ACROBATICS ], - [ 29, Moves.AGILITY ], - [ 38, Moves.AERIAL_ACE ], - [ 47, Moves.TAILWIND ], - [ 56, Moves.STEEL_WING ], - [ 65, Moves.ROOST ], - [ 74, Moves.FLY ], - [ 83, Moves.BRAVE_BIRD ], - ], - [Species.SCATTERBUG]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.STRING_SHOT ], - [ 6, Moves.STUN_SPORE ], - [ 15, Moves.BUG_BITE ], - ], - [Species.SPEWPA]: [ - [ EVOLVE_MOVE, Moves.PROTECT ], - [ RELEARN_MOVE, Moves.TACKLE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.STRING_SHOT ], // Previous Stage Move - [ RELEARN_MOVE, Moves.STUN_SPORE ], // Previous Stage Move - [ RELEARN_MOVE, Moves.BUG_BITE ], // Previous Stage Move - [ 1, Moves.HARDEN ], - ], - [Species.VIVILLON]: [ - [ EVOLVE_MOVE, Moves.GUST ], - [ 1, Moves.PROTECT ], // Previous Stage Move - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.STRING_SHOT ], // Previous Stage Move - [ 1, Moves.HARDEN ], // Previous Stage Move - [ 1, Moves.BUG_BITE ], // Previous Stage Move - [ 1, Moves.POISON_POWDER ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.SLEEP_POWDER ], - [ 1, Moves.STRUGGLE_BUG ], - [ 1, Moves.POWDER ], - [ 12, Moves.LIGHT_SCREEN ], - [ 17, Moves.PSYBEAM ], - [ 21, Moves.SUPERSONIC ], - [ 25, Moves.DRAINING_KISS ], - [ 31, Moves.SAFEGUARD ], - [ 35, Moves.BUG_BUZZ ], - [ 45, Moves.QUIVER_DANCE ], - [ 50, Moves.HURRICANE ], - ], - [Species.LITLEO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 5, Moves.EMBER ], - [ 8, Moves.WORK_UP ], - [ 11, Moves.HEADBUTT ], - [ 15, Moves.NOBLE_ROAR ], - [ 20, Moves.TAKE_DOWN ], - [ 23, Moves.FIRE_FANG ], - [ 28, Moves.ENDEAVOR ], - [ 33, Moves.ECHOED_VOICE ], - [ 36, Moves.FLAMETHROWER ], - [ 39, Moves.CRUNCH ], - [ 43, Moves.HYPER_VOICE ], - [ 46, Moves.INCINERATE ], - [ 50, Moves.OVERHEAT ], - ], - [Species.PYROAR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.HYPER_BEAM ], - [ 1, Moves.WORK_UP ], - [ 11, Moves.HEADBUTT ], - [ 15, Moves.NOBLE_ROAR ], - [ 20, Moves.TAKE_DOWN ], - [ 23, Moves.FIRE_FANG ], - [ 28, Moves.ENDEAVOR ], - [ 33, Moves.ECHOED_VOICE ], - [ 38, Moves.FLAMETHROWER ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.HYPER_VOICE ], - [ 51, Moves.INCINERATE ], - [ 57, Moves.OVERHEAT ], - ], - [Species.FLABEBE]: [ - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 6, Moves.FAIRY_WIND ], - [ 10, Moves.SAFEGUARD ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.WISH ], - [ 22, Moves.MAGICAL_LEAF ], - [ 24, Moves.GRASSY_TERRAIN ], - [ 28, Moves.PETAL_BLIZZARD ], - [ 33, Moves.SYNTHESIS ], - [ 37, Moves.MISTY_TERRAIN ], - [ 41, Moves.MOONBLAST ], - [ 45, Moves.PETAL_DANCE ], - [ 48, Moves.SOLAR_BEAM ], - ], - [Species.FLOETTE]: [ - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FAIRY_WIND ], - [ 10, Moves.SAFEGUARD ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.WISH ], - [ 25, Moves.MAGICAL_LEAF ], - [ 27, Moves.GRASSY_TERRAIN ], - [ 33, Moves.PETAL_BLIZZARD ], - [ 38, Moves.SYNTHESIS ], - [ 43, Moves.MISTY_TERRAIN ], - [ 46, Moves.MOONBLAST ], - [ 51, Moves.PETAL_DANCE ], - [ 58, Moves.SOLAR_BEAM ], - ], - [Species.FLORGES]: [ - [ 1, Moves.VINE_WHIP ], // Previous Stage Move - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.FAIRY_WIND ], // Previous Stage Move - [ 1, Moves.RAZOR_LEAF ], // Previous Stage Move - [ 1, Moves.SOLAR_BEAM ], - [ 1, Moves.PETAL_DANCE ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.SYNTHESIS ], - [ 1, Moves.WISH ], - [ 1, Moves.LUCKY_CHANT ], - [ 1, Moves.MAGICAL_LEAF ], - [ 1, Moves.GRASS_KNOT ], - [ 1, Moves.PETAL_BLIZZARD ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.GRASSY_TERRAIN ], - [ 1, Moves.MISTY_TERRAIN ], - [ 5, Moves.MOONBLAST ], - ], - [Species.SKIDDO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWTH ], - [ 7, Moves.VINE_WHIP ], - [ 9, Moves.TAIL_WHIP ], - [ 12, Moves.LEECH_SEED ], - [ 13, Moves.RAZOR_LEAF ], - [ 16, Moves.WORRY_SEED ], - [ 20, Moves.SYNTHESIS ], - [ 22, Moves.TAKE_DOWN ], - [ 26, Moves.BULLDOZE ], - [ 30, Moves.SEED_BOMB ], - [ 34, Moves.BULK_UP ], - [ 38, Moves.DOUBLE_EDGE ], - [ 42, Moves.HORN_LEECH ], - [ 45, Moves.LEAF_BLADE ], - ], - [Species.GOGOAT]: [ - [ EVOLVE_MOVE, Moves.AERIAL_ACE ], - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWTH ], - [ 1, Moves.EARTHQUAKE ], - [ 12, Moves.LEECH_SEED ], - [ 13, Moves.RAZOR_LEAF ], - [ 16, Moves.WORRY_SEED ], - [ 20, Moves.SYNTHESIS ], - [ 22, Moves.TAKE_DOWN ], - [ 26, Moves.BULLDOZE ], - [ 30, Moves.SEED_BOMB ], - [ 34, Moves.BULK_UP ], - [ 40, Moves.DOUBLE_EDGE ], - [ 47, Moves.HORN_LEECH ], - [ 55, Moves.LEAF_BLADE ], - [ 58, Moves.MILK_DRINK ], - ], - [Species.PANCHAM]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 4, Moves.ARM_THRUST ], - [ 8, Moves.TAUNT ], - [ 12, Moves.CIRCLE_THROW ], - [ 16, Moves.LOW_SWEEP ], - [ 20, Moves.WORK_UP ], - [ 24, Moves.SLASH ], - [ 28, Moves.VITAL_THROW ], - [ 33, Moves.CRUNCH ], - [ 36, Moves.BODY_SLAM ], - [ 40, Moves.PARTING_SHOT ], - [ 44, Moves.ENTRAINMENT ], - ], - [Species.PANGORO]: [ - [ EVOLVE_MOVE, Moves.NIGHT_SLASH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.TAUNT ], - [ 1, Moves.ARM_THRUST ], - [ 1, Moves.BULLET_PUNCH ], - [ 12, Moves.CIRCLE_THROW ], - [ 16, Moves.LOW_SWEEP ], - [ 20, Moves.WORK_UP ], - [ 24, Moves.SLASH ], - [ 28, Moves.VITAL_THROW ], - [ 35, Moves.CRUNCH ], - [ 40, Moves.BODY_SLAM ], - [ 46, Moves.PARTING_SHOT ], - [ 52, Moves.ENTRAINMENT ], - [ 58, Moves.HAMMER_ARM ], - ], - [Species.FURFROU]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.SAND_ATTACK ], - [ 9, Moves.BABY_DOLL_EYES ], - [ 12, Moves.HEADBUTT ], - [ 15, Moves.TAIL_WHIP ], - [ 22, Moves.BITE ], - [ 27, Moves.ODOR_SLEUTH ], - [ 33, Moves.RETALIATE ], - [ 35, Moves.TAKE_DOWN ], - [ 38, Moves.CHARM ], - [ 42, Moves.SUCKER_PUNCH ], - [ 48, Moves.COTTON_GUARD ], - ], - [Species.ESPURR]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 3, Moves.FAKE_OUT ], - [ 6, Moves.DISARMING_VOICE ], - [ 9, Moves.CONFUSION ], - [ 18, Moves.COVET ], - [ 21, Moves.PSYBEAM ], - [ 30, Moves.LIGHT_SCREEN ], - [ 30, Moves.REFLECT ], - [ 33, Moves.PSYSHOCK ], - ], - [Species.MEOWSTIC]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.MEAN_LOOK ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.DISARMING_VOICE ], - [ 9, Moves.CONFUSION ], - [ 12, Moves.HELPING_HAND ], - [ 15, Moves.CHARM ], - [ 18, Moves.COVET ], - [ 21, Moves.PSYBEAM ], - [ 24, Moves.SUCKER_PUNCH ], - [ 29, Moves.ROLE_PLAY ], - [ 34, Moves.LIGHT_SCREEN ], - [ 34, Moves.REFLECT ], - [ 39, Moves.PSYSHOCK ], - [ 44, Moves.IMPRISON ], - [ 49, Moves.QUICK_GUARD ], - [ 54, Moves.PSYCHIC ], - [ 59, Moves.MISTY_TERRAIN ], - ], - [Species.HONEDGE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.FURY_CUTTER ], - [ 4, Moves.SHADOW_SNEAK ], - [ 8, Moves.AUTOTOMIZE ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.METAL_SOUND ], - [ 20, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 28, Moves.RETALIATE ], - [ 32, Moves.IRON_DEFENSE ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.POWER_TRICK ], - [ 44, Moves.SWORDS_DANCE ], - [ 48, Moves.SACRED_SWORD ], - ], - [Species.DOUBLADE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.SHADOW_SNEAK ], - [ 1, Moves.AUTOTOMIZE ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.METAL_SOUND ], - [ 20, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 28, Moves.RETALIATE ], - [ 32, Moves.IRON_DEFENSE ], - [ 38, Moves.IRON_HEAD ], - [ 44, Moves.POWER_TRICK ], - [ 50, Moves.SWORDS_DANCE ], - [ 56, Moves.SACRED_SWORD ], - ], - [Species.AEGISLASH]: [ - [ EVOLVE_MOVE, Moves.KINGS_SHIELD ], - [ 1, Moves.SWORDS_DANCE ], - [ 1, Moves.PURSUIT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SLASH ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.METAL_SOUND ], - [ 1, Moves.AERIAL_ACE ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.POWER_TRICK ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.SHADOW_SNEAK ], - [ 1, Moves.IRON_HEAD ], - [ 1, Moves.HEAD_SMASH ], - [ 1, Moves.AUTOTOMIZE ], - [ 1, Moves.RETALIATE ], - [ 1, Moves.SACRED_SWORD ], - ], - [Species.SPRITZEE]: [ - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.FAIRY_WIND ], - [ 3, Moves.SWEET_KISS ], - [ 6, Moves.ECHOED_VOICE ], - [ 9, Moves.DRAINING_KISS ], - [ 12, Moves.AROMATHERAPY ], - [ 18, Moves.ATTRACT ], - [ 21, Moves.FLAIL ], - [ 24, Moves.MISTY_TERRAIN ], - [ 27, Moves.PSYCHIC ], - [ 30, Moves.CHARM ], - [ 33, Moves.CALM_MIND ], - [ 36, Moves.MOONBLAST ], - [ 39, Moves.SKILL_SWAP ], - ], - [Species.AROMATISSE]: [ - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.ECHOED_VOICE ], - [ 1, Moves.HEAL_PULSE ], - [ 1, Moves.FAIRY_WIND ], - [ 1, Moves.AROMATIC_MIST ], - [ 9, Moves.DISARMING_VOICE ], - [ 12, Moves.AROMATHERAPY ], - [ 15, Moves.DRAINING_KISS ], - [ 18, Moves.ATTRACT ], - [ 21, Moves.FLAIL ], - [ 24, Moves.MISTY_TERRAIN ], - [ 27, Moves.PSYCHIC ], - [ 30, Moves.CHARM ], - [ 33, Moves.CALM_MIND ], - [ 36, Moves.MOONBLAST ], - [ 39, Moves.SKILL_SWAP ], - [ 42, Moves.PSYCH_UP ], - ], - [Species.SWIRLIX]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SWEET_SCENT ], - [ 3, Moves.PLAY_NICE ], - [ 6, Moves.FAIRY_WIND ], - [ 9, Moves.AROMATHERAPY ], - [ 12, Moves.DRAINING_KISS ], - [ 15, Moves.FAKE_TEARS ], - [ 18, Moves.ROUND ], - [ 21, Moves.STRING_SHOT ], - [ 24, Moves.COTTON_SPORE ], - [ 27, Moves.ENERGY_BALL ], - [ 30, Moves.WISH ], - [ 33, Moves.PLAY_ROUGH ], - [ 36, Moves.COTTON_GUARD ], - [ 39, Moves.ENDEAVOR ], - ], - [Species.SLURPUFF]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.FAIRY_WIND ], - [ 1, Moves.PLAY_NICE ], - [ 9, Moves.AROMATHERAPY ], - [ 12, Moves.DRAINING_KISS ], - [ 15, Moves.FAKE_TEARS ], - [ 18, Moves.ROUND ], - [ 21, Moves.STRING_SHOT ], - [ 24, Moves.COTTON_SPORE ], - [ 27, Moves.ENERGY_BALL ], - [ 30, Moves.WISH ], - [ 33, Moves.PLAY_ROUGH ], - [ 36, Moves.COTTON_GUARD ], - [ 39, Moves.ENDEAVOR ], - [ 42, Moves.STICKY_WEB ], - ], - [Species.INKAY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.PECK ], - [ 1, Moves.CONSTRICT ], - [ 3, Moves.HYPNOSIS ], - [ 6, Moves.WRAP ], - [ 9, Moves.PAYBACK ], - [ 12, Moves.PLUCK ], - [ 15, Moves.PSYBEAM ], - [ 18, Moves.SWAGGER ], - [ 21, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 27, Moves.PSYCHO_CUT ], - [ 31, Moves.SWITCHEROO ], - [ 33, Moves.FOUL_PLAY ], - [ 36, Moves.TOPSY_TURVY ], - [ 39, Moves.SUPERPOWER ], - ], - [Species.MALAMAR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WRAP ], - [ 1, Moves.PECK ], - [ 1, Moves.CONSTRICT ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.REVERSAL ], - [ 9, Moves.PAYBACK ], - [ 12, Moves.PLUCK ], - [ 15, Moves.PSYBEAM ], - [ 18, Moves.SWAGGER ], - [ 21, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 27, Moves.PSYCHO_CUT ], - [ 33, Moves.SWITCHEROO ], - [ 37, Moves.FOUL_PLAY ], - [ 42, Moves.TOPSY_TURVY ], - [ 47, Moves.SUPERPOWER ], - ], - [Species.BINACLE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.MUD_SLAP ], - [ 4, Moves.WITHDRAW ], - [ 8, Moves.WATER_GUN ], - [ 12, Moves.FURY_CUTTER ], - [ 16, Moves.FURY_SWIPES ], - [ 20, Moves.ANCIENT_POWER ], - [ 24, Moves.ROCK_POLISH ], - [ 28, Moves.SLASH ], - [ 32, Moves.HONE_CLAWS ], - [ 36, Moves.RAZOR_SHELL ], - [ 40, Moves.SHELL_SMASH ], - [ 44, Moves.CROSS_CHOP ], - ], - [Species.BARBARACLE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.SKULL_BASH ], - [ 1, Moves.MUD_SLAP ], - [ 12, Moves.FURY_CUTTER ], - [ 16, Moves.FURY_SWIPES ], - [ 20, Moves.ANCIENT_POWER ], - [ 24, Moves.ROCK_POLISH ], - [ 28, Moves.SLASH ], - [ 32, Moves.HONE_CLAWS ], - [ 36, Moves.RAZOR_SHELL ], - [ 42, Moves.SHELL_SMASH ], - [ 48, Moves.CROSS_CHOP ], - [ 54, Moves.STONE_EDGE ], - ], - [Species.SKRELP]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SMOKESCREEN ], - [ 5, Moves.ACID ], - [ 10, Moves.WATER_GUN ], - [ 15, Moves.TAIL_WHIP ], - [ 20, Moves.DOUBLE_TEAM ], - [ 25, Moves.POISON_TAIL ], - [ 30, Moves.WATER_PULSE ], - [ 35, Moves.TOXIC ], - [ 40, Moves.DRAGON_PULSE ], - [ 45, Moves.AQUA_TAIL ], - [ 50, Moves.SLUDGE_BOMB ], - [ 55, Moves.HYDRO_PUMP ], - ], - [Species.DRAGALGE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ACID ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.FEINT_ATTACK ], - [ 15, Moves.TAIL_WHIP ], - [ 20, Moves.DOUBLE_TEAM ], - [ 25, Moves.POISON_TAIL ], - [ 30, Moves.WATER_PULSE ], - [ 35, Moves.TOXIC ], - [ 40, Moves.DRAGON_PULSE ], - [ 45, Moves.AQUA_TAIL ], - [ 52, Moves.SLUDGE_BOMB ], - [ 59, Moves.HYDRO_PUMP ], - [ 66, Moves.OUTRAGE ], - ], - [Species.CLAUNCHER]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SPLASH ], - [ 10, Moves.FLAIL ], - [ 15, Moves.AQUA_JET ], - [ 20, Moves.SMACK_DOWN ], - [ 25, Moves.HONE_CLAWS ], - [ 30, Moves.WATER_PULSE ], - [ 35, Moves.SWORDS_DANCE ], - [ 40, Moves.AURA_SPHERE ], - [ 45, Moves.BOUNCE ], - [ 50, Moves.MUDDY_WATER ], - [ 55, Moves.CRABHAMMER ], - ], - [Species.CLAWITZER]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SPLASH ], - [ 1, Moves.FLAIL ], - [ 1, Moves.DARK_PULSE ], - [ 1, Moves.DRAGON_PULSE ], - [ 1, Moves.HEAL_PULSE ], - [ 15, Moves.AQUA_JET ], - [ 20, Moves.SMACK_DOWN ], - [ 25, Moves.HONE_CLAWS ], - [ 30, Moves.WATER_PULSE ], - [ 35, Moves.SWORDS_DANCE ], - [ 42, Moves.AURA_SPHERE ], - [ 49, Moves.BOUNCE ], - [ 56, Moves.MUDDY_WATER ], - [ 63, Moves.CRABHAMMER ], - ], - [Species.HELIOPTILE]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.MUD_SLAP ], - [ 4, Moves.POUND ], - [ 8, Moves.THUNDER_SHOCK ], - [ 12, Moves.QUICK_ATTACK ], - [ 16, Moves.CHARGE ], - [ 20, Moves.BULLDOZE ], - [ 24, Moves.VOLT_SWITCH ], - [ 28, Moves.PARABOLIC_CHARGE ], - [ 32, Moves.THUNDER_WAVE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.ELECTRIFY ], - [ 44, Moves.THUNDER ], - ], - [Species.HELIOLISK]: [ - [ 1, Moves.POUND ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.RAZOR_WIND ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.THUNDERBOLT ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.THUNDER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.CHARGE ], - [ 1, Moves.DISCHARGE ], - [ 1, Moves.VOLT_SWITCH ], - [ 1, Moves.BULLDOZE ], - [ 1, Moves.PARABOLIC_CHARGE ], - [ 1, Moves.ELECTRIFY ], - [ 1, Moves.EERIE_IMPULSE ], - ], - [Species.TYRUNT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 4, Moves.ROAR ], - [ 8, Moves.ANCIENT_POWER ], - [ 12, Moves.CHARM ], - [ 16, Moves.BITE ], - [ 20, Moves.DRAGON_TAIL ], - [ 24, Moves.STOMP ], - [ 28, Moves.ROCK_SLIDE ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.DRAGON_CLAW ], - [ 40, Moves.THRASH ], - [ 44, Moves.EARTHQUAKE ], - [ 48, Moves.HORN_DRILL ], - ], - [Species.TYRANTRUM]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.ROAR ], - [ 1, Moves.ANCIENT_POWER ], - [ 12, Moves.CHARM ], - [ 16, Moves.BITE ], - [ 20, Moves.DRAGON_TAIL ], - [ 24, Moves.STOMP ], - [ 28, Moves.ROCK_SLIDE ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.DRAGON_CLAW ], - [ 42, Moves.THRASH ], - [ 48, Moves.EARTHQUAKE ], - [ 54, Moves.HORN_DRILL ], - [ 60, Moves.GIGA_IMPACT ], - [ 66, Moves.HEAD_SMASH ], - ], - [Species.AMAURA]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.POWDER_SNOW ], - [ 4, Moves.ENCORE ], - [ 8, Moves.ANCIENT_POWER ], - [ 12, Moves.ICY_WIND ], - [ 16, Moves.ROUND ], - [ 20, Moves.MIST ], - [ 24, Moves.AURORA_BEAM ], - [ 28, Moves.THUNDER_WAVE ], - [ 32, Moves.NATURE_POWER ], - [ 36, Moves.FREEZE_DRY ], - [ 40, Moves.ICE_BEAM ], - [ 44, Moves.LIGHT_SCREEN ], - [ 48, Moves.HAIL ], - [ 52, Moves.BLIZZARD ], - [ 56, Moves.HYPER_BEAM ], - ], - [Species.AURORUS]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.ENCORE ], - [ 1, Moves.ANCIENT_POWER ], - [ 12, Moves.ICY_WIND ], - [ 16, Moves.ROUND ], - [ 20, Moves.MIST ], - [ 24, Moves.AURORA_BEAM ], - [ 28, Moves.THUNDER_WAVE ], - [ 32, Moves.NATURE_POWER ], - [ 36, Moves.FREEZE_DRY ], - [ 42, Moves.ICE_BEAM ], - [ 48, Moves.LIGHT_SCREEN ], - [ 54, Moves.HAIL ], - [ 60, Moves.BLIZZARD ], - [ 66, Moves.HYPER_BEAM ], - ], - [Species.SYLVEON]: [ - [ EVOLVE_MOVE, Moves.SPARKLY_SWIRL ], - [ RELEARN_MOVE, Moves.VEEVEE_VOLLEY ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.GROWL ], - [ 1, Moves.CHARM ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.DISARMING_VOICE ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.BABY_DOLL_EYES ], - [ 25, Moves.SWIFT ], - [ 30, Moves.LIGHT_SCREEN ], - [ 35, Moves.DRAINING_KISS ], - [ 40, Moves.MISTY_TERRAIN ], - [ 45, Moves.SKILL_SWAP ], - [ 50, Moves.PSYCH_UP ], - [ 55, Moves.MOONBLAST ], - [ 60, Moves.LAST_RESORT ], - ], - [Species.HAWLUCHA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HONE_CLAWS ], - [ 4, Moves.WING_ATTACK ], - [ 8, Moves.DETECT ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.ENCORE ], - [ 20, Moves.FEATHER_DANCE ], - [ 24, Moves.BRICK_BREAK ], - [ 28, Moves.BOUNCE ], - [ 32, Moves.TAUNT ], - [ 36, Moves.ROOST ], - [ 40, Moves.SWORDS_DANCE ], - [ 44, Moves.FLYING_PRESS ], - [ 48, Moves.HIGH_JUMP_KICK ], - [ 52, Moves.ENDEAVOR ], - [ 56, Moves.SKY_ATTACK ], - ], - [Species.DEDENNE]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.NUZZLE ], - [ 5, Moves.TACKLE ], - [ 10, Moves.CHARGE ], - [ 15, Moves.THUNDER_SHOCK ], - [ 20, Moves.CHARM ], - [ 25, Moves.PARABOLIC_CHARGE ], - [ 30, Moves.VOLT_SWITCH ], - [ 35, Moves.REST ], - [ 35, Moves.SNORE ], - [ 40, Moves.DISCHARGE ], - [ 45, Moves.PLAY_ROUGH ], - [ 50, Moves.SUPER_FANG ], - [ 55, Moves.ENTRAINMENT ], - [ 60, Moves.THUNDER ], - ], - [Species.CARBINK]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.GUARD_SPLIT ], - [ 10, Moves.SMACK_DOWN ], - [ 15, Moves.FLAIL ], - [ 20, Moves.ANCIENT_POWER ], - [ 25, Moves.ROCK_POLISH ], - [ 30, Moves.LIGHT_SCREEN ], - [ 35, Moves.ROCK_SLIDE ], - [ 40, Moves.SKILL_SWAP ], - [ 45, Moves.POWER_GEM ], - [ 50, Moves.STEALTH_ROCK ], - [ 55, Moves.MOONBLAST ], - [ 60, Moves.STONE_EDGE ], - ], - [Species.GOOMY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ABSORB ], - [ 5, Moves.WATER_GUN ], - [ 10, Moves.DRAGON_BREATH ], - [ 15, Moves.PROTECT ], - [ 20, Moves.FLAIL ], - [ 25, Moves.WATER_PULSE ], - [ 30, Moves.RAIN_DANCE ], - [ 35, Moves.DRAGON_PULSE ], - [ 41, Moves.CURSE ], - [ 45, Moves.BODY_SLAM ], - [ 50, Moves.MUDDY_WATER ], - ], - [Species.SLIGGOO]: [ - [ EVOLVE_MOVE, Moves.ACID_SPRAY ], - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.ABSORB ], - [ 1, Moves.ACID_ARMOR ], - [ 1, Moves.DRAGON_BREATH ], - [ 15, Moves.PROTECT ], - [ 20, Moves.FLAIL ], - [ 25, Moves.WATER_PULSE ], - [ 30, Moves.RAIN_DANCE ], - [ 35, Moves.DRAGON_PULSE ], - [ 43, Moves.CURSE ], - [ 49, Moves.BODY_SLAM ], - [ 56, Moves.MUDDY_WATER ], - ], - [Species.GOODRA]: [ - [ EVOLVE_MOVE, Moves.AQUA_TAIL ], - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.ABSORB ], - [ 1, Moves.ACID_ARMOR ], // Previous Stage Move - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.POISON_TAIL ], - [ 1, Moves.FEINT ], - [ 1, Moves.ACID_SPRAY ], - [ 1, Moves.TEARFUL_LOOK ], - [ 15, Moves.PROTECT ], - [ 20, Moves.FLAIL ], - [ 25, Moves.WATER_PULSE ], - [ 30, Moves.RAIN_DANCE ], - [ 35, Moves.DRAGON_PULSE ], // Previous Stage Move, NatDex / Hisui Goodra Level - [ 43, Moves.CURSE ], - [ 49, Moves.BODY_SLAM ], - [ 58, Moves.MUDDY_WATER ], - [ 67, Moves.POWER_WHIP ], - ], - [Species.KLEFKI]: [ - [ 1, Moves.ASTONISH ], - [ 4, Moves.TACKLE ], - [ 8, Moves.FAIRY_WIND ], - [ 12, Moves.TORMENT ], - [ 16, Moves.FAIRY_LOCK ], - [ 20, Moves.METAL_SOUND ], - [ 24, Moves.DRAINING_KISS ], - [ 28, Moves.RECYCLE ], - [ 32, Moves.IMPRISON ], - [ 36, Moves.FLASH_CANNON ], - [ 40, Moves.PLAY_ROUGH ], - [ 44, Moves.MAGIC_ROOM ], - [ 48, Moves.FOUL_PLAY ], - [ 50, Moves.HEAL_BLOCK ], - [ 52, Moves.LAST_RESORT ], - ], - [Species.PHANTUMP]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.BRANCH_POKE ], - [ 8, Moves.LEECH_SEED ], - [ 12, Moves.CONFUSE_RAY ], - [ 16, Moves.WILL_O_WISP ], - [ 20, Moves.HEX ], - [ 24, Moves.GROWTH ], - [ 28, Moves.HORN_LEECH ], - [ 32, Moves.CURSE ], - [ 36, Moves.PHANTOM_FORCE ], - [ 40, Moves.INGRAIN ], - [ 44, Moves.WOOD_HAMMER ], - [ 48, Moves.DESTINY_BOND ], - [ 52, Moves.FORESTS_CURSE ], - ], - [Species.TREVENANT]: [ - [ EVOLVE_MOVE, Moves.SHADOW_CLAW ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.BRANCH_POKE ], - [ 12, Moves.CONFUSE_RAY ], - [ 16, Moves.WILL_O_WISP ], - [ 20, Moves.HEX ], - [ 24, Moves.GROWTH ], - [ 28, Moves.HORN_LEECH ], - [ 32, Moves.CURSE ], - [ 36, Moves.PHANTOM_FORCE ], - [ 40, Moves.INGRAIN ], - [ 44, Moves.WOOD_HAMMER ], - [ 48, Moves.DESTINY_BOND ], - [ 52, Moves.FORESTS_CURSE ], - ], - [Species.PUMPKABOO]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.TRICK_OR_TREAT ], - [ 1, Moves.LEAFAGE ], // Custom - [ 4, Moves.SHADOW_SNEAK ], - [ 8, Moves.CONFUSE_RAY ], - [ 12, Moves.RAZOR_LEAF ], - [ 16, Moves.LEECH_SEED ], - [ 20, Moves.BULLET_SEED ], - [ 24, Moves.SCARY_FACE ], - [ 28, Moves.WORRY_SEED ], - [ 32, Moves.SEED_BOMB ], - [ 36, Moves.SHADOW_BALL ], - [ 40, Moves.TRICK ], - [ 44, Moves.PAIN_SPLIT ], - ], - [Species.GOURGEIST]: [ - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.EXPLOSION ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.LEAFAGE ], // Previous Stage Move, Custom - [ 1, Moves.SHADOW_SNEAK ], - [ 1, Moves.TRICK_OR_TREAT ], - [ 1, Moves.MOONBLAST ], - [ 12, Moves.RAZOR_LEAF ], - [ 16, Moves.LEECH_SEED ], - [ 20, Moves.BULLET_SEED ], - [ 24, Moves.SCARY_FACE ], - [ 28, Moves.WORRY_SEED ], - [ 32, Moves.SEED_BOMB ], - [ 36, Moves.SHADOW_BALL ], - [ 40, Moves.TRICK ], - [ 44, Moves.PAIN_SPLIT ], - [ 48, Moves.PHANTOM_FORCE ], - ], - [Species.BERGMITE]: [ - [ 1, Moves.HARDEN ], - [ 1, Moves.RAPID_SPIN ], - [ 3, Moves.TACKLE ], - [ 6, Moves.POWDER_SNOW ], - [ 9, Moves.CURSE ], - [ 12, Moves.ICY_WIND ], - [ 15, Moves.PROTECT ], - [ 18, Moves.AVALANCHE ], - [ 21, Moves.BITE ], - [ 24, Moves.ICE_FANG ], - [ 27, Moves.IRON_DEFENSE ], - [ 30, Moves.RECOVER ], - [ 33, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 39, Moves.BLIZZARD ], - [ 42, Moves.DOUBLE_EDGE ], - ], - [Species.AVALUGG]: [ - [ EVOLVE_MOVE, Moves.BODY_SLAM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.WIDE_GUARD ], - [ 9, Moves.CURSE ], - [ 12, Moves.ICY_WIND ], - [ 15, Moves.PROTECT ], - [ 18, Moves.AVALANCHE ], - [ 21, Moves.BITE ], - [ 24, Moves.ICE_FANG ], - [ 27, Moves.IRON_DEFENSE ], - [ 30, Moves.RECOVER ], - [ 33, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 41, Moves.BLIZZARD ], - [ 46, Moves.DOUBLE_EDGE ], - [ 51, Moves.ICICLE_CRASH ], - ], - [Species.NOIBAT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ABSORB ], - [ 4, Moves.GUST ], - [ 8, Moves.SUPERSONIC ], - [ 12, Moves.DOUBLE_TEAM ], - [ 16, Moves.WING_ATTACK ], - [ 20, Moves.BITE ], - [ 24, Moves.AIR_CUTTER ], - [ 28, Moves.WHIRLWIND ], - [ 32, Moves.SUPER_FANG ], - [ 36, Moves.AIR_SLASH ], - [ 40, Moves.SCREECH ], - [ 44, Moves.ROOST ], - [ 49, Moves.TAILWIND ], - [ 52, Moves.HURRICANE ], - ], - [Species.NOIVERN]: [ - [ EVOLVE_MOVE, Moves.DRAGON_PULSE ], - [ 1, Moves.GUST ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.ABSORB ], - [ 1, Moves.MOONLIGHT ], - [ 12, Moves.DOUBLE_TEAM ], - [ 16, Moves.WING_ATTACK ], - [ 20, Moves.BITE ], - [ 24, Moves.AIR_CUTTER ], - [ 28, Moves.WHIRLWIND ], - [ 32, Moves.SUPER_FANG ], - [ 36, Moves.AIR_SLASH ], - [ 40, Moves.SCREECH ], - [ 44, Moves.ROOST ], - [ 51, Moves.TAILWIND ], - [ 56, Moves.HURRICANE ], - [ 62, Moves.BOOMBURST ], - ], - [Species.XERNEAS]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GRAVITY ], - [ 5, Moves.LIGHT_SCREEN ], - [ 10, Moves.AURORA_BEAM ], - [ 15, Moves.NATURE_POWER ], - [ 20, Moves.NIGHT_SLASH ], - [ 25, Moves.AROMATHERAPY ], - [ 30, Moves.PSYCH_UP ], - [ 35, Moves.HORN_LEECH ], - [ 40, Moves.MISTY_TERRAIN ], - [ 45, Moves.INGRAIN ], - [ 50, Moves.TAKE_DOWN ], - [ 55, Moves.GEOMANCY ], - [ 60, Moves.MOONBLAST ], - [ 65, Moves.HEAL_PULSE ], - [ 70, Moves.MEGAHORN ], - [ 75, Moves.CLOSE_COMBAT ], - [ 80, Moves.OUTRAGE ], - [ 85, Moves.GIGA_IMPACT ], - ], - [Species.YVELTAL]: [ - [ 1, Moves.GUST ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.RAZOR_WIND ], - [ 5, Moves.TAUNT ], - [ 10, Moves.SNARL ], - [ 15, Moves.DISABLE ], - [ 20, Moves.SUCKER_PUNCH ], - [ 25, Moves.TAILWIND ], - [ 30, Moves.ROOST ], - [ 35, Moves.AIR_SLASH ], - [ 40, Moves.DARK_PULSE ], - [ 45, Moves.PSYCHIC ], - [ 50, Moves.OBLIVION_WING ], - [ 55, Moves.PHANTOM_FORCE ], - [ 60, Moves.FOUL_PLAY ], - [ 65, Moves.DRAGON_RUSH ], - [ 70, Moves.HURRICANE ], - [ 75, Moves.FOCUS_BLAST ], - [ 80, Moves.SKY_ATTACK ], - [ 85, Moves.HYPER_BEAM ], - ], - [Species.ZYGARDE]: [ - [ 1, Moves.BIND ], - [ 1, Moves.BITE ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.BULLDOZE ], - [ 1, Moves.THOUSAND_ARROWS ], - [ 1, Moves.THOUSAND_WAVES ], - [ 1, Moves.CORE_ENFORCER ], - [ 8, Moves.HAZE ], - [ 16, Moves.DIG ], - [ 24, Moves.SAFEGUARD ], - [ 32, Moves.CRUNCH ], - [ 40, Moves.DRAGON_PULSE ], - [ 48, Moves.LANDS_WRATH ], - [ 56, Moves.GLARE ], - [ 64, Moves.SANDSTORM ], - [ 72, Moves.COIL ], - [ 80, Moves.EARTHQUAKE ], - [ 88, Moves.OUTRAGE ], - ], - [Species.DIANCIE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.DIAMOND_STORM ], - [ 7, Moves.GUARD_SPLIT ], - [ 14, Moves.SMACK_DOWN ], - [ 21, Moves.FLAIL ], - [ 28, Moves.ANCIENT_POWER ], - [ 35, Moves.ROCK_POLISH ], - [ 42, Moves.LIGHT_SCREEN ], - [ 49, Moves.ROCK_SLIDE ], - [ 56, Moves.SKILL_SWAP ], - [ 63, Moves.POWER_GEM ], - [ 70, Moves.STEALTH_ROCK ], - [ 77, Moves.MOONBLAST ], - [ 84, Moves.STONE_EDGE ], - ], - [Species.HOOPA]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.DESTINY_BOND ], - [ 1, Moves.ALLY_SWITCH ], - [ 6, Moves.ASTONISH ], - [ 10, Moves.TRICK ], - [ 15, Moves.LIGHT_SCREEN ], - [ 19, Moves.PSYBEAM ], - [ 25, Moves.SKILL_SWAP ], - [ 29, Moves.GUARD_SPLIT ], - [ 29, Moves.POWER_SPLIT ], - [ 35, Moves.PHANTOM_FORCE ], - [ 46, Moves.ZEN_HEADBUTT ], - [ 50, Moves.TRICK_ROOM ], - [ 50, Moves.WONDER_ROOM ], - [ 55, Moves.SHADOW_BALL ], - [ 68, Moves.NASTY_PLOT ], - [ 75, Moves.PSYCHIC ], - [ 85, Moves.HYPERSPACE_HOLE ], - ], - [Species.VOLCANION]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.FIRE_SPIN ], - [ 1, Moves.STEAM_ERUPTION ], - [ 6, Moves.LEER ], - [ 12, Moves.WEATHER_BALL ], - [ 18, Moves.FLAME_CHARGE ], - [ 24, Moves.WATER_PULSE ], - [ 30, Moves.SCARY_FACE ], - [ 36, Moves.INCINERATE ], - [ 42, Moves.STOMP ], - [ 48, Moves.SCALD ], - [ 54, Moves.TAKE_DOWN ], - [ 60, Moves.MIST ], - [ 60, Moves.HAZE ], - [ 66, Moves.HYDRO_PUMP ], - [ 78, Moves.FLARE_BLITZ ], - [ 84, Moves.OVERHEAT ], - [ 90, Moves.EXPLOSION ], - ], - [Species.ROWLET]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.LEAFAGE ], - [ 6, Moves.ASTONISH ], - [ 9, Moves.PECK ], - [ 12, Moves.SHADOW_SNEAK ], - [ 15, Moves.RAZOR_LEAF ], - [ 18, Moves.SYNTHESIS ], - [ 21, Moves.PLUCK ], - [ 24, Moves.NASTY_PLOT ], - [ 27, Moves.SUCKER_PUNCH ], - [ 30, Moves.LEAF_BLADE ], - [ 33, Moves.FEATHER_DANCE ], - [ 36, Moves.BRAVE_BIRD ], - ], - [Species.DARTRIX]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.LEAFAGE ], - [ 9, Moves.PECK ], - [ 12, Moves.SHADOW_SNEAK ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.SYNTHESIS ], - [ 25, Moves.PLUCK ], - [ 30, Moves.NASTY_PLOT ], - [ 35, Moves.SUCKER_PUNCH ], - [ 40, Moves.LEAF_BLADE ], - [ 45, Moves.FEATHER_DANCE ], - [ 50, Moves.BRAVE_BIRD ], - ], - [Species.DECIDUEYE]: [ - [ EVOLVE_MOVE, Moves.SPIRIT_SHACKLE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.SPITE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.U_TURN ], - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.PHANTOM_FORCE ], - [ 1, Moves.LEAFAGE ], - [ 9, Moves.PECK ], - [ 12, Moves.SHADOW_SNEAK ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.SYNTHESIS ], - [ 25, Moves.PLUCK ], - [ 30, Moves.NASTY_PLOT ], - [ 37, Moves.SUCKER_PUNCH ], - [ 44, Moves.LEAF_BLADE ], - [ 51, Moves.FEATHER_DANCE ], - [ 58, Moves.BRAVE_BIRD ], - ], - [Species.LITTEN]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 3, Moves.EMBER ], - [ 6, Moves.LICK ], - [ 9, Moves.ROAR ], - [ 12, Moves.FURY_SWIPES ], - [ 15, Moves.BITE ], - [ 18, Moves.DOUBLE_KICK ], - [ 21, Moves.FIRE_FANG ], - [ 24, Moves.SCARY_FACE ], - [ 27, Moves.SWAGGER ], - [ 30, Moves.FLAMETHROWER ], - [ 33, Moves.THRASH ], - [ 36, Moves.FLARE_BLITZ ], - ], - [Species.TORRACAT]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.LICK ], - [ 9, Moves.ROAR ], - [ 12, Moves.FURY_SWIPES ], - [ 15, Moves.BITE ], - [ 20, Moves.DOUBLE_KICK ], - [ 25, Moves.FIRE_FANG ], - [ 30, Moves.SCARY_FACE ], - [ 35, Moves.SWAGGER ], - [ 40, Moves.FLAMETHROWER ], - [ 45, Moves.THRASH ], - [ 50, Moves.FLARE_BLITZ ], - ], - [Species.INCINEROAR]: [ - [ EVOLVE_MOVE, Moves.DARKEST_LARIAT ], - [ RELEARN_MOVE, Moves.SCRATCH ], - [ RELEARN_MOVE, Moves.GROWL ], - [ RELEARN_MOVE, Moves.THROAT_CHOP ], - [ 1, Moves.EMBER ], - [ 1, Moves.LICK ], - [ 1, Moves.CROSS_CHOP ], - [ 1, Moves.BULK_UP ], - [ 9, Moves.ROAR ], - [ 12, Moves.FURY_SWIPES ], - [ 15, Moves.BITE ], - [ 20, Moves.DOUBLE_KICK ], - [ 25, Moves.FIRE_FANG ], - [ 30, Moves.SCARY_FACE ], - [ 32, Moves.SWAGGER ], - [ 44, Moves.FLAMETHROWER ], - [ 51, Moves.THRASH ], - [ 58, Moves.FLARE_BLITZ ], - ], - [Species.POPPLIO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 3, Moves.WATER_GUN ], - [ 6, Moves.DISARMING_VOICE ], - [ 9, Moves.AQUA_JET ], - [ 12, Moves.BABY_DOLL_EYES ], - [ 15, Moves.ICY_WIND ], - [ 18, Moves.SING ], - [ 21, Moves.BUBBLE_BEAM ], - [ 24, Moves.ENCORE ], - [ 27, Moves.MISTY_TERRAIN ], - [ 30, Moves.HYPER_VOICE ], - [ 33, Moves.MOONBLAST ], - [ 36, Moves.HYDRO_PUMP ], - ], - [Species.BRIONNE]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DISARMING_VOICE ], - [ 9, Moves.AQUA_JET ], - [ 12, Moves.BABY_DOLL_EYES ], - [ 15, Moves.ICY_WIND ], - [ 20, Moves.SING ], - [ 25, Moves.BUBBLE_BEAM ], - [ 30, Moves.ENCORE ], - [ 35, Moves.MISTY_TERRAIN ], - [ 40, Moves.HYPER_VOICE ], - [ 45, Moves.MOONBLAST ], - [ 50, Moves.HYDRO_PUMP ], - ], - [Species.PRIMARINA]: [ - [ EVOLVE_MOVE, Moves.SPARKLING_ARIA ], - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DISARMING_VOICE ], - [ 9, Moves.AQUA_JET ], - [ 12, Moves.BABY_DOLL_EYES ], - [ 15, Moves.ICY_WIND ], - [ 20, Moves.SING ], - [ 25, Moves.BUBBLE_BEAM ], - [ 30, Moves.ENCORE ], - [ 37, Moves.MISTY_TERRAIN ], - [ 44, Moves.HYPER_VOICE ], - [ 51, Moves.MOONBLAST ], - [ 58, Moves.HYDRO_PUMP ], - ], - [Species.PIKIPEK]: [ - [ 1, Moves.PECK ], - [ 3, Moves.GROWL ], - [ 7, Moves.ECHOED_VOICE ], - [ 9, Moves.ROCK_SMASH ], - [ 13, Moves.SUPERSONIC ], - [ 15, Moves.PLUCK ], - [ 19, Moves.ROOST ], - [ 21, Moves.FURY_ATTACK ], - [ 25, Moves.SCREECH ], - [ 27, Moves.DRILL_PECK ], - [ 31, Moves.BULLET_SEED ], - [ 33, Moves.FEATHER_DANCE ], - [ 37, Moves.HYPER_VOICE ], - ], - [Species.TRUMBEAK]: [ - [ RELEARN_MOVE, Moves.ECHOED_VOICE ], - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.ROCK_BLAST ], - [ 13, Moves.SUPERSONIC ], - [ 16, Moves.PLUCK ], - [ 21, Moves.ROOST ], - [ 24, Moves.FURY_ATTACK ], - [ 29, Moves.SCREECH ], - [ 32, Moves.DRILL_PECK ], - [ 37, Moves.BULLET_SEED ], - [ 40, Moves.FEATHER_DANCE ], - [ 45, Moves.HYPER_VOICE ], - ], - [Species.TOUCANNON]: [ - [ EVOLVE_MOVE, Moves.BEAK_BLAST ], - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.ROCK_BLAST ], - [ 1, Moves.ECHOED_VOICE ], - [ 13, Moves.SUPERSONIC ], - [ 16, Moves.PLUCK ], - [ 21, Moves.ROOST ], - [ 24, Moves.FURY_ATTACK ], - [ 30, Moves.SCREECH ], - [ 34, Moves.DRILL_PECK ], - [ 40, Moves.BULLET_SEED ], - [ 44, Moves.FEATHER_DANCE ], - [ 50, Moves.HYPER_VOICE ], - ], - [Species.YUNGOOS]: [ - [ 1, Moves.TACKLE ], - [ 3, Moves.LEER ], - [ 7, Moves.PAYBACK ], - [ 10, Moves.SAND_ATTACK ], - [ 13, Moves.WORK_UP ], - [ 19, Moves.BITE ], - [ 22, Moves.MUD_SLAP ], - [ 25, Moves.SUPER_FANG ], - [ 28, Moves.TAKE_DOWN ], - [ 31, Moves.SCARY_FACE ], - [ 34, Moves.CRUNCH ], - [ 37, Moves.YAWN ], - [ 40, Moves.THRASH ], - [ 43, Moves.REST ], - ], - [Species.GUMSHOOS]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.PAYBACK ], - [ 1, Moves.PURSUIT ], - [ 13, Moves.WORK_UP ], - [ 19, Moves.BITE ], - [ 23, Moves.MUD_SLAP ], - [ 27, Moves.SUPER_FANG ], - [ 31, Moves.TAKE_DOWN ], - [ 35, Moves.SCARY_FACE ], - [ 39, Moves.CRUNCH ], - [ 43, Moves.YAWN ], - [ 47, Moves.THRASH ], - [ 52, Moves.REST ], - ], - [Species.GRUBBIN]: [ - [ 1, Moves.VISE_GRIP ], - [ 1, Moves.MUD_SLAP ], - [ 5, Moves.STRING_SHOT ], - [ 10, Moves.BUG_BITE ], - [ 15, Moves.BITE ], - [ 21, Moves.SPARK ], - [ 25, Moves.STICKY_WEB ], - [ 30, Moves.X_SCISSOR ], - [ 35, Moves.CRUNCH ], - [ 40, Moves.DIG ], - ], - [Species.CHARJABUG]: [ - [ EVOLVE_MOVE, Moves.CHARGE ], - [ 1, Moves.VISE_GRIP ], - [ 1, Moves.STRING_SHOT ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.BUG_BITE ], - [ 15, Moves.BITE ], - [ 23, Moves.SPARK ], - [ 29, Moves.STICKY_WEB ], - [ 36, Moves.X_SCISSOR ], - [ 43, Moves.CRUNCH ], - [ 50, Moves.DIG ], - [ 57, Moves.IRON_DEFENSE ], - [ 64, Moves.DISCHARGE ], - ], - [Species.VIKAVOLT]: [ - [ EVOLVE_MOVE, Moves.THUNDERBOLT ], - [ RELEARN_MOVE, Moves.VISE_GRIP ], - [ RELEARN_MOVE, Moves.DIG ], - [ RELEARN_MOVE, Moves.MUD_SLAP ], - [ RELEARN_MOVE, Moves.IRON_DEFENSE ], - [ RELEARN_MOVE, Moves.X_SCISSOR ], - [ RELEARN_MOVE, Moves.BUG_BITE ], - [ 1, Moves.CHARGE ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.DISCHARGE ], - [ 1, Moves.STRING_SHOT ], - [ 15, Moves.BITE ], - [ 23, Moves.SPARK ], - [ 29, Moves.STICKY_WEB ], - [ 36, Moves.BUG_BUZZ ], - [ 43, Moves.GUILLOTINE ], - [ 50, Moves.FLY ], - [ 57, Moves.AGILITY ], - [ 64, Moves.ZAP_CANNON ], - ], - [Species.CRABRAWLER]: [ - [ 1, Moves.BUBBLE ], - [ 1, Moves.VISE_GRIP ], - [ 5, Moves.ROCK_SMASH ], - [ 9, Moves.LEER ], - [ 13, Moves.BUBBLE_BEAM ], - [ 17, Moves.PROTECT ], - [ 22, Moves.BRICK_BREAK ], - [ 25, Moves.SLAM ], - [ 29, Moves.PAYBACK ], - [ 33, Moves.REVERSAL ], - [ 37, Moves.CRABHAMMER ], - [ 42, Moves.IRON_DEFENSE ], - [ 45, Moves.DYNAMIC_PUNCH ], - [ 49, Moves.CLOSE_COMBAT ], - ], - [Species.CRABOMINABLE]: [ - [ EVOLVE_MOVE, Moves.ICE_PUNCH ], - [ RELEARN_MOVE, Moves.CRABHAMMER ], // Previous Stage Move - [ 1, Moves.VISE_GRIP ], // Previous Stage Move - [ 1, Moves.LEER ], - [ 1, Moves.PROTECT ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.BUBBLE ], - [ 1, Moves.PURSUIT ], - [ 1, Moves.PAYBACK ], // Previous Stage Move - [ 17, Moves.BUBBLE_BEAM ], - [ 22, Moves.BRICK_BREAK ], - [ 25, Moves.SLAM ], - [ 29, Moves.AVALANCHE ], - [ 33, Moves.REVERSAL ], - [ 37, Moves.ICE_HAMMER ], - [ 42, Moves.IRON_DEFENSE ], - [ 45, Moves.DYNAMIC_PUNCH ], - [ 49, Moves.CLOSE_COMBAT ], - ], - [Species.ORICORIO]: [ - [ 1, Moves.POUND ], - [ 4, Moves.GROWL ], - [ 6, Moves.PECK ], - [ 10, Moves.HELPING_HAND ], - [ 13, Moves.AIR_CUTTER ], - [ 16, Moves.BATON_PASS ], - [ 20, Moves.FEATHER_DANCE ], - [ 23, Moves.ACROBATICS ], - [ 26, Moves.TEETER_DANCE ], - [ 30, Moves.ROOST ], - [ 33, Moves.FLATTER ], - [ 36, Moves.AIR_SLASH ], - [ 40, Moves.REVELATION_DANCE ], - [ 43, Moves.AGILITY ], - [ 47, Moves.HURRICANE ], - ], - [Species.CUTIEFLY]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.FAIRY_WIND ], - [ 6, Moves.STUN_SPORE ], - [ 12, Moves.SWEET_SCENT ], - [ 18, Moves.DRAINING_KISS ], - [ 24, Moves.STRUGGLE_BUG ], - [ 30, Moves.COVET ], - [ 36, Moves.SWITCHEROO ], - [ 42, Moves.DAZZLING_GLEAM ], - [ 48, Moves.BUG_BUZZ ], - [ 54, Moves.QUIVER_DANCE ], - ], - [Species.RIBOMBEE]: [ - [ EVOLVE_MOVE, Moves.POLLEN_PUFF ], - [ 1, Moves.ABSORB ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.FAIRY_WIND ], - [ 18, Moves.DRAINING_KISS ], - [ 24, Moves.STRUGGLE_BUG ], - [ 32, Moves.COVET ], - [ 40, Moves.SWITCHEROO ], - [ 48, Moves.DAZZLING_GLEAM ], - [ 56, Moves.BUG_BUZZ ], - [ 64, Moves.QUIVER_DANCE ], - ], - [Species.ROCKRUFF]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 4, Moves.SAND_ATTACK ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ROCK_THROW ], - [ 16, Moves.HOWL ], - [ 20, Moves.BITE ], - [ 24, Moves.ROCK_TOMB ], - [ 28, Moves.ROAR ], - [ 32, Moves.ROCK_SLIDE ], - [ 36, Moves.CRUNCH ], - [ 40, Moves.SCARY_FACE ], - [ 44, Moves.STEALTH_ROCK ], - [ 48, Moves.STONE_EDGE ], - ], - [Species.LYCANROC]: [ - [ EVOLVE_MOVE, Moves.SUCKER_PUNCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.QUICK_GUARD ], - [ 1, Moves.ACCELEROCK ], - [ 12, Moves.ROCK_THROW ], - [ 16, Moves.HOWL ], - [ 20, Moves.BITE ], - [ 24, Moves.ROCK_TOMB ], - [ 30, Moves.ROAR ], - [ 36, Moves.ROCK_SLIDE ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.SCARY_FACE ], - [ 54, Moves.STEALTH_ROCK ], - [ 60, Moves.STONE_EDGE ], - ], - [Species.WISHIWASHI]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.HELPING_HAND ], - [ 8, Moves.BEAT_UP ], - [ 12, Moves.BRINE ], - [ 16, Moves.TEARFUL_LOOK ], - [ 20, Moves.DIVE ], - [ 24, Moves.SOAK ], - [ 28, Moves.UPROAR ], - [ 32, Moves.AQUA_TAIL ], - [ 36, Moves.AQUA_RING ], - [ 40, Moves.ENDEAVOR ], - [ 44, Moves.HYDRO_PUMP ], - [ 48, Moves.DOUBLE_EDGE ], - ], - [Species.MAREANIE]: [ - [ 1, Moves.POISON_STING ], - [ 1, Moves.PECK ], - [ 5, Moves.WIDE_GUARD ], - [ 10, Moves.BITE ], - [ 15, Moves.VENOSHOCK ], - [ 20, Moves.RECOVER ], - [ 25, Moves.PIN_MISSILE ], - [ 30, Moves.TOXIC_SPIKES ], - [ 35, Moves.LIQUIDATION ], - [ 40, Moves.ACID_SPRAY ], - [ 45, Moves.POISON_JAB ], - [ 50, Moves.TOXIC ], - ], - [Species.TOXAPEX]: [ - [ EVOLVE_MOVE, Moves.BANEFUL_BUNKER ], - [ 1, Moves.POISON_STING ], - [ 1, Moves.BITE ], - [ 1, Moves.PECK ], - [ 1, Moves.WIDE_GUARD ], - [ 15, Moves.VENOSHOCK ], - [ 20, Moves.RECOVER ], - [ 25, Moves.PIN_MISSILE ], - [ 30, Moves.TOXIC_SPIKES ], - [ 35, Moves.LIQUIDATION ], - [ 42, Moves.ACID_SPRAY ], - [ 49, Moves.POISON_JAB ], - [ 56, Moves.TOXIC ], - ], - [Species.MUDBRAY]: [ - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.ROCK_SMASH ], - [ 4, Moves.IRON_DEFENSE ], - [ 8, Moves.DOUBLE_KICK ], - [ 12, Moves.BULLDOZE ], - [ 16, Moves.STOMP ], - [ 20, Moves.STRENGTH ], - [ 24, Moves.COUNTER ], - [ 28, Moves.HIGH_HORSEPOWER ], - [ 32, Moves.HEAVY_SLAM ], - [ 36, Moves.EARTHQUAKE ], - [ 40, Moves.MEGA_KICK ], - [ 44, Moves.SUPERPOWER ], - ], - [Species.MUDSDALE]: [ - [ 1, Moves.DOUBLE_KICK ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.IRON_DEFENSE ], - [ 12, Moves.BULLDOZE ], - [ 16, Moves.STOMP ], - [ 20, Moves.STRENGTH ], - [ 24, Moves.COUNTER ], - [ 28, Moves.HIGH_HORSEPOWER ], - [ 34, Moves.HEAVY_SLAM ], - [ 40, Moves.EARTHQUAKE ], - [ 46, Moves.MEGA_KICK ], - [ 52, Moves.SUPERPOWER ], - ], - [Species.DEWPIDER]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.INFESTATION ], - [ 1, Moves.WATER_SPORT ], - [ 4, Moves.BUG_BITE ], - [ 8, Moves.BITE ], - [ 12, Moves.BUBBLE_BEAM ], - [ 16, Moves.AQUA_RING ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.CRUNCH ], - [ 28, Moves.SOAK ], - [ 32, Moves.ENTRAINMENT ], - [ 36, Moves.LUNGE ], - [ 40, Moves.LIQUIDATION ], - [ 44, Moves.LEECH_LIFE ], - [ 48, Moves.MIRROR_COAT ], - ], - [Species.ARAQUANID]: [ - [ 1, Moves.BITE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.WIDE_GUARD ], - [ 1, Moves.INFESTATION ], - [ 1, Moves.WATER_SPORT ], // Previous Stage Move - [ 1, Moves.SPIDER_WEB ], - [ 12, Moves.BUBBLE_BEAM ], - [ 16, Moves.AQUA_RING ], - [ 20, Moves.HEADBUTT ], - [ 26, Moves.CRUNCH ], - [ 32, Moves.SOAK ], - [ 38, Moves.ENTRAINMENT ], - [ 44, Moves.LUNGE ], - [ 50, Moves.LIQUIDATION ], - [ 56, Moves.LEECH_LIFE ], - [ 62, Moves.MIRROR_COAT ], - ], - [Species.FOMANTIS]: [ - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.LEAFAGE ], - [ 5, Moves.GROWTH ], - [ 10, Moves.INGRAIN ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.SWEET_SCENT ], - [ 25, Moves.SLASH ], - [ 30, Moves.X_SCISSOR ], - [ 35, Moves.SYNTHESIS ], - [ 40, Moves.LEAF_BLADE ], - [ 45, Moves.SUNNY_DAY ], - [ 50, Moves.SOLAR_BEAM ], - ], - [Species.LURANTIS]: [ - [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ], - [ 1, Moves.GROWTH ], - [ 1, Moves.SOLAR_BEAM ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.INGRAIN ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.LEAFAGE ], - [ 1, Moves.DUAL_CHOP ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.SWEET_SCENT ], - [ 25, Moves.SLASH ], - [ 30, Moves.X_SCISSOR ], - [ 37, Moves.SYNTHESIS ], - [ 44, Moves.LEAF_BLADE ], - [ 51, Moves.SUNNY_DAY ], - [ 63, Moves.SOLAR_BLADE ], - ], - [Species.MORELULL]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.CONFUSE_RAY ], - [ 8, Moves.INGRAIN ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.SLEEP_POWDER ], - [ 20, Moves.MOONLIGHT ], - [ 25, Moves.STRENGTH_SAP ], - [ 28, Moves.GIGA_DRAIN ], - [ 32, Moves.DAZZLING_GLEAM ], - [ 36, Moves.SPORE ], - [ 40, Moves.MOONBLAST ], - [ 44, Moves.DREAM_EATER ], - ], - [Species.SHIINOTIC]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.INGRAIN ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.FLASH ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.SLEEP_POWDER ], - [ 20, Moves.MOONLIGHT ], - [ 27, Moves.STRENGTH_SAP ], - [ 32, Moves.GIGA_DRAIN ], - [ 38, Moves.DAZZLING_GLEAM ], - [ 44, Moves.SPORE ], - [ 50, Moves.MOONBLAST ], - [ 56, Moves.DREAM_EATER ], - ], - [Species.SALANDIT]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.POISON_GAS ], - [ 5, Moves.SMOG ], - [ 10, Moves.EMBER ], - [ 15, Moves.POISON_FANG ], - [ 20, Moves.SWEET_SCENT ], - [ 25, Moves.NASTY_PLOT ], - [ 30, Moves.INCINERATE ], - [ 35, Moves.VENOSHOCK ], - [ 40, Moves.DRAGON_PULSE ], - [ 45, Moves.FLAMETHROWER ], - [ 50, Moves.TOXIC ], - [ 55, Moves.ENDEAVOR ], - ], - [Species.SALAZZLE]: [ - [ EVOLVE_MOVE, Moves.FIRE_LASH ], - [ 1, Moves.POUND ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.DISABLE ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOG ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.SWAGGER ], - [ 1, Moves.ENCORE ], - [ 1, Moves.TORMENT ], - [ 1, Moves.KNOCK_OFF ], - [ 1, Moves.ENDEAVOR ], - [ 1, Moves.CAPTIVATE ], - [ 15, Moves.POISON_FANG ], - [ 20, Moves.SWEET_SCENT ], - [ 25, Moves.NASTY_PLOT ], - [ 30, Moves.INCINERATE ], - [ 37, Moves.VENOSHOCK ], - [ 44, Moves.DRAGON_PULSE ], - [ 51, Moves.FLAMETHROWER ], - [ 58, Moves.TOXIC ], - ], - [Species.STUFFUL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 4, Moves.BABY_DOLL_EYES ], - [ 8, Moves.PAYBACK ], - [ 12, Moves.BRUTAL_SWING ], - [ 16, Moves.ENDURE ], - [ 20, Moves.STRENGTH ], - [ 24, Moves.TAKE_DOWN ], - [ 28, Moves.FLAIL ], - [ 32, Moves.HAMMER_ARM ], - [ 36, Moves.THRASH ], - [ 40, Moves.PAIN_SPLIT ], - [ 44, Moves.DOUBLE_EDGE ], - [ 48, Moves.SUPERPOWER ], - ], - [Species.BEWEAR]: [ - [ EVOLVE_MOVE, Moves.BIND ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.PAYBACK ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 12, Moves.BRUTAL_SWING ], - [ 16, Moves.ENDURE ], - [ 20, Moves.STRENGTH ], - [ 24, Moves.TAKE_DOWN ], - [ 30, Moves.FLAIL ], - [ 36, Moves.HAMMER_ARM ], - [ 42, Moves.THRASH ], - [ 48, Moves.PAIN_SPLIT ], - [ 54, Moves.DOUBLE_EDGE ], - [ 60, Moves.SUPERPOWER ], - ], - [Species.BOUNSWEET]: [ - [ 1, Moves.SPLASH ], - [ 1, Moves.LEAFAGE ], // Custom - [ 4, Moves.PLAY_NICE ], - [ 8, Moves.RAPID_SPIN ], - [ 12, Moves.RAZOR_LEAF ], - [ 16, Moves.SWEET_SCENT ], - [ 20, Moves.MAGICAL_LEAF ], - [ 24, Moves.FLAIL ], - [ 28, Moves.TEETER_DANCE ], - [ 32, Moves.AROMATIC_MIST ], - ], - [Species.STEENEE]: [ - [ 1, Moves.LEAFAGE ], // Previous Stage Move, Custom - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.SPLASH ], - [ 1, Moves.FLAIL ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.PLAY_NICE ], - [ 16, Moves.SWEET_SCENT ], - [ 22, Moves.MAGICAL_LEAF ], - [ 28, Moves.STOMP ], - [ 34, Moves.TEETER_DANCE ], - [ 40, Moves.AROMATIC_MIST ], - [ 46, Moves.LEAF_STORM ], - ], - [Species.TSAREENA]: [ - [ EVOLVE_MOVE, Moves.TROP_KICK ], - [ 1, Moves.LEAFAGE ], // Previous Stage Move, Custom - [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.SPLASH ], - [ 1, Moves.FLAIL ], - [ 1, Moves.SWAGGER ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.POWER_WHIP ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.PUNISHMENT ], - [ 16, Moves.SWEET_SCENT ], - [ 22, Moves.MAGICAL_LEAF ], - [ 28, Moves.STOMP ], - [ 34, Moves.TEETER_DANCE ], - [ 40, Moves.AROMATIC_MIST ], - [ 46, Moves.LEAF_STORM ], - [ 58, Moves.HIGH_JUMP_KICK ], - ], - [Species.COMFEY]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.GROWTH ], - [ 3, Moves.VINE_WHIP ], - [ 6, Moves.HELPING_HAND ], - [ 9, Moves.DRAINING_KISS ], - [ 12, Moves.FLOWER_SHIELD ], - [ 15, Moves.MAGICAL_LEAF ], - [ 18, Moves.SYNTHESIS ], - [ 21, Moves.LEECH_SEED ], - [ 24, Moves.GRASS_KNOT ], - [ 27, Moves.SWEET_KISS ], - [ 30, Moves.FLORAL_HEALING ], - [ 33, Moves.PETAL_BLIZZARD ], - [ 36, Moves.AROMATHERAPY ], - [ 39, Moves.PLAY_ROUGH ], - [ 42, Moves.SWEET_SCENT ], - [ 45, Moves.PETAL_DANCE ], - [ 48, Moves.GRASSY_TERRAIN ], - ], - [Species.ORANGURU]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.TAUNT ], - [ 5, Moves.AFTER_YOU ], - [ 10, Moves.CALM_MIND ], - [ 15, Moves.STORED_POWER ], - [ 20, Moves.PSYCH_UP ], - [ 25, Moves.QUASH ], - [ 30, Moves.NASTY_PLOT ], - [ 35, Moves.ZEN_HEADBUTT ], - [ 40, Moves.TRICK_ROOM ], - [ 45, Moves.PSYCHIC ], - [ 50, Moves.INSTRUCT ], - [ 55, Moves.FOUL_PLAY ], - [ 60, Moves.FUTURE_SIGHT ], - ], - [Species.PASSIMIAN]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 5, Moves.ROCK_SMASH ], - [ 10, Moves.FOCUS_ENERGY ], - [ 15, Moves.BEAT_UP ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.TAKE_DOWN ], - [ 30, Moves.FLING ], - [ 35, Moves.BULK_UP ], - [ 40, Moves.THRASH ], - [ 45, Moves.DOUBLE_EDGE ], - [ 50, Moves.CLOSE_COMBAT ], - [ 55, Moves.REVERSAL ], - [ 60, Moves.GIGA_IMPACT ], - ], - [Species.WIMPOD]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.STRUGGLE_BUG ], - ], - [Species.GOLISOPOD]: [ - [ EVOLVE_MOVE, Moves.FIRST_IMPRESSION ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.SPITE ], - [ 1, Moves.STRUGGLE_BUG ], - [ 4, Moves.ROCK_SMASH ], - [ 8, Moves.FURY_CUTTER ], - [ 12, Moves.MUD_SHOT ], - [ 16, Moves.BUG_BITE ], - [ 20, Moves.IRON_DEFENSE ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.SLASH ], - [ 32, Moves.RAZOR_SHELL ], - [ 36, Moves.PIN_MISSILE ], - [ 40, Moves.SWORDS_DANCE ], - [ 44, Moves.LIQUIDATION ], - ], - [Species.SANDYGAST]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.HARDEN ], - [ 5, Moves.ASTONISH ], - [ 10, Moves.SAND_TOMB ], - [ 15, Moves.MEGA_DRAIN ], - [ 20, Moves.SAND_ATTACK ], - [ 25, Moves.BULLDOZE ], - [ 30, Moves.HYPNOSIS ], - [ 35, Moves.GIGA_DRAIN ], - [ 40, Moves.IRON_DEFENSE ], - [ 45, Moves.SHADOW_BALL ], - [ 50, Moves.EARTH_POWER ], - [ 55, Moves.SHORE_UP ], - [ 60, Moves.SANDSTORM ], - ], - [Species.PALOSSAND]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.HARDEN ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.SAND_TOMB ], - [ 15, Moves.MEGA_DRAIN ], - [ 20, Moves.SAND_ATTACK ], - [ 25, Moves.BULLDOZE ], - [ 30, Moves.HYPNOSIS ], - [ 35, Moves.GIGA_DRAIN ], - [ 40, Moves.IRON_DEFENSE ], - [ 47, Moves.SHADOW_BALL ], - [ 54, Moves.EARTH_POWER ], - [ 61, Moves.SHORE_UP ], - [ 68, Moves.SANDSTORM ], - ], - [Species.PYUKUMUKU]: [ - [ 1, Moves.COUNTER ], // Custom, Moved from Level 20 to 1 - [ 1, Moves.HARDEN ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.BIDE ], - [ 1, Moves.MUD_SPORT ], - [ 1, Moves.WATER_SPORT ], - [ 5, Moves.HELPING_HAND ], - [ 10, Moves.TAUNT ], - [ 15, Moves.SAFEGUARD ], - [ 20, Moves.MIRROR_COAT ], // Custom - [ 25, Moves.PURIFY ], - [ 30, Moves.CURSE ], - [ 35, Moves.GASTRO_ACID ], - [ 40, Moves.PAIN_SPLIT ], - [ 45, Moves.RECOVER ], - [ 50, Moves.SOAK ], - [ 55, Moves.TOXIC ], - [ 60, Moves.MEMENTO ], - ], - [Species.TYPE_NULL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.IMPRISON ], - [ 5, Moves.AERIAL_ACE ], - [ 10, Moves.SCARY_FACE ], - [ 15, Moves.DOUBLE_HIT ], - [ 20, Moves.METAL_SOUND ], - [ 25, Moves.CRUSH_CLAW ], - [ 30, Moves.AIR_SLASH ], - [ 35, Moves.TRI_ATTACK ], - [ 40, Moves.X_SCISSOR ], - [ 45, Moves.IRON_HEAD ], - [ 50, Moves.TAKE_DOWN ], - [ 55, Moves.DOUBLE_EDGE ], - [ 60, Moves.HEAL_BLOCK ], - ], - [Species.SILVALLY]: [ - [ EVOLVE_MOVE, Moves.MULTI_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.EXPLOSION ], - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.IMPRISON ], - [ 1, Moves.POISON_FANG ], - [ 1, Moves.AERIAL_ACE ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.IRON_HEAD ], - [ 1, Moves.HEAL_BLOCK ], - [ 15, Moves.DOUBLE_HIT ], - [ 20, Moves.METAL_SOUND ], - [ 25, Moves.CRUSH_CLAW ], - [ 30, Moves.AIR_SLASH ], - [ 35, Moves.TRI_ATTACK ], - [ 40, Moves.X_SCISSOR ], - [ 45, Moves.CRUNCH ], - [ 50, Moves.TAKE_DOWN ], - [ 55, Moves.DOUBLE_EDGE ], - [ 60, Moves.PARTING_SHOT ], - ], - [Species.MINIOR]: [ - [ 1, Moves.TACKLE ], - [ 3, Moves.DEFENSE_CURL ], - [ 8, Moves.ROLLOUT ], - [ 10, Moves.CONFUSE_RAY ], - [ 15, Moves.SWIFT ], - [ 17, Moves.ANCIENT_POWER ], - [ 22, Moves.SELF_DESTRUCT ], - [ 24, Moves.STEALTH_ROCK ], - [ 29, Moves.TAKE_DOWN ], - [ 31, Moves.AUTOTOMIZE ], - [ 36, Moves.COSMIC_POWER ], - [ 38, Moves.POWER_GEM ], - [ 43, Moves.DOUBLE_EDGE ], - [ 45, Moves.SHELL_SMASH ], - [ 50, Moves.EXPLOSION ], - ], - [Species.KOMALA]: [ - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], - [ 6, Moves.STOCKPILE ], - [ 6, Moves.SPIT_UP ], - [ 6, Moves.SWALLOW ], - [ 11, Moves.RAPID_SPIN ], - [ 16, Moves.YAWN ], - [ 21, Moves.SLAM ], - [ 26, Moves.FLAIL ], - [ 31, Moves.SUCKER_PUNCH ], - [ 36, Moves.PSYCH_UP ], - [ 41, Moves.WOOD_HAMMER ], - [ 46, Moves.THRASH ], - ], - [Species.TURTONATOR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SMOG ], - [ 4, Moves.EMBER ], - [ 8, Moves.PROTECT ], - [ 12, Moves.ENDURE ], - [ 16, Moves.FLAIL ], - [ 20, Moves.INCINERATE ], - [ 24, Moves.IRON_DEFENSE ], - [ 28, Moves.DRAGON_PULSE ], - [ 32, Moves.BODY_SLAM ], - [ 36, Moves.FLAMETHROWER ], - [ 40, Moves.SHELL_TRAP ], - [ 44, Moves.SHELL_SMASH ], - [ 48, Moves.OVERHEAT ], - [ 52, Moves.EXPLOSION ], - ], - [Species.TOGEDEMARU]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.NUZZLE ], - [ 5, Moves.DEFENSE_CURL ], - [ 10, Moves.CHARGE ], - [ 15, Moves.THUNDER_SHOCK ], - [ 20, Moves.FELL_STINGER ], - [ 25, Moves.SPARK ], - [ 30, Moves.PIN_MISSILE ], - [ 35, Moves.MAGNET_RISE ], - [ 40, Moves.ZING_ZAP ], - [ 45, Moves.DISCHARGE ], - [ 50, Moves.ELECTRIC_TERRAIN ], - [ 55, Moves.WILD_CHARGE ], - [ 60, Moves.SPIKY_SHIELD ], - ], - [Species.MIMIKYU]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.SPLASH ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.WOOD_HAMMER ], - [ 6, Moves.SHADOW_SNEAK ], - [ 12, Moves.DOUBLE_TEAM ], - [ 18, Moves.BABY_DOLL_EYES ], - [ 24, Moves.MIMIC ], - [ 30, Moves.HONE_CLAWS ], - [ 36, Moves.SLASH ], - [ 42, Moves.SHADOW_CLAW ], - [ 48, Moves.CHARM ], - [ 54, Moves.PLAY_ROUGH ], - [ 60, Moves.PAIN_SPLIT ], - ], - [Species.BRUXISH]: [ - [ 1, Moves.WATER_GUN ], - [ 4, Moves.ASTONISH ], - [ 9, Moves.CONFUSION ], - [ 12, Moves.BITE ], - [ 17, Moves.AQUA_JET ], - [ 20, Moves.DISABLE ], - [ 25, Moves.PSYSHOCK ], - [ 28, Moves.CRUNCH ], - [ 33, Moves.AQUA_TAIL ], - [ 36, Moves.SCREECH ], - [ 41, Moves.PSYCHIC_FANGS ], - [ 44, Moves.WAVE_CRASH ], - ], - [Species.DRAMPA]: [ - [ 1, Moves.ECHOED_VOICE ], - [ 1, Moves.PLAY_NICE ], - [ 5, Moves.TWISTER ], - [ 10, Moves.PROTECT ], - [ 15, Moves.GLARE ], - [ 20, Moves.SAFEGUARD ], - [ 25, Moves.DRAGON_BREATH ], - [ 30, Moves.EXTRASENSORY ], - [ 35, Moves.DRAGON_PULSE ], - [ 40, Moves.LIGHT_SCREEN ], - [ 45, Moves.FLY ], - [ 50, Moves.HYPER_VOICE ], - [ 55, Moves.OUTRAGE ], - ], - [Species.DHELMISE]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.RAPID_SPIN ], - [ 4, Moves.ASTONISH ], - [ 8, Moves.WRAP ], - [ 12, Moves.MEGA_DRAIN ], - [ 16, Moves.GROWTH ], - [ 20, Moves.GYRO_BALL ], - [ 24, Moves.SWITCHEROO ], - [ 28, Moves.GIGA_DRAIN ], - [ 32, Moves.WHIRLPOOL ], - [ 36, Moves.HEAVY_SLAM ], - [ 40, Moves.SLAM ], - [ 44, Moves.SHADOW_BALL ], - [ 48, Moves.METAL_SOUND ], - [ 52, Moves.ANCHOR_SHOT ], - [ 56, Moves.ENERGY_BALL ], - [ 60, Moves.PHANTOM_FORCE ], - [ 64, Moves.POWER_WHIP ], - ], - [Species.JANGMO_O]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 4, Moves.PROTECT ], - [ 8, Moves.DRAGON_TAIL ], - [ 12, Moves.SCARY_FACE ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.WORK_UP ], - [ 24, Moves.SCREECH ], - [ 28, Moves.IRON_DEFENSE ], - [ 32, Moves.DRAGON_CLAW ], - [ 36, Moves.NOBLE_ROAR ], - [ 40, Moves.DRAGON_DANCE ], - [ 44, Moves.OUTRAGE ], - ], - [Species.HAKAMO_O]: [ - [ EVOLVE_MOVE, Moves.SKY_UPPERCUT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.PROTECT ], - [ 1, Moves.DRAGON_TAIL ], - [ 1, Moves.BIDE ], - [ 12, Moves.SCARY_FACE ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.WORK_UP ], - [ 24, Moves.SCREECH ], - [ 28, Moves.IRON_DEFENSE ], - [ 32, Moves.DRAGON_CLAW ], - [ 38, Moves.NOBLE_ROAR ], - [ 44, Moves.DRAGON_DANCE ], - [ 50, Moves.OUTRAGE ], - [ 56, Moves.CLOSE_COMBAT ], - ], - [Species.KOMMO_O]: [ - [ EVOLVE_MOVE, Moves.CLANGING_SCALES ], - [ RELEARN_MOVE, Moves.BELLY_DRUM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.PROTECT ], - [ 1, Moves.DRAGON_TAIL ], - [ 1, Moves.BIDE ], - [ 1, Moves.SKY_UPPERCUT ], - [ 12, Moves.SCARY_FACE ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.WORK_UP ], - [ 24, Moves.SCREECH ], - [ 28, Moves.IRON_DEFENSE ], - [ 32, Moves.DRAGON_CLAW ], - [ 38, Moves.NOBLE_ROAR ], - [ 44, Moves.DRAGON_DANCE ], - [ 52, Moves.OUTRAGE ], - [ 60, Moves.CLOSE_COMBAT ], - [ 68, Moves.CLANGOROUS_SOUL ], - [ 76, Moves.BOOMBURST ], - ], - [Species.TAPU_KOKO]: [ - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 5, Moves.WITHDRAW ], - [ 10, Moves.FAIRY_WIND ], - [ 15, Moves.FALSE_SWIPE ], - [ 20, Moves.SPARK ], - [ 25, Moves.SHOCK_WAVE ], - [ 30, Moves.CHARGE ], - [ 35, Moves.AGILITY ], - [ 40, Moves.SCREECH ], - [ 45, Moves.DISCHARGE ], - [ 50, Moves.MEAN_LOOK ], - [ 55, Moves.NATURES_MADNESS ], - [ 60, Moves.WILD_CHARGE ], - [ 65, Moves.BRAVE_BIRD ], - [ 70, Moves.POWER_SWAP ], - [ 75, Moves.ELECTRIC_TERRAIN ], - ], - [Species.TAPU_LELE]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.WITHDRAW ], - [ 10, Moves.AROMATHERAPY ], - [ 15, Moves.DRAINING_KISS ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.FLATTER ], - [ 30, Moves.AROMATIC_MIST ], - [ 35, Moves.SWEET_SCENT ], - [ 40, Moves.EXTRASENSORY ], - [ 45, Moves.PSYSHOCK ], - [ 50, Moves.MEAN_LOOK ], - [ 55, Moves.NATURES_MADNESS ], - [ 60, Moves.MOONBLAST ], - [ 65, Moves.TICKLE ], - [ 70, Moves.SKILL_SWAP ], - [ 75, Moves.PSYCHIC_TERRAIN ], - ], - [Species.TAPU_BULU]: [ - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.LEAFAGE ], - [ 5, Moves.WITHDRAW ], - [ 10, Moves.DISABLE ], - [ 15, Moves.LEECH_SEED ], - [ 20, Moves.MEGA_DRAIN ], - [ 25, Moves.WHIRLWIND ], - [ 30, Moves.HORN_ATTACK ], - [ 35, Moves.SCARY_FACE ], - [ 40, Moves.HORN_LEECH ], - [ 45, Moves.ZEN_HEADBUTT ], - [ 50, Moves.MEAN_LOOK ], - [ 55, Moves.NATURES_MADNESS ], - [ 60, Moves.WOOD_HAMMER ], - [ 65, Moves.MEGAHORN ], - [ 70, Moves.SKULL_BASH ], - [ 75, Moves.GRASSY_TERRAIN ], - ], - [Species.TAPU_FINI]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DISARMING_VOICE ], - [ 5, Moves.WITHDRAW ], - [ 10, Moves.MIST ], - [ 10, Moves.HAZE ], - [ 15, Moves.AQUA_RING ], - [ 20, Moves.WATER_PULSE ], - [ 25, Moves.BRINE ], - [ 30, Moves.DEFOG ], - [ 35, Moves.HEAL_PULSE ], - [ 40, Moves.SURF ], - [ 45, Moves.MUDDY_WATER ], - [ 50, Moves.MEAN_LOOK ], - [ 55, Moves.NATURES_MADNESS ], - [ 60, Moves.MOONBLAST ], - [ 65, Moves.HYDRO_PUMP ], - [ 70, Moves.SOAK ], - [ 75, Moves.MISTY_TERRAIN ], - ], - [Species.COSMOG]: [ - [ 1, Moves.TELEPORT ], - [ 1, Moves.SPLASH ], - [ 1, Moves.STORED_POWER ], // Custom - ], - [Species.COSMOEM]: [ - [ EVOLVE_MOVE, Moves.COSMIC_POWER ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.SPLASH ], // Previous Stage Move - [ 1, Moves.STORED_POWER ], // Previous Stage Move, Custom - ], - [Species.SOLGALEO]: [ - [ EVOLVE_MOVE, Moves.SUNSTEEL_STRIKE ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.SPLASH ], // Previous Stage Move - [ 1, Moves.STORED_POWER ], // Previous Stage Move, Custom - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.COSMIC_POWER ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.WAKE_UP_SLAP ], - [ 7, Moves.IRON_HEAD ], - [ 14, Moves.METAL_SOUND ], - [ 21, Moves.ZEN_HEADBUTT ], - [ 28, Moves.FLASH_CANNON ], - [ 35, Moves.MORNING_SUN ], - [ 42, Moves.CRUNCH ], - [ 49, Moves.METAL_BURST ], - [ 56, Moves.WILD_CHARGE ], - [ 63, Moves.SOLAR_BEAM ], - [ 70, Moves.FLARE_BLITZ ], - [ 77, Moves.WIDE_GUARD ], - [ 84, Moves.GIGA_IMPACT ], - ], - [Species.LUNALA]: [ - [ EVOLVE_MOVE, Moves.MOONGEIST_BEAM ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.TELEPORT ], - [ 1, Moves.SPLASH ], // Previous Stage Move - [ 1, Moves.STORED_POWER ], // Previous Stage Move, Custom - [ 1, Moves.COSMIC_POWER ], - [ 7, Moves.NIGHT_SHADE ], - [ 14, Moves.CONFUSE_RAY ], - [ 21, Moves.AIR_SLASH ], - [ 28, Moves.SHADOW_BALL ], - [ 35, Moves.MOONLIGHT ], - [ 42, Moves.NIGHT_DAZE ], - [ 49, Moves.MAGIC_COAT ], - [ 56, Moves.MOONBLAST ], - [ 63, Moves.PHANTOM_FORCE ], - [ 70, Moves.DREAM_EATER ], - [ 77, Moves.WIDE_GUARD ], - [ 84, Moves.HYPER_BEAM ], - ], - [Species.NIHILEGO]: [ - [ 1, Moves.POUND ], - [ 1, Moves.WRAP ], - [ 1, Moves.CONSTRICT ], - [ 5, Moves.ACID ], - [ 10, Moves.TICKLE ], - [ 15, Moves.ACID_SPRAY ], - [ 20, Moves.CLEAR_SMOG ], - [ 25, Moves.GUARD_SPLIT ], - [ 25, Moves.POWER_SPLIT ], - [ 30, Moves.VENOSHOCK ], - [ 35, Moves.HEADBUTT ], - [ 40, Moves.TOXIC_SPIKES ], - [ 45, Moves.VENOM_DRENCH ], - [ 50, Moves.POWER_GEM ], - [ 55, Moves.STEALTH_ROCK ], - [ 60, Moves.MIRROR_COAT ], - [ 65, Moves.WONDER_ROOM ], - [ 70, Moves.HEAD_SMASH ], - ], - [Species.BUZZWOLE]: [ - [ 1, Moves.HARDEN ], - [ 1, Moves.POWER_UP_PUNCH ], - [ 5, Moves.TAUNT ], - [ 10, Moves.FELL_STINGER ], - [ 15, Moves.VITAL_THROW ], - [ 20, Moves.BULK_UP ], - [ 25, Moves.ENDURE ], - [ 30, Moves.REVERSAL ], - [ 35, Moves.MEGA_PUNCH ], - [ 40, Moves.LUNGE ], - [ 45, Moves.FOCUS_ENERGY ], - [ 50, Moves.DYNAMIC_PUNCH ], - [ 55, Moves.COUNTER ], - [ 60, Moves.HAMMER_ARM ], - [ 65, Moves.SUPERPOWER ], - [ 70, Moves.FOCUS_PUNCH ], - ], - [Species.PHEROMOSA]: [ - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.FEINT ], - [ 5, Moves.LEER ], - [ 10, Moves.QUICK_GUARD ], - [ 15, Moves.BUG_BITE ], - [ 20, Moves.LOW_KICK ], - [ 25, Moves.DOUBLE_KICK ], - [ 30, Moves.TRIPLE_KICK ], - [ 35, Moves.STOMP ], - [ 40, Moves.AGILITY ], - [ 45, Moves.LUNGE ], - [ 50, Moves.BOUNCE ], - [ 55, Moves.SPEED_SWAP ], - [ 60, Moves.BUG_BUZZ ], - [ 65, Moves.QUIVER_DANCE ], - [ 70, Moves.HIGH_JUMP_KICK ], - ], - [Species.XURKITREE]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.THUNDER_SHOCK ], - [ 5, Moves.CHARGE ], - [ 10, Moves.THUNDER_WAVE ], - [ 15, Moves.INGRAIN ], - [ 20, Moves.SPARK ], - [ 25, Moves.SHOCK_WAVE ], - [ 30, Moves.HYPNOSIS ], - [ 35, Moves.EERIE_IMPULSE ], - [ 40, Moves.THUNDER_PUNCH ], - [ 45, Moves.DISCHARGE ], - [ 50, Moves.MAGNET_RISE ], - [ 55, Moves.THUNDERBOLT ], - [ 60, Moves.ELECTRIC_TERRAIN ], - [ 65, Moves.POWER_WHIP ], - [ 70, Moves.ZAP_CANNON ], - ], - [Species.CELESTEELA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ABSORB ], - [ 5, Moves.HARDEN ], - [ 10, Moves.WIDE_GUARD ], - [ 15, Moves.MEGA_DRAIN ], - [ 20, Moves.SMACK_DOWN ], - [ 25, Moves.INGRAIN ], - [ 30, Moves.AUTOTOMIZE ], - [ 35, Moves.GIGA_DRAIN ], - [ 40, Moves.FLASH_CANNON ], - [ 45, Moves.METAL_SOUND ], - [ 50, Moves.IRON_DEFENSE ], - [ 55, Moves.LEECH_SEED ], - [ 60, Moves.HEAVY_SLAM ], - [ 65, Moves.DOUBLE_EDGE ], - [ 70, Moves.SKULL_BASH ], - ], - [Species.KARTANA]: [ - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.VACUUM_WAVE ], - [ 5, Moves.RAZOR_LEAF ], - [ 10, Moves.FALSE_SWIPE ], - [ 15, Moves.CUT ], - [ 20, Moves.AIR_CUTTER ], - [ 25, Moves.AERIAL_ACE ], - [ 30, Moves.DETECT ], - [ 35, Moves.NIGHT_SLASH ], - [ 40, Moves.SYNTHESIS ], - [ 45, Moves.LASER_FOCUS ], - [ 50, Moves.DEFOG ], - [ 55, Moves.LEAF_BLADE ], - [ 60, Moves.SACRED_SWORD ], - [ 65, Moves.SWORDS_DANCE ], - [ 70, Moves.GUILLOTINE ], - ], - [Species.GUZZLORD]: [ - [ 1, Moves.BITE ], - [ 1, Moves.DRAGON_TAIL ], - [ 5, Moves.STOCKPILE ], - [ 5, Moves.SWALLOW ], - [ 10, Moves.KNOCK_OFF ], - [ 15, Moves.STOMP ], - [ 20, Moves.STOMPING_TANTRUM ], - [ 25, Moves.WIDE_GUARD ], - [ 30, Moves.CRUNCH ], - [ 35, Moves.BODY_SLAM ], - [ 40, Moves.GASTRO_ACID ], - [ 45, Moves.HAMMER_ARM ], - [ 50, Moves.HEAVY_SLAM ], - [ 55, Moves.DRAGON_RUSH ], - [ 60, Moves.BELCH ], - [ 65, Moves.THRASH ], - [ 70, Moves.GIGA_IMPACT ], - ], - [Species.NECROZMA]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.MORNING_SUN ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.GRAVITY ], - [ 1, Moves.CHARGE_BEAM ], - [ 1, Moves.MIRROR_SHOT ], - [ 8, Moves.STEALTH_ROCK ], - [ 16, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 32, Moves.PSYCHO_CUT ], - [ 40, Moves.STORED_POWER ], - [ 48, Moves.ROCK_BLAST ], - [ 56, Moves.IRON_DEFENSE ], - [ 64, Moves.POWER_GEM ], - [ 72, Moves.PHOTON_GEYSER ], - [ 80, Moves.AUTOTOMIZE ], - [ 88, Moves.PRISMATIC_LASER ], - ], - [Species.MAGEARNA]: [ - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.GYRO_BALL ], - [ 1, Moves.DISARMING_VOICE ], // Custom - [ 1, Moves.CRAFTY_SHIELD ], - [ 1, Moves.GEAR_UP ], - [ 6, Moves.DEFENSE_CURL ], - [ 12, Moves.ROLLOUT ], - [ 18, Moves.IRON_DEFENSE ], - [ 24, Moves.MAGNETIC_FLUX ], - [ 30, Moves.PSYBEAM ], - [ 36, Moves.AURORA_BEAM ], - [ 42, Moves.LOCK_ON ], - [ 48, Moves.SHIFT_GEAR ], - [ 54, Moves.TRICK ], - [ 60, Moves.IRON_HEAD ], - [ 66, Moves.AURA_SPHERE ], - [ 72, Moves.FLASH_CANNON ], - [ 78, Moves.PAIN_SPLIT ], - [ 84, Moves.ZAP_CANNON ], - [ 90, Moves.FLEUR_CANNON ], - ], - [Species.MARSHADOW]: [ - [ 1, Moves.FIRE_PUNCH ], - [ 1, Moves.ICE_PUNCH ], - [ 1, Moves.THUNDER_PUNCH ], - [ 1, Moves.COUNTER ], - [ 1, Moves.FEINT ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.SHADOW_SNEAK ], - [ 1, Moves.PURSUIT ], - [ 9, Moves.ROLE_PLAY ], - [ 18, Moves.SHADOW_PUNCH ], - [ 27, Moves.FORCE_PALM ], - [ 36, Moves.ASSURANCE ], - [ 45, Moves.SUCKER_PUNCH ], - [ 54, Moves.DRAIN_PUNCH ], - [ 63, Moves.PSYCH_UP ], - [ 72, Moves.SPECTRAL_THIEF ], - [ 81, Moves.LASER_FOCUS ], - [ 90, Moves.ENDEAVOR ], - [ 99, Moves.CLOSE_COMBAT ], - ], - [Species.POIPOLE]: [ - [ RELEARN_MOVE, Moves.DRAGON_PULSE ], // Custom, made relearn - [ 1, Moves.GROWL ], - [ 1, Moves.ACID ], - [ 1, Moves.PECK ], - [ 1, Moves.HELPING_HAND ], - [ 7, Moves.FURY_ATTACK ], - [ 14, Moves.FELL_STINGER ], - [ 21, Moves.CHARM ], - [ 28, Moves.VENOSHOCK ], - [ 35, Moves.VENOM_DRENCH ], - [ 42, Moves.NASTY_PLOT ], - [ 49, Moves.POISON_JAB ], - [ 56, Moves.GASTRO_ACID ], - [ 63, Moves.TOXIC ], - ], - [Species.NAGANADEL]: [ - [ EVOLVE_MOVE, Moves.AIR_CUTTER ], - [ 1, Moves.GROWL ], - [ 1, Moves.ACID ], - [ 1, Moves.PECK ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.AIR_SLASH ], - [ 1, Moves.DRAGON_PULSE ], - [ 7, Moves.FURY_ATTACK ], - [ 14, Moves.FELL_STINGER ], - [ 21, Moves.CHARM ], - [ 28, Moves.VENOSHOCK ], - [ 35, Moves.VENOM_DRENCH ], - [ 42, Moves.NASTY_PLOT ], - [ 49, Moves.POISON_JAB ], - [ 56, Moves.GASTRO_ACID ], - [ 63, Moves.TOXIC ], - [ 70, Moves.DRAGON_RUSH ], - ], - [Species.STAKATAKA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.ROCK_THROW ], - [ 10, Moves.PROTECT ], - [ 15, Moves.STOMP ], - [ 20, Moves.BLOCK ], - [ 25, Moves.ROCK_SLIDE ], - [ 30, Moves.WIDE_GUARD ], - [ 35, Moves.AUTOTOMIZE ], - [ 40, Moves.ROCK_BLAST ], - [ 45, Moves.MAGNET_RISE ], - [ 50, Moves.IRON_DEFENSE ], - [ 55, Moves.IRON_HEAD ], - [ 60, Moves.TAKE_DOWN ], - [ 65, Moves.STEALTH_ROCK ], - [ 70, Moves.DOUBLE_EDGE ], - ], - [Species.BLACEPHALON]: [ - [ 1, Moves.FIRE_SPIN ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.LIGHT_SCREEN ], - [ 10, Moves.EMBER ], - [ 15, Moves.NIGHT_SHADE ], - [ 20, Moves.CONFUSE_RAY ], - [ 25, Moves.MAGIC_COAT ], - [ 30, Moves.INCINERATE ], - [ 35, Moves.HYPNOSIS ], - [ 40, Moves.MYSTICAL_FIRE ], - [ 45, Moves.SHADOW_BALL ], - [ 50, Moves.CALM_MIND ], - [ 55, Moves.WILL_O_WISP ], - [ 60, Moves.TRICK ], - [ 65, Moves.FIRE_BLAST ], - [ 70, Moves.MIND_BLOWN ], - ], - [Species.ZERAORA]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SPARK ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.SNARL ], - [ 1, Moves.POWER_UP_PUNCH ], - [ 8, Moves.FURY_SWIPES ], - [ 16, Moves.QUICK_GUARD ], - [ 24, Moves.SLASH ], - [ 32, Moves.VOLT_SWITCH ], - [ 40, Moves.CHARGE ], - [ 48, Moves.THUNDER_PUNCH ], - [ 56, Moves.HONE_CLAWS ], - [ 64, Moves.DISCHARGE ], - [ 72, Moves.WILD_CHARGE ], - [ 80, Moves.AGILITY ], - [ 88, Moves.PLASMA_FISTS ], - [ 96, Moves.CLOSE_COMBAT ], - ], - [Species.MELTAN]: [ - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.HARDEN ], - [ 8, Moves.TAIL_WHIP ], - [ 16, Moves.HEADBUTT ], - [ 24, Moves.THUNDER_WAVE ], - [ 32, Moves.ACID_ARMOR ], - [ 40, Moves.FLASH_CANNON ], - ], - [Species.MELMETAL]: [ - [ EVOLVE_MOVE, Moves.THUNDER_PUNCH ], - [ 1, Moves.HEADBUTT ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.HARDEN ], - [ 24, Moves.THUNDER_WAVE ], - [ 32, Moves.ACID_ARMOR ], - [ 40, Moves.FLASH_CANNON ], - [ 48, Moves.MEGA_PUNCH ], - [ 56, Moves.PROTECT ], - [ 64, Moves.DISCHARGE ], - [ 72, Moves.DYNAMIC_PUNCH ], - [ 80, Moves.SUPERPOWER ], - [ 88, Moves.DOUBLE_IRON_BASH ], - [ 96, Moves.HYPER_BEAM ], - ], - [Species.GROOKEY]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 5, Moves.BRANCH_POKE ], // Custom, moved from 6 to 5 - [ 8, Moves.TAUNT ], - [ 12, Moves.RAZOR_LEAF ], - [ 17, Moves.SCREECH ], - [ 20, Moves.KNOCK_OFF ], - [ 24, Moves.SLAM ], - [ 28, Moves.UPROAR ], - [ 32, Moves.WOOD_HAMMER ], - [ 36, Moves.ENDEAVOR ], - ], - [Species.THWACKEY]: [ - [ EVOLVE_MOVE, Moves.DOUBLE_HIT ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.TAUNT ], - [ 1, Moves.BRANCH_POKE ], - [ 12, Moves.RAZOR_LEAF ], - [ 19, Moves.SCREECH ], - [ 24, Moves.KNOCK_OFF ], - [ 30, Moves.SLAM ], - [ 36, Moves.UPROAR ], - [ 42, Moves.WOOD_HAMMER ], - [ 48, Moves.ENDEAVOR ], - ], - [Species.RILLABOOM]: [ - [ EVOLVE_MOVE, Moves.DRUM_BEATING ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.TAUNT ], - [ 1, Moves.DOUBLE_HIT ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.GRASSY_TERRAIN ], - [ 1, Moves.BRANCH_POKE ], - [ 12, Moves.RAZOR_LEAF ], - [ 19, Moves.SCREECH ], - [ 24, Moves.KNOCK_OFF ], - [ 30, Moves.SLAM ], - [ 38, Moves.UPROAR ], - [ 46, Moves.WOOD_HAMMER ], - [ 54, Moves.ENDEAVOR ], - [ 62, Moves.BOOMBURST ], - ], - [Species.SCORBUNNY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.EMBER ], // Custom, moved from 6 to 5 - [ 8, Moves.QUICK_ATTACK ], - [ 12, Moves.DOUBLE_KICK ], - [ 17, Moves.FLAME_CHARGE ], - [ 20, Moves.AGILITY ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.COUNTER ], - [ 32, Moves.BOUNCE ], - [ 36, Moves.DOUBLE_EDGE ], - ], - [Species.RABOOT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.QUICK_ATTACK ], - [ 12, Moves.DOUBLE_KICK ], - [ 19, Moves.FLAME_CHARGE ], - [ 24, Moves.AGILITY ], - [ 30, Moves.HEADBUTT ], - [ 36, Moves.COUNTER ], - [ 42, Moves.BOUNCE ], - [ 48, Moves.DOUBLE_EDGE ], - ], - [Species.CINDERACE]: [ - [ EVOLVE_MOVE, Moves.PYRO_BALL ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FEINT ], - [ 12, Moves.DOUBLE_KICK ], - [ 19, Moves.FLAME_CHARGE ], - [ 24, Moves.AGILITY ], - [ 30, Moves.HEADBUTT ], - [ 38, Moves.COUNTER ], - [ 46, Moves.BOUNCE ], - [ 54, Moves.DOUBLE_EDGE ], - [ 62, Moves.COURT_CHANGE ], - ], - [Species.SOBBLE]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 5, Moves.WATER_GUN ], // Custom, moved from 6 to 5 - [ 8, Moves.BIND ], - [ 12, Moves.WATER_PULSE ], - [ 17, Moves.TEARFUL_LOOK ], - [ 20, Moves.SUCKER_PUNCH ], - [ 24, Moves.U_TURN ], - [ 28, Moves.LIQUIDATION ], - [ 32, Moves.SOAK ], - [ 36, Moves.RAIN_DANCE ], - ], - [Species.DRIZZILE]: [ - [ 1, Moves.POUND ], - [ 1, Moves.BIND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 12, Moves.WATER_PULSE ], - [ 19, Moves.TEARFUL_LOOK ], - [ 24, Moves.SUCKER_PUNCH ], - [ 30, Moves.U_TURN ], - [ 36, Moves.LIQUIDATION ], - [ 42, Moves.SOAK ], - [ 48, Moves.RAIN_DANCE ], - ], - [Species.INTELEON]: [ - [ EVOLVE_MOVE, Moves.SNIPE_SHOT ], - [ 1, Moves.POUND ], - [ 1, Moves.BIND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.ACROBATICS ], - [ 12, Moves.WATER_PULSE ], - [ 19, Moves.TEARFUL_LOOK ], - [ 24, Moves.SUCKER_PUNCH ], - [ 30, Moves.U_TURN ], - [ 38, Moves.LIQUIDATION ], - [ 46, Moves.SOAK ], - [ 54, Moves.RAIN_DANCE ], - [ 62, Moves.HYDRO_PUMP ], - ], - [Species.SKWOVET]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.BITE ], - [ 10, Moves.STUFF_CHEEKS ], - [ 15, Moves.STOCKPILE ], - [ 15, Moves.SPIT_UP ], - [ 15, Moves.SWALLOW ], - [ 20, Moves.BODY_SLAM ], - [ 25, Moves.REST ], - [ 30, Moves.COUNTER ], - [ 35, Moves.BULLET_SEED ], - [ 40, Moves.SUPER_FANG ], - [ 45, Moves.BELCH ], - ], - [Species.GREEDENT]: [ - [ EVOLVE_MOVE, Moves.COVET ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.STUFF_CHEEKS ], - [ 15, Moves.STOCKPILE ], - [ 15, Moves.SPIT_UP ], - [ 15, Moves.SWALLOW ], - [ 20, Moves.BODY_SLAM ], - [ 27, Moves.REST ], - [ 34, Moves.COUNTER ], - [ 41, Moves.BULLET_SEED ], - [ 48, Moves.SUPER_FANG ], - [ 55, Moves.BELCH ], - ], - [Species.ROOKIDEE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 4, Moves.POWER_TRIP ], - [ 8, Moves.HONE_CLAWS ], - [ 12, Moves.FURY_ATTACK ], - [ 16, Moves.PLUCK ], - [ 20, Moves.TAUNT ], - [ 24, Moves.SCARY_FACE ], - [ 28, Moves.DRILL_PECK ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.BRAVE_BIRD ], - ], - [Species.CORVISQUIRE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.HONE_CLAWS ], - [ 1, Moves.POWER_TRIP ], - [ 12, Moves.FURY_ATTACK ], - [ 16, Moves.PLUCK ], - [ 22, Moves.TAUNT ], - [ 28, Moves.SCARY_FACE ], - [ 34, Moves.DRILL_PECK ], - [ 40, Moves.SWAGGER ], - [ 46, Moves.BRAVE_BIRD ], - ], - [Species.CORVIKNIGHT]: [ - [ EVOLVE_MOVE, Moves.STEEL_WING ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.SCREECH ], - [ 1, Moves.METAL_SOUND ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.HONE_CLAWS ], - [ 1, Moves.POWER_TRIP ], - [ 12, Moves.FURY_ATTACK ], - [ 16, Moves.PLUCK ], - [ 22, Moves.TAUNT ], - [ 28, Moves.SCARY_FACE ], - [ 34, Moves.DRILL_PECK ], - [ 42, Moves.SWAGGER ], - [ 50, Moves.BRAVE_BIRD ], - ], - [Species.BLIPBUG]: [ - [ 1, Moves.STRUGGLE_BUG ], - ], - [Species.DOTTLER]: [ - [ EVOLVE_MOVE, Moves.CONFUSION ], - [ EVOLVE_MOVE, Moves.LIGHT_SCREEN ], - [ EVOLVE_MOVE, Moves.REFLECT ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.LIGHT_SCREEN ], - [ 1, Moves.REFLECT ], - [ 1, Moves.STRUGGLE_BUG ], - ], - [Species.ORBEETLE]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.LIGHT_SCREEN ], - [ 1, Moves.REFLECT ], - [ 1, Moves.STRUGGLE_BUG ], - [ 4, Moves.CONFUSE_RAY ], - [ 8, Moves.MAGIC_COAT ], - [ 12, Moves.AGILITY ], - [ 16, Moves.PSYBEAM ], - [ 20, Moves.HYPNOSIS ], - [ 24, Moves.ALLY_SWITCH ], - [ 28, Moves.BUG_BUZZ ], - [ 32, Moves.MIRROR_COAT ], - [ 36, Moves.PSYCHIC ], - [ 40, Moves.AFTER_YOU ], - [ 44, Moves.CALM_MIND ], - [ 48, Moves.PSYCHIC_TERRAIN ], - ], - [Species.NICKIT]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.QUICK_ATTACK ], - [ 4, Moves.BEAT_UP ], - [ 8, Moves.HONE_CLAWS ], - [ 12, Moves.SNARL ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.NASTY_PLOT ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.NIGHT_SLASH ], - [ 32, Moves.TAIL_SLAP ], - [ 36, Moves.FOUL_PLAY ], - ], - [Species.THIEVUL]: [ - [ EVOLVE_MOVE, Moves.THIEF ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.BEAT_UP ], - [ 1, Moves.HONE_CLAWS ], - [ 12, Moves.SNARL ], - [ 16, Moves.ASSURANCE ], - [ 22, Moves.NASTY_PLOT ], - [ 28, Moves.SUCKER_PUNCH ], - [ 34, Moves.NIGHT_SLASH ], - [ 40, Moves.TAIL_SLAP ], - [ 46, Moves.FOUL_PLAY ], - [ 52, Moves.PARTING_SHOT ], - ], - [Species.GOSSIFLEUR]: [ - [ 1, Moves.SING ], - [ 1, Moves.LEAFAGE ], - [ 4, Moves.RAPID_SPIN ], - [ 8, Moves.SWEET_SCENT ], - [ 12, Moves.RAZOR_LEAF ], - [ 16, Moves.ROUND ], - [ 21, Moves.LEAF_TORNADO ], - [ 24, Moves.SYNTHESIS ], - [ 28, Moves.HYPER_VOICE ], - [ 32, Moves.AROMATHERAPY ], - [ 36, Moves.LEAF_STORM ], - ], - [Species.ELDEGOSS]: [ - [ EVOLVE_MOVE, Moves.COTTON_SPORE ], - [ 1, Moves.SING ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.LEAFAGE ], - [ 12, Moves.RAZOR_LEAF ], - [ 16, Moves.ROUND ], - [ 23, Moves.LEAF_TORNADO ], - [ 28, Moves.SYNTHESIS ], - [ 34, Moves.HYPER_VOICE ], - [ 40, Moves.AROMATHERAPY ], - [ 46, Moves.LEAF_STORM ], - [ 52, Moves.COTTON_GUARD ], - ], - [Species.WOOLOO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 4, Moves.DEFENSE_CURL ], - [ 8, Moves.COPYCAT ], - [ 12, Moves.GUARD_SPLIT ], - [ 16, Moves.DOUBLE_KICK ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.TAKE_DOWN ], - [ 28, Moves.GUARD_SWAP ], - [ 32, Moves.REVERSAL ], - [ 36, Moves.COTTON_GUARD ], - [ 40, Moves.DOUBLE_EDGE ], - ], - [Species.DUBWOOL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.COPYCAT ], - [ 12, Moves.GUARD_SPLIT ], - [ 16, Moves.DOUBLE_KICK ], - [ 21, Moves.HEADBUTT ], - [ 27, Moves.TAKE_DOWN ], - [ 32, Moves.GUARD_SWAP ], - [ 38, Moves.REVERSAL ], - [ 44, Moves.COTTON_GUARD ], - [ 50, Moves.DOUBLE_EDGE ], - [ 56, Moves.LAST_RESORT ], - ], - [Species.CHEWTLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 7, Moves.BITE ], - [ 14, Moves.PROTECT ], - [ 21, Moves.HEADBUTT ], - [ 28, Moves.COUNTER ], - [ 35, Moves.JAW_LOCK ], - [ 42, Moves.LIQUIDATION ], - [ 49, Moves.BODY_SLAM ], - ], - [Species.DREDNAW]: [ - [ EVOLVE_MOVE, Moves.ROCK_TOMB ], - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.PROTECT ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.ROCK_POLISH ], - [ 1, Moves.RAZOR_SHELL ], - [ 21, Moves.HEADBUTT ], - [ 30, Moves.COUNTER ], - [ 39, Moves.JAW_LOCK ], - [ 48, Moves.LIQUIDATION ], - [ 57, Moves.BODY_SLAM ], - [ 66, Moves.HEAD_SMASH ], - ], - [Species.YAMPER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.NUZZLE ], - [ 10, Moves.BITE ], - [ 15, Moves.ROAR ], - [ 20, Moves.SPARK ], - [ 26, Moves.CHARM ], - [ 30, Moves.CRUNCH ], - [ 35, Moves.CHARGE ], - [ 40, Moves.WILD_CHARGE ], - [ 45, Moves.PLAY_ROUGH ], - ], - [Species.BOLTUND]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.BITE ], - [ 1, Moves.ELECTRIFY ], - [ 1, Moves.NUZZLE ], - [ 15, Moves.ROAR ], - [ 20, Moves.SPARK ], - [ 28, Moves.CHARM ], - [ 34, Moves.CRUNCH ], - [ 41, Moves.CHARGE ], - [ 48, Moves.WILD_CHARGE ], - [ 55, Moves.PLAY_ROUGH ], - [ 62, Moves.ELECTRIC_TERRAIN ], - ], - [Species.ROLYCOLY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SMOKESCREEN ], - [ 5, Moves.RAPID_SPIN ], - [ 10, Moves.SMACK_DOWN ], - [ 15, Moves.ROCK_POLISH ], - [ 20, Moves.ANCIENT_POWER ], - [ 25, Moves.INCINERATE ], - [ 30, Moves.STEALTH_ROCK ], - [ 35, Moves.HEAT_CRASH ], - [ 40, Moves.ROCK_BLAST ], - ], - [Species.CARKOL]: [ - [ EVOLVE_MOVE, Moves.FLAME_CHARGE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.SMACK_DOWN ], - [ 15, Moves.ROCK_POLISH ], - [ 20, Moves.ANCIENT_POWER ], - [ 27, Moves.INCINERATE ], - [ 35, Moves.STEALTH_ROCK ], - [ 41, Moves.HEAT_CRASH ], - [ 48, Moves.ROCK_BLAST ], - [ 55, Moves.STONE_EDGE ], - ], - [Species.COALOSSAL]: [ - [ EVOLVE_MOVE, Moves.TAR_SHOT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.SMACK_DOWN ], - [ 1, Moves.FLAME_CHARGE ], - [ 15, Moves.ROCK_POLISH ], - [ 20, Moves.ANCIENT_POWER ], - [ 27, Moves.INCINERATE ], - [ 37, Moves.STEALTH_ROCK ], - [ 45, Moves.HEAT_CRASH ], - [ 54, Moves.ROCK_BLAST ], - [ 63, Moves.STONE_EDGE ], - ], - [Species.APPLIN]: [ - [ 1, Moves.WITHDRAW ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.LEAFAGE ], // Custom - ], - [Species.FLAPPLE]: [ - [ EVOLVE_MOVE, Moves.WING_ATTACK ], - [ 1, Moves.LEAFAGE ], // Previous Stage Move, Custom - [ 1, Moves.GROWTH ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.TWISTER ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.ACID_SPRAY ], - [ 8, Moves.ACROBATICS ], - [ 12, Moves.LEECH_SEED ], - [ 16, Moves.PROTECT ], - [ 20, Moves.DRAGON_BREATH ], - [ 24, Moves.DRAGON_DANCE ], - [ 28, Moves.DRAGON_PULSE ], - [ 32, Moves.GRAV_APPLE ], - [ 36, Moves.IRON_DEFENSE ], - [ 40, Moves.FLY ], - [ 44, Moves.DRAGON_RUSH ], - ], - [Species.APPLETUN]: [ - [ EVOLVE_MOVE, Moves.HEADBUTT ], - [ 1, Moves.LEAFAGE ], // Previous Stage Move, Custom - [ 1, Moves.GROWTH ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.CURSE ], - [ 8, Moves.STOMP ], - [ 12, Moves.LEECH_SEED ], - [ 16, Moves.PROTECT ], - [ 20, Moves.BULLET_SEED ], - [ 24, Moves.RECOVER ], - [ 28, Moves.APPLE_ACID ], - [ 32, Moves.BODY_SLAM ], - [ 36, Moves.IRON_DEFENSE ], - [ 40, Moves.DRAGON_PULSE ], - [ 44, Moves.ENERGY_BALL ], - ], - [Species.SILICOBRA]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.WRAP ], - [ 1, Moves.MUD_SLAP ], // Custom - [ 5, Moves.MINIMIZE ], - [ 10, Moves.BRUTAL_SWING ], - [ 15, Moves.BULLDOZE ], - [ 20, Moves.HEADBUTT ], - [ 25, Moves.GLARE ], - [ 30, Moves.DIG ], - [ 35, Moves.SANDSTORM ], - [ 40, Moves.SLAM ], - [ 45, Moves.COIL ], - [ 50, Moves.SAND_TOMB ], - ], - [Species.SANDACONDA]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.WRAP ], - [ 1, Moves.MUD_SLAP ], // Previous Stage Move, Custom - [ 1, Moves.MINIMIZE ], - [ 1, Moves.BRUTAL_SWING ], - [ 15, Moves.BULLDOZE ], - [ 20, Moves.HEADBUTT ], - [ 25, Moves.GLARE ], - [ 30, Moves.DIG ], - [ 35, Moves.SANDSTORM ], - [ 42, Moves.SLAM ], - [ 49, Moves.COIL ], - [ 51, Moves.SAND_TOMB ], - ], - [Species.CRAMORANT]: [ - [ RELEARN_MOVE, Moves.BELCH ], - [ 1, Moves.PECK ], - [ 1, Moves.STOCKPILE ], - [ 1, Moves.SPIT_UP ], - [ 1, Moves.SWALLOW ], - [ 7, Moves.WATER_GUN ], - [ 14, Moves.FURY_ATTACK ], - [ 21, Moves.PLUCK ], - [ 28, Moves.DIVE ], - [ 35, Moves.DRILL_PECK ], - [ 42, Moves.AMNESIA ], - [ 49, Moves.THRASH ], - [ 56, Moves.HYDRO_PUMP ], - ], - [Species.ARROKUDA]: [ - [ 1, Moves.PECK ], - [ 1, Moves.AQUA_JET ], - [ 6, Moves.FURY_ATTACK ], - [ 12, Moves.BITE ], - [ 18, Moves.AGILITY ], - [ 24, Moves.DIVE ], - [ 30, Moves.FOCUS_ENERGY ], - [ 36, Moves.CRUNCH ], - [ 42, Moves.LIQUIDATION ], - [ 48, Moves.DOUBLE_EDGE ], - ], - [Species.BARRASKEWDA]: [ - [ 1, Moves.FURY_ATTACK ], - [ 1, Moves.BITE ], - [ 1, Moves.PECK ], - [ 1, Moves.AQUA_JET ], - [ 1, Moves.THROAT_CHOP ], - [ 18, Moves.AGILITY ], - [ 24, Moves.DIVE ], - [ 32, Moves.FOCUS_ENERGY ], - [ 40, Moves.CRUNCH ], - [ 48, Moves.LIQUIDATION ], - [ 56, Moves.DOUBLE_EDGE ], - ], - [Species.TOXEL]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.ACID ], - [ 1, Moves.FLAIL ], - [ 1, Moves.BELCH ], - [ 1, Moves.NUZZLE ], - [ 1, Moves.TEARFUL_LOOK ], - ], - [Species.TOXTRICITY]: [ - [ EVOLVE_MOVE, Moves.SPARK ], - [ 1, Moves.LEER ], - [ 1, Moves.GROWL ], - [ 1, Moves.ACID ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.FLAIL ], - [ 1, Moves.ACID_SPRAY ], - [ 1, Moves.BELCH ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.NUZZLE ], - [ 1, Moves.TEARFUL_LOOK ], - [ 4, Moves.CHARGE ], - [ 8, Moves.SHOCK_WAVE ], - [ 12, Moves.SCARY_FACE ], - [ 16, Moves.TAUNT ], - [ 24, Moves.SCREECH ], - [ 28, Moves.SWAGGER ], - [ 32, Moves.TOXIC ], - [ 36, Moves.DISCHARGE ], - [ 40, Moves.POISON_JAB ], - [ 44, Moves.OVERDRIVE ], - [ 48, Moves.BOOMBURST ], - [ 52, Moves.SHIFT_GEAR ], - ], - [Species.SIZZLIPEDE]: [ - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 5, Moves.WRAP ], - [ 10, Moves.BITE ], - [ 15, Moves.FLAME_WHEEL ], - [ 20, Moves.BUG_BITE ], - [ 25, Moves.COIL ], - [ 30, Moves.SLAM ], - [ 35, Moves.FIRE_SPIN ], - [ 40, Moves.CRUNCH ], - [ 45, Moves.FIRE_LASH ], - [ 50, Moves.LUNGE ], - [ 55, Moves.BURN_UP ], - ], - [Species.CENTISKORCH]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.BITE ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.INFERNO ], - [ 15, Moves.FLAME_WHEEL ], - [ 20, Moves.BUG_BITE ], - [ 25, Moves.COIL ], - [ 32, Moves.SLAM ], - [ 39, Moves.FIRE_SPIN ], - [ 46, Moves.CRUNCH ], - [ 53, Moves.FIRE_LASH ], - [ 60, Moves.LUNGE ], - [ 67, Moves.BURN_UP ], - ], - [Species.CLOBBOPUS]: [ - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_SMASH ], - [ 5, Moves.FEINT ], - [ 10, Moves.BIND ], - [ 15, Moves.DETECT ], - [ 20, Moves.BRICK_BREAK ], - [ 25, Moves.BULK_UP ], - [ 30, Moves.SUBMISSION ], - [ 35, Moves.TAUNT ], - [ 40, Moves.REVERSAL ], - [ 45, Moves.SUPERPOWER ], - ], - [Species.GRAPPLOCT]: [ - [ EVOLVE_MOVE, Moves.OCTOLOCK ], - [ 1, Moves.BIND ], - [ 1, Moves.LEER ], - [ 1, Moves.OCTAZOOKA ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.FEINT ], - [ 15, Moves.DETECT ], - [ 20, Moves.BRICK_BREAK ], - [ 25, Moves.BULK_UP ], - [ 30, Moves.SUBMISSION ], - [ 35, Moves.TAUNT ], - [ 40, Moves.REVERSAL ], - [ 45, Moves.SUPERPOWER ], - [ 50, Moves.TOPSY_TURVY ], - ], - [Species.SINISTEA]: [ - [ 1, Moves.WITHDRAW ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.ABSORB ], // Custom - [ 6, Moves.AROMATIC_MIST ], - [ 12, Moves.MEGA_DRAIN ], - [ 24, Moves.SUCKER_PUNCH ], - [ 30, Moves.SWEET_SCENT ], - [ 36, Moves.GIGA_DRAIN ], - [ 42, Moves.NASTY_PLOT ], - [ 48, Moves.SHADOW_BALL ], - [ 54, Moves.MEMENTO ], - [ 60, Moves.SHELL_SMASH ], - ], - [Species.POLTEAGEIST]: [ - [ EVOLVE_MOVE, Moves.TEATIME ], - [ 1, Moves.ABSORB ], // Previous Stage Move, Custom - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.AROMATIC_MIST ], - [ 1, Moves.STRENGTH_SAP ], - [ 18, Moves.PROTECT ], - [ 24, Moves.SUCKER_PUNCH ], - [ 30, Moves.SWEET_SCENT ], - [ 36, Moves.GIGA_DRAIN ], - [ 42, Moves.NASTY_PLOT ], - [ 48, Moves.SHADOW_BALL ], - [ 54, Moves.MEMENTO ], - [ 60, Moves.SHELL_SMASH ], - [ 66, Moves.CURSE ], - ], - [Species.HATENNA]: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.PLAY_NICE ], - [ 5, Moves.LIFE_DEW ], - [ 10, Moves.DISARMING_VOICE ], - [ 15, Moves.AROMATIC_MIST ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.HEAL_PULSE ], - [ 30, Moves.DAZZLING_GLEAM ], - [ 35, Moves.CALM_MIND ], - [ 40, Moves.PSYCHIC ], - [ 45, Moves.HEALING_WISH ], - ], - [Species.HATTREM]: [ - [ EVOLVE_MOVE, Moves.BRUTAL_SWING ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.LIFE_DEW ], - [ 15, Moves.AROMATIC_MIST ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.HEAL_PULSE ], - [ 30, Moves.DAZZLING_GLEAM ], - [ 37, Moves.CALM_MIND ], - [ 44, Moves.PSYCHIC ], - [ 51, Moves.HEALING_WISH ], - ], - [Species.HATTERENE]: [ - [ EVOLVE_MOVE, Moves.PSYCHO_CUT ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.DISARMING_VOICE ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.BRUTAL_SWING ], - [ 1, Moves.LIFE_DEW ], - [ 15, Moves.AROMATIC_MIST ], - [ 20, Moves.PSYBEAM ], - [ 25, Moves.HEAL_PULSE ], - [ 30, Moves.DAZZLING_GLEAM ], - [ 37, Moves.CALM_MIND ], - [ 46, Moves.PSYCHIC ], - [ 55, Moves.HEALING_WISH ], - [ 64, Moves.MAGIC_POWDER ], - ], - [Species.IMPIDIMP]: [ - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.CONFIDE ], - [ 4, Moves.BITE ], - [ 8, Moves.FLATTER ], - [ 12, Moves.FAKE_TEARS ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.SWAGGER ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.TORMENT ], - [ 33, Moves.DARK_PULSE ], - [ 36, Moves.NASTY_PLOT ], - [ 40, Moves.PLAY_ROUGH ], - [ 44, Moves.FOUL_PLAY ], - ], - [Species.MORGREM]: [ - [ EVOLVE_MOVE, Moves.FALSE_SURRENDER ], - [ 1, Moves.BITE ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.FLATTER ], - [ 1, Moves.CONFIDE ], - [ 12, Moves.FAKE_TEARS ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.SWAGGER ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.TORMENT ], - [ 35, Moves.DARK_PULSE ], - [ 40, Moves.NASTY_PLOT ], - [ 46, Moves.PLAY_ROUGH ], - [ 52, Moves.FOUL_PLAY ], - ], - [Species.GRIMMSNARL]: [ - [ EVOLVE_MOVE, Moves.SPIRIT_BREAK ], - [ 1, Moves.BITE ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.FLATTER ], - [ 1, Moves.BULK_UP ], - [ 1, Moves.CONFIDE ], - [ 1, Moves.FALSE_SURRENDER ], - [ 12, Moves.FAKE_TEARS ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.SWAGGER ], - [ 24, Moves.SUCKER_PUNCH ], - [ 28, Moves.TORMENT ], - [ 35, Moves.DARK_PULSE ], - [ 40, Moves.NASTY_PLOT ], - [ 48, Moves.PLAY_ROUGH ], - [ 56, Moves.FOUL_PLAY ], - [ 64, Moves.HAMMER_ARM ], - ], - [Species.OBSTAGOON]: [ - [ EVOLVE_MOVE, Moves.OBSTRUCT ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.PIN_MISSILE ], - [ 1, Moves.LEER ], - [ 1, Moves.SUBMISSION ], - [ 1, Moves.LICK ], - [ 1, Moves.CROSS_CHOP ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.SWITCHEROO ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 9, Moves.SNARL ], - [ 12, Moves.HEADBUTT ], - [ 15, Moves.HONE_CLAWS ], - [ 18, Moves.FURY_SWIPES ], - [ 23, Moves.REST ], - [ 28, Moves.TAKE_DOWN ], - [ 35, Moves.SCARY_FACE ], - [ 42, Moves.COUNTER ], - [ 49, Moves.TAUNT ], - [ 56, Moves.DOUBLE_EDGE ], - ], - [Species.PERRSERKER]: [ - [ EVOLVE_MOVE, Moves.IRON_HEAD ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.METAL_BURST ], - [ 1, Moves.HONE_CLAWS ], - [ 12, Moves.PAY_DAY ], - [ 16, Moves.METAL_CLAW ], - [ 20, Moves.TAUNT ], - [ 24, Moves.SWAGGER ], - [ 31, Moves.FURY_SWIPES ], - [ 36, Moves.SCREECH ], - [ 42, Moves.SLASH ], - [ 48, Moves.METAL_SOUND ], - [ 54, Moves.THRASH ], - ], - [Species.CURSOLA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DISABLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.PERISH_SONG ], - [ 1, Moves.ASTONISH ], - [ 15, Moves.SPITE ], - [ 20, Moves.ANCIENT_POWER ], - [ 25, Moves.HEX ], - [ 30, Moves.CURSE ], - [ 35, Moves.STRENGTH_SAP ], - [ 40, Moves.POWER_GEM ], - [ 45, Moves.NIGHT_SHADE ], - [ 50, Moves.GRUDGE ], - [ 55, Moves.MIRROR_COAT ], - ], - [Species.SIRFETCHD]: [ - [ EVOLVE_MOVE, Moves.IRON_DEFENSE ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.FIRST_IMPRESSION ], - [ 15, Moves.ROCK_SMASH ], - [ 20, Moves.BRUTAL_SWING ], - [ 25, Moves.DETECT ], - [ 30, Moves.KNOCK_OFF ], - [ 35, Moves.DEFOG ], - [ 40, Moves.BRICK_BREAK ], - [ 45, Moves.SWORDS_DANCE ], - [ 50, Moves.SLAM ], - [ 55, Moves.LEAF_BLADE ], - [ 60, Moves.FINAL_GAMBIT ], - [ 65, Moves.BRAVE_BIRD ], - [ 70, Moves.METEOR_ASSAULT ], - ], - [Species.MR_RIME]: [ - [ 1, Moves.POUND ], - [ 1, Moves.BARRIER ], // Previous Stage Move - [ 1, Moves.TICKLE ], // Previous Stage Move - [ 1, Moves.MIMIC ], - [ 1, Moves.LIGHT_SCREEN ], - [ 1, Moves.REFLECT ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.ENCORE ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.ROLE_PLAY ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.SLACK_OFF ], - [ 1, Moves.FAKE_TEARS ], - [ 1, Moves.BLOCK ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.ICE_SHARD ], - [ 1, Moves.AFTER_YOU ], - [ 1, Moves.MISTY_TERRAIN ], - [ 1, Moves.DAZZLING_GLEAM ], - [ 12, Moves.CONFUSION ], - [ 16, Moves.ALLY_SWITCH ], - [ 20, Moves.ICY_WIND ], - [ 24, Moves.DOUBLE_KICK ], - [ 28, Moves.PSYBEAM ], - [ 32, Moves.HYPNOSIS ], - [ 36, Moves.MIRROR_COAT ], - [ 40, Moves.SUCKER_PUNCH ], - [ 44, Moves.FREEZE_DRY ], - [ 48, Moves.PSYCHIC ], - [ 52, Moves.TEETER_DANCE ], - ], - [Species.RUNERIGUS]: [ - [ EVOLVE_MOVE, Moves.SHADOW_CLAW ], - [ 1, Moves.NIGHT_SHADE ], - [ 1, Moves.HAZE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.ASTONISH ], - [ 12, Moves.DISABLE ], - [ 16, Moves.BRUTAL_SWING ], - [ 20, Moves.CRAFTY_SHIELD ], - [ 24, Moves.HEX ], - [ 28, Moves.MEAN_LOOK ], - [ 32, Moves.SLAM ], - [ 38, Moves.CURSE ], - [ 44, Moves.SHADOW_BALL ], - [ 50, Moves.EARTHQUAKE ], - [ 56, Moves.GUARD_SPLIT ], - [ 56, Moves.POWER_SPLIT ], - [ 62, Moves.DESTINY_BOND ], - ], - [Species.MILCERY]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.AROMATIC_MIST ], - [ 5, Moves.SWEET_KISS ], - [ 10, Moves.SWEET_SCENT ], - [ 15, Moves.DRAINING_KISS ], - [ 20, Moves.AROMATHERAPY ], - [ 25, Moves.ATTRACT ], - [ 30, Moves.ACID_ARMOR ], - [ 35, Moves.DAZZLING_GLEAM ], - [ 40, Moves.RECOVER ], - [ 45, Moves.MISTY_TERRAIN ], - [ 50, Moves.ENTRAINMENT ], - ], - [Species.ALCREMIE]: [ - [ EVOLVE_MOVE, Moves.DECORATE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.AROMATIC_MIST ], - [ 15, Moves.DRAINING_KISS ], - [ 20, Moves.AROMATHERAPY ], - [ 25, Moves.ATTRACT ], - [ 30, Moves.ACID_ARMOR ], - [ 35, Moves.DAZZLING_GLEAM ], - [ 40, Moves.RECOVER ], - [ 45, Moves.MISTY_TERRAIN ], - [ 50, Moves.ENTRAINMENT ], - ], - [Species.FALINKS]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 5, Moves.ROCK_SMASH ], - [ 10, Moves.FOCUS_ENERGY ], - [ 15, Moves.HEADBUTT ], - [ 20, Moves.BULK_UP ], - [ 25, Moves.ENDURE ], - [ 30, Moves.REVERSAL ], - [ 35, Moves.FIRST_IMPRESSION ], - [ 40, Moves.NO_RETREAT ], - [ 45, Moves.IRON_DEFENSE ], - [ 50, Moves.CLOSE_COMBAT ], - [ 55, Moves.MEGAHORN ], - [ 60, Moves.COUNTER ], - ], - [Species.PINCURCHIN]: [ - [ 1, Moves.PECK ], - [ 1, Moves.THUNDER_SHOCK ], - [ 5, Moves.WATER_GUN ], - [ 10, Moves.CHARGE ], - [ 15, Moves.FURY_ATTACK ], - [ 20, Moves.SPARK ], - [ 25, Moves.BUBBLE_BEAM ], - [ 30, Moves.RECOVER ], - [ 35, Moves.CURSE ], - [ 40, Moves.ELECTRIC_TERRAIN ], - [ 45, Moves.POISON_JAB ], - [ 50, Moves.ZING_ZAP ], - [ 55, Moves.ACUPRESSURE ], - [ 60, Moves.DISCHARGE ], - ], - [Species.SNOM]: [ - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.STRUGGLE_BUG ], - ], - [Species.FROSMOTH]: [ - [ EVOLVE_MOVE, Moves.ICY_WIND ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.ATTRACT ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.STRUGGLE_BUG ], - [ 4, Moves.STUN_SPORE ], - [ 8, Moves.INFESTATION ], - [ 12, Moves.MIST ], - [ 16, Moves.DEFOG ], - [ 21, Moves.FEATHER_DANCE ], - [ 24, Moves.AURORA_BEAM ], - [ 28, Moves.SNOWSCAPE ], - [ 32, Moves.BUG_BUZZ ], - [ 36, Moves.AURORA_VEIL ], - [ 40, Moves.BLIZZARD ], - [ 44, Moves.TAILWIND ], - [ 48, Moves.WIDE_GUARD ], - [ 52, Moves.QUIVER_DANCE ], - ], - [Species.STONJOURNER]: [ - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.BLOCK ], - [ 6, Moves.ROCK_POLISH ], - [ 12, Moves.ROCK_TOMB ], - [ 18, Moves.GRAVITY ], - [ 24, Moves.STOMP ], - [ 30, Moves.STEALTH_ROCK ], - [ 36, Moves.ROCK_SLIDE ], - [ 42, Moves.BODY_SLAM ], - [ 48, Moves.WIDE_GUARD ], - [ 54, Moves.HEAVY_SLAM ], - [ 60, Moves.STONE_EDGE ], - [ 66, Moves.MEGA_KICK ], - ], - [Species.EISCUE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POWDER_SNOW ], - [ 6, Moves.MIST ], - [ 12, Moves.WEATHER_BALL ], - [ 18, Moves.ICY_WIND ], - [ 24, Moves.HEADBUTT ], - [ 30, Moves.AMNESIA ], - [ 36, Moves.FREEZE_DRY ], - [ 42, Moves.SNOWSCAPE ], - [ 48, Moves.AURORA_VEIL ], - [ 54, Moves.SURF ], - [ 60, Moves.BLIZZARD ], - ], - [Species.INDEEDEE]: [ - [ 1, Moves.STORED_POWER ], - [ 1, Moves.PLAY_NICE ], - [ 5, Moves.ENCORE ], - [ 10, Moves.DISARMING_VOICE ], - [ 15, Moves.PSYBEAM ], - [ 20, Moves.HELPING_HAND ], - [ 25, Moves.AFTER_YOU ], - [ 30, Moves.HEALING_WISH ], - [ 35, Moves.PSYCHIC ], - [ 40, Moves.CALM_MIND ], - [ 45, Moves.POWER_SPLIT ], - [ 50, Moves.PSYCHIC_TERRAIN ], - [ 55, Moves.LAST_RESORT ], - ], - [Species.MORPEKO]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.THUNDER_SHOCK ], - [ 5, Moves.LEER ], - [ 10, Moves.POWER_TRIP ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.FLATTER ], - [ 25, Moves.BITE ], - [ 30, Moves.SPARK ], - [ 35, Moves.TORMENT ], - [ 40, Moves.AGILITY ], - [ 45, Moves.BULLET_SEED ], - [ 50, Moves.CRUNCH ], - [ 55, Moves.AURA_WHEEL ], - [ 60, Moves.THRASH ], - ], - [Species.CUFANT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.ROLLOUT ], - [ 10, Moves.ROCK_SMASH ], - [ 15, Moves.BULLDOZE ], - [ 20, Moves.STOMP ], - [ 25, Moves.IRON_DEFENSE ], - [ 30, Moves.DIG ], - [ 35, Moves.STRENGTH ], - [ 40, Moves.IRON_HEAD ], - [ 45, Moves.PLAY_ROUGH ], - [ 50, Moves.HIGH_HORSEPOWER ], - [ 55, Moves.SUPERPOWER ], - ], - [Species.COPPERAJAH]: [ - [ EVOLVE_MOVE, Moves.HEAVY_SLAM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.ROCK_SMASH ], - [ 15, Moves.BULLDOZE ], - [ 20, Moves.STOMP ], - [ 25, Moves.IRON_DEFENSE ], - [ 30, Moves.DIG ], - [ 37, Moves.STRENGTH ], - [ 44, Moves.IRON_HEAD ], - [ 51, Moves.PLAY_ROUGH ], - [ 58, Moves.HIGH_HORSEPOWER ], - [ 65, Moves.SUPERPOWER ], - ], - [Species.DRACOZOLT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.THUNDER_SHOCK ], - [ 7, Moves.CHARGE ], - [ 14, Moves.AERIAL_ACE ], - [ 21, Moves.ANCIENT_POWER ], - [ 28, Moves.PLUCK ], - [ 35, Moves.DRAGON_TAIL ], - [ 42, Moves.STOMP ], - [ 49, Moves.SLAM ], - [ 56, Moves.DISCHARGE ], - [ 63, Moves.BOLT_BEAK ], - [ 70, Moves.DRAGON_PULSE ], - [ 77, Moves.DRAGON_RUSH ], - ], - [Species.ARCTOZOLT]: [ - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.POWDER_SNOW ], - [ 7, Moves.CHARGE ], - [ 14, Moves.ECHOED_VOICE ], - [ 21, Moves.ANCIENT_POWER ], - [ 28, Moves.PLUCK ], - [ 35, Moves.AVALANCHE ], - [ 42, Moves.FREEZE_DRY ], - [ 49, Moves.SLAM ], - [ 56, Moves.DISCHARGE ], - [ 63, Moves.BOLT_BEAK ], - [ 70, Moves.ICICLE_CRASH ], - [ 77, Moves.BLIZZARD ], - ], - [Species.DRACOVISH]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 7, Moves.PROTECT ], - [ 14, Moves.BRUTAL_SWING ], - [ 21, Moves.ANCIENT_POWER ], - [ 28, Moves.BITE ], - [ 35, Moves.DRAGON_BREATH ], - [ 42, Moves.STOMP ], - [ 49, Moves.SUPER_FANG ], - [ 56, Moves.CRUNCH ], - [ 63, Moves.FISHIOUS_REND ], - [ 70, Moves.DRAGON_PULSE ], - [ 77, Moves.DRAGON_RUSH ], - ], - [Species.ARCTOVISH]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.POWDER_SNOW ], - [ 7, Moves.PROTECT ], - [ 14, Moves.ICY_WIND ], - [ 21, Moves.ANCIENT_POWER ], - [ 28, Moves.BITE ], - [ 35, Moves.AURORA_VEIL ], - [ 42, Moves.FREEZE_DRY ], - [ 49, Moves.SUPER_FANG ], - [ 56, Moves.CRUNCH ], - [ 63, Moves.FISHIOUS_REND ], - [ 70, Moves.ICICLE_CRASH ], - [ 77, Moves.BLIZZARD ], - ], - [Species.DURALUDON]: [ - [ 1, Moves.LEER ], - [ 1, Moves.METAL_CLAW ], - [ 6, Moves.ROCK_SMASH ], - [ 12, Moves.HONE_CLAWS ], - [ 18, Moves.METAL_SOUND ], - [ 24, Moves.BREAKING_SWIPE ], - [ 30, Moves.DRAGON_TAIL ], - [ 36, Moves.IRON_DEFENSE ], - [ 42, Moves.LASER_FOCUS ], - [ 48, Moves.DRAGON_CLAW ], - [ 54, Moves.FLASH_CANNON ], - [ 60, Moves.METAL_BURST ], - [ 66, Moves.HYPER_BEAM ], - ], - [Species.DREEPY]: [ - [ 1, Moves.BITE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.INFESTATION ], - ], - [Species.DRAKLOAK]: [ - [ EVOLVE_MOVE, Moves.DRAGON_PULSE ], - [ 1, Moves.BITE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.INFESTATION ], - [ 6, Moves.LOCK_ON ], - [ 12, Moves.ASSURANCE ], - [ 18, Moves.HEX ], - [ 24, Moves.AGILITY ], - [ 30, Moves.DOUBLE_HIT ], - [ 36, Moves.U_TURN ], - [ 42, Moves.DRAGON_DANCE ], - [ 48, Moves.PHANTOM_FORCE ], - [ 54, Moves.TAKE_DOWN ], - [ 61, Moves.DRAGON_RUSH ], - [ 66, Moves.DOUBLE_EDGE ], - [ 72, Moves.LAST_RESORT ], - ], - [Species.DRAGAPULT]: [ - [ EVOLVE_MOVE, Moves.DRAGON_DARTS ], - [ RELEARN_MOVE, Moves.DRAGON_PULSE ], // Previous Stage Move - [ 1, Moves.BITE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.INFESTATION ], - [ 6, Moves.LOCK_ON ], - [ 12, Moves.ASSURANCE ], - [ 18, Moves.HEX ], - [ 24, Moves.AGILITY ], - [ 30, Moves.DOUBLE_HIT ], - [ 36, Moves.U_TURN ], - [ 42, Moves.DRAGON_DANCE ], - [ 48, Moves.PHANTOM_FORCE ], - [ 54, Moves.TAKE_DOWN ], - [ 63, Moves.DRAGON_RUSH ], - [ 70, Moves.DOUBLE_EDGE ], - [ 78, Moves.LAST_RESORT ], - ], - [Species.ZACIAN]: [ - [ 1, Moves.BITE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.HOWL ], - [ 1, Moves.QUICK_GUARD ], - [ 1, Moves.SACRED_SWORD ], - [ 11, Moves.SLASH ], - [ 22, Moves.SWORDS_DANCE ], - [ 33, Moves.IRON_HEAD ], - [ 44, Moves.NOBLE_ROAR ], - [ 55, Moves.CRUNCH ], - [ 66, Moves.MOONBLAST ], - [ 77, Moves.CLOSE_COMBAT ], - [ 88, Moves.GIGA_IMPACT ], - ], - [Species.ZAMAZENTA]: [ - [ 1, Moves.BITE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.HOWL ], - [ 1, Moves.WIDE_GUARD ], - [ 11, Moves.SLASH ], - [ 22, Moves.IRON_DEFENSE ], - [ 33, Moves.IRON_HEAD ], - [ 44, Moves.METAL_BURST ], - [ 55, Moves.CRUNCH ], - [ 66, Moves.MOONBLAST ], - [ 77, Moves.CLOSE_COMBAT ], - [ 88, Moves.GIGA_IMPACT ], - ], - [Species.ETERNATUS]: [ - [ 1, Moves.AGILITY ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.POISON_TAIL ], - [ 1, Moves.DRAGON_TAIL ], - [ 8, Moves.TOXIC ], - [ 16, Moves.VENOSHOCK ], - [ 24, Moves.DRAGON_DANCE ], - [ 32, Moves.CROSS_POISON ], - [ 40, Moves.DRAGON_PULSE ], - [ 48, Moves.FLAMETHROWER ], - [ 56, Moves.DYNAMAX_CANNON ], - [ 64, Moves.COSMIC_POWER ], - [ 72, Moves.RECOVER ], - [ 80, Moves.HYPER_BEAM ], - [ 88, Moves.OUTRAGE ], - ], - [Species.KUBFU]: [ - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_SMASH ], - [ 4, Moves.ENDURE ], - [ 8, Moves.FOCUS_ENERGY ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.SCARY_FACE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.BRICK_BREAK ], - [ 28, Moves.DETECT ], - [ 32, Moves.BULK_UP ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.DYNAMIC_PUNCH ], - [ 44, Moves.COUNTER ], - [ 48, Moves.CLOSE_COMBAT ], - [ 52, Moves.FOCUS_PUNCH ], - ], - [Species.URSHIFU]: [ - [ EVOLVE_MOVE, Moves.WICKED_BLOW ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.ENDURE ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.SUCKER_PUNCH ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.SCARY_FACE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.BRICK_BREAK ], - [ 28, Moves.DETECT ], - [ 32, Moves.BULK_UP ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.DYNAMIC_PUNCH ], - [ 44, Moves.COUNTER ], - [ 48, Moves.CLOSE_COMBAT ], - [ 52, Moves.FOCUS_PUNCH ], - ], - [Species.ZARUDE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.BIND ], - [ 6, Moves.LEER ], - [ 12, Moves.VINE_WHIP ], - [ 18, Moves.GROWTH ], - [ 24, Moves.FURY_SWIPES ], - [ 30, Moves.SCARY_FACE ], - [ 36, Moves.GRASS_KNOT ], - [ 42, Moves.BITE ], - [ 48, Moves.U_TURN ], - [ 54, Moves.SWAGGER ], - [ 60, Moves.ENERGY_BALL ], - [ 66, Moves.SYNTHESIS ], - [ 72, Moves.HAMMER_ARM ], - [ 78, Moves.THRASH ], - [ 84, Moves.POWER_WHIP ], - [ 90, Moves.JUNGLE_HEALING ], - ], - [Species.REGIELEKI]: [ - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.RAPID_SPIN ], - [ 6, Moves.ELECTROWEB ], - [ 12, Moves.ANCIENT_POWER ], - [ 18, Moves.SHOCK_WAVE ], - [ 24, Moves.THUNDER_WAVE ], - [ 30, Moves.EXTREME_SPEED ], - [ 36, Moves.THUNDER_CAGE ], - [ 42, Moves.THUNDERBOLT ], - [ 48, Moves.MAGNET_RISE ], - [ 54, Moves.THRASH ], - [ 60, Moves.LOCK_ON ], - [ 66, Moves.ZAP_CANNON ], - [ 72, Moves.HYPER_BEAM ], - [ 78, Moves.EXPLOSION ], - ], - [Species.REGIDRAGO]: [ - [ 1, Moves.TWISTER ], - [ 6, Moves.BITE ], - [ 12, Moves.ANCIENT_POWER ], - [ 18, Moves.DRAGON_BREATH ], - [ 30, Moves.CRUNCH ], - [ 36, Moves.DRAGON_CLAW ], - [ 42, Moves.HAMMER_ARM ], - [ 48, Moves.DRAGON_DANCE ], - [ 54, Moves.THRASH ], - [ 60, Moves.FOCUS_ENERGY ], - [ 66, Moves.DRAGON_ENERGY ], - [ 72, Moves.HYPER_BEAM ], - [ 78, Moves.EXPLOSION ], - ], - [Species.GLASTRIER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 6, Moves.DOUBLE_KICK ], - [ 12, Moves.AVALANCHE ], - [ 18, Moves.STOMP ], - [ 24, Moves.TORMENT ], - [ 30, Moves.MIST ], - [ 36, Moves.ICICLE_CRASH ], - [ 42, Moves.TAKE_DOWN ], - [ 48, Moves.IRON_DEFENSE ], - [ 54, Moves.THRASH ], - [ 60, Moves.TAUNT ], - [ 66, Moves.DOUBLE_EDGE ], - [ 72, Moves.SWORDS_DANCE ], - ], - [Species.SPECTRIER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 6, Moves.DOUBLE_KICK ], - [ 12, Moves.HEX ], - [ 18, Moves.STOMP ], - [ 24, Moves.CONFUSE_RAY ], - [ 30, Moves.HAZE ], - [ 36, Moves.SHADOW_BALL ], - [ 42, Moves.TAKE_DOWN ], - [ 48, Moves.AGILITY ], - [ 54, Moves.THRASH ], - [ 60, Moves.DISABLE ], - [ 66, Moves.DOUBLE_EDGE ], - [ 72, Moves.NASTY_PLOT ], - ], - [Species.CALYREX]: [ - [ 1, Moves.POUND ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.GROWTH ], - [ 1, Moves.CONFUSION ], - [ 8, Moves.LIFE_DEW ], - [ 16, Moves.GIGA_DRAIN ], - [ 24, Moves.PSYSHOCK ], - [ 32, Moves.HELPING_HAND ], - [ 40, Moves.GRASSY_TERRAIN ], - [ 40, Moves.PSYCHIC_TERRAIN ], - [ 48, Moves.ENERGY_BALL ], - [ 56, Moves.PSYCHIC ], - [ 64, Moves.LEECH_SEED ], - [ 72, Moves.HEAL_PULSE ], - [ 80, Moves.SOLAR_BEAM ], - [ 88, Moves.FUTURE_SIGHT ], - ], - [Species.WYRDEER]: [ - [ EVOLVE_MOVE, Moves.PSYSHIELD_BASH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.ME_FIRST ], // Previous Stage Move - [ 3, Moves.LEER ], - [ 7, Moves.ASTONISH ], - [ 10, Moves.HYPNOSIS ], - [ 13, Moves.STOMP ], - [ 16, Moves.SAND_ATTACK ], - [ 21, Moves.TAKE_DOWN ], - [ 23, Moves.CONFUSE_RAY ], - [ 27, Moves.CALM_MIND ], - [ 32, Moves.ROLE_PLAY ], - [ 37, Moves.ZEN_HEADBUTT ], - [ 49, Moves.IMPRISON ], - [ 55, Moves.DOUBLE_EDGE ], - [ 62, Moves.MEGAHORN ], - ], - [Species.KLEAVOR]: [ - [ EVOLVE_MOVE, Moves.STONE_AXE ], - [ 1, Moves.WING_ATTACK ], // Previous Stage Move - [ 1, Moves.AIR_SLASH ], // Previous Stage Move - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 4, Moves.FURY_CUTTER ], - [ 8, Moves.FALSE_SWIPE ], - [ 12, Moves.SMACK_DOWN ], - [ 16, Moves.DOUBLE_TEAM ], - [ 20, Moves.DOUBLE_HIT ], - [ 24, Moves.SLASH ], - [ 28, Moves.FOCUS_ENERGY ], - [ 30, Moves.STEEL_WING ], // Custom - [ 32, Moves.AGILITY ], - [ 36, Moves.ROCK_SLIDE ], - [ 40, Moves.X_SCISSOR ], - [ 44, Moves.SWORDS_DANCE ], - ], - [Species.URSALUNA]: [ - [ EVOLVE_MOVE, Moves.HEADLONG_RUSH ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.LICK ], - [ 1, Moves.COVET ], - [ 1, Moves.FLING ], // Previous Stage Move - [ 1, Moves.BABY_DOLL_EYES ], // Previous Stage Move - [ 1, Moves.FAKE_TEARS ], - [ 1, Moves.CHARM ], // Previous Stage Moves - [ 8, Moves.FURY_SWIPES ], - [ 13, Moves.PAYBACK ], - [ 17, Moves.SWEET_SCENT ], - [ 22, Moves.SLASH ], - [ 25, Moves.PLAY_NICE ], - [ 29, Moves.PLAY_ROUGH ], - [ 35, Moves.SCARY_FACE ], - [ 41, Moves.REST ], - [ 41, Moves.SNORE ], - [ 48, Moves.HIGH_HORSEPOWER ], - [ 56, Moves.THRASH ], - [ 64, Moves.HAMMER_ARM ], - ], - [Species.BASCULEGION]: [ - [ RELEARN_MOVE, Moves.FINAL_GAMBIT ], // Previous Stage Move, White Stripe currently shares moveset with other forms - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SHADOW_BALL ], - [ 1, Moves.PHANTOM_FORCE ], - [ 4, Moves.TACKLE ], - [ 8, Moves.FLAIL ], - [ 12, Moves.AQUA_JET ], - [ 16, Moves.BITE ], - [ 20, Moves.SCARY_FACE ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.SOAK ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.UPROAR ], - [ 44, Moves.WAVE_CRASH ], - [ 48, Moves.THRASH ], - [ 52, Moves.DOUBLE_EDGE ], - [ 56, Moves.HEAD_SMASH ], - ], - [Species.SNEASLER]: [ - [ EVOLVE_MOVE, Moves.DIRE_CLAW ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.FLING ], - [ 6, Moves.TAUNT ], - [ 12, Moves.QUICK_ATTACK ], - [ 18, Moves.METAL_CLAW ], - [ 24, Moves.POISON_JAB ], - [ 30, Moves.BRICK_BREAK ], - [ 36, Moves.HONE_CLAWS ], - [ 42, Moves.SLASH ], - [ 48, Moves.AGILITY ], - [ 54, Moves.SCREECH ], - [ 60, Moves.CLOSE_COMBAT ], - ], - [Species.OVERQWIL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POISON_STING ], - [ 4, Moves.HARDEN ], - [ 8, Moves.BITE ], - [ 12, Moves.FELL_STINGER ], - [ 16, Moves.MINIMIZE ], - [ 20, Moves.SPIKES ], - [ 24, Moves.BRINE ], - [ 28, Moves.BARB_BARRAGE ], - [ 32, Moves.PIN_MISSILE ], - [ 36, Moves.TOXIC_SPIKES ], - [ 40, Moves.STOCKPILE ], - [ 40, Moves.SPIT_UP ], - [ 44, Moves.TOXIC ], - [ 48, Moves.CRUNCH ], - [ 52, Moves.ACUPRESSURE ], - [ 56, Moves.DESTINY_BOND ], - ], - [Species.ENAMORUS]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.FAIRY_WIND ], - [ 5, Moves.TORMENT ], - [ 10, Moves.FLATTER ], - [ 15, Moves.TWISTER ], - [ 20, Moves.DRAINING_KISS ], - [ 25, Moves.IRON_DEFENSE ], - [ 30, Moves.IMPRISON ], - [ 35, Moves.MYSTICAL_FIRE ], - [ 40, Moves.DAZZLING_GLEAM ], - [ 45, Moves.EXTRASENSORY ], - [ 50, Moves.UPROAR ], - [ 55, Moves.SUPERPOWER ], - [ 60, Moves.HEALING_WISH ], - [ 65, Moves.MOONBLAST ], - [ 70, Moves.OUTRAGE ], - [ 75, Moves.SPRINGTIDE_STORM ], - ], - [Species.SPRIGATITO]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.LEAFAGE ], - [ 7, Moves.BITE ], - [ 10, Moves.HONE_CLAWS ], - [ 13, Moves.MAGICAL_LEAF ], - [ 15, Moves.QUICK_ATTACK ], - [ 17, Moves.SEED_BOMB ], - [ 21, Moves.U_TURN ], - [ 25, Moves.WORRY_SEED ], - [ 28, Moves.SLASH ], - [ 32, Moves.ENERGY_BALL ], - [ 36, Moves.PLAY_ROUGH ], - ], - [Species.FLORAGATO]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.LEAFAGE ], - [ 7, Moves.BITE ], - [ 10, Moves.HONE_CLAWS ], - [ 13, Moves.MAGICAL_LEAF ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.SEED_BOMB ], - [ 24, Moves.U_TURN ], - [ 28, Moves.WORRY_SEED ], - [ 33, Moves.SLASH ], - [ 38, Moves.ENERGY_BALL ], - [ 42, Moves.PLAY_ROUGH ], - [ 46, Moves.LEAF_STORM ], - ], - [Species.MEOWSCARADA]: [ - [ EVOLVE_MOVE, Moves.FLOWER_TRICK ], - [ RELEARN_MOVE, Moves.DOUBLE_TEAM ], - [ RELEARN_MOVE, Moves.TRICK ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.LEAFAGE ], - [ 7, Moves.BITE ], - [ 10, Moves.HONE_CLAWS ], - [ 13, Moves.MAGICAL_LEAF ], - [ 15, Moves.QUICK_ATTACK ], - [ 20, Moves.SEED_BOMB ], - [ 24, Moves.U_TURN ], - [ 29, Moves.WORRY_SEED ], - [ 33, Moves.SLASH ], - [ 38, Moves.NIGHT_SLASH ], - [ 42, Moves.ENERGY_BALL ], - [ 47, Moves.PLAY_ROUGH ], - [ 52, Moves.KNOCK_OFF ], - [ 58, Moves.GRASSY_TERRAIN ], - [ 64, Moves.LEAF_STORM ], - ], - [Species.FUECOCO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 7, Moves.ROUND ], - [ 12, Moves.BITE ], - [ 15, Moves.INCINERATE ], - [ 17, Moves.YAWN ], - [ 21, Moves.SNARL ], - [ 25, Moves.ROAR ], - [ 28, Moves.FLAMETHROWER ], - [ 32, Moves.HYPER_VOICE ], - [ 36, Moves.FIRE_BLAST ], - ], - [Species.CROCALOR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 7, Moves.LICK ], - [ 10, Moves.ROUND ], - [ 12, Moves.BITE ], - [ 15, Moves.YAWN ], - [ 17, Moves.INCINERATE ], - [ 24, Moves.SNARL ], - [ 28, Moves.ROAR ], - [ 32, Moves.FLAMETHROWER ], - [ 38, Moves.HYPER_VOICE ], - [ 42, Moves.WILL_O_WISP ], - [ 47, Moves.FIRE_BLAST ], - ], - [Species.SKELEDIRGE]: [ - [ EVOLVE_MOVE, Moves.TORCH_SONG ], - [ RELEARN_MOVE, Moves.SING ], - [ RELEARN_MOVE, Moves.YAWN ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 7, Moves.LICK ], - [ 10, Moves.ROUND ], - [ 12, Moves.SCARY_FACE ], - [ 15, Moves.BITE ], - [ 17, Moves.INCINERATE ], - [ 24, Moves.SNARL ], - [ 28, Moves.ROAR ], - [ 32, Moves.FLAMETHROWER ], - [ 38, Moves.SHADOW_BALL ], - [ 42, Moves.HYPER_VOICE ], - [ 47, Moves.WILL_O_WISP ], - [ 47, Moves.HEX ], - [ 58, Moves.FIRE_BLAST ], - [ 64, Moves.OVERHEAT ], - ], - [Species.QUAXLY]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 7, Moves.WORK_UP ], - [ 10, Moves.WING_ATTACK ], - [ 13, Moves.AQUA_JET ], - [ 17, Moves.DOUBLE_HIT ], - [ 21, Moves.AQUA_CUTTER ], - [ 24, Moves.AIR_SLASH ], - [ 28, Moves.FOCUS_ENERGY ], - [ 31, Moves.ACROBATICS ], - [ 35, Moves.LIQUIDATION ], - ], - [Species.QUAXWELL]: [ - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DOUBLE_HIT ], - [ 7, Moves.WORK_UP ], - [ 10, Moves.WING_ATTACK ], - [ 13, Moves.AQUA_JET ], - [ 17, Moves.WATER_PULSE ], - [ 19, Moves.LOW_SWEEP ], - [ 23, Moves.AQUA_CUTTER ], - [ 27, Moves.AIR_SLASH ], - [ 32, Moves.FOCUS_ENERGY ], - [ 38, Moves.ACROBATICS ], - [ 43, Moves.LIQUIDATION ], - [ 48, Moves.FEATHER_DANCE ], - ], - [Species.QUAQUAVAL]: [ - [ EVOLVE_MOVE, Moves.AQUA_STEP ], - [ RELEARN_MOVE, Moves.COUNTER ], - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DOUBLE_HIT ], - [ 7, Moves.WORK_UP ], - [ 10, Moves.WING_ATTACK ], - [ 13, Moves.AQUA_JET ], - [ 17, Moves.WATER_PULSE ], - [ 17, Moves.LOW_SWEEP ], - [ 21, Moves.AQUA_CUTTER ], - [ 27, Moves.AIR_SLASH ], - [ 32, Moves.FOCUS_ENERGY ], - [ 38, Moves.MEGA_KICK ], - [ 43, Moves.ACROBATICS ], - [ 47, Moves.LIQUIDATION ], - [ 52, Moves.FEATHER_DANCE ], - [ 58, Moves.CLOSE_COMBAT ], - [ 64, Moves.WAVE_CRASH ], - ], - [Species.LECHONK]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.DISARMING_VOICE ], - [ 8, Moves.ECHOED_VOICE ], - [ 12, Moves.MUD_SHOT ], - [ 15, Moves.COVET ], - [ 17, Moves.DIG ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.YAWN ], - [ 27, Moves.TAKE_DOWN ], - [ 30, Moves.WORK_UP ], - [ 32, Moves.UPROAR ], - [ 35, Moves.DOUBLE_EDGE ], - ], - [Species.OINKOLOGNE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.DISARMING_VOICE ], - [ 8, Moves.ECHOED_VOICE ], - [ 12, Moves.MUD_SHOT ], - [ 15, Moves.COVET ], - [ 17, Moves.DIG ], - [ 23, Moves.HEADBUTT ], - [ 26, Moves.TAKE_DOWN ], - [ 27, Moves.YAWN ], - [ 34, Moves.WORK_UP ], - [ 38, Moves.UPROAR ], - [ 42, Moves.DOUBLE_EDGE ], - [ 48, Moves.EARTH_POWER ], - [ 54, Moves.BELCH ], - ], - [Species.TAROUNTULA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.STRING_SHOT ], - [ 5, Moves.STRUGGLE_BUG ], - [ 8, Moves.ASSURANCE ], - [ 11, Moves.FEINT ], - [ 14, Moves.BUG_BITE ], - [ 18, Moves.BLOCK ], - [ 22, Moves.COUNTER ], - [ 25, Moves.HEADBUTT ], - [ 29, Moves.STICKY_WEB ], - [ 33, Moves.GASTRO_ACID ], - [ 36, Moves.CIRCLE_THROW ], - [ 40, Moves.THROAT_CHOP ], - [ 44, Moves.SKITTER_SMACK ], - ], - [Species.SPIDOPS]: [ - [ EVOLVE_MOVE, Moves.SILK_TRAP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.STRING_SHOT ], - [ 5, Moves.STRUGGLE_BUG ], - [ 8, Moves.ASSURANCE ], - [ 11, Moves.FEINT ], - [ 14, Moves.BUG_BITE ], - [ 19, Moves.BLOCK ], - [ 24, Moves.COUNTER ], - [ 28, Moves.HEADBUTT ], - [ 33, Moves.STICKY_WEB ], - [ 37, Moves.GASTRO_ACID ], - [ 41, Moves.CIRCLE_THROW ], - [ 45, Moves.THROAT_CHOP ], - [ 49, Moves.SKITTER_SMACK ], - ], - [Species.NYMBLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 4, Moves.STRUGGLE_BUG ], - [ 6, Moves.ASTONISH ], - [ 9, Moves.ASSURANCE ], - [ 11, Moves.DOUBLE_KICK ], - [ 14, Moves.SCREECH ], - [ 18, Moves.ENDURE ], - [ 22, Moves.BUG_BITE ], - [ 26, Moves.FEINT ], - [ 30, Moves.AGILITY ], - [ 38, Moves.SUCKER_PUNCH ], - [ 41, Moves.FIRST_IMPRESSION ], - ], - [Species.LOKIX]: [ - [ EVOLVE_MOVE, Moves.LUNGE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.DETECT ], - [ 4, Moves.STRUGGLE_BUG ], - [ 6, Moves.ASTONISH ], - [ 9, Moves.ASSURANCE ], - [ 11, Moves.DOUBLE_KICK ], - [ 14, Moves.SCREECH ], - [ 18, Moves.ENDURE ], - [ 22, Moves.BUG_BITE ], - [ 28, Moves.FEINT ], - [ 32, Moves.AGILITY ], - [ 36, Moves.THROAT_CHOP ], - [ 40, Moves.SUCKER_PUNCH ], - [ 44, Moves.FIRST_IMPRESSION ], - [ 48, Moves.BOUNCE ], - [ 53, Moves.AXE_KICK ], - ], - [Species.PAWMI]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 3, Moves.THUNDER_SHOCK ], - [ 6, Moves.QUICK_ATTACK ], - [ 8, Moves.CHARGE ], - [ 12, Moves.NUZZLE ], - [ 15, Moves.DIG ], - [ 19, Moves.BITE ], - [ 23, Moves.SPARK ], - [ 27, Moves.THUNDER_WAVE ], - [ 31, Moves.ENTRAINMENT ], - [ 35, Moves.SLAM ], - [ 38, Moves.DISCHARGE ], - [ 40, Moves.AGILITY ], - [ 44, Moves.WILD_CHARGE ], - ], - [Species.PAWMO]: [ - [ EVOLVE_MOVE, Moves.ARM_THRUST ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 3, Moves.THUNDER_SHOCK ], - [ 6, Moves.QUICK_ATTACK ], - [ 8, Moves.CHARGE ], - [ 12, Moves.NUZZLE ], - [ 15, Moves.DIG ], - [ 19, Moves.BITE ], - [ 23, Moves.SPARK ], - [ 27, Moves.THUNDER_WAVE ], - [ 32, Moves.SLAM ], - [ 38, Moves.ENTRAINMENT ], - [ 42, Moves.DISCHARGE ], - [ 46, Moves.AGILITY ], - [ 52, Moves.WILD_CHARGE ], - ], - [Species.PAWMOT]: [ - [ EVOLVE_MOVE, Moves.REVIVAL_BLESSING ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.WILD_CHARGE ], - [ 3, Moves.THUNDER_SHOCK ], - [ 6, Moves.QUICK_ATTACK ], - [ 8, Moves.CHARGE ], - [ 12, Moves.NUZZLE ], - [ 15, Moves.DIG ], - [ 19, Moves.BITE ], - [ 23, Moves.SPARK ], - [ 25, Moves.ARM_THRUST ], - [ 29, Moves.THUNDER_WAVE ], - [ 33, Moves.SLAM ], - [ 39, Moves.ENTRAINMENT ], - [ 44, Moves.CLOSE_COMBAT ], - [ 49, Moves.DISCHARGE ], - [ 54, Moves.AGILITY ], - [ 60, Moves.DOUBLE_SHOCK ], - ], - [Species.TANDEMAUS]: [ - [ 1, Moves.POUND ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 5, Moves.ECHOED_VOICE ], - [ 8, Moves.HELPING_HAND ], - [ 11, Moves.SUPER_FANG ], - [ 14, Moves.DOUBLE_HIT ], - [ 18, Moves.BULLET_SEED ], - [ 22, Moves.ENCORE ], - [ 26, Moves.PLAY_ROUGH ], - [ 30, Moves.HYPER_VOICE ], - [ 33, Moves.CHARM ], - [ 37, Moves.BEAT_UP ], - [ 41, Moves.COPYCAT ], - [ 46, Moves.POPULATION_BOMB ], - ], - [Species.MAUSHOLD]: [ - [ 1, Moves.POUND ], - [ 1, Moves.FOLLOW_ME ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 1, Moves.TIDY_UP ], - [ 5, Moves.ECHOED_VOICE ], - [ 8, Moves.HELPING_HAND ], - [ 11, Moves.SUPER_FANG ], - [ 14, Moves.DOUBLE_HIT ], - [ 18, Moves.BULLET_SEED ], - [ 22, Moves.ENCORE ], - [ 29, Moves.PLAY_ROUGH ], - [ 33, Moves.HYPER_VOICE ], - [ 37, Moves.CHARM ], - [ 41, Moves.BEAT_UP ], - [ 46, Moves.COPYCAT ], - [ 53, Moves.POPULATION_BOMB ], - ], - [Species.FIDOUGH]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.LICK ], - [ 6, Moves.TAIL_WHIP ], - [ 8, Moves.COVET ], - [ 11, Moves.BITE ], - [ 15, Moves.BABY_DOLL_EYES ], - [ 18, Moves.PLAY_ROUGH ], - [ 22, Moves.WORK_UP ], - [ 26, Moves.BATON_PASS ], - [ 30, Moves.ROAR ], - [ 33, Moves.DOUBLE_EDGE ], - [ 36, Moves.CHARM ], - [ 40, Moves.CRUNCH ], - [ 45, Moves.LAST_RESORT ], - ], - [Species.DACHSBUN]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.LICK ], - [ 6, Moves.TAIL_WHIP ], - [ 8, Moves.COVET ], - [ 11, Moves.BITE ], - [ 15, Moves.BABY_DOLL_EYES ], - [ 18, Moves.PLAY_ROUGH ], - [ 22, Moves.WORK_UP ], - [ 29, Moves.BATON_PASS ], - [ 33, Moves.ROAR ], - [ 38, Moves.DOUBLE_EDGE ], - [ 42, Moves.CHARM ], - [ 47, Moves.CRUNCH ], - [ 53, Moves.LAST_RESORT ], - ], - [Species.SMOLIV]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SWEET_SCENT ], - [ 5, Moves.ABSORB ], - [ 7, Moves.GROWTH ], - [ 10, Moves.RAZOR_LEAF ], - [ 13, Moves.HELPING_HAND ], - [ 16, Moves.FLAIL ], - [ 20, Moves.MEGA_DRAIN ], - [ 23, Moves.GRASSY_TERRAIN ], - [ 27, Moves.SEED_BOMB ], - [ 30, Moves.ENERGY_BALL ], - [ 34, Moves.LEECH_SEED ], - [ 38, Moves.TERRAIN_PULSE ], - ], - [Species.DOLLIV]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SWEET_SCENT ], - [ 5, Moves.ABSORB ], - [ 7, Moves.GROWTH ], - [ 10, Moves.RAZOR_LEAF ], - [ 13, Moves.HELPING_HAND ], - [ 16, Moves.FLAIL ], - [ 20, Moves.MEGA_DRAIN ], - [ 23, Moves.GRASSY_TERRAIN ], - [ 29, Moves.SEED_BOMB ], - [ 34, Moves.ENERGY_BALL ], - [ 37, Moves.LEECH_SEED ], - [ 42, Moves.TERRAIN_PULSE ], - ], - [Species.ARBOLIVA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.MIRROR_COAT ], - [ 5, Moves.ABSORB ], - [ 7, Moves.GROWTH ], - [ 10, Moves.RAZOR_LEAF ], - [ 13, Moves.HELPING_HAND ], - [ 16, Moves.FLAIL ], - [ 20, Moves.MEGA_DRAIN ], - [ 23, Moves.GRASSY_TERRAIN ], - [ 29, Moves.SEED_BOMB ], - [ 34, Moves.ENERGY_BALL ], - [ 39, Moves.LEECH_SEED ], - [ 46, Moves.TERRAIN_PULSE ], - [ 52, Moves.PETAL_BLIZZARD ], - [ 58, Moves.PETAL_DANCE ], - ], - [Species.SQUAWKABILLY]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 1, Moves.MIMIC ], - [ 6, Moves.QUICK_ATTACK ], - [ 10, Moves.TORMENT ], - [ 13, Moves.AERIAL_ACE ], - [ 17, Moves.FURY_ATTACK ], - [ 20, Moves.TAUNT ], - [ 24, Moves.UPROAR ], - [ 27, Moves.COPYCAT ], - [ 30, Moves.FLY ], - [ 34, Moves.FACADE ], - [ 38, Moves.SWAGGER ], - [ 42, Moves.BRAVE_BIRD ], - [ 47, Moves.ROOST ], - [ 52, Moves.REVERSAL ], - ], - [Species.NACLI]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.ROCK_THROW ], - [ 7, Moves.MUD_SHOT ], - [ 10, Moves.SMACK_DOWN ], - [ 13, Moves.ROCK_POLISH ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.IRON_DEFENSE ], - [ 25, Moves.RECOVER ], - [ 30, Moves.ROCK_SLIDE ], - [ 33, Moves.STEALTH_ROCK ], - [ 35, Moves.HEAVY_SLAM ], - [ 40, Moves.EARTHQUAKE ], - [ 45, Moves.STONE_EDGE ], - ], - [Species.NACLSTACK]: [ - [ EVOLVE_MOVE, Moves.SALT_CURE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.ROCK_THROW ], - [ 7, Moves.MUD_SHOT ], - [ 10, Moves.SMACK_DOWN ], - [ 13, Moves.ROCK_POLISH ], - [ 16, Moves.HEADBUTT ], - [ 20, Moves.IRON_DEFENSE ], - [ 30, Moves.RECOVER ], - [ 34, Moves.ROCK_SLIDE ], - [ 38, Moves.STEALTH_ROCK ], - [ 41, Moves.HEAVY_SLAM ], - [ 45, Moves.EARTHQUAKE ], - [ 51, Moves.STONE_EDGE ], - ], - [Species.GARGANACL]: [ - [ EVOLVE_MOVE, Moves.HAMMER_ARM ], - [ RELEARN_MOVE, Moves.IRON_DEFENSE ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.BLOCK ], - [ 1, Moves.ROCK_BLAST ], - [ 1, Moves.SMACK_DOWN ], // Previous Stage Move - [ 1, Moves.WIDE_GUARD ], - [ 5, Moves.ROCK_THROW ], - [ 7, Moves.MUD_SHOT ], - [ 10, Moves.ROCK_TOMB ], - [ 13, Moves.ROCK_POLISH ], - [ 16, Moves.HEADBUTT ], - [ 24, Moves.SALT_CURE ], - [ 30, Moves.RECOVER ], - [ 34, Moves.ROCK_SLIDE ], - [ 40, Moves.STEALTH_ROCK ], - [ 44, Moves.HEAVY_SLAM ], - [ 49, Moves.EARTHQUAKE ], - [ 54, Moves.STONE_EDGE ], - [ 60, Moves.EXPLOSION ], - ], - [Species.CHARCADET]: [ - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.ASTONISH ], - [ 8, Moves.CLEAR_SMOG ], - [ 12, Moves.FIRE_SPIN ], - [ 16, Moves.WILL_O_WISP ], - [ 20, Moves.NIGHT_SHADE ], - [ 24, Moves.FLAME_CHARGE ], - [ 28, Moves.INCINERATE ], - [ 32, Moves.LAVA_PLUME ], - ], - [Species.ARMAROUGE]: [ - [ EVOLVE_MOVE, Moves.PSYSHOCK ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.WIDE_GUARD ], - [ 1, Moves.MYSTICAL_FIRE ], - [ 8, Moves.CLEAR_SMOG ], - [ 12, Moves.FIRE_SPIN ], - [ 16, Moves.WILL_O_WISP ], - [ 20, Moves.NIGHT_SHADE ], - [ 24, Moves.FLAME_CHARGE ], - [ 28, Moves.INCINERATE ], - [ 32, Moves.LAVA_PLUME ], - [ 37, Moves.CALM_MIND ], - [ 42, Moves.ALLY_SWITCH ], - [ 48, Moves.FLAMETHROWER ], - [ 56, Moves.EXPANDING_FORCE ], - [ 62, Moves.ARMOR_CANNON ], - ], - [Species.CERULEDGE]: [ - [ EVOLVE_MOVE, Moves.SHADOW_CLAW ], - [ RELEARN_MOVE, Moves.NIGHT_SLASH ], - [ RELEARN_MOVE, Moves.SHADOW_SNEAK ], - [ RELEARN_MOVE, Moves.QUICK_GUARD ], - [ RELEARN_MOVE, Moves.SOLAR_BLADE ], - [ 1, Moves.EMBER ], - [ 1, Moves.LEER ], - [ 1, Moves.ASTONISH ], - [ 8, Moves.CLEAR_SMOG ], - [ 12, Moves.FIRE_SPIN ], - [ 16, Moves.WILL_O_WISP ], - [ 20, Moves.NIGHT_SHADE ], - [ 24, Moves.FLAME_CHARGE ], - [ 28, Moves.INCINERATE ], - [ 32, Moves.LAVA_PLUME ], - [ 37, Moves.SWORDS_DANCE ], - [ 42, Moves.ALLY_SWITCH ], - [ 48, Moves.BITTER_BLADE ], - [ 56, Moves.PSYCHO_CUT ], - [ 62, Moves.FLARE_BLITZ ], - ], - [Species.TADBULB]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.MUD_SLAP ], - [ 7, Moves.THUNDER_SHOCK ], - [ 11, Moves.WATER_GUN ], - [ 17, Moves.CHARGE ], - [ 21, Moves.SPARK ], - [ 24, Moves.MUD_SHOT ], - [ 25, Moves.FLAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.WEATHER_BALL ], - [ 40, Moves.ELECTRIC_TERRAIN ], - [ 45, Moves.SUCKER_PUNCH ], - [ 50, Moves.ZAP_CANNON ], - ], - [Species.BELLIBOLT]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.SLACK_OFF ], - [ 7, Moves.THUNDER_SHOCK ], - [ 11, Moves.WATER_GUN ], - [ 17, Moves.CHARGE ], - [ 21, Moves.SPARK ], - [ 24, Moves.MUD_SHOT ], - [ 25, Moves.FLAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.WEATHER_BALL ], - [ 40, Moves.ELECTRIC_TERRAIN ], - [ 45, Moves.SUCKER_PUNCH ], - [ 50, Moves.ZAP_CANNON ], - ], - [Species.WATTREL]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 4, Moves.THUNDER_SHOCK ], - [ 7, Moves.QUICK_ATTACK ], - [ 11, Moves.PLUCK ], - [ 15, Moves.SPARK ], - [ 19, Moves.UPROAR ], - [ 23, Moves.ROOST ], - [ 27, Moves.DUAL_WINGBEAT ], - [ 32, Moves.AGILITY ], - [ 37, Moves.VOLT_SWITCH ], - [ 43, Moves.DISCHARGE ], - ], - [Species.KILOWATTREL]: [ - [ EVOLVE_MOVE, Moves.ELECTRO_BALL ], - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 4, Moves.THUNDER_SHOCK ], - [ 7, Moves.QUICK_ATTACK ], - [ 11, Moves.PLUCK ], - [ 15, Moves.SPARK ], - [ 19, Moves.UPROAR ], - [ 24, Moves.ROOST ], - [ 30, Moves.DUAL_WINGBEAT ], - [ 36, Moves.AGILITY ], - [ 43, Moves.VOLT_SWITCH ], - [ 48, Moves.DISCHARGE ], - [ 55, Moves.HURRICANE ], - ], - [Species.MASCHIFF]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.SCARY_FACE ], - [ 4, Moves.LICK ], - [ 7, Moves.SNARL ], - [ 10, Moves.HONE_CLAWS ], - [ 14, Moves.BITE ], - [ 18, Moves.ROAR ], - [ 22, Moves.HEADBUTT ], - [ 26, Moves.PAYBACK ], - [ 31, Moves.CRUNCH ], - [ 35, Moves.SWAGGER ], - [ 39, Moves.REVERSAL ], - [ 43, Moves.JAW_LOCK ], - [ 49, Moves.DOUBLE_EDGE ], - ], - [Species.MABOSSTIFF]: [ - [ EVOLVE_MOVE, Moves.COMEUPPANCE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.SCARY_FACE ], - [ 4, Moves.LICK ], - [ 7, Moves.SNARL ], - [ 10, Moves.HONE_CLAWS ], - [ 14, Moves.BITE ], - [ 18, Moves.ROAR ], - [ 22, Moves.HEADBUTT ], - [ 26, Moves.PAYBACK ], - [ 34, Moves.CRUNCH ], - [ 39, Moves.SWAGGER ], - [ 43, Moves.REVERSAL ], - [ 48, Moves.JAW_LOCK ], - [ 55, Moves.DOUBLE_EDGE ], - [ 60, Moves.OUTRAGE ], - ], - [Species.SHROODLE]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 5, Moves.ACID_SPRAY ], - [ 8, Moves.BITE ], - [ 8, Moves.FURY_SWIPES ], - [ 11, Moves.SWITCHEROO ], - [ 14, Moves.POISON_FANG ], - [ 18, Moves.FLATTER ], - [ 21, Moves.SLASH ], - [ 25, Moves.U_TURN ], - [ 29, Moves.POISON_JAB ], - [ 33, Moves.TAUNT ], - [ 36, Moves.SUBSTITUTE ], - [ 40, Moves.KNOCK_OFF ], - [ 45, Moves.GUNK_SHOT ], - ], - [Species.GRAFAIAI]: [ - [ EVOLVE_MOVE, Moves.DOODLE ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], // Previous Stage Move - [ 5, Moves.ACID_SPRAY ], - [ 8, Moves.FURY_SWIPES ], - [ 11, Moves.SWITCHEROO ], - [ 14, Moves.POISON_FANG ], - [ 18, Moves.FLATTER ], - [ 21, Moves.SLASH ], - [ 25, Moves.U_TURN ], - [ 33, Moves.POISON_JAB ], - [ 37, Moves.TAUNT ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.KNOCK_OFF ], - [ 51, Moves.GUNK_SHOT ], - ], - [Species.BRAMBLIN]: [ - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.ABSORB ], - [ 9, Moves.RAPID_SPIN ], - [ 13, Moves.BULLET_SEED ], - [ 17, Moves.INFESTATION ], - [ 21, Moves.HEX ], - [ 25, Moves.MEGA_DRAIN ], - [ 29, Moves.DISABLE ], - [ 35, Moves.PHANTOM_FORCE ], - [ 40, Moves.GIGA_DRAIN ], - [ 45, Moves.CURSE ], - [ 50, Moves.PAIN_SPLIT ], - [ 55, Moves.POWER_WHIP ], - ], - [Species.BRAMBLEGHAST]: [ - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.ABSORB ], - [ 9, Moves.RAPID_SPIN ], - [ 13, Moves.BULLET_SEED ], - [ 17, Moves.INFESTATION ], - [ 21, Moves.HEX ], - [ 25, Moves.MEGA_DRAIN ], - [ 29, Moves.DISABLE ], - [ 35, Moves.PHANTOM_FORCE ], - [ 40, Moves.GIGA_DRAIN ], - [ 45, Moves.CURSE ], - [ 50, Moves.PAIN_SPLIT ], - [ 55, Moves.POWER_WHIP ], - ], - [Species.TOEDSCOOL]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.MUD_SLAP ], - [ 4, Moves.ABSORB ], - [ 8, Moves.POISON_POWDER ], - [ 8, Moves.STUN_SPORE ], - [ 12, Moves.SUPERSONIC ], - [ 15, Moves.TACKLE ], - [ 16, Moves.MEGA_DRAIN ], - [ 20, Moves.SCREECH ], - [ 24, Moves.MUD_SHOT ], - [ 28, Moves.HEX ], - [ 32, Moves.SEED_BOMB ], - [ 36, Moves.SPORE ], - [ 40, Moves.GROWTH ], - [ 44, Moves.GIGA_DRAIN ], - [ 48, Moves.EARTH_POWER ], - [ 52, Moves.POWER_WHIP ], - ], - [Species.TOEDSCRUEL]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.REFLECT_TYPE ], - [ 4, Moves.ABSORB ], - [ 8, Moves.POISON_POWDER ], - [ 8, Moves.STUN_SPORE ], - [ 12, Moves.SUPERSONIC ], - [ 15, Moves.TACKLE ], - [ 16, Moves.MEGA_DRAIN ], - [ 20, Moves.SCREECH ], - [ 24, Moves.MUD_SHOT ], - [ 28, Moves.HEX ], - [ 34, Moves.SEED_BOMB ], - [ 40, Moves.SPORE ], - [ 44, Moves.GROWTH ], - [ 48, Moves.GIGA_DRAIN ], - [ 54, Moves.EARTH_POWER ], - [ 58, Moves.POWER_WHIP ], - ], - [Species.KLAWF]: [ - [ 1, Moves.ROCK_THROW ], - [ 6, Moves.HARDEN ], - [ 9, Moves.ROCK_SMASH ], - [ 13, Moves.ROCK_TOMB ], - [ 17, Moves.METAL_CLAW ], - [ 21, Moves.PROTECT ], - [ 24, Moves.ROCK_BLAST ], - [ 29, Moves.X_SCISSOR ], - [ 33, Moves.SWORDS_DANCE ], - [ 37, Moves.FLAIL ], - [ 42, Moves.ROCK_SLIDE ], - [ 47, Moves.HIGH_HORSEPOWER ], - [ 51, Moves.IRON_DEFENSE ], - [ 56, Moves.GUILLOTINE ], - ], - [Species.CAPSAKID]: [ - [ 1, Moves.LEER ], - [ 1, Moves.LEAFAGE ], - [ 4, Moves.BITE ], - [ 10, Moves.GROWTH ], - [ 13, Moves.RAZOR_LEAF ], - [ 17, Moves.SUNNY_DAY ], - [ 21, Moves.BULLET_SEED ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.ZEN_HEADBUTT ], - [ 38, Moves.CRUNCH ], - [ 44, Moves.SEED_BOMB ], - [ 48, Moves.SOLAR_BEAM ], - ], - [Species.SCOVILLAIN]: [ - [ EVOLVE_MOVE, Moves.FLAMETHROWER ], - [ EVOLVE_MOVE, Moves.SPICY_EXTRACT ], - [ 1, Moves.LEER ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.LEAFAGE ], - [ 4, Moves.BITE ], - [ 10, Moves.GROWTH ], - [ 13, Moves.RAZOR_LEAF ], - [ 17, Moves.SUNNY_DAY ], - [ 21, Moves.BULLET_SEED ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.ZEN_HEADBUTT ], - [ 33, Moves.WORRY_SEED ], - [ 38, Moves.CRUNCH ], - [ 44, Moves.SEED_BOMB ], - [ 48, Moves.SOLAR_BEAM ], - [ 48, Moves.OVERHEAT ], - ], - [Species.RELLOR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 4, Moves.SAND_ATTACK ], - [ 7, Moves.STRUGGLE_BUG ], - [ 11, Moves.ROLLOUT ], - [ 15, Moves.MUD_SHOT ], - [ 20, Moves.BUG_BITE ], - [ 24, Moves.TAKE_DOWN ], - [ 29, Moves.DIG ], - [ 35, Moves.LUNGE ], - ], - [Species.RABSCA]: [ - [ EVOLVE_MOVE, Moves.REVIVAL_BLESSING ], - [ RELEARN_MOVE, Moves.SAFEGUARD ], - [ RELEARN_MOVE, Moves.PSYCH_UP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.MUD_SHOT ], // Previous Stage Move - [ 1, Moves.DIG ], // Previous Stage Move - [ 4, Moves.SAND_ATTACK ], - [ 7, Moves.STRUGGLE_BUG ], - [ 11, Moves.ROLLOUT ], - [ 15, Moves.PSYBEAM ], - [ 20, Moves.BUG_BITE ], - [ 24, Moves.TAKE_DOWN ], - [ 29, Moves.EXTRASENSORY ], - [ 35, Moves.LUNGE ], - [ 40, Moves.POWER_SWAP ], - [ 40, Moves.GUARD_SWAP ], - [ 40, Moves.SPEED_SWAP ], - [ 45, Moves.BUG_BUZZ ], - [ 50, Moves.PSYCHIC ], - ], - [Species.FLITTLE]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 5, Moves.CONFUSION ], - [ 8, Moves.BABY_DOLL_EYES ], - [ 11, Moves.DISARMING_VOICE ], - [ 15, Moves.QUICK_ATTACK ], - [ 19, Moves.PSYBEAM ], - [ 24, Moves.PLUCK ], - [ 29, Moves.AGILITY ], - [ 34, Moves.UPROAR ], - ], - [Species.ESPATHRA]: [ - [ EVOLVE_MOVE, Moves.LUMINA_CRASH ], - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 1, Moves.DRILL_PECK ], - [ 1, Moves.FEATHER_DANCE ], - [ 5, Moves.CONFUSION ], - [ 8, Moves.BABY_DOLL_EYES ], - [ 11, Moves.DISARMING_VOICE ], - [ 15, Moves.QUICK_ATTACK ], - [ 19, Moves.PSYBEAM ], - [ 24, Moves.PLUCK ], - [ 29, Moves.AGILITY ], - [ 34, Moves.UPROAR ], - [ 43, Moves.DAZZLING_GLEAM ], - [ 49, Moves.PSYCHIC ], - [ 54, Moves.LAST_RESORT ], - ], - [Species.TINKATINK]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.FAIRY_WIND ], - [ 5, Moves.BABY_DOLL_EYES ], - [ 8, Moves.METAL_CLAW ], - [ 11, Moves.COVET ], - [ 14, Moves.ROCK_SMASH ], - [ 17, Moves.DRAINING_KISS ], - [ 21, Moves.SWEET_KISS ], - [ 24, Moves.BRUTAL_SWING ], - [ 27, Moves.SLAM ], - [ 31, Moves.FLASH_CANNON ], - [ 35, Moves.PLAY_ROUGH ], - [ 39, Moves.FAKE_OUT ], - [ 43, Moves.FLATTER ], - [ 47, Moves.SKITTER_SMACK ], - [ 52, Moves.KNOCK_OFF ], - ], - [Species.TINKATUFF]: [ - [ 1, Moves.ASTONISH ], - [ 1, Moves.FAIRY_WIND ], - [ 5, Moves.BABY_DOLL_EYES ], - [ 8, Moves.METAL_CLAW ], - [ 11, Moves.COVET ], - [ 14, Moves.ROCK_SMASH ], - [ 17, Moves.DRAINING_KISS ], - [ 21, Moves.SWEET_KISS ], - [ 24, Moves.BRUTAL_SWING ], - [ 27, Moves.SLAM ], - [ 31, Moves.FLASH_CANNON ], - [ 35, Moves.PLAY_ROUGH ], - [ 39, Moves.FAKE_OUT ], - [ 43, Moves.FLATTER ], - [ 47, Moves.SKITTER_SMACK ], - [ 52, Moves.KNOCK_OFF ], - ], - [Species.TINKATON]: [ - [ EVOLVE_MOVE, Moves.GIGATON_HAMMER ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.FAIRY_WIND ], - [ 5, Moves.BABY_DOLL_EYES ], - [ 8, Moves.METAL_CLAW ], - [ 11, Moves.COVET ], - [ 14, Moves.ROCK_SMASH ], - [ 17, Moves.DRAINING_KISS ], - [ 21, Moves.SWEET_KISS ], - [ 24, Moves.BRUTAL_SWING ], - [ 27, Moves.SLAM ], - [ 31, Moves.FLASH_CANNON ], - [ 35, Moves.PLAY_ROUGH ], - [ 39, Moves.FAKE_OUT ], - [ 43, Moves.FLATTER ], - [ 47, Moves.SKITTER_SMACK ], - [ 52, Moves.KNOCK_OFF ], - ], - [Species.WIGLETT]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.MUD_SLAP ], - [ 8, Moves.WRAP ], - [ 12, Moves.AQUA_JET ], - [ 20, Moves.SLAM ], - [ 20, Moves.WATER_PULSE ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.DIG ], - [ 32, Moves.SUCKER_PUNCH ], - [ 36, Moves.THROAT_CHOP ], - [ 40, Moves.LIQUIDATION ], - ], - [Species.WUGTRIO]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.WRAP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.MUD_SLAP ], - [ 12, Moves.AQUA_JET ], - [ 16, Moves.SLAM ], - [ 20, Moves.WATER_PULSE ], - [ 24, Moves.HEADBUTT ], - [ 30, Moves.TRIPLE_DIVE ], - [ 36, Moves.DIG ], - [ 42, Moves.SUCKER_PUNCH ], - [ 48, Moves.THROAT_CHOP ], - [ 54, Moves.LIQUIDATION ], - ], - [Species.BOMBIRDIER]: [ - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.MEMENTO ], - [ 1, Moves.HONE_CLAWS ], - [ 7, Moves.THIEF ], - [ 11, Moves.ROCK_THROW ], - [ 16, Moves.WHIRLWIND ], - [ 20, Moves.PLUCK ], - [ 24, Moves.TORMENT ], - [ 29, Moves.ROCK_TOMB ], - [ 36, Moves.PAYBACK ], - [ 42, Moves.DUAL_WINGBEAT ], - [ 47, Moves.ROCK_SLIDE ], - [ 53, Moves.KNOCK_OFF ], - [ 60, Moves.PARTING_SHOT ], - ], - [Species.FINIZEN]: [ - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 7, Moves.ASTONISH ], - [ 10, Moves.FOCUS_ENERGY ], - [ 13, Moves.AQUA_JET ], - [ 17, Moves.DOUBLE_HIT ], - [ 21, Moves.DIVE ], - [ 25, Moves.CHARM ], - [ 29, Moves.ACROBATICS ], - [ 34, Moves.ENCORE ], - [ 39, Moves.AQUA_TAIL ], - [ 44, Moves.MIST ], - [ 50, Moves.HYDRO_PUMP ], - ], - [Species.PALAFIN]: [ - [ EVOLVE_MOVE, Moves.FLIP_TURN ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.JET_PUNCH ], - [ 7, Moves.ASTONISH ], - [ 10, Moves.FOCUS_ENERGY ], - [ 13, Moves.AQUA_JET ], - [ 17, Moves.DOUBLE_HIT ], - [ 21, Moves.DIVE ], - [ 25, Moves.CHARM ], - [ 29, Moves.ACROBATICS ], - [ 34, Moves.ENCORE ], - [ 39, Moves.AQUA_TAIL ], - [ 44, Moves.MIST ], - [ 50, Moves.HYDRO_PUMP ], - [ 55, Moves.FOCUS_PUNCH ], - [ 61, Moves.WAVE_CRASH ], - ], - [Species.VAROOM]: [ - [ 1, Moves.LICK ], - [ 1, Moves.POISON_GAS ], - [ 4, Moves.SMOG ], - [ 7, Moves.TAUNT ], - [ 10, Moves.ASSURANCE ], - [ 13, Moves.SLUDGE ], - [ 17, Moves.GYRO_BALL ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.SCREECH ], - [ 28, Moves.IRON_HEAD ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.POISON_JAB ], - [ 41, Moves.UPROAR ], - [ 46, Moves.SPIN_OUT ], - [ 50, Moves.GUNK_SHOT ], - ], - [Species.REVAVROOM]: [ - [ EVOLVE_MOVE, Moves.SHIFT_GEAR ], - [ 1, Moves.LICK ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MAGNET_RISE ], - [ 4, Moves.SMOG ], - [ 7, Moves.TAUNT ], - [ 10, Moves.ASSURANCE ], - [ 13, Moves.SLUDGE ], - [ 17, Moves.GYRO_BALL ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.SCREECH ], - [ 28, Moves.IRON_HEAD ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.POISON_JAB ], - [ 46, Moves.UPROAR ], - [ 52, Moves.SPIN_OUT ], - [ 58, Moves.GUNK_SHOT ], - ], - [Species.CYCLIZAR]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 7, Moves.RAPID_SPIN ], - [ 11, Moves.TAUNT ], - [ 14, Moves.BREAKING_SWIPE ], - [ 18, Moves.QUICK_ATTACK ], - [ 23, Moves.BITE ], - [ 27, Moves.U_TURN ], - [ 31, Moves.SHED_TAIL ], - [ 36, Moves.DRAGON_CLAW ], - [ 40, Moves.SHIFT_GEAR ], - [ 45, Moves.DRAGON_PULSE ], - [ 51, Moves.DOUBLE_EDGE ], - [ 57, Moves.DRAGON_RUSH ], - ], - [Species.ORTHWORM]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WRAP ], - [ 1, Moves.HARDEN ], - [ 7, Moves.MUD_SLAP ], - [ 12, Moves.SMACK_DOWN ], - [ 16, Moves.BULLDOZE ], - [ 21, Moves.IRON_HEAD ], - [ 26, Moves.TAKE_DOWN ], - [ 30, Moves.DIG ], - [ 34, Moves.SANDSTORM ], - [ 38, Moves.IRON_DEFENSE ], - [ 43, Moves.IRON_TAIL ], - [ 47, Moves.EARTHQUAKE ], - [ 52, Moves.SHED_TAIL ], - ], - [Species.GLIMMET]: [ - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.HARDEN ], - [ 1, Moves.SMACK_DOWN ], - [ 7, Moves.ACID_SPRAY ], - [ 11, Moves.ANCIENT_POWER ], - [ 15, Moves.ROCK_POLISH ], - [ 18, Moves.STEALTH_ROCK ], - [ 22, Moves.VENOSHOCK ], - [ 26, Moves.SANDSTORM ], - [ 29, Moves.SELF_DESTRUCT ], - [ 33, Moves.ROCK_SLIDE ], - [ 37, Moves.POWER_GEM ], - [ 41, Moves.ACID_ARMOR ], - [ 46, Moves.SLUDGE_WAVE ], - ], - [Species.GLIMMORA]: [ - [ EVOLVE_MOVE, Moves.MORTAL_SPIN ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.HARDEN ], - [ 1, Moves.TOXIC_SPIKES ], - [ 1, Moves.SMACK_DOWN ], - [ 1, Moves.SPIKY_SHIELD ], - [ 7, Moves.ACID_SPRAY ], - [ 11, Moves.ANCIENT_POWER ], - [ 15, Moves.ROCK_POLISH ], - [ 18, Moves.STEALTH_ROCK ], - [ 22, Moves.VENOSHOCK ], - [ 26, Moves.SANDSTORM ], - [ 29, Moves.SELF_DESTRUCT ], - [ 33, Moves.ROCK_SLIDE ], - [ 39, Moves.POWER_GEM ], - [ 44, Moves.ACID_ARMOR ], - [ 50, Moves.SLUDGE_WAVE ], - ], - [Species.GREAVARD]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.LICK ], - [ 6, Moves.TAIL_WHIP ], - [ 6, Moves.BITE ], - [ 9, Moves.ROAR ], - [ 12, Moves.HEADBUTT ], - [ 16, Moves.DIG ], - [ 24, Moves.REST ], - [ 28, Moves.CRUNCH ], - [ 32, Moves.PLAY_ROUGH ], - [ 37, Moves.HELPING_HAND ], - [ 41, Moves.PHANTOM_FORCE ], - [ 46, Moves.CHARM ], - [ 52, Moves.DOUBLE_EDGE ], - ], - [Species.HOUNDSTONE]: [ - [ EVOLVE_MOVE, Moves.LAST_RESPECTS ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 3, Moves.LICK ], - [ 6, Moves.TAIL_WHIP ], - [ 6, Moves.BITE ], - [ 9, Moves.ROAR ], - [ 12, Moves.HEADBUTT ], - [ 16, Moves.DIG ], - [ 24, Moves.REST ], - [ 28, Moves.CRUNCH ], - [ 36, Moves.PLAY_ROUGH ], - [ 41, Moves.HELPING_HAND ], - [ 46, Moves.PHANTOM_FORCE ], - [ 51, Moves.CHARM ], - [ 58, Moves.DOUBLE_EDGE ], - ], - [Species.FLAMIGO]: [ - [ 1, Moves.PECK ], - [ 1, Moves.COPYCAT ], - [ 5, Moves.DOUBLE_KICK ], - [ 9, Moves.DETECT ], - [ 12, Moves.WING_ATTACK ], - [ 15, Moves.FOCUS_ENERGY ], - [ 18, Moves.LOW_KICK ], - [ 21, Moves.FEINT ], - [ 27, Moves.PAYBACK ], - [ 31, Moves.ROOST ], - [ 35, Moves.AIR_SLASH ], - [ 39, Moves.MEGA_KICK ], - [ 44, Moves.WIDE_GUARD ], - [ 48, Moves.THROAT_CHOP ], - [ 54, Moves.BRAVE_BIRD ], - ], - [Species.CETODDLE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POWDER_SNOW ], - [ 6, Moves.GROWL ], - [ 9, Moves.ECHOED_VOICE ], - [ 12, Moves.ICE_SHARD ], - [ 15, Moves.REST ], - [ 19, Moves.TAKE_DOWN ], - [ 25, Moves.FLAIL ], - [ 27, Moves.AVALANCHE ], - [ 31, Moves.BOUNCE ], - [ 36, Moves.BODY_SLAM ], - [ 40, Moves.AMNESIA ], - [ 44, Moves.ICE_SPINNER ], - [ 49, Moves.DOUBLE_EDGE ], - [ 53, Moves.BLIZZARD ], - ], - [Species.CETITAN]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POWDER_SNOW ], - [ 6, Moves.GROWL ], - [ 9, Moves.ECHOED_VOICE ], - [ 12, Moves.ICE_SHARD ], - [ 15, Moves.REST ], - [ 19, Moves.TAKE_DOWN ], - [ 25, Moves.FLAIL ], - [ 27, Moves.AVALANCHE ], - [ 31, Moves.BOUNCE ], - [ 36, Moves.BODY_SLAM ], - [ 40, Moves.AMNESIA ], - [ 44, Moves.ICE_SPINNER ], - [ 49, Moves.DOUBLE_EDGE ], - [ 53, Moves.BLIZZARD ], - ], - [Species.VELUZA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.AQUA_JET ], - [ 7, Moves.PLUCK ], - [ 11, Moves.WATER_PULSE ], - [ 15, Moves.FOCUS_ENERGY ], - [ 20, Moves.SLASH ], - [ 25, Moves.AQUA_CUTTER ], - [ 30, Moves.FILLET_AWAY ], - [ 35, Moves.NIGHT_SLASH ], - [ 40, Moves.PSYCHO_CUT ], - [ 45, Moves.LIQUIDATION ], - [ 50, Moves.CRUNCH ], - [ 55, Moves.FINAL_GAMBIT ], - ], - [Species.DONDOZO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 5, Moves.TICKLE ], - [ 10, Moves.FLAIL ], - [ 15, Moves.REST ], - [ 15, Moves.SLEEP_TALK ], - [ 20, Moves.DIVE ], - [ 25, Moves.NOBLE_ROAR ], - [ 30, Moves.SOAK ], - [ 35, Moves.BODY_SLAM ], - [ 40, Moves.AQUA_TAIL ], - [ 45, Moves.RAIN_DANCE ], - [ 50, Moves.ORDER_UP ], - [ 55, Moves.HEAVY_SLAM ], - [ 60, Moves.DOUBLE_EDGE ], - [ 65, Moves.WAVE_CRASH ], - ], - [Species.TATSUGIRI]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SPLASH ], - [ 6, Moves.HARDEN ], - [ 12, Moves.HELPING_HAND ], - [ 17, Moves.WATER_PULSE ], - [ 23, Moves.SOAK ], - [ 28, Moves.TAUNT ], - [ 34, Moves.MEMENTO ], - [ 39, Moves.MUDDY_WATER ], - [ 43, Moves.NASTY_PLOT ], - [ 47, Moves.MIRROR_COAT ], - [ 52, Moves.DRAGON_PULSE ], - ], - [Species.ANNIHILAPE]: [ - [ EVOLVE_MOVE, Moves.SHADOW_PUNCH ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.COUNTER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.COVET ], // Previous Stage Move - [ 1, Moves.FLING ], - [ 5, Moves.FURY_SWIPES ], - [ 8, Moves.LOW_KICK ], - [ 12, Moves.SEISMIC_TOSS ], - [ 17, Moves.SWAGGER ], - [ 22, Moves.CROSS_CHOP ], - [ 26, Moves.ASSURANCE ], - [ 30, Moves.THRASH ], - [ 35, Moves.RAGE_FIST ], - [ 39, Moves.CLOSE_COMBAT ], - [ 44, Moves.SCREECH ], - [ 48, Moves.STOMPING_TANTRUM ], - [ 53, Moves.OUTRAGE ], - [ 57, Moves.FINAL_GAMBIT ], - ], - [Species.CLODSIRE]: [ - [ EVOLVE_MOVE, Moves.AMNESIA ], - [ 1, Moves.TACKLE ], // Previous Stage Move - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.POISON_STING ], - [ 4, Moves.TOXIC_SPIKES ], - [ 8, Moves.MUD_SHOT ], - [ 12, Moves.POISON_TAIL ], - [ 16, Moves.SLAM ], - [ 21, Moves.YAWN ], - [ 24, Moves.POISON_JAB ], - [ 30, Moves.SLUDGE_WAVE ], - [ 36, Moves.MEGAHORN ], - [ 40, Moves.TOXIC ], - [ 48, Moves.EARTHQUAKE ], - ], - [Species.FARIGIRAF]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.POWER_SWAP ], - [ 1, Moves.GUARD_SWAP ], - [ 5, Moves.CONFUSION ], - [ 10, Moves.ASSURANCE ], - [ 14, Moves.STOMP ], - [ 19, Moves.PSYBEAM ], - [ 23, Moves.AGILITY ], - [ 28, Moves.DOUBLE_HIT ], - [ 32, Moves.TWIN_BEAM ], - [ 37, Moves.CRUNCH ], - [ 41, Moves.BATON_PASS ], - [ 46, Moves.NASTY_PLOT ], - [ 50, Moves.PSYCHIC ], - ], - [Species.DUDUNSPARCE]: [ - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.FLAIL ], - [ 1, Moves.TACKLE ], // Previous Stage Move, Custom - [ 4, Moves.MUD_SLAP ], - [ 8, Moves.ROLLOUT ], - [ 12, Moves.GLARE ], - [ 16, Moves.SCREECH ], - [ 20, Moves.ANCIENT_POWER ], - [ 24, Moves.DRILL_RUN ], - [ 28, Moves.YAWN ], - [ 32, Moves.HYPER_DRILL ], - [ 36, Moves.ROOST ], - [ 40, Moves.DRAGON_RUSH ], - [ 44, Moves.COIL ], - [ 48, Moves.DOUBLE_EDGE ], - [ 52, Moves.ENDEAVOR ], - [ 56, Moves.HURRICANE ], - [ 62, Moves.BOOMBURST ], - ], - [Species.KINGAMBIT]: [ - [ EVOLVE_MOVE, Moves.KOWTOW_CLEAVE ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.METAL_BURST ], - [ 15, Moves.TORMENT ], - [ 20, Moves.SCARY_FACE ], - [ 25, Moves.ASSURANCE ], - [ 30, Moves.METAL_SOUND ], - [ 35, Moves.SLASH ], - [ 40, Moves.NIGHT_SLASH ], - [ 45, Moves.IRON_DEFENSE ], - [ 50, Moves.RETALIATE ], - [ 57, Moves.IRON_HEAD ], - [ 64, Moves.SWORDS_DANCE ], - [ 71, Moves.GUILLOTINE ], - ], - [Species.GREAT_TUSK]: [ - [ 1, Moves.HORN_ATTACK ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.SUNNY_DAY ], - [ 7, Moves.BULLDOZE ], - [ 14, Moves.TAUNT ], - [ 21, Moves.RAPID_SPIN ], - [ 28, Moves.BRICK_BREAK ], - [ 35, Moves.STOMPING_TANTRUM ], - [ 42, Moves.KNOCK_OFF ], - [ 49, Moves.EARTHQUAKE ], - [ 56, Moves.GIGA_IMPACT ], - [ 63, Moves.CLOSE_COMBAT ], - [ 70, Moves.ENDEAVOR ], - [ 77, Moves.MEGAHORN ], - [ 84, Moves.HEAD_SMASH ], - [ 91, Moves.HEADLONG_RUSH ], - ], - [Species.SCREAM_TAIL]: [ - [ RELEARN_MOVE, Moves.SUNNY_DAY ], - [ 1, Moves.POUND ], - [ 1, Moves.SING ], - [ 1, Moves.DISABLE ], - [ 7, Moves.HOWL ], - [ 14, Moves.NOBLE_ROAR ], - [ 21, Moves.BITE ], - [ 28, Moves.BODY_SLAM ], - [ 35, Moves.REST ], - [ 42, Moves.PLAY_ROUGH ], - [ 49, Moves.HYPER_VOICE ], - [ 56, Moves.PSYCHIC_FANGS ], - [ 63, Moves.CRUNCH ], - [ 70, Moves.WISH ], - [ 77, Moves.GYRO_BALL ], - [ 84, Moves.PERISH_SONG ], - [ 91, Moves.BOOMBURST ], - ], - [Species.BRUTE_BONNET]: [ - [ RELEARN_MOVE, Moves.SUNNY_DAY ], - [ 1, Moves.ABSORB ], - [ 1, Moves.GROWTH ], - [ 1, Moves.ASTONISH ], - [ 7, Moves.STUN_SPORE ], - [ 14, Moves.MEGA_DRAIN ], - [ 21, Moves.SYNTHESIS ], - [ 28, Moves.CLEAR_SMOG ], - [ 35, Moves.PAYBACK ], - [ 42, Moves.THRASH ], - [ 49, Moves.GIGA_DRAIN ], - [ 56, Moves.SUCKER_PUNCH ], - [ 63, Moves.SPORE ], - [ 70, Moves.INGRAIN ], - [ 77, Moves.RAGE_POWDER ], - [ 91, Moves.SOLAR_BEAM ], - ], - [Species.FLUTTER_MANE]: [ - [ RELEARN_MOVE, Moves.SUNNY_DAY ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.SPITE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.PSYBEAM ], // Custom, moved from 7 to 1 - [ 14, Moves.MEAN_LOOK ], - [ 21, Moves.MEMENTO ], - [ 28, Moves.WISH ], - [ 35, Moves.DAZZLING_GLEAM ], - [ 42, Moves.SHADOW_BALL ], - [ 49, Moves.MYSTICAL_FIRE ], - [ 56, Moves.POWER_GEM ], - [ 63, Moves.PSYSHOCK ], - [ 70, Moves.PHANTOM_FORCE ], - [ 77, Moves.PAIN_SPLIT ], - [ 84, Moves.MOONBLAST ], - [ 91, Moves.PERISH_SONG ], - ], - [Species.SLITHER_WING]: [ - [ RELEARN_MOVE, Moves.SUNNY_DAY ], - [ 1, Moves.GUST ], - [ 1, Moves.EMBER ], - [ 1, Moves.BUG_BITE ], - [ 7, Moves.POISON_POWDER ], - [ 7, Moves.STUN_SPORE ], - [ 14, Moves.FLAME_CHARGE ], - [ 21, Moves.STOMP ], - [ 28, Moves.LOW_SWEEP ], - [ 35, Moves.MORNING_SUN ], - [ 42, Moves.LUNGE ], - [ 49, Moves.SUPERPOWER ], - [ 56, Moves.BULK_UP ], - [ 63, Moves.DUAL_WINGBEAT ], - [ 70, Moves.FIRST_IMPRESSION ], - [ 77, Moves.WHIRLWIND ], - [ 84, Moves.LEECH_LIFE ], - [ 91, Moves.THRASH ], - ], - [Species.SANDY_SHOCKS]: [ - [ RELEARN_MOVE, Moves.SUNNY_DAY ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 7, Moves.SPARK ], - [ 14, Moves.BULLDOZE ], - [ 21, Moves.CHARGE_BEAM ], - [ 28, Moves.TRI_ATTACK ], - [ 35, Moves.SCREECH ], - [ 42, Moves.HEAVY_SLAM ], - [ 49, Moves.METAL_SOUND ], - [ 56, Moves.DISCHARGE ], - [ 63, Moves.EARTH_POWER ], - [ 70, Moves.MIRROR_COAT ], - [ 77, Moves.GRAVITY ], - [ 84, Moves.ZAP_CANNON ], - [ 91, Moves.MAGNETIC_FLUX ], - ], - [Species.IRON_TREADS]: [ - [ 1, Moves.HORN_ATTACK ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 7, Moves.BULLDOZE ], - [ 21, Moves.RAPID_SPIN ], - [ 28, Moves.IRON_HEAD ], - [ 35, Moves.STOMPING_TANTRUM ], - [ 42, Moves.KNOCK_OFF ], - [ 49, Moves.EARTHQUAKE ], - [ 56, Moves.HEAVY_SLAM ], - [ 63, Moves.WILD_CHARGE ], - [ 70, Moves.ENDEAVOR ], - [ 77, Moves.MEGAHORN ], - [ 84, Moves.GIGA_IMPACT ], - [ 91, Moves.STEEL_ROLLER ], - ], - [Species.IRON_BUNDLE]: [ - [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.PRESENT ], - [ 1, Moves.WATER_GUN ], // Custom - [ 7, Moves.POWDER_SNOW ], - [ 14, Moves.WHIRLPOOL ], - [ 21, Moves.TAKE_DOWN ], - [ 28, Moves.DRILL_PECK ], - [ 35, Moves.HELPING_HAND ], - [ 42, Moves.FREEZE_DRY ], - [ 49, Moves.FLIP_TURN ], - [ 56, Moves.ICE_BEAM ], - [ 63, Moves.AGILITY ], - [ 70, Moves.SNOWSCAPE ], - [ 77, Moves.HYDRO_PUMP ], - [ 84, Moves.AURORA_VEIL ], - [ 91, Moves.BLIZZARD ], - ], - [Species.IRON_HANDS]: [ - [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.ARM_THRUST ], - [ 7, Moves.FAKE_OUT ], - [ 14, Moves.WHIRLWIND ], - [ 21, Moves.THUNDER_PUNCH ], - [ 28, Moves.SLAM ], - [ 35, Moves.FORCE_PALM ], - [ 42, Moves.SEISMIC_TOSS ], - [ 49, Moves.CHARGE ], - [ 56, Moves.WILD_CHARGE ], - [ 63, Moves.CLOSE_COMBAT ], - [ 70, Moves.DETECT ], - [ 77, Moves.HEAVY_SLAM ], - [ 84, Moves.BELLY_DRUM ], - [ 91, Moves.FOCUS_PUNCH ], - ], - [Species.IRON_JUGULIS]: [ - [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.AIR_CUTTER ], - [ 1, Moves.WORK_UP ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 7, Moves.ROAR ], - [ 14, Moves.ASSURANCE ], - [ 21, Moves.DRAGON_BREATH ], - [ 28, Moves.SNARL ], - [ 35, Moves.CRUNCH ], - [ 42, Moves.HYPER_VOICE ], - [ 56, Moves.AIR_SLASH ], - [ 63, Moves.KNOCK_OFF ], - [ 70, Moves.DARK_PULSE ], - [ 77, Moves.OUTRAGE ], - [ 84, Moves.DRAGON_PULSE ], - [ 91, Moves.HYPER_BEAM ], - ], - [Species.IRON_MOTH]: [ - [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.GUST ], - [ 1, Moves.WHIRLWIND ], - [ 1, Moves.EMBER ], - [ 1, Moves.ACID_SPRAY ], - [ 7, Moves.STRUGGLE_BUG ], - [ 14, Moves.FIRE_SPIN ], - [ 21, Moves.TAKE_DOWN ], - [ 28, Moves.LUNGE ], - [ 35, Moves.SCREECH ], - [ 42, Moves.DISCHARGE ], - [ 49, Moves.SLUDGE_WAVE ], - [ 56, Moves.FIERY_DANCE ], - [ 63, Moves.METAL_SOUND ], - [ 70, Moves.MORNING_SUN ], - [ 77, Moves.HURRICANE ], - [ 84, Moves.BUG_BUZZ ], - [ 91, Moves.OVERHEAT ], - ], - [Species.IRON_THORNS]: [ - [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.THUNDER_FANG ], - [ 1, Moves.ICE_FANG ], - [ 1, Moves.FIRE_FANG ], - [ 7, Moves.SCREECH ], - [ 21, Moves.ROCK_TOMB ], - [ 28, Moves.BITE ], - [ 35, Moves.CHARGE ], - [ 42, Moves.ROCK_SLIDE ], - [ 49, Moves.SANDSTORM ], - [ 56, Moves.WILD_CHARGE ], - [ 63, Moves.PIN_MISSILE ], - [ 70, Moves.EARTHQUAKE ], - [ 77, Moves.STEALTH_ROCK ], - [ 84, Moves.STONE_EDGE ], - [ 91, Moves.GIGA_IMPACT ], - ], - [Species.FRIGIBAX]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.DRAGON_TAIL ], - [ 6, Moves.ICY_WIND ], - [ 12, Moves.DRAGON_BREATH ], - [ 18, Moves.FOCUS_ENERGY ], - [ 24, Moves.BITE ], - [ 29, Moves.ICE_FANG ], - [ 32, Moves.DRAGON_CLAW ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.ICE_BEAM ], - [ 44, Moves.CRUNCH ], - [ 48, Moves.ICICLE_CRASH ], - ], - [Species.ARCTIBAX]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.DRAGON_TAIL ], - [ 6, Moves.ICY_WIND ], - [ 12, Moves.DRAGON_BREATH ], - [ 18, Moves.FOCUS_ENERGY ], - [ 24, Moves.BITE ], - [ 29, Moves.ICE_FANG ], - [ 32, Moves.DRAGON_CLAW ], // Previous Stage Move, Frigibax Level - [ 40, Moves.TAKE_DOWN ], - [ 45, Moves.ICE_BEAM ], - [ 50, Moves.CRUNCH ], - [ 55, Moves.ICICLE_CRASH ], - ], - [Species.BAXCALIBUR]: [ - [ EVOLVE_MOVE, Moves.GLAIVE_RUSH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.ICE_SHARD ], - [ 1, Moves.DRAGON_TAIL ], - [ 1, Moves.BREAKING_SWIPE ], - [ 1, Moves.SNOWSCAPE ], - [ 6, Moves.ICY_WIND ], - [ 12, Moves.DRAGON_BREATH ], - [ 18, Moves.FOCUS_ENERGY ], - [ 24, Moves.BITE ], - [ 29, Moves.ICE_FANG ], - [ 35, Moves.DRAGON_CLAW ], - [ 42, Moves.TAKE_DOWN ], - [ 48, Moves.ICE_BEAM ], - [ 55, Moves.CRUNCH ], - [ 62, Moves.ICICLE_CRASH ], - ], - [Species.GIMMIGHOUL]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ASTONISH ], - ], - [Species.GHOLDENGO]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ASTONISH ], - [ 7, Moves.NIGHT_SHADE ], - [ 14, Moves.CONFUSE_RAY ], - [ 21, Moves.SUBSTITUTE ], - [ 28, Moves.METAL_SOUND ], - [ 35, Moves.SHADOW_BALL ], - [ 42, Moves.RECOVER ], - [ 49, Moves.POWER_GEM ], - [ 56, Moves.MAKE_IT_RAIN ], - [ 63, Moves.NASTY_PLOT ], - [ 70, Moves.MEMENTO ], - ], - [Species.WO_CHIEN]: [ - [ 1, Moves.ABSORB ], - [ 1, Moves.SPITE ], - [ 1, Moves.MEAN_LOOK ], - [ 5, Moves.TICKLE ], - [ 10, Moves.PAYBACK ], - [ 15, Moves.POISON_POWDER ], - [ 15, Moves.STUN_SPORE ], - [ 20, Moves.MEGA_DRAIN ], - [ 25, Moves.LEECH_SEED ], - [ 30, Moves.GROWTH ], - [ 35, Moves.INGRAIN ], - [ 40, Moves.DARK_PULSE ], - [ 45, Moves.GIGA_DRAIN ], - [ 50, Moves.RUINATION ], - [ 55, Moves.FOUL_PLAY ], - [ 60, Moves.POWER_WHIP ], - [ 65, Moves.GRASSY_TERRAIN ], - [ 70, Moves.KNOCK_OFF ], - [ 75, Moves.LEAF_STORM ], - ], - [Species.CHIEN_PAO]: [ - [ 1, Moves.SPITE ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.MEAN_LOOK ], - [ 5, Moves.ICY_WIND ], - [ 10, Moves.PAYBACK ], - [ 15, Moves.MIST ], - [ 15, Moves.HAZE ], - [ 20, Moves.ICE_SHARD ], - [ 25, Moves.SWORDS_DANCE ], - [ 30, Moves.SNOWSCAPE ], - [ 35, Moves.NIGHT_SLASH ], - [ 40, Moves.DARK_PULSE ], - [ 45, Moves.ICICLE_CRASH ], - [ 50, Moves.RUINATION ], - [ 55, Moves.SUCKER_PUNCH ], - [ 60, Moves.SACRED_SWORD ], - [ 65, Moves.RECOVER ], - [ 70, Moves.THROAT_CHOP ], - [ 75, Moves.SHEER_COLD ], - ], - [Species.TING_LU]: [ - [ 1, Moves.SPITE ], - [ 1, Moves.MEAN_LOOK ], - [ 1, Moves.SAND_TOMB ], - [ 5, Moves.SPIKES ], - [ 10, Moves.PAYBACK ], - [ 15, Moves.STOMP ], - [ 20, Moves.BULLDOZE ], - [ 25, Moves.WHIRLWIND ], - [ 30, Moves.TAUNT ], - [ 35, Moves.THRASH ], - [ 40, Moves.DARK_PULSE ], - [ 45, Moves.STOMPING_TANTRUM ], - [ 50, Moves.RUINATION ], - [ 55, Moves.THROAT_CHOP ], - [ 60, Moves.ROCK_SLIDE ], - [ 65, Moves.MEMENTO ], - [ 70, Moves.EARTHQUAKE ], - [ 75, Moves.FISSURE ], - ], - [Species.CHI_YU]: [ - [ 1, Moves.EMBER ], - [ 1, Moves.SPITE ], - [ 1, Moves.MEAN_LOOK ], - [ 5, Moves.FLAME_WHEEL ], - [ 10, Moves.PAYBACK ], - [ 15, Moves.WILL_O_WISP ], - [ 20, Moves.FLAME_CHARGE ], - [ 25, Moves.INCINERATE ], - [ 30, Moves.CONFUSE_RAY ], - [ 35, Moves.NASTY_PLOT ], - [ 40, Moves.DARK_PULSE ], - [ 45, Moves.LAVA_PLUME ], - [ 50, Moves.RUINATION ], - [ 55, Moves.BOUNCE ], - [ 60, Moves.SWAGGER ], - [ 65, Moves.INFERNO ], - [ 70, Moves.MEMENTO ], - [ 75, Moves.OVERHEAT ], - ], - [Species.ROARING_MOON]: [ - [ RELEARN_MOVE, Moves.SUNNY_DAY ], - [ RELEARN_MOVE, Moves.JAW_LOCK ], - [ RELEARN_MOVE, Moves.BREAKING_SWIPE ], - [ RELEARN_MOVE, Moves.SCALE_SHOT ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.DRAGON_BREATH ], - [ 7, Moves.INCINERATE ], - [ 14, Moves.HEADBUTT ], - [ 21, Moves.SCARY_FACE ], - [ 28, Moves.DRAGON_CLAW ], - [ 35, Moves.ZEN_HEADBUTT ], - [ 42, Moves.FLAMETHROWER ], - [ 49, Moves.NIGHT_SLASH ], - [ 56, Moves.DRAGON_DANCE ], - [ 63, Moves.DRAGON_RUSH ], - [ 70, Moves.FLY ], - [ 77, Moves.THROAT_CHOP ], - [ 84, Moves.ROOST ], - [ 91, Moves.DOUBLE_EDGE ], - ], - [Species.IRON_VALIANT]: [ - [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.DISABLE ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.FURY_CUTTER ], - [ 1, Moves.SHADOW_SNEAK ], - [ 7, Moves.HYPNOSIS ], - [ 14, Moves.FEINT ], - [ 21, Moves.FUTURE_SIGHT ], - [ 28, Moves.DAZZLING_GLEAM ], - [ 35, Moves.PSYCHO_CUT ], - [ 42, Moves.NIGHT_SLASH ], - [ 49, Moves.LEAF_BLADE ], - [ 56, Moves.MOONBLAST ], - [ 63, Moves.CLOSE_COMBAT ], - [ 70, Moves.KNOCK_OFF ], - [ 77, Moves.DESTINY_BOND ], - [ 84, Moves.WIDE_GUARD ], - [ 84, Moves.QUICK_GUARD ], - [ 91, Moves.SPIRIT_BREAK ], - ], - [Species.KORAIDON]: [ - [ 1, Moves.SUNNY_DAY ], - [ 1, Moves.BREAKING_SWIPE ], - [ 7, Moves.ROCK_SMASH ], - [ 14, Moves.ANCIENT_POWER ], - [ 21, Moves.DRAIN_PUNCH ], - [ 28, Moves.BRICK_BREAK ], - [ 35, Moves.AGILITY ], - [ 42, Moves.DRAGON_CLAW ], - [ 49, Moves.FLAMETHROWER ], - [ 56, Moves.COLLISION_COURSE ], - [ 63, Moves.SCREECH ], - [ 70, Moves.COUNTER ], - [ 77, Moves.OUTRAGE ], - [ 84, Moves.CLOSE_COMBAT ], - [ 91, Moves.FLARE_BLITZ ], - [ 98, Moves.GIGA_IMPACT ], - ], - [Species.MIRAIDON]: [ - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 7, Moves.SHOCK_WAVE ], - [ 14, Moves.CHARGE ], - [ 21, Moves.PARABOLIC_CHARGE ], - [ 28, Moves.DISCHARGE ], - [ 35, Moves.AGILITY ], - [ 42, Moves.DRAGON_PULSE ], - [ 56, Moves.ELECTRO_DRIFT ], - [ 63, Moves.METAL_SOUND ], - [ 70, Moves.MIRROR_COAT ], - [ 77, Moves.OUTRAGE ], - [ 84, Moves.THUNDER ], - [ 91, Moves.OVERHEAT ], - [ 98, Moves.HYPER_BEAM ], - ], - [Species.WALKING_WAKE]: [ - [ RELEARN_MOVE, Moves.SUNNY_DAY ], - [ RELEARN_MOVE, Moves.HONE_CLAWS ], - [ 1, Moves.LEER ], - [ 1, Moves.ROAR ], - [ 1, Moves.TWISTER ], - [ 1, Moves.AQUA_JET ], - [ 7, Moves.BITE ], - [ 14, Moves.WATER_PULSE ], - [ 21, Moves.NOBLE_ROAR ], - [ 28, Moves.DRAGON_BREATH ], - [ 35, Moves.BREAKING_SWIPE ], - [ 42, Moves.DRAGON_RUSH ], - [ 56, Moves.HYDRO_STEAM ], - [ 63, Moves.DRAGON_PULSE ], - [ 70, Moves.OUTRAGE ], - [ 77, Moves.FLAMETHROWER ], - [ 84, Moves.HYDRO_PUMP ], - ], - [Species.IRON_LEAVES]: [ - [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ], - [ RELEARN_MOVE, Moves.QUASH ], - [ 1, Moves.LEER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.WORK_UP ], - [ 7, Moves.MAGICAL_LEAF ], - [ 14, Moves.RETALIATE ], - [ 21, Moves.QUICK_GUARD ], - [ 28, Moves.NIGHT_SLASH ], - [ 35, Moves.SWORDS_DANCE ], - [ 42, Moves.SACRED_SWORD ], - [ 49, Moves.LEAF_BLADE ], - [ 56, Moves.PSYBLADE ], - [ 63, Moves.CLOSE_COMBAT ], - [ 70, Moves.IMPRISON ], - [ 77, Moves.MEGAHORN ], - [ 84, Moves.ALLY_SWITCH ], - [ 91, Moves.SOLAR_BLADE ], - ], - [Species.DIPPLIN]: [ - [ EVOLVE_MOVE, Moves.DOUBLE_HIT ], - [ RELEARN_MOVE, Moves.DRAGON_CHEER ], // Custom - [ 1, Moves.LEAFAGE ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.DRAGON_TAIL ], - [ 8, Moves.GROWTH ], - [ 12, Moves.DRAGON_BREATH ], - [ 16, Moves.PROTECT ], - [ 20, Moves.BULLET_SEED ], - [ 28, Moves.SYRUP_BOMB ], - [ 32, Moves.DRAGON_PULSE ], - [ 36, Moves.RECOVER ], - [ 40, Moves.ENERGY_BALL ], - [ 44, Moves.SUBSTITUTE ], - ], - [Species.POLTCHAGEIST]: [ - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.ABSORB ], // Custom, Moved from Level 6 to 5 - [ 12, Moves.LIFE_DEW ], - [ 18, Moves.FOUL_PLAY ], - [ 24, Moves.MEGA_DRAIN ], - [ 30, Moves.HEX ], - [ 36, Moves.RAGE_POWDER ], - [ 42, Moves.GIGA_DRAIN ], - [ 48, Moves.SHADOW_BALL ], - [ 54, Moves.MEMENTO ], - [ 60, Moves.LEAF_STORM ], - ], - [Species.SINISTCHA]: [ - [ EVOLVE_MOVE, Moves.MATCHA_GOTCHA ], - [ RELEARN_MOVE, Moves.GIGA_DRAIN ], // Previous Stage Move - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.ASTONISH ], - [ 6, Moves.ABSORB ], - [ 12, Moves.LIFE_DEW ], - [ 18, Moves.FOUL_PLAY ], - [ 24, Moves.MEGA_DRAIN ], - [ 30, Moves.HEX ], - [ 36, Moves.RAGE_POWDER ], - [ 42, Moves.STRENGTH_SAP ], - [ 48, Moves.SHADOW_BALL ], - [ 54, Moves.MEMENTO ], - [ 60, Moves.LEAF_STORM ], - ], - [Species.OKIDOGI]: [ - [ 1, Moves.BITE ], - [ 1, Moves.LOW_KICK ], - [ 1, Moves.BULK_UP ], - [ 8, Moves.HOWL ], - [ 16, Moves.POISON_FANG ], - [ 24, Moves.FORCE_PALM ], - [ 32, Moves.COUNTER ], - [ 40, Moves.POISON_JAB ], - [ 48, Moves.BRUTAL_SWING ], - [ 56, Moves.CRUNCH ], - [ 64, Moves.SUPERPOWER ], - [ 72, Moves.GIGA_IMPACT ], - ], - [Species.MUNKIDORI]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.FLATTER ], - [ 8, Moves.HELPING_HAND ], - [ 16, Moves.PSYBEAM ], - [ 24, Moves.CLEAR_SMOG ], - [ 32, Moves.POISON_JAB ], - [ 40, Moves.PSYCHIC ], - [ 48, Moves.SLUDGE_WAVE ], - [ 56, Moves.NASTY_PLOT ], - [ 64, Moves.FUTURE_SIGHT ], - [ 72, Moves.PARTING_SHOT ], - ], - [Species.FEZANDIPITI]: [ - [ 1, Moves.DOUBLE_KICK ], - [ 1, Moves.PECK ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.DISARMING_VOICE ], - [ 8, Moves.QUICK_ATTACK ], - [ 16, Moves.ATTRACT ], - [ 24, Moves.WING_ATTACK ], - [ 32, Moves.CROSS_POISON ], - [ 40, Moves.TAIL_SLAP ], - [ 48, Moves.BEAT_UP ], - [ 56, Moves.SWAGGER ], - [ 56, Moves.FLATTER ], - [ 64, Moves.ROOST ], - [ 72, Moves.MOONBLAST ], - ], - [Species.OGERPON]: [ - [ RELEARN_MOVE, Moves.DOUBLE_KICK ], - [ RELEARN_MOVE, Moves.COUNTER ], - [ RELEARN_MOVE, Moves.RETALIATE ], - [ RELEARN_MOVE, Moves.HORN_LEECH ], - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FOLLOW_ME ], - [ 6, Moves.FOCUS_ENERGY ], - [ 12, Moves.GROWTH ], - [ 18, Moves.SLAM ], - [ 24, Moves.LOW_SWEEP ], - [ 30, Moves.IVY_CUDGEL ], - [ 36, Moves.THROAT_CHOP ], - [ 42, Moves.SYNTHESIS ], - [ 48, Moves.SPIKY_SHIELD ], - [ 54, Moves.POWER_WHIP ], - [ 60, Moves.SUPERPOWER ], - [ 66, Moves.WOOD_HAMMER ], - ], - [Species.ARCHALUDON]: [ - [ EVOLVE_MOVE, Moves.ELECTRO_SHOT ], - [ RELEARN_MOVE, Moves.LASER_FOCUS ], // Previous Stage Move - [ 1, Moves.LEER ], - [ 1, Moves.METAL_CLAW ], - [ 6, Moves.ROCK_SMASH ], - [ 12, Moves.HONE_CLAWS ], - [ 18, Moves.METAL_SOUND ], - [ 24, Moves.BREAKING_SWIPE ], - [ 30, Moves.DRAGON_TAIL ], - [ 36, Moves.IRON_DEFENSE ], - [ 42, Moves.FOCUS_ENERGY ], - [ 48, Moves.DRAGON_CLAW ], - [ 54, Moves.FLASH_CANNON ], - [ 60, Moves.METAL_BURST ], - [ 66, Moves.HYPER_BEAM ], - ], - [Species.HYDRAPPLE]: [ - [ EVOLVE_MOVE, Moves.FICKLE_BEAM ], - [ RELEARN_MOVE, Moves.YAWN ], - [ RELEARN_MOVE, Moves.DOUBLE_HIT ], - [ RELEARN_MOVE, Moves.INFESTATION ], - [ RELEARN_MOVE, Moves.DRAGON_CHEER ], // Previous Stage Move, Custom - [ 1, Moves.LEAFAGE ], // Previous Stage Move, Custom - [ 1, Moves.WITHDRAW ], - [ 1, Moves.SWEET_SCENT ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.DRAGON_TAIL ], - [ 8, Moves.GROWTH ], - [ 12, Moves.DRAGON_BREATH ], - [ 16, Moves.PROTECT ], - [ 20, Moves.BULLET_SEED ], - [ 28, Moves.SYRUP_BOMB ], - [ 32, Moves.DRAGON_PULSE ], - [ 36, Moves.RECOVER ], - [ 40, Moves.ENERGY_BALL ], - [ 44, Moves.SUBSTITUTE ], - [ 54, Moves.POWER_WHIP ], - ], - [Species.GOUGING_FIRE]: [ - [ RELEARN_MOVE, Moves.DOUBLE_KICK ], - [ RELEARN_MOVE, Moves.ANCIENT_POWER ], - [ RELEARN_MOVE, Moves.NOBLE_ROAR ], - [ 1, Moves.STOMP ], - [ 1, Moves.LEER ], - [ 1, Moves.INCINERATE ], - [ 1, Moves.SUNNY_DAY ], - [ 7, Moves.FIRE_FANG ], - [ 14, Moves.HOWL ], - [ 21, Moves.BITE ], - [ 28, Moves.DRAGON_CLAW ], - [ 35, Moves.CRUSH_CLAW ], - [ 42, Moves.MORNING_SUN ], - [ 49, Moves.BURNING_BULWARK ], - [ 56, Moves.DRAGON_RUSH ], - [ 63, Moves.FIRE_BLAST ], - [ 70, Moves.LAVA_PLUME ], - [ 77, Moves.OUTRAGE ], - [ 84, Moves.FLARE_BLITZ ], - [ 91, Moves.RAGING_FURY ], - ], - [Species.RAGING_BOLT]: [ - [ RELEARN_MOVE, Moves.ANCIENT_POWER ], - [ 1, Moves.TWISTER ], - [ 1, Moves.SUNNY_DAY ], - [ 1, Moves.SHOCK_WAVE ], - [ 1, Moves.STOMP ], - [ 7, Moves.CHARGE ], - [ 14, Moves.DRAGON_BREATH ], - [ 21, Moves.ELECTRIC_TERRAIN ], - [ 28, Moves.DISCHARGE ], - [ 35, Moves.DRAGON_TAIL ], - [ 42, Moves.CALM_MIND ], - [ 49, Moves.THUNDERCLAP ], - [ 56, Moves.DRAGON_HAMMER ], - [ 63, Moves.RISING_VOLTAGE ], - [ 70, Moves.DRAGON_PULSE ], - [ 77, Moves.ZAP_CANNON ], - [ 84, Moves.BODY_PRESS ], - [ 91, Moves.THUNDER ], - ], - [Species.IRON_BOULDER]: [ - [ 1, Moves.HORN_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 7, Moves.QUICK_ATTACK ], - [ 14, Moves.SLASH ], - [ 21, Moves.AGILITY ], - [ 28, Moves.PSYCHO_CUT ], - [ 35, Moves.COUNTER ], - [ 42, Moves.ROCK_TOMB ], - [ 49, Moves.SACRED_SWORD ], - [ 56, Moves.MIGHTY_CLEAVE ], - [ 63, Moves.SWORDS_DANCE ], - [ 70, Moves.MEGAHORN ], - [ 77, Moves.QUICK_GUARD ], - [ 84, Moves.STONE_EDGE ], - [ 91, Moves.GIGA_IMPACT ], - ], - [Species.IRON_CROWN]: [ - [ 1, Moves.LEER ], - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.METAL_CLAW ], - [ 7, Moves.SMART_STRIKE ], - [ 14, Moves.SLASH ], - [ 21, Moves.IRON_DEFENSE ], - [ 28, Moves.PSYSHOCK ], - [ 35, Moves.PSYCHO_CUT ], - [ 42, Moves.FLASH_CANNON ], - [ 49, Moves.SACRED_SWORD ], - [ 56, Moves.TACHYON_CUTTER ], - [ 63, Moves.FUTURE_SIGHT ], - [ 70, Moves.VOLT_SWITCH ], - [ 77, Moves.QUICK_GUARD ], - [ 84, Moves.METAL_BURST ], - [ 91, Moves.HYPER_BEAM ], - ], - [Species.TERAPAGOS]: [ - [ 1, Moves.WITHDRAW ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.RAPID_SPIN ], - [ 10, Moves.ANCIENT_POWER ], - [ 20, Moves.HEADBUTT ], - [ 30, Moves.PROTECT ], - [ 40, Moves.EARTH_POWER ], - [ 50, Moves.HEAVY_SLAM ], - [ 60, Moves.TERA_STARSTORM ], - [ 70, Moves.DOUBLE_EDGE ], - [ 80, Moves.ROCK_POLISH ], - [ 90, Moves.GYRO_BALL ], - ], - [Species.PECHARUNT]: [ - [ RELEARN_MOVE, Moves.DEFENSE_CURL ], - [ RELEARN_MOVE, Moves.ROLLOUT ], - [ RELEARN_MOVE, Moves.MEAN_LOOK ], - [ 1, Moves.SMOG ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MEMENTO ], - [ 1, Moves.ASTONISH ], - [ 8, Moves.WITHDRAW ], - [ 16, Moves.DESTINY_BOND ], - [ 24, Moves.FAKE_TEARS ], - [ 32, Moves.PARTING_SHOT ], - [ 40, Moves.SHADOW_BALL ], - [ 48, Moves.MALIGNANT_CHAIN ], - [ 56, Moves.TOXIC ], - [ 64, Moves.NASTY_PLOT ], - [ 72, Moves.RECOVER ], - ], - [Species.ALOLA_RATTATA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 4, Moves.QUICK_ATTACK ], - [ 7, Moves.FOCUS_ENERGY ], - [ 10, Moves.BITE ], - [ 13, Moves.PURSUIT ], - [ 16, Moves.HYPER_FANG ], - [ 19, Moves.ASSURANCE ], - [ 22, Moves.CRUNCH ], - [ 25, Moves.SUCKER_PUNCH ], - [ 28, Moves.SUPER_FANG ], - [ 31, Moves.DOUBLE_EDGE ], - [ 34, Moves.ENDEAVOR ], - ], - [Species.ALOLA_RATICATE]: [ - [ EVOLVE_MOVE, Moves.SCARY_FACE ], - [ 1, Moves.SWORDS_DANCE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 10, Moves.BITE ], - [ 13, Moves.PURSUIT ], - [ 16, Moves.HYPER_FANG ], - [ 19, Moves.ASSURANCE ], - [ 24, Moves.CRUNCH ], - [ 29, Moves.SUCKER_PUNCH ], - [ 34, Moves.SUPER_FANG ], - [ 39, Moves.DOUBLE_EDGE ], - [ 44, Moves.ENDEAVOR ], - ], - [Species.ALOLA_RAICHU]: [ - [ EVOLVE_MOVE, Moves.PSYCHIC ], - [ EVOLVE_MOVE, Moves.ZIPPY_ZAP ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.THUNDER ], - [ 1, Moves.AGILITY ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.LIGHT_SCREEN ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.SPARK ], - [ 1, Moves.IRON_TAIL ], - [ 1, Moves.FEINT ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.DISCHARGE ], - [ 1, Moves.ELECTRO_BALL ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 5, Moves.THUNDERBOLT ], - [ 50, Moves.PIKA_PAPOW ], - ], - [Species.ALOLA_SANDSHREW]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.DEFENSE_CURL ], - [ 3, Moves.MIST ], - [ 6, Moves.POWDER_SNOW ], - [ 9, Moves.ROLLOUT ], - [ 12, Moves.FURY_CUTTER ], - [ 15, Moves.RAPID_SPIN ], - [ 18, Moves.METAL_CLAW ], - [ 21, Moves.SWIFT ], - [ 24, Moves.FURY_SWIPES ], - [ 27, Moves.IRON_DEFENSE ], - [ 30, Moves.SLASH ], - [ 33, Moves.IRON_HEAD ], - [ 36, Moves.GYRO_BALL ], - [ 39, Moves.SWORDS_DANCE ], - [ 42, Moves.SNOWSCAPE ], - [ 45, Moves.BLIZZARD ], - ], - [Species.ALOLA_SANDSLASH]: [ - [ EVOLVE_MOVE, Moves.ICICLE_SPEAR ], - [ RELEARN_MOVE, Moves.SCRATCH ], - [ RELEARN_MOVE, Moves.MIST ], - [ RELEARN_MOVE, Moves.BLIZZARD ], - [ RELEARN_MOVE, Moves.DEFENSE_CURL ], - [ RELEARN_MOVE, Moves.SWIFT ], - [ RELEARN_MOVE, Moves.FURY_SWIPES ], - [ RELEARN_MOVE, Moves.POWDER_SNOW ], - [ RELEARN_MOVE, Moves.ROLLOUT ], - [ RELEARN_MOVE, Moves.FURY_CUTTER ], - [ RELEARN_MOVE, Moves.RAPID_SPIN ], - [ RELEARN_MOVE, Moves.IRON_DEFENSE ], - [ RELEARN_MOVE, Moves.GYRO_BALL ], - [ RELEARN_MOVE, Moves.METAL_BURST ], - [ RELEARN_MOVE, Moves.IRON_HEAD ], - [ RELEARN_MOVE, Moves.SNOWSCAPE ], - [ 1, Moves.ICICLE_CRASH ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.SLASH ], - [ 1, Moves.SWORDS_DANCE ], - [ 1, Moves.ICE_BALL ], - ], - [Species.ALOLA_VULPIX]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.POWDER_SNOW ], - [ 4, Moves.DISABLE ], - [ 8, Moves.ICE_SHARD ], - [ 12, Moves.SPITE ], - [ 16, Moves.ICY_WIND ], - [ 20, Moves.CONFUSE_RAY ], - [ 24, Moves.AURORA_BEAM ], - [ 28, Moves.EXTRASENSORY ], - [ 32, Moves.ICE_BEAM ], - [ 36, Moves.IMPRISON ], - [ 40, Moves.MIST ], - [ 44, Moves.AURORA_VEIL ], - [ 48, Moves.FREEZE_DRY ], - [ 52, Moves.BLIZZARD ], - ], - [Species.ALOLA_NINETALES]: [ - [ EVOLVE_MOVE, Moves.DAZZLING_GLEAM ], - [ RELEARN_MOVE, Moves.DISABLE ], - [ RELEARN_MOVE, Moves.MIST ], - [ RELEARN_MOVE, Moves.ICE_BEAM ], - [ RELEARN_MOVE, Moves.AURORA_BEAM ], - [ RELEARN_MOVE, Moves.CONFUSE_RAY ], - [ RELEARN_MOVE, Moves.SPITE ], - [ RELEARN_MOVE, Moves.POWDER_SNOW ], - [ RELEARN_MOVE, Moves.EXTRASENSORY ], - [ RELEARN_MOVE, Moves.NASTY_PLOT ], - [ RELEARN_MOVE, Moves.ICE_SHARD ], - [ RELEARN_MOVE, Moves.FREEZE_DRY ], - [ RELEARN_MOVE, Moves.AURORA_VEIL ], - [ 1, Moves.ICY_WIND ], - [ 1, Moves.IMPRISON ], - [ 1, Moves.BLIZZARD ], - [ 1, Moves.TAIL_WHIP ], - ], - [Species.ALOLA_DIGLETT]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.METAL_CLAW ], - [ 4, Moves.GROWL ], - [ 8, Moves.ASTONISH ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.BULLDOZE ], - [ 20, Moves.SUCKER_PUNCH ], - [ 24, Moves.IRON_HEAD ], - [ 28, Moves.SANDSTORM ], - [ 32, Moves.DIG ], - [ 36, Moves.EARTH_POWER ], - [ 40, Moves.EARTHQUAKE ], - [ 44, Moves.FISSURE ], - ], - [Species.ALOLA_DUGTRIO]: [ - [ EVOLVE_MOVE, Moves.SAND_TOMB ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.GROWL ], - [ 1, Moves.TRI_ATTACK ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.NIGHT_SLASH ], - [ 1, Moves.ROTOTILLER ], - [ 12, Moves.MUD_SLAP ], - [ 16, Moves.BULLDOZE ], - [ 20, Moves.SUCKER_PUNCH ], - [ 24, Moves.IRON_HEAD ], - [ 30, Moves.SANDSTORM ], - [ 36, Moves.DIG ], - [ 42, Moves.EARTH_POWER ], - [ 48, Moves.EARTHQUAKE ], - [ 54, Moves.FISSURE ], - ], - [Species.ALOLA_MEOWTH]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 4, Moves.FEINT ], - [ 8, Moves.SCRATCH ], - [ 12, Moves.PAY_DAY ], - [ 16, Moves.BITE ], - [ 20, Moves.TAUNT ], - [ 24, Moves.ASSURANCE ], - [ 29, Moves.FURY_SWIPES ], - [ 32, Moves.SCREECH ], - [ 36, Moves.NIGHT_SLASH ], - [ 40, Moves.NASTY_PLOT ], - [ 44, Moves.PLAY_ROUGH ], - ], - [Species.ALOLA_PERSIAN]: [ - [ EVOLVE_MOVE, Moves.POWER_GEM ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.FEINT ], - [ 1, Moves.SWITCHEROO ], - [ 1, Moves.QUASH ], - [ 12, Moves.PAY_DAY ], - [ 16, Moves.BITE ], - [ 20, Moves.TAUNT ], - [ 24, Moves.ASSURANCE ], - [ 31, Moves.FURY_SWIPES ], - [ 36, Moves.SCREECH ], - [ 42, Moves.NIGHT_SLASH ], - [ 48, Moves.NASTY_PLOT ], - [ 54, Moves.PLAY_ROUGH ], - ], - [Species.ALOLA_GEODUDE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 4, Moves.CHARGE ], - [ 6, Moves.ROCK_POLISH ], - [ 10, Moves.ROLLOUT ], - [ 12, Moves.SPARK ], - [ 16, Moves.ROCK_THROW ], - [ 18, Moves.SMACK_DOWN ], - [ 22, Moves.THUNDER_PUNCH ], - [ 24, Moves.SELF_DESTRUCT ], - [ 28, Moves.STEALTH_ROCK ], - [ 30, Moves.ROCK_BLAST ], - [ 34, Moves.DISCHARGE ], - [ 36, Moves.EXPLOSION ], - [ 40, Moves.DOUBLE_EDGE ], - [ 42, Moves.STONE_EDGE ], - ], - [Species.ALOLA_GRAVELER]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.CHARGE ], - [ 1, Moves.ROCK_POLISH ], - [ 10, Moves.ROLLOUT ], - [ 12, Moves.SPARK ], - [ 16, Moves.ROCK_THROW ], - [ 18, Moves.SMACK_DOWN ], - [ 22, Moves.THUNDER_PUNCH ], - [ 24, Moves.SELF_DESTRUCT ], - [ 30, Moves.STEALTH_ROCK ], - [ 34, Moves.ROCK_BLAST ], - [ 40, Moves.DISCHARGE ], - [ 44, Moves.EXPLOSION ], - [ 50, Moves.DOUBLE_EDGE ], - [ 54, Moves.STONE_EDGE ], - ], - [Species.ALOLA_GOLEM]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.CHARGE ], - [ 1, Moves.ROCK_POLISH ], - [ 1, Moves.ROLLOUT ], // Previous Stage Move - [ 1, Moves.HEAVY_SLAM ], - [ 12, Moves.SPARK ], - [ 16, Moves.ROCK_THROW ], - [ 18, Moves.SMACK_DOWN ], - [ 22, Moves.THUNDER_PUNCH ], - [ 24, Moves.SELF_DESTRUCT ], - [ 30, Moves.STEALTH_ROCK ], - [ 34, Moves.ROCK_BLAST ], - [ 40, Moves.DISCHARGE ], - [ 44, Moves.EXPLOSION ], - [ 50, Moves.DOUBLE_EDGE ], - [ 54, Moves.STONE_EDGE ], - ], - [Species.ALOLA_GRIMER]: [ - [ 1, Moves.POUND ], - [ 1, Moves.POISON_GAS ], - [ 4, Moves.HARDEN ], - [ 7, Moves.BITE ], - [ 12, Moves.DISABLE ], - [ 15, Moves.ACID_SPRAY ], - [ 18, Moves.POISON_FANG ], - [ 21, Moves.MINIMIZE ], - [ 26, Moves.TOXIC ], - [ 29, Moves.KNOCK_OFF ], - [ 32, Moves.CRUNCH ], - [ 37, Moves.SCREECH ], - [ 40, Moves.GUNK_SHOT ], - [ 43, Moves.ACID_ARMOR ], - [ 46, Moves.BELCH ], - [ 48, Moves.MEMENTO ], - ], - [Species.ALOLA_MUK]: [ - [ 1, Moves.POUND ], - [ 1, Moves.BITE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.POISON_GAS ], - [ 12, Moves.DISABLE ], - [ 15, Moves.ACID_SPRAY ], - [ 18, Moves.POISON_FANG ], - [ 21, Moves.MINIMIZE ], - [ 26, Moves.TOXIC ], - [ 29, Moves.KNOCK_OFF ], - [ 32, Moves.CRUNCH ], - [ 37, Moves.SCREECH ], - [ 40, Moves.GUNK_SHOT ], - [ 46, Moves.ACID_ARMOR ], - [ 52, Moves.BELCH ], - [ 57, Moves.MEMENTO ], - ], - [Species.ALOLA_EXEGGUTOR]: [ - [ EVOLVE_MOVE, Moves.DRAGON_HAMMER ], - [ RELEARN_MOVE, Moves.GROWTH ], - [ 1, Moves.BARRAGE ], - [ 1, Moves.SEED_BOMB ], - [ 1, Moves.PSYSHOCK ], - [ 1, Moves.WOOD_HAMMER ], - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.SYNTHESIS ], - [ 1, Moves.BULLET_SEED ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.EXTRASENSORY ], - [ 1, Moves.UPROAR ], - [ 1, Moves.WORRY_SEED ], - [ 1, Moves.SOLAR_BEAM ], - [ 1, Moves.ABSORB ], - [ 1, Moves.HYPNOSIS ], - [ 1, Moves.REFLECT ], - [ 1, Moves.LEECH_SEED ], - ], - [Species.ALOLA_MAROWAK]: [ - [ EVOLVE_MOVE, Moves.SHADOW_BONE ], - [ 1, Moves.BONE_CLUB ], - [ 1, Moves.HEADBUTT ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.FIRE_SPIN ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.FALSE_SWIPE ], - [ 1, Moves.RETALIATE ], - [ 12, Moves.FLAME_WHEEL ], - [ 16, Moves.HEX ], - [ 20, Moves.FLING ], - [ 24, Moves.STOMPING_TANTRUM ], - [ 31, Moves.BONE_RUSH ], - [ 36, Moves.WILL_O_WISP ], - [ 42, Moves.ENDEAVOR ], - [ 48, Moves.BONEMERANG ], - [ 54, Moves.THRASH ], - [ 60, Moves.FLARE_BLITZ ], - ], - [Species.ETERNAL_FLOETTE]: [ - [ 1, Moves.VINE_WHIP ], - [ 1, Moves.TACKLE ], - [ 1, Moves.FAIRY_WIND ], - [ 10, Moves.LUCKY_CHANT ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.WISH ], - [ 25, Moves.MAGICAL_LEAF ], - [ 27, Moves.GRASSY_TERRAIN ], - [ 33, Moves.PETAL_BLIZZARD ], - [ 38, Moves.AROMATHERAPY ], - [ 43, Moves.MISTY_TERRAIN ], - [ 46, Moves.MOONBLAST ], - [ 50, Moves.LIGHT_OF_RUIN ], - [ 51, Moves.PETAL_DANCE ], - [ 58, Moves.SOLAR_BEAM ], - ], - [Species.GALAR_MEOWTH]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.FAKE_OUT ], - [ 4, Moves.HONE_CLAWS ], - [ 8, Moves.SCRATCH ], - [ 12, Moves.PAY_DAY ], - [ 16, Moves.METAL_CLAW ], - [ 20, Moves.TAUNT ], - [ 24, Moves.SWAGGER ], - [ 29, Moves.FURY_SWIPES ], - [ 32, Moves.SCREECH ], - [ 36, Moves.SLASH ], - [ 40, Moves.METAL_SOUND ], - [ 44, Moves.THRASH ], - ], - [Species.GALAR_PONYTA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 5, Moves.TAIL_WHIP ], - [ 10, Moves.CONFUSION ], - [ 15, Moves.FAIRY_WIND ], - [ 20, Moves.AGILITY ], - [ 25, Moves.PSYBEAM ], - [ 30, Moves.STOMP ], - [ 35, Moves.HEAL_PULSE ], - [ 41, Moves.TAKE_DOWN ], - [ 45, Moves.DAZZLING_GLEAM ], - [ 50, Moves.PSYCHIC ], - [ 55, Moves.HEALING_WISH ], - ], - [Species.GALAR_RAPIDASH]: [ - [ EVOLVE_MOVE, Moves.PSYCHO_CUT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.MEGAHORN ], - [ 15, Moves.FAIRY_WIND ], - [ 20, Moves.AGILITY ], - [ 25, Moves.PSYBEAM ], - [ 30, Moves.STOMP ], - [ 35, Moves.HEAL_PULSE ], - [ 43, Moves.TAKE_DOWN ], - [ 49, Moves.DAZZLING_GLEAM ], - [ 56, Moves.PSYCHIC ], - [ 63, Moves.HEALING_WISH ], - ], - [Species.GALAR_SLOWPOKE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CURSE ], - [ 3, Moves.GROWL ], - [ 6, Moves.ACID ], - [ 9, Moves.YAWN ], - [ 12, Moves.CONFUSION ], - [ 15, Moves.DISABLE ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 27, Moves.AMNESIA ], - [ 30, Moves.SURF ], - [ 33, Moves.SLACK_OFF ], - [ 36, Moves.PSYCHIC ], - [ 39, Moves.PSYCH_UP ], - [ 42, Moves.RAIN_DANCE ], - [ 45, Moves.HEAL_PULSE ], - ], - [Species.GALAR_SLOWBRO]: [ - [ EVOLVE_MOVE, Moves.SHELL_SIDE_ARM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.ACID ], - [ 1, Moves.WITHDRAW ], - [ 1, Moves.CURSE ], - [ 9, Moves.YAWN ], - [ 12, Moves.CONFUSION ], - [ 15, Moves.DISABLE ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 27, Moves.AMNESIA ], - [ 30, Moves.SURF ], - [ 33, Moves.SLACK_OFF ], - [ 36, Moves.PSYCHIC ], - [ 39, Moves.PSYCH_UP ], - [ 42, Moves.RAIN_DANCE ], - [ 45, Moves.HEAL_PULSE ], - ], - [Species.GALAR_FARFETCHD]: [ - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.PECK ], - [ 5, Moves.LEER ], - [ 10, Moves.FURY_CUTTER ], - [ 15, Moves.ROCK_SMASH ], - [ 20, Moves.BRUTAL_SWING ], - [ 25, Moves.DETECT ], - [ 30, Moves.KNOCK_OFF ], - [ 35, Moves.DEFOG ], - [ 40, Moves.BRICK_BREAK ], - [ 45, Moves.SWORDS_DANCE ], - [ 50, Moves.SLAM ], - [ 55, Moves.LEAF_BLADE ], - [ 60, Moves.FINAL_GAMBIT ], - [ 65, Moves.BRAVE_BIRD ], - ], - [Species.GALAR_WEEZING]: [ - [ EVOLVE_MOVE, Moves.DOUBLE_HIT ], - [ 1, Moves.TACKLE ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.HAZE ], - [ 1, Moves.SMOG ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.HEAT_WAVE ], - [ 1, Moves.DEFOG ], - [ 1, Moves.AROMATIC_MIST ], - [ 1, Moves.STRANGE_STEAM ], - [ 12, Moves.CLEAR_SMOG ], - [ 16, Moves.ASSURANCE ], - [ 20, Moves.SLUDGE ], - [ 24, Moves.FAIRY_WIND ], - [ 28, Moves.SELF_DESTRUCT ], - [ 32, Moves.SLUDGE_BOMB ], - [ 38, Moves.TOXIC ], - [ 44, Moves.BELCH ], - [ 50, Moves.EXPLOSION ], - [ 56, Moves.MEMENTO ], - [ 62, Moves.DESTINY_BOND ], - [ 68, Moves.MISTY_TERRAIN ], - ], - [Species.GALAR_MR_MIME]: [ - [ 1, Moves.POUND ], - [ 1, Moves.BARRIER ], // Previous Stage Move - [ 1, Moves.TICKLE ], // Previous Stage Move - [ 1, Moves.MIMIC ], - [ 1, Moves.LIGHT_SCREEN ], - [ 1, Moves.REFLECT ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.BATON_PASS ], - [ 1, Moves.ENCORE ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.ROLE_PLAY ], - [ 1, Moves.RECYCLE ], - [ 1, Moves.COPYCAT ], - [ 1, Moves.ICE_SHARD ], - [ 1, Moves.MISTY_TERRAIN ], - [ 1, Moves.DAZZLING_GLEAM ], - [ 12, Moves.CONFUSION ], - [ 16, Moves.ALLY_SWITCH ], - [ 20, Moves.ICY_WIND ], - [ 24, Moves.DOUBLE_KICK ], - [ 28, Moves.PSYBEAM ], - [ 32, Moves.HYPNOSIS ], - [ 36, Moves.MIRROR_COAT ], - [ 40, Moves.SUCKER_PUNCH ], - [ 44, Moves.FREEZE_DRY ], - [ 48, Moves.PSYCHIC ], - [ 52, Moves.TEETER_DANCE ], - ], - [Species.GALAR_ARTICUNO]: [ - [ 1, Moves.GUST ], - [ 5, Moves.CONFUSION ], - [ 10, Moves.REFLECT ], - [ 15, Moves.HYPNOSIS ], - [ 20, Moves.AGILITY ], - [ 25, Moves.ANCIENT_POWER ], - [ 30, Moves.TAILWIND ], - [ 35, Moves.PSYCHO_CUT ], - [ 40, Moves.RECOVER ], - [ 45, Moves.FREEZING_GLARE ], - [ 50, Moves.DREAM_EATER ], - [ 55, Moves.HURRICANE ], - [ 60, Moves.DOUBLE_TEAM ], - [ 65, Moves.FUTURE_SIGHT ], - [ 70, Moves.TRICK_ROOM ], - ], - [Species.GALAR_ZAPDOS]: [ - [ 1, Moves.PECK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 5, Moves.ROCK_SMASH ], - [ 10, Moves.LIGHT_SCREEN ], - [ 15, Moves.PLUCK ], - [ 20, Moves.AGILITY ], - [ 25, Moves.ANCIENT_POWER ], - [ 30, Moves.BRICK_BREAK ], - [ 35, Moves.DRILL_PECK ], - [ 40, Moves.QUICK_GUARD ], - [ 45, Moves.THUNDEROUS_KICK ], - [ 50, Moves.BULK_UP ], - [ 55, Moves.COUNTER ], - [ 60, Moves.DETECT ], - [ 65, Moves.CLOSE_COMBAT ], - [ 70, Moves.REVERSAL ], - ], - [Species.GALAR_MOLTRES]: [ - [ 1, Moves.GUST ], - [ 1, Moves.LEER ], - [ 5, Moves.PAYBACK ], - [ 10, Moves.SAFEGUARD ], - [ 15, Moves.WING_ATTACK ], - [ 20, Moves.AGILITY ], - [ 25, Moves.ANCIENT_POWER ], - [ 30, Moves.SUCKER_PUNCH ], - [ 35, Moves.AIR_SLASH ], - [ 40, Moves.AFTER_YOU ], - [ 45, Moves.FIERY_WRATH ], - [ 50, Moves.NASTY_PLOT ], - [ 55, Moves.HURRICANE ], - [ 60, Moves.ENDURE ], - [ 65, Moves.MEMENTO ], - [ 70, Moves.SKY_ATTACK ], - ], - [Species.GALAR_SLOWKING]: [ - [ EVOLVE_MOVE, Moves.EERIE_SPELL ], - [ RELEARN_MOVE, Moves.FUTURE_SIGHT ], - [ RELEARN_MOVE, Moves.CHILLY_RECEPTION ], - [ RELEARN_MOVE, Moves.TOXIC ], - [ 1, Moves.POWER_GEM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.SWAGGER ], - [ 1, Moves.TACKLE ], - [ 1, Moves.CURSE ], - [ 1, Moves.GROWL ], - [ 1, Moves.ACID ], - [ 9, Moves.YAWN ], - [ 12, Moves.CONFUSION ], - [ 15, Moves.DISABLE ], - [ 18, Moves.WATER_PULSE ], - [ 21, Moves.HEADBUTT ], - [ 24, Moves.ZEN_HEADBUTT ], - [ 27, Moves.AMNESIA ], - [ 30, Moves.SURF ], - [ 33, Moves.SLACK_OFF ], - [ 36, Moves.PSYCHIC ], - [ 39, Moves.PSYCH_UP ], - [ 42, Moves.RAIN_DANCE ], - [ 45, Moves.HEAL_PULSE ], - ], - [Species.GALAR_CORSOLA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 5, Moves.ASTONISH ], - [ 10, Moves.DISABLE ], - [ 15, Moves.SPITE ], - [ 20, Moves.ANCIENT_POWER ], - [ 25, Moves.HEX ], - [ 30, Moves.CURSE ], - [ 35, Moves.STRENGTH_SAP ], - [ 40, Moves.POWER_GEM ], - [ 45, Moves.NIGHT_SHADE ], - [ 50, Moves.GRUDGE ], - [ 55, Moves.MIRROR_COAT ], - ], - [Species.GALAR_ZIGZAGOON]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 3, Moves.SAND_ATTACK ], - [ 6, Moves.LICK ], - [ 9, Moves.SNARL ], - [ 12, Moves.HEADBUTT ], - [ 15, Moves.BABY_DOLL_EYES ], - [ 18, Moves.PIN_MISSILE ], - [ 21, Moves.REST ], - [ 24, Moves.TAKE_DOWN ], - [ 27, Moves.SCARY_FACE ], - [ 30, Moves.COUNTER ], - [ 33, Moves.TAUNT ], - [ 36, Moves.DOUBLE_EDGE ], - ], - [Species.GALAR_LINOONE]: [ - [ EVOLVE_MOVE, Moves.NIGHT_SLASH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.PIN_MISSILE ], - [ 1, Moves.LEER ], - [ 1, Moves.LICK ], - [ 1, Moves.SWITCHEROO ], - [ 1, Moves.BABY_DOLL_EYES ], - [ 9, Moves.SNARL ], - [ 12, Moves.HEADBUTT ], - [ 15, Moves.HONE_CLAWS ], - [ 18, Moves.FURY_SWIPES ], - [ 23, Moves.REST ], - [ 28, Moves.TAKE_DOWN ], - [ 33, Moves.SCARY_FACE ], - [ 38, Moves.COUNTER ], - [ 43, Moves.TAUNT ], - [ 48, Moves.DOUBLE_EDGE ], - ], - [Species.GALAR_DARUMAKA]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POWDER_SNOW ], - [ 4, Moves.TAUNT ], - [ 8, Moves.BITE ], - [ 12, Moves.AVALANCHE ], - [ 16, Moves.WORK_UP ], - [ 20, Moves.ICE_FANG ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.ICE_PUNCH ], - [ 32, Moves.UPROAR ], - [ 36, Moves.BELLY_DRUM ], - [ 40, Moves.BLIZZARD ], - [ 44, Moves.THRASH ], - [ 48, Moves.SUPERPOWER ], - ], - [Species.GALAR_DARMANITAN]: [ - [ EVOLVE_MOVE, Moves.ICICLE_CRASH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.BITE ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.TAUNT ], - [ 12, Moves.AVALANCHE ], - [ 16, Moves.WORK_UP ], - [ 20, Moves.ICE_FANG ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.ICE_PUNCH ], - [ 32, Moves.UPROAR ], - [ 38, Moves.BELLY_DRUM ], - [ 44, Moves.BLIZZARD ], - [ 50, Moves.THRASH ], - [ 56, Moves.SUPERPOWER ], - ], - [Species.GALAR_YAMASK]: [ - [ 1, Moves.PROTECT ], - [ 1, Moves.ASTONISH ], - [ 4, Moves.HAZE ], - [ 8, Moves.NIGHT_SHADE ], - [ 12, Moves.DISABLE ], - [ 16, Moves.BRUTAL_SWING ], - [ 20, Moves.CRAFTY_SHIELD ], - [ 24, Moves.HEX ], - [ 28, Moves.MEAN_LOOK ], - [ 32, Moves.SLAM ], - [ 36, Moves.CURSE ], - [ 40, Moves.SHADOW_BALL ], - [ 44, Moves.EARTHQUAKE ], - [ 48, Moves.GUARD_SPLIT ], - [ 48, Moves.POWER_SPLIT ], - [ 52, Moves.DESTINY_BOND ], - ], - [Species.GALAR_STUNFISK]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.METAL_CLAW ], - [ 5, Moves.ENDURE ], - [ 10, Moves.MUD_SHOT ], - [ 15, Moves.REVENGE ], - [ 20, Moves.METAL_SOUND ], - [ 25, Moves.SUCKER_PUNCH ], - [ 30, Moves.IRON_DEFENSE ], - [ 35, Moves.BOUNCE ], - [ 40, Moves.MUDDY_WATER ], - [ 45, Moves.SNAP_TRAP ], - [ 50, Moves.FLAIL ], - [ 55, Moves.FISSURE ], - ], - [Species.HISUI_GROWLITHE]: [ - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 4, Moves.HOWL ], - [ 8, Moves.BITE ], - [ 12, Moves.FLAME_WHEEL ], - [ 16, Moves.HELPING_HAND ], - [ 24, Moves.FIRE_FANG ], - [ 28, Moves.RETALIATE ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.FLAMETHROWER ], - [ 44, Moves.ROAR ], - [ 48, Moves.ROCK_SLIDE ], - [ 52, Moves.REVERSAL ], - [ 56, Moves.FLARE_BLITZ ], - ], - [Species.HISUI_ARCANINE]: [ - [ EVOLVE_MOVE, Moves.EXTREME_SPEED ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.ROAR ], - [ 1, Moves.EMBER ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.AGILITY ], - [ 1, Moves.ROCK_SLIDE ], - [ 1, Moves.FLAME_WHEEL ], - [ 1, Moves.REVERSAL ], - [ 1, Moves.CRUNCH ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.HOWL ], - [ 1, Moves.FLARE_BLITZ ], - [ 1, Moves.FIRE_FANG ], - [ 1, Moves.RETALIATE ], - [ 5, Moves.FLAMETHROWER ], - [ 64, Moves.RAGING_FURY ], - ], - [Species.HISUI_VOLTORB]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.CHARGE ], - [ 4, Moves.THUNDER_SHOCK ], - [ 6, Moves.STUN_SPORE ], - [ 9, Moves.BULLET_SEED ], - [ 11, Moves.ROLLOUT ], - [ 13, Moves.SCREECH ], - [ 16, Moves.CHARGE_BEAM ], - [ 20, Moves.SWIFT ], - [ 22, Moves.ELECTRO_BALL ], - [ 26, Moves.SELF_DESTRUCT ], - [ 29, Moves.ENERGY_BALL ], - [ 34, Moves.SEED_BOMB ], - [ 34, Moves.DISCHARGE ], - [ 41, Moves.EXPLOSION ], - [ 46, Moves.GYRO_BALL ], - [ 50, Moves.GRASSY_TERRAIN ], - ], - [Species.HISUI_ELECTRODE]: [ - [ EVOLVE_MOVE, Moves.CHLOROBLAST ], - [ 1, Moves.TACKLE ], - [ 1, Moves.CHARGE ], - [ 4, Moves.THUNDER_SHOCK ], - [ 6, Moves.STUN_SPORE ], - [ 9, Moves.BULLET_SEED ], - [ 11, Moves.ROLLOUT ], - [ 13, Moves.SCREECH ], - [ 16, Moves.CHARGE_BEAM ], - [ 20, Moves.SWIFT ], - [ 22, Moves.ELECTRO_BALL ], - [ 26, Moves.SELF_DESTRUCT ], - [ 29, Moves.ENERGY_BALL ], - [ 34, Moves.SEED_BOMB ], - [ 34, Moves.DISCHARGE ], - [ 41, Moves.EXPLOSION ], - [ 46, Moves.GYRO_BALL ], - [ 50, Moves.GRASSY_TERRAIN ], - ], - [Species.HISUI_TYPHLOSION]: [ - [ EVOLVE_MOVE, Moves.INFERNAL_PARADE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.LEER ], - [ 1, Moves.EMBER ], - [ 1, Moves.SMOKESCREEN ], - [ 1, Moves.ERUPTION ], - [ 1, Moves.GYRO_BALL ], - [ 13, Moves.QUICK_ATTACK ], - [ 20, Moves.FLAME_WHEEL ], - [ 24, Moves.DEFENSE_CURL ], - [ 31, Moves.SWIFT ], - [ 35, Moves.FLAME_CHARGE ], - [ 43, Moves.LAVA_PLUME ], - [ 48, Moves.FLAMETHROWER ], - [ 56, Moves.INFERNO ], - [ 61, Moves.ROLLOUT ], - [ 74, Moves.OVERHEAT ], - ], - [Species.HISUI_QWILFISH]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.POISON_STING ], - [ 4, Moves.HARDEN ], - [ 8, Moves.BITE ], - [ 12, Moves.FELL_STINGER ], - [ 16, Moves.MINIMIZE ], - [ 20, Moves.SPIKES ], - [ 24, Moves.BRINE ], - [ 28, Moves.BARB_BARRAGE ], - [ 32, Moves.PIN_MISSILE ], - [ 36, Moves.TOXIC_SPIKES ], - [ 40, Moves.STOCKPILE ], - [ 40, Moves.SPIT_UP ], - [ 44, Moves.TOXIC ], - [ 48, Moves.CRUNCH ], - [ 52, Moves.ACUPRESSURE ], - [ 56, Moves.DESTINY_BOND ], - ], - [Species.HISUI_SNEASEL]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.ROCK_SMASH ], - [ 6, Moves.TAUNT ], - [ 12, Moves.QUICK_ATTACK ], - [ 18, Moves.METAL_CLAW ], - [ 24, Moves.POISON_JAB ], - [ 30, Moves.BRICK_BREAK ], - [ 36, Moves.HONE_CLAWS ], - [ 42, Moves.SLASH ], - [ 48, Moves.AGILITY ], - [ 54, Moves.SCREECH ], - [ 60, Moves.CLOSE_COMBAT ], - ], - [Species.HISUI_SAMUROTT]: [ - [ EVOLVE_MOVE, Moves.CEASELESS_EDGE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SOAK ], // Previous Stage Move - [ 1, Moves.SLASH ], - [ 1, Moves.MEGAHORN ], - [ 1, Moves.SUCKER_PUNCH ], - [ 13, Moves.FOCUS_ENERGY ], - [ 18, Moves.RAZOR_SHELL ], - [ 21, Moves.FURY_CUTTER ], - [ 25, Moves.WATER_PULSE ], - [ 29, Moves.AERIAL_ACE ], - [ 34, Moves.AQUA_JET ], - [ 39, Moves.ENCORE ], - [ 46, Moves.AQUA_TAIL ], - [ 51, Moves.RETALIATE ], - [ 58, Moves.SWORDS_DANCE ], - [ 63, Moves.HYDRO_PUMP ], - ], - [Species.HISUI_LILLIGANT]: [ - [ EVOLVE_MOVE, Moves.VICTORY_DANCE ], - [ 1, Moves.MEGA_KICK ], - [ 1, Moves.ABSORB ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.GROWTH ], - [ 1, Moves.STUN_SPORE ], - [ 1, Moves.SLEEP_POWDER ], - [ 1, Moves.GIGA_DRAIN ], - [ 1, Moves.CHARM ], // Previous Stage Move - [ 1, Moves.SYNTHESIS ], - [ 1, Moves.SUNNY_DAY ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.TEETER_DANCE ], - [ 1, Moves.MAGICAL_LEAF ], - [ 1, Moves.LEAF_BLADE ], - [ 1, Moves.ENERGY_BALL ], - [ 1, Moves.DEFOG ], - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.ENTRAINMENT ], - [ 1, Moves.AFTER_YOU ], - [ 1, Moves.PETAL_BLIZZARD ], - [ 1, Moves.SOLAR_BLADE ], - [ 5, Moves.AXE_KICK ], - ], - [Species.HISUI_ZORUA]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 4, Moves.TORMENT ], - [ 8, Moves.HONE_CLAWS ], - [ 12, Moves.SHADOW_SNEAK ], - [ 16, Moves.CURSE ], - [ 20, Moves.TAUNT ], - [ 24, Moves.KNOCK_OFF ], - [ 28, Moves.SPITE ], - [ 32, Moves.AGILITY ], - [ 36, Moves.SHADOW_BALL ], - [ 40, Moves.BITTER_MALICE ], - [ 44, Moves.NASTY_PLOT ], - [ 48, Moves.FOUL_PLAY ], - ], - [Species.HISUI_ZOROARK]: [ - [ EVOLVE_MOVE, Moves.SHADOW_CLAW ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.TORMENT ], - [ 1, Moves.U_TURN ], - [ 1, Moves.HONE_CLAWS ], - [ 12, Moves.SHADOW_SNEAK ], - [ 16, Moves.CURSE ], - [ 20, Moves.TAUNT ], - [ 24, Moves.KNOCK_OFF ], - [ 28, Moves.SPITE ], - [ 34, Moves.AGILITY ], - [ 40, Moves.SHADOW_BALL ], - [ 46, Moves.BITTER_MALICE ], - [ 52, Moves.NASTY_PLOT ], - [ 58, Moves.FOUL_PLAY ], - ], - [Species.HISUI_BRAVIARY]: [ - [ EVOLVE_MOVE, Moves.ESPER_WING ], - [ RELEARN_MOVE, Moves.BRAVE_BIRD ], // Previous Stage Move - [ 1, Moves.WING_ATTACK ], - [ 1, Moves.LEER ], - [ 1, Moves.PECK ], - [ 1, Moves.SKY_ATTACK ], - [ 1, Moves.SUPERPOWER ], - [ 1, Moves.HONE_CLAWS ], - [ 18, Moves.TAILWIND ], - [ 24, Moves.SCARY_FACE ], - [ 30, Moves.AERIAL_ACE ], - [ 36, Moves.SLASH ], - [ 42, Moves.WHIRLWIND ], - [ 48, Moves.CRUSH_CLAW ], - [ 57, Moves.AIR_SLASH ], - [ 64, Moves.DEFOG ], - [ 72, Moves.THRASH ], - [ 80, Moves.HURRICANE ], - ], - [Species.HISUI_SLIGGOO]: [ - [ EVOLVE_MOVE, Moves.SHELTER ], - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.ABSORB ], - [ 1, Moves.ACID_ARMOR ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.BODY_SLAM ], // Previous Stage Move - [ 15, Moves.PROTECT ], - [ 20, Moves.FLAIL ], - [ 25, Moves.WATER_PULSE ], - [ 30, Moves.RAIN_DANCE ], - [ 35, Moves.DRAGON_PULSE ], - [ 43, Moves.CURSE ], - [ 49, Moves.IRON_HEAD ], - [ 56, Moves.MUDDY_WATER ], - ], - [Species.HISUI_GOODRA]: [ - [ EVOLVE_MOVE, Moves.IRON_TAIL ], - [ 1, Moves.TACKLE ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.ABSORB ], - [ 1, Moves.ACID_ARMOR ], // Previous Stage Move - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.FEINT ], - [ 1, Moves.ACID_SPRAY ], - [ 1, Moves.TEARFUL_LOOK ], - [ 1, Moves.SHELTER ], - [ 15, Moves.PROTECT ], - [ 20, Moves.FLAIL ], - [ 25, Moves.WATER_PULSE ], - [ 30, Moves.RAIN_DANCE ], - [ 35, Moves.DRAGON_PULSE ], - [ 43, Moves.CURSE ], - [ 49, Moves.BODY_SLAM ], - [ 49, Moves.IRON_HEAD ], - [ 58, Moves.MUDDY_WATER ], - [ 67, Moves.HEAVY_SLAM ], - ], - [Species.HISUI_AVALUGG]: [ - [ EVOLVE_MOVE, Moves.ROCK_SLIDE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.HARDEN ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.RAPID_SPIN ], - [ 1, Moves.WIDE_GUARD ], - [ 9, Moves.CURSE ], - [ 12, Moves.ICY_WIND ], - [ 15, Moves.PROTECT ], - [ 18, Moves.AVALANCHE ], - [ 21, Moves.BITE ], - [ 24, Moves.ICE_FANG ], - [ 27, Moves.IRON_DEFENSE ], - [ 30, Moves.RECOVER ], - [ 33, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 41, Moves.BLIZZARD ], - [ 46, Moves.DOUBLE_EDGE ], - [ 51, Moves.STONE_EDGE ], - [ 61, Moves.MOUNTAIN_GALE ], - ], - [Species.HISUI_DECIDUEYE]: [ - [ EVOLVE_MOVE, Moves.TRIPLE_ARROWS ], - [ RELEARN_MOVE, Moves.NASTY_PLOT ], // Previous Stage Move - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.U_TURN ], - [ 1, Moves.ASTONISH ], // Previous Stage Move - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.LEAFAGE ], - [ 9, Moves.PECK ], - [ 12, Moves.SHADOW_SNEAK ], - [ 15, Moves.RAZOR_LEAF ], - [ 20, Moves.SYNTHESIS ], - [ 25, Moves.PLUCK ], - [ 30, Moves.BULK_UP ], - [ 37, Moves.SUCKER_PUNCH ], - [ 44, Moves.LEAF_BLADE ], - [ 51, Moves.FEATHER_DANCE ], - [ 58, Moves.BRAVE_BIRD ], - ], - [Species.PALDEA_TAUROS]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.WORK_UP ], - [ 10, Moves.DOUBLE_KICK ], - [ 15, Moves.ASSURANCE ], - [ 20, Moves.HEADBUTT ], - [ 25, Moves.SCARY_FACE ], - [ 30, Moves.ZEN_HEADBUTT ], - [ 35, Moves.RAGING_BULL ], - [ 40, Moves.REST ], - [ 45, Moves.SWAGGER ], - [ 50, Moves.THRASH ], - [ 55, Moves.DOUBLE_EDGE ], - [ 60, Moves.CLOSE_COMBAT ], - ], - [Species.PALDEA_WOOPER]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.MUD_SHOT ], - [ 4, Moves.TACKLE ], - [ 8, Moves.POISON_TAIL ], - [ 12, Moves.TOXIC_SPIKES ], - [ 16, Moves.SLAM ], - [ 21, Moves.YAWN ], - [ 24, Moves.POISON_JAB ], - [ 28, Moves.SLUDGE_WAVE ], - [ 32, Moves.AMNESIA ], - [ 36, Moves.TOXIC ], - [ 40, Moves.EARTHQUAKE ], - ], - [Species.BLOODMOON_URSALUNA]: [ - [ RELEARN_MOVE, Moves.MOONLIGHT ], - [ 1, Moves.HEADLONG_RUSH ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.LICK ], - [ 8, Moves.FURY_SWIPES ], - [ 13, Moves.PAYBACK ], - [ 17, Moves.HARDEN ], - [ 22, Moves.SLASH ], - [ 25, Moves.PLAY_NICE ], - [ 35, Moves.SCARY_FACE ], - [ 41, Moves.REST ], - [ 41, Moves.SNORE ], - [ 48, Moves.EARTH_POWER ], - [ 56, Moves.MOONBLAST ], - [ 64, Moves.HAMMER_ARM ], - [ 70, Moves.BLOOD_MOON ], + [ RELEARN_MOVE, MoveId.SCRATCH ], + [ RELEARN_MOVE, MoveId.PLAY_NICE ], + [ RELEARN_MOVE, MoveId.WATER_GUN ], + [ RELEARN_MOVE, MoveId.WATER_SPORT ], + [ RELEARN_MOVE, MoveId.BITE ], + [ RELEARN_MOVE, MoveId.TAUNT ], + [ RELEARN_MOVE, MoveId.FLING ], + [ RELEARN_MOVE, MoveId.ACROBATICS ], + [ RELEARN_MOVE, MoveId.BRINE ], + [ RELEARN_MOVE, MoveId.RECYCLE ], + [ RELEARN_MOVE, MoveId.NATURAL_GIFT ], + [ RELEARN_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LICK ], + [ 1, MoveId.FURY_SWIPES ], + [ 1, MoveId.SCALD ], + ], + [SpeciesId.MUNNA]: [ + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.STORED_POWER ], + [ 1, MoveId.PSYWAVE ], + [ 4, MoveId.HYPNOSIS ], + [ 8, MoveId.PSYBEAM ], + [ 12, MoveId.IMPRISON ], + [ 16, MoveId.MOONLIGHT ], + [ 20, MoveId.MAGIC_COAT ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 28, MoveId.CALM_MIND ], + [ 32, MoveId.YAWN ], + [ 36, MoveId.PSYCHIC ], + [ 40, MoveId.MOONBLAST ], + [ 44, MoveId.DREAM_EATER ], + [ 48, MoveId.FUTURE_SIGHT ], + [ 52, MoveId.WONDER_ROOM ], + ], + [SpeciesId.MUSHARNA]: [ + [ 1, MoveId.PSYWAVE ], // Previous Stage Move + [ 1, MoveId.PSYBEAM ], + [ 1, MoveId.PSYCHIC ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.LUCKY_CHANT ], + [ 1, MoveId.DREAM_EATER ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.FUTURE_SIGHT ], + [ 1, MoveId.MAGIC_COAT ], + [ 1, MoveId.YAWN ], + [ 1, MoveId.IMPRISON ], + [ 1, MoveId.CALM_MIND ], + [ 1, MoveId.ZEN_HEADBUTT ], + [ 1, MoveId.WONDER_ROOM ], + [ 1, MoveId.STORED_POWER ], + [ 1, MoveId.MOONBLAST ], + [ 1, MoveId.PSYCHIC_TERRAIN ], + ], + [SpeciesId.PIDOVE]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.LEER ], + [ 8, MoveId.QUICK_ATTACK ], + [ 12, MoveId.TAUNT ], + [ 16, MoveId.AIR_CUTTER ], + [ 20, MoveId.SWAGGER ], + [ 24, MoveId.FEATHER_DANCE ], + [ 28, MoveId.DETECT ], + [ 32, MoveId.AIR_SLASH ], + [ 36, MoveId.ROOST ], + [ 40, MoveId.TAILWIND ], + [ 44, MoveId.SKY_ATTACK ], + ], + [SpeciesId.TRANQUILL]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.QUICK_ATTACK ], + [ 12, MoveId.TAUNT ], + [ 16, MoveId.AIR_CUTTER ], + [ 20, MoveId.SWAGGER ], + [ 26, MoveId.FEATHER_DANCE ], + [ 34, MoveId.DETECT ], + [ 38, MoveId.AIR_SLASH ], + [ 44, MoveId.ROOST ], + [ 50, MoveId.TAILWIND ], + [ 56, MoveId.SKY_ATTACK ], + ], + [SpeciesId.UNFEZANT]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.QUICK_ATTACK ], + [ 12, MoveId.TAUNT ], + [ 16, MoveId.AIR_CUTTER ], + [ 20, MoveId.SWAGGER ], + [ 26, MoveId.FEATHER_DANCE ], + [ 36, MoveId.DETECT ], + [ 42, MoveId.AIR_SLASH ], + [ 50, MoveId.ROOST ], + [ 58, MoveId.TAILWIND ], + [ 66, MoveId.SKY_ATTACK ], + ], + [SpeciesId.BLITZLE]: [ + [ 1, MoveId.QUICK_ATTACK ], + [ 4, MoveId.TAIL_WHIP ], + [ 8, MoveId.CHARGE ], + [ 11, MoveId.SHOCK_WAVE ], + [ 15, MoveId.THUNDER_WAVE ], + [ 18, MoveId.FLAME_CHARGE ], + [ 22, MoveId.SPARK ], + [ 25, MoveId.STOMP ], + [ 29, MoveId.DISCHARGE ], + [ 33, MoveId.AGILITY ], + [ 35, MoveId.WILD_CHARGE ], + [ 40, MoveId.THRASH ], + ], + [SpeciesId.ZEBSTRIKA]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.ION_DELUGE ], + [ 11, MoveId.SHOCK_WAVE ], + [ 18, MoveId.FLAME_CHARGE ], + [ 25, MoveId.SPARK ], + [ 31, MoveId.STOMP ], + [ 36, MoveId.DISCHARGE ], + [ 42, MoveId.AGILITY ], + [ 47, MoveId.WILD_CHARGE ], + [ 53, MoveId.THRASH ], + ], + [SpeciesId.ROGGENROLA]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 4, MoveId.HARDEN ], + [ 8, MoveId.STEALTH_ROCK ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.SMACK_DOWN ], + [ 20, MoveId.IRON_DEFENSE ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.ROCK_SLIDE ], + [ 32, MoveId.ROCK_BLAST ], + [ 36, MoveId.SANDSTORM ], + [ 40, MoveId.STONE_EDGE ], + [ 44, MoveId.EXPLOSION ], + ], + [SpeciesId.BOLDORE]: [ + [ EVOLVE_MOVE, MoveId.POWER_GEM ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.STEALTH_ROCK ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.SMACK_DOWN ], + [ 20, MoveId.IRON_DEFENSE ], + [ 24, MoveId.HEADBUTT ], + [ 30, MoveId.ROCK_SLIDE ], + [ 36, MoveId.ROCK_BLAST ], + [ 42, MoveId.SANDSTORM ], + [ 48, MoveId.STONE_EDGE ], + [ 54, MoveId.EXPLOSION ], + ], + [SpeciesId.GIGALITH]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.POWER_GEM ], + [ 1, MoveId.STEALTH_ROCK ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.SMACK_DOWN ], + [ 20, MoveId.IRON_DEFENSE ], + [ 24, MoveId.HEADBUTT ], + [ 30, MoveId.ROCK_SLIDE ], + [ 36, MoveId.ROCK_BLAST ], + [ 42, MoveId.SANDSTORM ], + [ 48, MoveId.STONE_EDGE ], + [ 54, MoveId.EXPLOSION ], + ], + [SpeciesId.WOOBAT]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.ATTRACT ], + [ 5, MoveId.CONFUSION ], + [ 10, MoveId.ENDEAVOR ], + [ 15, MoveId.AIR_CUTTER ], + [ 20, MoveId.IMPRISON ], + [ 25, MoveId.ASSURANCE ], + [ 30, MoveId.AMNESIA ], + [ 35, MoveId.AIR_SLASH ], + [ 40, MoveId.PSYCHIC ], + [ 45, MoveId.CALM_MIND ], + [ 50, MoveId.FUTURE_SIGHT ], + [ 55, MoveId.SIMPLE_BEAM ], + ], + [SpeciesId.SWOOBAT]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.ATTRACT ], + [ 1, MoveId.ENDEAVOR ], + [ 15, MoveId.AIR_CUTTER ], + [ 20, MoveId.IMPRISON ], + [ 25, MoveId.ASSURANCE ], + [ 30, MoveId.AMNESIA ], + [ 35, MoveId.AIR_SLASH ], + [ 40, MoveId.PSYCHIC ], + [ 45, MoveId.CALM_MIND ], + [ 50, MoveId.FUTURE_SIGHT ], + [ 55, MoveId.SIMPLE_BEAM ], + ], + [SpeciesId.DRILBUR]: [ + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.MUD_SPORT ], + [ 4, MoveId.SCRATCH ], + [ 8, MoveId.HONE_CLAWS ], + [ 12, MoveId.FURY_SWIPES ], + [ 16, MoveId.METAL_CLAW ], + [ 20, MoveId.SANDSTORM ], + [ 24, MoveId.CRUSH_CLAW ], + [ 28, MoveId.ROCK_SLIDE ], + [ 32, MoveId.DIG ], + [ 36, MoveId.SWORDS_DANCE ], + [ 40, MoveId.DRILL_RUN ], + [ 44, MoveId.EARTHQUAKE ], + [ 48, MoveId.FISSURE ], + ], + [SpeciesId.EXCADRILL]: [ + [ EVOLVE_MOVE, MoveId.HORN_DRILL ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.MUD_SPORT ], + [ 1, MoveId.ROTOTILLER ], + [ 1, MoveId.HONE_CLAWS ], + [ 12, MoveId.FURY_SWIPES ], + [ 16, MoveId.METAL_CLAW ], + [ 20, MoveId.SANDSTORM ], + [ 24, MoveId.CRUSH_CLAW ], + [ 28, MoveId.ROCK_SLIDE ], + [ 34, MoveId.DIG ], + [ 40, MoveId.SWORDS_DANCE ], + [ 46, MoveId.DRILL_RUN ], + [ 52, MoveId.EARTHQUAKE ], + [ 58, MoveId.FISSURE ], + ], + [SpeciesId.AUDINO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.PLAY_NICE ], + [ 4, MoveId.DISARMING_VOICE ], + [ 9, MoveId.BABY_DOLL_EYES ], + [ 12, MoveId.HELPING_HAND ], + [ 16, MoveId.GROWL ], + [ 20, MoveId.ZEN_HEADBUTT ], + [ 24, MoveId.LIFE_DEW ], + [ 28, MoveId.AFTER_YOU ], + [ 32, MoveId.TAKE_DOWN ], + [ 36, MoveId.SIMPLE_BEAM ], + [ 40, MoveId.HYPER_VOICE ], + [ 44, MoveId.HEAL_PULSE ], + [ 48, MoveId.DOUBLE_EDGE ], + [ 52, MoveId.ENTRAINMENT ], + [ 56, MoveId.MISTY_TERRAIN ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.TIMBURR]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.LEER ], + [ 4, MoveId.LOW_KICK ], + [ 8, MoveId.ROCK_THROW ], + [ 12, MoveId.FOCUS_ENERGY ], + [ 16, MoveId.BULK_UP ], + [ 20, MoveId.ROCK_SLIDE ], + [ 24, MoveId.SLAM ], + [ 28, MoveId.SCARY_FACE ], + [ 32, MoveId.DYNAMIC_PUNCH ], + [ 36, MoveId.HAMMER_ARM ], + [ 40, MoveId.STONE_EDGE ], + [ 44, MoveId.SUPERPOWER ], + [ 48, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.GURDURR]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.BIDE ], + [ 12, MoveId.FOCUS_ENERGY ], + [ 16, MoveId.BULK_UP ], + [ 20, MoveId.ROCK_SLIDE ], + [ 24, MoveId.SLAM ], + [ 30, MoveId.SCARY_FACE ], + [ 36, MoveId.DYNAMIC_PUNCH ], + [ 42, MoveId.HAMMER_ARM ], + [ 48, MoveId.STONE_EDGE ], + [ 54, MoveId.SUPERPOWER ], + [ 60, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.CONKELDURR]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.BIDE ], + [ 12, MoveId.FOCUS_ENERGY ], + [ 16, MoveId.BULK_UP ], + [ 20, MoveId.ROCK_SLIDE ], + [ 24, MoveId.SLAM ], + [ 30, MoveId.SCARY_FACE ], + [ 36, MoveId.DYNAMIC_PUNCH ], + [ 42, MoveId.HAMMER_ARM ], + [ 48, MoveId.STONE_EDGE ], + [ 54, MoveId.SUPERPOWER ], + [ 60, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.TYMPOLE]: [ + [ 1, MoveId.BUBBLE ], //USUM + [ 1, MoveId.GROWL ], + [ 1, MoveId.ECHOED_VOICE ], + [ 4, MoveId.ACID ], + [ 8, MoveId.SUPERSONIC ], + [ 12, MoveId.MUD_SHOT ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.FLAIL ], + [ 28, MoveId.UPROAR ], + [ 32, MoveId.AQUA_RING ], + [ 36, MoveId.HYPER_VOICE ], + [ 40, MoveId.MUDDY_WATER ], + [ 44, MoveId.RAIN_DANCE ], + [ 48, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.PALPITOAD]: [ + [ 1, MoveId.BUBBLE ], //USUM + [ 1, MoveId.GROWL ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.ACID ], + [ 1, MoveId.ECHOED_VOICE ], + [ 12, MoveId.MUD_SHOT ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.FLAIL ], + [ 30, MoveId.UPROAR ], + [ 37, MoveId.AQUA_RING ], + [ 42, MoveId.HYPER_VOICE ], + [ 48, MoveId.MUDDY_WATER ], + [ 54, MoveId.RAIN_DANCE ], + [ 60, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.SEISMITOAD]: [ + [ EVOLVE_MOVE, MoveId.DRAIN_PUNCH ], + [ 1, MoveId.BUBBLE ], //USUM + [ 1, MoveId.GROWL ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.ACID ], + [ 1, MoveId.GASTRO_ACID ], + [ 1, MoveId.ECHOED_VOICE ], + [ 12, MoveId.MUD_SHOT ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.FLAIL ], + [ 30, MoveId.UPROAR ], + [ 39, MoveId.AQUA_RING ], + [ 46, MoveId.HYPER_VOICE ], + [ 54, MoveId.MUDDY_WATER ], + [ 62, MoveId.RAIN_DANCE ], + [ 70, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.THROH]: [ + [ 1, MoveId.ROCK_SMASH ], // Custom + [ 1, MoveId.LEER ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.MAT_BLOCK ], + [ 1, MoveId.BIND ], + [ 5, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.CIRCLE_THROW ], + [ 15, MoveId.WIDE_GUARD ], + [ 20, MoveId.REVENGE ], + [ 25, MoveId.BULK_UP ], + [ 30, MoveId.STORM_THROW ], + [ 35, MoveId.VITAL_THROW ], + [ 40, MoveId.SEISMIC_TOSS ], + [ 45, MoveId.ENDURE ], + [ 50, MoveId.REVERSAL ], + [ 55, MoveId.SUPERPOWER ], + ], + [SpeciesId.SAWK]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.BIDE ], + [ 5, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.DOUBLE_KICK ], + [ 15, MoveId.QUICK_GUARD ], + [ 20, MoveId.LOW_SWEEP ], + [ 25, MoveId.BULK_UP ], + [ 30, MoveId.RETALIATE ], + [ 35, MoveId.BRICK_BREAK ], + [ 40, MoveId.COUNTER ], + [ 45, MoveId.ENDURE ], + [ 50, MoveId.REVERSAL ], + [ 55, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.SEWADDLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STRING_SHOT ], + [ 8, MoveId.BUG_BITE ], + [ 15, MoveId.RAZOR_LEAF ], + [ 22, MoveId.STRUGGLE_BUG ], + [ 29, MoveId.ENDURE ], + [ 31, MoveId.STICKY_WEB ], + [ 36, MoveId.BUG_BUZZ ], + [ 43, MoveId.FLAIL ], + ], + [SpeciesId.SWADLOON]: [ + [ EVOLVE_MOVE, MoveId.PROTECT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.GRASS_WHISTLE ], + [ 22, MoveId.STRUGGLE_BUG ], + [ 29, MoveId.ENDURE ], + [ 31, MoveId.STICKY_WEB ], + [ 36, MoveId.BUG_BUZZ ], + [ 43, MoveId.FLAIL ], + ], + [SpeciesId.LEAVANNY]: [ + [ EVOLVE_MOVE, MoveId.SLASH ], + [ RELEARN_MOVE, MoveId.BUG_BITE ], + [ RELEARN_MOVE, MoveId.STICKY_WEB ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.BUG_BUZZ ], // Previous Stage Move + [ 1, MoveId.PROTECT ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.GRASS_WHISTLE ], // Previous Stage Move + [ 1, MoveId.ENDURE ], // Previous Stage Move + [ 1, MoveId.FLAIL ], // Previous Stage Move + [ 1, MoveId.FALSE_SWIPE ], + [ 22, MoveId.STRUGGLE_BUG ], + [ 29, MoveId.FELL_STINGER ], + [ 32, MoveId.HELPING_HAND ], + [ 36, MoveId.LEAF_BLADE ], + [ 39, MoveId.X_SCISSOR ], + [ 43, MoveId.ENTRAINMENT ], + [ 46, MoveId.SWORDS_DANCE ], + [ 50, MoveId.LEAF_STORM ], + ], + [SpeciesId.VENIPEDE]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.DEFENSE_CURL ], + [ 4, MoveId.ROLLOUT ], + [ 8, MoveId.PROTECT ], + [ 12, MoveId.POISON_TAIL ], + [ 16, MoveId.SCREECH ], + [ 20, MoveId.BUG_BITE ], + [ 24, MoveId.VENOSHOCK ], + [ 28, MoveId.TAKE_DOWN ], + [ 32, MoveId.AGILITY ], + [ 36, MoveId.TOXIC ], + [ 40, MoveId.VENOM_DRENCH ], + [ 44, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.WHIRLIPEDE]: [ + [ EVOLVE_MOVE, MoveId.IRON_DEFENSE ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ROLLOUT ], + [ 12, MoveId.POISON_TAIL ], + [ 16, MoveId.SCREECH ], + [ 20, MoveId.BUG_BITE ], + [ 26, MoveId.VENOSHOCK ], + [ 32, MoveId.TAKE_DOWN ], + [ 38, MoveId.AGILITY ], + [ 44, MoveId.TOXIC ], + [ 50, MoveId.VENOM_DRENCH ], + [ 56, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.SCOLIPEDE]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.IRON_DEFENSE ], + [ 12, MoveId.POISON_TAIL ], + [ 16, MoveId.SCREECH ], + [ 20, MoveId.BUG_BITE ], + [ 26, MoveId.VENOSHOCK ], + [ 34, MoveId.TAKE_DOWN ], + [ 42, MoveId.AGILITY ], + [ 50, MoveId.TOXIC ], + [ 58, MoveId.VENOM_DRENCH ], + [ 66, MoveId.DOUBLE_EDGE ], + [ 74, MoveId.MEGAHORN ], + ], + [SpeciesId.COTTONEE]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HELPING_HAND ], + [ 3, MoveId.FAIRY_WIND ], + [ 6, MoveId.STUN_SPORE ], + [ 12, MoveId.MEGA_DRAIN ], + [ 15, MoveId.RAZOR_LEAF ], + [ 18, MoveId.GROWTH ], + [ 21, MoveId.POISON_POWDER ], + [ 24, MoveId.GIGA_DRAIN ], + [ 27, MoveId.CHARM ], + [ 30, MoveId.LEECH_SEED ], + [ 33, MoveId.COTTON_SPORE ], + [ 36, MoveId.ENERGY_BALL ], + [ 39, MoveId.SUNNY_DAY ], + [ 42, MoveId.ENDEAVOR ], + [ 45, MoveId.COTTON_GUARD ], + [ 48, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.WHIMSICOTT]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.LEECH_SEED ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.SOLAR_BEAM ], + [ 1, MoveId.POISON_POWDER ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.COTTON_SPORE ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.SUNNY_DAY ], + [ 1, MoveId.MEMENTO ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.ENDEAVOR ], + [ 1, MoveId.TAILWIND ], + [ 1, MoveId.ENERGY_BALL ], + [ 1, MoveId.COTTON_GUARD ], + [ 1, MoveId.HURRICANE ], + [ 1, MoveId.FAIRY_WIND ], + [ 1, MoveId.MOONBLAST ], + ], + [SpeciesId.PETILIL]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 3, MoveId.HELPING_HAND ], + [ 6, MoveId.STUN_SPORE ], + [ 9, MoveId.MEGA_DRAIN ], + [ 12, MoveId.CHARM ], + [ 15, MoveId.MAGICAL_LEAF ], + [ 18, MoveId.SLEEP_POWDER ], + [ 21, MoveId.GIGA_DRAIN ], + [ 24, MoveId.LEECH_SEED ], + [ 27, MoveId.AFTER_YOU ], + [ 30, MoveId.ENERGY_BALL ], + [ 33, MoveId.SYNTHESIS ], + [ 36, MoveId.SUNNY_DAY ], + [ 39, MoveId.ENTRAINMENT ], + [ 42, MoveId.LEAF_STORM ], + ], + [SpeciesId.LILLIGANT]: [ + [ EVOLVE_MOVE, MoveId.PETAL_DANCE ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.LEECH_SEED ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.SLEEP_POWDER ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.SYNTHESIS ], + [ 1, MoveId.SUNNY_DAY ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.TEETER_DANCE ], + [ 1, MoveId.ENERGY_BALL ], + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.QUIVER_DANCE ], + [ 1, MoveId.ENTRAINMENT ], + [ 1, MoveId.AFTER_YOU ], + [ 1, MoveId.PETAL_BLIZZARD ], + [ 5, MoveId.MAGICAL_LEAF ], + ], + [SpeciesId.BASCULIN]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.TACKLE ], + [ 8, MoveId.FLAIL ], + [ 12, MoveId.AQUA_JET ], + [ 16, MoveId.BITE ], + [ 20, MoveId.SCARY_FACE ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.SOAK ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.FINAL_GAMBIT ], + [ 44, MoveId.WAVE_CRASH ], + [ 48, MoveId.THRASH ], + [ 52, MoveId.DOUBLE_EDGE ], + [ 56, MoveId.HEAD_SMASH ], + ], + [SpeciesId.SANDILE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.POWER_TRIP ], + [ 3, MoveId.SAND_ATTACK ], + [ 6, MoveId.HONE_CLAWS ], + [ 9, MoveId.SAND_TOMB ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.BITE ], + [ 18, MoveId.TORMENT ], + [ 21, MoveId.DIG ], + [ 24, MoveId.SWAGGER ], + [ 27, MoveId.CRUNCH ], + [ 30, MoveId.SANDSTORM ], + [ 33, MoveId.FOUL_PLAY ], + [ 36, MoveId.EARTHQUAKE ], + [ 39, MoveId.THRASH ], + ], + [SpeciesId.KROKOROK]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.HONE_CLAWS ], + [ 1, MoveId.POWER_TRIP ], + [ 9, MoveId.SAND_TOMB ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.BITE ], + [ 18, MoveId.TORMENT ], + [ 21, MoveId.DIG ], + [ 24, MoveId.SWAGGER ], + [ 27, MoveId.CRUNCH ], + [ 32, MoveId.SANDSTORM ], + [ 35, MoveId.FOUL_PLAY ], + [ 42, MoveId.EARTHQUAKE ], + [ 47, MoveId.THRASH ], + ], + [SpeciesId.KROOKODILE]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.HONE_CLAWS ], + [ 1, MoveId.POWER_TRIP ], + [ 9, MoveId.SAND_TOMB ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.BITE ], + [ 18, MoveId.TORMENT ], + [ 21, MoveId.DIG ], + [ 24, MoveId.SWAGGER ], + [ 27, MoveId.CRUNCH ], + [ 32, MoveId.SANDSTORM ], + [ 35, MoveId.FOUL_PLAY ], + [ 44, MoveId.EARTHQUAKE ], + [ 51, MoveId.THRASH ], + [ 58, MoveId.OUTRAGE ], + ], + [SpeciesId.DARUMAKA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.EMBER ], + [ 4, MoveId.TAUNT ], + [ 8, MoveId.BITE ], + [ 12, MoveId.INCINERATE ], + [ 16, MoveId.WORK_UP ], + [ 20, MoveId.FIRE_FANG ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.FIRE_PUNCH ], + [ 32, MoveId.UPROAR ], + [ 36, MoveId.BELLY_DRUM ], + [ 40, MoveId.FLARE_BLITZ ], + [ 44, MoveId.THRASH ], + [ 48, MoveId.SUPERPOWER ], + ], + [SpeciesId.DARMANITAN]: [ + [ EVOLVE_MOVE, MoveId.HAMMER_ARM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.TAUNT ], + [ 12, MoveId.INCINERATE ], + [ 16, MoveId.WORK_UP ], + [ 20, MoveId.FIRE_FANG ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.FIRE_PUNCH ], + [ 32, MoveId.UPROAR ], + [ 38, MoveId.BELLY_DRUM ], + [ 44, MoveId.FLARE_BLITZ ], + [ 50, MoveId.THRASH ], + [ 56, MoveId.SUPERPOWER ], + ], + [SpeciesId.MARACTUS]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.INGRAIN ], + [ 1, MoveId.AFTER_YOU ], + [ 1, MoveId.SPIKY_SHIELD ], + [ 4, MoveId.GROWTH ], + [ 8, MoveId.MEGA_DRAIN ], + [ 12, MoveId.LEECH_SEED ], + [ 16, MoveId.SUCKER_PUNCH ], + [ 20, MoveId.PIN_MISSILE ], + [ 24, MoveId.GIGA_DRAIN ], + [ 28, MoveId.SWEET_SCENT ], + [ 32, MoveId.SYNTHESIS ], + [ 36, MoveId.PETAL_BLIZZARD ], + [ 40, MoveId.COTTON_SPORE ], + [ 44, MoveId.SUNNY_DAY ], + [ 48, MoveId.SOLAR_BEAM ], + [ 52, MoveId.ACUPRESSURE ], + [ 56, MoveId.PETAL_DANCE ], + [ 60, MoveId.COTTON_GUARD ], + ], + [SpeciesId.DWEBBLE]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.FURY_CUTTER ], + [ 4, MoveId.WITHDRAW ], + [ 8, MoveId.SMACK_DOWN ], + [ 12, MoveId.BUG_BITE ], + [ 16, MoveId.FLAIL ], + [ 20, MoveId.SLASH ], + [ 24, MoveId.ROCK_SLIDE ], + [ 28, MoveId.STEALTH_ROCK ], + [ 32, MoveId.ROCK_BLAST ], + [ 36, MoveId.X_SCISSOR ], + [ 40, MoveId.ROCK_POLISH ], + [ 44, MoveId.SHELL_SMASH ], + [ 48, MoveId.ROCK_WRECKER ], + ], + [SpeciesId.CRUSTLE]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.SMACK_DOWN ], + [ 12, MoveId.BUG_BITE ], + [ 16, MoveId.FLAIL ], + [ 20, MoveId.SLASH ], + [ 24, MoveId.ROCK_SLIDE ], + [ 28, MoveId.STEALTH_ROCK ], + [ 32, MoveId.ROCK_BLAST ], + [ 38, MoveId.X_SCISSOR ], + [ 44, MoveId.ROCK_POLISH ], + [ 50, MoveId.SHELL_SMASH ], + [ 56, MoveId.ROCK_WRECKER ], + ], + [SpeciesId.SCRAGGY]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 4, MoveId.PAYBACK ], + [ 8, MoveId.HEADBUTT ], + [ 12, MoveId.SAND_ATTACK ], + [ 16, MoveId.FACADE ], + [ 20, MoveId.PROTECT ], + [ 24, MoveId.BEAT_UP ], + [ 28, MoveId.SCARY_FACE ], + [ 32, MoveId.BRICK_BREAK ], + [ 36, MoveId.SWAGGER ], + [ 40, MoveId.CRUNCH ], + [ 44, MoveId.HIGH_JUMP_KICK ], + [ 48, MoveId.FOCUS_PUNCH ], + [ 52, MoveId.HEAD_SMASH ], + ], + [SpeciesId.SCRAFTY]: [ + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.PAYBACK ], + [ 1, MoveId.FEINT_ATTACK ], + [ 12, MoveId.SAND_ATTACK ], + [ 16, MoveId.FACADE ], + [ 20, MoveId.PROTECT ], + [ 24, MoveId.BEAT_UP ], + [ 28, MoveId.SCARY_FACE ], + [ 32, MoveId.BRICK_BREAK ], + [ 36, MoveId.SWAGGER ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.HIGH_JUMP_KICK ], + [ 54, MoveId.FOCUS_PUNCH ], + [ 60, MoveId.HEAD_SMASH ], + ], + [SpeciesId.SIGILYPH]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.CONFUSION ], + [ 5, MoveId.GRAVITY ], + [ 10, MoveId.HYPNOSIS ], + [ 15, MoveId.AIR_CUTTER ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.WHIRLWIND ], + [ 30, MoveId.COSMIC_POWER ], + [ 35, MoveId.AIR_SLASH ], + [ 40, MoveId.PSYCHIC ], + [ 45, MoveId.TAILWIND ], + [ 50, MoveId.LIGHT_SCREEN ], + [ 50, MoveId.REFLECT ], + [ 55, MoveId.SKY_ATTACK ], + [ 60, MoveId.SKILL_SWAP ], + ], + [SpeciesId.YAMASK]: [ + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.HEAL_BLOCK ], + [ 4, MoveId.HAZE ], + [ 8, MoveId.NIGHT_SHADE ], + [ 12, MoveId.DISABLE ], + [ 16, MoveId.WILL_O_WISP ], + [ 20, MoveId.CRAFTY_SHIELD ], + [ 24, MoveId.HEX ], + [ 28, MoveId.MEAN_LOOK ], + [ 32, MoveId.GRUDGE ], + [ 36, MoveId.CURSE ], + [ 40, MoveId.SHADOW_BALL ], + [ 44, MoveId.DARK_PULSE ], + [ 48, MoveId.GUARD_SPLIT ], + [ 48, MoveId.POWER_SPLIT ], + [ 52, MoveId.DESTINY_BOND ], + ], + [SpeciesId.COFAGRIGUS]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_CLAW ], + [ 1, MoveId.NIGHT_SHADE ], + [ 1, MoveId.HAZE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.HEAL_BLOCK ], + [ 12, MoveId.DISABLE ], + [ 16, MoveId.WILL_O_WISP ], + [ 20, MoveId.CRAFTY_SHIELD ], + [ 24, MoveId.HEX ], + [ 28, MoveId.MEAN_LOOK ], + [ 32, MoveId.GRUDGE ], + [ 38, MoveId.CURSE ], + [ 44, MoveId.SHADOW_BALL ], + [ 50, MoveId.DARK_PULSE ], + [ 56, MoveId.GUARD_SPLIT ], + [ 56, MoveId.POWER_SPLIT ], + [ 62, MoveId.DESTINY_BOND ], + ], + [SpeciesId.TIRTOUGA]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.BIDE ], + [ 3, MoveId.PROTECT ], + [ 6, MoveId.AQUA_JET ], + [ 9, MoveId.SMACK_DOWN ], + [ 12, MoveId.ANCIENT_POWER ], + [ 15, MoveId.BITE ], + [ 18, MoveId.WIDE_GUARD ], + [ 21, MoveId.BRINE ], + [ 24, MoveId.ROCK_SLIDE ], + [ 27, MoveId.CRUNCH ], + [ 30, MoveId.CURSE ], + [ 33, MoveId.IRON_DEFENSE ], + [ 36, MoveId.AQUA_TAIL ], + [ 39, MoveId.RAIN_DANCE ], + [ 42, MoveId.HYDRO_PUMP ], + [ 45, MoveId.SHELL_SMASH ], + ], + [SpeciesId.CARRACOSTA]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.BIDE ], + [ 9, MoveId.SMACK_DOWN ], + [ 12, MoveId.ANCIENT_POWER ], + [ 15, MoveId.BITE ], + [ 18, MoveId.WIDE_GUARD ], + [ 21, MoveId.BRINE ], + [ 24, MoveId.ROCK_SLIDE ], + [ 27, MoveId.CRUNCH ], + [ 30, MoveId.CURSE ], + [ 33, MoveId.IRON_DEFENSE ], + [ 36, MoveId.AQUA_TAIL ], + [ 41, MoveId.RAIN_DANCE ], + [ 46, MoveId.HYDRO_PUMP ], + [ 51, MoveId.SHELL_SMASH ], + ], + [SpeciesId.ARCHEN]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 3, MoveId.ROCK_THROW ], + [ 6, MoveId.WING_ATTACK ], + [ 9, MoveId.DRAGON_BREATH ], + [ 12, MoveId.ANCIENT_POWER ], + [ 15, MoveId.PLUCK ], + [ 18, MoveId.QUICK_GUARD ], + [ 21, MoveId.U_TURN ], + [ 24, MoveId.ROCK_SLIDE ], + [ 27, MoveId.SCARY_FACE ], + [ 30, MoveId.CRUNCH ], + [ 33, MoveId.AGILITY ], + [ 36, MoveId.TAILWIND ], + [ 39, MoveId.DRAGON_CLAW ], + [ 42, MoveId.THRASH ], + [ 45, MoveId.ENDEAVOR ], + ], + [SpeciesId.ARCHEOPS]: [ + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.QUICK_ATTACK ], + [ 9, MoveId.DRAGON_BREATH ], + [ 12, MoveId.ANCIENT_POWER ], + [ 15, MoveId.PLUCK ], + [ 18, MoveId.QUICK_GUARD ], + [ 21, MoveId.U_TURN ], + [ 24, MoveId.ROCK_SLIDE ], + [ 27, MoveId.SCARY_FACE ], + [ 30, MoveId.CRUNCH ], + [ 33, MoveId.AGILITY ], + [ 36, MoveId.TAILWIND ], + [ 41, MoveId.DRAGON_CLAW ], + [ 46, MoveId.THRASH ], + [ 51, MoveId.ENDEAVOR ], + ], + [SpeciesId.TRUBBISH]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.POISON_GAS ], + [ 3, MoveId.RECYCLE ], + [ 6, MoveId.ACID_SPRAY ], + [ 9, MoveId.AMNESIA ], + [ 12, MoveId.CLEAR_SMOG ], + [ 15, MoveId.TOXIC_SPIKES ], + [ 18, MoveId.SLUDGE ], + [ 21, MoveId.STOCKPILE ], + [ 21, MoveId.SWALLOW ], + [ 24, MoveId.TAKE_DOWN ], + [ 27, MoveId.SLUDGE_BOMB ], + [ 30, MoveId.TOXIC ], + [ 33, MoveId.BELCH ], + [ 37, MoveId.PAIN_SPLIT ], + [ 39, MoveId.GUNK_SHOT ], + [ 42, MoveId.EXPLOSION ], + ], + [SpeciesId.GARBODOR]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.ACID_SPRAY ], + [ 9, MoveId.AMNESIA ], + [ 12, MoveId.CLEAR_SMOG ], + [ 15, MoveId.TOXIC_SPIKES ], + [ 18, MoveId.SLUDGE ], + [ 21, MoveId.STOCKPILE ], + [ 21, MoveId.SWALLOW ], + [ 24, MoveId.BODY_SLAM ], + [ 27, MoveId.SLUDGE_BOMB ], + [ 30, MoveId.TOXIC ], + [ 33, MoveId.BELCH ], + [ 39, MoveId.PAIN_SPLIT ], + [ 43, MoveId.GUNK_SHOT ], + [ 48, MoveId.EXPLOSION ], + ], + [SpeciesId.ZORUA]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 4, MoveId.TORMENT ], + [ 8, MoveId.HONE_CLAWS ], + [ 12, MoveId.FURY_SWIPES ], + [ 16, MoveId.SCARY_FACE ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.KNOCK_OFF ], + [ 28, MoveId.FAKE_TEARS ], + [ 32, MoveId.AGILITY ], + [ 36, MoveId.IMPRISON ], + [ 40, MoveId.NIGHT_DAZE ], + [ 44, MoveId.NASTY_PLOT ], + [ 48, MoveId.FOUL_PLAY ], + ], + [SpeciesId.ZOROARK]: [ + [ EVOLVE_MOVE, MoveId.NIGHT_SLASH ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.TORMENT ], + [ 1, MoveId.U_TURN ], + [ 1, MoveId.HONE_CLAWS ], + [ 1, MoveId.SCARY_FACE ], // Previous Stage Move + [ 1, MoveId.PURSUIT ], + [ 12, MoveId.FURY_SWIPES ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.KNOCK_OFF ], + [ 28, MoveId.FAKE_TEARS ], + [ 34, MoveId.AGILITY ], + [ 40, MoveId.IMPRISON ], + [ 46, MoveId.NIGHT_DAZE ], + [ 52, MoveId.NASTY_PLOT ], + [ 58, MoveId.FOUL_PLAY ], + ], + [SpeciesId.MINCCINO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 4, MoveId.HELPING_HAND ], + [ 8, MoveId.ECHOED_VOICE ], + [ 12, MoveId.SING ], + [ 16, MoveId.CHARM ], + [ 20, MoveId.SWIFT ], + [ 24, MoveId.ENCORE ], + [ 28, MoveId.AFTER_YOU ], + [ 32, MoveId.TAIL_SLAP ], + [ 36, MoveId.TICKLE ], + [ 40, MoveId.SLAM ], + [ 44, MoveId.HYPER_VOICE ], + [ 48, MoveId.LAST_RESORT ], + ], + [SpeciesId.CINCCINO]: [ + [ EVOLVE_MOVE, MoveId.TAIL_SLAP ], + [ RELEARN_MOVE, MoveId.SLAM ], + [ RELEARN_MOVE, MoveId.SWIFT ], + [ RELEARN_MOVE, MoveId.ENCORE ], + [ RELEARN_MOVE, MoveId.HELPING_HAND ], + [ RELEARN_MOVE, MoveId.HYPER_VOICE ], + [ RELEARN_MOVE, MoveId.TICKLE ], + [ RELEARN_MOVE, MoveId.ROCK_BLAST ], + [ RELEARN_MOVE, MoveId.LAST_RESORT ], + [ RELEARN_MOVE, MoveId.AFTER_YOU ], + [ RELEARN_MOVE, MoveId.ECHOED_VOICE ], + [ RELEARN_MOVE, MoveId.BABY_DOLL_EYES ], + [ 1, MoveId.BULLET_SEED ], + [ 1, MoveId.SING ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.POUND ], + ], + [SpeciesId.GOTHITA]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.CONFUSION ], + [ 4, MoveId.PLAY_NICE ], + [ 8, MoveId.TICKLE ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.CHARM ], + [ 20, MoveId.PSYSHOCK ], + [ 24, MoveId.HYPNOSIS ], + [ 28, MoveId.FAKE_TEARS ], + [ 33, MoveId.PSYCH_UP ], + [ 34, MoveId.HEAL_BLOCK ], + [ 36, MoveId.PSYCHIC ], + [ 40, MoveId.FLATTER ], + [ 44, MoveId.FUTURE_SIGHT ], + [ 48, MoveId.MAGIC_ROOM ], + ], + [SpeciesId.GOTHORITA]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.TICKLE ], + [ 1, MoveId.PLAY_NICE ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.CHARM ], + [ 20, MoveId.PSYSHOCK ], + [ 24, MoveId.HYPNOSIS ], + [ 28, MoveId.FAKE_TEARS ], + [ 34, MoveId.HEAL_BLOCK ], + [ 35, MoveId.PSYCH_UP ], + [ 40, MoveId.PSYCHIC ], // Previous Stage Move, Gothitelle Level + [ 46, MoveId.FLATTER ], + [ 52, MoveId.FUTURE_SIGHT ], + [ 58, MoveId.MAGIC_ROOM ], + ], + [SpeciesId.GOTHITELLE]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.TICKLE ], + [ 1, MoveId.PLAY_NICE ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.CHARM ], + [ 20, MoveId.PSYSHOCK ], + [ 24, MoveId.HYPNOSIS ], + [ 28, MoveId.FAKE_TEARS ], + [ 34, MoveId.HEAL_BLOCK ], + [ 35, MoveId.PSYCH_UP ], + [ 40, MoveId.PSYCHIC ], + [ 48, MoveId.FLATTER ], + [ 56, MoveId.FUTURE_SIGHT ], + [ 64, MoveId.MAGIC_ROOM ], + ], + [SpeciesId.SOLOSIS]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.PSYWAVE ], + [ 4, MoveId.RECOVER ], + [ 8, MoveId.ENDEAVOR ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.CHARM ], + [ 20, MoveId.PSYSHOCK ], + [ 24, MoveId.LIGHT_SCREEN ], + [ 24, MoveId.REFLECT ], + [ 28, MoveId.ALLY_SWITCH ], + [ 33, MoveId.PAIN_SPLIT ], + [ 36, MoveId.PSYCHIC ], + [ 40, MoveId.SKILL_SWAP ], + [ 44, MoveId.FUTURE_SIGHT ], + [ 46, MoveId.HEAL_BLOCK ], + [ 48, MoveId.WONDER_ROOM ], + ], + [SpeciesId.DUOSION]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.RECOVER ], + [ 1, MoveId.PSYWAVE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ENDEAVOR ], + [ 1, MoveId.SNATCH ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.CHARM ], + [ 20, MoveId.PSYSHOCK ], + [ 24, MoveId.LIGHT_SCREEN ], + [ 24, MoveId.REFLECT ], + [ 28, MoveId.ALLY_SWITCH ], + [ 35, MoveId.PAIN_SPLIT ], + [ 40, MoveId.PSYCHIC ], + [ 46, MoveId.SKILL_SWAP ], + [ 50, MoveId.HEAL_BLOCK ], + [ 52, MoveId.FUTURE_SIGHT ], + [ 58, MoveId.WONDER_ROOM ], + ], + [SpeciesId.REUNICLUS]: [ + [ EVOLVE_MOVE, MoveId.HAMMER_ARM ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.RECOVER ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ENDEAVOR ], + [ 1, MoveId.DIZZY_PUNCH ], + [ 1, MoveId.PSYWAVE ], + [ 1, MoveId.SNATCH ], + [ 12, MoveId.PSYBEAM ], + [ 16, MoveId.CHARM ], + [ 20, MoveId.PSYSHOCK ], + [ 24, MoveId.LIGHT_SCREEN ], + [ 24, MoveId.REFLECT ], + [ 28, MoveId.ALLY_SWITCH ], + [ 35, MoveId.PAIN_SPLIT ], + [ 40, MoveId.PSYCHIC ], + [ 48, MoveId.SKILL_SWAP ], + [ 54, MoveId.HEAL_BLOCK ], + [ 56, MoveId.FUTURE_SIGHT ], + [ 64, MoveId.WONDER_ROOM ], + ], + [SpeciesId.DUCKLETT]: [ + [ 1, MoveId.WATER_GUN ], + [ 6, MoveId.DEFOG ], + [ 9, MoveId.WING_ATTACK ], + [ 13, MoveId.WATER_PULSE ], + [ 15, MoveId.AERIAL_ACE ], + [ 19, MoveId.BUBBLE_BEAM ], + [ 21, MoveId.FEATHER_DANCE ], + [ 24, MoveId.AQUA_RING ], + [ 27, MoveId.AIR_SLASH ], + [ 30, MoveId.ROOST ], + [ 34, MoveId.RAIN_DANCE ], + [ 37, MoveId.TAILWIND ], + [ 41, MoveId.BRAVE_BIRD ], + [ 46, MoveId.HURRICANE ], + ], + [SpeciesId.SWANNA]: [ + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DEFOG ], + [ 13, MoveId.WATER_PULSE ], + [ 15, MoveId.AERIAL_ACE ], + [ 19, MoveId.BUBBLE_BEAM ], + [ 21, MoveId.FEATHER_DANCE ], + [ 24, MoveId.AQUA_RING ], + [ 27, MoveId.AIR_SLASH ], + [ 30, MoveId.ROOST ], + [ 34, MoveId.RAIN_DANCE ], + [ 40, MoveId.TAILWIND ], + [ 47, MoveId.BRAVE_BIRD ], + [ 55, MoveId.HURRICANE ], + ], + [SpeciesId.VANILLITE]: [ + [ 1, MoveId.HARDEN ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POWDER_SNOW ], // Custom + [ 4, MoveId.TAUNT ], + [ 8, MoveId.MIST ], + [ 12, MoveId.ICY_WIND ], + [ 16, MoveId.AVALANCHE ], + [ 20, MoveId.HAIL ], + [ 24, MoveId.ICICLE_SPEAR ], + [ 28, MoveId.UPROAR ], + [ 32, MoveId.ACID_ARMOR ], + [ 36, MoveId.MIRROR_COAT ], + [ 40, MoveId.ICE_BEAM ], + [ 44, MoveId.BLIZZARD ], + [ 48, MoveId.SHEER_COLD ], + ], + [SpeciesId.VANILLISH]: [ + [ 1, MoveId.MIST ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POWDER_SNOW ], // Previous Stage Move, Custom + [ 12, MoveId.ICY_WIND ], + [ 16, MoveId.AVALANCHE ], + [ 20, MoveId.HAIL ], + [ 24, MoveId.ICICLE_SPEAR ], + [ 28, MoveId.UPROAR ], + [ 32, MoveId.ACID_ARMOR ], + [ 38, MoveId.MIRROR_COAT ], + [ 44, MoveId.ICE_BEAM ], + [ 50, MoveId.BLIZZARD ], + [ 56, MoveId.SHEER_COLD ], + ], + [SpeciesId.VANILLUXE]: [ + [ 1, MoveId.MIST ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POWDER_SNOW ], // Previous Stage Move, Custom + [ 1, MoveId.WEATHER_BALL ], + [ 1, MoveId.ICICLE_CRASH ], + [ 1, MoveId.FREEZE_DRY ], + [ 12, MoveId.ICY_WIND ], + [ 16, MoveId.AVALANCHE ], + [ 20, MoveId.HAIL ], + [ 24, MoveId.ICICLE_SPEAR ], + [ 28, MoveId.UPROAR ], + [ 32, MoveId.ACID_ARMOR ], + [ 38, MoveId.MIRROR_COAT ], + [ 44, MoveId.ICE_BEAM ], + [ 52, MoveId.BLIZZARD ], + [ 60, MoveId.SHEER_COLD ], + ], + [SpeciesId.DEERLING]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CAMOUFLAGE ], + [ 4, MoveId.GROWL ], + [ 7, MoveId.SAND_ATTACK ], + [ 10, MoveId.DOUBLE_KICK ], + [ 13, MoveId.LEECH_SEED ], + [ 16, MoveId.BULLET_SEED ], + [ 20, MoveId.TAKE_DOWN ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 28, MoveId.ENERGY_BALL ], + [ 32, MoveId.CHARM ], + [ 37, MoveId.DOUBLE_EDGE ], + [ 42, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.SAWSBUCK]: [ + [ EVOLVE_MOVE, MoveId.HORN_LEECH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.CAMOUFLAGE ], + [ 1, MoveId.MEGAHORN ], + [ 10, MoveId.DOUBLE_KICK ], + [ 13, MoveId.LEECH_SEED ], + [ 16, MoveId.BULLET_SEED ], + [ 20, MoveId.TAKE_DOWN ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 28, MoveId.ENERGY_BALL ], + [ 36, MoveId.CHARM ], + [ 44, MoveId.DOUBLE_EDGE ], + [ 52, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.EMOLGA]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.NUZZLE ], + [ 5, MoveId.DOUBLE_TEAM ], + [ 10, MoveId.QUICK_ATTACK ], + [ 15, MoveId.THUNDER_SHOCK ], + [ 20, MoveId.CHARGE ], + [ 25, MoveId.ACROBATICS ], + [ 30, MoveId.SPARK ], + [ 35, MoveId.ENCORE ], + [ 40, MoveId.VOLT_SWITCH ], + [ 45, MoveId.LIGHT_SCREEN ], + [ 50, MoveId.DISCHARGE ], + [ 55, MoveId.AGILITY ], + ], + [SpeciesId.KARRABLAST]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 4, MoveId.FURY_CUTTER ], + [ 8, MoveId.ENDURE ], + [ 12, MoveId.FALSE_SWIPE ], + [ 16, MoveId.ACID_SPRAY ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.FLAIL ], + [ 28, MoveId.SCARY_FACE ], + [ 32, MoveId.X_SCISSOR ], + [ 36, MoveId.SWORDS_DANCE ], + [ 40, MoveId.TAKE_DOWN ], + [ 44, MoveId.BUG_BUZZ ], + [ 48, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.ESCAVALIER]: [ + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.QUICK_GUARD ], + [ 1, MoveId.FELL_STINGER ], + [ 1, MoveId.TWINEEDLE ], + [ 12, MoveId.FALSE_SWIPE ], + [ 16, MoveId.ACID_SPRAY ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.REVERSAL ], + [ 28, MoveId.IRON_DEFENSE ], + [ 32, MoveId.X_SCISSOR ], + [ 36, MoveId.SWORDS_DANCE ], + [ 40, MoveId.IRON_HEAD ], + [ 44, MoveId.BUG_BUZZ ], + [ 48, MoveId.GIGA_IMPACT ], + [ 52, MoveId.METAL_BURST ], + ], + [SpeciesId.FOONGUS]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.GROWTH ], + [ 8, MoveId.STUN_SPORE ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.SYNTHESIS ], + [ 20, MoveId.CLEAR_SMOG ], + [ 24, MoveId.SWEET_SCENT ], + [ 28, MoveId.GIGA_DRAIN ], + [ 32, MoveId.INGRAIN ], + [ 36, MoveId.TOXIC ], + [ 40, MoveId.RAGE_POWDER ], + [ 44, MoveId.SOLAR_BEAM ], + [ 48, MoveId.SPORE ], + ], + [SpeciesId.AMOONGUSS]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.BIDE ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.SYNTHESIS ], + [ 20, MoveId.CLEAR_SMOG ], + [ 24, MoveId.SWEET_SCENT ], + [ 28, MoveId.GIGA_DRAIN ], + [ 32, MoveId.INGRAIN ], + [ 36, MoveId.TOXIC ], + [ 42, MoveId.RAGE_POWDER ], + [ 48, MoveId.SOLAR_BEAM ], + [ 54, MoveId.SPORE ], + ], + [SpeciesId.FRILLISH]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.WATER_SPORT ], + [ 4, MoveId.POISON_STING ], + [ 8, MoveId.NIGHT_SHADE ], + [ 12, MoveId.WATER_PULSE ], + [ 16, MoveId.RAIN_DANCE ], + [ 20, MoveId.HEX ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.RECOVER ], + [ 32, MoveId.SHADOW_BALL ], + [ 36, MoveId.WHIRLPOOL ], + [ 41, MoveId.HYDRO_PUMP ], + [ 44, MoveId.DESTINY_BOND ], + [ 48, MoveId.WATER_SPOUT ], + ], + [SpeciesId.JELLICENT]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WATER_SPORT ], + [ 1, MoveId.WRING_OUT ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.NIGHT_SHADE ], + [ 1, MoveId.ACID_ARMOR ], + [ 12, MoveId.WATER_PULSE ], + [ 16, MoveId.RAIN_DANCE ], + [ 20, MoveId.HEX ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.RECOVER ], + [ 32, MoveId.SHADOW_BALL ], + [ 36, MoveId.WHIRLPOOL ], + [ 43, MoveId.HYDRO_PUMP ], + [ 48, MoveId.DESTINY_BOND ], + [ 54, MoveId.WATER_SPOUT ], + ], + [SpeciesId.ALOMOMOLA]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.WATER_SPORT ], + [ 5, MoveId.AQUA_RING ], + [ 9, MoveId.AQUA_JET ], + [ 13, MoveId.HELPING_HAND ], + [ 13, MoveId.WIDE_GUARD ], + [ 21, MoveId.PROTECT ], + [ 25, MoveId.WATER_PULSE ], + [ 29, MoveId.HEALING_WISH ], + [ 33, MoveId.SOAK ], + [ 37, MoveId.WISH ], + [ 41, MoveId.BRINE ], + [ 45, MoveId.SAFEGUARD ], + [ 49, MoveId.WHIRLPOOL ], + [ 55, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.JOLTIK]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.SPIDER_WEB ], + [ 4, MoveId.ELECTROWEB ], + [ 8, MoveId.BUG_BITE ], + [ 12, MoveId.STRING_SHOT ], + [ 16, MoveId.THUNDER_WAVE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 32, MoveId.SLASH ], + [ 37, MoveId.DISCHARGE ], + [ 40, MoveId.SCREECH ], + [ 44, MoveId.GASTRO_ACID ], + [ 48, MoveId.BUG_BUZZ ], + ], + [SpeciesId.GALVANTULA]: [ + [ EVOLVE_MOVE, MoveId.STICKY_WEB ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.ELECTROWEB ], + [ 1, MoveId.SPIDER_WEB ], + [ 12, MoveId.STRING_SHOT ], + [ 16, MoveId.THUNDER_WAVE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 32, MoveId.SLASH ], + [ 39, MoveId.DISCHARGE ], + [ 44, MoveId.SCREECH ], + [ 50, MoveId.GASTRO_ACID ], + [ 56, MoveId.BUG_BUZZ ], + ], + [SpeciesId.FERROSEED]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.METAL_CLAW ], + [ 10, MoveId.PIN_MISSILE ], + [ 15, MoveId.INGRAIN ], + [ 20, MoveId.FLASH_CANNON ], + [ 25, MoveId.IRON_HEAD ], + [ 30, MoveId.SELF_DESTRUCT ], + [ 35, MoveId.IRON_DEFENSE ], + [ 41, MoveId.CURSE ], + [ 45, MoveId.GYRO_BALL ], + [ 50, MoveId.EXPLOSION ], + ], + [SpeciesId.FERROTHORN]: [ + [ EVOLVE_MOVE, MoveId.POWER_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PIN_MISSILE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.ROCK_CLIMB ], + [ 15, MoveId.INGRAIN ], + [ 20, MoveId.FLASH_CANNON ], + [ 25, MoveId.IRON_HEAD ], + [ 30, MoveId.SELF_DESTRUCT ], + [ 35, MoveId.IRON_DEFENSE ], + [ 43, MoveId.CURSE ], + [ 49, MoveId.GYRO_BALL ], + [ 56, MoveId.EXPLOSION ], + ], + [SpeciesId.KLINK]: [ + [ 1, MoveId.VISE_GRIP ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 4, MoveId.BIND ], + [ 8, MoveId.CHARGE ], + [ 12, MoveId.CHARGE_BEAM ], + [ 16, MoveId.METAL_SOUND ], + [ 20, MoveId.AUTOTOMIZE ], + [ 24, MoveId.DISCHARGE ], + [ 28, MoveId.SCREECH ], + [ 32, MoveId.GEAR_GRIND ], + [ 36, MoveId.LOCK_ON ], + [ 40, MoveId.SHIFT_GEAR ], + [ 44, MoveId.ZAP_CANNON ], + [ 48, MoveId.HYPER_BEAM ], + ], + [SpeciesId.KLANG]: [ + [ 1, MoveId.VISE_GRIP ], + [ 1, MoveId.BIND ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.CHARGE ], + [ 12, MoveId.CHARGE_BEAM ], + [ 16, MoveId.METAL_SOUND ], + [ 20, MoveId.AUTOTOMIZE ], + [ 24, MoveId.DISCHARGE ], + [ 28, MoveId.SCREECH ], + [ 32, MoveId.GEAR_GRIND ], + [ 36, MoveId.LOCK_ON ], + [ 42, MoveId.SHIFT_GEAR ], + [ 48, MoveId.ZAP_CANNON ], + [ 54, MoveId.HYPER_BEAM ], + ], + [SpeciesId.KLINKLANG]: [ + [ 1, MoveId.VISE_GRIP ], + [ 1, MoveId.BIND ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.MAGNETIC_FLUX ], + [ 1, MoveId.GEAR_UP ], + [ 12, MoveId.CHARGE_BEAM ], + [ 16, MoveId.METAL_SOUND ], + [ 20, MoveId.AUTOTOMIZE ], + [ 24, MoveId.DISCHARGE ], + [ 28, MoveId.SCREECH ], + [ 32, MoveId.GEAR_GRIND ], + [ 36, MoveId.LOCK_ON ], + [ 42, MoveId.SHIFT_GEAR ], + [ 48, MoveId.ZAP_CANNON ], + [ 56, MoveId.HYPER_BEAM ], + [ 64, MoveId.ELECTRIC_TERRAIN ], + ], + [SpeciesId.TYNAMO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.SPARK ], + [ 1, MoveId.CHARGE_BEAM ], + ], + [SpeciesId.EELEKTRIK]: [ + [ EVOLVE_MOVE, MoveId.CRUNCH ], + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.SPARK ], + [ 1, MoveId.CHARGE_BEAM ], + [ 1, MoveId.ION_DELUGE ], + [ 9, MoveId.BIND ], + [ 19, MoveId.ACID ], + [ 29, MoveId.DISCHARGE ], + [ 44, MoveId.THUNDERBOLT ], + [ 49, MoveId.ACID_SPRAY ], + [ 54, MoveId.COIL ], + [ 59, MoveId.WILD_CHARGE ], + [ 64, MoveId.GASTRO_ACID ], + [ 69, MoveId.ZAP_CANNON ], + [ 74, MoveId.THRASH ], + ], + [SpeciesId.EELEKTROSS]: [ + [ RELEARN_MOVE, MoveId.THUNDERBOLT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.ACID_SPRAY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.THUNDER_WAVE ], // Previous Stage Move + [ 1, MoveId.SPARK ], // Previous Stage Move + [ 1, MoveId.CHARGE_BEAM ], // Previous Stage Move + [ 1, MoveId.ION_DELUGE ], // Previous Stage Move + [ 1, MoveId.BIND ], // Previous Stage Move + [ 1, MoveId.THRASH ], + [ 1, MoveId.ACID ], + [ 1, MoveId.ZAP_CANNON ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.CRUSH_CLAW ], + [ 1, MoveId.GASTRO_ACID ], + [ 1, MoveId.DISCHARGE ], + [ 1, MoveId.COIL ], + [ 5, MoveId.WILD_CHARGE ], + ], + [SpeciesId.ELGYEM]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.CONFUSION ], + [ 6, MoveId.IMPRISON ], + [ 8, MoveId.HEAL_BLOCK ], + [ 12, MoveId.TELEPORT ], + [ 18, MoveId.PSYBEAM ], + [ 24, MoveId.GUARD_SPLIT ], + [ 24, MoveId.POWER_SPLIT ], + [ 30, MoveId.HEADBUTT ], + [ 36, MoveId.ZEN_HEADBUTT ], + [ 43, MoveId.RECOVER ], + [ 48, MoveId.CALM_MIND ], + [ 54, MoveId.WONDER_ROOM ], + [ 60, MoveId.PSYCHIC ], + ], + [SpeciesId.BEHEEYEM]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.SYNCHRONOISE ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.IMPRISON ], + [ 1, MoveId.PSYCHIC_TERRAIN ], + [ 8, MoveId.HEAL_BLOCK ], + [ 18, MoveId.PSYBEAM ], + [ 24, MoveId.GUARD_SPLIT ], + [ 24, MoveId.POWER_SPLIT ], + [ 30, MoveId.HEADBUTT ], + [ 36, MoveId.ZEN_HEADBUTT ], + [ 45, MoveId.RECOVER ], + [ 52, MoveId.CALM_MIND ], + [ 60, MoveId.WONDER_ROOM ], + [ 68, MoveId.PSYCHIC ], + ], + [SpeciesId.LITWICK]: [ + [ 1, MoveId.SMOG ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.EMBER ], + [ 8, MoveId.MINIMIZE ], + [ 12, MoveId.CONFUSE_RAY ], + [ 16, MoveId.HEX ], + [ 20, MoveId.WILL_O_WISP ], + [ 24, MoveId.FIRE_SPIN ], + [ 28, MoveId.NIGHT_SHADE ], + [ 32, MoveId.CURSE ], + [ 36, MoveId.SHADOW_BALL ], + [ 40, MoveId.INFERNO ], + [ 44, MoveId.IMPRISON ], + [ 48, MoveId.PAIN_SPLIT ], + [ 52, MoveId.OVERHEAT ], + [ 56, MoveId.MEMENTO ], + ], + [SpeciesId.LAMPENT]: [ + [ 1, MoveId.EMBER ], + [ 1, MoveId.MINIMIZE ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.ASTONISH ], + [ 12, MoveId.CONFUSE_RAY ], + [ 16, MoveId.HEX ], + [ 20, MoveId.WILL_O_WISP ], + [ 24, MoveId.FIRE_SPIN ], + [ 28, MoveId.NIGHT_SHADE ], + [ 32, MoveId.CURSE ], + [ 36, MoveId.SHADOW_BALL ], + [ 40, MoveId.INFERNO ], + [ 46, MoveId.IMPRISON ], + [ 52, MoveId.PAIN_SPLIT ], + [ 58, MoveId.OVERHEAT ], + [ 64, MoveId.MEMENTO ], + ], + [SpeciesId.CHANDELURE]: [ + [ 1, MoveId.EMBER ], + [ 1, MoveId.FIRE_SPIN ], + [ 1, MoveId.NIGHT_SHADE ], + [ 1, MoveId.MINIMIZE ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.CURSE ], + [ 1, MoveId.PAIN_SPLIT ], + [ 1, MoveId.SHADOW_BALL ], + [ 1, MoveId.WILL_O_WISP ], + [ 1, MoveId.MEMENTO ], + [ 1, MoveId.IMPRISON ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.OVERHEAT ], + [ 1, MoveId.HEX ], + [ 1, MoveId.INFERNO ], + ], + [SpeciesId.AXEW]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 3, MoveId.BITE ], + [ 6, MoveId.FALSE_SWIPE ], + [ 9, MoveId.ASSURANCE ], + [ 12, MoveId.TAUNT ], + [ 15, MoveId.SLASH ], + [ 18, MoveId.DRAGON_CLAW ], + [ 21, MoveId.SCARY_FACE ], + [ 24, MoveId.CRUNCH ], + [ 27, MoveId.DRAGON_DANCE ], + [ 30, MoveId.DUAL_CHOP ], + [ 33, MoveId.FOCUS_ENERGY ], + [ 36, MoveId.DRAGON_PULSE ], + [ 39, MoveId.SWORDS_DANCE ], + [ 42, MoveId.OUTRAGE ], + [ 45, MoveId.GUILLOTINE ], + [ 48, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.FRAXURE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.FALSE_SWIPE ], + [ 1, MoveId.DUAL_CHOP ], + [ 9, MoveId.ASSURANCE ], + [ 12, MoveId.TAUNT ], + [ 15, MoveId.SLASH ], + [ 18, MoveId.DRAGON_CLAW ], + [ 21, MoveId.SCARY_FACE ], + [ 24, MoveId.CRUNCH ], + [ 27, MoveId.DRAGON_DANCE ], + [ 30, MoveId.BREAKING_SWIPE ], + [ 33, MoveId.FOCUS_ENERGY ], + [ 36, MoveId.DRAGON_PULSE ], + [ 41, MoveId.SWORDS_DANCE ], + [ 46, MoveId.OUTRAGE ], + [ 51, MoveId.GUILLOTINE ], + [ 56, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.HAXORUS]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.FALSE_SWIPE ], + [ 1, MoveId.DUAL_CHOP ], + [ 9, MoveId.ASSURANCE ], + [ 12, MoveId.TAUNT ], + [ 15, MoveId.SLASH ], + [ 18, MoveId.DRAGON_CLAW ], + [ 21, MoveId.SCARY_FACE ], + [ 24, MoveId.CRUNCH ], + [ 27, MoveId.DRAGON_DANCE ], + [ 30, MoveId.BREAKING_SWIPE ], + [ 33, MoveId.FOCUS_ENERGY ], + [ 36, MoveId.DRAGON_PULSE ], + [ 41, MoveId.SWORDS_DANCE ], + [ 46, MoveId.OUTRAGE ], + [ 53, MoveId.GUILLOTINE ], + [ 60, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.CUBCHOO]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.POWDER_SNOW ], + [ 3, MoveId.ENDURE ], + [ 6, MoveId.FURY_SWIPES ], + [ 9, MoveId.ICY_WIND ], + [ 12, MoveId.PLAY_NICE ], + [ 15, MoveId.BRINE ], + [ 18, MoveId.FROST_BREATH ], + [ 21, MoveId.SLASH ], + [ 24, MoveId.FLAIL ], + [ 27, MoveId.CHARM ], + [ 30, MoveId.SNOWSCAPE ], + [ 33, MoveId.THRASH ], + [ 36, MoveId.REST ], + [ 39, MoveId.BLIZZARD ], + [ 42, MoveId.SHEER_COLD ], + ], + [SpeciesId.BEARTIC]: [ + [ EVOLVE_MOVE, MoveId.ICICLE_CRASH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FURY_SWIPES ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.BIDE ], + [ 9, MoveId.ICY_WIND ], + [ 12, MoveId.PLAY_NICE ], + [ 15, MoveId.BRINE ], + [ 18, MoveId.FROST_BREATH ], + [ 21, MoveId.SLASH ], + [ 24, MoveId.FLAIL ], + [ 27, MoveId.SWAGGER ], + [ 30, MoveId.SNOWSCAPE ], + [ 33, MoveId.THRASH ], + [ 36, MoveId.REST ], + [ 41, MoveId.BLIZZARD ], + [ 46, MoveId.SHEER_COLD ], + [ 51, MoveId.SUPERPOWER ], + ], + [SpeciesId.CRYOGONAL]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.ICE_SHARD ], + [ 4, MoveId.CONFUSE_RAY ], + [ 8, MoveId.RAPID_SPIN ], + [ 12, MoveId.ICY_WIND ], + [ 16, MoveId.MIST ], + [ 16, MoveId.HAZE ], + [ 20, MoveId.ANCIENT_POWER ], + [ 24, MoveId.AURORA_BEAM ], + [ 28, MoveId.SLASH ], + [ 32, MoveId.NIGHT_SLASH ], + [ 36, MoveId.FREEZE_DRY ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 40, MoveId.REFLECT ], + [ 44, MoveId.RECOVER ], + [ 48, MoveId.ICE_BEAM ], + [ 52, MoveId.ACID_ARMOR ], + [ 56, MoveId.SOLAR_BEAM ], + [ 60, MoveId.SHEER_COLD ], + ], + [SpeciesId.SHELMET]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.PROTECT ], + [ 4, MoveId.ACID ], + [ 8, MoveId.CURSE ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.STRUGGLE_BUG ], + [ 20, MoveId.YAWN ], + [ 24, MoveId.ACID_ARMOR ], + [ 28, MoveId.GIGA_DRAIN ], + [ 32, MoveId.GUARD_SWAP ], + [ 36, MoveId.BODY_SLAM ], + [ 40, MoveId.RECOVER ], + [ 44, MoveId.BUG_BUZZ ], + [ 48, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.ACCELGOR]: [ + [ 1, MoveId.BODY_SLAM ], + [ 1, MoveId.ACID ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.PROTECT ], // Previous Stage Move + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ACID_ARMOR ], + [ 1, MoveId.CURSE ], + [ 1, MoveId.YAWN ], + [ 1, MoveId.GUARD_SWAP ], + [ 1, MoveId.ACID_SPRAY ], + [ 1, MoveId.WATER_SHURIKEN ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.STRUGGLE_BUG ], + [ 20, MoveId.SWIFT ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.GIGA_DRAIN ], + [ 32, MoveId.POWER_SWAP ], + [ 36, MoveId.U_TURN ], + [ 40, MoveId.RECOVER ], + [ 44, MoveId.BUG_BUZZ ], + [ 48, MoveId.FINAL_GAMBIT ], + [ 52, MoveId.TOXIC ], + ], + [SpeciesId.STUNFISK]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.MUD_SPORT ], + [ 5, MoveId.ENDURE ], + [ 10, MoveId.MUD_SHOT ], + [ 15, MoveId.REVENGE ], + [ 20, MoveId.CHARGE ], + [ 25, MoveId.SUCKER_PUNCH ], + [ 30, MoveId.ELECTRIC_TERRAIN ], + [ 35, MoveId.BOUNCE ], + [ 40, MoveId.MUDDY_WATER ], + [ 45, MoveId.DISCHARGE ], + [ 50, MoveId.FLAIL ], + [ 55, MoveId.FISSURE ], + ], + [SpeciesId.MIENFOO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.DETECT ], + [ 5, MoveId.FAKE_OUT ], + [ 10, MoveId.REVERSAL ], + [ 15, MoveId.FURY_SWIPES ], + [ 20, MoveId.QUICK_GUARD ], + [ 25, MoveId.FORCE_PALM ], + [ 30, MoveId.U_TURN ], + [ 35, MoveId.DRAIN_PUNCH ], + [ 40, MoveId.HONE_CLAWS ], + [ 45, MoveId.AURA_SPHERE ], + [ 51, MoveId.BOUNCE ], + [ 55, MoveId.CALM_MIND ], + [ 60, MoveId.HIGH_JUMP_KICK ], + ], + [SpeciesId.MIENSHAO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.REVERSAL ], + [ 1, MoveId.DETECT ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.QUICK_GUARD ], + [ 15, MoveId.FURY_SWIPES ], + [ 20, MoveId.WIDE_GUARD ], + [ 25, MoveId.FORCE_PALM ], + [ 30, MoveId.U_TURN ], + [ 35, MoveId.DRAIN_PUNCH ], + [ 40, MoveId.HONE_CLAWS ], + [ 45, MoveId.AURA_SPHERE ], + [ 53, MoveId.BOUNCE ], + [ 59, MoveId.CALM_MIND ], + [ 66, MoveId.HIGH_JUMP_KICK ], + ], + [SpeciesId.DRUDDIGON]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 5, MoveId.BITE ], + [ 10, MoveId.DRAGON_TAIL ], + [ 15, MoveId.METAL_CLAW ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.DRAGON_CLAW ], + [ 35, MoveId.HONE_CLAWS ], + [ 40, MoveId.CRUNCH ], + [ 45, MoveId.IRON_HEAD ], + [ 50, MoveId.OUTRAGE ], + [ 55, MoveId.SUPERPOWER ], + ], + [SpeciesId.GOLETT]: [ + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.DEFENSE_CURL ], + [ 8, MoveId.POUND ], + [ 12, MoveId.SHADOW_PUNCH ], + [ 16, MoveId.CURSE ], + [ 20, MoveId.NIGHT_SHADE ], + [ 24, MoveId.STOMPING_TANTRUM ], + [ 28, MoveId.IRON_DEFENSE ], + [ 32, MoveId.MEGA_PUNCH ], + [ 36, MoveId.SHADOW_BALL ], + [ 40, MoveId.HEAVY_SLAM ], + [ 44, MoveId.PHANTOM_FORCE ], + [ 48, MoveId.HAMMER_ARM ], + [ 52, MoveId.EARTHQUAKE ], + [ 56, MoveId.DYNAMIC_PUNCH ], + ], + [SpeciesId.GOLURK]: [ + [ RELEARN_MOVE, MoveId.MUD_SLAP ], + [ RELEARN_MOVE, MoveId.FOCUS_PUNCH ], + [ 1, MoveId.POUND ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.HIGH_HORSEPOWER ], + [ 12, MoveId.SHADOW_PUNCH ], + [ 16, MoveId.CURSE ], + [ 20, MoveId.NIGHT_SHADE ], + [ 24, MoveId.STOMPING_TANTRUM ], + [ 28, MoveId.IRON_DEFENSE ], + [ 32, MoveId.MEGA_PUNCH ], + [ 36, MoveId.SHADOW_BALL ], + [ 40, MoveId.HEAVY_SLAM ], + [ 46, MoveId.PHANTOM_FORCE ], + [ 52, MoveId.HAMMER_ARM ], + [ 58, MoveId.EARTHQUAKE ], + [ 64, MoveId.DYNAMIC_PUNCH ], + ], + [SpeciesId.PAWNIARD]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 5, MoveId.FURY_CUTTER ], + [ 10, MoveId.METAL_CLAW ], + [ 15, MoveId.TORMENT ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.ASSURANCE ], + [ 30, MoveId.METAL_SOUND ], + [ 35, MoveId.SLASH ], + [ 40, MoveId.NIGHT_SLASH ], + [ 45, MoveId.IRON_DEFENSE ], + [ 50, MoveId.RETALIATE ], + [ 55, MoveId.IRON_HEAD ], + [ 60, MoveId.SWORDS_DANCE ], + [ 65, MoveId.GUILLOTINE ], + ], + [SpeciesId.BISHARP]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.METAL_BURST ], + [ 15, MoveId.TORMENT ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.ASSURANCE ], + [ 30, MoveId.METAL_SOUND ], + [ 35, MoveId.SLASH ], + [ 40, MoveId.NIGHT_SLASH ], + [ 45, MoveId.IRON_DEFENSE ], + [ 50, MoveId.RETALIATE ], + [ 57, MoveId.IRON_HEAD ], + [ 64, MoveId.SWORDS_DANCE ], + [ 71, MoveId.GUILLOTINE ], + ], + [SpeciesId.BOUFFALANT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PURSUIT ], + [ 5, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.FURY_ATTACK ], + [ 15, MoveId.REVENGE ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.HORN_ATTACK ], + [ 30, MoveId.REVERSAL ], + [ 35, MoveId.THROAT_CHOP ], + [ 40, MoveId.HEAD_CHARGE ], + [ 45, MoveId.SWORDS_DANCE ], + [ 50, MoveId.MEGAHORN ], + [ 55, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.RUFFLET]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 6, MoveId.HONE_CLAWS ], + [ 12, MoveId.WING_ATTACK ], + [ 18, MoveId.TAILWIND ], + [ 24, MoveId.SCARY_FACE ], + [ 30, MoveId.AERIAL_ACE ], + [ 36, MoveId.SLASH ], + [ 42, MoveId.WHIRLWIND ], + [ 48, MoveId.CRUSH_CLAW ], + [ 55, MoveId.AIR_SLASH ], + [ 60, MoveId.DEFOG ], + [ 66, MoveId.THRASH ], + [ 72, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.BRAVIARY]: [ + [ EVOLVE_MOVE, MoveId.SUPERPOWER ], + [ RELEARN_MOVE, MoveId.BRAVE_BIRD ], // Previous Stage Move + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.SKY_ATTACK ], + [ 1, MoveId.HONE_CLAWS ], + [ 18, MoveId.TAILWIND ], + [ 24, MoveId.SCARY_FACE ], + [ 30, MoveId.AERIAL_ACE ], + [ 36, MoveId.SLASH ], + [ 42, MoveId.WHIRLWIND ], + [ 48, MoveId.CRUSH_CLAW ], + [ 57, MoveId.AIR_SLASH ], + [ 64, MoveId.DEFOG ], + [ 72, MoveId.THRASH ], + ], + [SpeciesId.VULLABY]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 6, MoveId.FLATTER ], + [ 12, MoveId.PLUCK ], + [ 18, MoveId.TAILWIND ], + [ 24, MoveId.KNOCK_OFF ], + [ 30, MoveId.IRON_DEFENSE ], + [ 36, MoveId.WHIRLWIND ], + [ 42, MoveId.AIR_SLASH ], + [ 48, MoveId.DARK_PULSE ], + [ 54, MoveId.NASTY_PLOT ], + [ 60, MoveId.DEFOG ], + [ 66, MoveId.ATTRACT ], + [ 72, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.MANDIBUZZ]: [ + [ EVOLVE_MOVE, MoveId.BONE_RUSH ], + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 1, MoveId.TOXIC ], + [ 1, MoveId.SKY_ATTACK ], + [ 1, MoveId.FLATTER ], + [ 1, MoveId.PLUCK ], + [ 18, MoveId.TAILWIND ], + [ 24, MoveId.KNOCK_OFF ], + [ 30, MoveId.IRON_DEFENSE ], + [ 36, MoveId.WHIRLWIND ], + [ 42, MoveId.AIR_SLASH ], + [ 48, MoveId.DARK_PULSE ], + [ 57, MoveId.NASTY_PLOT ], + [ 64, MoveId.DEFOG ], + [ 72, MoveId.ATTRACT ], + [ 80, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.HEATMOR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LICK ], + [ 5, MoveId.FURY_SWIPES ], + [ 10, MoveId.INCINERATE ], + [ 15, MoveId.BUG_BITE ], + [ 20, MoveId.STOCKPILE ], + [ 20, MoveId.SPIT_UP ], + [ 20, MoveId.SWALLOW ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.BIND ], + [ 35, MoveId.FIRE_LASH ], + [ 40, MoveId.HONE_CLAWS ], + [ 45, MoveId.AMNESIA ], + [ 50, MoveId.FIRE_SPIN ], + [ 55, MoveId.INFERNO ], + [ 60, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.DURANT]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.FURY_CUTTER ], + [ 4, MoveId.VISE_GRIP ], + [ 8, MoveId.METAL_CLAW ], + [ 12, MoveId.BEAT_UP ], + [ 16, MoveId.BUG_BITE ], + [ 20, MoveId.BITE ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.DIG ], + [ 32, MoveId.X_SCISSOR ], + [ 36, MoveId.CRUNCH ], + [ 40, MoveId.METAL_SOUND ], + [ 44, MoveId.IRON_HEAD ], + [ 48, MoveId.ENTRAINMENT ], + [ 52, MoveId.IRON_DEFENSE ], + [ 56, MoveId.GUILLOTINE ], + ], + [SpeciesId.DEINO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 4, MoveId.DRAGON_BREATH ], + [ 8, MoveId.BITE ], + [ 12, MoveId.ROAR ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.WORK_UP ], + [ 28, MoveId.SLAM ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.SCARY_FACE ], + [ 40, MoveId.DRAGON_PULSE ], + [ 44, MoveId.BODY_SLAM ], + [ 48, MoveId.HYPER_VOICE ], + [ 52, MoveId.DRAGON_RUSH ], + [ 56, MoveId.NASTY_PLOT ], + [ 60, MoveId.OUTRAGE ], + ], + [SpeciesId.ZWEILOUS]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.DOUBLE_HIT ], + [ 12, MoveId.ROAR ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.WORK_UP ], + [ 28, MoveId.SLAM ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.SCARY_FACE ], + [ 40, MoveId.DRAGON_PULSE ], + [ 44, MoveId.BODY_SLAM ], + [ 48, MoveId.HYPER_VOICE ], + [ 54, MoveId.DRAGON_RUSH ], + [ 60, MoveId.NASTY_PLOT ], + [ 66, MoveId.OUTRAGE ], + ], + [SpeciesId.HYDREIGON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.DOUBLE_HIT ], + [ 12, MoveId.ROAR ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.WORK_UP ], + [ 28, MoveId.SLAM ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.SCARY_FACE ], + [ 40, MoveId.DRAGON_PULSE ], + [ 44, MoveId.BODY_SLAM ], + [ 48, MoveId.HYPER_VOICE ], + [ 54, MoveId.DRAGON_RUSH ], + [ 60, MoveId.NASTY_PLOT ], + [ 68, MoveId.OUTRAGE ], + [ 76, MoveId.HYPER_BEAM ], + ], + [SpeciesId.LARVESTA]: [ + [ 1, MoveId.EMBER ], + [ 1, MoveId.STRING_SHOT ], + [ 6, MoveId.FLAME_CHARGE ], + [ 12, MoveId.STRUGGLE_BUG ], + [ 18, MoveId.FLAME_WHEEL ], + [ 24, MoveId.BUG_BITE ], + [ 30, MoveId.SCREECH ], + [ 36, MoveId.LEECH_LIFE ], + [ 42, MoveId.BUG_BUZZ ], + [ 48, MoveId.TAKE_DOWN ], + [ 54, MoveId.AMNESIA ], + [ 60, MoveId.DOUBLE_EDGE ], + [ 66, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.VOLCARONA]: [ + [ EVOLVE_MOVE, MoveId.QUIVER_DANCE ], + [ 1, MoveId.GUST ], + [ 1, MoveId.WHIRLWIND ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.FIRE_SPIN ], + [ 1, MoveId.FLARE_BLITZ ], + [ 1, MoveId.FLAME_CHARGE ], + [ 1, MoveId.STRUGGLE_BUG ], + [ 1, MoveId.FIERY_DANCE ], + [ 18, MoveId.FLAME_WHEEL ], + [ 24, MoveId.BUG_BITE ], + [ 30, MoveId.SCREECH ], + [ 36, MoveId.LEECH_LIFE ], + [ 42, MoveId.BUG_BUZZ ], + [ 48, MoveId.HEAT_WAVE ], + [ 54, MoveId.AMNESIA ], + [ 62, MoveId.HURRICANE ], + [ 70, MoveId.FIRE_BLAST ], + [ 78, MoveId.RAGE_POWDER ], + ], + [SpeciesId.COBALION]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.WORK_UP ], + [ 7, MoveId.METAL_CLAW ], + [ 14, MoveId.QUICK_GUARD ], + [ 21, MoveId.DOUBLE_KICK ], + [ 28, MoveId.RETALIATE ], + [ 35, MoveId.METAL_BURST ], + [ 42, MoveId.TAKE_DOWN ], + [ 49, MoveId.SACRED_SWORD ], + [ 56, MoveId.SWORDS_DANCE ], + [ 63, MoveId.IRON_HEAD ], + [ 70, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.TERRAKION]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.WORK_UP ], + [ 7, MoveId.SMACK_DOWN ], + [ 14, MoveId.QUICK_GUARD ], + [ 21, MoveId.DOUBLE_KICK ], + [ 28, MoveId.RETALIATE ], + [ 35, MoveId.ROCK_SLIDE ], + [ 42, MoveId.TAKE_DOWN ], + [ 49, MoveId.SACRED_SWORD ], + [ 56, MoveId.SWORDS_DANCE ], + [ 63, MoveId.STONE_EDGE ], + [ 70, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.VIRIZION]: [ + [ RELEARN_MOVE, MoveId.TAKE_DOWN ], + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.WORK_UP ], + [ 7, MoveId.MAGICAL_LEAF ], + [ 14, MoveId.QUICK_GUARD ], + [ 21, MoveId.DOUBLE_KICK ], + [ 28, MoveId.RETALIATE ], + [ 35, MoveId.GIGA_DRAIN ], + [ 42, MoveId.TAKE_DOWN ], + [ 49, MoveId.SACRED_SWORD ], + [ 56, MoveId.SWORDS_DANCE ], + [ 63, MoveId.LEAF_BLADE ], + [ 70, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.TORNADUS]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.LEER ], + [ 10, MoveId.SWAGGER ], + [ 15, MoveId.BITE ], + [ 20, MoveId.AIR_CUTTER ], + [ 25, MoveId.AGILITY ], + [ 30, MoveId.TAILWIND ], + [ 35, MoveId.AIR_SLASH ], + [ 40, MoveId.CRUNCH ], + [ 45, MoveId.EXTRASENSORY ], + [ 50, MoveId.UPROAR ], + [ 55, MoveId.HAMMER_ARM ], + [ 60, MoveId.RAIN_DANCE ], + [ 65, MoveId.HURRICANE ], + [ 70, MoveId.THRASH ], + [ 77, MoveId.BLEAKWIND_STORM ], + ], + [SpeciesId.THUNDURUS]: [ + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.LEER ], + [ 10, MoveId.SWAGGER ], + [ 15, MoveId.BITE ], + [ 20, MoveId.SHOCK_WAVE ], + [ 25, MoveId.AGILITY ], + [ 30, MoveId.CHARGE ], + [ 31, MoveId.HEAL_BLOCK ], + [ 35, MoveId.VOLT_SWITCH ], + [ 40, MoveId.CRUNCH ], + [ 45, MoveId.DISCHARGE ], + [ 50, MoveId.UPROAR ], + [ 55, MoveId.HAMMER_ARM ], + [ 60, MoveId.RAIN_DANCE ], + [ 65, MoveId.THUNDER ], + [ 70, MoveId.THRASH ], + [ 75, MoveId.WILDBOLT_STORM ], + ], + [SpeciesId.RESHIRAM]: [ + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.NOBLE_ROAR ], + [ 8, MoveId.SLASH ], + [ 16, MoveId.CRUNCH ], + [ 24, MoveId.EXTRASENSORY ], + [ 32, MoveId.DRAGON_PULSE ], + [ 40, MoveId.FLAMETHROWER ], + [ 48, MoveId.FUSION_FLARE ], + [ 56, MoveId.HYPER_VOICE ], + [ 64, MoveId.FIRE_BLAST ], + [ 72, MoveId.IMPRISON ], + [ 80, MoveId.OUTRAGE ], + [ 88, MoveId.BLUE_FLARE ], + ], + [SpeciesId.ZEKROM]: [ + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.NOBLE_ROAR ], + [ 8, MoveId.SLASH ], + [ 16, MoveId.CRUNCH ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 32, MoveId.DRAGON_CLAW ], + [ 40, MoveId.THUNDERBOLT ], + [ 48, MoveId.FUSION_BOLT ], + [ 56, MoveId.HYPER_VOICE ], + [ 64, MoveId.THUNDER ], + [ 72, MoveId.IMPRISON ], + [ 80, MoveId.OUTRAGE ], + [ 88, MoveId.BOLT_STRIKE ], + ], + [SpeciesId.LANDORUS]: [ + [ 1, MoveId.SAND_TOMB ], + [ 1, MoveId.SMACK_DOWN ], + [ 5, MoveId.LEER ], + [ 10, MoveId.BLOCK ], + [ 15, MoveId.BULLDOZE ], + [ 20, MoveId.ROCK_TOMB ], + [ 30, MoveId.IMPRISON ], + [ 35, MoveId.ROCK_SLIDE ], + [ 40, MoveId.EARTH_POWER ], + [ 45, MoveId.EXTRASENSORY ], + [ 50, MoveId.STONE_EDGE ], + [ 55, MoveId.HAMMER_ARM ], + [ 60, MoveId.SANDSTORM ], + [ 65, MoveId.EARTHQUAKE ], + [ 70, MoveId.OUTRAGE ], + [ 75, MoveId.FISSURE ], + [ 80, MoveId.SANDSEAR_STORM ], + ], + [SpeciesId.KYUREM]: [ + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.FREEZE_DRY ], + [ 8, MoveId.SLASH ], + [ 16, MoveId.ENDEAVOR ], + [ 24, MoveId.DRAGON_PULSE ], + [ 32, MoveId.ICE_BEAM ], + [ 40, MoveId.HYPER_VOICE ], + [ 48, MoveId.SCARY_FACE ], + [ 56, MoveId.BLIZZARD ], + [ 64, MoveId.IMPRISON ], + [ 72, MoveId.OUTRAGE ], + [ 80, MoveId.GLACIATE ], + [ 88, MoveId.SHEER_COLD ], + ], + [SpeciesId.KELDEO]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.WORK_UP ], + [ 1, MoveId.SECRET_SWORD ], + [ 7, MoveId.BUBBLE_BEAM ], + [ 14, MoveId.QUICK_GUARD ], + [ 21, MoveId.DOUBLE_KICK ], + [ 28, MoveId.RETALIATE ], + [ 35, MoveId.AQUA_TAIL ], + [ 42, MoveId.TAKE_DOWN ], + [ 49, MoveId.SACRED_SWORD ], + [ 56, MoveId.SWORDS_DANCE ], + [ 63, MoveId.HYDRO_PUMP ], + [ 70, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.MELOETTA]: [ + [ 1, MoveId.SING ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.ROUND ], + [ 21, MoveId.TEETER_DANCE ], + [ 26, MoveId.ACROBATICS ], + [ 31, MoveId.PSYBEAM ], + [ 36, MoveId.ECHOED_VOICE ], + [ 43, MoveId.U_TURN ], + [ 50, MoveId.RELIC_SONG ], + [ 57, MoveId.PSYCHIC ], + [ 64, MoveId.HYPER_VOICE ], + [ 71, MoveId.ROLE_PLAY ], + [ 78, MoveId.CLOSE_COMBAT ], + [ 85, MoveId.PERISH_SONG ], + ], + [SpeciesId.GENESECT]: [ + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FURY_CUTTER ], + [ 7, MoveId.SCREECH ], + [ 14, MoveId.METAL_CLAW ], + [ 21, MoveId.FELL_STINGER ], + [ 28, MoveId.FLAME_CHARGE ], + [ 35, MoveId.METAL_SOUND ], + [ 42, MoveId.X_SCISSOR ], + [ 49, MoveId.MAGNET_RISE ], + [ 56, MoveId.BUG_BUZZ ], + [ 63, MoveId.SIMPLE_BEAM ], + [ 70, MoveId.ZAP_CANNON ], + [ 77, MoveId.LOCK_ON ], + [ 84, MoveId.TECHNO_BLAST ], + [ 91, MoveId.SELF_DESTRUCT ], + ], + [SpeciesId.CHESPIN]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.VINE_WHIP ], + [ 8, MoveId.ROLLOUT ], + [ 11, MoveId.BITE ], + [ 15, MoveId.LEECH_SEED ], + [ 18, MoveId.PIN_MISSILE ], + [ 27, MoveId.TAKE_DOWN ], + [ 32, MoveId.SEED_BOMB ], + [ 35, MoveId.MUD_SHOT ], + [ 42, MoveId.BODY_SLAM ], + [ 45, MoveId.PAIN_SPLIT ], + [ 48, MoveId.WOOD_HAMMER ], + ], + [SpeciesId.QUILLADIN]: [ + [ EVOLVE_MOVE, MoveId.NEEDLE_ARM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.VINE_WHIP ], + [ 8, MoveId.ROLLOUT ], + [ 11, MoveId.BITE ], + [ 15, MoveId.LEECH_SEED ], + [ 20, MoveId.SEED_BOMB ], + [ 24, MoveId.PIN_MISSILE ], + [ 29, MoveId.TAKE_DOWN ], + [ 34, MoveId.MUD_SHOT ], + [ 38, MoveId.BULK_UP ], + [ 43, MoveId.BODY_SLAM ], + [ 47, MoveId.PAIN_SPLIT ], + [ 53, MoveId.WOOD_HAMMER ], + ], + [SpeciesId.CHESNAUGHT]: [ + [ EVOLVE_MOVE, MoveId.SPIKY_SHIELD ], + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.HAMMER_ARM ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.NEEDLE_ARM ], + [ 11, MoveId.BITE ], + [ 15, MoveId.LEECH_SEED ], + [ 19, MoveId.PIN_MISSILE ], + [ 29, MoveId.TAKE_DOWN ], + [ 35, MoveId.SEED_BOMB ], + [ 41, MoveId.MUD_SHOT ], + [ 48, MoveId.BULK_UP ], + [ 54, MoveId.BODY_SLAM ], + [ 60, MoveId.PAIN_SPLIT ], + [ 66, MoveId.WOOD_HAMMER ], + [ 78, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.FENNEKIN]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.EMBER ], + [ 11, MoveId.HOWL ], + [ 14, MoveId.FLAME_CHARGE ], + [ 17, MoveId.PSYBEAM ], + [ 20, MoveId.FIRE_SPIN ], + [ 25, MoveId.LIGHT_SCREEN ], + [ 31, MoveId.PSYSHOCK ], + [ 35, MoveId.FLAMETHROWER ], + [ 38, MoveId.WILL_O_WISP ], + [ 41, MoveId.PSYCHIC ], + [ 43, MoveId.SUNNY_DAY ], + [ 48, MoveId.FIRE_BLAST ], + ], + [SpeciesId.BRAIXEN]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.EMBER ], + [ 11, MoveId.HOWL ], + [ 14, MoveId.FLAME_CHARGE ], + [ 18, MoveId.PSYBEAM ], + [ 22, MoveId.FIRE_SPIN ], + [ 28, MoveId.LIGHT_SCREEN ], + [ 36, MoveId.PSYSHOCK ], + [ 41, MoveId.FLAMETHROWER ], + [ 45, MoveId.WILL_O_WISP ], + [ 49, MoveId.PSYCHIC ], + [ 52, MoveId.SUNNY_DAY ], + [ 56, MoveId.MAGIC_ROOM ], + [ 59, MoveId.FIRE_BLAST ], + ], + [SpeciesId.DELPHOX]: [ + [ EVOLVE_MOVE, MoveId.MYSTICAL_FIRE ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SHADOW_BALL ], + [ 1, MoveId.FUTURE_SIGHT ], + [ 1, MoveId.ROLE_PLAY ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.SWITCHEROO ], + [ 14, MoveId.FLAME_CHARGE ], + [ 18, MoveId.PSYBEAM ], + [ 22, MoveId.FIRE_SPIN ], + [ 28, MoveId.LIGHT_SCREEN ], + [ 38, MoveId.PSYSHOCK ], + [ 45, MoveId.FLAMETHROWER ], + [ 51, MoveId.WILL_O_WISP ], + [ 57, MoveId.PSYCHIC ], + [ 62, MoveId.SUNNY_DAY ], + [ 68, MoveId.MAGIC_ROOM ], + [ 74, MoveId.FIRE_BLAST ], + ], + [SpeciesId.FROAKIE]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.WATER_GUN ], + [ 8, MoveId.QUICK_ATTACK ], + [ 10, MoveId.LICK ], + [ 14, MoveId.WATER_PULSE ], + [ 18, MoveId.SMOKESCREEN ], + [ 21, MoveId.ROUND ], + [ 25, MoveId.FLING ], + [ 29, MoveId.SMACK_DOWN ], + [ 35, MoveId.SUBSTITUTE ], + [ 39, MoveId.BOUNCE ], + [ 43, MoveId.DOUBLE_TEAM ], + [ 48, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.FROGADIER]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 8, MoveId.QUICK_ATTACK ], + [ 10, MoveId.LICK ], + [ 14, MoveId.WATER_PULSE ], + [ 19, MoveId.SMOKESCREEN ], + [ 23, MoveId.ROUND ], + [ 28, MoveId.FLING ], + [ 33, MoveId.SMACK_DOWN ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.BOUNCE ], + [ 50, MoveId.DOUBLE_TEAM ], + [ 56, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.GRENINJA]: [ + [ EVOLVE_MOVE, MoveId.WATER_SHURIKEN ], + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.ROUND ], // Previous Stage Move + [ 1, MoveId.FLING ], // Previous Stage Move + [ 1, MoveId.SMACK_DOWN ], // Previous Stage Move + [ 1, MoveId.BOUNCE ], // Previous Stage Move + [ 1, MoveId.HAZE ], + [ 1, MoveId.MAT_BLOCK ], + [ 1, MoveId.ROLE_PLAY ], + [ 1, MoveId.NIGHT_SLASH ], + [ 10, MoveId.LICK ], + [ 14, MoveId.WATER_PULSE ], + [ 19, MoveId.SMOKESCREEN ], + [ 23, MoveId.SHADOW_SNEAK ], + [ 28, MoveId.SPIKES ], + [ 33, MoveId.AERIAL_ACE ], + [ 42, MoveId.SUBSTITUTE ], + [ 49, MoveId.EXTRASENSORY ], + [ 56, MoveId.DOUBLE_TEAM ], + [ 68, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.BUNNELBY]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.MUD_SLAP ], + [ 3, MoveId.TACKLE ], + [ 6, MoveId.LASER_FOCUS ], + [ 9, MoveId.QUICK_ATTACK ], + [ 12, MoveId.MUD_SHOT ], + [ 15, MoveId.FLAIL ], + [ 18, MoveId.DOUBLE_KICK ], + [ 21, MoveId.BULLDOZE ], + [ 24, MoveId.DIG ], + [ 27, MoveId.BOUNCE ], + [ 30, MoveId.TAKE_DOWN ], + [ 33, MoveId.SWORDS_DANCE ], + [ 36, MoveId.EARTHQUAKE ], + [ 39, MoveId.SUPER_FANG ], + ], + [SpeciesId.DIGGERSBY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.LASER_FOCUS ], + [ 1, MoveId.ROTOTILLER ], + [ 9, MoveId.QUICK_ATTACK ], + [ 12, MoveId.MUD_SHOT ], + [ 15, MoveId.FLAIL ], + [ 18, MoveId.DOUBLE_KICK ], + [ 23, MoveId.BULLDOZE ], + [ 28, MoveId.DIG ], + [ 33, MoveId.BOUNCE ], + [ 38, MoveId.TAKE_DOWN ], + [ 43, MoveId.SWORDS_DANCE ], + [ 48, MoveId.EARTHQUAKE ], + [ 53, MoveId.SUPER_FANG ], + [ 58, MoveId.HAMMER_ARM ], + ], + [SpeciesId.FLETCHLING]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 5, MoveId.QUICK_ATTACK ], + [ 10, MoveId.EMBER ], + [ 15, MoveId.FLAIL ], + [ 20, MoveId.ACROBATICS ], + [ 25, MoveId.AGILITY ], + [ 30, MoveId.AERIAL_ACE ], + [ 35, MoveId.TAILWIND ], + [ 40, MoveId.STEEL_WING ], + [ 45, MoveId.ROOST ], + [ 50, MoveId.FLY ], + ], + [SpeciesId.FLETCHINDER]: [ + [ EVOLVE_MOVE, MoveId.FLAME_CHARGE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FEINT ], + [ 15, MoveId.FLAIL ], + [ 22, MoveId.ACROBATICS ], + [ 29, MoveId.AGILITY ], + [ 36, MoveId.AERIAL_ACE ], + [ 43, MoveId.TAILWIND ], + [ 50, MoveId.STEEL_WING ], + [ 57, MoveId.ROOST ], + [ 64, MoveId.FLY ], + ], + [SpeciesId.TALONFLAME]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.FLARE_BLITZ ], + [ 1, MoveId.FLAME_CHARGE ], + [ 15, MoveId.FLAIL ], + [ 22, MoveId.ACROBATICS ], + [ 29, MoveId.AGILITY ], + [ 38, MoveId.AERIAL_ACE ], + [ 47, MoveId.TAILWIND ], + [ 56, MoveId.STEEL_WING ], + [ 65, MoveId.ROOST ], + [ 74, MoveId.FLY ], + [ 83, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.SCATTERBUG]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STRING_SHOT ], + [ 6, MoveId.STUN_SPORE ], + [ 15, MoveId.BUG_BITE ], + ], + [SpeciesId.SPEWPA]: [ + [ EVOLVE_MOVE, MoveId.PROTECT ], + [ RELEARN_MOVE, MoveId.TACKLE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.STRING_SHOT ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.STUN_SPORE ], // Previous Stage Move + [ RELEARN_MOVE, MoveId.BUG_BITE ], // Previous Stage Move + [ 1, MoveId.HARDEN ], + ], + [SpeciesId.VIVILLON]: [ + [ EVOLVE_MOVE, MoveId.GUST ], + [ 1, MoveId.PROTECT ], // Previous Stage Move + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.STRING_SHOT ], // Previous Stage Move + [ 1, MoveId.HARDEN ], // Previous Stage Move + [ 1, MoveId.BUG_BITE ], // Previous Stage Move + [ 1, MoveId.POISON_POWDER ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.SLEEP_POWDER ], + [ 1, MoveId.STRUGGLE_BUG ], + [ 1, MoveId.POWDER ], + [ 12, MoveId.LIGHT_SCREEN ], + [ 17, MoveId.PSYBEAM ], + [ 21, MoveId.SUPERSONIC ], + [ 25, MoveId.DRAINING_KISS ], + [ 31, MoveId.SAFEGUARD ], + [ 35, MoveId.BUG_BUZZ ], + [ 45, MoveId.QUIVER_DANCE ], + [ 50, MoveId.HURRICANE ], + ], + [SpeciesId.LITLEO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 5, MoveId.EMBER ], + [ 8, MoveId.WORK_UP ], + [ 11, MoveId.HEADBUTT ], + [ 15, MoveId.NOBLE_ROAR ], + [ 20, MoveId.TAKE_DOWN ], + [ 23, MoveId.FIRE_FANG ], + [ 28, MoveId.ENDEAVOR ], + [ 33, MoveId.ECHOED_VOICE ], + [ 36, MoveId.FLAMETHROWER ], + [ 39, MoveId.CRUNCH ], + [ 43, MoveId.HYPER_VOICE ], + [ 46, MoveId.INCINERATE ], + [ 50, MoveId.OVERHEAT ], + ], + [SpeciesId.PYROAR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.HYPER_BEAM ], + [ 1, MoveId.WORK_UP ], + [ 11, MoveId.HEADBUTT ], + [ 15, MoveId.NOBLE_ROAR ], + [ 20, MoveId.TAKE_DOWN ], + [ 23, MoveId.FIRE_FANG ], + [ 28, MoveId.ENDEAVOR ], + [ 33, MoveId.ECHOED_VOICE ], + [ 38, MoveId.FLAMETHROWER ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.HYPER_VOICE ], + [ 51, MoveId.INCINERATE ], + [ 57, MoveId.OVERHEAT ], + ], + [SpeciesId.FLABEBE]: [ + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 6, MoveId.FAIRY_WIND ], + [ 10, MoveId.SAFEGUARD ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.WISH ], + [ 22, MoveId.MAGICAL_LEAF ], + [ 24, MoveId.GRASSY_TERRAIN ], + [ 28, MoveId.PETAL_BLIZZARD ], + [ 33, MoveId.SYNTHESIS ], + [ 37, MoveId.MISTY_TERRAIN ], + [ 41, MoveId.MOONBLAST ], + [ 45, MoveId.PETAL_DANCE ], + [ 48, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.FLOETTE]: [ + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FAIRY_WIND ], + [ 10, MoveId.SAFEGUARD ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.WISH ], + [ 25, MoveId.MAGICAL_LEAF ], + [ 27, MoveId.GRASSY_TERRAIN ], + [ 33, MoveId.PETAL_BLIZZARD ], + [ 38, MoveId.SYNTHESIS ], + [ 43, MoveId.MISTY_TERRAIN ], + [ 46, MoveId.MOONBLAST ], + [ 51, MoveId.PETAL_DANCE ], + [ 58, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.FLORGES]: [ + [ 1, MoveId.VINE_WHIP ], // Previous Stage Move + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.FAIRY_WIND ], // Previous Stage Move + [ 1, MoveId.RAZOR_LEAF ], // Previous Stage Move + [ 1, MoveId.SOLAR_BEAM ], + [ 1, MoveId.PETAL_DANCE ], + [ 1, MoveId.SAFEGUARD ], + [ 1, MoveId.SYNTHESIS ], + [ 1, MoveId.WISH ], + [ 1, MoveId.LUCKY_CHANT ], + [ 1, MoveId.MAGICAL_LEAF ], + [ 1, MoveId.GRASS_KNOT ], + [ 1, MoveId.PETAL_BLIZZARD ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.GRASSY_TERRAIN ], + [ 1, MoveId.MISTY_TERRAIN ], + [ 5, MoveId.MOONBLAST ], + ], + [SpeciesId.SKIDDO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWTH ], + [ 7, MoveId.VINE_WHIP ], + [ 9, MoveId.TAIL_WHIP ], + [ 12, MoveId.LEECH_SEED ], + [ 13, MoveId.RAZOR_LEAF ], + [ 16, MoveId.WORRY_SEED ], + [ 20, MoveId.SYNTHESIS ], + [ 22, MoveId.TAKE_DOWN ], + [ 26, MoveId.BULLDOZE ], + [ 30, MoveId.SEED_BOMB ], + [ 34, MoveId.BULK_UP ], + [ 38, MoveId.DOUBLE_EDGE ], + [ 42, MoveId.HORN_LEECH ], + [ 45, MoveId.LEAF_BLADE ], + ], + [SpeciesId.GOGOAT]: [ + [ EVOLVE_MOVE, MoveId.AERIAL_ACE ], + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.EARTHQUAKE ], + [ 12, MoveId.LEECH_SEED ], + [ 13, MoveId.RAZOR_LEAF ], + [ 16, MoveId.WORRY_SEED ], + [ 20, MoveId.SYNTHESIS ], + [ 22, MoveId.TAKE_DOWN ], + [ 26, MoveId.BULLDOZE ], + [ 30, MoveId.SEED_BOMB ], + [ 34, MoveId.BULK_UP ], + [ 40, MoveId.DOUBLE_EDGE ], + [ 47, MoveId.HORN_LEECH ], + [ 55, MoveId.LEAF_BLADE ], + [ 58, MoveId.MILK_DRINK ], + ], + [SpeciesId.PANCHAM]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 4, MoveId.ARM_THRUST ], + [ 8, MoveId.TAUNT ], + [ 12, MoveId.CIRCLE_THROW ], + [ 16, MoveId.LOW_SWEEP ], + [ 20, MoveId.WORK_UP ], + [ 24, MoveId.SLASH ], + [ 28, MoveId.VITAL_THROW ], + [ 33, MoveId.CRUNCH ], + [ 36, MoveId.BODY_SLAM ], + [ 40, MoveId.PARTING_SHOT ], + [ 44, MoveId.ENTRAINMENT ], + ], + [SpeciesId.PANGORO]: [ + [ EVOLVE_MOVE, MoveId.NIGHT_SLASH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.ARM_THRUST ], + [ 1, MoveId.BULLET_PUNCH ], + [ 12, MoveId.CIRCLE_THROW ], + [ 16, MoveId.LOW_SWEEP ], + [ 20, MoveId.WORK_UP ], + [ 24, MoveId.SLASH ], + [ 28, MoveId.VITAL_THROW ], + [ 35, MoveId.CRUNCH ], + [ 40, MoveId.BODY_SLAM ], + [ 46, MoveId.PARTING_SHOT ], + [ 52, MoveId.ENTRAINMENT ], + [ 58, MoveId.HAMMER_ARM ], + ], + [SpeciesId.FURFROU]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.SAND_ATTACK ], + [ 9, MoveId.BABY_DOLL_EYES ], + [ 12, MoveId.HEADBUTT ], + [ 15, MoveId.TAIL_WHIP ], + [ 22, MoveId.BITE ], + [ 27, MoveId.ODOR_SLEUTH ], + [ 33, MoveId.RETALIATE ], + [ 35, MoveId.TAKE_DOWN ], + [ 38, MoveId.CHARM ], + [ 42, MoveId.SUCKER_PUNCH ], + [ 48, MoveId.COTTON_GUARD ], + ], + [SpeciesId.ESPURR]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 3, MoveId.FAKE_OUT ], + [ 6, MoveId.DISARMING_VOICE ], + [ 9, MoveId.CONFUSION ], + [ 18, MoveId.COVET ], + [ 21, MoveId.PSYBEAM ], + [ 30, MoveId.LIGHT_SCREEN ], + [ 30, MoveId.REFLECT ], + [ 33, MoveId.PSYSHOCK ], + ], + [SpeciesId.MEOWSTIC]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.MEAN_LOOK ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.DISARMING_VOICE ], + [ 9, MoveId.CONFUSION ], + [ 12, MoveId.HELPING_HAND ], + [ 15, MoveId.CHARM ], + [ 18, MoveId.COVET ], + [ 21, MoveId.PSYBEAM ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 29, MoveId.ROLE_PLAY ], + [ 34, MoveId.LIGHT_SCREEN ], + [ 34, MoveId.REFLECT ], + [ 39, MoveId.PSYSHOCK ], + [ 44, MoveId.IMPRISON ], + [ 49, MoveId.QUICK_GUARD ], + [ 54, MoveId.PSYCHIC ], + [ 59, MoveId.MISTY_TERRAIN ], + ], + [SpeciesId.HONEDGE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FURY_CUTTER ], + [ 4, MoveId.SHADOW_SNEAK ], + [ 8, MoveId.AUTOTOMIZE ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.METAL_SOUND ], + [ 20, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 28, MoveId.RETALIATE ], + [ 32, MoveId.IRON_DEFENSE ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.POWER_TRICK ], + [ 44, MoveId.SWORDS_DANCE ], + [ 48, MoveId.SACRED_SWORD ], + ], + [SpeciesId.DOUBLADE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.SHADOW_SNEAK ], + [ 1, MoveId.AUTOTOMIZE ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.METAL_SOUND ], + [ 20, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 28, MoveId.RETALIATE ], + [ 32, MoveId.IRON_DEFENSE ], + [ 38, MoveId.IRON_HEAD ], + [ 44, MoveId.POWER_TRICK ], + [ 50, MoveId.SWORDS_DANCE ], + [ 56, MoveId.SACRED_SWORD ], + ], + [SpeciesId.AEGISLASH]: [ + [ EVOLVE_MOVE, MoveId.KINGS_SHIELD ], + [ 1, MoveId.SWORDS_DANCE ], + [ 1, MoveId.PURSUIT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SLASH ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.METAL_SOUND ], + [ 1, MoveId.AERIAL_ACE ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.POWER_TRICK ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.SHADOW_SNEAK ], + [ 1, MoveId.IRON_HEAD ], + [ 1, MoveId.HEAD_SMASH ], + [ 1, MoveId.AUTOTOMIZE ], + [ 1, MoveId.RETALIATE ], + [ 1, MoveId.SACRED_SWORD ], + ], + [SpeciesId.SPRITZEE]: [ + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.FAIRY_WIND ], + [ 3, MoveId.SWEET_KISS ], + [ 6, MoveId.ECHOED_VOICE ], + [ 9, MoveId.DRAINING_KISS ], + [ 12, MoveId.AROMATHERAPY ], + [ 18, MoveId.ATTRACT ], + [ 21, MoveId.FLAIL ], + [ 24, MoveId.MISTY_TERRAIN ], + [ 27, MoveId.PSYCHIC ], + [ 30, MoveId.CHARM ], + [ 33, MoveId.CALM_MIND ], + [ 36, MoveId.MOONBLAST ], + [ 39, MoveId.SKILL_SWAP ], + ], + [SpeciesId.AROMATISSE]: [ + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.ECHOED_VOICE ], + [ 1, MoveId.HEAL_PULSE ], + [ 1, MoveId.FAIRY_WIND ], + [ 1, MoveId.AROMATIC_MIST ], + [ 9, MoveId.DISARMING_VOICE ], + [ 12, MoveId.AROMATHERAPY ], + [ 15, MoveId.DRAINING_KISS ], + [ 18, MoveId.ATTRACT ], + [ 21, MoveId.FLAIL ], + [ 24, MoveId.MISTY_TERRAIN ], + [ 27, MoveId.PSYCHIC ], + [ 30, MoveId.CHARM ], + [ 33, MoveId.CALM_MIND ], + [ 36, MoveId.MOONBLAST ], + [ 39, MoveId.SKILL_SWAP ], + [ 42, MoveId.PSYCH_UP ], + ], + [SpeciesId.SWIRLIX]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SWEET_SCENT ], + [ 3, MoveId.PLAY_NICE ], + [ 6, MoveId.FAIRY_WIND ], + [ 9, MoveId.AROMATHERAPY ], + [ 12, MoveId.DRAINING_KISS ], + [ 15, MoveId.FAKE_TEARS ], + [ 18, MoveId.ROUND ], + [ 21, MoveId.STRING_SHOT ], + [ 24, MoveId.COTTON_SPORE ], + [ 27, MoveId.ENERGY_BALL ], + [ 30, MoveId.WISH ], + [ 33, MoveId.PLAY_ROUGH ], + [ 36, MoveId.COTTON_GUARD ], + [ 39, MoveId.ENDEAVOR ], + ], + [SpeciesId.SLURPUFF]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.FAIRY_WIND ], + [ 1, MoveId.PLAY_NICE ], + [ 9, MoveId.AROMATHERAPY ], + [ 12, MoveId.DRAINING_KISS ], + [ 15, MoveId.FAKE_TEARS ], + [ 18, MoveId.ROUND ], + [ 21, MoveId.STRING_SHOT ], + [ 24, MoveId.COTTON_SPORE ], + [ 27, MoveId.ENERGY_BALL ], + [ 30, MoveId.WISH ], + [ 33, MoveId.PLAY_ROUGH ], + [ 36, MoveId.COTTON_GUARD ], + [ 39, MoveId.ENDEAVOR ], + [ 42, MoveId.STICKY_WEB ], + ], + [SpeciesId.INKAY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PECK ], + [ 1, MoveId.CONSTRICT ], + [ 3, MoveId.HYPNOSIS ], + [ 6, MoveId.WRAP ], + [ 9, MoveId.PAYBACK ], + [ 12, MoveId.PLUCK ], + [ 15, MoveId.PSYBEAM ], + [ 18, MoveId.SWAGGER ], + [ 21, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 27, MoveId.PSYCHO_CUT ], + [ 31, MoveId.SWITCHEROO ], + [ 33, MoveId.FOUL_PLAY ], + [ 36, MoveId.TOPSY_TURVY ], + [ 39, MoveId.SUPERPOWER ], + ], + [SpeciesId.MALAMAR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.PECK ], + [ 1, MoveId.CONSTRICT ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.REVERSAL ], + [ 9, MoveId.PAYBACK ], + [ 12, MoveId.PLUCK ], + [ 15, MoveId.PSYBEAM ], + [ 18, MoveId.SWAGGER ], + [ 21, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 27, MoveId.PSYCHO_CUT ], + [ 33, MoveId.SWITCHEROO ], + [ 37, MoveId.FOUL_PLAY ], + [ 42, MoveId.TOPSY_TURVY ], + [ 47, MoveId.SUPERPOWER ], + ], + [SpeciesId.BINACLE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.MUD_SLAP ], + [ 4, MoveId.WITHDRAW ], + [ 8, MoveId.WATER_GUN ], + [ 12, MoveId.FURY_CUTTER ], + [ 16, MoveId.FURY_SWIPES ], + [ 20, MoveId.ANCIENT_POWER ], + [ 24, MoveId.ROCK_POLISH ], + [ 28, MoveId.SLASH ], + [ 32, MoveId.HONE_CLAWS ], + [ 36, MoveId.RAZOR_SHELL ], + [ 40, MoveId.SHELL_SMASH ], + [ 44, MoveId.CROSS_CHOP ], + ], + [SpeciesId.BARBARACLE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.SKULL_BASH ], + [ 1, MoveId.MUD_SLAP ], + [ 12, MoveId.FURY_CUTTER ], + [ 16, MoveId.FURY_SWIPES ], + [ 20, MoveId.ANCIENT_POWER ], + [ 24, MoveId.ROCK_POLISH ], + [ 28, MoveId.SLASH ], + [ 32, MoveId.HONE_CLAWS ], + [ 36, MoveId.RAZOR_SHELL ], + [ 42, MoveId.SHELL_SMASH ], + [ 48, MoveId.CROSS_CHOP ], + [ 54, MoveId.STONE_EDGE ], + ], + [SpeciesId.SKRELP]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SMOKESCREEN ], + [ 5, MoveId.ACID ], + [ 10, MoveId.WATER_GUN ], + [ 15, MoveId.TAIL_WHIP ], + [ 20, MoveId.DOUBLE_TEAM ], + [ 25, MoveId.POISON_TAIL ], + [ 30, MoveId.WATER_PULSE ], + [ 35, MoveId.TOXIC ], + [ 40, MoveId.DRAGON_PULSE ], + [ 45, MoveId.AQUA_TAIL ], + [ 50, MoveId.SLUDGE_BOMB ], + [ 55, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.DRAGALGE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ACID ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.FEINT_ATTACK ], + [ 15, MoveId.TAIL_WHIP ], + [ 20, MoveId.DOUBLE_TEAM ], + [ 25, MoveId.POISON_TAIL ], + [ 30, MoveId.WATER_PULSE ], + [ 35, MoveId.TOXIC ], + [ 40, MoveId.DRAGON_PULSE ], + [ 45, MoveId.AQUA_TAIL ], + [ 52, MoveId.SLUDGE_BOMB ], + [ 59, MoveId.HYDRO_PUMP ], + [ 66, MoveId.OUTRAGE ], + ], + [SpeciesId.CLAUNCHER]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SPLASH ], + [ 10, MoveId.FLAIL ], + [ 15, MoveId.AQUA_JET ], + [ 20, MoveId.SMACK_DOWN ], + [ 25, MoveId.HONE_CLAWS ], + [ 30, MoveId.WATER_PULSE ], + [ 35, MoveId.SWORDS_DANCE ], + [ 40, MoveId.AURA_SPHERE ], + [ 45, MoveId.BOUNCE ], + [ 50, MoveId.MUDDY_WATER ], + [ 55, MoveId.CRABHAMMER ], + ], + [SpeciesId.CLAWITZER]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.DARK_PULSE ], + [ 1, MoveId.DRAGON_PULSE ], + [ 1, MoveId.HEAL_PULSE ], + [ 15, MoveId.AQUA_JET ], + [ 20, MoveId.SMACK_DOWN ], + [ 25, MoveId.HONE_CLAWS ], + [ 30, MoveId.WATER_PULSE ], + [ 35, MoveId.SWORDS_DANCE ], + [ 42, MoveId.AURA_SPHERE ], + [ 49, MoveId.BOUNCE ], + [ 56, MoveId.MUDDY_WATER ], + [ 63, MoveId.CRABHAMMER ], + ], + [SpeciesId.HELIOPTILE]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.MUD_SLAP ], + [ 4, MoveId.POUND ], + [ 8, MoveId.THUNDER_SHOCK ], + [ 12, MoveId.QUICK_ATTACK ], + [ 16, MoveId.CHARGE ], + [ 20, MoveId.BULLDOZE ], + [ 24, MoveId.VOLT_SWITCH ], + [ 28, MoveId.PARABOLIC_CHARGE ], + [ 32, MoveId.THUNDER_WAVE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.ELECTRIFY ], + [ 44, MoveId.THUNDER ], + ], + [SpeciesId.HELIOLISK]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.RAZOR_WIND ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.THUNDERBOLT ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.THUNDER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.DISCHARGE ], + [ 1, MoveId.VOLT_SWITCH ], + [ 1, MoveId.BULLDOZE ], + [ 1, MoveId.PARABOLIC_CHARGE ], + [ 1, MoveId.ELECTRIFY ], + [ 1, MoveId.EERIE_IMPULSE ], + ], + [SpeciesId.TYRUNT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 4, MoveId.ROAR ], + [ 8, MoveId.ANCIENT_POWER ], + [ 12, MoveId.CHARM ], + [ 16, MoveId.BITE ], + [ 20, MoveId.DRAGON_TAIL ], + [ 24, MoveId.STOMP ], + [ 28, MoveId.ROCK_SLIDE ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.DRAGON_CLAW ], + [ 40, MoveId.THRASH ], + [ 44, MoveId.EARTHQUAKE ], + [ 48, MoveId.HORN_DRILL ], + ], + [SpeciesId.TYRANTRUM]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.ROAR ], + [ 1, MoveId.ANCIENT_POWER ], + [ 12, MoveId.CHARM ], + [ 16, MoveId.BITE ], + [ 20, MoveId.DRAGON_TAIL ], + [ 24, MoveId.STOMP ], + [ 28, MoveId.ROCK_SLIDE ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.DRAGON_CLAW ], + [ 42, MoveId.THRASH ], + [ 48, MoveId.EARTHQUAKE ], + [ 54, MoveId.HORN_DRILL ], + [ 60, MoveId.GIGA_IMPACT ], + [ 66, MoveId.HEAD_SMASH ], + ], + [SpeciesId.AMAURA]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.POWDER_SNOW ], + [ 4, MoveId.ENCORE ], + [ 8, MoveId.ANCIENT_POWER ], + [ 12, MoveId.ICY_WIND ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.MIST ], + [ 24, MoveId.AURORA_BEAM ], + [ 28, MoveId.THUNDER_WAVE ], + [ 32, MoveId.NATURE_POWER ], + [ 36, MoveId.FREEZE_DRY ], + [ 40, MoveId.ICE_BEAM ], + [ 44, MoveId.LIGHT_SCREEN ], + [ 48, MoveId.HAIL ], + [ 52, MoveId.BLIZZARD ], + [ 56, MoveId.HYPER_BEAM ], + ], + [SpeciesId.AURORUS]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.ENCORE ], + [ 1, MoveId.ANCIENT_POWER ], + [ 12, MoveId.ICY_WIND ], + [ 16, MoveId.ROUND ], + [ 20, MoveId.MIST ], + [ 24, MoveId.AURORA_BEAM ], + [ 28, MoveId.THUNDER_WAVE ], + [ 32, MoveId.NATURE_POWER ], + [ 36, MoveId.FREEZE_DRY ], + [ 42, MoveId.ICE_BEAM ], + [ 48, MoveId.LIGHT_SCREEN ], + [ 54, MoveId.HAIL ], + [ 60, MoveId.BLIZZARD ], + [ 66, MoveId.HYPER_BEAM ], + ], + [SpeciesId.SYLVEON]: [ + [ EVOLVE_MOVE, MoveId.SPARKLY_SWIRL ], + [ RELEARN_MOVE, MoveId.VEEVEE_VOLLEY ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.DISARMING_VOICE ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.BABY_DOLL_EYES ], + [ 25, MoveId.SWIFT ], + [ 30, MoveId.LIGHT_SCREEN ], + [ 35, MoveId.DRAINING_KISS ], + [ 40, MoveId.MISTY_TERRAIN ], + [ 45, MoveId.SKILL_SWAP ], + [ 50, MoveId.PSYCH_UP ], + [ 55, MoveId.MOONBLAST ], + [ 60, MoveId.LAST_RESORT ], + ], + [SpeciesId.HAWLUCHA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HONE_CLAWS ], + [ 4, MoveId.WING_ATTACK ], + [ 8, MoveId.DETECT ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.ENCORE ], + [ 20, MoveId.FEATHER_DANCE ], + [ 24, MoveId.BRICK_BREAK ], + [ 28, MoveId.BOUNCE ], + [ 32, MoveId.TAUNT ], + [ 36, MoveId.ROOST ], + [ 40, MoveId.SWORDS_DANCE ], + [ 44, MoveId.FLYING_PRESS ], + [ 48, MoveId.HIGH_JUMP_KICK ], + [ 52, MoveId.ENDEAVOR ], + [ 56, MoveId.SKY_ATTACK ], + ], + [SpeciesId.DEDENNE]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.NUZZLE ], + [ 5, MoveId.TACKLE ], + [ 10, MoveId.CHARGE ], + [ 15, MoveId.THUNDER_SHOCK ], + [ 20, MoveId.CHARM ], + [ 25, MoveId.PARABOLIC_CHARGE ], + [ 30, MoveId.VOLT_SWITCH ], + [ 35, MoveId.REST ], + [ 35, MoveId.SNORE ], + [ 40, MoveId.DISCHARGE ], + [ 45, MoveId.PLAY_ROUGH ], + [ 50, MoveId.SUPER_FANG ], + [ 55, MoveId.ENTRAINMENT ], + [ 60, MoveId.THUNDER ], + ], + [SpeciesId.CARBINK]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.GUARD_SPLIT ], + [ 10, MoveId.SMACK_DOWN ], + [ 15, MoveId.FLAIL ], + [ 20, MoveId.ANCIENT_POWER ], + [ 25, MoveId.ROCK_POLISH ], + [ 30, MoveId.LIGHT_SCREEN ], + [ 35, MoveId.ROCK_SLIDE ], + [ 40, MoveId.SKILL_SWAP ], + [ 45, MoveId.POWER_GEM ], + [ 50, MoveId.STEALTH_ROCK ], + [ 55, MoveId.MOONBLAST ], + [ 60, MoveId.STONE_EDGE ], + ], + [SpeciesId.GOOMY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ABSORB ], + [ 5, MoveId.WATER_GUN ], + [ 10, MoveId.DRAGON_BREATH ], + [ 15, MoveId.PROTECT ], + [ 20, MoveId.FLAIL ], + [ 25, MoveId.WATER_PULSE ], + [ 30, MoveId.RAIN_DANCE ], + [ 35, MoveId.DRAGON_PULSE ], + [ 41, MoveId.CURSE ], + [ 45, MoveId.BODY_SLAM ], + [ 50, MoveId.MUDDY_WATER ], + ], + [SpeciesId.SLIGGOO]: [ + [ EVOLVE_MOVE, MoveId.ACID_SPRAY ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.ACID_ARMOR ], + [ 1, MoveId.DRAGON_BREATH ], + [ 15, MoveId.PROTECT ], + [ 20, MoveId.FLAIL ], + [ 25, MoveId.WATER_PULSE ], + [ 30, MoveId.RAIN_DANCE ], + [ 35, MoveId.DRAGON_PULSE ], + [ 43, MoveId.CURSE ], + [ 49, MoveId.BODY_SLAM ], + [ 56, MoveId.MUDDY_WATER ], + ], + [SpeciesId.GOODRA]: [ + [ EVOLVE_MOVE, MoveId.AQUA_TAIL ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.ACID_ARMOR ], // Previous Stage Move + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.POISON_TAIL ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.ACID_SPRAY ], + [ 1, MoveId.TEARFUL_LOOK ], + [ 15, MoveId.PROTECT ], + [ 20, MoveId.FLAIL ], + [ 25, MoveId.WATER_PULSE ], + [ 30, MoveId.RAIN_DANCE ], + [ 35, MoveId.DRAGON_PULSE ], // Previous Stage Move, NatDex / Hisui Goodra Level + [ 43, MoveId.CURSE ], + [ 49, MoveId.BODY_SLAM ], + [ 58, MoveId.MUDDY_WATER ], + [ 67, MoveId.POWER_WHIP ], + ], + [SpeciesId.KLEFKI]: [ + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.TACKLE ], + [ 8, MoveId.FAIRY_WIND ], + [ 12, MoveId.TORMENT ], + [ 16, MoveId.FAIRY_LOCK ], + [ 20, MoveId.METAL_SOUND ], + [ 24, MoveId.DRAINING_KISS ], + [ 28, MoveId.RECYCLE ], + [ 32, MoveId.IMPRISON ], + [ 36, MoveId.FLASH_CANNON ], + [ 40, MoveId.PLAY_ROUGH ], + [ 44, MoveId.MAGIC_ROOM ], + [ 48, MoveId.FOUL_PLAY ], + [ 50, MoveId.HEAL_BLOCK ], + [ 52, MoveId.LAST_RESORT ], + ], + [SpeciesId.PHANTUMP]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.BRANCH_POKE ], + [ 8, MoveId.LEECH_SEED ], + [ 12, MoveId.CONFUSE_RAY ], + [ 16, MoveId.WILL_O_WISP ], + [ 20, MoveId.HEX ], + [ 24, MoveId.GROWTH ], + [ 28, MoveId.HORN_LEECH ], + [ 32, MoveId.CURSE ], + [ 36, MoveId.PHANTOM_FORCE ], + [ 40, MoveId.INGRAIN ], + [ 44, MoveId.WOOD_HAMMER ], + [ 48, MoveId.DESTINY_BOND ], + [ 52, MoveId.FORESTS_CURSE ], + ], + [SpeciesId.TREVENANT]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_CLAW ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEECH_SEED ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.BRANCH_POKE ], + [ 12, MoveId.CONFUSE_RAY ], + [ 16, MoveId.WILL_O_WISP ], + [ 20, MoveId.HEX ], + [ 24, MoveId.GROWTH ], + [ 28, MoveId.HORN_LEECH ], + [ 32, MoveId.CURSE ], + [ 36, MoveId.PHANTOM_FORCE ], + [ 40, MoveId.INGRAIN ], + [ 44, MoveId.WOOD_HAMMER ], + [ 48, MoveId.DESTINY_BOND ], + [ 52, MoveId.FORESTS_CURSE ], + ], + [SpeciesId.PUMPKABOO]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.TRICK_OR_TREAT ], + [ 1, MoveId.LEAFAGE ], // Custom + [ 4, MoveId.SHADOW_SNEAK ], + [ 8, MoveId.CONFUSE_RAY ], + [ 12, MoveId.RAZOR_LEAF ], + [ 16, MoveId.LEECH_SEED ], + [ 20, MoveId.BULLET_SEED ], + [ 24, MoveId.SCARY_FACE ], + [ 28, MoveId.WORRY_SEED ], + [ 32, MoveId.SEED_BOMB ], + [ 36, MoveId.SHADOW_BALL ], + [ 40, MoveId.TRICK ], + [ 44, MoveId.PAIN_SPLIT ], + ], + [SpeciesId.GOURGEIST]: [ + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.EXPLOSION ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.LEAFAGE ], // Previous Stage Move, Custom + [ 1, MoveId.SHADOW_SNEAK ], + [ 1, MoveId.TRICK_OR_TREAT ], + [ 1, MoveId.MOONBLAST ], + [ 12, MoveId.RAZOR_LEAF ], + [ 16, MoveId.LEECH_SEED ], + [ 20, MoveId.BULLET_SEED ], + [ 24, MoveId.SCARY_FACE ], + [ 28, MoveId.WORRY_SEED ], + [ 32, MoveId.SEED_BOMB ], + [ 36, MoveId.SHADOW_BALL ], + [ 40, MoveId.TRICK ], + [ 44, MoveId.PAIN_SPLIT ], + [ 48, MoveId.PHANTOM_FORCE ], + ], + [SpeciesId.BERGMITE]: [ + [ 1, MoveId.HARDEN ], + [ 1, MoveId.RAPID_SPIN ], + [ 3, MoveId.TACKLE ], + [ 6, MoveId.POWDER_SNOW ], + [ 9, MoveId.CURSE ], + [ 12, MoveId.ICY_WIND ], + [ 15, MoveId.PROTECT ], + [ 18, MoveId.AVALANCHE ], + [ 21, MoveId.BITE ], + [ 24, MoveId.ICE_FANG ], + [ 27, MoveId.IRON_DEFENSE ], + [ 30, MoveId.RECOVER ], + [ 33, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 39, MoveId.BLIZZARD ], + [ 42, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.AVALUGG]: [ + [ EVOLVE_MOVE, MoveId.BODY_SLAM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.WIDE_GUARD ], + [ 9, MoveId.CURSE ], + [ 12, MoveId.ICY_WIND ], + [ 15, MoveId.PROTECT ], + [ 18, MoveId.AVALANCHE ], + [ 21, MoveId.BITE ], + [ 24, MoveId.ICE_FANG ], + [ 27, MoveId.IRON_DEFENSE ], + [ 30, MoveId.RECOVER ], + [ 33, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 41, MoveId.BLIZZARD ], + [ 46, MoveId.DOUBLE_EDGE ], + [ 51, MoveId.ICICLE_CRASH ], + ], + [SpeciesId.NOIBAT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ABSORB ], + [ 4, MoveId.GUST ], + [ 8, MoveId.SUPERSONIC ], + [ 12, MoveId.DOUBLE_TEAM ], + [ 16, MoveId.WING_ATTACK ], + [ 20, MoveId.BITE ], + [ 24, MoveId.AIR_CUTTER ], + [ 28, MoveId.WHIRLWIND ], + [ 32, MoveId.SUPER_FANG ], + [ 36, MoveId.AIR_SLASH ], + [ 40, MoveId.SCREECH ], + [ 44, MoveId.ROOST ], + [ 49, MoveId.TAILWIND ], + [ 52, MoveId.HURRICANE ], + ], + [SpeciesId.NOIVERN]: [ + [ EVOLVE_MOVE, MoveId.DRAGON_PULSE ], + [ 1, MoveId.GUST ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.MOONLIGHT ], + [ 12, MoveId.DOUBLE_TEAM ], + [ 16, MoveId.WING_ATTACK ], + [ 20, MoveId.BITE ], + [ 24, MoveId.AIR_CUTTER ], + [ 28, MoveId.WHIRLWIND ], + [ 32, MoveId.SUPER_FANG ], + [ 36, MoveId.AIR_SLASH ], + [ 40, MoveId.SCREECH ], + [ 44, MoveId.ROOST ], + [ 51, MoveId.TAILWIND ], + [ 56, MoveId.HURRICANE ], + [ 62, MoveId.BOOMBURST ], + ], + [SpeciesId.XERNEAS]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GRAVITY ], + [ 5, MoveId.LIGHT_SCREEN ], + [ 10, MoveId.AURORA_BEAM ], + [ 15, MoveId.NATURE_POWER ], + [ 20, MoveId.NIGHT_SLASH ], + [ 25, MoveId.AROMATHERAPY ], + [ 30, MoveId.PSYCH_UP ], + [ 35, MoveId.HORN_LEECH ], + [ 40, MoveId.MISTY_TERRAIN ], + [ 45, MoveId.INGRAIN ], + [ 50, MoveId.TAKE_DOWN ], + [ 55, MoveId.GEOMANCY ], + [ 60, MoveId.MOONBLAST ], + [ 65, MoveId.HEAL_PULSE ], + [ 70, MoveId.MEGAHORN ], + [ 75, MoveId.CLOSE_COMBAT ], + [ 80, MoveId.OUTRAGE ], + [ 85, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.YVELTAL]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.RAZOR_WIND ], + [ 5, MoveId.TAUNT ], + [ 10, MoveId.SNARL ], + [ 15, MoveId.DISABLE ], + [ 20, MoveId.SUCKER_PUNCH ], + [ 25, MoveId.TAILWIND ], + [ 30, MoveId.ROOST ], + [ 35, MoveId.AIR_SLASH ], + [ 40, MoveId.DARK_PULSE ], + [ 45, MoveId.PSYCHIC ], + [ 50, MoveId.OBLIVION_WING ], + [ 55, MoveId.PHANTOM_FORCE ], + [ 60, MoveId.FOUL_PLAY ], + [ 65, MoveId.DRAGON_RUSH ], + [ 70, MoveId.HURRICANE ], + [ 75, MoveId.FOCUS_BLAST ], + [ 80, MoveId.SKY_ATTACK ], + [ 85, MoveId.HYPER_BEAM ], + ], + [SpeciesId.ZYGARDE]: [ + [ 1, MoveId.BIND ], + [ 1, MoveId.BITE ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.BULLDOZE ], + [ 1, MoveId.THOUSAND_ARROWS ], + [ 1, MoveId.THOUSAND_WAVES ], + [ 1, MoveId.CORE_ENFORCER ], + [ 8, MoveId.HAZE ], + [ 16, MoveId.DIG ], + [ 24, MoveId.SAFEGUARD ], + [ 32, MoveId.CRUNCH ], + [ 40, MoveId.DRAGON_PULSE ], + [ 48, MoveId.LANDS_WRATH ], + [ 56, MoveId.GLARE ], + [ 64, MoveId.SANDSTORM ], + [ 72, MoveId.COIL ], + [ 80, MoveId.EARTHQUAKE ], + [ 88, MoveId.OUTRAGE ], + ], + [SpeciesId.DIANCIE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.DIAMOND_STORM ], + [ 7, MoveId.GUARD_SPLIT ], + [ 14, MoveId.SMACK_DOWN ], + [ 21, MoveId.FLAIL ], + [ 28, MoveId.ANCIENT_POWER ], + [ 35, MoveId.ROCK_POLISH ], + [ 42, MoveId.LIGHT_SCREEN ], + [ 49, MoveId.ROCK_SLIDE ], + [ 56, MoveId.SKILL_SWAP ], + [ 63, MoveId.POWER_GEM ], + [ 70, MoveId.STEALTH_ROCK ], + [ 77, MoveId.MOONBLAST ], + [ 84, MoveId.STONE_EDGE ], + ], + [SpeciesId.HOOPA]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.DESTINY_BOND ], + [ 1, MoveId.ALLY_SWITCH ], + [ 6, MoveId.ASTONISH ], + [ 10, MoveId.TRICK ], + [ 15, MoveId.LIGHT_SCREEN ], + [ 19, MoveId.PSYBEAM ], + [ 25, MoveId.SKILL_SWAP ], + [ 29, MoveId.GUARD_SPLIT ], + [ 29, MoveId.POWER_SPLIT ], + [ 35, MoveId.PHANTOM_FORCE ], + [ 46, MoveId.ZEN_HEADBUTT ], + [ 50, MoveId.TRICK_ROOM ], + [ 50, MoveId.WONDER_ROOM ], + [ 55, MoveId.SHADOW_BALL ], + [ 68, MoveId.NASTY_PLOT ], + [ 75, MoveId.PSYCHIC ], + [ 85, MoveId.HYPERSPACE_HOLE ], + ], + [SpeciesId.VOLCANION]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.FIRE_SPIN ], + [ 1, MoveId.STEAM_ERUPTION ], + [ 6, MoveId.LEER ], + [ 12, MoveId.WEATHER_BALL ], + [ 18, MoveId.FLAME_CHARGE ], + [ 24, MoveId.WATER_PULSE ], + [ 30, MoveId.SCARY_FACE ], + [ 36, MoveId.INCINERATE ], + [ 42, MoveId.STOMP ], + [ 48, MoveId.SCALD ], + [ 54, MoveId.TAKE_DOWN ], + [ 60, MoveId.MIST ], + [ 60, MoveId.HAZE ], + [ 66, MoveId.HYDRO_PUMP ], + [ 78, MoveId.FLARE_BLITZ ], + [ 84, MoveId.OVERHEAT ], + [ 90, MoveId.EXPLOSION ], + ], + [SpeciesId.ROWLET]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.LEAFAGE ], + [ 6, MoveId.ASTONISH ], + [ 9, MoveId.PECK ], + [ 12, MoveId.SHADOW_SNEAK ], + [ 15, MoveId.RAZOR_LEAF ], + [ 18, MoveId.SYNTHESIS ], + [ 21, MoveId.PLUCK ], + [ 24, MoveId.NASTY_PLOT ], + [ 27, MoveId.SUCKER_PUNCH ], + [ 30, MoveId.LEAF_BLADE ], + [ 33, MoveId.FEATHER_DANCE ], + [ 36, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.DARTRIX]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.LEAFAGE ], + [ 9, MoveId.PECK ], + [ 12, MoveId.SHADOW_SNEAK ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.SYNTHESIS ], + [ 25, MoveId.PLUCK ], + [ 30, MoveId.NASTY_PLOT ], + [ 35, MoveId.SUCKER_PUNCH ], + [ 40, MoveId.LEAF_BLADE ], + [ 45, MoveId.FEATHER_DANCE ], + [ 50, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.DECIDUEYE]: [ + [ EVOLVE_MOVE, MoveId.SPIRIT_SHACKLE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.SPITE ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.U_TURN ], + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.PHANTOM_FORCE ], + [ 1, MoveId.LEAFAGE ], + [ 9, MoveId.PECK ], + [ 12, MoveId.SHADOW_SNEAK ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.SYNTHESIS ], + [ 25, MoveId.PLUCK ], + [ 30, MoveId.NASTY_PLOT ], + [ 37, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.LEAF_BLADE ], + [ 51, MoveId.FEATHER_DANCE ], + [ 58, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.LITTEN]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.EMBER ], + [ 6, MoveId.LICK ], + [ 9, MoveId.ROAR ], + [ 12, MoveId.FURY_SWIPES ], + [ 15, MoveId.BITE ], + [ 18, MoveId.DOUBLE_KICK ], + [ 21, MoveId.FIRE_FANG ], + [ 24, MoveId.SCARY_FACE ], + [ 27, MoveId.SWAGGER ], + [ 30, MoveId.FLAMETHROWER ], + [ 33, MoveId.THRASH ], + [ 36, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.TORRACAT]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.LICK ], + [ 9, MoveId.ROAR ], + [ 12, MoveId.FURY_SWIPES ], + [ 15, MoveId.BITE ], + [ 20, MoveId.DOUBLE_KICK ], + [ 25, MoveId.FIRE_FANG ], + [ 30, MoveId.SCARY_FACE ], + [ 35, MoveId.SWAGGER ], + [ 40, MoveId.FLAMETHROWER ], + [ 45, MoveId.THRASH ], + [ 50, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.INCINEROAR]: [ + [ EVOLVE_MOVE, MoveId.DARKEST_LARIAT ], + [ RELEARN_MOVE, MoveId.SCRATCH ], + [ RELEARN_MOVE, MoveId.GROWL ], + [ RELEARN_MOVE, MoveId.THROAT_CHOP ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.LICK ], + [ 1, MoveId.CROSS_CHOP ], + [ 1, MoveId.BULK_UP ], + [ 9, MoveId.ROAR ], + [ 12, MoveId.FURY_SWIPES ], + [ 15, MoveId.BITE ], + [ 20, MoveId.DOUBLE_KICK ], + [ 25, MoveId.FIRE_FANG ], + [ 30, MoveId.SCARY_FACE ], + [ 32, MoveId.SWAGGER ], + [ 44, MoveId.FLAMETHROWER ], + [ 51, MoveId.THRASH ], + [ 58, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.POPPLIO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.WATER_GUN ], + [ 6, MoveId.DISARMING_VOICE ], + [ 9, MoveId.AQUA_JET ], + [ 12, MoveId.BABY_DOLL_EYES ], + [ 15, MoveId.ICY_WIND ], + [ 18, MoveId.SING ], + [ 21, MoveId.BUBBLE_BEAM ], + [ 24, MoveId.ENCORE ], + [ 27, MoveId.MISTY_TERRAIN ], + [ 30, MoveId.HYPER_VOICE ], + [ 33, MoveId.MOONBLAST ], + [ 36, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.BRIONNE]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DISARMING_VOICE ], + [ 9, MoveId.AQUA_JET ], + [ 12, MoveId.BABY_DOLL_EYES ], + [ 15, MoveId.ICY_WIND ], + [ 20, MoveId.SING ], + [ 25, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.ENCORE ], + [ 35, MoveId.MISTY_TERRAIN ], + [ 40, MoveId.HYPER_VOICE ], + [ 45, MoveId.MOONBLAST ], + [ 50, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.PRIMARINA]: [ + [ EVOLVE_MOVE, MoveId.SPARKLING_ARIA ], + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DISARMING_VOICE ], + [ 9, MoveId.AQUA_JET ], + [ 12, MoveId.BABY_DOLL_EYES ], + [ 15, MoveId.ICY_WIND ], + [ 20, MoveId.SING ], + [ 25, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.ENCORE ], + [ 37, MoveId.MISTY_TERRAIN ], + [ 44, MoveId.HYPER_VOICE ], + [ 51, MoveId.MOONBLAST ], + [ 58, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.PIKIPEK]: [ + [ 1, MoveId.PECK ], + [ 3, MoveId.GROWL ], + [ 7, MoveId.ECHOED_VOICE ], + [ 9, MoveId.ROCK_SMASH ], + [ 13, MoveId.SUPERSONIC ], + [ 15, MoveId.PLUCK ], + [ 19, MoveId.ROOST ], + [ 21, MoveId.FURY_ATTACK ], + [ 25, MoveId.SCREECH ], + [ 27, MoveId.DRILL_PECK ], + [ 31, MoveId.BULLET_SEED ], + [ 33, MoveId.FEATHER_DANCE ], + [ 37, MoveId.HYPER_VOICE ], + ], + [SpeciesId.TRUMBEAK]: [ + [ RELEARN_MOVE, MoveId.ECHOED_VOICE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.ROCK_BLAST ], + [ 13, MoveId.SUPERSONIC ], + [ 16, MoveId.PLUCK ], + [ 21, MoveId.ROOST ], + [ 24, MoveId.FURY_ATTACK ], + [ 29, MoveId.SCREECH ], + [ 32, MoveId.DRILL_PECK ], + [ 37, MoveId.BULLET_SEED ], + [ 40, MoveId.FEATHER_DANCE ], + [ 45, MoveId.HYPER_VOICE ], + ], + [SpeciesId.TOUCANNON]: [ + [ EVOLVE_MOVE, MoveId.BEAK_BLAST ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.ROCK_BLAST ], + [ 1, MoveId.ECHOED_VOICE ], + [ 13, MoveId.SUPERSONIC ], + [ 16, MoveId.PLUCK ], + [ 21, MoveId.ROOST ], + [ 24, MoveId.FURY_ATTACK ], + [ 30, MoveId.SCREECH ], + [ 34, MoveId.DRILL_PECK ], + [ 40, MoveId.BULLET_SEED ], + [ 44, MoveId.FEATHER_DANCE ], + [ 50, MoveId.HYPER_VOICE ], + ], + [SpeciesId.YUNGOOS]: [ + [ 1, MoveId.TACKLE ], + [ 3, MoveId.LEER ], + [ 7, MoveId.PAYBACK ], + [ 10, MoveId.SAND_ATTACK ], + [ 13, MoveId.WORK_UP ], + [ 19, MoveId.BITE ], + [ 22, MoveId.MUD_SLAP ], + [ 25, MoveId.SUPER_FANG ], + [ 28, MoveId.TAKE_DOWN ], + [ 31, MoveId.SCARY_FACE ], + [ 34, MoveId.CRUNCH ], + [ 37, MoveId.YAWN ], + [ 40, MoveId.THRASH ], + [ 43, MoveId.REST ], + ], + [SpeciesId.GUMSHOOS]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PAYBACK ], + [ 1, MoveId.PURSUIT ], + [ 13, MoveId.WORK_UP ], + [ 19, MoveId.BITE ], + [ 23, MoveId.MUD_SLAP ], + [ 27, MoveId.SUPER_FANG ], + [ 31, MoveId.TAKE_DOWN ], + [ 35, MoveId.SCARY_FACE ], + [ 39, MoveId.CRUNCH ], + [ 43, MoveId.YAWN ], + [ 47, MoveId.THRASH ], + [ 52, MoveId.REST ], + ], + [SpeciesId.GRUBBIN]: [ + [ 1, MoveId.VISE_GRIP ], + [ 1, MoveId.MUD_SLAP ], + [ 5, MoveId.STRING_SHOT ], + [ 10, MoveId.BUG_BITE ], + [ 15, MoveId.BITE ], + [ 21, MoveId.SPARK ], + [ 25, MoveId.STICKY_WEB ], + [ 30, MoveId.X_SCISSOR ], + [ 35, MoveId.CRUNCH ], + [ 40, MoveId.DIG ], + ], + [SpeciesId.CHARJABUG]: [ + [ EVOLVE_MOVE, MoveId.CHARGE ], + [ 1, MoveId.VISE_GRIP ], + [ 1, MoveId.STRING_SHOT ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.BUG_BITE ], + [ 15, MoveId.BITE ], + [ 23, MoveId.SPARK ], + [ 29, MoveId.STICKY_WEB ], + [ 36, MoveId.X_SCISSOR ], + [ 43, MoveId.CRUNCH ], + [ 50, MoveId.DIG ], + [ 57, MoveId.IRON_DEFENSE ], + [ 64, MoveId.DISCHARGE ], + ], + [SpeciesId.VIKAVOLT]: [ + [ EVOLVE_MOVE, MoveId.THUNDERBOLT ], + [ RELEARN_MOVE, MoveId.VISE_GRIP ], + [ RELEARN_MOVE, MoveId.DIG ], + [ RELEARN_MOVE, MoveId.MUD_SLAP ], + [ RELEARN_MOVE, MoveId.IRON_DEFENSE ], + [ RELEARN_MOVE, MoveId.X_SCISSOR ], + [ RELEARN_MOVE, MoveId.BUG_BITE ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.DISCHARGE ], + [ 1, MoveId.STRING_SHOT ], + [ 15, MoveId.BITE ], + [ 23, MoveId.SPARK ], + [ 29, MoveId.STICKY_WEB ], + [ 36, MoveId.BUG_BUZZ ], + [ 43, MoveId.GUILLOTINE ], + [ 50, MoveId.FLY ], + [ 57, MoveId.AGILITY ], + [ 64, MoveId.ZAP_CANNON ], + ], + [SpeciesId.CRABRAWLER]: [ + [ 1, MoveId.BUBBLE ], + [ 1, MoveId.VISE_GRIP ], + [ 5, MoveId.ROCK_SMASH ], + [ 9, MoveId.LEER ], + [ 13, MoveId.BUBBLE_BEAM ], + [ 17, MoveId.PROTECT ], + [ 22, MoveId.BRICK_BREAK ], + [ 25, MoveId.SLAM ], + [ 29, MoveId.PAYBACK ], + [ 33, MoveId.REVERSAL ], + [ 37, MoveId.CRABHAMMER ], + [ 42, MoveId.IRON_DEFENSE ], + [ 45, MoveId.DYNAMIC_PUNCH ], + [ 49, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.CRABOMINABLE]: [ + [ EVOLVE_MOVE, MoveId.ICE_PUNCH ], + [ RELEARN_MOVE, MoveId.CRABHAMMER ], // Previous Stage Move + [ 1, MoveId.VISE_GRIP ], // Previous Stage Move + [ 1, MoveId.LEER ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.BUBBLE ], + [ 1, MoveId.PURSUIT ], + [ 1, MoveId.PAYBACK ], // Previous Stage Move + [ 17, MoveId.BUBBLE_BEAM ], + [ 22, MoveId.BRICK_BREAK ], + [ 25, MoveId.SLAM ], + [ 29, MoveId.AVALANCHE ], + [ 33, MoveId.REVERSAL ], + [ 37, MoveId.ICE_HAMMER ], + [ 42, MoveId.IRON_DEFENSE ], + [ 45, MoveId.DYNAMIC_PUNCH ], + [ 49, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.ORICORIO]: [ + [ 1, MoveId.POUND ], + [ 4, MoveId.GROWL ], + [ 6, MoveId.PECK ], + [ 10, MoveId.HELPING_HAND ], + [ 13, MoveId.AIR_CUTTER ], + [ 16, MoveId.BATON_PASS ], + [ 20, MoveId.FEATHER_DANCE ], + [ 23, MoveId.ACROBATICS ], + [ 26, MoveId.TEETER_DANCE ], + [ 30, MoveId.ROOST ], + [ 33, MoveId.FLATTER ], + [ 36, MoveId.AIR_SLASH ], + [ 40, MoveId.REVELATION_DANCE ], + [ 43, MoveId.AGILITY ], + [ 47, MoveId.HURRICANE ], + ], + [SpeciesId.CUTIEFLY]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.FAIRY_WIND ], + [ 6, MoveId.STUN_SPORE ], + [ 12, MoveId.SWEET_SCENT ], + [ 18, MoveId.DRAINING_KISS ], + [ 24, MoveId.STRUGGLE_BUG ], + [ 30, MoveId.COVET ], + [ 36, MoveId.SWITCHEROO ], + [ 42, MoveId.DAZZLING_GLEAM ], + [ 48, MoveId.BUG_BUZZ ], + [ 54, MoveId.QUIVER_DANCE ], + ], + [SpeciesId.RIBOMBEE]: [ + [ EVOLVE_MOVE, MoveId.POLLEN_PUFF ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.FAIRY_WIND ], + [ 18, MoveId.DRAINING_KISS ], + [ 24, MoveId.STRUGGLE_BUG ], + [ 32, MoveId.COVET ], + [ 40, MoveId.SWITCHEROO ], + [ 48, MoveId.DAZZLING_GLEAM ], + [ 56, MoveId.BUG_BUZZ ], + [ 64, MoveId.QUIVER_DANCE ], + ], + [SpeciesId.ROCKRUFF]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 4, MoveId.SAND_ATTACK ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ROCK_THROW ], + [ 16, MoveId.HOWL ], + [ 20, MoveId.BITE ], + [ 24, MoveId.ROCK_TOMB ], + [ 28, MoveId.ROAR ], + [ 32, MoveId.ROCK_SLIDE ], + [ 36, MoveId.CRUNCH ], + [ 40, MoveId.SCARY_FACE ], + [ 44, MoveId.STEALTH_ROCK ], + [ 48, MoveId.STONE_EDGE ], + ], + [SpeciesId.LYCANROC]: [ + [ EVOLVE_MOVE, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.QUICK_GUARD ], + [ 1, MoveId.ACCELEROCK ], + [ 12, MoveId.ROCK_THROW ], + [ 16, MoveId.HOWL ], + [ 20, MoveId.BITE ], + [ 24, MoveId.ROCK_TOMB ], + [ 30, MoveId.ROAR ], + [ 36, MoveId.ROCK_SLIDE ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.SCARY_FACE ], + [ 54, MoveId.STEALTH_ROCK ], + [ 60, MoveId.STONE_EDGE ], + ], + [SpeciesId.WISHIWASHI]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.HELPING_HAND ], + [ 8, MoveId.BEAT_UP ], + [ 12, MoveId.BRINE ], + [ 16, MoveId.TEARFUL_LOOK ], + [ 20, MoveId.DIVE ], + [ 24, MoveId.SOAK ], + [ 28, MoveId.UPROAR ], + [ 32, MoveId.AQUA_TAIL ], + [ 36, MoveId.AQUA_RING ], + [ 40, MoveId.ENDEAVOR ], + [ 44, MoveId.HYDRO_PUMP ], + [ 48, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.MAREANIE]: [ + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.PECK ], + [ 5, MoveId.WIDE_GUARD ], + [ 10, MoveId.BITE ], + [ 15, MoveId.VENOSHOCK ], + [ 20, MoveId.RECOVER ], + [ 25, MoveId.PIN_MISSILE ], + [ 30, MoveId.TOXIC_SPIKES ], + [ 35, MoveId.LIQUIDATION ], + [ 40, MoveId.ACID_SPRAY ], + [ 45, MoveId.POISON_JAB ], + [ 50, MoveId.TOXIC ], + ], + [SpeciesId.TOXAPEX]: [ + [ EVOLVE_MOVE, MoveId.BANEFUL_BUNKER ], + [ 1, MoveId.POISON_STING ], + [ 1, MoveId.BITE ], + [ 1, MoveId.PECK ], + [ 1, MoveId.WIDE_GUARD ], + [ 15, MoveId.VENOSHOCK ], + [ 20, MoveId.RECOVER ], + [ 25, MoveId.PIN_MISSILE ], + [ 30, MoveId.TOXIC_SPIKES ], + [ 35, MoveId.LIQUIDATION ], + [ 42, MoveId.ACID_SPRAY ], + [ 49, MoveId.POISON_JAB ], + [ 56, MoveId.TOXIC ], + ], + [SpeciesId.MUDBRAY]: [ + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.ROCK_SMASH ], + [ 4, MoveId.IRON_DEFENSE ], + [ 8, MoveId.DOUBLE_KICK ], + [ 12, MoveId.BULLDOZE ], + [ 16, MoveId.STOMP ], + [ 20, MoveId.STRENGTH ], + [ 24, MoveId.COUNTER ], + [ 28, MoveId.HIGH_HORSEPOWER ], + [ 32, MoveId.HEAVY_SLAM ], + [ 36, MoveId.EARTHQUAKE ], + [ 40, MoveId.MEGA_KICK ], + [ 44, MoveId.SUPERPOWER ], + ], + [SpeciesId.MUDSDALE]: [ + [ 1, MoveId.DOUBLE_KICK ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.IRON_DEFENSE ], + [ 12, MoveId.BULLDOZE ], + [ 16, MoveId.STOMP ], + [ 20, MoveId.STRENGTH ], + [ 24, MoveId.COUNTER ], + [ 28, MoveId.HIGH_HORSEPOWER ], + [ 34, MoveId.HEAVY_SLAM ], + [ 40, MoveId.EARTHQUAKE ], + [ 46, MoveId.MEGA_KICK ], + [ 52, MoveId.SUPERPOWER ], + ], + [SpeciesId.DEWPIDER]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.INFESTATION ], + [ 1, MoveId.WATER_SPORT ], + [ 4, MoveId.BUG_BITE ], + [ 8, MoveId.BITE ], + [ 12, MoveId.BUBBLE_BEAM ], + [ 16, MoveId.AQUA_RING ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.CRUNCH ], + [ 28, MoveId.SOAK ], + [ 32, MoveId.ENTRAINMENT ], + [ 36, MoveId.LUNGE ], + [ 40, MoveId.LIQUIDATION ], + [ 44, MoveId.LEECH_LIFE ], + [ 48, MoveId.MIRROR_COAT ], + ], + [SpeciesId.ARAQUANID]: [ + [ 1, MoveId.BITE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.WIDE_GUARD ], + [ 1, MoveId.INFESTATION ], + [ 1, MoveId.WATER_SPORT ], // Previous Stage Move + [ 1, MoveId.SPIDER_WEB ], + [ 12, MoveId.BUBBLE_BEAM ], + [ 16, MoveId.AQUA_RING ], + [ 20, MoveId.HEADBUTT ], + [ 26, MoveId.CRUNCH ], + [ 32, MoveId.SOAK ], + [ 38, MoveId.ENTRAINMENT ], + [ 44, MoveId.LUNGE ], + [ 50, MoveId.LIQUIDATION ], + [ 56, MoveId.LEECH_LIFE ], + [ 62, MoveId.MIRROR_COAT ], + ], + [SpeciesId.FOMANTIS]: [ + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.LEAFAGE ], + [ 5, MoveId.GROWTH ], + [ 10, MoveId.INGRAIN ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.SWEET_SCENT ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.X_SCISSOR ], + [ 35, MoveId.SYNTHESIS ], + [ 40, MoveId.LEAF_BLADE ], + [ 45, MoveId.SUNNY_DAY ], + [ 50, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.LURANTIS]: [ + [ EVOLVE_MOVE, MoveId.PETAL_BLIZZARD ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.SOLAR_BEAM ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.INGRAIN ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.LEAFAGE ], + [ 1, MoveId.DUAL_CHOP ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.SWEET_SCENT ], + [ 25, MoveId.SLASH ], + [ 30, MoveId.X_SCISSOR ], + [ 37, MoveId.SYNTHESIS ], + [ 44, MoveId.LEAF_BLADE ], + [ 51, MoveId.SUNNY_DAY ], + [ 63, MoveId.SOLAR_BLADE ], + ], + [SpeciesId.MORELULL]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.CONFUSE_RAY ], + [ 8, MoveId.INGRAIN ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.SLEEP_POWDER ], + [ 20, MoveId.MOONLIGHT ], + [ 25, MoveId.STRENGTH_SAP ], + [ 28, MoveId.GIGA_DRAIN ], + [ 32, MoveId.DAZZLING_GLEAM ], + [ 36, MoveId.SPORE ], + [ 40, MoveId.MOONBLAST ], + [ 44, MoveId.DREAM_EATER ], + ], + [SpeciesId.SHIINOTIC]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.INGRAIN ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.FLASH ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.SLEEP_POWDER ], + [ 20, MoveId.MOONLIGHT ], + [ 27, MoveId.STRENGTH_SAP ], + [ 32, MoveId.GIGA_DRAIN ], + [ 38, MoveId.DAZZLING_GLEAM ], + [ 44, MoveId.SPORE ], + [ 50, MoveId.MOONBLAST ], + [ 56, MoveId.DREAM_EATER ], + ], + [SpeciesId.SALANDIT]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.POISON_GAS ], + [ 5, MoveId.SMOG ], + [ 10, MoveId.EMBER ], + [ 15, MoveId.POISON_FANG ], + [ 20, MoveId.SWEET_SCENT ], + [ 25, MoveId.NASTY_PLOT ], + [ 30, MoveId.INCINERATE ], + [ 35, MoveId.VENOSHOCK ], + [ 40, MoveId.DRAGON_PULSE ], + [ 45, MoveId.FLAMETHROWER ], + [ 50, MoveId.TOXIC ], + [ 55, MoveId.ENDEAVOR ], + ], + [SpeciesId.SALAZZLE]: [ + [ EVOLVE_MOVE, MoveId.FIRE_LASH ], + [ 1, MoveId.POUND ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.SWAGGER ], + [ 1, MoveId.ENCORE ], + [ 1, MoveId.TORMENT ], + [ 1, MoveId.KNOCK_OFF ], + [ 1, MoveId.ENDEAVOR ], + [ 1, MoveId.CAPTIVATE ], + [ 15, MoveId.POISON_FANG ], + [ 20, MoveId.SWEET_SCENT ], + [ 25, MoveId.NASTY_PLOT ], + [ 30, MoveId.INCINERATE ], + [ 37, MoveId.VENOSHOCK ], + [ 44, MoveId.DRAGON_PULSE ], + [ 51, MoveId.FLAMETHROWER ], + [ 58, MoveId.TOXIC ], + ], + [SpeciesId.STUFFUL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 4, MoveId.BABY_DOLL_EYES ], + [ 8, MoveId.PAYBACK ], + [ 12, MoveId.BRUTAL_SWING ], + [ 16, MoveId.ENDURE ], + [ 20, MoveId.STRENGTH ], + [ 24, MoveId.TAKE_DOWN ], + [ 28, MoveId.FLAIL ], + [ 32, MoveId.HAMMER_ARM ], + [ 36, MoveId.THRASH ], + [ 40, MoveId.PAIN_SPLIT ], + [ 44, MoveId.DOUBLE_EDGE ], + [ 48, MoveId.SUPERPOWER ], + ], + [SpeciesId.BEWEAR]: [ + [ EVOLVE_MOVE, MoveId.BIND ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PAYBACK ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 12, MoveId.BRUTAL_SWING ], + [ 16, MoveId.ENDURE ], + [ 20, MoveId.STRENGTH ], + [ 24, MoveId.TAKE_DOWN ], + [ 30, MoveId.FLAIL ], + [ 36, MoveId.HAMMER_ARM ], + [ 42, MoveId.THRASH ], + [ 48, MoveId.PAIN_SPLIT ], + [ 54, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.SUPERPOWER ], + ], + [SpeciesId.BOUNSWEET]: [ + [ 1, MoveId.SPLASH ], + [ 1, MoveId.LEAFAGE ], // Custom + [ 4, MoveId.PLAY_NICE ], + [ 8, MoveId.RAPID_SPIN ], + [ 12, MoveId.RAZOR_LEAF ], + [ 16, MoveId.SWEET_SCENT ], + [ 20, MoveId.MAGICAL_LEAF ], + [ 24, MoveId.FLAIL ], + [ 28, MoveId.TEETER_DANCE ], + [ 32, MoveId.AROMATIC_MIST ], + ], + [SpeciesId.STEENEE]: [ + [ 1, MoveId.LEAFAGE ], // Previous Stage Move, Custom + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.PLAY_NICE ], + [ 16, MoveId.SWEET_SCENT ], + [ 22, MoveId.MAGICAL_LEAF ], + [ 28, MoveId.STOMP ], + [ 34, MoveId.TEETER_DANCE ], + [ 40, MoveId.AROMATIC_MIST ], + [ 46, MoveId.LEAF_STORM ], + ], + [SpeciesId.TSAREENA]: [ + [ EVOLVE_MOVE, MoveId.TROP_KICK ], + [ 1, MoveId.LEAFAGE ], // Previous Stage Move, Custom + [ 1, MoveId.RAZOR_LEAF ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.SWAGGER ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.POWER_WHIP ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.PUNISHMENT ], + [ 16, MoveId.SWEET_SCENT ], + [ 22, MoveId.MAGICAL_LEAF ], + [ 28, MoveId.STOMP ], + [ 34, MoveId.TEETER_DANCE ], + [ 40, MoveId.AROMATIC_MIST ], + [ 46, MoveId.LEAF_STORM ], + [ 58, MoveId.HIGH_JUMP_KICK ], + ], + [SpeciesId.COMFEY]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.GROWTH ], + [ 3, MoveId.VINE_WHIP ], + [ 6, MoveId.HELPING_HAND ], + [ 9, MoveId.DRAINING_KISS ], + [ 12, MoveId.FLOWER_SHIELD ], + [ 15, MoveId.MAGICAL_LEAF ], + [ 18, MoveId.SYNTHESIS ], + [ 21, MoveId.LEECH_SEED ], + [ 24, MoveId.GRASS_KNOT ], + [ 27, MoveId.SWEET_KISS ], + [ 30, MoveId.FLORAL_HEALING ], + [ 33, MoveId.PETAL_BLIZZARD ], + [ 36, MoveId.AROMATHERAPY ], + [ 39, MoveId.PLAY_ROUGH ], + [ 42, MoveId.SWEET_SCENT ], + [ 45, MoveId.PETAL_DANCE ], + [ 48, MoveId.GRASSY_TERRAIN ], + ], + [SpeciesId.ORANGURU]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.TAUNT ], + [ 5, MoveId.AFTER_YOU ], + [ 10, MoveId.CALM_MIND ], + [ 15, MoveId.STORED_POWER ], + [ 20, MoveId.PSYCH_UP ], + [ 25, MoveId.QUASH ], + [ 30, MoveId.NASTY_PLOT ], + [ 35, MoveId.ZEN_HEADBUTT ], + [ 40, MoveId.TRICK_ROOM ], + [ 45, MoveId.PSYCHIC ], + [ 50, MoveId.INSTRUCT ], + [ 55, MoveId.FOUL_PLAY ], + [ 60, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.PASSIMIAN]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 5, MoveId.ROCK_SMASH ], + [ 10, MoveId.FOCUS_ENERGY ], + [ 15, MoveId.BEAT_UP ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.TAKE_DOWN ], + [ 30, MoveId.FLING ], + [ 35, MoveId.BULK_UP ], + [ 40, MoveId.THRASH ], + [ 45, MoveId.DOUBLE_EDGE ], + [ 50, MoveId.CLOSE_COMBAT ], + [ 55, MoveId.REVERSAL ], + [ 60, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.WIMPOD]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.STRUGGLE_BUG ], + ], + [SpeciesId.GOLISOPOD]: [ + [ EVOLVE_MOVE, MoveId.FIRST_IMPRESSION ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.SPITE ], + [ 1, MoveId.STRUGGLE_BUG ], + [ 4, MoveId.ROCK_SMASH ], + [ 8, MoveId.FURY_CUTTER ], + [ 12, MoveId.MUD_SHOT ], + [ 16, MoveId.BUG_BITE ], + [ 20, MoveId.IRON_DEFENSE ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.SLASH ], + [ 32, MoveId.RAZOR_SHELL ], + [ 36, MoveId.PIN_MISSILE ], + [ 40, MoveId.SWORDS_DANCE ], + [ 44, MoveId.LIQUIDATION ], + ], + [SpeciesId.SANDYGAST]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.ASTONISH ], + [ 10, MoveId.SAND_TOMB ], + [ 15, MoveId.MEGA_DRAIN ], + [ 20, MoveId.SAND_ATTACK ], + [ 25, MoveId.BULLDOZE ], + [ 30, MoveId.HYPNOSIS ], + [ 35, MoveId.GIGA_DRAIN ], + [ 40, MoveId.IRON_DEFENSE ], + [ 45, MoveId.SHADOW_BALL ], + [ 50, MoveId.EARTH_POWER ], + [ 55, MoveId.SHORE_UP ], + [ 60, MoveId.SANDSTORM ], + ], + [SpeciesId.PALOSSAND]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.SAND_TOMB ], + [ 15, MoveId.MEGA_DRAIN ], + [ 20, MoveId.SAND_ATTACK ], + [ 25, MoveId.BULLDOZE ], + [ 30, MoveId.HYPNOSIS ], + [ 35, MoveId.GIGA_DRAIN ], + [ 40, MoveId.IRON_DEFENSE ], + [ 47, MoveId.SHADOW_BALL ], + [ 54, MoveId.EARTH_POWER ], + [ 61, MoveId.SHORE_UP ], + [ 68, MoveId.SANDSTORM ], + ], + [SpeciesId.PYUKUMUKU]: [ + [ 1, MoveId.COUNTER ], // Custom, Moved from Level 20 to 1 + [ 1, MoveId.HARDEN ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.MUD_SPORT ], + [ 1, MoveId.WATER_SPORT ], + [ 5, MoveId.HELPING_HAND ], + [ 10, MoveId.TAUNT ], + [ 15, MoveId.SAFEGUARD ], + [ 20, MoveId.MIRROR_COAT ], // Custom + [ 25, MoveId.PURIFY ], + [ 30, MoveId.CURSE ], + [ 35, MoveId.GASTRO_ACID ], + [ 40, MoveId.PAIN_SPLIT ], + [ 45, MoveId.RECOVER ], + [ 50, MoveId.SOAK ], + [ 55, MoveId.TOXIC ], + [ 60, MoveId.MEMENTO ], + ], + [SpeciesId.TYPE_NULL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.IMPRISON ], + [ 5, MoveId.AERIAL_ACE ], + [ 10, MoveId.SCARY_FACE ], + [ 15, MoveId.DOUBLE_HIT ], + [ 20, MoveId.METAL_SOUND ], + [ 25, MoveId.CRUSH_CLAW ], + [ 30, MoveId.AIR_SLASH ], + [ 35, MoveId.TRI_ATTACK ], + [ 40, MoveId.X_SCISSOR ], + [ 45, MoveId.IRON_HEAD ], + [ 50, MoveId.TAKE_DOWN ], + [ 55, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.HEAL_BLOCK ], + ], + [SpeciesId.SILVALLY]: [ + [ EVOLVE_MOVE, MoveId.MULTI_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.EXPLOSION ], + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.IMPRISON ], + [ 1, MoveId.POISON_FANG ], + [ 1, MoveId.AERIAL_ACE ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.IRON_HEAD ], + [ 1, MoveId.HEAL_BLOCK ], + [ 15, MoveId.DOUBLE_HIT ], + [ 20, MoveId.METAL_SOUND ], + [ 25, MoveId.CRUSH_CLAW ], + [ 30, MoveId.AIR_SLASH ], + [ 35, MoveId.TRI_ATTACK ], + [ 40, MoveId.X_SCISSOR ], + [ 45, MoveId.CRUNCH ], + [ 50, MoveId.TAKE_DOWN ], + [ 55, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.PARTING_SHOT ], + ], + [SpeciesId.MINIOR]: [ + [ 1, MoveId.TACKLE ], + [ 3, MoveId.DEFENSE_CURL ], + [ 8, MoveId.ROLLOUT ], + [ 10, MoveId.CONFUSE_RAY ], + [ 15, MoveId.SWIFT ], + [ 17, MoveId.ANCIENT_POWER ], + [ 22, MoveId.SELF_DESTRUCT ], + [ 24, MoveId.STEALTH_ROCK ], + [ 29, MoveId.TAKE_DOWN ], + [ 31, MoveId.AUTOTOMIZE ], + [ 36, MoveId.COSMIC_POWER ], + [ 38, MoveId.POWER_GEM ], + [ 43, MoveId.DOUBLE_EDGE ], + [ 45, MoveId.SHELL_SMASH ], + [ 50, MoveId.EXPLOSION ], + ], + [SpeciesId.KOMALA]: [ + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROLLOUT ], + [ 6, MoveId.STOCKPILE ], + [ 6, MoveId.SPIT_UP ], + [ 6, MoveId.SWALLOW ], + [ 11, MoveId.RAPID_SPIN ], + [ 16, MoveId.YAWN ], + [ 21, MoveId.SLAM ], + [ 26, MoveId.FLAIL ], + [ 31, MoveId.SUCKER_PUNCH ], + [ 36, MoveId.PSYCH_UP ], + [ 41, MoveId.WOOD_HAMMER ], + [ 46, MoveId.THRASH ], + ], + [SpeciesId.TURTONATOR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SMOG ], + [ 4, MoveId.EMBER ], + [ 8, MoveId.PROTECT ], + [ 12, MoveId.ENDURE ], + [ 16, MoveId.FLAIL ], + [ 20, MoveId.INCINERATE ], + [ 24, MoveId.IRON_DEFENSE ], + [ 28, MoveId.DRAGON_PULSE ], + [ 32, MoveId.BODY_SLAM ], + [ 36, MoveId.FLAMETHROWER ], + [ 40, MoveId.SHELL_TRAP ], + [ 44, MoveId.SHELL_SMASH ], + [ 48, MoveId.OVERHEAT ], + [ 52, MoveId.EXPLOSION ], + ], + [SpeciesId.TOGEDEMARU]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.NUZZLE ], + [ 5, MoveId.DEFENSE_CURL ], + [ 10, MoveId.CHARGE ], + [ 15, MoveId.THUNDER_SHOCK ], + [ 20, MoveId.FELL_STINGER ], + [ 25, MoveId.SPARK ], + [ 30, MoveId.PIN_MISSILE ], + [ 35, MoveId.MAGNET_RISE ], + [ 40, MoveId.ZING_ZAP ], + [ 45, MoveId.DISCHARGE ], + [ 50, MoveId.ELECTRIC_TERRAIN ], + [ 55, MoveId.WILD_CHARGE ], + [ 60, MoveId.SPIKY_SHIELD ], + ], + [SpeciesId.MIMIKYU]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.WOOD_HAMMER ], + [ 6, MoveId.SHADOW_SNEAK ], + [ 12, MoveId.DOUBLE_TEAM ], + [ 18, MoveId.BABY_DOLL_EYES ], + [ 24, MoveId.MIMIC ], + [ 30, MoveId.HONE_CLAWS ], + [ 36, MoveId.SLASH ], + [ 42, MoveId.SHADOW_CLAW ], + [ 48, MoveId.CHARM ], + [ 54, MoveId.PLAY_ROUGH ], + [ 60, MoveId.PAIN_SPLIT ], + ], + [SpeciesId.BRUXISH]: [ + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.ASTONISH ], + [ 9, MoveId.CONFUSION ], + [ 12, MoveId.BITE ], + [ 17, MoveId.AQUA_JET ], + [ 20, MoveId.DISABLE ], + [ 25, MoveId.PSYSHOCK ], + [ 28, MoveId.CRUNCH ], + [ 33, MoveId.AQUA_TAIL ], + [ 36, MoveId.SCREECH ], + [ 41, MoveId.PSYCHIC_FANGS ], + [ 44, MoveId.WAVE_CRASH ], + ], + [SpeciesId.DRAMPA]: [ + [ 1, MoveId.ECHOED_VOICE ], + [ 1, MoveId.PLAY_NICE ], + [ 5, MoveId.TWISTER ], + [ 10, MoveId.PROTECT ], + [ 15, MoveId.GLARE ], + [ 20, MoveId.SAFEGUARD ], + [ 25, MoveId.DRAGON_BREATH ], + [ 30, MoveId.EXTRASENSORY ], + [ 35, MoveId.DRAGON_PULSE ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 45, MoveId.FLY ], + [ 50, MoveId.HYPER_VOICE ], + [ 55, MoveId.OUTRAGE ], + ], + [SpeciesId.DHELMISE]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.RAPID_SPIN ], + [ 4, MoveId.ASTONISH ], + [ 8, MoveId.WRAP ], + [ 12, MoveId.MEGA_DRAIN ], + [ 16, MoveId.GROWTH ], + [ 20, MoveId.GYRO_BALL ], + [ 24, MoveId.SWITCHEROO ], + [ 28, MoveId.GIGA_DRAIN ], + [ 32, MoveId.WHIRLPOOL ], + [ 36, MoveId.HEAVY_SLAM ], + [ 40, MoveId.SLAM ], + [ 44, MoveId.SHADOW_BALL ], + [ 48, MoveId.METAL_SOUND ], + [ 52, MoveId.ANCHOR_SHOT ], + [ 56, MoveId.ENERGY_BALL ], + [ 60, MoveId.PHANTOM_FORCE ], + [ 64, MoveId.POWER_WHIP ], + ], + [SpeciesId.JANGMO_O]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 4, MoveId.PROTECT ], + [ 8, MoveId.DRAGON_TAIL ], + [ 12, MoveId.SCARY_FACE ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.WORK_UP ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.IRON_DEFENSE ], + [ 32, MoveId.DRAGON_CLAW ], + [ 36, MoveId.NOBLE_ROAR ], + [ 40, MoveId.DRAGON_DANCE ], + [ 44, MoveId.OUTRAGE ], + ], + [SpeciesId.HAKAMO_O]: [ + [ EVOLVE_MOVE, MoveId.SKY_UPPERCUT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.DRAGON_TAIL ], + [ 1, MoveId.BIDE ], + [ 12, MoveId.SCARY_FACE ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.WORK_UP ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.IRON_DEFENSE ], + [ 32, MoveId.DRAGON_CLAW ], + [ 38, MoveId.NOBLE_ROAR ], + [ 44, MoveId.DRAGON_DANCE ], + [ 50, MoveId.OUTRAGE ], + [ 56, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.KOMMO_O]: [ + [ EVOLVE_MOVE, MoveId.CLANGING_SCALES ], + [ RELEARN_MOVE, MoveId.BELLY_DRUM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.DRAGON_TAIL ], + [ 1, MoveId.BIDE ], + [ 1, MoveId.SKY_UPPERCUT ], + [ 12, MoveId.SCARY_FACE ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.WORK_UP ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.IRON_DEFENSE ], + [ 32, MoveId.DRAGON_CLAW ], + [ 38, MoveId.NOBLE_ROAR ], + [ 44, MoveId.DRAGON_DANCE ], + [ 52, MoveId.OUTRAGE ], + [ 60, MoveId.CLOSE_COMBAT ], + [ 68, MoveId.CLANGOROUS_SOUL ], + [ 76, MoveId.BOOMBURST ], + ], + [SpeciesId.TAPU_KOKO]: [ + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 5, MoveId.WITHDRAW ], + [ 10, MoveId.FAIRY_WIND ], + [ 15, MoveId.FALSE_SWIPE ], + [ 20, MoveId.SPARK ], + [ 25, MoveId.SHOCK_WAVE ], + [ 30, MoveId.CHARGE ], + [ 35, MoveId.AGILITY ], + [ 40, MoveId.SCREECH ], + [ 45, MoveId.DISCHARGE ], + [ 50, MoveId.MEAN_LOOK ], + [ 55, MoveId.NATURES_MADNESS ], + [ 60, MoveId.WILD_CHARGE ], + [ 65, MoveId.BRAVE_BIRD ], + [ 70, MoveId.POWER_SWAP ], + [ 75, MoveId.ELECTRIC_TERRAIN ], + ], + [SpeciesId.TAPU_LELE]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.WITHDRAW ], + [ 10, MoveId.AROMATHERAPY ], + [ 15, MoveId.DRAINING_KISS ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.FLATTER ], + [ 30, MoveId.AROMATIC_MIST ], + [ 35, MoveId.SWEET_SCENT ], + [ 40, MoveId.EXTRASENSORY ], + [ 45, MoveId.PSYSHOCK ], + [ 50, MoveId.MEAN_LOOK ], + [ 55, MoveId.NATURES_MADNESS ], + [ 60, MoveId.MOONBLAST ], + [ 65, MoveId.TICKLE ], + [ 70, MoveId.SKILL_SWAP ], + [ 75, MoveId.PSYCHIC_TERRAIN ], + ], + [SpeciesId.TAPU_BULU]: [ + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.LEAFAGE ], + [ 5, MoveId.WITHDRAW ], + [ 10, MoveId.DISABLE ], + [ 15, MoveId.LEECH_SEED ], + [ 20, MoveId.MEGA_DRAIN ], + [ 25, MoveId.WHIRLWIND ], + [ 30, MoveId.HORN_ATTACK ], + [ 35, MoveId.SCARY_FACE ], + [ 40, MoveId.HORN_LEECH ], + [ 45, MoveId.ZEN_HEADBUTT ], + [ 50, MoveId.MEAN_LOOK ], + [ 55, MoveId.NATURES_MADNESS ], + [ 60, MoveId.WOOD_HAMMER ], + [ 65, MoveId.MEGAHORN ], + [ 70, MoveId.SKULL_BASH ], + [ 75, MoveId.GRASSY_TERRAIN ], + ], + [SpeciesId.TAPU_FINI]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DISARMING_VOICE ], + [ 5, MoveId.WITHDRAW ], + [ 10, MoveId.MIST ], + [ 10, MoveId.HAZE ], + [ 15, MoveId.AQUA_RING ], + [ 20, MoveId.WATER_PULSE ], + [ 25, MoveId.BRINE ], + [ 30, MoveId.DEFOG ], + [ 35, MoveId.HEAL_PULSE ], + [ 40, MoveId.SURF ], + [ 45, MoveId.MUDDY_WATER ], + [ 50, MoveId.MEAN_LOOK ], + [ 55, MoveId.NATURES_MADNESS ], + [ 60, MoveId.MOONBLAST ], + [ 65, MoveId.HYDRO_PUMP ], + [ 70, MoveId.SOAK ], + [ 75, MoveId.MISTY_TERRAIN ], + ], + [SpeciesId.COSMOG]: [ + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.SPLASH ], + [ 1, MoveId.STORED_POWER ], // Custom + ], + [SpeciesId.COSMOEM]: [ + [ EVOLVE_MOVE, MoveId.COSMIC_POWER ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.SPLASH ], // Previous Stage Move + [ 1, MoveId.STORED_POWER ], // Previous Stage Move, Custom + ], + [SpeciesId.SOLGALEO]: [ + [ EVOLVE_MOVE, MoveId.SUNSTEEL_STRIKE ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.SPLASH ], // Previous Stage Move + [ 1, MoveId.STORED_POWER ], // Previous Stage Move, Custom + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.COSMIC_POWER ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.WAKE_UP_SLAP ], + [ 7, MoveId.IRON_HEAD ], + [ 14, MoveId.METAL_SOUND ], + [ 21, MoveId.ZEN_HEADBUTT ], + [ 28, MoveId.FLASH_CANNON ], + [ 35, MoveId.MORNING_SUN ], + [ 42, MoveId.CRUNCH ], + [ 49, MoveId.METAL_BURST ], + [ 56, MoveId.WILD_CHARGE ], + [ 63, MoveId.SOLAR_BEAM ], + [ 70, MoveId.FLARE_BLITZ ], + [ 77, MoveId.WIDE_GUARD ], + [ 84, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.LUNALA]: [ + [ EVOLVE_MOVE, MoveId.MOONGEIST_BEAM ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.TELEPORT ], + [ 1, MoveId.SPLASH ], // Previous Stage Move + [ 1, MoveId.STORED_POWER ], // Previous Stage Move, Custom + [ 1, MoveId.COSMIC_POWER ], + [ 7, MoveId.NIGHT_SHADE ], + [ 14, MoveId.CONFUSE_RAY ], + [ 21, MoveId.AIR_SLASH ], + [ 28, MoveId.SHADOW_BALL ], + [ 35, MoveId.MOONLIGHT ], + [ 42, MoveId.NIGHT_DAZE ], + [ 49, MoveId.MAGIC_COAT ], + [ 56, MoveId.MOONBLAST ], + [ 63, MoveId.PHANTOM_FORCE ], + [ 70, MoveId.DREAM_EATER ], + [ 77, MoveId.WIDE_GUARD ], + [ 84, MoveId.HYPER_BEAM ], + ], + [SpeciesId.NIHILEGO]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.CONSTRICT ], + [ 5, MoveId.ACID ], + [ 10, MoveId.TICKLE ], + [ 15, MoveId.ACID_SPRAY ], + [ 20, MoveId.CLEAR_SMOG ], + [ 25, MoveId.GUARD_SPLIT ], + [ 25, MoveId.POWER_SPLIT ], + [ 30, MoveId.VENOSHOCK ], + [ 35, MoveId.HEADBUTT ], + [ 40, MoveId.TOXIC_SPIKES ], + [ 45, MoveId.VENOM_DRENCH ], + [ 50, MoveId.POWER_GEM ], + [ 55, MoveId.STEALTH_ROCK ], + [ 60, MoveId.MIRROR_COAT ], + [ 65, MoveId.WONDER_ROOM ], + [ 70, MoveId.HEAD_SMASH ], + ], + [SpeciesId.BUZZWOLE]: [ + [ 1, MoveId.HARDEN ], + [ 1, MoveId.POWER_UP_PUNCH ], + [ 5, MoveId.TAUNT ], + [ 10, MoveId.FELL_STINGER ], + [ 15, MoveId.VITAL_THROW ], + [ 20, MoveId.BULK_UP ], + [ 25, MoveId.ENDURE ], + [ 30, MoveId.REVERSAL ], + [ 35, MoveId.MEGA_PUNCH ], + [ 40, MoveId.LUNGE ], + [ 45, MoveId.FOCUS_ENERGY ], + [ 50, MoveId.DYNAMIC_PUNCH ], + [ 55, MoveId.COUNTER ], + [ 60, MoveId.HAMMER_ARM ], + [ 65, MoveId.SUPERPOWER ], + [ 70, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.PHEROMOSA]: [ + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.FEINT ], + [ 5, MoveId.LEER ], + [ 10, MoveId.QUICK_GUARD ], + [ 15, MoveId.BUG_BITE ], + [ 20, MoveId.LOW_KICK ], + [ 25, MoveId.DOUBLE_KICK ], + [ 30, MoveId.TRIPLE_KICK ], + [ 35, MoveId.STOMP ], + [ 40, MoveId.AGILITY ], + [ 45, MoveId.LUNGE ], + [ 50, MoveId.BOUNCE ], + [ 55, MoveId.SPEED_SWAP ], + [ 60, MoveId.BUG_BUZZ ], + [ 65, MoveId.QUIVER_DANCE ], + [ 70, MoveId.HIGH_JUMP_KICK ], + ], + [SpeciesId.XURKITREE]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 5, MoveId.CHARGE ], + [ 10, MoveId.THUNDER_WAVE ], + [ 15, MoveId.INGRAIN ], + [ 20, MoveId.SPARK ], + [ 25, MoveId.SHOCK_WAVE ], + [ 30, MoveId.HYPNOSIS ], + [ 35, MoveId.EERIE_IMPULSE ], + [ 40, MoveId.THUNDER_PUNCH ], + [ 45, MoveId.DISCHARGE ], + [ 50, MoveId.MAGNET_RISE ], + [ 55, MoveId.THUNDERBOLT ], + [ 60, MoveId.ELECTRIC_TERRAIN ], + [ 65, MoveId.POWER_WHIP ], + [ 70, MoveId.ZAP_CANNON ], + ], + [SpeciesId.CELESTEELA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ABSORB ], + [ 5, MoveId.HARDEN ], + [ 10, MoveId.WIDE_GUARD ], + [ 15, MoveId.MEGA_DRAIN ], + [ 20, MoveId.SMACK_DOWN ], + [ 25, MoveId.INGRAIN ], + [ 30, MoveId.AUTOTOMIZE ], + [ 35, MoveId.GIGA_DRAIN ], + [ 40, MoveId.FLASH_CANNON ], + [ 45, MoveId.METAL_SOUND ], + [ 50, MoveId.IRON_DEFENSE ], + [ 55, MoveId.LEECH_SEED ], + [ 60, MoveId.HEAVY_SLAM ], + [ 65, MoveId.DOUBLE_EDGE ], + [ 70, MoveId.SKULL_BASH ], + ], + [SpeciesId.KARTANA]: [ + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.VACUUM_WAVE ], + [ 5, MoveId.RAZOR_LEAF ], + [ 10, MoveId.FALSE_SWIPE ], + [ 15, MoveId.CUT ], + [ 20, MoveId.AIR_CUTTER ], + [ 25, MoveId.AERIAL_ACE ], + [ 30, MoveId.DETECT ], + [ 35, MoveId.NIGHT_SLASH ], + [ 40, MoveId.SYNTHESIS ], + [ 45, MoveId.LASER_FOCUS ], + [ 50, MoveId.DEFOG ], + [ 55, MoveId.LEAF_BLADE ], + [ 60, MoveId.SACRED_SWORD ], + [ 65, MoveId.SWORDS_DANCE ], + [ 70, MoveId.GUILLOTINE ], + ], + [SpeciesId.GUZZLORD]: [ + [ 1, MoveId.BITE ], + [ 1, MoveId.DRAGON_TAIL ], + [ 5, MoveId.STOCKPILE ], + [ 5, MoveId.SWALLOW ], + [ 10, MoveId.KNOCK_OFF ], + [ 15, MoveId.STOMP ], + [ 20, MoveId.STOMPING_TANTRUM ], + [ 25, MoveId.WIDE_GUARD ], + [ 30, MoveId.CRUNCH ], + [ 35, MoveId.BODY_SLAM ], + [ 40, MoveId.GASTRO_ACID ], + [ 45, MoveId.HAMMER_ARM ], + [ 50, MoveId.HEAVY_SLAM ], + [ 55, MoveId.DRAGON_RUSH ], + [ 60, MoveId.BELCH ], + [ 65, MoveId.THRASH ], + [ 70, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.NECROZMA]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.MORNING_SUN ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.GRAVITY ], + [ 1, MoveId.CHARGE_BEAM ], + [ 1, MoveId.MIRROR_SHOT ], + [ 8, MoveId.STEALTH_ROCK ], + [ 16, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 32, MoveId.PSYCHO_CUT ], + [ 40, MoveId.STORED_POWER ], + [ 48, MoveId.ROCK_BLAST ], + [ 56, MoveId.IRON_DEFENSE ], + [ 64, MoveId.POWER_GEM ], + [ 72, MoveId.PHOTON_GEYSER ], + [ 80, MoveId.AUTOTOMIZE ], + [ 88, MoveId.PRISMATIC_LASER ], + ], + [SpeciesId.MAGEARNA]: [ + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.GYRO_BALL ], + [ 1, MoveId.DISARMING_VOICE ], // Custom + [ 1, MoveId.CRAFTY_SHIELD ], + [ 1, MoveId.GEAR_UP ], + [ 6, MoveId.DEFENSE_CURL ], + [ 12, MoveId.ROLLOUT ], + [ 18, MoveId.IRON_DEFENSE ], + [ 24, MoveId.MAGNETIC_FLUX ], + [ 30, MoveId.PSYBEAM ], + [ 36, MoveId.AURORA_BEAM ], + [ 42, MoveId.LOCK_ON ], + [ 48, MoveId.SHIFT_GEAR ], + [ 54, MoveId.TRICK ], + [ 60, MoveId.IRON_HEAD ], + [ 66, MoveId.AURA_SPHERE ], + [ 72, MoveId.FLASH_CANNON ], + [ 78, MoveId.PAIN_SPLIT ], + [ 84, MoveId.ZAP_CANNON ], + [ 90, MoveId.FLEUR_CANNON ], + ], + [SpeciesId.MARSHADOW]: [ + [ 1, MoveId.FIRE_PUNCH ], + [ 1, MoveId.ICE_PUNCH ], + [ 1, MoveId.THUNDER_PUNCH ], + [ 1, MoveId.COUNTER ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.SHADOW_SNEAK ], + [ 1, MoveId.PURSUIT ], + [ 9, MoveId.ROLE_PLAY ], + [ 18, MoveId.SHADOW_PUNCH ], + [ 27, MoveId.FORCE_PALM ], + [ 36, MoveId.ASSURANCE ], + [ 45, MoveId.SUCKER_PUNCH ], + [ 54, MoveId.DRAIN_PUNCH ], + [ 63, MoveId.PSYCH_UP ], + [ 72, MoveId.SPECTRAL_THIEF ], + [ 81, MoveId.LASER_FOCUS ], + [ 90, MoveId.ENDEAVOR ], + [ 99, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.POIPOLE]: [ + [ RELEARN_MOVE, MoveId.DRAGON_PULSE ], // Custom, made relearn + [ 1, MoveId.GROWL ], + [ 1, MoveId.ACID ], + [ 1, MoveId.PECK ], + [ 1, MoveId.HELPING_HAND ], + [ 7, MoveId.FURY_ATTACK ], + [ 14, MoveId.FELL_STINGER ], + [ 21, MoveId.CHARM ], + [ 28, MoveId.VENOSHOCK ], + [ 35, MoveId.VENOM_DRENCH ], + [ 42, MoveId.NASTY_PLOT ], + [ 49, MoveId.POISON_JAB ], + [ 56, MoveId.GASTRO_ACID ], + [ 63, MoveId.TOXIC ], + ], + [SpeciesId.NAGANADEL]: [ + [ EVOLVE_MOVE, MoveId.AIR_CUTTER ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ACID ], + [ 1, MoveId.PECK ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.AIR_SLASH ], + [ 1, MoveId.DRAGON_PULSE ], + [ 7, MoveId.FURY_ATTACK ], + [ 14, MoveId.FELL_STINGER ], + [ 21, MoveId.CHARM ], + [ 28, MoveId.VENOSHOCK ], + [ 35, MoveId.VENOM_DRENCH ], + [ 42, MoveId.NASTY_PLOT ], + [ 49, MoveId.POISON_JAB ], + [ 56, MoveId.GASTRO_ACID ], + [ 63, MoveId.TOXIC ], + [ 70, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.STAKATAKA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.ROCK_THROW ], + [ 10, MoveId.PROTECT ], + [ 15, MoveId.STOMP ], + [ 20, MoveId.BLOCK ], + [ 25, MoveId.ROCK_SLIDE ], + [ 30, MoveId.WIDE_GUARD ], + [ 35, MoveId.AUTOTOMIZE ], + [ 40, MoveId.ROCK_BLAST ], + [ 45, MoveId.MAGNET_RISE ], + [ 50, MoveId.IRON_DEFENSE ], + [ 55, MoveId.IRON_HEAD ], + [ 60, MoveId.TAKE_DOWN ], + [ 65, MoveId.STEALTH_ROCK ], + [ 70, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.BLACEPHALON]: [ + [ 1, MoveId.FIRE_SPIN ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.LIGHT_SCREEN ], + [ 10, MoveId.EMBER ], + [ 15, MoveId.NIGHT_SHADE ], + [ 20, MoveId.CONFUSE_RAY ], + [ 25, MoveId.MAGIC_COAT ], + [ 30, MoveId.INCINERATE ], + [ 35, MoveId.HYPNOSIS ], + [ 40, MoveId.MYSTICAL_FIRE ], + [ 45, MoveId.SHADOW_BALL ], + [ 50, MoveId.CALM_MIND ], + [ 55, MoveId.WILL_O_WISP ], + [ 60, MoveId.TRICK ], + [ 65, MoveId.FIRE_BLAST ], + [ 70, MoveId.MIND_BLOWN ], + ], + [SpeciesId.ZERAORA]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SPARK ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.SNARL ], + [ 1, MoveId.POWER_UP_PUNCH ], + [ 8, MoveId.FURY_SWIPES ], + [ 16, MoveId.QUICK_GUARD ], + [ 24, MoveId.SLASH ], + [ 32, MoveId.VOLT_SWITCH ], + [ 40, MoveId.CHARGE ], + [ 48, MoveId.THUNDER_PUNCH ], + [ 56, MoveId.HONE_CLAWS ], + [ 64, MoveId.DISCHARGE ], + [ 72, MoveId.WILD_CHARGE ], + [ 80, MoveId.AGILITY ], + [ 88, MoveId.PLASMA_FISTS ], + [ 96, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.MELTAN]: [ + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.HARDEN ], + [ 8, MoveId.TAIL_WHIP ], + [ 16, MoveId.HEADBUTT ], + [ 24, MoveId.THUNDER_WAVE ], + [ 32, MoveId.ACID_ARMOR ], + [ 40, MoveId.FLASH_CANNON ], + ], + [SpeciesId.MELMETAL]: [ + [ EVOLVE_MOVE, MoveId.THUNDER_PUNCH ], + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.HARDEN ], + [ 24, MoveId.THUNDER_WAVE ], + [ 32, MoveId.ACID_ARMOR ], + [ 40, MoveId.FLASH_CANNON ], + [ 48, MoveId.MEGA_PUNCH ], + [ 56, MoveId.PROTECT ], + [ 64, MoveId.DISCHARGE ], + [ 72, MoveId.DYNAMIC_PUNCH ], + [ 80, MoveId.SUPERPOWER ], + [ 88, MoveId.DOUBLE_IRON_BASH ], + [ 96, MoveId.HYPER_BEAM ], + ], + [SpeciesId.GROOKEY]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.BRANCH_POKE ], // Custom, moved from 6 to 5 + [ 8, MoveId.TAUNT ], + [ 12, MoveId.RAZOR_LEAF ], + [ 17, MoveId.SCREECH ], + [ 20, MoveId.KNOCK_OFF ], + [ 24, MoveId.SLAM ], + [ 28, MoveId.UPROAR ], + [ 32, MoveId.WOOD_HAMMER ], + [ 36, MoveId.ENDEAVOR ], + ], + [SpeciesId.THWACKEY]: [ + [ EVOLVE_MOVE, MoveId.DOUBLE_HIT ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.BRANCH_POKE ], + [ 12, MoveId.RAZOR_LEAF ], + [ 19, MoveId.SCREECH ], + [ 24, MoveId.KNOCK_OFF ], + [ 30, MoveId.SLAM ], + [ 36, MoveId.UPROAR ], + [ 42, MoveId.WOOD_HAMMER ], + [ 48, MoveId.ENDEAVOR ], + ], + [SpeciesId.RILLABOOM]: [ + [ EVOLVE_MOVE, MoveId.DRUM_BEATING ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.DOUBLE_HIT ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.GRASSY_TERRAIN ], + [ 1, MoveId.BRANCH_POKE ], + [ 12, MoveId.RAZOR_LEAF ], + [ 19, MoveId.SCREECH ], + [ 24, MoveId.KNOCK_OFF ], + [ 30, MoveId.SLAM ], + [ 38, MoveId.UPROAR ], + [ 46, MoveId.WOOD_HAMMER ], + [ 54, MoveId.ENDEAVOR ], + [ 62, MoveId.BOOMBURST ], + ], + [SpeciesId.SCORBUNNY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.EMBER ], // Custom, moved from 6 to 5 + [ 8, MoveId.QUICK_ATTACK ], + [ 12, MoveId.DOUBLE_KICK ], + [ 17, MoveId.FLAME_CHARGE ], + [ 20, MoveId.AGILITY ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.COUNTER ], + [ 32, MoveId.BOUNCE ], + [ 36, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.RABOOT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 12, MoveId.DOUBLE_KICK ], + [ 19, MoveId.FLAME_CHARGE ], + [ 24, MoveId.AGILITY ], + [ 30, MoveId.HEADBUTT ], + [ 36, MoveId.COUNTER ], + [ 42, MoveId.BOUNCE ], + [ 48, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.CINDERACE]: [ + [ EVOLVE_MOVE, MoveId.PYRO_BALL ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FEINT ], + [ 12, MoveId.DOUBLE_KICK ], + [ 19, MoveId.FLAME_CHARGE ], + [ 24, MoveId.AGILITY ], + [ 30, MoveId.HEADBUTT ], + [ 38, MoveId.COUNTER ], + [ 46, MoveId.BOUNCE ], + [ 54, MoveId.DOUBLE_EDGE ], + [ 62, MoveId.COURT_CHANGE ], + ], + [SpeciesId.SOBBLE]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.WATER_GUN ], // Custom, moved from 6 to 5 + [ 8, MoveId.BIND ], + [ 12, MoveId.WATER_PULSE ], + [ 17, MoveId.TEARFUL_LOOK ], + [ 20, MoveId.SUCKER_PUNCH ], + [ 24, MoveId.U_TURN ], + [ 28, MoveId.LIQUIDATION ], + [ 32, MoveId.SOAK ], + [ 36, MoveId.RAIN_DANCE ], + ], + [SpeciesId.DRIZZILE]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.BIND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 12, MoveId.WATER_PULSE ], + [ 19, MoveId.TEARFUL_LOOK ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 30, MoveId.U_TURN ], + [ 36, MoveId.LIQUIDATION ], + [ 42, MoveId.SOAK ], + [ 48, MoveId.RAIN_DANCE ], + ], + [SpeciesId.INTELEON]: [ + [ EVOLVE_MOVE, MoveId.SNIPE_SHOT ], + [ 1, MoveId.POUND ], + [ 1, MoveId.BIND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.ACROBATICS ], + [ 12, MoveId.WATER_PULSE ], + [ 19, MoveId.TEARFUL_LOOK ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 30, MoveId.U_TURN ], + [ 38, MoveId.LIQUIDATION ], + [ 46, MoveId.SOAK ], + [ 54, MoveId.RAIN_DANCE ], + [ 62, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.SKWOVET]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.BITE ], + [ 10, MoveId.STUFF_CHEEKS ], + [ 15, MoveId.STOCKPILE ], + [ 15, MoveId.SPIT_UP ], + [ 15, MoveId.SWALLOW ], + [ 20, MoveId.BODY_SLAM ], + [ 25, MoveId.REST ], + [ 30, MoveId.COUNTER ], + [ 35, MoveId.BULLET_SEED ], + [ 40, MoveId.SUPER_FANG ], + [ 45, MoveId.BELCH ], + ], + [SpeciesId.GREEDENT]: [ + [ EVOLVE_MOVE, MoveId.COVET ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.STUFF_CHEEKS ], + [ 15, MoveId.STOCKPILE ], + [ 15, MoveId.SPIT_UP ], + [ 15, MoveId.SWALLOW ], + [ 20, MoveId.BODY_SLAM ], + [ 27, MoveId.REST ], + [ 34, MoveId.COUNTER ], + [ 41, MoveId.BULLET_SEED ], + [ 48, MoveId.SUPER_FANG ], + [ 55, MoveId.BELCH ], + ], + [SpeciesId.ROOKIDEE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 4, MoveId.POWER_TRIP ], + [ 8, MoveId.HONE_CLAWS ], + [ 12, MoveId.FURY_ATTACK ], + [ 16, MoveId.PLUCK ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.SCARY_FACE ], + [ 28, MoveId.DRILL_PECK ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.CORVISQUIRE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.HONE_CLAWS ], + [ 1, MoveId.POWER_TRIP ], + [ 12, MoveId.FURY_ATTACK ], + [ 16, MoveId.PLUCK ], + [ 22, MoveId.TAUNT ], + [ 28, MoveId.SCARY_FACE ], + [ 34, MoveId.DRILL_PECK ], + [ 40, MoveId.SWAGGER ], + [ 46, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.CORVIKNIGHT]: [ + [ EVOLVE_MOVE, MoveId.STEEL_WING ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.SCREECH ], + [ 1, MoveId.METAL_SOUND ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.HONE_CLAWS ], + [ 1, MoveId.POWER_TRIP ], + [ 12, MoveId.FURY_ATTACK ], + [ 16, MoveId.PLUCK ], + [ 22, MoveId.TAUNT ], + [ 28, MoveId.SCARY_FACE ], + [ 34, MoveId.DRILL_PECK ], + [ 42, MoveId.SWAGGER ], + [ 50, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.BLIPBUG]: [ + [ 1, MoveId.STRUGGLE_BUG ], + ], + [SpeciesId.DOTTLER]: [ + [ EVOLVE_MOVE, MoveId.CONFUSION ], + [ EVOLVE_MOVE, MoveId.LIGHT_SCREEN ], + [ EVOLVE_MOVE, MoveId.REFLECT ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.LIGHT_SCREEN ], + [ 1, MoveId.REFLECT ], + [ 1, MoveId.STRUGGLE_BUG ], + ], + [SpeciesId.ORBEETLE]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.LIGHT_SCREEN ], + [ 1, MoveId.REFLECT ], + [ 1, MoveId.STRUGGLE_BUG ], + [ 4, MoveId.CONFUSE_RAY ], + [ 8, MoveId.MAGIC_COAT ], + [ 12, MoveId.AGILITY ], + [ 16, MoveId.PSYBEAM ], + [ 20, MoveId.HYPNOSIS ], + [ 24, MoveId.ALLY_SWITCH ], + [ 28, MoveId.BUG_BUZZ ], + [ 32, MoveId.MIRROR_COAT ], + [ 36, MoveId.PSYCHIC ], + [ 40, MoveId.AFTER_YOU ], + [ 44, MoveId.CALM_MIND ], + [ 48, MoveId.PSYCHIC_TERRAIN ], + ], + [SpeciesId.NICKIT]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.QUICK_ATTACK ], + [ 4, MoveId.BEAT_UP ], + [ 8, MoveId.HONE_CLAWS ], + [ 12, MoveId.SNARL ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.NASTY_PLOT ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.NIGHT_SLASH ], + [ 32, MoveId.TAIL_SLAP ], + [ 36, MoveId.FOUL_PLAY ], + ], + [SpeciesId.THIEVUL]: [ + [ EVOLVE_MOVE, MoveId.THIEF ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.BEAT_UP ], + [ 1, MoveId.HONE_CLAWS ], + [ 12, MoveId.SNARL ], + [ 16, MoveId.ASSURANCE ], + [ 22, MoveId.NASTY_PLOT ], + [ 28, MoveId.SUCKER_PUNCH ], + [ 34, MoveId.NIGHT_SLASH ], + [ 40, MoveId.TAIL_SLAP ], + [ 46, MoveId.FOUL_PLAY ], + [ 52, MoveId.PARTING_SHOT ], + ], + [SpeciesId.GOSSIFLEUR]: [ + [ 1, MoveId.SING ], + [ 1, MoveId.LEAFAGE ], + [ 4, MoveId.RAPID_SPIN ], + [ 8, MoveId.SWEET_SCENT ], + [ 12, MoveId.RAZOR_LEAF ], + [ 16, MoveId.ROUND ], + [ 21, MoveId.LEAF_TORNADO ], + [ 24, MoveId.SYNTHESIS ], + [ 28, MoveId.HYPER_VOICE ], + [ 32, MoveId.AROMATHERAPY ], + [ 36, MoveId.LEAF_STORM ], + ], + [SpeciesId.ELDEGOSS]: [ + [ EVOLVE_MOVE, MoveId.COTTON_SPORE ], + [ 1, MoveId.SING ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.LEAFAGE ], + [ 12, MoveId.RAZOR_LEAF ], + [ 16, MoveId.ROUND ], + [ 23, MoveId.LEAF_TORNADO ], + [ 28, MoveId.SYNTHESIS ], + [ 34, MoveId.HYPER_VOICE ], + [ 40, MoveId.AROMATHERAPY ], + [ 46, MoveId.LEAF_STORM ], + [ 52, MoveId.COTTON_GUARD ], + ], + [SpeciesId.WOOLOO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 4, MoveId.DEFENSE_CURL ], + [ 8, MoveId.COPYCAT ], + [ 12, MoveId.GUARD_SPLIT ], + [ 16, MoveId.DOUBLE_KICK ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.TAKE_DOWN ], + [ 28, MoveId.GUARD_SWAP ], + [ 32, MoveId.REVERSAL ], + [ 36, MoveId.COTTON_GUARD ], + [ 40, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.DUBWOOL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.COPYCAT ], + [ 12, MoveId.GUARD_SPLIT ], + [ 16, MoveId.DOUBLE_KICK ], + [ 21, MoveId.HEADBUTT ], + [ 27, MoveId.TAKE_DOWN ], + [ 32, MoveId.GUARD_SWAP ], + [ 38, MoveId.REVERSAL ], + [ 44, MoveId.COTTON_GUARD ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 56, MoveId.LAST_RESORT ], + ], + [SpeciesId.CHEWTLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 7, MoveId.BITE ], + [ 14, MoveId.PROTECT ], + [ 21, MoveId.HEADBUTT ], + [ 28, MoveId.COUNTER ], + [ 35, MoveId.JAW_LOCK ], + [ 42, MoveId.LIQUIDATION ], + [ 49, MoveId.BODY_SLAM ], + ], + [SpeciesId.DREDNAW]: [ + [ EVOLVE_MOVE, MoveId.ROCK_TOMB ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.ROCK_POLISH ], + [ 1, MoveId.RAZOR_SHELL ], + [ 21, MoveId.HEADBUTT ], + [ 30, MoveId.COUNTER ], + [ 39, MoveId.JAW_LOCK ], + [ 48, MoveId.LIQUIDATION ], + [ 57, MoveId.BODY_SLAM ], + [ 66, MoveId.HEAD_SMASH ], + ], + [SpeciesId.YAMPER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.NUZZLE ], + [ 10, MoveId.BITE ], + [ 15, MoveId.ROAR ], + [ 20, MoveId.SPARK ], + [ 26, MoveId.CHARM ], + [ 30, MoveId.CRUNCH ], + [ 35, MoveId.CHARGE ], + [ 40, MoveId.WILD_CHARGE ], + [ 45, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.BOLTUND]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.ELECTRIFY ], + [ 1, MoveId.NUZZLE ], + [ 15, MoveId.ROAR ], + [ 20, MoveId.SPARK ], + [ 28, MoveId.CHARM ], + [ 34, MoveId.CRUNCH ], + [ 41, MoveId.CHARGE ], + [ 48, MoveId.WILD_CHARGE ], + [ 55, MoveId.PLAY_ROUGH ], + [ 62, MoveId.ELECTRIC_TERRAIN ], + ], + [SpeciesId.ROLYCOLY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SMOKESCREEN ], + [ 5, MoveId.RAPID_SPIN ], + [ 10, MoveId.SMACK_DOWN ], + [ 15, MoveId.ROCK_POLISH ], + [ 20, MoveId.ANCIENT_POWER ], + [ 25, MoveId.INCINERATE ], + [ 30, MoveId.STEALTH_ROCK ], + [ 35, MoveId.HEAT_CRASH ], + [ 40, MoveId.ROCK_BLAST ], + ], + [SpeciesId.CARKOL]: [ + [ EVOLVE_MOVE, MoveId.FLAME_CHARGE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.SMACK_DOWN ], + [ 15, MoveId.ROCK_POLISH ], + [ 20, MoveId.ANCIENT_POWER ], + [ 27, MoveId.INCINERATE ], + [ 35, MoveId.STEALTH_ROCK ], + [ 41, MoveId.HEAT_CRASH ], + [ 48, MoveId.ROCK_BLAST ], + [ 55, MoveId.STONE_EDGE ], + ], + [SpeciesId.COALOSSAL]: [ + [ EVOLVE_MOVE, MoveId.TAR_SHOT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.SMACK_DOWN ], + [ 1, MoveId.FLAME_CHARGE ], + [ 15, MoveId.ROCK_POLISH ], + [ 20, MoveId.ANCIENT_POWER ], + [ 27, MoveId.INCINERATE ], + [ 37, MoveId.STEALTH_ROCK ], + [ 45, MoveId.HEAT_CRASH ], + [ 54, MoveId.ROCK_BLAST ], + [ 63, MoveId.STONE_EDGE ], + ], + [SpeciesId.APPLIN]: [ + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.LEAFAGE ], // Custom + ], + [SpeciesId.FLAPPLE]: [ + [ EVOLVE_MOVE, MoveId.WING_ATTACK ], + [ 1, MoveId.LEAFAGE ], // Previous Stage Move, Custom + [ 1, MoveId.GROWTH ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.TWISTER ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.ACID_SPRAY ], + [ 8, MoveId.ACROBATICS ], + [ 12, MoveId.LEECH_SEED ], + [ 16, MoveId.PROTECT ], + [ 20, MoveId.DRAGON_BREATH ], + [ 24, MoveId.DRAGON_DANCE ], + [ 28, MoveId.DRAGON_PULSE ], + [ 32, MoveId.GRAV_APPLE ], + [ 36, MoveId.IRON_DEFENSE ], + [ 40, MoveId.FLY ], + [ 44, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.APPLETUN]: [ + [ EVOLVE_MOVE, MoveId.HEADBUTT ], + [ 1, MoveId.LEAFAGE ], // Previous Stage Move, Custom + [ 1, MoveId.GROWTH ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.CURSE ], + [ 8, MoveId.STOMP ], + [ 12, MoveId.LEECH_SEED ], + [ 16, MoveId.PROTECT ], + [ 20, MoveId.BULLET_SEED ], + [ 24, MoveId.RECOVER ], + [ 28, MoveId.APPLE_ACID ], + [ 32, MoveId.BODY_SLAM ], + [ 36, MoveId.IRON_DEFENSE ], + [ 40, MoveId.DRAGON_PULSE ], + [ 44, MoveId.ENERGY_BALL ], + ], + [SpeciesId.SILICOBRA]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.MUD_SLAP ], // Custom + [ 5, MoveId.MINIMIZE ], + [ 10, MoveId.BRUTAL_SWING ], + [ 15, MoveId.BULLDOZE ], + [ 20, MoveId.HEADBUTT ], + [ 25, MoveId.GLARE ], + [ 30, MoveId.DIG ], + [ 35, MoveId.SANDSTORM ], + [ 40, MoveId.SLAM ], + [ 45, MoveId.COIL ], + [ 50, MoveId.SAND_TOMB ], + ], + [SpeciesId.SANDACONDA]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.MUD_SLAP ], // Previous Stage Move, Custom + [ 1, MoveId.MINIMIZE ], + [ 1, MoveId.BRUTAL_SWING ], + [ 15, MoveId.BULLDOZE ], + [ 20, MoveId.HEADBUTT ], + [ 25, MoveId.GLARE ], + [ 30, MoveId.DIG ], + [ 35, MoveId.SANDSTORM ], + [ 42, MoveId.SLAM ], + [ 49, MoveId.COIL ], + [ 51, MoveId.SAND_TOMB ], + ], + [SpeciesId.CRAMORANT]: [ + [ RELEARN_MOVE, MoveId.BELCH ], + [ 1, MoveId.PECK ], + [ 1, MoveId.STOCKPILE ], + [ 1, MoveId.SPIT_UP ], + [ 1, MoveId.SWALLOW ], + [ 7, MoveId.WATER_GUN ], + [ 14, MoveId.FURY_ATTACK ], + [ 21, MoveId.PLUCK ], + [ 28, MoveId.DIVE ], + [ 35, MoveId.DRILL_PECK ], + [ 42, MoveId.AMNESIA ], + [ 49, MoveId.THRASH ], + [ 56, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.ARROKUDA]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.AQUA_JET ], + [ 6, MoveId.FURY_ATTACK ], + [ 12, MoveId.BITE ], + [ 18, MoveId.AGILITY ], + [ 24, MoveId.DIVE ], + [ 30, MoveId.FOCUS_ENERGY ], + [ 36, MoveId.CRUNCH ], + [ 42, MoveId.LIQUIDATION ], + [ 48, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.BARRASKEWDA]: [ + [ 1, MoveId.FURY_ATTACK ], + [ 1, MoveId.BITE ], + [ 1, MoveId.PECK ], + [ 1, MoveId.AQUA_JET ], + [ 1, MoveId.THROAT_CHOP ], + [ 18, MoveId.AGILITY ], + [ 24, MoveId.DIVE ], + [ 32, MoveId.FOCUS_ENERGY ], + [ 40, MoveId.CRUNCH ], + [ 48, MoveId.LIQUIDATION ], + [ 56, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.TOXEL]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.ACID ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.BELCH ], + [ 1, MoveId.NUZZLE ], + [ 1, MoveId.TEARFUL_LOOK ], + ], + [SpeciesId.TOXTRICITY]: [ + [ EVOLVE_MOVE, MoveId.SPARK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ACID ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.ACID_SPRAY ], + [ 1, MoveId.BELCH ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.NUZZLE ], + [ 1, MoveId.TEARFUL_LOOK ], + [ 4, MoveId.CHARGE ], + [ 8, MoveId.SHOCK_WAVE ], + [ 12, MoveId.SCARY_FACE ], + [ 16, MoveId.TAUNT ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.SWAGGER ], + [ 32, MoveId.TOXIC ], + [ 36, MoveId.DISCHARGE ], + [ 40, MoveId.POISON_JAB ], + [ 44, MoveId.OVERDRIVE ], + [ 48, MoveId.BOOMBURST ], + [ 52, MoveId.SHIFT_GEAR ], + ], + [SpeciesId.SIZZLIPEDE]: [ + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 5, MoveId.WRAP ], + [ 10, MoveId.BITE ], + [ 15, MoveId.FLAME_WHEEL ], + [ 20, MoveId.BUG_BITE ], + [ 25, MoveId.COIL ], + [ 30, MoveId.SLAM ], + [ 35, MoveId.FIRE_SPIN ], + [ 40, MoveId.CRUNCH ], + [ 45, MoveId.FIRE_LASH ], + [ 50, MoveId.LUNGE ], + [ 55, MoveId.BURN_UP ], + ], + [SpeciesId.CENTISKORCH]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.BITE ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.INFERNO ], + [ 15, MoveId.FLAME_WHEEL ], + [ 20, MoveId.BUG_BITE ], + [ 25, MoveId.COIL ], + [ 32, MoveId.SLAM ], + [ 39, MoveId.FIRE_SPIN ], + [ 46, MoveId.CRUNCH ], + [ 53, MoveId.FIRE_LASH ], + [ 60, MoveId.LUNGE ], + [ 67, MoveId.BURN_UP ], + ], + [SpeciesId.CLOBBOPUS]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_SMASH ], + [ 5, MoveId.FEINT ], + [ 10, MoveId.BIND ], + [ 15, MoveId.DETECT ], + [ 20, MoveId.BRICK_BREAK ], + [ 25, MoveId.BULK_UP ], + [ 30, MoveId.SUBMISSION ], + [ 35, MoveId.TAUNT ], + [ 40, MoveId.REVERSAL ], + [ 45, MoveId.SUPERPOWER ], + ], + [SpeciesId.GRAPPLOCT]: [ + [ EVOLVE_MOVE, MoveId.OCTOLOCK ], + [ 1, MoveId.BIND ], + [ 1, MoveId.LEER ], + [ 1, MoveId.OCTAZOOKA ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.FEINT ], + [ 15, MoveId.DETECT ], + [ 20, MoveId.BRICK_BREAK ], + [ 25, MoveId.BULK_UP ], + [ 30, MoveId.SUBMISSION ], + [ 35, MoveId.TAUNT ], + [ 40, MoveId.REVERSAL ], + [ 45, MoveId.SUPERPOWER ], + [ 50, MoveId.TOPSY_TURVY ], + ], + [SpeciesId.SINISTEA]: [ + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.ABSORB ], // Custom + [ 6, MoveId.AROMATIC_MIST ], + [ 12, MoveId.MEGA_DRAIN ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 30, MoveId.SWEET_SCENT ], + [ 36, MoveId.GIGA_DRAIN ], + [ 42, MoveId.NASTY_PLOT ], + [ 48, MoveId.SHADOW_BALL ], + [ 54, MoveId.MEMENTO ], + [ 60, MoveId.SHELL_SMASH ], + ], + [SpeciesId.POLTEAGEIST]: [ + [ EVOLVE_MOVE, MoveId.TEATIME ], + [ 1, MoveId.ABSORB ], // Previous Stage Move, Custom + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.AROMATIC_MIST ], + [ 1, MoveId.STRENGTH_SAP ], + [ 18, MoveId.PROTECT ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 30, MoveId.SWEET_SCENT ], + [ 36, MoveId.GIGA_DRAIN ], + [ 42, MoveId.NASTY_PLOT ], + [ 48, MoveId.SHADOW_BALL ], + [ 54, MoveId.MEMENTO ], + [ 60, MoveId.SHELL_SMASH ], + [ 66, MoveId.CURSE ], + ], + [SpeciesId.HATENNA]: [ + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.PLAY_NICE ], + [ 5, MoveId.LIFE_DEW ], + [ 10, MoveId.DISARMING_VOICE ], + [ 15, MoveId.AROMATIC_MIST ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.HEAL_PULSE ], + [ 30, MoveId.DAZZLING_GLEAM ], + [ 35, MoveId.CALM_MIND ], + [ 40, MoveId.PSYCHIC ], + [ 45, MoveId.HEALING_WISH ], + ], + [SpeciesId.HATTREM]: [ + [ EVOLVE_MOVE, MoveId.BRUTAL_SWING ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.LIFE_DEW ], + [ 15, MoveId.AROMATIC_MIST ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.HEAL_PULSE ], + [ 30, MoveId.DAZZLING_GLEAM ], + [ 37, MoveId.CALM_MIND ], + [ 44, MoveId.PSYCHIC ], + [ 51, MoveId.HEALING_WISH ], + ], + [SpeciesId.HATTERENE]: [ + [ EVOLVE_MOVE, MoveId.PSYCHO_CUT ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.DISARMING_VOICE ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.BRUTAL_SWING ], + [ 1, MoveId.LIFE_DEW ], + [ 15, MoveId.AROMATIC_MIST ], + [ 20, MoveId.PSYBEAM ], + [ 25, MoveId.HEAL_PULSE ], + [ 30, MoveId.DAZZLING_GLEAM ], + [ 37, MoveId.CALM_MIND ], + [ 46, MoveId.PSYCHIC ], + [ 55, MoveId.HEALING_WISH ], + [ 64, MoveId.MAGIC_POWDER ], + ], + [SpeciesId.IMPIDIMP]: [ + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.CONFIDE ], + [ 4, MoveId.BITE ], + [ 8, MoveId.FLATTER ], + [ 12, MoveId.FAKE_TEARS ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.SWAGGER ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.TORMENT ], + [ 33, MoveId.DARK_PULSE ], + [ 36, MoveId.NASTY_PLOT ], + [ 40, MoveId.PLAY_ROUGH ], + [ 44, MoveId.FOUL_PLAY ], + ], + [SpeciesId.MORGREM]: [ + [ EVOLVE_MOVE, MoveId.FALSE_SURRENDER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.FLATTER ], + [ 1, MoveId.CONFIDE ], + [ 12, MoveId.FAKE_TEARS ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.SWAGGER ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.TORMENT ], + [ 35, MoveId.DARK_PULSE ], + [ 40, MoveId.NASTY_PLOT ], + [ 46, MoveId.PLAY_ROUGH ], + [ 52, MoveId.FOUL_PLAY ], + ], + [SpeciesId.GRIMMSNARL]: [ + [ EVOLVE_MOVE, MoveId.SPIRIT_BREAK ], + [ 1, MoveId.BITE ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.FLATTER ], + [ 1, MoveId.BULK_UP ], + [ 1, MoveId.CONFIDE ], + [ 1, MoveId.FALSE_SURRENDER ], + [ 12, MoveId.FAKE_TEARS ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.SWAGGER ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.TORMENT ], + [ 35, MoveId.DARK_PULSE ], + [ 40, MoveId.NASTY_PLOT ], + [ 48, MoveId.PLAY_ROUGH ], + [ 56, MoveId.FOUL_PLAY ], + [ 64, MoveId.HAMMER_ARM ], + ], + [SpeciesId.OBSTAGOON]: [ + [ EVOLVE_MOVE, MoveId.OBSTRUCT ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PIN_MISSILE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.SUBMISSION ], + [ 1, MoveId.LICK ], + [ 1, MoveId.CROSS_CHOP ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.SWITCHEROO ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 9, MoveId.SNARL ], + [ 12, MoveId.HEADBUTT ], + [ 15, MoveId.HONE_CLAWS ], + [ 18, MoveId.FURY_SWIPES ], + [ 23, MoveId.REST ], + [ 28, MoveId.TAKE_DOWN ], + [ 35, MoveId.SCARY_FACE ], + [ 42, MoveId.COUNTER ], + [ 49, MoveId.TAUNT ], + [ 56, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.PERRSERKER]: [ + [ EVOLVE_MOVE, MoveId.IRON_HEAD ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.METAL_BURST ], + [ 1, MoveId.HONE_CLAWS ], + [ 12, MoveId.PAY_DAY ], + [ 16, MoveId.METAL_CLAW ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.SWAGGER ], + [ 31, MoveId.FURY_SWIPES ], + [ 36, MoveId.SCREECH ], + [ 42, MoveId.SLASH ], + [ 48, MoveId.METAL_SOUND ], + [ 54, MoveId.THRASH ], + ], + [SpeciesId.CURSOLA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.PERISH_SONG ], + [ 1, MoveId.ASTONISH ], + [ 15, MoveId.SPITE ], + [ 20, MoveId.ANCIENT_POWER ], + [ 25, MoveId.HEX ], + [ 30, MoveId.CURSE ], + [ 35, MoveId.STRENGTH_SAP ], + [ 40, MoveId.POWER_GEM ], + [ 45, MoveId.NIGHT_SHADE ], + [ 50, MoveId.GRUDGE ], + [ 55, MoveId.MIRROR_COAT ], + ], + [SpeciesId.SIRFETCHD]: [ + [ EVOLVE_MOVE, MoveId.IRON_DEFENSE ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.FIRST_IMPRESSION ], + [ 15, MoveId.ROCK_SMASH ], + [ 20, MoveId.BRUTAL_SWING ], + [ 25, MoveId.DETECT ], + [ 30, MoveId.KNOCK_OFF ], + [ 35, MoveId.DEFOG ], + [ 40, MoveId.BRICK_BREAK ], + [ 45, MoveId.SWORDS_DANCE ], + [ 50, MoveId.SLAM ], + [ 55, MoveId.LEAF_BLADE ], + [ 60, MoveId.FINAL_GAMBIT ], + [ 65, MoveId.BRAVE_BIRD ], + [ 70, MoveId.METEOR_ASSAULT ], + ], + [SpeciesId.MR_RIME]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.BARRIER ], // Previous Stage Move + [ 1, MoveId.TICKLE ], // Previous Stage Move + [ 1, MoveId.MIMIC ], + [ 1, MoveId.LIGHT_SCREEN ], + [ 1, MoveId.REFLECT ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SAFEGUARD ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.ENCORE ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.ROLE_PLAY ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.SLACK_OFF ], + [ 1, MoveId.FAKE_TEARS ], + [ 1, MoveId.BLOCK ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.ICE_SHARD ], + [ 1, MoveId.AFTER_YOU ], + [ 1, MoveId.MISTY_TERRAIN ], + [ 1, MoveId.DAZZLING_GLEAM ], + [ 12, MoveId.CONFUSION ], + [ 16, MoveId.ALLY_SWITCH ], + [ 20, MoveId.ICY_WIND ], + [ 24, MoveId.DOUBLE_KICK ], + [ 28, MoveId.PSYBEAM ], + [ 32, MoveId.HYPNOSIS ], + [ 36, MoveId.MIRROR_COAT ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.FREEZE_DRY ], + [ 48, MoveId.PSYCHIC ], + [ 52, MoveId.TEETER_DANCE ], + ], + [SpeciesId.RUNERIGUS]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_CLAW ], + [ 1, MoveId.NIGHT_SHADE ], + [ 1, MoveId.HAZE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SCARY_FACE ], + [ 1, MoveId.ASTONISH ], + [ 12, MoveId.DISABLE ], + [ 16, MoveId.BRUTAL_SWING ], + [ 20, MoveId.CRAFTY_SHIELD ], + [ 24, MoveId.HEX ], + [ 28, MoveId.MEAN_LOOK ], + [ 32, MoveId.SLAM ], + [ 38, MoveId.CURSE ], + [ 44, MoveId.SHADOW_BALL ], + [ 50, MoveId.EARTHQUAKE ], + [ 56, MoveId.GUARD_SPLIT ], + [ 56, MoveId.POWER_SPLIT ], + [ 62, MoveId.DESTINY_BOND ], + ], + [SpeciesId.MILCERY]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.AROMATIC_MIST ], + [ 5, MoveId.SWEET_KISS ], + [ 10, MoveId.SWEET_SCENT ], + [ 15, MoveId.DRAINING_KISS ], + [ 20, MoveId.AROMATHERAPY ], + [ 25, MoveId.ATTRACT ], + [ 30, MoveId.ACID_ARMOR ], + [ 35, MoveId.DAZZLING_GLEAM ], + [ 40, MoveId.RECOVER ], + [ 45, MoveId.MISTY_TERRAIN ], + [ 50, MoveId.ENTRAINMENT ], + ], + [SpeciesId.ALCREMIE]: [ + [ EVOLVE_MOVE, MoveId.DECORATE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.AROMATIC_MIST ], + [ 15, MoveId.DRAINING_KISS ], + [ 20, MoveId.AROMATHERAPY ], + [ 25, MoveId.ATTRACT ], + [ 30, MoveId.ACID_ARMOR ], + [ 35, MoveId.DAZZLING_GLEAM ], + [ 40, MoveId.RECOVER ], + [ 45, MoveId.MISTY_TERRAIN ], + [ 50, MoveId.ENTRAINMENT ], + ], + [SpeciesId.FALINKS]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 5, MoveId.ROCK_SMASH ], + [ 10, MoveId.FOCUS_ENERGY ], + [ 15, MoveId.HEADBUTT ], + [ 20, MoveId.BULK_UP ], + [ 25, MoveId.ENDURE ], + [ 30, MoveId.REVERSAL ], + [ 35, MoveId.FIRST_IMPRESSION ], + [ 40, MoveId.NO_RETREAT ], + [ 45, MoveId.IRON_DEFENSE ], + [ 50, MoveId.CLOSE_COMBAT ], + [ 55, MoveId.MEGAHORN ], + [ 60, MoveId.COUNTER ], + ], + [SpeciesId.PINCURCHIN]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 5, MoveId.WATER_GUN ], + [ 10, MoveId.CHARGE ], + [ 15, MoveId.FURY_ATTACK ], + [ 20, MoveId.SPARK ], + [ 25, MoveId.BUBBLE_BEAM ], + [ 30, MoveId.RECOVER ], + [ 35, MoveId.CURSE ], + [ 40, MoveId.ELECTRIC_TERRAIN ], + [ 45, MoveId.POISON_JAB ], + [ 50, MoveId.ZING_ZAP ], + [ 55, MoveId.ACUPRESSURE ], + [ 60, MoveId.DISCHARGE ], + ], + [SpeciesId.SNOM]: [ + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.STRUGGLE_BUG ], + ], + [SpeciesId.FROSMOTH]: [ + [ EVOLVE_MOVE, MoveId.ICY_WIND ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.ATTRACT ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.STRUGGLE_BUG ], + [ 4, MoveId.STUN_SPORE ], + [ 8, MoveId.INFESTATION ], + [ 12, MoveId.MIST ], + [ 16, MoveId.DEFOG ], + [ 21, MoveId.FEATHER_DANCE ], + [ 24, MoveId.AURORA_BEAM ], + [ 28, MoveId.SNOWSCAPE ], + [ 32, MoveId.BUG_BUZZ ], + [ 36, MoveId.AURORA_VEIL ], + [ 40, MoveId.BLIZZARD ], + [ 44, MoveId.TAILWIND ], + [ 48, MoveId.WIDE_GUARD ], + [ 52, MoveId.QUIVER_DANCE ], + ], + [SpeciesId.STONJOURNER]: [ + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.BLOCK ], + [ 6, MoveId.ROCK_POLISH ], + [ 12, MoveId.ROCK_TOMB ], + [ 18, MoveId.GRAVITY ], + [ 24, MoveId.STOMP ], + [ 30, MoveId.STEALTH_ROCK ], + [ 36, MoveId.ROCK_SLIDE ], + [ 42, MoveId.BODY_SLAM ], + [ 48, MoveId.WIDE_GUARD ], + [ 54, MoveId.HEAVY_SLAM ], + [ 60, MoveId.STONE_EDGE ], + [ 66, MoveId.MEGA_KICK ], + ], + [SpeciesId.EISCUE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POWDER_SNOW ], + [ 6, MoveId.MIST ], + [ 12, MoveId.WEATHER_BALL ], + [ 18, MoveId.ICY_WIND ], + [ 24, MoveId.HEADBUTT ], + [ 30, MoveId.AMNESIA ], + [ 36, MoveId.FREEZE_DRY ], + [ 42, MoveId.SNOWSCAPE ], + [ 48, MoveId.AURORA_VEIL ], + [ 54, MoveId.SURF ], + [ 60, MoveId.BLIZZARD ], + ], + [SpeciesId.INDEEDEE]: [ + [ 1, MoveId.STORED_POWER ], + [ 1, MoveId.PLAY_NICE ], + [ 5, MoveId.ENCORE ], + [ 10, MoveId.DISARMING_VOICE ], + [ 15, MoveId.PSYBEAM ], + [ 20, MoveId.HELPING_HAND ], + [ 25, MoveId.AFTER_YOU ], + [ 30, MoveId.HEALING_WISH ], + [ 35, MoveId.PSYCHIC ], + [ 40, MoveId.CALM_MIND ], + [ 45, MoveId.POWER_SPLIT ], + [ 50, MoveId.PSYCHIC_TERRAIN ], + [ 55, MoveId.LAST_RESORT ], + ], + [SpeciesId.MORPEKO]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 5, MoveId.LEER ], + [ 10, MoveId.POWER_TRIP ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.FLATTER ], + [ 25, MoveId.BITE ], + [ 30, MoveId.SPARK ], + [ 35, MoveId.TORMENT ], + [ 40, MoveId.AGILITY ], + [ 45, MoveId.BULLET_SEED ], + [ 50, MoveId.CRUNCH ], + [ 55, MoveId.AURA_WHEEL ], + [ 60, MoveId.THRASH ], + ], + [SpeciesId.CUFANT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.ROLLOUT ], + [ 10, MoveId.ROCK_SMASH ], + [ 15, MoveId.BULLDOZE ], + [ 20, MoveId.STOMP ], + [ 25, MoveId.IRON_DEFENSE ], + [ 30, MoveId.DIG ], + [ 35, MoveId.STRENGTH ], + [ 40, MoveId.IRON_HEAD ], + [ 45, MoveId.PLAY_ROUGH ], + [ 50, MoveId.HIGH_HORSEPOWER ], + [ 55, MoveId.SUPERPOWER ], + ], + [SpeciesId.COPPERAJAH]: [ + [ EVOLVE_MOVE, MoveId.HEAVY_SLAM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.ROCK_SMASH ], + [ 15, MoveId.BULLDOZE ], + [ 20, MoveId.STOMP ], + [ 25, MoveId.IRON_DEFENSE ], + [ 30, MoveId.DIG ], + [ 37, MoveId.STRENGTH ], + [ 44, MoveId.IRON_HEAD ], + [ 51, MoveId.PLAY_ROUGH ], + [ 58, MoveId.HIGH_HORSEPOWER ], + [ 65, MoveId.SUPERPOWER ], + ], + [SpeciesId.DRACOZOLT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 7, MoveId.CHARGE ], + [ 14, MoveId.AERIAL_ACE ], + [ 21, MoveId.ANCIENT_POWER ], + [ 28, MoveId.PLUCK ], + [ 35, MoveId.DRAGON_TAIL ], + [ 42, MoveId.STOMP ], + [ 49, MoveId.SLAM ], + [ 56, MoveId.DISCHARGE ], + [ 63, MoveId.BOLT_BEAK ], + [ 70, MoveId.DRAGON_PULSE ], + [ 77, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.ARCTOZOLT]: [ + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.POWDER_SNOW ], + [ 7, MoveId.CHARGE ], + [ 14, MoveId.ECHOED_VOICE ], + [ 21, MoveId.ANCIENT_POWER ], + [ 28, MoveId.PLUCK ], + [ 35, MoveId.AVALANCHE ], + [ 42, MoveId.FREEZE_DRY ], + [ 49, MoveId.SLAM ], + [ 56, MoveId.DISCHARGE ], + [ 63, MoveId.BOLT_BEAK ], + [ 70, MoveId.ICICLE_CRASH ], + [ 77, MoveId.BLIZZARD ], + ], + [SpeciesId.DRACOVISH]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 7, MoveId.PROTECT ], + [ 14, MoveId.BRUTAL_SWING ], + [ 21, MoveId.ANCIENT_POWER ], + [ 28, MoveId.BITE ], + [ 35, MoveId.DRAGON_BREATH ], + [ 42, MoveId.STOMP ], + [ 49, MoveId.SUPER_FANG ], + [ 56, MoveId.CRUNCH ], + [ 63, MoveId.FISHIOUS_REND ], + [ 70, MoveId.DRAGON_PULSE ], + [ 77, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.ARCTOVISH]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.POWDER_SNOW ], + [ 7, MoveId.PROTECT ], + [ 14, MoveId.ICY_WIND ], + [ 21, MoveId.ANCIENT_POWER ], + [ 28, MoveId.BITE ], + [ 35, MoveId.AURORA_VEIL ], + [ 42, MoveId.FREEZE_DRY ], + [ 49, MoveId.SUPER_FANG ], + [ 56, MoveId.CRUNCH ], + [ 63, MoveId.FISHIOUS_REND ], + [ 70, MoveId.ICICLE_CRASH ], + [ 77, MoveId.BLIZZARD ], + ], + [SpeciesId.DURALUDON]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.METAL_CLAW ], + [ 6, MoveId.ROCK_SMASH ], + [ 12, MoveId.HONE_CLAWS ], + [ 18, MoveId.METAL_SOUND ], + [ 24, MoveId.BREAKING_SWIPE ], + [ 30, MoveId.DRAGON_TAIL ], + [ 36, MoveId.IRON_DEFENSE ], + [ 42, MoveId.LASER_FOCUS ], + [ 48, MoveId.DRAGON_CLAW ], + [ 54, MoveId.FLASH_CANNON ], + [ 60, MoveId.METAL_BURST ], + [ 66, MoveId.HYPER_BEAM ], + ], + [SpeciesId.DREEPY]: [ + [ 1, MoveId.BITE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.INFESTATION ], + ], + [SpeciesId.DRAKLOAK]: [ + [ EVOLVE_MOVE, MoveId.DRAGON_PULSE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.INFESTATION ], + [ 6, MoveId.LOCK_ON ], + [ 12, MoveId.ASSURANCE ], + [ 18, MoveId.HEX ], + [ 24, MoveId.AGILITY ], + [ 30, MoveId.DOUBLE_HIT ], + [ 36, MoveId.U_TURN ], + [ 42, MoveId.DRAGON_DANCE ], + [ 48, MoveId.PHANTOM_FORCE ], + [ 54, MoveId.TAKE_DOWN ], + [ 61, MoveId.DRAGON_RUSH ], + [ 66, MoveId.DOUBLE_EDGE ], + [ 72, MoveId.LAST_RESORT ], + ], + [SpeciesId.DRAGAPULT]: [ + [ EVOLVE_MOVE, MoveId.DRAGON_DARTS ], + [ RELEARN_MOVE, MoveId.DRAGON_PULSE ], // Previous Stage Move + [ 1, MoveId.BITE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.INFESTATION ], + [ 6, MoveId.LOCK_ON ], + [ 12, MoveId.ASSURANCE ], + [ 18, MoveId.HEX ], + [ 24, MoveId.AGILITY ], + [ 30, MoveId.DOUBLE_HIT ], + [ 36, MoveId.U_TURN ], + [ 42, MoveId.DRAGON_DANCE ], + [ 48, MoveId.PHANTOM_FORCE ], + [ 54, MoveId.TAKE_DOWN ], + [ 63, MoveId.DRAGON_RUSH ], + [ 70, MoveId.DOUBLE_EDGE ], + [ 78, MoveId.LAST_RESORT ], + ], + [SpeciesId.ZACIAN]: [ + [ 1, MoveId.BITE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.QUICK_GUARD ], + [ 1, MoveId.SACRED_SWORD ], + [ 11, MoveId.SLASH ], + [ 22, MoveId.SWORDS_DANCE ], + [ 33, MoveId.IRON_HEAD ], + [ 44, MoveId.NOBLE_ROAR ], + [ 55, MoveId.CRUNCH ], + [ 66, MoveId.MOONBLAST ], + [ 77, MoveId.CLOSE_COMBAT ], + [ 88, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.ZAMAZENTA]: [ + [ 1, MoveId.BITE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.WIDE_GUARD ], + [ 11, MoveId.SLASH ], + [ 22, MoveId.IRON_DEFENSE ], + [ 33, MoveId.IRON_HEAD ], + [ 44, MoveId.METAL_BURST ], + [ 55, MoveId.CRUNCH ], + [ 66, MoveId.MOONBLAST ], + [ 77, MoveId.CLOSE_COMBAT ], + [ 88, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.ETERNATUS]: [ + [ 1, MoveId.AGILITY ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.POISON_TAIL ], + [ 1, MoveId.DRAGON_TAIL ], + [ 8, MoveId.TOXIC ], + [ 16, MoveId.VENOSHOCK ], + [ 24, MoveId.DRAGON_DANCE ], + [ 32, MoveId.CROSS_POISON ], + [ 40, MoveId.DRAGON_PULSE ], + [ 48, MoveId.FLAMETHROWER ], + [ 56, MoveId.DYNAMAX_CANNON ], + [ 64, MoveId.COSMIC_POWER ], + [ 72, MoveId.RECOVER ], + [ 80, MoveId.HYPER_BEAM ], + [ 88, MoveId.OUTRAGE ], + ], + [SpeciesId.KUBFU]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_SMASH ], + [ 4, MoveId.ENDURE ], + [ 8, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.SCARY_FACE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.BRICK_BREAK ], + [ 28, MoveId.DETECT ], + [ 32, MoveId.BULK_UP ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.DYNAMIC_PUNCH ], + [ 44, MoveId.COUNTER ], + [ 48, MoveId.CLOSE_COMBAT ], + [ 52, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.URSHIFU]: [ + [ EVOLVE_MOVE, MoveId.WICKED_BLOW ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.SCARY_FACE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.BRICK_BREAK ], + [ 28, MoveId.DETECT ], + [ 32, MoveId.BULK_UP ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.DYNAMIC_PUNCH ], + [ 44, MoveId.COUNTER ], + [ 48, MoveId.CLOSE_COMBAT ], + [ 52, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.ZARUDE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.BIND ], + [ 6, MoveId.LEER ], + [ 12, MoveId.VINE_WHIP ], + [ 18, MoveId.GROWTH ], + [ 24, MoveId.FURY_SWIPES ], + [ 30, MoveId.SCARY_FACE ], + [ 36, MoveId.GRASS_KNOT ], + [ 42, MoveId.BITE ], + [ 48, MoveId.U_TURN ], + [ 54, MoveId.SWAGGER ], + [ 60, MoveId.ENERGY_BALL ], + [ 66, MoveId.SYNTHESIS ], + [ 72, MoveId.HAMMER_ARM ], + [ 78, MoveId.THRASH ], + [ 84, MoveId.POWER_WHIP ], + [ 90, MoveId.JUNGLE_HEALING ], + ], + [SpeciesId.REGIELEKI]: [ + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.RAPID_SPIN ], + [ 6, MoveId.ELECTROWEB ], + [ 12, MoveId.ANCIENT_POWER ], + [ 18, MoveId.SHOCK_WAVE ], + [ 24, MoveId.THUNDER_WAVE ], + [ 30, MoveId.EXTREME_SPEED ], + [ 36, MoveId.THUNDER_CAGE ], + [ 42, MoveId.THUNDERBOLT ], + [ 48, MoveId.MAGNET_RISE ], + [ 54, MoveId.THRASH ], + [ 60, MoveId.LOCK_ON ], + [ 66, MoveId.ZAP_CANNON ], + [ 72, MoveId.HYPER_BEAM ], + [ 78, MoveId.EXPLOSION ], + ], + [SpeciesId.REGIDRAGO]: [ + [ 1, MoveId.TWISTER ], + [ 6, MoveId.BITE ], + [ 12, MoveId.ANCIENT_POWER ], + [ 18, MoveId.DRAGON_BREATH ], + [ 30, MoveId.CRUNCH ], + [ 36, MoveId.DRAGON_CLAW ], + [ 42, MoveId.HAMMER_ARM ], + [ 48, MoveId.DRAGON_DANCE ], + [ 54, MoveId.THRASH ], + [ 60, MoveId.FOCUS_ENERGY ], + [ 66, MoveId.DRAGON_ENERGY ], + [ 72, MoveId.HYPER_BEAM ], + [ 78, MoveId.EXPLOSION ], + ], + [SpeciesId.GLASTRIER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 6, MoveId.DOUBLE_KICK ], + [ 12, MoveId.AVALANCHE ], + [ 18, MoveId.STOMP ], + [ 24, MoveId.TORMENT ], + [ 30, MoveId.MIST ], + [ 36, MoveId.ICICLE_CRASH ], + [ 42, MoveId.TAKE_DOWN ], + [ 48, MoveId.IRON_DEFENSE ], + [ 54, MoveId.THRASH ], + [ 60, MoveId.TAUNT ], + [ 66, MoveId.DOUBLE_EDGE ], + [ 72, MoveId.SWORDS_DANCE ], + ], + [SpeciesId.SPECTRIER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 6, MoveId.DOUBLE_KICK ], + [ 12, MoveId.HEX ], + [ 18, MoveId.STOMP ], + [ 24, MoveId.CONFUSE_RAY ], + [ 30, MoveId.HAZE ], + [ 36, MoveId.SHADOW_BALL ], + [ 42, MoveId.TAKE_DOWN ], + [ 48, MoveId.AGILITY ], + [ 54, MoveId.THRASH ], + [ 60, MoveId.DISABLE ], + [ 66, MoveId.DOUBLE_EDGE ], + [ 72, MoveId.NASTY_PLOT ], + ], + [SpeciesId.CALYREX]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.CONFUSION ], + [ 8, MoveId.LIFE_DEW ], + [ 16, MoveId.GIGA_DRAIN ], + [ 24, MoveId.PSYSHOCK ], + [ 32, MoveId.HELPING_HAND ], + [ 40, MoveId.GRASSY_TERRAIN ], + [ 40, MoveId.PSYCHIC_TERRAIN ], + [ 48, MoveId.ENERGY_BALL ], + [ 56, MoveId.PSYCHIC ], + [ 64, MoveId.LEECH_SEED ], + [ 72, MoveId.HEAL_PULSE ], + [ 80, MoveId.SOLAR_BEAM ], + [ 88, MoveId.FUTURE_SIGHT ], + ], + [SpeciesId.WYRDEER]: [ + [ EVOLVE_MOVE, MoveId.PSYSHIELD_BASH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ME_FIRST ], // Previous Stage Move + [ 3, MoveId.LEER ], + [ 7, MoveId.ASTONISH ], + [ 10, MoveId.HYPNOSIS ], + [ 13, MoveId.STOMP ], + [ 16, MoveId.SAND_ATTACK ], + [ 21, MoveId.TAKE_DOWN ], + [ 23, MoveId.CONFUSE_RAY ], + [ 27, MoveId.CALM_MIND ], + [ 32, MoveId.ROLE_PLAY ], + [ 37, MoveId.ZEN_HEADBUTT ], + [ 49, MoveId.IMPRISON ], + [ 55, MoveId.DOUBLE_EDGE ], + [ 62, MoveId.MEGAHORN ], + ], + [SpeciesId.KLEAVOR]: [ + [ EVOLVE_MOVE, MoveId.STONE_AXE ], + [ 1, MoveId.WING_ATTACK ], // Previous Stage Move + [ 1, MoveId.AIR_SLASH ], // Previous Stage Move + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 4, MoveId.FURY_CUTTER ], + [ 8, MoveId.FALSE_SWIPE ], + [ 12, MoveId.SMACK_DOWN ], + [ 16, MoveId.DOUBLE_TEAM ], + [ 20, MoveId.DOUBLE_HIT ], + [ 24, MoveId.SLASH ], + [ 28, MoveId.FOCUS_ENERGY ], + [ 30, MoveId.STEEL_WING ], // Custom + [ 32, MoveId.AGILITY ], + [ 36, MoveId.ROCK_SLIDE ], + [ 40, MoveId.X_SCISSOR ], + [ 44, MoveId.SWORDS_DANCE ], + ], + [SpeciesId.URSALUNA]: [ + [ EVOLVE_MOVE, MoveId.HEADLONG_RUSH ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LICK ], + [ 1, MoveId.COVET ], + [ 1, MoveId.FLING ], // Previous Stage Move + [ 1, MoveId.BABY_DOLL_EYES ], // Previous Stage Move + [ 1, MoveId.FAKE_TEARS ], + [ 1, MoveId.CHARM ], // Previous Stage Moves + [ 8, MoveId.FURY_SWIPES ], + [ 13, MoveId.PAYBACK ], + [ 17, MoveId.SWEET_SCENT ], + [ 22, MoveId.SLASH ], + [ 25, MoveId.PLAY_NICE ], + [ 29, MoveId.PLAY_ROUGH ], + [ 35, MoveId.SCARY_FACE ], + [ 41, MoveId.REST ], + [ 41, MoveId.SNORE ], + [ 48, MoveId.HIGH_HORSEPOWER ], + [ 56, MoveId.THRASH ], + [ 64, MoveId.HAMMER_ARM ], + ], + [SpeciesId.BASCULEGION]: [ + [ RELEARN_MOVE, MoveId.FINAL_GAMBIT ], // Previous Stage Move, White Stripe currently shares moveset with other forms + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SHADOW_BALL ], + [ 1, MoveId.PHANTOM_FORCE ], + [ 4, MoveId.TACKLE ], + [ 8, MoveId.FLAIL ], + [ 12, MoveId.AQUA_JET ], + [ 16, MoveId.BITE ], + [ 20, MoveId.SCARY_FACE ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.SOAK ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.UPROAR ], + [ 44, MoveId.WAVE_CRASH ], + [ 48, MoveId.THRASH ], + [ 52, MoveId.DOUBLE_EDGE ], + [ 56, MoveId.HEAD_SMASH ], + ], + [SpeciesId.SNEASLER]: [ + [ EVOLVE_MOVE, MoveId.DIRE_CLAW ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.FLING ], + [ 6, MoveId.TAUNT ], + [ 12, MoveId.QUICK_ATTACK ], + [ 18, MoveId.METAL_CLAW ], + [ 24, MoveId.POISON_JAB ], + [ 30, MoveId.BRICK_BREAK ], + [ 36, MoveId.HONE_CLAWS ], + [ 42, MoveId.SLASH ], + [ 48, MoveId.AGILITY ], + [ 54, MoveId.SCREECH ], + [ 60, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.OVERQWIL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POISON_STING ], + [ 4, MoveId.HARDEN ], + [ 8, MoveId.BITE ], + [ 12, MoveId.FELL_STINGER ], + [ 16, MoveId.MINIMIZE ], + [ 20, MoveId.SPIKES ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.BARB_BARRAGE ], + [ 32, MoveId.PIN_MISSILE ], + [ 36, MoveId.TOXIC_SPIKES ], + [ 40, MoveId.STOCKPILE ], + [ 40, MoveId.SPIT_UP ], + [ 44, MoveId.TOXIC ], + [ 48, MoveId.CRUNCH ], + [ 52, MoveId.ACUPRESSURE ], + [ 56, MoveId.DESTINY_BOND ], + ], + [SpeciesId.ENAMORUS]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.FAIRY_WIND ], + [ 5, MoveId.TORMENT ], + [ 10, MoveId.FLATTER ], + [ 15, MoveId.TWISTER ], + [ 20, MoveId.DRAINING_KISS ], + [ 25, MoveId.IRON_DEFENSE ], + [ 30, MoveId.IMPRISON ], + [ 35, MoveId.MYSTICAL_FIRE ], + [ 40, MoveId.DAZZLING_GLEAM ], + [ 45, MoveId.EXTRASENSORY ], + [ 50, MoveId.UPROAR ], + [ 55, MoveId.SUPERPOWER ], + [ 60, MoveId.HEALING_WISH ], + [ 65, MoveId.MOONBLAST ], + [ 70, MoveId.OUTRAGE ], + [ 75, MoveId.SPRINGTIDE_STORM ], + ], + [SpeciesId.SPRIGATITO]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.LEAFAGE ], + [ 7, MoveId.BITE ], + [ 10, MoveId.HONE_CLAWS ], + [ 13, MoveId.MAGICAL_LEAF ], + [ 15, MoveId.QUICK_ATTACK ], + [ 17, MoveId.SEED_BOMB ], + [ 21, MoveId.U_TURN ], + [ 25, MoveId.WORRY_SEED ], + [ 28, MoveId.SLASH ], + [ 32, MoveId.ENERGY_BALL ], + [ 36, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.FLORAGATO]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.LEAFAGE ], + [ 7, MoveId.BITE ], + [ 10, MoveId.HONE_CLAWS ], + [ 13, MoveId.MAGICAL_LEAF ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.SEED_BOMB ], + [ 24, MoveId.U_TURN ], + [ 28, MoveId.WORRY_SEED ], + [ 33, MoveId.SLASH ], + [ 38, MoveId.ENERGY_BALL ], + [ 42, MoveId.PLAY_ROUGH ], + [ 46, MoveId.LEAF_STORM ], + ], + [SpeciesId.MEOWSCARADA]: [ + [ EVOLVE_MOVE, MoveId.FLOWER_TRICK ], + [ RELEARN_MOVE, MoveId.DOUBLE_TEAM ], + [ RELEARN_MOVE, MoveId.TRICK ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.LEAFAGE ], + [ 7, MoveId.BITE ], + [ 10, MoveId.HONE_CLAWS ], + [ 13, MoveId.MAGICAL_LEAF ], + [ 15, MoveId.QUICK_ATTACK ], + [ 20, MoveId.SEED_BOMB ], + [ 24, MoveId.U_TURN ], + [ 29, MoveId.WORRY_SEED ], + [ 33, MoveId.SLASH ], + [ 38, MoveId.NIGHT_SLASH ], + [ 42, MoveId.ENERGY_BALL ], + [ 47, MoveId.PLAY_ROUGH ], + [ 52, MoveId.KNOCK_OFF ], + [ 58, MoveId.GRASSY_TERRAIN ], + [ 64, MoveId.LEAF_STORM ], + ], + [SpeciesId.FUECOCO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 7, MoveId.ROUND ], + [ 12, MoveId.BITE ], + [ 15, MoveId.INCINERATE ], + [ 17, MoveId.YAWN ], + [ 21, MoveId.SNARL ], + [ 25, MoveId.ROAR ], + [ 28, MoveId.FLAMETHROWER ], + [ 32, MoveId.HYPER_VOICE ], + [ 36, MoveId.FIRE_BLAST ], + ], + [SpeciesId.CROCALOR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 7, MoveId.LICK ], + [ 10, MoveId.ROUND ], + [ 12, MoveId.BITE ], + [ 15, MoveId.YAWN ], + [ 17, MoveId.INCINERATE ], + [ 24, MoveId.SNARL ], + [ 28, MoveId.ROAR ], + [ 32, MoveId.FLAMETHROWER ], + [ 38, MoveId.HYPER_VOICE ], + [ 42, MoveId.WILL_O_WISP ], + [ 47, MoveId.FIRE_BLAST ], + ], + [SpeciesId.SKELEDIRGE]: [ + [ EVOLVE_MOVE, MoveId.TORCH_SONG ], + [ RELEARN_MOVE, MoveId.SING ], + [ RELEARN_MOVE, MoveId.YAWN ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 7, MoveId.LICK ], + [ 10, MoveId.ROUND ], + [ 12, MoveId.SCARY_FACE ], + [ 15, MoveId.BITE ], + [ 17, MoveId.INCINERATE ], + [ 24, MoveId.SNARL ], + [ 28, MoveId.ROAR ], + [ 32, MoveId.FLAMETHROWER ], + [ 38, MoveId.SHADOW_BALL ], + [ 42, MoveId.HYPER_VOICE ], + [ 47, MoveId.WILL_O_WISP ], + [ 47, MoveId.HEX ], + [ 58, MoveId.FIRE_BLAST ], + [ 64, MoveId.OVERHEAT ], + ], + [SpeciesId.QUAXLY]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 7, MoveId.WORK_UP ], + [ 10, MoveId.WING_ATTACK ], + [ 13, MoveId.AQUA_JET ], + [ 17, MoveId.DOUBLE_HIT ], + [ 21, MoveId.AQUA_CUTTER ], + [ 24, MoveId.AIR_SLASH ], + [ 28, MoveId.FOCUS_ENERGY ], + [ 31, MoveId.ACROBATICS ], + [ 35, MoveId.LIQUIDATION ], + ], + [SpeciesId.QUAXWELL]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DOUBLE_HIT ], + [ 7, MoveId.WORK_UP ], + [ 10, MoveId.WING_ATTACK ], + [ 13, MoveId.AQUA_JET ], + [ 17, MoveId.WATER_PULSE ], + [ 19, MoveId.LOW_SWEEP ], + [ 23, MoveId.AQUA_CUTTER ], + [ 27, MoveId.AIR_SLASH ], + [ 32, MoveId.FOCUS_ENERGY ], + [ 38, MoveId.ACROBATICS ], + [ 43, MoveId.LIQUIDATION ], + [ 48, MoveId.FEATHER_DANCE ], + ], + [SpeciesId.QUAQUAVAL]: [ + [ EVOLVE_MOVE, MoveId.AQUA_STEP ], + [ RELEARN_MOVE, MoveId.COUNTER ], + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.DOUBLE_HIT ], + [ 7, MoveId.WORK_UP ], + [ 10, MoveId.WING_ATTACK ], + [ 13, MoveId.AQUA_JET ], + [ 17, MoveId.WATER_PULSE ], + [ 17, MoveId.LOW_SWEEP ], + [ 21, MoveId.AQUA_CUTTER ], + [ 27, MoveId.AIR_SLASH ], + [ 32, MoveId.FOCUS_ENERGY ], + [ 38, MoveId.MEGA_KICK ], + [ 43, MoveId.ACROBATICS ], + [ 47, MoveId.LIQUIDATION ], + [ 52, MoveId.FEATHER_DANCE ], + [ 58, MoveId.CLOSE_COMBAT ], + [ 64, MoveId.WAVE_CRASH ], + ], + [SpeciesId.LECHONK]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.DISARMING_VOICE ], + [ 8, MoveId.ECHOED_VOICE ], + [ 12, MoveId.MUD_SHOT ], + [ 15, MoveId.COVET ], + [ 17, MoveId.DIG ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.YAWN ], + [ 27, MoveId.TAKE_DOWN ], + [ 30, MoveId.WORK_UP ], + [ 32, MoveId.UPROAR ], + [ 35, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.OINKOLOGNE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.DISARMING_VOICE ], + [ 8, MoveId.ECHOED_VOICE ], + [ 12, MoveId.MUD_SHOT ], + [ 15, MoveId.COVET ], + [ 17, MoveId.DIG ], + [ 23, MoveId.HEADBUTT ], + [ 26, MoveId.TAKE_DOWN ], + [ 27, MoveId.YAWN ], + [ 34, MoveId.WORK_UP ], + [ 38, MoveId.UPROAR ], + [ 42, MoveId.DOUBLE_EDGE ], + [ 48, MoveId.EARTH_POWER ], + [ 54, MoveId.BELCH ], + ], + [SpeciesId.TAROUNTULA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STRING_SHOT ], + [ 5, MoveId.STRUGGLE_BUG ], + [ 8, MoveId.ASSURANCE ], + [ 11, MoveId.FEINT ], + [ 14, MoveId.BUG_BITE ], + [ 18, MoveId.BLOCK ], + [ 22, MoveId.COUNTER ], + [ 25, MoveId.HEADBUTT ], + [ 29, MoveId.STICKY_WEB ], + [ 33, MoveId.GASTRO_ACID ], + [ 36, MoveId.CIRCLE_THROW ], + [ 40, MoveId.THROAT_CHOP ], + [ 44, MoveId.SKITTER_SMACK ], + ], + [SpeciesId.SPIDOPS]: [ + [ EVOLVE_MOVE, MoveId.SILK_TRAP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.STRING_SHOT ], + [ 5, MoveId.STRUGGLE_BUG ], + [ 8, MoveId.ASSURANCE ], + [ 11, MoveId.FEINT ], + [ 14, MoveId.BUG_BITE ], + [ 19, MoveId.BLOCK ], + [ 24, MoveId.COUNTER ], + [ 28, MoveId.HEADBUTT ], + [ 33, MoveId.STICKY_WEB ], + [ 37, MoveId.GASTRO_ACID ], + [ 41, MoveId.CIRCLE_THROW ], + [ 45, MoveId.THROAT_CHOP ], + [ 49, MoveId.SKITTER_SMACK ], + ], + [SpeciesId.NYMBLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 4, MoveId.STRUGGLE_BUG ], + [ 6, MoveId.ASTONISH ], + [ 9, MoveId.ASSURANCE ], + [ 11, MoveId.DOUBLE_KICK ], + [ 14, MoveId.SCREECH ], + [ 18, MoveId.ENDURE ], + [ 22, MoveId.BUG_BITE ], + [ 26, MoveId.FEINT ], + [ 30, MoveId.AGILITY ], + [ 38, MoveId.SUCKER_PUNCH ], + [ 41, MoveId.FIRST_IMPRESSION ], + ], + [SpeciesId.LOKIX]: [ + [ EVOLVE_MOVE, MoveId.LUNGE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.DETECT ], + [ 4, MoveId.STRUGGLE_BUG ], + [ 6, MoveId.ASTONISH ], + [ 9, MoveId.ASSURANCE ], + [ 11, MoveId.DOUBLE_KICK ], + [ 14, MoveId.SCREECH ], + [ 18, MoveId.ENDURE ], + [ 22, MoveId.BUG_BITE ], + [ 28, MoveId.FEINT ], + [ 32, MoveId.AGILITY ], + [ 36, MoveId.THROAT_CHOP ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.FIRST_IMPRESSION ], + [ 48, MoveId.BOUNCE ], + [ 53, MoveId.AXE_KICK ], + ], + [SpeciesId.PAWMI]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.THUNDER_SHOCK ], + [ 6, MoveId.QUICK_ATTACK ], + [ 8, MoveId.CHARGE ], + [ 12, MoveId.NUZZLE ], + [ 15, MoveId.DIG ], + [ 19, MoveId.BITE ], + [ 23, MoveId.SPARK ], + [ 27, MoveId.THUNDER_WAVE ], + [ 31, MoveId.ENTRAINMENT ], + [ 35, MoveId.SLAM ], + [ 38, MoveId.DISCHARGE ], + [ 40, MoveId.AGILITY ], + [ 44, MoveId.WILD_CHARGE ], + ], + [SpeciesId.PAWMO]: [ + [ EVOLVE_MOVE, MoveId.ARM_THRUST ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.THUNDER_SHOCK ], + [ 6, MoveId.QUICK_ATTACK ], + [ 8, MoveId.CHARGE ], + [ 12, MoveId.NUZZLE ], + [ 15, MoveId.DIG ], + [ 19, MoveId.BITE ], + [ 23, MoveId.SPARK ], + [ 27, MoveId.THUNDER_WAVE ], + [ 32, MoveId.SLAM ], + [ 38, MoveId.ENTRAINMENT ], + [ 42, MoveId.DISCHARGE ], + [ 46, MoveId.AGILITY ], + [ 52, MoveId.WILD_CHARGE ], + ], + [SpeciesId.PAWMOT]: [ + [ EVOLVE_MOVE, MoveId.REVIVAL_BLESSING ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WILD_CHARGE ], + [ 3, MoveId.THUNDER_SHOCK ], + [ 6, MoveId.QUICK_ATTACK ], + [ 8, MoveId.CHARGE ], + [ 12, MoveId.NUZZLE ], + [ 15, MoveId.DIG ], + [ 19, MoveId.BITE ], + [ 23, MoveId.SPARK ], + [ 25, MoveId.ARM_THRUST ], + [ 29, MoveId.THUNDER_WAVE ], + [ 33, MoveId.SLAM ], + [ 39, MoveId.ENTRAINMENT ], + [ 44, MoveId.CLOSE_COMBAT ], + [ 49, MoveId.DISCHARGE ], + [ 54, MoveId.AGILITY ], + [ 60, MoveId.DOUBLE_SHOCK ], + ], + [SpeciesId.TANDEMAUS]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 5, MoveId.ECHOED_VOICE ], + [ 8, MoveId.HELPING_HAND ], + [ 11, MoveId.SUPER_FANG ], + [ 14, MoveId.DOUBLE_HIT ], + [ 18, MoveId.BULLET_SEED ], + [ 22, MoveId.ENCORE ], + [ 26, MoveId.PLAY_ROUGH ], + [ 30, MoveId.HYPER_VOICE ], + [ 33, MoveId.CHARM ], + [ 37, MoveId.BEAT_UP ], + [ 41, MoveId.COPYCAT ], + [ 46, MoveId.POPULATION_BOMB ], + ], + [SpeciesId.MAUSHOLD]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.FOLLOW_ME ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 1, MoveId.TIDY_UP ], + [ 5, MoveId.ECHOED_VOICE ], + [ 8, MoveId.HELPING_HAND ], + [ 11, MoveId.SUPER_FANG ], + [ 14, MoveId.DOUBLE_HIT ], + [ 18, MoveId.BULLET_SEED ], + [ 22, MoveId.ENCORE ], + [ 29, MoveId.PLAY_ROUGH ], + [ 33, MoveId.HYPER_VOICE ], + [ 37, MoveId.CHARM ], + [ 41, MoveId.BEAT_UP ], + [ 46, MoveId.COPYCAT ], + [ 53, MoveId.POPULATION_BOMB ], + ], + [SpeciesId.FIDOUGH]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.LICK ], + [ 6, MoveId.TAIL_WHIP ], + [ 8, MoveId.COVET ], + [ 11, MoveId.BITE ], + [ 15, MoveId.BABY_DOLL_EYES ], + [ 18, MoveId.PLAY_ROUGH ], + [ 22, MoveId.WORK_UP ], + [ 26, MoveId.BATON_PASS ], + [ 30, MoveId.ROAR ], + [ 33, MoveId.DOUBLE_EDGE ], + [ 36, MoveId.CHARM ], + [ 40, MoveId.CRUNCH ], + [ 45, MoveId.LAST_RESORT ], + ], + [SpeciesId.DACHSBUN]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.LICK ], + [ 6, MoveId.TAIL_WHIP ], + [ 8, MoveId.COVET ], + [ 11, MoveId.BITE ], + [ 15, MoveId.BABY_DOLL_EYES ], + [ 18, MoveId.PLAY_ROUGH ], + [ 22, MoveId.WORK_UP ], + [ 29, MoveId.BATON_PASS ], + [ 33, MoveId.ROAR ], + [ 38, MoveId.DOUBLE_EDGE ], + [ 42, MoveId.CHARM ], + [ 47, MoveId.CRUNCH ], + [ 53, MoveId.LAST_RESORT ], + ], + [SpeciesId.SMOLIV]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SWEET_SCENT ], + [ 5, MoveId.ABSORB ], + [ 7, MoveId.GROWTH ], + [ 10, MoveId.RAZOR_LEAF ], + [ 13, MoveId.HELPING_HAND ], + [ 16, MoveId.FLAIL ], + [ 20, MoveId.MEGA_DRAIN ], + [ 23, MoveId.GRASSY_TERRAIN ], + [ 27, MoveId.SEED_BOMB ], + [ 30, MoveId.ENERGY_BALL ], + [ 34, MoveId.LEECH_SEED ], + [ 38, MoveId.TERRAIN_PULSE ], + ], + [SpeciesId.DOLLIV]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SWEET_SCENT ], + [ 5, MoveId.ABSORB ], + [ 7, MoveId.GROWTH ], + [ 10, MoveId.RAZOR_LEAF ], + [ 13, MoveId.HELPING_HAND ], + [ 16, MoveId.FLAIL ], + [ 20, MoveId.MEGA_DRAIN ], + [ 23, MoveId.GRASSY_TERRAIN ], + [ 29, MoveId.SEED_BOMB ], + [ 34, MoveId.ENERGY_BALL ], + [ 37, MoveId.LEECH_SEED ], + [ 42, MoveId.TERRAIN_PULSE ], + ], + [SpeciesId.ARBOLIVA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SAFEGUARD ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.MIRROR_COAT ], + [ 5, MoveId.ABSORB ], + [ 7, MoveId.GROWTH ], + [ 10, MoveId.RAZOR_LEAF ], + [ 13, MoveId.HELPING_HAND ], + [ 16, MoveId.FLAIL ], + [ 20, MoveId.MEGA_DRAIN ], + [ 23, MoveId.GRASSY_TERRAIN ], + [ 29, MoveId.SEED_BOMB ], + [ 34, MoveId.ENERGY_BALL ], + [ 39, MoveId.LEECH_SEED ], + [ 46, MoveId.TERRAIN_PULSE ], + [ 52, MoveId.PETAL_BLIZZARD ], + [ 58, MoveId.PETAL_DANCE ], + ], + [SpeciesId.SQUAWKABILLY]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 1, MoveId.MIMIC ], + [ 6, MoveId.QUICK_ATTACK ], + [ 10, MoveId.TORMENT ], + [ 13, MoveId.AERIAL_ACE ], + [ 17, MoveId.FURY_ATTACK ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.UPROAR ], + [ 27, MoveId.COPYCAT ], + [ 30, MoveId.FLY ], + [ 34, MoveId.FACADE ], + [ 38, MoveId.SWAGGER ], + [ 42, MoveId.BRAVE_BIRD ], + [ 47, MoveId.ROOST ], + [ 52, MoveId.REVERSAL ], + ], + [SpeciesId.NACLI]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.ROCK_THROW ], + [ 7, MoveId.MUD_SHOT ], + [ 10, MoveId.SMACK_DOWN ], + [ 13, MoveId.ROCK_POLISH ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.IRON_DEFENSE ], + [ 25, MoveId.RECOVER ], + [ 30, MoveId.ROCK_SLIDE ], + [ 33, MoveId.STEALTH_ROCK ], + [ 35, MoveId.HEAVY_SLAM ], + [ 40, MoveId.EARTHQUAKE ], + [ 45, MoveId.STONE_EDGE ], + ], + [SpeciesId.NACLSTACK]: [ + [ EVOLVE_MOVE, MoveId.SALT_CURE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.ROCK_THROW ], + [ 7, MoveId.MUD_SHOT ], + [ 10, MoveId.SMACK_DOWN ], + [ 13, MoveId.ROCK_POLISH ], + [ 16, MoveId.HEADBUTT ], + [ 20, MoveId.IRON_DEFENSE ], + [ 30, MoveId.RECOVER ], + [ 34, MoveId.ROCK_SLIDE ], + [ 38, MoveId.STEALTH_ROCK ], + [ 41, MoveId.HEAVY_SLAM ], + [ 45, MoveId.EARTHQUAKE ], + [ 51, MoveId.STONE_EDGE ], + ], + [SpeciesId.GARGANACL]: [ + [ EVOLVE_MOVE, MoveId.HAMMER_ARM ], + [ RELEARN_MOVE, MoveId.IRON_DEFENSE ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.BLOCK ], + [ 1, MoveId.ROCK_BLAST ], + [ 1, MoveId.SMACK_DOWN ], // Previous Stage Move + [ 1, MoveId.WIDE_GUARD ], + [ 5, MoveId.ROCK_THROW ], + [ 7, MoveId.MUD_SHOT ], + [ 10, MoveId.ROCK_TOMB ], + [ 13, MoveId.ROCK_POLISH ], + [ 16, MoveId.HEADBUTT ], + [ 24, MoveId.SALT_CURE ], + [ 30, MoveId.RECOVER ], + [ 34, MoveId.ROCK_SLIDE ], + [ 40, MoveId.STEALTH_ROCK ], + [ 44, MoveId.HEAVY_SLAM ], + [ 49, MoveId.EARTHQUAKE ], + [ 54, MoveId.STONE_EDGE ], + [ 60, MoveId.EXPLOSION ], + ], + [SpeciesId.CHARCADET]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.ASTONISH ], + [ 8, MoveId.CLEAR_SMOG ], + [ 12, MoveId.FIRE_SPIN ], + [ 16, MoveId.WILL_O_WISP ], + [ 20, MoveId.NIGHT_SHADE ], + [ 24, MoveId.FLAME_CHARGE ], + [ 28, MoveId.INCINERATE ], + [ 32, MoveId.LAVA_PLUME ], + ], + [SpeciesId.ARMAROUGE]: [ + [ EVOLVE_MOVE, MoveId.PSYSHOCK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.WIDE_GUARD ], + [ 1, MoveId.MYSTICAL_FIRE ], + [ 8, MoveId.CLEAR_SMOG ], + [ 12, MoveId.FIRE_SPIN ], + [ 16, MoveId.WILL_O_WISP ], + [ 20, MoveId.NIGHT_SHADE ], + [ 24, MoveId.FLAME_CHARGE ], + [ 28, MoveId.INCINERATE ], + [ 32, MoveId.LAVA_PLUME ], + [ 37, MoveId.CALM_MIND ], + [ 42, MoveId.ALLY_SWITCH ], + [ 48, MoveId.FLAMETHROWER ], + [ 56, MoveId.EXPANDING_FORCE ], + [ 62, MoveId.ARMOR_CANNON ], + ], + [SpeciesId.CERULEDGE]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_CLAW ], + [ RELEARN_MOVE, MoveId.NIGHT_SLASH ], + [ RELEARN_MOVE, MoveId.SHADOW_SNEAK ], + [ RELEARN_MOVE, MoveId.QUICK_GUARD ], + [ RELEARN_MOVE, MoveId.SOLAR_BLADE ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ASTONISH ], + [ 8, MoveId.CLEAR_SMOG ], + [ 12, MoveId.FIRE_SPIN ], + [ 16, MoveId.WILL_O_WISP ], + [ 20, MoveId.NIGHT_SHADE ], + [ 24, MoveId.FLAME_CHARGE ], + [ 28, MoveId.INCINERATE ], + [ 32, MoveId.LAVA_PLUME ], + [ 37, MoveId.SWORDS_DANCE ], + [ 42, MoveId.ALLY_SWITCH ], + [ 48, MoveId.BITTER_BLADE ], + [ 56, MoveId.PSYCHO_CUT ], + [ 62, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.TADBULB]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.MUD_SLAP ], + [ 7, MoveId.THUNDER_SHOCK ], + [ 11, MoveId.WATER_GUN ], + [ 17, MoveId.CHARGE ], + [ 21, MoveId.SPARK ], + [ 24, MoveId.MUD_SHOT ], + [ 25, MoveId.FLAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.WEATHER_BALL ], + [ 40, MoveId.ELECTRIC_TERRAIN ], + [ 45, MoveId.SUCKER_PUNCH ], + [ 50, MoveId.ZAP_CANNON ], + ], + [SpeciesId.BELLIBOLT]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.SLACK_OFF ], + [ 7, MoveId.THUNDER_SHOCK ], + [ 11, MoveId.WATER_GUN ], + [ 17, MoveId.CHARGE ], + [ 21, MoveId.SPARK ], + [ 24, MoveId.MUD_SHOT ], + [ 25, MoveId.FLAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.WEATHER_BALL ], + [ 40, MoveId.ELECTRIC_TERRAIN ], + [ 45, MoveId.SUCKER_PUNCH ], + [ 50, MoveId.ZAP_CANNON ], + ], + [SpeciesId.WATTREL]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 4, MoveId.THUNDER_SHOCK ], + [ 7, MoveId.QUICK_ATTACK ], + [ 11, MoveId.PLUCK ], + [ 15, MoveId.SPARK ], + [ 19, MoveId.UPROAR ], + [ 23, MoveId.ROOST ], + [ 27, MoveId.DUAL_WINGBEAT ], + [ 32, MoveId.AGILITY ], + [ 37, MoveId.VOLT_SWITCH ], + [ 43, MoveId.DISCHARGE ], + ], + [SpeciesId.KILOWATTREL]: [ + [ EVOLVE_MOVE, MoveId.ELECTRO_BALL ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 4, MoveId.THUNDER_SHOCK ], + [ 7, MoveId.QUICK_ATTACK ], + [ 11, MoveId.PLUCK ], + [ 15, MoveId.SPARK ], + [ 19, MoveId.UPROAR ], + [ 24, MoveId.ROOST ], + [ 30, MoveId.DUAL_WINGBEAT ], + [ 36, MoveId.AGILITY ], + [ 43, MoveId.VOLT_SWITCH ], + [ 48, MoveId.DISCHARGE ], + [ 55, MoveId.HURRICANE ], + ], + [SpeciesId.MASCHIFF]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.SCARY_FACE ], + [ 4, MoveId.LICK ], + [ 7, MoveId.SNARL ], + [ 10, MoveId.HONE_CLAWS ], + [ 14, MoveId.BITE ], + [ 18, MoveId.ROAR ], + [ 22, MoveId.HEADBUTT ], + [ 26, MoveId.PAYBACK ], + [ 31, MoveId.CRUNCH ], + [ 35, MoveId.SWAGGER ], + [ 39, MoveId.REVERSAL ], + [ 43, MoveId.JAW_LOCK ], + [ 49, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.MABOSSTIFF]: [ + [ EVOLVE_MOVE, MoveId.COMEUPPANCE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.SCARY_FACE ], + [ 4, MoveId.LICK ], + [ 7, MoveId.SNARL ], + [ 10, MoveId.HONE_CLAWS ], + [ 14, MoveId.BITE ], + [ 18, MoveId.ROAR ], + [ 22, MoveId.HEADBUTT ], + [ 26, MoveId.PAYBACK ], + [ 34, MoveId.CRUNCH ], + [ 39, MoveId.SWAGGER ], + [ 43, MoveId.REVERSAL ], + [ 48, MoveId.JAW_LOCK ], + [ 55, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.OUTRAGE ], + ], + [SpeciesId.SHROODLE]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 5, MoveId.ACID_SPRAY ], + [ 8, MoveId.BITE ], + [ 8, MoveId.FURY_SWIPES ], + [ 11, MoveId.SWITCHEROO ], + [ 14, MoveId.POISON_FANG ], + [ 18, MoveId.FLATTER ], + [ 21, MoveId.SLASH ], + [ 25, MoveId.U_TURN ], + [ 29, MoveId.POISON_JAB ], + [ 33, MoveId.TAUNT ], + [ 36, MoveId.SUBSTITUTE ], + [ 40, MoveId.KNOCK_OFF ], + [ 45, MoveId.GUNK_SHOT ], + ], + [SpeciesId.GRAFAIAI]: [ + [ EVOLVE_MOVE, MoveId.DOODLE ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], // Previous Stage Move + [ 5, MoveId.ACID_SPRAY ], + [ 8, MoveId.FURY_SWIPES ], + [ 11, MoveId.SWITCHEROO ], + [ 14, MoveId.POISON_FANG ], + [ 18, MoveId.FLATTER ], + [ 21, MoveId.SLASH ], + [ 25, MoveId.U_TURN ], + [ 33, MoveId.POISON_JAB ], + [ 37, MoveId.TAUNT ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.KNOCK_OFF ], + [ 51, MoveId.GUNK_SHOT ], + ], + [SpeciesId.BRAMBLIN]: [ + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.ABSORB ], + [ 9, MoveId.RAPID_SPIN ], + [ 13, MoveId.BULLET_SEED ], + [ 17, MoveId.INFESTATION ], + [ 21, MoveId.HEX ], + [ 25, MoveId.MEGA_DRAIN ], + [ 29, MoveId.DISABLE ], + [ 35, MoveId.PHANTOM_FORCE ], + [ 40, MoveId.GIGA_DRAIN ], + [ 45, MoveId.CURSE ], + [ 50, MoveId.PAIN_SPLIT ], + [ 55, MoveId.POWER_WHIP ], + ], + [SpeciesId.BRAMBLEGHAST]: [ + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.ABSORB ], + [ 9, MoveId.RAPID_SPIN ], + [ 13, MoveId.BULLET_SEED ], + [ 17, MoveId.INFESTATION ], + [ 21, MoveId.HEX ], + [ 25, MoveId.MEGA_DRAIN ], + [ 29, MoveId.DISABLE ], + [ 35, MoveId.PHANTOM_FORCE ], + [ 40, MoveId.GIGA_DRAIN ], + [ 45, MoveId.CURSE ], + [ 50, MoveId.PAIN_SPLIT ], + [ 55, MoveId.POWER_WHIP ], + ], + [SpeciesId.TOEDSCOOL]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.MUD_SLAP ], + [ 4, MoveId.ABSORB ], + [ 8, MoveId.POISON_POWDER ], + [ 8, MoveId.STUN_SPORE ], + [ 12, MoveId.SUPERSONIC ], + [ 15, MoveId.TACKLE ], + [ 16, MoveId.MEGA_DRAIN ], + [ 20, MoveId.SCREECH ], + [ 24, MoveId.MUD_SHOT ], + [ 28, MoveId.HEX ], + [ 32, MoveId.SEED_BOMB ], + [ 36, MoveId.SPORE ], + [ 40, MoveId.GROWTH ], + [ 44, MoveId.GIGA_DRAIN ], + [ 48, MoveId.EARTH_POWER ], + [ 52, MoveId.POWER_WHIP ], + ], + [SpeciesId.TOEDSCRUEL]: [ + [ 1, MoveId.WRAP ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.REFLECT_TYPE ], + [ 4, MoveId.ABSORB ], + [ 8, MoveId.POISON_POWDER ], + [ 8, MoveId.STUN_SPORE ], + [ 12, MoveId.SUPERSONIC ], + [ 15, MoveId.TACKLE ], + [ 16, MoveId.MEGA_DRAIN ], + [ 20, MoveId.SCREECH ], + [ 24, MoveId.MUD_SHOT ], + [ 28, MoveId.HEX ], + [ 34, MoveId.SEED_BOMB ], + [ 40, MoveId.SPORE ], + [ 44, MoveId.GROWTH ], + [ 48, MoveId.GIGA_DRAIN ], + [ 54, MoveId.EARTH_POWER ], + [ 58, MoveId.POWER_WHIP ], + ], + [SpeciesId.KLAWF]: [ + [ 1, MoveId.ROCK_THROW ], + [ 6, MoveId.HARDEN ], + [ 9, MoveId.ROCK_SMASH ], + [ 13, MoveId.ROCK_TOMB ], + [ 17, MoveId.METAL_CLAW ], + [ 21, MoveId.PROTECT ], + [ 24, MoveId.ROCK_BLAST ], + [ 29, MoveId.X_SCISSOR ], + [ 33, MoveId.SWORDS_DANCE ], + [ 37, MoveId.FLAIL ], + [ 42, MoveId.ROCK_SLIDE ], + [ 47, MoveId.HIGH_HORSEPOWER ], + [ 51, MoveId.IRON_DEFENSE ], + [ 56, MoveId.GUILLOTINE ], + ], + [SpeciesId.CAPSAKID]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.LEAFAGE ], + [ 4, MoveId.BITE ], + [ 10, MoveId.GROWTH ], + [ 13, MoveId.RAZOR_LEAF ], + [ 17, MoveId.SUNNY_DAY ], + [ 21, MoveId.BULLET_SEED ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.ZEN_HEADBUTT ], + [ 38, MoveId.CRUNCH ], + [ 44, MoveId.SEED_BOMB ], + [ 48, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.SCOVILLAIN]: [ + [ EVOLVE_MOVE, MoveId.FLAMETHROWER ], + [ EVOLVE_MOVE, MoveId.SPICY_EXTRACT ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.LEAFAGE ], + [ 4, MoveId.BITE ], + [ 10, MoveId.GROWTH ], + [ 13, MoveId.RAZOR_LEAF ], + [ 17, MoveId.SUNNY_DAY ], + [ 21, MoveId.BULLET_SEED ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.ZEN_HEADBUTT ], + [ 33, MoveId.WORRY_SEED ], + [ 38, MoveId.CRUNCH ], + [ 44, MoveId.SEED_BOMB ], + [ 48, MoveId.SOLAR_BEAM ], + [ 48, MoveId.OVERHEAT ], + ], + [SpeciesId.RELLOR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 4, MoveId.SAND_ATTACK ], + [ 7, MoveId.STRUGGLE_BUG ], + [ 11, MoveId.ROLLOUT ], + [ 15, MoveId.MUD_SHOT ], + [ 20, MoveId.BUG_BITE ], + [ 24, MoveId.TAKE_DOWN ], + [ 29, MoveId.DIG ], + [ 35, MoveId.LUNGE ], + ], + [SpeciesId.RABSCA]: [ + [ EVOLVE_MOVE, MoveId.REVIVAL_BLESSING ], + [ RELEARN_MOVE, MoveId.SAFEGUARD ], + [ RELEARN_MOVE, MoveId.PSYCH_UP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.MUD_SHOT ], // Previous Stage Move + [ 1, MoveId.DIG ], // Previous Stage Move + [ 4, MoveId.SAND_ATTACK ], + [ 7, MoveId.STRUGGLE_BUG ], + [ 11, MoveId.ROLLOUT ], + [ 15, MoveId.PSYBEAM ], + [ 20, MoveId.BUG_BITE ], + [ 24, MoveId.TAKE_DOWN ], + [ 29, MoveId.EXTRASENSORY ], + [ 35, MoveId.LUNGE ], + [ 40, MoveId.POWER_SWAP ], + [ 40, MoveId.GUARD_SWAP ], + [ 40, MoveId.SPEED_SWAP ], + [ 45, MoveId.BUG_BUZZ ], + [ 50, MoveId.PSYCHIC ], + ], + [SpeciesId.FLITTLE]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 5, MoveId.CONFUSION ], + [ 8, MoveId.BABY_DOLL_EYES ], + [ 11, MoveId.DISARMING_VOICE ], + [ 15, MoveId.QUICK_ATTACK ], + [ 19, MoveId.PSYBEAM ], + [ 24, MoveId.PLUCK ], + [ 29, MoveId.AGILITY ], + [ 34, MoveId.UPROAR ], + ], + [SpeciesId.ESPATHRA]: [ + [ EVOLVE_MOVE, MoveId.LUMINA_CRASH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.PECK ], + [ 1, MoveId.DRILL_PECK ], + [ 1, MoveId.FEATHER_DANCE ], + [ 5, MoveId.CONFUSION ], + [ 8, MoveId.BABY_DOLL_EYES ], + [ 11, MoveId.DISARMING_VOICE ], + [ 15, MoveId.QUICK_ATTACK ], + [ 19, MoveId.PSYBEAM ], + [ 24, MoveId.PLUCK ], + [ 29, MoveId.AGILITY ], + [ 34, MoveId.UPROAR ], + [ 43, MoveId.DAZZLING_GLEAM ], + [ 49, MoveId.PSYCHIC ], + [ 54, MoveId.LAST_RESORT ], + ], + [SpeciesId.TINKATINK]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.FAIRY_WIND ], + [ 5, MoveId.BABY_DOLL_EYES ], + [ 8, MoveId.METAL_CLAW ], + [ 11, MoveId.COVET ], + [ 14, MoveId.ROCK_SMASH ], + [ 17, MoveId.DRAINING_KISS ], + [ 21, MoveId.SWEET_KISS ], + [ 24, MoveId.BRUTAL_SWING ], + [ 27, MoveId.SLAM ], + [ 31, MoveId.FLASH_CANNON ], + [ 35, MoveId.PLAY_ROUGH ], + [ 39, MoveId.FAKE_OUT ], + [ 43, MoveId.FLATTER ], + [ 47, MoveId.SKITTER_SMACK ], + [ 52, MoveId.KNOCK_OFF ], + ], + [SpeciesId.TINKATUFF]: [ + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.FAIRY_WIND ], + [ 5, MoveId.BABY_DOLL_EYES ], + [ 8, MoveId.METAL_CLAW ], + [ 11, MoveId.COVET ], + [ 14, MoveId.ROCK_SMASH ], + [ 17, MoveId.DRAINING_KISS ], + [ 21, MoveId.SWEET_KISS ], + [ 24, MoveId.BRUTAL_SWING ], + [ 27, MoveId.SLAM ], + [ 31, MoveId.FLASH_CANNON ], + [ 35, MoveId.PLAY_ROUGH ], + [ 39, MoveId.FAKE_OUT ], + [ 43, MoveId.FLATTER ], + [ 47, MoveId.SKITTER_SMACK ], + [ 52, MoveId.KNOCK_OFF ], + ], + [SpeciesId.TINKATON]: [ + [ EVOLVE_MOVE, MoveId.GIGATON_HAMMER ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.FAIRY_WIND ], + [ 5, MoveId.BABY_DOLL_EYES ], + [ 8, MoveId.METAL_CLAW ], + [ 11, MoveId.COVET ], + [ 14, MoveId.ROCK_SMASH ], + [ 17, MoveId.DRAINING_KISS ], + [ 21, MoveId.SWEET_KISS ], + [ 24, MoveId.BRUTAL_SWING ], + [ 27, MoveId.SLAM ], + [ 31, MoveId.FLASH_CANNON ], + [ 35, MoveId.PLAY_ROUGH ], + [ 39, MoveId.FAKE_OUT ], + [ 43, MoveId.FLATTER ], + [ 47, MoveId.SKITTER_SMACK ], + [ 52, MoveId.KNOCK_OFF ], + ], + [SpeciesId.WIGLETT]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.MUD_SLAP ], + [ 8, MoveId.WRAP ], + [ 12, MoveId.AQUA_JET ], + [ 20, MoveId.SLAM ], + [ 20, MoveId.WATER_PULSE ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.DIG ], + [ 32, MoveId.SUCKER_PUNCH ], + [ 36, MoveId.THROAT_CHOP ], + [ 40, MoveId.LIQUIDATION ], + ], + [SpeciesId.WUGTRIO]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.MUD_SLAP ], + [ 12, MoveId.AQUA_JET ], + [ 16, MoveId.SLAM ], + [ 20, MoveId.WATER_PULSE ], + [ 24, MoveId.HEADBUTT ], + [ 30, MoveId.TRIPLE_DIVE ], + [ 36, MoveId.DIG ], + [ 42, MoveId.SUCKER_PUNCH ], + [ 48, MoveId.THROAT_CHOP ], + [ 54, MoveId.LIQUIDATION ], + ], + [SpeciesId.BOMBIRDIER]: [ + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.MEMENTO ], + [ 1, MoveId.HONE_CLAWS ], + [ 7, MoveId.THIEF ], + [ 11, MoveId.ROCK_THROW ], + [ 16, MoveId.WHIRLWIND ], + [ 20, MoveId.PLUCK ], + [ 24, MoveId.TORMENT ], + [ 29, MoveId.ROCK_TOMB ], + [ 36, MoveId.PAYBACK ], + [ 42, MoveId.DUAL_WINGBEAT ], + [ 47, MoveId.ROCK_SLIDE ], + [ 53, MoveId.KNOCK_OFF ], + [ 60, MoveId.PARTING_SHOT ], + ], + [SpeciesId.FINIZEN]: [ + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_GUN ], + [ 7, MoveId.ASTONISH ], + [ 10, MoveId.FOCUS_ENERGY ], + [ 13, MoveId.AQUA_JET ], + [ 17, MoveId.DOUBLE_HIT ], + [ 21, MoveId.DIVE ], + [ 25, MoveId.CHARM ], + [ 29, MoveId.ACROBATICS ], + [ 34, MoveId.ENCORE ], + [ 39, MoveId.AQUA_TAIL ], + [ 44, MoveId.MIST ], + [ 50, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.PALAFIN]: [ + [ EVOLVE_MOVE, MoveId.FLIP_TURN ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.JET_PUNCH ], + [ 7, MoveId.ASTONISH ], + [ 10, MoveId.FOCUS_ENERGY ], + [ 13, MoveId.AQUA_JET ], + [ 17, MoveId.DOUBLE_HIT ], + [ 21, MoveId.DIVE ], + [ 25, MoveId.CHARM ], + [ 29, MoveId.ACROBATICS ], + [ 34, MoveId.ENCORE ], + [ 39, MoveId.AQUA_TAIL ], + [ 44, MoveId.MIST ], + [ 50, MoveId.HYDRO_PUMP ], + [ 55, MoveId.FOCUS_PUNCH ], + [ 61, MoveId.WAVE_CRASH ], + ], + [SpeciesId.VAROOM]: [ + [ 1, MoveId.LICK ], + [ 1, MoveId.POISON_GAS ], + [ 4, MoveId.SMOG ], + [ 7, MoveId.TAUNT ], + [ 10, MoveId.ASSURANCE ], + [ 13, MoveId.SLUDGE ], + [ 17, MoveId.GYRO_BALL ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.SCREECH ], + [ 28, MoveId.IRON_HEAD ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.POISON_JAB ], + [ 41, MoveId.UPROAR ], + [ 46, MoveId.SPIN_OUT ], + [ 50, MoveId.GUNK_SHOT ], + ], + [SpeciesId.REVAVROOM]: [ + [ EVOLVE_MOVE, MoveId.SHIFT_GEAR ], + [ 1, MoveId.LICK ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MAGNET_RISE ], + [ 4, MoveId.SMOG ], + [ 7, MoveId.TAUNT ], + [ 10, MoveId.ASSURANCE ], + [ 13, MoveId.SLUDGE ], + [ 17, MoveId.GYRO_BALL ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.SCREECH ], + [ 28, MoveId.IRON_HEAD ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.POISON_JAB ], + [ 46, MoveId.UPROAR ], + [ 52, MoveId.SPIN_OUT ], + [ 58, MoveId.GUNK_SHOT ], + ], + [SpeciesId.CYCLIZAR]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 7, MoveId.RAPID_SPIN ], + [ 11, MoveId.TAUNT ], + [ 14, MoveId.BREAKING_SWIPE ], + [ 18, MoveId.QUICK_ATTACK ], + [ 23, MoveId.BITE ], + [ 27, MoveId.U_TURN ], + [ 31, MoveId.SHED_TAIL ], + [ 36, MoveId.DRAGON_CLAW ], + [ 40, MoveId.SHIFT_GEAR ], + [ 45, MoveId.DRAGON_PULSE ], + [ 51, MoveId.DOUBLE_EDGE ], + [ 57, MoveId.DRAGON_RUSH ], + ], + [SpeciesId.ORTHWORM]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WRAP ], + [ 1, MoveId.HARDEN ], + [ 7, MoveId.MUD_SLAP ], + [ 12, MoveId.SMACK_DOWN ], + [ 16, MoveId.BULLDOZE ], + [ 21, MoveId.IRON_HEAD ], + [ 26, MoveId.TAKE_DOWN ], + [ 30, MoveId.DIG ], + [ 34, MoveId.SANDSTORM ], + [ 38, MoveId.IRON_DEFENSE ], + [ 43, MoveId.IRON_TAIL ], + [ 47, MoveId.EARTHQUAKE ], + [ 52, MoveId.SHED_TAIL ], + ], + [SpeciesId.GLIMMET]: [ + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.SMACK_DOWN ], + [ 7, MoveId.ACID_SPRAY ], + [ 11, MoveId.ANCIENT_POWER ], + [ 15, MoveId.ROCK_POLISH ], + [ 18, MoveId.STEALTH_ROCK ], + [ 22, MoveId.VENOSHOCK ], + [ 26, MoveId.SANDSTORM ], + [ 29, MoveId.SELF_DESTRUCT ], + [ 33, MoveId.ROCK_SLIDE ], + [ 37, MoveId.POWER_GEM ], + [ 41, MoveId.ACID_ARMOR ], + [ 46, MoveId.SLUDGE_WAVE ], + ], + [SpeciesId.GLIMMORA]: [ + [ EVOLVE_MOVE, MoveId.MORTAL_SPIN ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.TOXIC_SPIKES ], + [ 1, MoveId.SMACK_DOWN ], + [ 1, MoveId.SPIKY_SHIELD ], + [ 7, MoveId.ACID_SPRAY ], + [ 11, MoveId.ANCIENT_POWER ], + [ 15, MoveId.ROCK_POLISH ], + [ 18, MoveId.STEALTH_ROCK ], + [ 22, MoveId.VENOSHOCK ], + [ 26, MoveId.SANDSTORM ], + [ 29, MoveId.SELF_DESTRUCT ], + [ 33, MoveId.ROCK_SLIDE ], + [ 39, MoveId.POWER_GEM ], + [ 44, MoveId.ACID_ARMOR ], + [ 50, MoveId.SLUDGE_WAVE ], + ], + [SpeciesId.GREAVARD]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.LICK ], + [ 6, MoveId.TAIL_WHIP ], + [ 6, MoveId.BITE ], + [ 9, MoveId.ROAR ], + [ 12, MoveId.HEADBUTT ], + [ 16, MoveId.DIG ], + [ 24, MoveId.REST ], + [ 28, MoveId.CRUNCH ], + [ 32, MoveId.PLAY_ROUGH ], + [ 37, MoveId.HELPING_HAND ], + [ 41, MoveId.PHANTOM_FORCE ], + [ 46, MoveId.CHARM ], + [ 52, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.HOUNDSTONE]: [ + [ EVOLVE_MOVE, MoveId.LAST_RESPECTS ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 3, MoveId.LICK ], + [ 6, MoveId.TAIL_WHIP ], + [ 6, MoveId.BITE ], + [ 9, MoveId.ROAR ], + [ 12, MoveId.HEADBUTT ], + [ 16, MoveId.DIG ], + [ 24, MoveId.REST ], + [ 28, MoveId.CRUNCH ], + [ 36, MoveId.PLAY_ROUGH ], + [ 41, MoveId.HELPING_HAND ], + [ 46, MoveId.PHANTOM_FORCE ], + [ 51, MoveId.CHARM ], + [ 58, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.FLAMIGO]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.COPYCAT ], + [ 5, MoveId.DOUBLE_KICK ], + [ 9, MoveId.DETECT ], + [ 12, MoveId.WING_ATTACK ], + [ 15, MoveId.FOCUS_ENERGY ], + [ 18, MoveId.LOW_KICK ], + [ 21, MoveId.FEINT ], + [ 27, MoveId.PAYBACK ], + [ 31, MoveId.ROOST ], + [ 35, MoveId.AIR_SLASH ], + [ 39, MoveId.MEGA_KICK ], + [ 44, MoveId.WIDE_GUARD ], + [ 48, MoveId.THROAT_CHOP ], + [ 54, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.CETODDLE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POWDER_SNOW ], + [ 6, MoveId.GROWL ], + [ 9, MoveId.ECHOED_VOICE ], + [ 12, MoveId.ICE_SHARD ], + [ 15, MoveId.REST ], + [ 19, MoveId.TAKE_DOWN ], + [ 25, MoveId.FLAIL ], + [ 27, MoveId.AVALANCHE ], + [ 31, MoveId.BOUNCE ], + [ 36, MoveId.BODY_SLAM ], + [ 40, MoveId.AMNESIA ], + [ 44, MoveId.ICE_SPINNER ], + [ 49, MoveId.DOUBLE_EDGE ], + [ 53, MoveId.BLIZZARD ], + ], + [SpeciesId.CETITAN]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POWDER_SNOW ], + [ 6, MoveId.GROWL ], + [ 9, MoveId.ECHOED_VOICE ], + [ 12, MoveId.ICE_SHARD ], + [ 15, MoveId.REST ], + [ 19, MoveId.TAKE_DOWN ], + [ 25, MoveId.FLAIL ], + [ 27, MoveId.AVALANCHE ], + [ 31, MoveId.BOUNCE ], + [ 36, MoveId.BODY_SLAM ], + [ 40, MoveId.AMNESIA ], + [ 44, MoveId.ICE_SPINNER ], + [ 49, MoveId.DOUBLE_EDGE ], + [ 53, MoveId.BLIZZARD ], + ], + [SpeciesId.VELUZA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.AQUA_JET ], + [ 7, MoveId.PLUCK ], + [ 11, MoveId.WATER_PULSE ], + [ 15, MoveId.FOCUS_ENERGY ], + [ 20, MoveId.SLASH ], + [ 25, MoveId.AQUA_CUTTER ], + [ 30, MoveId.FILLET_AWAY ], + [ 35, MoveId.NIGHT_SLASH ], + [ 40, MoveId.PSYCHO_CUT ], + [ 45, MoveId.LIQUIDATION ], + [ 50, MoveId.CRUNCH ], + [ 55, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.DONDOZO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.WATER_GUN ], + [ 5, MoveId.TICKLE ], + [ 10, MoveId.FLAIL ], + [ 15, MoveId.REST ], + [ 15, MoveId.SLEEP_TALK ], + [ 20, MoveId.DIVE ], + [ 25, MoveId.NOBLE_ROAR ], + [ 30, MoveId.SOAK ], + [ 35, MoveId.BODY_SLAM ], + [ 40, MoveId.AQUA_TAIL ], + [ 45, MoveId.RAIN_DANCE ], + [ 50, MoveId.ORDER_UP ], + [ 55, MoveId.HEAVY_SLAM ], + [ 60, MoveId.DOUBLE_EDGE ], + [ 65, MoveId.WAVE_CRASH ], + ], + [SpeciesId.TATSUGIRI]: [ + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SPLASH ], + [ 6, MoveId.HARDEN ], + [ 12, MoveId.HELPING_HAND ], + [ 17, MoveId.WATER_PULSE ], + [ 23, MoveId.SOAK ], + [ 28, MoveId.TAUNT ], + [ 34, MoveId.MEMENTO ], + [ 39, MoveId.MUDDY_WATER ], + [ 43, MoveId.NASTY_PLOT ], + [ 47, MoveId.MIRROR_COAT ], + [ 52, MoveId.DRAGON_PULSE ], + ], + [SpeciesId.ANNIHILAPE]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_PUNCH ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.COUNTER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.COVET ], // Previous Stage Move + [ 1, MoveId.FLING ], + [ 5, MoveId.FURY_SWIPES ], + [ 8, MoveId.LOW_KICK ], + [ 12, MoveId.SEISMIC_TOSS ], + [ 17, MoveId.SWAGGER ], + [ 22, MoveId.CROSS_CHOP ], + [ 26, MoveId.ASSURANCE ], + [ 30, MoveId.THRASH ], + [ 35, MoveId.RAGE_FIST ], + [ 39, MoveId.CLOSE_COMBAT ], + [ 44, MoveId.SCREECH ], + [ 48, MoveId.STOMPING_TANTRUM ], + [ 53, MoveId.OUTRAGE ], + [ 57, MoveId.FINAL_GAMBIT ], + ], + [SpeciesId.CLODSIRE]: [ + [ EVOLVE_MOVE, MoveId.AMNESIA ], + [ 1, MoveId.TACKLE ], // Previous Stage Move + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.POISON_STING ], + [ 4, MoveId.TOXIC_SPIKES ], + [ 8, MoveId.MUD_SHOT ], + [ 12, MoveId.POISON_TAIL ], + [ 16, MoveId.SLAM ], + [ 21, MoveId.YAWN ], + [ 24, MoveId.POISON_JAB ], + [ 30, MoveId.SLUDGE_WAVE ], + [ 36, MoveId.MEGAHORN ], + [ 40, MoveId.TOXIC ], + [ 48, MoveId.EARTHQUAKE ], + ], + [SpeciesId.FARIGIRAF]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.POWER_SWAP ], + [ 1, MoveId.GUARD_SWAP ], + [ 5, MoveId.CONFUSION ], + [ 10, MoveId.ASSURANCE ], + [ 14, MoveId.STOMP ], + [ 19, MoveId.PSYBEAM ], + [ 23, MoveId.AGILITY ], + [ 28, MoveId.DOUBLE_HIT ], + [ 32, MoveId.TWIN_BEAM ], + [ 37, MoveId.CRUNCH ], + [ 41, MoveId.BATON_PASS ], + [ 46, MoveId.NASTY_PLOT ], + [ 50, MoveId.PSYCHIC ], + ], + [SpeciesId.DUDUNSPARCE]: [ + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.TACKLE ], // Previous Stage Move, Custom + [ 4, MoveId.MUD_SLAP ], + [ 8, MoveId.ROLLOUT ], + [ 12, MoveId.GLARE ], + [ 16, MoveId.SCREECH ], + [ 20, MoveId.ANCIENT_POWER ], + [ 24, MoveId.DRILL_RUN ], + [ 28, MoveId.YAWN ], + [ 32, MoveId.HYPER_DRILL ], + [ 36, MoveId.ROOST ], + [ 40, MoveId.DRAGON_RUSH ], + [ 44, MoveId.COIL ], + [ 48, MoveId.DOUBLE_EDGE ], + [ 52, MoveId.ENDEAVOR ], + [ 56, MoveId.HURRICANE ], + [ 62, MoveId.BOOMBURST ], + ], + [SpeciesId.KINGAMBIT]: [ + [ EVOLVE_MOVE, MoveId.KOWTOW_CLEAVE ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.METAL_BURST ], + [ 15, MoveId.TORMENT ], + [ 20, MoveId.SCARY_FACE ], + [ 25, MoveId.ASSURANCE ], + [ 30, MoveId.METAL_SOUND ], + [ 35, MoveId.SLASH ], + [ 40, MoveId.NIGHT_SLASH ], + [ 45, MoveId.IRON_DEFENSE ], + [ 50, MoveId.RETALIATE ], + [ 57, MoveId.IRON_HEAD ], + [ 64, MoveId.SWORDS_DANCE ], + [ 71, MoveId.GUILLOTINE ], + ], + [SpeciesId.GREAT_TUSK]: [ + [ 1, MoveId.HORN_ATTACK ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.SUNNY_DAY ], + [ 7, MoveId.BULLDOZE ], + [ 14, MoveId.TAUNT ], + [ 21, MoveId.RAPID_SPIN ], + [ 28, MoveId.BRICK_BREAK ], + [ 35, MoveId.STOMPING_TANTRUM ], + [ 42, MoveId.KNOCK_OFF ], + [ 49, MoveId.EARTHQUAKE ], + [ 56, MoveId.GIGA_IMPACT ], + [ 63, MoveId.CLOSE_COMBAT ], + [ 70, MoveId.ENDEAVOR ], + [ 77, MoveId.MEGAHORN ], + [ 84, MoveId.HEAD_SMASH ], + [ 91, MoveId.HEADLONG_RUSH ], + ], + [SpeciesId.SCREAM_TAIL]: [ + [ RELEARN_MOVE, MoveId.SUNNY_DAY ], + [ 1, MoveId.POUND ], + [ 1, MoveId.SING ], + [ 1, MoveId.DISABLE ], + [ 7, MoveId.HOWL ], + [ 14, MoveId.NOBLE_ROAR ], + [ 21, MoveId.BITE ], + [ 28, MoveId.BODY_SLAM ], + [ 35, MoveId.REST ], + [ 42, MoveId.PLAY_ROUGH ], + [ 49, MoveId.HYPER_VOICE ], + [ 56, MoveId.PSYCHIC_FANGS ], + [ 63, MoveId.CRUNCH ], + [ 70, MoveId.WISH ], + [ 77, MoveId.GYRO_BALL ], + [ 84, MoveId.PERISH_SONG ], + [ 91, MoveId.BOOMBURST ], + ], + [SpeciesId.BRUTE_BONNET]: [ + [ RELEARN_MOVE, MoveId.SUNNY_DAY ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.ASTONISH ], + [ 7, MoveId.STUN_SPORE ], + [ 14, MoveId.MEGA_DRAIN ], + [ 21, MoveId.SYNTHESIS ], + [ 28, MoveId.CLEAR_SMOG ], + [ 35, MoveId.PAYBACK ], + [ 42, MoveId.THRASH ], + [ 49, MoveId.GIGA_DRAIN ], + [ 56, MoveId.SUCKER_PUNCH ], + [ 63, MoveId.SPORE ], + [ 70, MoveId.INGRAIN ], + [ 77, MoveId.RAGE_POWDER ], + [ 91, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.FLUTTER_MANE]: [ + [ RELEARN_MOVE, MoveId.SUNNY_DAY ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.SPITE ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.PSYBEAM ], // Custom, moved from 7 to 1 + [ 14, MoveId.MEAN_LOOK ], + [ 21, MoveId.MEMENTO ], + [ 28, MoveId.WISH ], + [ 35, MoveId.DAZZLING_GLEAM ], + [ 42, MoveId.SHADOW_BALL ], + [ 49, MoveId.MYSTICAL_FIRE ], + [ 56, MoveId.POWER_GEM ], + [ 63, MoveId.PSYSHOCK ], + [ 70, MoveId.PHANTOM_FORCE ], + [ 77, MoveId.PAIN_SPLIT ], + [ 84, MoveId.MOONBLAST ], + [ 91, MoveId.PERISH_SONG ], + ], + [SpeciesId.SLITHER_WING]: [ + [ RELEARN_MOVE, MoveId.SUNNY_DAY ], + [ 1, MoveId.GUST ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.BUG_BITE ], + [ 7, MoveId.POISON_POWDER ], + [ 7, MoveId.STUN_SPORE ], + [ 14, MoveId.FLAME_CHARGE ], + [ 21, MoveId.STOMP ], + [ 28, MoveId.LOW_SWEEP ], + [ 35, MoveId.MORNING_SUN ], + [ 42, MoveId.LUNGE ], + [ 49, MoveId.SUPERPOWER ], + [ 56, MoveId.BULK_UP ], + [ 63, MoveId.DUAL_WINGBEAT ], + [ 70, MoveId.FIRST_IMPRESSION ], + [ 77, MoveId.WHIRLWIND ], + [ 84, MoveId.LEECH_LIFE ], + [ 91, MoveId.THRASH ], + ], + [SpeciesId.SANDY_SHOCKS]: [ + [ RELEARN_MOVE, MoveId.SUNNY_DAY ], + [ 1, MoveId.SUPERSONIC ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 7, MoveId.SPARK ], + [ 14, MoveId.BULLDOZE ], + [ 21, MoveId.CHARGE_BEAM ], + [ 28, MoveId.TRI_ATTACK ], + [ 35, MoveId.SCREECH ], + [ 42, MoveId.HEAVY_SLAM ], + [ 49, MoveId.METAL_SOUND ], + [ 56, MoveId.DISCHARGE ], + [ 63, MoveId.EARTH_POWER ], + [ 70, MoveId.MIRROR_COAT ], + [ 77, MoveId.GRAVITY ], + [ 84, MoveId.ZAP_CANNON ], + [ 91, MoveId.MAGNETIC_FLUX ], + ], + [SpeciesId.IRON_TREADS]: [ + [ 1, MoveId.HORN_ATTACK ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.ROLLOUT ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 7, MoveId.BULLDOZE ], + [ 21, MoveId.RAPID_SPIN ], + [ 28, MoveId.IRON_HEAD ], + [ 35, MoveId.STOMPING_TANTRUM ], + [ 42, MoveId.KNOCK_OFF ], + [ 49, MoveId.EARTHQUAKE ], + [ 56, MoveId.HEAVY_SLAM ], + [ 63, MoveId.WILD_CHARGE ], + [ 70, MoveId.ENDEAVOR ], + [ 77, MoveId.MEGAHORN ], + [ 84, MoveId.GIGA_IMPACT ], + [ 91, MoveId.STEEL_ROLLER ], + ], + [SpeciesId.IRON_BUNDLE]: [ + [ RELEARN_MOVE, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.PRESENT ], + [ 1, MoveId.WATER_GUN ], // Custom + [ 7, MoveId.POWDER_SNOW ], + [ 14, MoveId.WHIRLPOOL ], + [ 21, MoveId.TAKE_DOWN ], + [ 28, MoveId.DRILL_PECK ], + [ 35, MoveId.HELPING_HAND ], + [ 42, MoveId.FREEZE_DRY ], + [ 49, MoveId.FLIP_TURN ], + [ 56, MoveId.ICE_BEAM ], + [ 63, MoveId.AGILITY ], + [ 70, MoveId.SNOWSCAPE ], + [ 77, MoveId.HYDRO_PUMP ], + [ 84, MoveId.AURORA_VEIL ], + [ 91, MoveId.BLIZZARD ], + ], + [SpeciesId.IRON_HANDS]: [ + [ RELEARN_MOVE, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.ARM_THRUST ], + [ 7, MoveId.FAKE_OUT ], + [ 14, MoveId.WHIRLWIND ], + [ 21, MoveId.THUNDER_PUNCH ], + [ 28, MoveId.SLAM ], + [ 35, MoveId.FORCE_PALM ], + [ 42, MoveId.SEISMIC_TOSS ], + [ 49, MoveId.CHARGE ], + [ 56, MoveId.WILD_CHARGE ], + [ 63, MoveId.CLOSE_COMBAT ], + [ 70, MoveId.DETECT ], + [ 77, MoveId.HEAVY_SLAM ], + [ 84, MoveId.BELLY_DRUM ], + [ 91, MoveId.FOCUS_PUNCH ], + ], + [SpeciesId.IRON_JUGULIS]: [ + [ RELEARN_MOVE, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.AIR_CUTTER ], + [ 1, MoveId.WORK_UP ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 7, MoveId.ROAR ], + [ 14, MoveId.ASSURANCE ], + [ 21, MoveId.DRAGON_BREATH ], + [ 28, MoveId.SNARL ], + [ 35, MoveId.CRUNCH ], + [ 42, MoveId.HYPER_VOICE ], + [ 56, MoveId.AIR_SLASH ], + [ 63, MoveId.KNOCK_OFF ], + [ 70, MoveId.DARK_PULSE ], + [ 77, MoveId.OUTRAGE ], + [ 84, MoveId.DRAGON_PULSE ], + [ 91, MoveId.HYPER_BEAM ], + ], + [SpeciesId.IRON_MOTH]: [ + [ RELEARN_MOVE, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.GUST ], + [ 1, MoveId.WHIRLWIND ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.ACID_SPRAY ], + [ 7, MoveId.STRUGGLE_BUG ], + [ 14, MoveId.FIRE_SPIN ], + [ 21, MoveId.TAKE_DOWN ], + [ 28, MoveId.LUNGE ], + [ 35, MoveId.SCREECH ], + [ 42, MoveId.DISCHARGE ], + [ 49, MoveId.SLUDGE_WAVE ], + [ 56, MoveId.FIERY_DANCE ], + [ 63, MoveId.METAL_SOUND ], + [ 70, MoveId.MORNING_SUN ], + [ 77, MoveId.HURRICANE ], + [ 84, MoveId.BUG_BUZZ ], + [ 91, MoveId.OVERHEAT ], + ], + [SpeciesId.IRON_THORNS]: [ + [ RELEARN_MOVE, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.THUNDER_FANG ], + [ 1, MoveId.ICE_FANG ], + [ 1, MoveId.FIRE_FANG ], + [ 7, MoveId.SCREECH ], + [ 21, MoveId.ROCK_TOMB ], + [ 28, MoveId.BITE ], + [ 35, MoveId.CHARGE ], + [ 42, MoveId.ROCK_SLIDE ], + [ 49, MoveId.SANDSTORM ], + [ 56, MoveId.WILD_CHARGE ], + [ 63, MoveId.PIN_MISSILE ], + [ 70, MoveId.EARTHQUAKE ], + [ 77, MoveId.STEALTH_ROCK ], + [ 84, MoveId.STONE_EDGE ], + [ 91, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.FRIGIBAX]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.DRAGON_TAIL ], + [ 6, MoveId.ICY_WIND ], + [ 12, MoveId.DRAGON_BREATH ], + [ 18, MoveId.FOCUS_ENERGY ], + [ 24, MoveId.BITE ], + [ 29, MoveId.ICE_FANG ], + [ 32, MoveId.DRAGON_CLAW ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.ICE_BEAM ], + [ 44, MoveId.CRUNCH ], + [ 48, MoveId.ICICLE_CRASH ], + ], + [SpeciesId.ARCTIBAX]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.DRAGON_TAIL ], + [ 6, MoveId.ICY_WIND ], + [ 12, MoveId.DRAGON_BREATH ], + [ 18, MoveId.FOCUS_ENERGY ], + [ 24, MoveId.BITE ], + [ 29, MoveId.ICE_FANG ], + [ 32, MoveId.DRAGON_CLAW ], // Previous Stage Move, Frigibax Level + [ 40, MoveId.TAKE_DOWN ], + [ 45, MoveId.ICE_BEAM ], + [ 50, MoveId.CRUNCH ], + [ 55, MoveId.ICICLE_CRASH ], + ], + [SpeciesId.BAXCALIBUR]: [ + [ EVOLVE_MOVE, MoveId.GLAIVE_RUSH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ICE_SHARD ], + [ 1, MoveId.DRAGON_TAIL ], + [ 1, MoveId.BREAKING_SWIPE ], + [ 1, MoveId.SNOWSCAPE ], + [ 6, MoveId.ICY_WIND ], + [ 12, MoveId.DRAGON_BREATH ], + [ 18, MoveId.FOCUS_ENERGY ], + [ 24, MoveId.BITE ], + [ 29, MoveId.ICE_FANG ], + [ 35, MoveId.DRAGON_CLAW ], + [ 42, MoveId.TAKE_DOWN ], + [ 48, MoveId.ICE_BEAM ], + [ 55, MoveId.CRUNCH ], + [ 62, MoveId.ICICLE_CRASH ], + ], + [SpeciesId.GIMMIGHOUL]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ASTONISH ], + ], + [SpeciesId.GHOLDENGO]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.ASTONISH ], + [ 7, MoveId.NIGHT_SHADE ], + [ 14, MoveId.CONFUSE_RAY ], + [ 21, MoveId.SUBSTITUTE ], + [ 28, MoveId.METAL_SOUND ], + [ 35, MoveId.SHADOW_BALL ], + [ 42, MoveId.RECOVER ], + [ 49, MoveId.POWER_GEM ], + [ 56, MoveId.MAKE_IT_RAIN ], + [ 63, MoveId.NASTY_PLOT ], + [ 70, MoveId.MEMENTO ], + ], + [SpeciesId.WO_CHIEN]: [ + [ 1, MoveId.ABSORB ], + [ 1, MoveId.SPITE ], + [ 1, MoveId.MEAN_LOOK ], + [ 5, MoveId.TICKLE ], + [ 10, MoveId.PAYBACK ], + [ 15, MoveId.POISON_POWDER ], + [ 15, MoveId.STUN_SPORE ], + [ 20, MoveId.MEGA_DRAIN ], + [ 25, MoveId.LEECH_SEED ], + [ 30, MoveId.GROWTH ], + [ 35, MoveId.INGRAIN ], + [ 40, MoveId.DARK_PULSE ], + [ 45, MoveId.GIGA_DRAIN ], + [ 50, MoveId.RUINATION ], + [ 55, MoveId.FOUL_PLAY ], + [ 60, MoveId.POWER_WHIP ], + [ 65, MoveId.GRASSY_TERRAIN ], + [ 70, MoveId.KNOCK_OFF ], + [ 75, MoveId.LEAF_STORM ], + ], + [SpeciesId.CHIEN_PAO]: [ + [ 1, MoveId.SPITE ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.MEAN_LOOK ], + [ 5, MoveId.ICY_WIND ], + [ 10, MoveId.PAYBACK ], + [ 15, MoveId.MIST ], + [ 15, MoveId.HAZE ], + [ 20, MoveId.ICE_SHARD ], + [ 25, MoveId.SWORDS_DANCE ], + [ 30, MoveId.SNOWSCAPE ], + [ 35, MoveId.NIGHT_SLASH ], + [ 40, MoveId.DARK_PULSE ], + [ 45, MoveId.ICICLE_CRASH ], + [ 50, MoveId.RUINATION ], + [ 55, MoveId.SUCKER_PUNCH ], + [ 60, MoveId.SACRED_SWORD ], + [ 65, MoveId.RECOVER ], + [ 70, MoveId.THROAT_CHOP ], + [ 75, MoveId.SHEER_COLD ], + ], + [SpeciesId.TING_LU]: [ + [ 1, MoveId.SPITE ], + [ 1, MoveId.MEAN_LOOK ], + [ 1, MoveId.SAND_TOMB ], + [ 5, MoveId.SPIKES ], + [ 10, MoveId.PAYBACK ], + [ 15, MoveId.STOMP ], + [ 20, MoveId.BULLDOZE ], + [ 25, MoveId.WHIRLWIND ], + [ 30, MoveId.TAUNT ], + [ 35, MoveId.THRASH ], + [ 40, MoveId.DARK_PULSE ], + [ 45, MoveId.STOMPING_TANTRUM ], + [ 50, MoveId.RUINATION ], + [ 55, MoveId.THROAT_CHOP ], + [ 60, MoveId.ROCK_SLIDE ], + [ 65, MoveId.MEMENTO ], + [ 70, MoveId.EARTHQUAKE ], + [ 75, MoveId.FISSURE ], + ], + [SpeciesId.CHI_YU]: [ + [ 1, MoveId.EMBER ], + [ 1, MoveId.SPITE ], + [ 1, MoveId.MEAN_LOOK ], + [ 5, MoveId.FLAME_WHEEL ], + [ 10, MoveId.PAYBACK ], + [ 15, MoveId.WILL_O_WISP ], + [ 20, MoveId.FLAME_CHARGE ], + [ 25, MoveId.INCINERATE ], + [ 30, MoveId.CONFUSE_RAY ], + [ 35, MoveId.NASTY_PLOT ], + [ 40, MoveId.DARK_PULSE ], + [ 45, MoveId.LAVA_PLUME ], + [ 50, MoveId.RUINATION ], + [ 55, MoveId.BOUNCE ], + [ 60, MoveId.SWAGGER ], + [ 65, MoveId.INFERNO ], + [ 70, MoveId.MEMENTO ], + [ 75, MoveId.OVERHEAT ], + ], + [SpeciesId.ROARING_MOON]: [ + [ RELEARN_MOVE, MoveId.SUNNY_DAY ], + [ RELEARN_MOVE, MoveId.JAW_LOCK ], + [ RELEARN_MOVE, MoveId.BREAKING_SWIPE ], + [ RELEARN_MOVE, MoveId.SCALE_SHOT ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.DRAGON_BREATH ], + [ 7, MoveId.INCINERATE ], + [ 14, MoveId.HEADBUTT ], + [ 21, MoveId.SCARY_FACE ], + [ 28, MoveId.DRAGON_CLAW ], + [ 35, MoveId.ZEN_HEADBUTT ], + [ 42, MoveId.FLAMETHROWER ], + [ 49, MoveId.NIGHT_SLASH ], + [ 56, MoveId.DRAGON_DANCE ], + [ 63, MoveId.DRAGON_RUSH ], + [ 70, MoveId.FLY ], + [ 77, MoveId.THROAT_CHOP ], + [ 84, MoveId.ROOST ], + [ 91, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.IRON_VALIANT]: [ + [ RELEARN_MOVE, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.FURY_CUTTER ], + [ 1, MoveId.SHADOW_SNEAK ], + [ 7, MoveId.HYPNOSIS ], + [ 14, MoveId.FEINT ], + [ 21, MoveId.FUTURE_SIGHT ], + [ 28, MoveId.DAZZLING_GLEAM ], + [ 35, MoveId.PSYCHO_CUT ], + [ 42, MoveId.NIGHT_SLASH ], + [ 49, MoveId.LEAF_BLADE ], + [ 56, MoveId.MOONBLAST ], + [ 63, MoveId.CLOSE_COMBAT ], + [ 70, MoveId.KNOCK_OFF ], + [ 77, MoveId.DESTINY_BOND ], + [ 84, MoveId.WIDE_GUARD ], + [ 84, MoveId.QUICK_GUARD ], + [ 91, MoveId.SPIRIT_BREAK ], + ], + [SpeciesId.KORAIDON]: [ + [ 1, MoveId.SUNNY_DAY ], + [ 1, MoveId.BREAKING_SWIPE ], + [ 7, MoveId.ROCK_SMASH ], + [ 14, MoveId.ANCIENT_POWER ], + [ 21, MoveId.DRAIN_PUNCH ], + [ 28, MoveId.BRICK_BREAK ], + [ 35, MoveId.AGILITY ], + [ 42, MoveId.DRAGON_CLAW ], + [ 49, MoveId.FLAMETHROWER ], + [ 56, MoveId.COLLISION_COURSE ], + [ 63, MoveId.SCREECH ], + [ 70, MoveId.COUNTER ], + [ 77, MoveId.OUTRAGE ], + [ 84, MoveId.CLOSE_COMBAT ], + [ 91, MoveId.FLARE_BLITZ ], + [ 98, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.MIRAIDON]: [ + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 7, MoveId.SHOCK_WAVE ], + [ 14, MoveId.CHARGE ], + [ 21, MoveId.PARABOLIC_CHARGE ], + [ 28, MoveId.DISCHARGE ], + [ 35, MoveId.AGILITY ], + [ 42, MoveId.DRAGON_PULSE ], + [ 56, MoveId.ELECTRO_DRIFT ], + [ 63, MoveId.METAL_SOUND ], + [ 70, MoveId.MIRROR_COAT ], + [ 77, MoveId.OUTRAGE ], + [ 84, MoveId.THUNDER ], + [ 91, MoveId.OVERHEAT ], + [ 98, MoveId.HYPER_BEAM ], + ], + [SpeciesId.WALKING_WAKE]: [ + [ RELEARN_MOVE, MoveId.SUNNY_DAY ], + [ RELEARN_MOVE, MoveId.HONE_CLAWS ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ROAR ], + [ 1, MoveId.TWISTER ], + [ 1, MoveId.AQUA_JET ], + [ 7, MoveId.BITE ], + [ 14, MoveId.WATER_PULSE ], + [ 21, MoveId.NOBLE_ROAR ], + [ 28, MoveId.DRAGON_BREATH ], + [ 35, MoveId.BREAKING_SWIPE ], + [ 42, MoveId.DRAGON_RUSH ], + [ 56, MoveId.HYDRO_STEAM ], + [ 63, MoveId.DRAGON_PULSE ], + [ 70, MoveId.OUTRAGE ], + [ 77, MoveId.FLAMETHROWER ], + [ 84, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.IRON_LEAVES]: [ + [ RELEARN_MOVE, MoveId.ELECTRIC_TERRAIN ], + [ RELEARN_MOVE, MoveId.QUASH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.WORK_UP ], + [ 7, MoveId.MAGICAL_LEAF ], + [ 14, MoveId.RETALIATE ], + [ 21, MoveId.QUICK_GUARD ], + [ 28, MoveId.NIGHT_SLASH ], + [ 35, MoveId.SWORDS_DANCE ], + [ 42, MoveId.SACRED_SWORD ], + [ 49, MoveId.LEAF_BLADE ], + [ 56, MoveId.PSYBLADE ], + [ 63, MoveId.CLOSE_COMBAT ], + [ 70, MoveId.IMPRISON ], + [ 77, MoveId.MEGAHORN ], + [ 84, MoveId.ALLY_SWITCH ], + [ 91, MoveId.SOLAR_BLADE ], + ], + [SpeciesId.DIPPLIN]: [ + [ EVOLVE_MOVE, MoveId.DOUBLE_HIT ], + [ RELEARN_MOVE, MoveId.DRAGON_CHEER ], // Custom + [ 1, MoveId.LEAFAGE ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.DRAGON_TAIL ], + [ 8, MoveId.GROWTH ], + [ 12, MoveId.DRAGON_BREATH ], + [ 16, MoveId.PROTECT ], + [ 20, MoveId.BULLET_SEED ], + [ 28, MoveId.SYRUP_BOMB ], + [ 32, MoveId.DRAGON_PULSE ], + [ 36, MoveId.RECOVER ], + [ 40, MoveId.ENERGY_BALL ], + [ 44, MoveId.SUBSTITUTE ], + ], + [SpeciesId.POLTCHAGEIST]: [ + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.ABSORB ], // Custom, Moved from Level 6 to 5 + [ 12, MoveId.LIFE_DEW ], + [ 18, MoveId.FOUL_PLAY ], + [ 24, MoveId.MEGA_DRAIN ], + [ 30, MoveId.HEX ], + [ 36, MoveId.RAGE_POWDER ], + [ 42, MoveId.GIGA_DRAIN ], + [ 48, MoveId.SHADOW_BALL ], + [ 54, MoveId.MEMENTO ], + [ 60, MoveId.LEAF_STORM ], + ], + [SpeciesId.SINISTCHA]: [ + [ EVOLVE_MOVE, MoveId.MATCHA_GOTCHA ], + [ RELEARN_MOVE, MoveId.GIGA_DRAIN ], // Previous Stage Move + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.ASTONISH ], + [ 6, MoveId.ABSORB ], + [ 12, MoveId.LIFE_DEW ], + [ 18, MoveId.FOUL_PLAY ], + [ 24, MoveId.MEGA_DRAIN ], + [ 30, MoveId.HEX ], + [ 36, MoveId.RAGE_POWDER ], + [ 42, MoveId.STRENGTH_SAP ], + [ 48, MoveId.SHADOW_BALL ], + [ 54, MoveId.MEMENTO ], + [ 60, MoveId.LEAF_STORM ], + ], + [SpeciesId.OKIDOGI]: [ + [ 1, MoveId.BITE ], + [ 1, MoveId.LOW_KICK ], + [ 1, MoveId.BULK_UP ], + [ 8, MoveId.HOWL ], + [ 16, MoveId.POISON_FANG ], + [ 24, MoveId.FORCE_PALM ], + [ 32, MoveId.COUNTER ], + [ 40, MoveId.POISON_JAB ], + [ 48, MoveId.BRUTAL_SWING ], + [ 56, MoveId.CRUNCH ], + [ 64, MoveId.SUPERPOWER ], + [ 72, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.MUNKIDORI]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.FLATTER ], + [ 8, MoveId.HELPING_HAND ], + [ 16, MoveId.PSYBEAM ], + [ 24, MoveId.CLEAR_SMOG ], + [ 32, MoveId.POISON_JAB ], + [ 40, MoveId.PSYCHIC ], + [ 48, MoveId.SLUDGE_WAVE ], + [ 56, MoveId.NASTY_PLOT ], + [ 64, MoveId.FUTURE_SIGHT ], + [ 72, MoveId.PARTING_SHOT ], + ], + [SpeciesId.FEZANDIPITI]: [ + [ 1, MoveId.DOUBLE_KICK ], + [ 1, MoveId.PECK ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.DISARMING_VOICE ], + [ 8, MoveId.QUICK_ATTACK ], + [ 16, MoveId.ATTRACT ], + [ 24, MoveId.WING_ATTACK ], + [ 32, MoveId.CROSS_POISON ], + [ 40, MoveId.TAIL_SLAP ], + [ 48, MoveId.BEAT_UP ], + [ 56, MoveId.SWAGGER ], + [ 56, MoveId.FLATTER ], + [ 64, MoveId.ROOST ], + [ 72, MoveId.MOONBLAST ], + ], + [SpeciesId.OGERPON]: [ + [ RELEARN_MOVE, MoveId.DOUBLE_KICK ], + [ RELEARN_MOVE, MoveId.COUNTER ], + [ RELEARN_MOVE, MoveId.RETALIATE ], + [ RELEARN_MOVE, MoveId.HORN_LEECH ], + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.LEECH_SEED ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FOLLOW_ME ], + [ 6, MoveId.FOCUS_ENERGY ], + [ 12, MoveId.GROWTH ], + [ 18, MoveId.SLAM ], + [ 24, MoveId.LOW_SWEEP ], + [ 30, MoveId.IVY_CUDGEL ], + [ 36, MoveId.THROAT_CHOP ], + [ 42, MoveId.SYNTHESIS ], + [ 48, MoveId.SPIKY_SHIELD ], + [ 54, MoveId.POWER_WHIP ], + [ 60, MoveId.SUPERPOWER ], + [ 66, MoveId.WOOD_HAMMER ], + ], + [SpeciesId.ARCHALUDON]: [ + [ EVOLVE_MOVE, MoveId.ELECTRO_SHOT ], + [ RELEARN_MOVE, MoveId.LASER_FOCUS ], // Previous Stage Move + [ 1, MoveId.LEER ], + [ 1, MoveId.METAL_CLAW ], + [ 6, MoveId.ROCK_SMASH ], + [ 12, MoveId.HONE_CLAWS ], + [ 18, MoveId.METAL_SOUND ], + [ 24, MoveId.BREAKING_SWIPE ], + [ 30, MoveId.DRAGON_TAIL ], + [ 36, MoveId.IRON_DEFENSE ], + [ 42, MoveId.FOCUS_ENERGY ], + [ 48, MoveId.DRAGON_CLAW ], + [ 54, MoveId.FLASH_CANNON ], + [ 60, MoveId.METAL_BURST ], + [ 66, MoveId.HYPER_BEAM ], + ], + [SpeciesId.HYDRAPPLE]: [ + [ EVOLVE_MOVE, MoveId.FICKLE_BEAM ], + [ RELEARN_MOVE, MoveId.YAWN ], + [ RELEARN_MOVE, MoveId.DOUBLE_HIT ], + [ RELEARN_MOVE, MoveId.INFESTATION ], + [ RELEARN_MOVE, MoveId.DRAGON_CHEER ], // Previous Stage Move, Custom + [ 1, MoveId.LEAFAGE ], // Previous Stage Move, Custom + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.SWEET_SCENT ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.DRAGON_TAIL ], + [ 8, MoveId.GROWTH ], + [ 12, MoveId.DRAGON_BREATH ], + [ 16, MoveId.PROTECT ], + [ 20, MoveId.BULLET_SEED ], + [ 28, MoveId.SYRUP_BOMB ], + [ 32, MoveId.DRAGON_PULSE ], + [ 36, MoveId.RECOVER ], + [ 40, MoveId.ENERGY_BALL ], + [ 44, MoveId.SUBSTITUTE ], + [ 54, MoveId.POWER_WHIP ], + ], + [SpeciesId.GOUGING_FIRE]: [ + [ RELEARN_MOVE, MoveId.DOUBLE_KICK ], + [ RELEARN_MOVE, MoveId.ANCIENT_POWER ], + [ RELEARN_MOVE, MoveId.NOBLE_ROAR ], + [ 1, MoveId.STOMP ], + [ 1, MoveId.LEER ], + [ 1, MoveId.INCINERATE ], + [ 1, MoveId.SUNNY_DAY ], + [ 7, MoveId.FIRE_FANG ], + [ 14, MoveId.HOWL ], + [ 21, MoveId.BITE ], + [ 28, MoveId.DRAGON_CLAW ], + [ 35, MoveId.CRUSH_CLAW ], + [ 42, MoveId.MORNING_SUN ], + [ 49, MoveId.BURNING_BULWARK ], + [ 56, MoveId.DRAGON_RUSH ], + [ 63, MoveId.FIRE_BLAST ], + [ 70, MoveId.LAVA_PLUME ], + [ 77, MoveId.OUTRAGE ], + [ 84, MoveId.FLARE_BLITZ ], + [ 91, MoveId.RAGING_FURY ], + ], + [SpeciesId.RAGING_BOLT]: [ + [ RELEARN_MOVE, MoveId.ANCIENT_POWER ], + [ 1, MoveId.TWISTER ], + [ 1, MoveId.SUNNY_DAY ], + [ 1, MoveId.SHOCK_WAVE ], + [ 1, MoveId.STOMP ], + [ 7, MoveId.CHARGE ], + [ 14, MoveId.DRAGON_BREATH ], + [ 21, MoveId.ELECTRIC_TERRAIN ], + [ 28, MoveId.DISCHARGE ], + [ 35, MoveId.DRAGON_TAIL ], + [ 42, MoveId.CALM_MIND ], + [ 49, MoveId.THUNDERCLAP ], + [ 56, MoveId.DRAGON_HAMMER ], + [ 63, MoveId.RISING_VOLTAGE ], + [ 70, MoveId.DRAGON_PULSE ], + [ 77, MoveId.ZAP_CANNON ], + [ 84, MoveId.BODY_PRESS ], + [ 91, MoveId.THUNDER ], + ], + [SpeciesId.IRON_BOULDER]: [ + [ 1, MoveId.HORN_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 7, MoveId.QUICK_ATTACK ], + [ 14, MoveId.SLASH ], + [ 21, MoveId.AGILITY ], + [ 28, MoveId.PSYCHO_CUT ], + [ 35, MoveId.COUNTER ], + [ 42, MoveId.ROCK_TOMB ], + [ 49, MoveId.SACRED_SWORD ], + [ 56, MoveId.MIGHTY_CLEAVE ], + [ 63, MoveId.SWORDS_DANCE ], + [ 70, MoveId.MEGAHORN ], + [ 77, MoveId.QUICK_GUARD ], + [ 84, MoveId.STONE_EDGE ], + [ 91, MoveId.GIGA_IMPACT ], + ], + [SpeciesId.IRON_CROWN]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.METAL_CLAW ], + [ 7, MoveId.SMART_STRIKE ], + [ 14, MoveId.SLASH ], + [ 21, MoveId.IRON_DEFENSE ], + [ 28, MoveId.PSYSHOCK ], + [ 35, MoveId.PSYCHO_CUT ], + [ 42, MoveId.FLASH_CANNON ], + [ 49, MoveId.SACRED_SWORD ], + [ 56, MoveId.TACHYON_CUTTER ], + [ 63, MoveId.FUTURE_SIGHT ], + [ 70, MoveId.VOLT_SWITCH ], + [ 77, MoveId.QUICK_GUARD ], + [ 84, MoveId.METAL_BURST ], + [ 91, MoveId.HYPER_BEAM ], + ], + [SpeciesId.TERAPAGOS]: [ + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.RAPID_SPIN ], + [ 10, MoveId.ANCIENT_POWER ], + [ 20, MoveId.HEADBUTT ], + [ 30, MoveId.PROTECT ], + [ 40, MoveId.EARTH_POWER ], + [ 50, MoveId.HEAVY_SLAM ], + [ 60, MoveId.TERA_STARSTORM ], + [ 70, MoveId.DOUBLE_EDGE ], + [ 80, MoveId.ROCK_POLISH ], + [ 90, MoveId.GYRO_BALL ], + ], + [SpeciesId.PECHARUNT]: [ + [ RELEARN_MOVE, MoveId.DEFENSE_CURL ], + [ RELEARN_MOVE, MoveId.ROLLOUT ], + [ RELEARN_MOVE, MoveId.MEAN_LOOK ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MEMENTO ], + [ 1, MoveId.ASTONISH ], + [ 8, MoveId.WITHDRAW ], + [ 16, MoveId.DESTINY_BOND ], + [ 24, MoveId.FAKE_TEARS ], + [ 32, MoveId.PARTING_SHOT ], + [ 40, MoveId.SHADOW_BALL ], + [ 48, MoveId.MALIGNANT_CHAIN ], + [ 56, MoveId.TOXIC ], + [ 64, MoveId.NASTY_PLOT ], + [ 72, MoveId.RECOVER ], + ], + [SpeciesId.ALOLA_RATTATA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 4, MoveId.QUICK_ATTACK ], + [ 7, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.BITE ], + [ 13, MoveId.PURSUIT ], + [ 16, MoveId.HYPER_FANG ], + [ 19, MoveId.ASSURANCE ], + [ 22, MoveId.CRUNCH ], + [ 25, MoveId.SUCKER_PUNCH ], + [ 28, MoveId.SUPER_FANG ], + [ 31, MoveId.DOUBLE_EDGE ], + [ 34, MoveId.ENDEAVOR ], + ], + [SpeciesId.ALOLA_RATICATE]: [ + [ EVOLVE_MOVE, MoveId.SCARY_FACE ], + [ 1, MoveId.SWORDS_DANCE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 10, MoveId.BITE ], + [ 13, MoveId.PURSUIT ], + [ 16, MoveId.HYPER_FANG ], + [ 19, MoveId.ASSURANCE ], + [ 24, MoveId.CRUNCH ], + [ 29, MoveId.SUCKER_PUNCH ], + [ 34, MoveId.SUPER_FANG ], + [ 39, MoveId.DOUBLE_EDGE ], + [ 44, MoveId.ENDEAVOR ], + ], + [SpeciesId.ALOLA_RAICHU]: [ + [ EVOLVE_MOVE, MoveId.PSYCHIC ], + [ EVOLVE_MOVE, MoveId.ZIPPY_ZAP ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.THUNDER_WAVE ], + [ 1, MoveId.THUNDER ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.LIGHT_SCREEN ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.SPARK ], + [ 1, MoveId.IRON_TAIL ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.DISCHARGE ], + [ 1, MoveId.ELECTRO_BALL ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 5, MoveId.THUNDERBOLT ], + [ 50, MoveId.PIKA_PAPOW ], + ], + [SpeciesId.ALOLA_SANDSHREW]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.DEFENSE_CURL ], + [ 3, MoveId.MIST ], + [ 6, MoveId.POWDER_SNOW ], + [ 9, MoveId.ROLLOUT ], + [ 12, MoveId.FURY_CUTTER ], + [ 15, MoveId.RAPID_SPIN ], + [ 18, MoveId.METAL_CLAW ], + [ 21, MoveId.SWIFT ], + [ 24, MoveId.FURY_SWIPES ], + [ 27, MoveId.IRON_DEFENSE ], + [ 30, MoveId.SLASH ], + [ 33, MoveId.IRON_HEAD ], + [ 36, MoveId.GYRO_BALL ], + [ 39, MoveId.SWORDS_DANCE ], + [ 42, MoveId.SNOWSCAPE ], + [ 45, MoveId.BLIZZARD ], + ], + [SpeciesId.ALOLA_SANDSLASH]: [ + [ EVOLVE_MOVE, MoveId.ICICLE_SPEAR ], + [ RELEARN_MOVE, MoveId.SCRATCH ], + [ RELEARN_MOVE, MoveId.MIST ], + [ RELEARN_MOVE, MoveId.BLIZZARD ], + [ RELEARN_MOVE, MoveId.DEFENSE_CURL ], + [ RELEARN_MOVE, MoveId.SWIFT ], + [ RELEARN_MOVE, MoveId.FURY_SWIPES ], + [ RELEARN_MOVE, MoveId.POWDER_SNOW ], + [ RELEARN_MOVE, MoveId.ROLLOUT ], + [ RELEARN_MOVE, MoveId.FURY_CUTTER ], + [ RELEARN_MOVE, MoveId.RAPID_SPIN ], + [ RELEARN_MOVE, MoveId.IRON_DEFENSE ], + [ RELEARN_MOVE, MoveId.GYRO_BALL ], + [ RELEARN_MOVE, MoveId.METAL_BURST ], + [ RELEARN_MOVE, MoveId.IRON_HEAD ], + [ RELEARN_MOVE, MoveId.SNOWSCAPE ], + [ 1, MoveId.ICICLE_CRASH ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.SLASH ], + [ 1, MoveId.SWORDS_DANCE ], + [ 1, MoveId.ICE_BALL ], + ], + [SpeciesId.ALOLA_VULPIX]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.POWDER_SNOW ], + [ 4, MoveId.DISABLE ], + [ 8, MoveId.ICE_SHARD ], + [ 12, MoveId.SPITE ], + [ 16, MoveId.ICY_WIND ], + [ 20, MoveId.CONFUSE_RAY ], + [ 24, MoveId.AURORA_BEAM ], + [ 28, MoveId.EXTRASENSORY ], + [ 32, MoveId.ICE_BEAM ], + [ 36, MoveId.IMPRISON ], + [ 40, MoveId.MIST ], + [ 44, MoveId.AURORA_VEIL ], + [ 48, MoveId.FREEZE_DRY ], + [ 52, MoveId.BLIZZARD ], + ], + [SpeciesId.ALOLA_NINETALES]: [ + [ EVOLVE_MOVE, MoveId.DAZZLING_GLEAM ], + [ RELEARN_MOVE, MoveId.DISABLE ], + [ RELEARN_MOVE, MoveId.MIST ], + [ RELEARN_MOVE, MoveId.ICE_BEAM ], + [ RELEARN_MOVE, MoveId.AURORA_BEAM ], + [ RELEARN_MOVE, MoveId.CONFUSE_RAY ], + [ RELEARN_MOVE, MoveId.SPITE ], + [ RELEARN_MOVE, MoveId.POWDER_SNOW ], + [ RELEARN_MOVE, MoveId.EXTRASENSORY ], + [ RELEARN_MOVE, MoveId.NASTY_PLOT ], + [ RELEARN_MOVE, MoveId.ICE_SHARD ], + [ RELEARN_MOVE, MoveId.FREEZE_DRY ], + [ RELEARN_MOVE, MoveId.AURORA_VEIL ], + [ 1, MoveId.ICY_WIND ], + [ 1, MoveId.IMPRISON ], + [ 1, MoveId.BLIZZARD ], + [ 1, MoveId.TAIL_WHIP ], + ], + [SpeciesId.ALOLA_DIGLETT]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.METAL_CLAW ], + [ 4, MoveId.GROWL ], + [ 8, MoveId.ASTONISH ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.BULLDOZE ], + [ 20, MoveId.SUCKER_PUNCH ], + [ 24, MoveId.IRON_HEAD ], + [ 28, MoveId.SANDSTORM ], + [ 32, MoveId.DIG ], + [ 36, MoveId.EARTH_POWER ], + [ 40, MoveId.EARTHQUAKE ], + [ 44, MoveId.FISSURE ], + ], + [SpeciesId.ALOLA_DUGTRIO]: [ + [ EVOLVE_MOVE, MoveId.SAND_TOMB ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.TRI_ATTACK ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.ASTONISH ], + [ 1, MoveId.NIGHT_SLASH ], + [ 1, MoveId.ROTOTILLER ], + [ 12, MoveId.MUD_SLAP ], + [ 16, MoveId.BULLDOZE ], + [ 20, MoveId.SUCKER_PUNCH ], + [ 24, MoveId.IRON_HEAD ], + [ 30, MoveId.SANDSTORM ], + [ 36, MoveId.DIG ], + [ 42, MoveId.EARTH_POWER ], + [ 48, MoveId.EARTHQUAKE ], + [ 54, MoveId.FISSURE ], + ], + [SpeciesId.ALOLA_MEOWTH]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 4, MoveId.FEINT ], + [ 8, MoveId.SCRATCH ], + [ 12, MoveId.PAY_DAY ], + [ 16, MoveId.BITE ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.ASSURANCE ], + [ 29, MoveId.FURY_SWIPES ], + [ 32, MoveId.SCREECH ], + [ 36, MoveId.NIGHT_SLASH ], + [ 40, MoveId.NASTY_PLOT ], + [ 44, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.ALOLA_PERSIAN]: [ + [ EVOLVE_MOVE, MoveId.POWER_GEM ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.SWITCHEROO ], + [ 1, MoveId.QUASH ], + [ 12, MoveId.PAY_DAY ], + [ 16, MoveId.BITE ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.ASSURANCE ], + [ 31, MoveId.FURY_SWIPES ], + [ 36, MoveId.SCREECH ], + [ 42, MoveId.NIGHT_SLASH ], + [ 48, MoveId.NASTY_PLOT ], + [ 54, MoveId.PLAY_ROUGH ], + ], + [SpeciesId.ALOLA_GEODUDE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 4, MoveId.CHARGE ], + [ 6, MoveId.ROCK_POLISH ], + [ 10, MoveId.ROLLOUT ], + [ 12, MoveId.SPARK ], + [ 16, MoveId.ROCK_THROW ], + [ 18, MoveId.SMACK_DOWN ], + [ 22, MoveId.THUNDER_PUNCH ], + [ 24, MoveId.SELF_DESTRUCT ], + [ 28, MoveId.STEALTH_ROCK ], + [ 30, MoveId.ROCK_BLAST ], + [ 34, MoveId.DISCHARGE ], + [ 36, MoveId.EXPLOSION ], + [ 40, MoveId.DOUBLE_EDGE ], + [ 42, MoveId.STONE_EDGE ], + ], + [SpeciesId.ALOLA_GRAVELER]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.ROCK_POLISH ], + [ 10, MoveId.ROLLOUT ], + [ 12, MoveId.SPARK ], + [ 16, MoveId.ROCK_THROW ], + [ 18, MoveId.SMACK_DOWN ], + [ 22, MoveId.THUNDER_PUNCH ], + [ 24, MoveId.SELF_DESTRUCT ], + [ 30, MoveId.STEALTH_ROCK ], + [ 34, MoveId.ROCK_BLAST ], + [ 40, MoveId.DISCHARGE ], + [ 44, MoveId.EXPLOSION ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 54, MoveId.STONE_EDGE ], + ], + [SpeciesId.ALOLA_GOLEM]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DEFENSE_CURL ], + [ 1, MoveId.CHARGE ], + [ 1, MoveId.ROCK_POLISH ], + [ 1, MoveId.ROLLOUT ], // Previous Stage Move + [ 1, MoveId.HEAVY_SLAM ], + [ 12, MoveId.SPARK ], + [ 16, MoveId.ROCK_THROW ], + [ 18, MoveId.SMACK_DOWN ], + [ 22, MoveId.THUNDER_PUNCH ], + [ 24, MoveId.SELF_DESTRUCT ], + [ 30, MoveId.STEALTH_ROCK ], + [ 34, MoveId.ROCK_BLAST ], + [ 40, MoveId.DISCHARGE ], + [ 44, MoveId.EXPLOSION ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 54, MoveId.STONE_EDGE ], + ], + [SpeciesId.ALOLA_GRIMER]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.POISON_GAS ], + [ 4, MoveId.HARDEN ], + [ 7, MoveId.BITE ], + [ 12, MoveId.DISABLE ], + [ 15, MoveId.ACID_SPRAY ], + [ 18, MoveId.POISON_FANG ], + [ 21, MoveId.MINIMIZE ], + [ 26, MoveId.TOXIC ], + [ 29, MoveId.KNOCK_OFF ], + [ 32, MoveId.CRUNCH ], + [ 37, MoveId.SCREECH ], + [ 40, MoveId.GUNK_SHOT ], + [ 43, MoveId.ACID_ARMOR ], + [ 46, MoveId.BELCH ], + [ 48, MoveId.MEMENTO ], + ], + [SpeciesId.ALOLA_MUK]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.BITE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.POISON_GAS ], + [ 12, MoveId.DISABLE ], + [ 15, MoveId.ACID_SPRAY ], + [ 18, MoveId.POISON_FANG ], + [ 21, MoveId.MINIMIZE ], + [ 26, MoveId.TOXIC ], + [ 29, MoveId.KNOCK_OFF ], + [ 32, MoveId.CRUNCH ], + [ 37, MoveId.SCREECH ], + [ 40, MoveId.GUNK_SHOT ], + [ 46, MoveId.ACID_ARMOR ], + [ 52, MoveId.BELCH ], + [ 57, MoveId.MEMENTO ], + ], + [SpeciesId.ALOLA_EXEGGUTOR]: [ + [ EVOLVE_MOVE, MoveId.DRAGON_HAMMER ], + [ RELEARN_MOVE, MoveId.GROWTH ], + [ 1, MoveId.BARRAGE ], + [ 1, MoveId.SEED_BOMB ], + [ 1, MoveId.PSYSHOCK ], + [ 1, MoveId.WOOD_HAMMER ], + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.SYNTHESIS ], + [ 1, MoveId.BULLET_SEED ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.EXTRASENSORY ], + [ 1, MoveId.UPROAR ], + [ 1, MoveId.WORRY_SEED ], + [ 1, MoveId.SOLAR_BEAM ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.HYPNOSIS ], + [ 1, MoveId.REFLECT ], + [ 1, MoveId.LEECH_SEED ], + ], + [SpeciesId.ALOLA_MAROWAK]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_BONE ], + [ 1, MoveId.BONE_CLUB ], + [ 1, MoveId.HEADBUTT ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.FIRE_SPIN ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.FALSE_SWIPE ], + [ 1, MoveId.RETALIATE ], + [ 12, MoveId.FLAME_WHEEL ], + [ 16, MoveId.HEX ], + [ 20, MoveId.FLING ], + [ 24, MoveId.STOMPING_TANTRUM ], + [ 31, MoveId.BONE_RUSH ], + [ 36, MoveId.WILL_O_WISP ], + [ 42, MoveId.ENDEAVOR ], + [ 48, MoveId.BONEMERANG ], + [ 54, MoveId.THRASH ], + [ 60, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.ETERNAL_FLOETTE]: [ + [ 1, MoveId.VINE_WHIP ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.FAIRY_WIND ], + [ 10, MoveId.LUCKY_CHANT ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.WISH ], + [ 25, MoveId.MAGICAL_LEAF ], + [ 27, MoveId.GRASSY_TERRAIN ], + [ 33, MoveId.PETAL_BLIZZARD ], + [ 38, MoveId.AROMATHERAPY ], + [ 43, MoveId.MISTY_TERRAIN ], + [ 46, MoveId.MOONBLAST ], + [ 50, MoveId.LIGHT_OF_RUIN ], + [ 51, MoveId.PETAL_DANCE ], + [ 58, MoveId.SOLAR_BEAM ], + ], + [SpeciesId.GALAR_MEOWTH]: [ + [ 1, MoveId.GROWL ], + [ 1, MoveId.FAKE_OUT ], + [ 4, MoveId.HONE_CLAWS ], + [ 8, MoveId.SCRATCH ], + [ 12, MoveId.PAY_DAY ], + [ 16, MoveId.METAL_CLAW ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.SWAGGER ], + [ 29, MoveId.FURY_SWIPES ], + [ 32, MoveId.SCREECH ], + [ 36, MoveId.SLASH ], + [ 40, MoveId.METAL_SOUND ], + [ 44, MoveId.THRASH ], + ], + [SpeciesId.GALAR_PONYTA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 5, MoveId.TAIL_WHIP ], + [ 10, MoveId.CONFUSION ], + [ 15, MoveId.FAIRY_WIND ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.PSYBEAM ], + [ 30, MoveId.STOMP ], + [ 35, MoveId.HEAL_PULSE ], + [ 41, MoveId.TAKE_DOWN ], + [ 45, MoveId.DAZZLING_GLEAM ], + [ 50, MoveId.PSYCHIC ], + [ 55, MoveId.HEALING_WISH ], + ], + [SpeciesId.GALAR_RAPIDASH]: [ + [ EVOLVE_MOVE, MoveId.PSYCHO_CUT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.MEGAHORN ], + [ 15, MoveId.FAIRY_WIND ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.PSYBEAM ], + [ 30, MoveId.STOMP ], + [ 35, MoveId.HEAL_PULSE ], + [ 43, MoveId.TAKE_DOWN ], + [ 49, MoveId.DAZZLING_GLEAM ], + [ 56, MoveId.PSYCHIC ], + [ 63, MoveId.HEALING_WISH ], + ], + [SpeciesId.GALAR_SLOWPOKE]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CURSE ], + [ 3, MoveId.GROWL ], + [ 6, MoveId.ACID ], + [ 9, MoveId.YAWN ], + [ 12, MoveId.CONFUSION ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 27, MoveId.AMNESIA ], + [ 30, MoveId.SURF ], + [ 33, MoveId.SLACK_OFF ], + [ 36, MoveId.PSYCHIC ], + [ 39, MoveId.PSYCH_UP ], + [ 42, MoveId.RAIN_DANCE ], + [ 45, MoveId.HEAL_PULSE ], + ], + [SpeciesId.GALAR_SLOWBRO]: [ + [ EVOLVE_MOVE, MoveId.SHELL_SIDE_ARM ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ACID ], + [ 1, MoveId.WITHDRAW ], + [ 1, MoveId.CURSE ], + [ 9, MoveId.YAWN ], + [ 12, MoveId.CONFUSION ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 27, MoveId.AMNESIA ], + [ 30, MoveId.SURF ], + [ 33, MoveId.SLACK_OFF ], + [ 36, MoveId.PSYCHIC ], + [ 39, MoveId.PSYCH_UP ], + [ 42, MoveId.RAIN_DANCE ], + [ 45, MoveId.HEAL_PULSE ], + ], + [SpeciesId.GALAR_FARFETCHD]: [ + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.PECK ], + [ 5, MoveId.LEER ], + [ 10, MoveId.FURY_CUTTER ], + [ 15, MoveId.ROCK_SMASH ], + [ 20, MoveId.BRUTAL_SWING ], + [ 25, MoveId.DETECT ], + [ 30, MoveId.KNOCK_OFF ], + [ 35, MoveId.DEFOG ], + [ 40, MoveId.BRICK_BREAK ], + [ 45, MoveId.SWORDS_DANCE ], + [ 50, MoveId.SLAM ], + [ 55, MoveId.LEAF_BLADE ], + [ 60, MoveId.FINAL_GAMBIT ], + [ 65, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.GALAR_WEEZING]: [ + [ EVOLVE_MOVE, MoveId.DOUBLE_HIT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.HAZE ], + [ 1, MoveId.SMOG ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.HEAT_WAVE ], + [ 1, MoveId.DEFOG ], + [ 1, MoveId.AROMATIC_MIST ], + [ 1, MoveId.STRANGE_STEAM ], + [ 12, MoveId.CLEAR_SMOG ], + [ 16, MoveId.ASSURANCE ], + [ 20, MoveId.SLUDGE ], + [ 24, MoveId.FAIRY_WIND ], + [ 28, MoveId.SELF_DESTRUCT ], + [ 32, MoveId.SLUDGE_BOMB ], + [ 38, MoveId.TOXIC ], + [ 44, MoveId.BELCH ], + [ 50, MoveId.EXPLOSION ], + [ 56, MoveId.MEMENTO ], + [ 62, MoveId.DESTINY_BOND ], + [ 68, MoveId.MISTY_TERRAIN ], + ], + [SpeciesId.GALAR_MR_MIME]: [ + [ 1, MoveId.POUND ], + [ 1, MoveId.BARRIER ], // Previous Stage Move + [ 1, MoveId.TICKLE ], // Previous Stage Move + [ 1, MoveId.MIMIC ], + [ 1, MoveId.LIGHT_SCREEN ], + [ 1, MoveId.REFLECT ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SAFEGUARD ], + [ 1, MoveId.BATON_PASS ], + [ 1, MoveId.ENCORE ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.ROLE_PLAY ], + [ 1, MoveId.RECYCLE ], + [ 1, MoveId.COPYCAT ], + [ 1, MoveId.ICE_SHARD ], + [ 1, MoveId.MISTY_TERRAIN ], + [ 1, MoveId.DAZZLING_GLEAM ], + [ 12, MoveId.CONFUSION ], + [ 16, MoveId.ALLY_SWITCH ], + [ 20, MoveId.ICY_WIND ], + [ 24, MoveId.DOUBLE_KICK ], + [ 28, MoveId.PSYBEAM ], + [ 32, MoveId.HYPNOSIS ], + [ 36, MoveId.MIRROR_COAT ], + [ 40, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.FREEZE_DRY ], + [ 48, MoveId.PSYCHIC ], + [ 52, MoveId.TEETER_DANCE ], + ], + [SpeciesId.GALAR_ARTICUNO]: [ + [ 1, MoveId.GUST ], + [ 5, MoveId.CONFUSION ], + [ 10, MoveId.REFLECT ], + [ 15, MoveId.HYPNOSIS ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.ANCIENT_POWER ], + [ 30, MoveId.TAILWIND ], + [ 35, MoveId.PSYCHO_CUT ], + [ 40, MoveId.RECOVER ], + [ 45, MoveId.FREEZING_GLARE ], + [ 50, MoveId.DREAM_EATER ], + [ 55, MoveId.HURRICANE ], + [ 60, MoveId.DOUBLE_TEAM ], + [ 65, MoveId.FUTURE_SIGHT ], + [ 70, MoveId.TRICK_ROOM ], + ], + [SpeciesId.GALAR_ZAPDOS]: [ + [ 1, MoveId.PECK ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 5, MoveId.ROCK_SMASH ], + [ 10, MoveId.LIGHT_SCREEN ], + [ 15, MoveId.PLUCK ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.ANCIENT_POWER ], + [ 30, MoveId.BRICK_BREAK ], + [ 35, MoveId.DRILL_PECK ], + [ 40, MoveId.QUICK_GUARD ], + [ 45, MoveId.THUNDEROUS_KICK ], + [ 50, MoveId.BULK_UP ], + [ 55, MoveId.COUNTER ], + [ 60, MoveId.DETECT ], + [ 65, MoveId.CLOSE_COMBAT ], + [ 70, MoveId.REVERSAL ], + ], + [SpeciesId.GALAR_MOLTRES]: [ + [ 1, MoveId.GUST ], + [ 1, MoveId.LEER ], + [ 5, MoveId.PAYBACK ], + [ 10, MoveId.SAFEGUARD ], + [ 15, MoveId.WING_ATTACK ], + [ 20, MoveId.AGILITY ], + [ 25, MoveId.ANCIENT_POWER ], + [ 30, MoveId.SUCKER_PUNCH ], + [ 35, MoveId.AIR_SLASH ], + [ 40, MoveId.AFTER_YOU ], + [ 45, MoveId.FIERY_WRATH ], + [ 50, MoveId.NASTY_PLOT ], + [ 55, MoveId.HURRICANE ], + [ 60, MoveId.ENDURE ], + [ 65, MoveId.MEMENTO ], + [ 70, MoveId.SKY_ATTACK ], + ], + [SpeciesId.GALAR_SLOWKING]: [ + [ EVOLVE_MOVE, MoveId.EERIE_SPELL ], + [ RELEARN_MOVE, MoveId.FUTURE_SIGHT ], + [ RELEARN_MOVE, MoveId.CHILLY_RECEPTION ], + [ RELEARN_MOVE, MoveId.TOXIC ], + [ 1, MoveId.POWER_GEM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.SWAGGER ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CURSE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ACID ], + [ 9, MoveId.YAWN ], + [ 12, MoveId.CONFUSION ], + [ 15, MoveId.DISABLE ], + [ 18, MoveId.WATER_PULSE ], + [ 21, MoveId.HEADBUTT ], + [ 24, MoveId.ZEN_HEADBUTT ], + [ 27, MoveId.AMNESIA ], + [ 30, MoveId.SURF ], + [ 33, MoveId.SLACK_OFF ], + [ 36, MoveId.PSYCHIC ], + [ 39, MoveId.PSYCH_UP ], + [ 42, MoveId.RAIN_DANCE ], + [ 45, MoveId.HEAL_PULSE ], + ], + [SpeciesId.GALAR_CORSOLA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 5, MoveId.ASTONISH ], + [ 10, MoveId.DISABLE ], + [ 15, MoveId.SPITE ], + [ 20, MoveId.ANCIENT_POWER ], + [ 25, MoveId.HEX ], + [ 30, MoveId.CURSE ], + [ 35, MoveId.STRENGTH_SAP ], + [ 40, MoveId.POWER_GEM ], + [ 45, MoveId.NIGHT_SHADE ], + [ 50, MoveId.GRUDGE ], + [ 55, MoveId.MIRROR_COAT ], + ], + [SpeciesId.GALAR_ZIGZAGOON]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 3, MoveId.SAND_ATTACK ], + [ 6, MoveId.LICK ], + [ 9, MoveId.SNARL ], + [ 12, MoveId.HEADBUTT ], + [ 15, MoveId.BABY_DOLL_EYES ], + [ 18, MoveId.PIN_MISSILE ], + [ 21, MoveId.REST ], + [ 24, MoveId.TAKE_DOWN ], + [ 27, MoveId.SCARY_FACE ], + [ 30, MoveId.COUNTER ], + [ 33, MoveId.TAUNT ], + [ 36, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.GALAR_LINOONE]: [ + [ EVOLVE_MOVE, MoveId.NIGHT_SLASH ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PIN_MISSILE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LICK ], + [ 1, MoveId.SWITCHEROO ], + [ 1, MoveId.BABY_DOLL_EYES ], + [ 9, MoveId.SNARL ], + [ 12, MoveId.HEADBUTT ], + [ 15, MoveId.HONE_CLAWS ], + [ 18, MoveId.FURY_SWIPES ], + [ 23, MoveId.REST ], + [ 28, MoveId.TAKE_DOWN ], + [ 33, MoveId.SCARY_FACE ], + [ 38, MoveId.COUNTER ], + [ 43, MoveId.TAUNT ], + [ 48, MoveId.DOUBLE_EDGE ], + ], + [SpeciesId.GALAR_DARUMAKA]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POWDER_SNOW ], + [ 4, MoveId.TAUNT ], + [ 8, MoveId.BITE ], + [ 12, MoveId.AVALANCHE ], + [ 16, MoveId.WORK_UP ], + [ 20, MoveId.ICE_FANG ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.ICE_PUNCH ], + [ 32, MoveId.UPROAR ], + [ 36, MoveId.BELLY_DRUM ], + [ 40, MoveId.BLIZZARD ], + [ 44, MoveId.THRASH ], + [ 48, MoveId.SUPERPOWER ], + ], + [SpeciesId.GALAR_DARMANITAN]: [ + [ EVOLVE_MOVE, MoveId.ICICLE_CRASH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.TAUNT ], + [ 12, MoveId.AVALANCHE ], + [ 16, MoveId.WORK_UP ], + [ 20, MoveId.ICE_FANG ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.ICE_PUNCH ], + [ 32, MoveId.UPROAR ], + [ 38, MoveId.BELLY_DRUM ], + [ 44, MoveId.BLIZZARD ], + [ 50, MoveId.THRASH ], + [ 56, MoveId.SUPERPOWER ], + ], + [SpeciesId.GALAR_YAMASK]: [ + [ 1, MoveId.PROTECT ], + [ 1, MoveId.ASTONISH ], + [ 4, MoveId.HAZE ], + [ 8, MoveId.NIGHT_SHADE ], + [ 12, MoveId.DISABLE ], + [ 16, MoveId.BRUTAL_SWING ], + [ 20, MoveId.CRAFTY_SHIELD ], + [ 24, MoveId.HEX ], + [ 28, MoveId.MEAN_LOOK ], + [ 32, MoveId.SLAM ], + [ 36, MoveId.CURSE ], + [ 40, MoveId.SHADOW_BALL ], + [ 44, MoveId.EARTHQUAKE ], + [ 48, MoveId.GUARD_SPLIT ], + [ 48, MoveId.POWER_SPLIT ], + [ 52, MoveId.DESTINY_BOND ], + ], + [SpeciesId.GALAR_STUNFISK]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.MUD_SLAP ], + [ 1, MoveId.METAL_CLAW ], + [ 5, MoveId.ENDURE ], + [ 10, MoveId.MUD_SHOT ], + [ 15, MoveId.REVENGE ], + [ 20, MoveId.METAL_SOUND ], + [ 25, MoveId.SUCKER_PUNCH ], + [ 30, MoveId.IRON_DEFENSE ], + [ 35, MoveId.BOUNCE ], + [ 40, MoveId.MUDDY_WATER ], + [ 45, MoveId.SNAP_TRAP ], + [ 50, MoveId.FLAIL ], + [ 55, MoveId.FISSURE ], + ], + [SpeciesId.HISUI_GROWLITHE]: [ + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 4, MoveId.HOWL ], + [ 8, MoveId.BITE ], + [ 12, MoveId.FLAME_WHEEL ], + [ 16, MoveId.HELPING_HAND ], + [ 24, MoveId.FIRE_FANG ], + [ 28, MoveId.RETALIATE ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.FLAMETHROWER ], + [ 44, MoveId.ROAR ], + [ 48, MoveId.ROCK_SLIDE ], + [ 52, MoveId.REVERSAL ], + [ 56, MoveId.FLARE_BLITZ ], + ], + [SpeciesId.HISUI_ARCANINE]: [ + [ EVOLVE_MOVE, MoveId.EXTREME_SPEED ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.LEER ], + [ 1, MoveId.BITE ], + [ 1, MoveId.ROAR ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.ROCK_THROW ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.ROCK_SLIDE ], + [ 1, MoveId.FLAME_WHEEL ], + [ 1, MoveId.REVERSAL ], + [ 1, MoveId.CRUNCH ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.FLARE_BLITZ ], + [ 1, MoveId.FIRE_FANG ], + [ 1, MoveId.RETALIATE ], + [ 5, MoveId.FLAMETHROWER ], + [ 64, MoveId.RAGING_FURY ], + ], + [SpeciesId.HISUI_VOLTORB]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CHARGE ], + [ 4, MoveId.THUNDER_SHOCK ], + [ 6, MoveId.STUN_SPORE ], + [ 9, MoveId.BULLET_SEED ], + [ 11, MoveId.ROLLOUT ], + [ 13, MoveId.SCREECH ], + [ 16, MoveId.CHARGE_BEAM ], + [ 20, MoveId.SWIFT ], + [ 22, MoveId.ELECTRO_BALL ], + [ 26, MoveId.SELF_DESTRUCT ], + [ 29, MoveId.ENERGY_BALL ], + [ 34, MoveId.SEED_BOMB ], + [ 34, MoveId.DISCHARGE ], + [ 41, MoveId.EXPLOSION ], + [ 46, MoveId.GYRO_BALL ], + [ 50, MoveId.GRASSY_TERRAIN ], + ], + [SpeciesId.HISUI_ELECTRODE]: [ + [ EVOLVE_MOVE, MoveId.CHLOROBLAST ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.CHARGE ], + [ 4, MoveId.THUNDER_SHOCK ], + [ 6, MoveId.STUN_SPORE ], + [ 9, MoveId.BULLET_SEED ], + [ 11, MoveId.ROLLOUT ], + [ 13, MoveId.SCREECH ], + [ 16, MoveId.CHARGE_BEAM ], + [ 20, MoveId.SWIFT ], + [ 22, MoveId.ELECTRO_BALL ], + [ 26, MoveId.SELF_DESTRUCT ], + [ 29, MoveId.ENERGY_BALL ], + [ 34, MoveId.SEED_BOMB ], + [ 34, MoveId.DISCHARGE ], + [ 41, MoveId.EXPLOSION ], + [ 46, MoveId.GYRO_BALL ], + [ 50, MoveId.GRASSY_TERRAIN ], + ], + [SpeciesId.HISUI_TYPHLOSION]: [ + [ EVOLVE_MOVE, MoveId.INFERNAL_PARADE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.EMBER ], + [ 1, MoveId.SMOKESCREEN ], + [ 1, MoveId.ERUPTION ], + [ 1, MoveId.GYRO_BALL ], + [ 13, MoveId.QUICK_ATTACK ], + [ 20, MoveId.FLAME_WHEEL ], + [ 24, MoveId.DEFENSE_CURL ], + [ 31, MoveId.SWIFT ], + [ 35, MoveId.FLAME_CHARGE ], + [ 43, MoveId.LAVA_PLUME ], + [ 48, MoveId.FLAMETHROWER ], + [ 56, MoveId.INFERNO ], + [ 61, MoveId.ROLLOUT ], + [ 74, MoveId.OVERHEAT ], + ], + [SpeciesId.HISUI_QWILFISH]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.POISON_STING ], + [ 4, MoveId.HARDEN ], + [ 8, MoveId.BITE ], + [ 12, MoveId.FELL_STINGER ], + [ 16, MoveId.MINIMIZE ], + [ 20, MoveId.SPIKES ], + [ 24, MoveId.BRINE ], + [ 28, MoveId.BARB_BARRAGE ], + [ 32, MoveId.PIN_MISSILE ], + [ 36, MoveId.TOXIC_SPIKES ], + [ 40, MoveId.STOCKPILE ], + [ 40, MoveId.SPIT_UP ], + [ 44, MoveId.TOXIC ], + [ 48, MoveId.CRUNCH ], + [ 52, MoveId.ACUPRESSURE ], + [ 56, MoveId.DESTINY_BOND ], + ], + [SpeciesId.HISUI_SNEASEL]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.ROCK_SMASH ], + [ 6, MoveId.TAUNT ], + [ 12, MoveId.QUICK_ATTACK ], + [ 18, MoveId.METAL_CLAW ], + [ 24, MoveId.POISON_JAB ], + [ 30, MoveId.BRICK_BREAK ], + [ 36, MoveId.HONE_CLAWS ], + [ 42, MoveId.SLASH ], + [ 48, MoveId.AGILITY ], + [ 54, MoveId.SCREECH ], + [ 60, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.HISUI_SAMUROTT]: [ + [ EVOLVE_MOVE, MoveId.CEASELESS_EDGE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.SOAK ], // Previous Stage Move + [ 1, MoveId.SLASH ], + [ 1, MoveId.MEGAHORN ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 13, MoveId.FOCUS_ENERGY ], + [ 18, MoveId.RAZOR_SHELL ], + [ 21, MoveId.FURY_CUTTER ], + [ 25, MoveId.WATER_PULSE ], + [ 29, MoveId.AERIAL_ACE ], + [ 34, MoveId.AQUA_JET ], + [ 39, MoveId.ENCORE ], + [ 46, MoveId.AQUA_TAIL ], + [ 51, MoveId.RETALIATE ], + [ 58, MoveId.SWORDS_DANCE ], + [ 63, MoveId.HYDRO_PUMP ], + ], + [SpeciesId.HISUI_LILLIGANT]: [ + [ EVOLVE_MOVE, MoveId.VICTORY_DANCE ], + [ 1, MoveId.MEGA_KICK ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.LEECH_SEED ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.STUN_SPORE ], + [ 1, MoveId.SLEEP_POWDER ], + [ 1, MoveId.GIGA_DRAIN ], + [ 1, MoveId.CHARM ], // Previous Stage Move + [ 1, MoveId.SYNTHESIS ], + [ 1, MoveId.SUNNY_DAY ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.TEETER_DANCE ], + [ 1, MoveId.MAGICAL_LEAF ], + [ 1, MoveId.LEAF_BLADE ], + [ 1, MoveId.ENERGY_BALL ], + [ 1, MoveId.DEFOG ], + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.ENTRAINMENT ], + [ 1, MoveId.AFTER_YOU ], + [ 1, MoveId.PETAL_BLIZZARD ], + [ 1, MoveId.SOLAR_BLADE ], + [ 5, MoveId.AXE_KICK ], + ], + [SpeciesId.HISUI_ZORUA]: [ + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 4, MoveId.TORMENT ], + [ 8, MoveId.HONE_CLAWS ], + [ 12, MoveId.SHADOW_SNEAK ], + [ 16, MoveId.CURSE ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.KNOCK_OFF ], + [ 28, MoveId.SPITE ], + [ 32, MoveId.AGILITY ], + [ 36, MoveId.SHADOW_BALL ], + [ 40, MoveId.BITTER_MALICE ], + [ 44, MoveId.NASTY_PLOT ], + [ 48, MoveId.FOUL_PLAY ], + ], + [SpeciesId.HISUI_ZOROARK]: [ + [ EVOLVE_MOVE, MoveId.SHADOW_CLAW ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.TORMENT ], + [ 1, MoveId.U_TURN ], + [ 1, MoveId.HONE_CLAWS ], + [ 12, MoveId.SHADOW_SNEAK ], + [ 16, MoveId.CURSE ], + [ 20, MoveId.TAUNT ], + [ 24, MoveId.KNOCK_OFF ], + [ 28, MoveId.SPITE ], + [ 34, MoveId.AGILITY ], + [ 40, MoveId.SHADOW_BALL ], + [ 46, MoveId.BITTER_MALICE ], + [ 52, MoveId.NASTY_PLOT ], + [ 58, MoveId.FOUL_PLAY ], + ], + [SpeciesId.HISUI_BRAVIARY]: [ + [ EVOLVE_MOVE, MoveId.ESPER_WING ], + [ RELEARN_MOVE, MoveId.BRAVE_BIRD ], // Previous Stage Move + [ 1, MoveId.WING_ATTACK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.PECK ], + [ 1, MoveId.SKY_ATTACK ], + [ 1, MoveId.SUPERPOWER ], + [ 1, MoveId.HONE_CLAWS ], + [ 18, MoveId.TAILWIND ], + [ 24, MoveId.SCARY_FACE ], + [ 30, MoveId.AERIAL_ACE ], + [ 36, MoveId.SLASH ], + [ 42, MoveId.WHIRLWIND ], + [ 48, MoveId.CRUSH_CLAW ], + [ 57, MoveId.AIR_SLASH ], + [ 64, MoveId.DEFOG ], + [ 72, MoveId.THRASH ], + [ 80, MoveId.HURRICANE ], + ], + [SpeciesId.HISUI_SLIGGOO]: [ + [ EVOLVE_MOVE, MoveId.SHELTER ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.ACID_ARMOR ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.BODY_SLAM ], // Previous Stage Move + [ 15, MoveId.PROTECT ], + [ 20, MoveId.FLAIL ], + [ 25, MoveId.WATER_PULSE ], + [ 30, MoveId.RAIN_DANCE ], + [ 35, MoveId.DRAGON_PULSE ], + [ 43, MoveId.CURSE ], + [ 49, MoveId.IRON_HEAD ], + [ 56, MoveId.MUDDY_WATER ], + ], + [SpeciesId.HISUI_GOODRA]: [ + [ EVOLVE_MOVE, MoveId.IRON_TAIL ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.ABSORB ], + [ 1, MoveId.ACID_ARMOR ], // Previous Stage Move + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.FEINT ], + [ 1, MoveId.ACID_SPRAY ], + [ 1, MoveId.TEARFUL_LOOK ], + [ 1, MoveId.SHELTER ], + [ 15, MoveId.PROTECT ], + [ 20, MoveId.FLAIL ], + [ 25, MoveId.WATER_PULSE ], + [ 30, MoveId.RAIN_DANCE ], + [ 35, MoveId.DRAGON_PULSE ], + [ 43, MoveId.CURSE ], + [ 49, MoveId.BODY_SLAM ], + [ 49, MoveId.IRON_HEAD ], + [ 58, MoveId.MUDDY_WATER ], + [ 67, MoveId.HEAVY_SLAM ], + ], + [SpeciesId.HISUI_AVALUGG]: [ + [ EVOLVE_MOVE, MoveId.ROCK_SLIDE ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.HARDEN ], + [ 1, MoveId.POWDER_SNOW ], + [ 1, MoveId.RAPID_SPIN ], + [ 1, MoveId.WIDE_GUARD ], + [ 9, MoveId.CURSE ], + [ 12, MoveId.ICY_WIND ], + [ 15, MoveId.PROTECT ], + [ 18, MoveId.AVALANCHE ], + [ 21, MoveId.BITE ], + [ 24, MoveId.ICE_FANG ], + [ 27, MoveId.IRON_DEFENSE ], + [ 30, MoveId.RECOVER ], + [ 33, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 41, MoveId.BLIZZARD ], + [ 46, MoveId.DOUBLE_EDGE ], + [ 51, MoveId.STONE_EDGE ], + [ 61, MoveId.MOUNTAIN_GALE ], + ], + [SpeciesId.HISUI_DECIDUEYE]: [ + [ EVOLVE_MOVE, MoveId.TRIPLE_ARROWS ], + [ RELEARN_MOVE, MoveId.NASTY_PLOT ], // Previous Stage Move + [ 1, MoveId.TACKLE ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.U_TURN ], + [ 1, MoveId.ASTONISH ], // Previous Stage Move + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.LEAFAGE ], + [ 9, MoveId.PECK ], + [ 12, MoveId.SHADOW_SNEAK ], + [ 15, MoveId.RAZOR_LEAF ], + [ 20, MoveId.SYNTHESIS ], + [ 25, MoveId.PLUCK ], + [ 30, MoveId.BULK_UP ], + [ 37, MoveId.SUCKER_PUNCH ], + [ 44, MoveId.LEAF_BLADE ], + [ 51, MoveId.FEATHER_DANCE ], + [ 58, MoveId.BRAVE_BIRD ], + ], + [SpeciesId.PALDEA_TAUROS]: [ + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.WORK_UP ], + [ 10, MoveId.DOUBLE_KICK ], + [ 15, MoveId.ASSURANCE ], + [ 20, MoveId.HEADBUTT ], + [ 25, MoveId.SCARY_FACE ], + [ 30, MoveId.ZEN_HEADBUTT ], + [ 35, MoveId.RAGING_BULL ], + [ 40, MoveId.REST ], + [ 45, MoveId.SWAGGER ], + [ 50, MoveId.THRASH ], + [ 55, MoveId.DOUBLE_EDGE ], + [ 60, MoveId.CLOSE_COMBAT ], + ], + [SpeciesId.PALDEA_WOOPER]: [ + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.MUD_SHOT ], + [ 4, MoveId.TACKLE ], + [ 8, MoveId.POISON_TAIL ], + [ 12, MoveId.TOXIC_SPIKES ], + [ 16, MoveId.SLAM ], + [ 21, MoveId.YAWN ], + [ 24, MoveId.POISON_JAB ], + [ 28, MoveId.SLUDGE_WAVE ], + [ 32, MoveId.AMNESIA ], + [ 36, MoveId.TOXIC ], + [ 40, MoveId.EARTHQUAKE ], + ], + [SpeciesId.BLOODMOON_URSALUNA]: [ + [ RELEARN_MOVE, MoveId.MOONLIGHT ], + [ 1, MoveId.HEADLONG_RUSH ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.LICK ], + [ 8, MoveId.FURY_SWIPES ], + [ 13, MoveId.PAYBACK ], + [ 17, MoveId.HARDEN ], + [ 22, MoveId.SLASH ], + [ 25, MoveId.PLAY_NICE ], + [ 35, MoveId.SCARY_FACE ], + [ 41, MoveId.REST ], + [ 41, MoveId.SNORE ], + [ 48, MoveId.EARTH_POWER ], + [ 56, MoveId.MOONBLAST ], + [ 64, MoveId.HAMMER_ARM ], + [ 70, MoveId.BLOOD_MOON ], ] }; export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = { - [Species.PIKACHU]: { // Custom + [SpeciesId.PIKACHU]: { // Custom 1: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.ZIPPY_ZAP ], // Custom - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 34, Moves.FLOATY_FALL ], // Custom - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 42, Moves.SPLISHY_SPLASH ], // Custom - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.ZIPPY_ZAP ], // Custom + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 34, MoveId.FLOATY_FALL ], // Custom + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 42, MoveId.SPLISHY_SPLASH ], // Custom + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], 2: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.SPARK ], - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], 3: [ - [ 1, Moves.METEOR_MASH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.SPARK ], - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.METEOR_MASH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], 4: [ - [ 1, Moves.ICICLE_CRASH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.SPARK ], - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.ICICLE_CRASH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], 5: [ - [ 1, Moves.DRAINING_KISS ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.SPARK ], - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.DRAINING_KISS ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], 6: [ - [ 1, Moves.ELECTRIC_TERRAIN ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.SPARK ], - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.ELECTRIC_TERRAIN ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], 7: [ - [ 1, Moves.FLYING_PRESS ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.SPARK ], - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.FLYING_PRESS ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.SPARK ], + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], 8: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.SWEET_KISS ], - [ 1, Moves.CHARM ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.PLAY_NICE ], - [ 1, Moves.NUZZLE ], - [ 4, Moves.THUNDER_WAVE ], - [ 8, Moves.DOUBLE_TEAM ], - [ 12, Moves.ELECTRO_BALL ], - [ 16, Moves.FEINT ], - [ 20, Moves.ZIPPY_ZAP ], // Custom - [ 24, Moves.AGILITY ], - [ 28, Moves.IRON_TAIL ], - [ 32, Moves.DISCHARGE ], - [ 34, Moves.FLOATY_FALL ], // Custom - [ 36, Moves.THUNDERBOLT ], - [ 40, Moves.LIGHT_SCREEN ], - [ 42, Moves.SPLISHY_SPLASH ], // Custom - [ 44, Moves.THUNDER ], - [ 48, Moves.PIKA_PAPOW ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.SWEET_KISS ], + [ 1, MoveId.CHARM ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.PLAY_NICE ], + [ 1, MoveId.NUZZLE ], + [ 4, MoveId.THUNDER_WAVE ], + [ 8, MoveId.DOUBLE_TEAM ], + [ 12, MoveId.ELECTRO_BALL ], + [ 16, MoveId.FEINT ], + [ 20, MoveId.ZIPPY_ZAP ], // Custom + [ 24, MoveId.AGILITY ], + [ 28, MoveId.IRON_TAIL ], + [ 32, MoveId.DISCHARGE ], + [ 34, MoveId.FLOATY_FALL ], // Custom + [ 36, MoveId.THUNDERBOLT ], + [ 40, MoveId.LIGHT_SCREEN ], + [ 42, MoveId.SPLISHY_SPLASH ], // Custom + [ 44, MoveId.THUNDER ], + [ 48, MoveId.PIKA_PAPOW ], ], }, - [Species.EEVEE]: { // Custom + [SpeciesId.EEVEE]: { // Custom 1: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.QUICK_ATTACK ], - [ 15, Moves.BABY_DOLL_EYES ], - [ 18, Moves.BOUNCY_BUBBLE ], // Custom - [ 18, Moves.SIZZLY_SLIDE ], // Custom - [ 18, Moves.BUZZY_BUZZ ], // Custom - [ 20, Moves.SWIFT ], - [ 25, Moves.BITE ], - [ 30, Moves.COPYCAT ], - [ 33, Moves.BADDY_BAD ], // Custom - [ 33, Moves.GLITZY_GLOW ], // Custom - [ 35, Moves.BATON_PASS ], - [ 40, Moves.VEEVEE_VOLLEY ], // Custom, replaces Take Down - [ 43, Moves.FREEZY_FROST ], // Custom - [ 43, Moves.SAPPY_SEED ], // Custom - [ 45, Moves.CHARM ], - [ 50, Moves.DOUBLE_EDGE ], - [ 53, Moves.SPARKLY_SWIRL ], // Custom - [ 55, Moves.LAST_RESORT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.QUICK_ATTACK ], + [ 15, MoveId.BABY_DOLL_EYES ], + [ 18, MoveId.BOUNCY_BUBBLE ], // Custom + [ 18, MoveId.SIZZLY_SLIDE ], // Custom + [ 18, MoveId.BUZZY_BUZZ ], // Custom + [ 20, MoveId.SWIFT ], + [ 25, MoveId.BITE ], + [ 30, MoveId.COPYCAT ], + [ 33, MoveId.BADDY_BAD ], // Custom + [ 33, MoveId.GLITZY_GLOW ], // Custom + [ 35, MoveId.BATON_PASS ], + [ 40, MoveId.VEEVEE_VOLLEY ], // Custom, replaces Take Down + [ 43, MoveId.FREEZY_FROST ], // Custom + [ 43, MoveId.SAPPY_SEED ], // Custom + [ 45, MoveId.CHARM ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 53, MoveId.SPARKLY_SWIRL ], // Custom + [ 55, MoveId.LAST_RESORT ], ], 2: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], - [ 1, Moves.HELPING_HAND ], - [ 1, Moves.COVET ], - [ 5, Moves.SAND_ATTACK ], - [ 10, Moves.QUICK_ATTACK ], - [ 15, Moves.BABY_DOLL_EYES ], - [ 18, Moves.BOUNCY_BUBBLE ], // Custom - [ 18, Moves.SIZZLY_SLIDE ], // Custom - [ 18, Moves.BUZZY_BUZZ ], // Custom - [ 20, Moves.SWIFT ], - [ 25, Moves.BITE ], - [ 30, Moves.COPYCAT ], - [ 33, Moves.BADDY_BAD ], // Custom - [ 33, Moves.GLITZY_GLOW ], // Custom - [ 35, Moves.BATON_PASS ], - [ 40, Moves.VEEVEE_VOLLEY ], // Custom, replaces Take Down - [ 43, Moves.FREEZY_FROST ], // Custom - [ 43, Moves.SAPPY_SEED ], // Custom - [ 45, Moves.CHARM ], - [ 50, Moves.DOUBLE_EDGE ], - [ 53, Moves.SPARKLY_SWIRL ], // Custom - [ 55, Moves.LAST_RESORT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.HELPING_HAND ], + [ 1, MoveId.COVET ], + [ 5, MoveId.SAND_ATTACK ], + [ 10, MoveId.QUICK_ATTACK ], + [ 15, MoveId.BABY_DOLL_EYES ], + [ 18, MoveId.BOUNCY_BUBBLE ], // Custom + [ 18, MoveId.SIZZLY_SLIDE ], // Custom + [ 18, MoveId.BUZZY_BUZZ ], // Custom + [ 20, MoveId.SWIFT ], + [ 25, MoveId.BITE ], + [ 30, MoveId.COPYCAT ], + [ 33, MoveId.BADDY_BAD ], // Custom + [ 33, MoveId.GLITZY_GLOW ], // Custom + [ 35, MoveId.BATON_PASS ], + [ 40, MoveId.VEEVEE_VOLLEY ], // Custom, replaces Take Down + [ 43, MoveId.FREEZY_FROST ], // Custom + [ 43, MoveId.SAPPY_SEED ], // Custom + [ 45, MoveId.CHARM ], + [ 50, MoveId.DOUBLE_EDGE ], + [ 53, MoveId.SPARKLY_SWIRL ], // Custom + [ 55, MoveId.LAST_RESORT ], ], }, - [Species.DEOXYS]: { + [SpeciesId.DEOXYS]: { 1: [ - [ 1, Moves.CONFUSION ], // Custom - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 7, Moves.NIGHT_SHADE ], - [ 13, Moves.TELEPORT ], - [ 19, Moves.TAUNT ], - [ 25, Moves.PURSUIT ], - [ 31, Moves.PSYCHIC ], - [ 37, Moves.SUPERPOWER ], - [ 43, Moves.PSYCHO_SHIFT ], - [ 49, Moves.ZEN_HEADBUTT ], - [ 55, Moves.COSMIC_POWER ], - [ 61, Moves.ZAP_CANNON ], - [ 67, Moves.PSYCHO_BOOST ], - [ 73, Moves.HYPER_BEAM ], + [ 1, MoveId.CONFUSION ], // Custom + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 7, MoveId.NIGHT_SHADE ], + [ 13, MoveId.TELEPORT ], + [ 19, MoveId.TAUNT ], + [ 25, MoveId.PURSUIT ], + [ 31, MoveId.PSYCHIC ], + [ 37, MoveId.SUPERPOWER ], + [ 43, MoveId.PSYCHO_SHIFT ], + [ 49, MoveId.ZEN_HEADBUTT ], + [ 55, MoveId.COSMIC_POWER ], + [ 61, MoveId.ZAP_CANNON ], + [ 67, MoveId.PSYCHO_BOOST ], + [ 73, MoveId.HYPER_BEAM ], ], 2: [ - [ 1, Moves.CONFUSION ], // Custom - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 7, Moves.NIGHT_SHADE ], - [ 13, Moves.TELEPORT ], - [ 19, Moves.KNOCK_OFF ], - [ 25, Moves.SPIKES ], - [ 31, Moves.PSYCHIC ], - [ 37, Moves.SNATCH ], - [ 43, Moves.PSYCHO_SHIFT ], - [ 49, Moves.ZEN_HEADBUTT ], - [ 55, Moves.AMNESIA ], - [ 55, Moves.IRON_DEFENSE ], - [ 61, Moves.RECOVER ], - [ 67, Moves.PSYCHO_BOOST ], - [ 73, Moves.COUNTER ], - [ 73, Moves.MIRROR_COAT ], + [ 1, MoveId.CONFUSION ], // Custom + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 7, MoveId.NIGHT_SHADE ], + [ 13, MoveId.TELEPORT ], + [ 19, MoveId.KNOCK_OFF ], + [ 25, MoveId.SPIKES ], + [ 31, MoveId.PSYCHIC ], + [ 37, MoveId.SNATCH ], + [ 43, MoveId.PSYCHO_SHIFT ], + [ 49, MoveId.ZEN_HEADBUTT ], + [ 55, MoveId.AMNESIA ], + [ 55, MoveId.IRON_DEFENSE ], + [ 61, MoveId.RECOVER ], + [ 67, MoveId.PSYCHO_BOOST ], + [ 73, MoveId.COUNTER ], + [ 73, MoveId.MIRROR_COAT ], ], 3: [ - [ 1, Moves.CONFUSION ], // Custom - [ 1, Moves.WRAP ], - [ 1, Moves.LEER ], - [ 7, Moves.NIGHT_SHADE ], - [ 13, Moves.DOUBLE_TEAM ], - [ 19, Moves.KNOCK_OFF ], - [ 25, Moves.PURSUIT ], - [ 31, Moves.PSYCHIC ], - [ 37, Moves.SWIFT ], - [ 43, Moves.PSYCHO_SHIFT ], - [ 49, Moves.ZEN_HEADBUTT ], - [ 55, Moves.AGILITY ], - [ 61, Moves.RECOVER ], - [ 67, Moves.PSYCHO_BOOST ], - [ 73, Moves.EXTREME_SPEED ], + [ 1, MoveId.CONFUSION ], // Custom + [ 1, MoveId.WRAP ], + [ 1, MoveId.LEER ], + [ 7, MoveId.NIGHT_SHADE ], + [ 13, MoveId.DOUBLE_TEAM ], + [ 19, MoveId.KNOCK_OFF ], + [ 25, MoveId.PURSUIT ], + [ 31, MoveId.PSYCHIC ], + [ 37, MoveId.SWIFT ], + [ 43, MoveId.PSYCHO_SHIFT ], + [ 49, MoveId.ZEN_HEADBUTT ], + [ 55, MoveId.AGILITY ], + [ 61, MoveId.RECOVER ], + [ 67, MoveId.PSYCHO_BOOST ], + [ 73, MoveId.EXTREME_SPEED ], ], }, - [Species.WORMADAM]: { + [SpeciesId.WORMADAM]: { 1: [ - [ EVOLVE_MOVE, Moves.QUIVER_DANCE ], - [ 1, Moves.STRUGGLE_BUG ], // Previous Stage Move, Custom - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SUCKER_PUNCH ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.PROTECT ], - [ 10, Moves.TACKLE ], - [ 20, Moves.STRING_SHOT ], - [ 23, Moves.CONFUSION ], - [ 26, Moves.ROCK_BLAST ], - [ 29, Moves.HARDEN ], - [ 32, Moves.PSYBEAM ], - [ 35, Moves.INFESTATION ], - [ 38, Moves.FLAIL ], - [ 41, Moves.ATTRACT ], - [ 44, Moves.PSYCHIC ], - [ 47, Moves.FISSURE ], - [ 50, Moves.BUG_BUZZ ], + [ EVOLVE_MOVE, MoveId.QUIVER_DANCE ], + [ 1, MoveId.STRUGGLE_BUG ], // Previous Stage Move, Custom + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.PROTECT ], + [ 10, MoveId.TACKLE ], + [ 20, MoveId.STRING_SHOT ], + [ 23, MoveId.CONFUSION ], + [ 26, MoveId.ROCK_BLAST ], + [ 29, MoveId.HARDEN ], + [ 32, MoveId.PSYBEAM ], + [ 35, MoveId.INFESTATION ], + [ 38, MoveId.FLAIL ], + [ 41, MoveId.ATTRACT ], + [ 44, MoveId.PSYCHIC ], + [ 47, MoveId.FISSURE ], + [ 50, MoveId.BUG_BUZZ ], ], 2: [ - [ EVOLVE_MOVE, Moves.QUIVER_DANCE ], - [ 1, Moves.STRUGGLE_BUG ], // Previous Stage Move, Custom - [ 1, Moves.METAL_BURST ], - [ 1, Moves.TACKLE ], - [ 1, Moves.PROTECT ], - [ 1, Moves.SUCKER_PUNCH ], - [ 1, Moves.BUG_BITE ], - [ 1, Moves.PROTECT ], - [ 10, Moves.TACKLE ], - [ 20, Moves.STRING_SHOT ], - [ 23, Moves.CONFUSION ], - [ 26, Moves.METAL_BURST ], - [ 29, Moves.METAL_SOUND ], - [ 32, Moves.PSYBEAM ], - [ 35, Moves.INFESTATION ], - [ 38, Moves.FLAIL ], - [ 41, Moves.ATTRACT ], - [ 44, Moves.PSYCHIC ], - [ 47, Moves.IRON_HEAD ], - [ 50, Moves.BUG_BUZZ ], + [ EVOLVE_MOVE, MoveId.QUIVER_DANCE ], + [ 1, MoveId.STRUGGLE_BUG ], // Previous Stage Move, Custom + [ 1, MoveId.METAL_BURST ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.PROTECT ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.BUG_BITE ], + [ 1, MoveId.PROTECT ], + [ 10, MoveId.TACKLE ], + [ 20, MoveId.STRING_SHOT ], + [ 23, MoveId.CONFUSION ], + [ 26, MoveId.METAL_BURST ], + [ 29, MoveId.METAL_SOUND ], + [ 32, MoveId.PSYBEAM ], + [ 35, MoveId.INFESTATION ], + [ 38, MoveId.FLAIL ], + [ 41, MoveId.ATTRACT ], + [ 44, MoveId.PSYCHIC ], + [ 47, MoveId.IRON_HEAD ], + [ 50, MoveId.BUG_BUZZ ], ], }, - [Species.ROTOM]: { + [SpeciesId.ROTOM]: { 1: [ - [ 1, Moves.OVERHEAT ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.THUNDER_SHOCK ], - [ 10, Moves.CONFUSE_RAY ], - [ 15, Moves.CHARGE ], - [ 20, Moves.ELECTRO_BALL ], - [ 25, Moves.THUNDER_WAVE ], - [ 30, Moves.SHOCK_WAVE ], - [ 35, Moves.HEX ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.TRICK ], - [ 50, Moves.DISCHARGE ], - [ 55, Moves.UPROAR ], + [ 1, MoveId.OVERHEAT ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.THUNDER_SHOCK ], + [ 10, MoveId.CONFUSE_RAY ], + [ 15, MoveId.CHARGE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 25, MoveId.THUNDER_WAVE ], + [ 30, MoveId.SHOCK_WAVE ], + [ 35, MoveId.HEX ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.TRICK ], + [ 50, MoveId.DISCHARGE ], + [ 55, MoveId.UPROAR ], ], 2: [ - [ 1, Moves.HYDRO_PUMP ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.THUNDER_SHOCK ], - [ 10, Moves.CONFUSE_RAY ], - [ 15, Moves.CHARGE ], - [ 20, Moves.ELECTRO_BALL ], - [ 25, Moves.THUNDER_WAVE ], - [ 30, Moves.SHOCK_WAVE ], - [ 35, Moves.HEX ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.TRICK ], - [ 50, Moves.DISCHARGE ], - [ 55, Moves.UPROAR ], + [ 1, MoveId.HYDRO_PUMP ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.THUNDER_SHOCK ], + [ 10, MoveId.CONFUSE_RAY ], + [ 15, MoveId.CHARGE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 25, MoveId.THUNDER_WAVE ], + [ 30, MoveId.SHOCK_WAVE ], + [ 35, MoveId.HEX ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.TRICK ], + [ 50, MoveId.DISCHARGE ], + [ 55, MoveId.UPROAR ], ], 3: [ - [ 1, Moves.BLIZZARD ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.THUNDER_SHOCK ], - [ 10, Moves.CONFUSE_RAY ], - [ 15, Moves.CHARGE ], - [ 20, Moves.ELECTRO_BALL ], - [ 25, Moves.THUNDER_WAVE ], - [ 30, Moves.SHOCK_WAVE ], - [ 35, Moves.HEX ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.TRICK ], - [ 50, Moves.DISCHARGE ], - [ 55, Moves.UPROAR ], + [ 1, MoveId.BLIZZARD ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.THUNDER_SHOCK ], + [ 10, MoveId.CONFUSE_RAY ], + [ 15, MoveId.CHARGE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 25, MoveId.THUNDER_WAVE ], + [ 30, MoveId.SHOCK_WAVE ], + [ 35, MoveId.HEX ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.TRICK ], + [ 50, MoveId.DISCHARGE ], + [ 55, MoveId.UPROAR ], ], 4: [ - [ 1, Moves.AIR_SLASH ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.THUNDER_SHOCK ], - [ 10, Moves.CONFUSE_RAY ], - [ 15, Moves.CHARGE ], - [ 20, Moves.ELECTRO_BALL ], - [ 25, Moves.THUNDER_WAVE ], - [ 30, Moves.SHOCK_WAVE ], - [ 35, Moves.HEX ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.TRICK ], - [ 50, Moves.DISCHARGE ], - [ 55, Moves.UPROAR ], + [ 1, MoveId.AIR_SLASH ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.THUNDER_SHOCK ], + [ 10, MoveId.CONFUSE_RAY ], + [ 15, MoveId.CHARGE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 25, MoveId.THUNDER_WAVE ], + [ 30, MoveId.SHOCK_WAVE ], + [ 35, MoveId.HEX ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.TRICK ], + [ 50, MoveId.DISCHARGE ], + [ 55, MoveId.UPROAR ], ], 5: [ - [ 1, Moves.LEAF_STORM ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.ASTONISH ], - [ 5, Moves.THUNDER_SHOCK ], - [ 10, Moves.CONFUSE_RAY ], - [ 15, Moves.CHARGE ], - [ 20, Moves.ELECTRO_BALL ], - [ 25, Moves.THUNDER_WAVE ], - [ 30, Moves.SHOCK_WAVE ], - [ 35, Moves.HEX ], - [ 40, Moves.SUBSTITUTE ], - [ 45, Moves.TRICK ], - [ 50, Moves.DISCHARGE ], - [ 55, Moves.UPROAR ], + [ 1, MoveId.LEAF_STORM ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.ASTONISH ], + [ 5, MoveId.THUNDER_SHOCK ], + [ 10, MoveId.CONFUSE_RAY ], + [ 15, MoveId.CHARGE ], + [ 20, MoveId.ELECTRO_BALL ], + [ 25, MoveId.THUNDER_WAVE ], + [ 30, MoveId.SHOCK_WAVE ], + [ 35, MoveId.HEX ], + [ 40, MoveId.SUBSTITUTE ], + [ 45, MoveId.TRICK ], + [ 50, MoveId.DISCHARGE ], + [ 55, MoveId.UPROAR ], ], }, - [Species.SHAYMIN]: { + [SpeciesId.SHAYMIN]: { 1: [ - [ 1, Moves.LEAFAGE ], // Custom - [ 1, Moves.GROWTH ], - [ 10, Moves.MAGICAL_LEAF ], - [ 19, Moves.LEECH_SEED ], - [ 28, Moves.QUICK_ATTACK ], - [ 37, Moves.SWEET_SCENT ], - [ 46, Moves.NATURAL_GIFT ], - [ 55, Moves.WORRY_SEED ], - [ 64, Moves.AIR_SLASH ], - [ 73, Moves.ENERGY_BALL ], - [ 82, Moves.SWEET_KISS ], - [ 91, Moves.LEAF_STORM ], - [ 100, Moves.SEED_FLARE ], + [ 1, MoveId.LEAFAGE ], // Custom + [ 1, MoveId.GROWTH ], + [ 10, MoveId.MAGICAL_LEAF ], + [ 19, MoveId.LEECH_SEED ], + [ 28, MoveId.QUICK_ATTACK ], + [ 37, MoveId.SWEET_SCENT ], + [ 46, MoveId.NATURAL_GIFT ], + [ 55, MoveId.WORRY_SEED ], + [ 64, MoveId.AIR_SLASH ], + [ 73, MoveId.ENERGY_BALL ], + [ 82, MoveId.SWEET_KISS ], + [ 91, MoveId.LEAF_STORM ], + [ 100, MoveId.SEED_FLARE ], ] }, - [Species.BASCULIN]: { + [SpeciesId.BASCULIN]: { 1: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.TACKLE ], - [ 8, Moves.FLAIL ], - [ 12, Moves.AQUA_JET ], - [ 16, Moves.BITE ], - [ 20, Moves.SCARY_FACE ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.SOAK ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.FINAL_GAMBIT ], - [ 44, Moves.WAVE_CRASH ], - [ 48, Moves.THRASH ], - [ 52, Moves.DOUBLE_EDGE ], - [ 56, Moves.HEAD_SMASH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.TACKLE ], + [ 8, MoveId.FLAIL ], + [ 12, MoveId.AQUA_JET ], + [ 16, MoveId.BITE ], + [ 20, MoveId.SCARY_FACE ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.SOAK ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.FINAL_GAMBIT ], + [ 44, MoveId.WAVE_CRASH ], + [ 48, MoveId.THRASH ], + [ 52, MoveId.DOUBLE_EDGE ], + [ 56, MoveId.HEAD_SMASH ], ], 2: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], - [ 4, Moves.TACKLE ], - [ 8, Moves.FLAIL ], - [ 12, Moves.AQUA_JET ], - [ 16, Moves.BITE ], - [ 20, Moves.SCARY_FACE ], - [ 24, Moves.HEADBUTT ], - [ 28, Moves.SOAK ], - [ 32, Moves.CRUNCH ], - [ 36, Moves.TAKE_DOWN ], - [ 40, Moves.UPROAR ], - [ 44, Moves.WAVE_CRASH ], - [ 48, Moves.THRASH ], - [ 52, Moves.DOUBLE_EDGE ], - [ 56, Moves.HEAD_SMASH ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.WATER_GUN ], + [ 4, MoveId.TACKLE ], + [ 8, MoveId.FLAIL ], + [ 12, MoveId.AQUA_JET ], + [ 16, MoveId.BITE ], + [ 20, MoveId.SCARY_FACE ], + [ 24, MoveId.HEADBUTT ], + [ 28, MoveId.SOAK ], + [ 32, MoveId.CRUNCH ], + [ 36, MoveId.TAKE_DOWN ], + [ 40, MoveId.UPROAR ], + [ 44, MoveId.WAVE_CRASH ], + [ 48, MoveId.THRASH ], + [ 52, MoveId.DOUBLE_EDGE ], + [ 56, MoveId.HEAD_SMASH ], ] }, - [Species.KYUREM]: { + [SpeciesId.KYUREM]: { 1: [ - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.FREEZE_DRY ], - [ 8, Moves.SLASH ], - [ 16, Moves.ENDEAVOR ], - [ 24, Moves.DRAGON_PULSE ], - [ 32, Moves.ICE_BEAM ], - [ 40, Moves.HYPER_VOICE ], - [ 48, Moves.FUSION_BOLT ], - [ 56, Moves.BLIZZARD ], - [ 64, Moves.IMPRISON ], - [ 72, Moves.OUTRAGE ], - [ 80, Moves.FREEZE_SHOCK ], - [ 88, Moves.SHEER_COLD ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.FREEZE_DRY ], + [ 8, MoveId.SLASH ], + [ 16, MoveId.ENDEAVOR ], + [ 24, MoveId.DRAGON_PULSE ], + [ 32, MoveId.ICE_BEAM ], + [ 40, MoveId.HYPER_VOICE ], + [ 48, MoveId.FUSION_BOLT ], + [ 56, MoveId.BLIZZARD ], + [ 64, MoveId.IMPRISON ], + [ 72, MoveId.OUTRAGE ], + [ 80, MoveId.FREEZE_SHOCK ], + [ 88, MoveId.SHEER_COLD ], ], 2: [ - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.FREEZE_DRY ], - [ 8, Moves.SLASH ], - [ 16, Moves.ENDEAVOR ], - [ 24, Moves.DRAGON_PULSE ], - [ 32, Moves.ICE_BEAM ], - [ 40, Moves.HYPER_VOICE ], - [ 48, Moves.FUSION_FLARE ], - [ 56, Moves.BLIZZARD ], - [ 64, Moves.IMPRISON ], - [ 72, Moves.OUTRAGE ], - [ 80, Moves.ICE_BURN ], - [ 88, Moves.SHEER_COLD ], + [ 1, MoveId.DRAGON_BREATH ], + [ 1, MoveId.ANCIENT_POWER ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.FREEZE_DRY ], + [ 8, MoveId.SLASH ], + [ 16, MoveId.ENDEAVOR ], + [ 24, MoveId.DRAGON_PULSE ], + [ 32, MoveId.ICE_BEAM ], + [ 40, MoveId.HYPER_VOICE ], + [ 48, MoveId.FUSION_FLARE ], + [ 56, MoveId.BLIZZARD ], + [ 64, MoveId.IMPRISON ], + [ 72, MoveId.OUTRAGE ], + [ 80, MoveId.ICE_BURN ], + [ 88, MoveId.SHEER_COLD ], ], }, - [Species.MEOWSTIC]: { + [SpeciesId.MEOWSTIC]: { 1: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.LEER ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.MAGICAL_LEAF ], - [ 1, Moves.DISARMING_VOICE ], - [ 9, Moves.CONFUSION ], - [ 12, Moves.STORED_POWER ], - [ 15, Moves.CHARGE_BEAM ], - [ 18, Moves.COVET ], - [ 21, Moves.PSYBEAM ], - [ 24, Moves.SUCKER_PUNCH ], - [ 29, Moves.ROLE_PLAY ], - [ 34, Moves.LIGHT_SCREEN ], - [ 34, Moves.REFLECT ], - [ 39, Moves.PSYSHOCK ], - [ 44, Moves.EXTRASENSORY ], - [ 49, Moves.SHADOW_BALL ], - [ 54, Moves.PSYCHIC ], - [ 59, Moves.FUTURE_SIGHT ], + [ 1, MoveId.SCRATCH ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FAKE_OUT ], + [ 1, MoveId.MAGICAL_LEAF ], + [ 1, MoveId.DISARMING_VOICE ], + [ 9, MoveId.CONFUSION ], + [ 12, MoveId.STORED_POWER ], + [ 15, MoveId.CHARGE_BEAM ], + [ 18, MoveId.COVET ], + [ 21, MoveId.PSYBEAM ], + [ 24, MoveId.SUCKER_PUNCH ], + [ 29, MoveId.ROLE_PLAY ], + [ 34, MoveId.LIGHT_SCREEN ], + [ 34, MoveId.REFLECT ], + [ 39, MoveId.PSYSHOCK ], + [ 44, MoveId.EXTRASENSORY ], + [ 49, MoveId.SHADOW_BALL ], + [ 54, MoveId.PSYCHIC ], + [ 59, MoveId.FUTURE_SIGHT ], ], }, - [Species.HOOPA]: { + [SpeciesId.HOOPA]: { 1: [ - [ 1, Moves.CONFUSION ], - [ 1, Moves.DESTINY_BOND ], - [ 1, Moves.ALLY_SWITCH ], - [ 6, Moves.ASTONISH ], - [ 10, Moves.TRICK ], - [ 15, Moves.LIGHT_SCREEN ], - [ 19, Moves.PSYBEAM ], - [ 25, Moves.SKILL_SWAP ], - [ 29, Moves.GUARD_SPLIT ], - [ 29, Moves.POWER_SPLIT ], - [ 46, Moves.KNOCK_OFF ], - [ 50, Moves.TRICK_ROOM ], - [ 50, Moves.WONDER_ROOM ], - [ 55, Moves.DARK_PULSE ], - [ 75, Moves.PSYCHIC ], - [ 85, Moves.HYPERSPACE_FURY ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.DESTINY_BOND ], + [ 1, MoveId.ALLY_SWITCH ], + [ 6, MoveId.ASTONISH ], + [ 10, MoveId.TRICK ], + [ 15, MoveId.LIGHT_SCREEN ], + [ 19, MoveId.PSYBEAM ], + [ 25, MoveId.SKILL_SWAP ], + [ 29, MoveId.GUARD_SPLIT ], + [ 29, MoveId.POWER_SPLIT ], + [ 46, MoveId.KNOCK_OFF ], + [ 50, MoveId.TRICK_ROOM ], + [ 50, MoveId.WONDER_ROOM ], + [ 55, MoveId.DARK_PULSE ], + [ 75, MoveId.PSYCHIC ], + [ 85, MoveId.HYPERSPACE_FURY ], ], }, - [Species.GRENINJA]: { + [SpeciesId.GRENINJA]: { 1: [ - [ EVOLVE_MOVE, Moves.WATER_SHURIKEN ], - [ 1, Moves.POUND ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.ROUND ], // Previous Stage Move - [ 1, Moves.FLING ], // Previous Stage Move - [ 1, Moves.SMACK_DOWN ], // Previous Stage Move - [ 1, Moves.BOUNCE ], // Previous Stage Move - [ 1, Moves.HAZE ], - [ 1, Moves.MAT_BLOCK ], - [ 1, Moves.ROLE_PLAY ], - [ 1, Moves.NIGHT_SLASH ], - [ 10, Moves.LICK ], - [ 14, Moves.WATER_PULSE ], - [ 19, Moves.SMOKESCREEN ], - [ 23, Moves.SHADOW_SNEAK ], - [ 28, Moves.SPIKES ], - [ 33, Moves.AERIAL_ACE ], - [ 42, Moves.SUBSTITUTE ], - [ 49, Moves.EXTRASENSORY ], - [ 56, Moves.DOUBLE_TEAM ], - [ 68, Moves.HYDRO_PUMP ], + [ EVOLVE_MOVE, MoveId.WATER_SHURIKEN ], + [ 1, MoveId.POUND ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.WATER_GUN ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.ROUND ], // Previous Stage Move + [ 1, MoveId.FLING ], // Previous Stage Move + [ 1, MoveId.SMACK_DOWN ], // Previous Stage Move + [ 1, MoveId.BOUNCE ], // Previous Stage Move + [ 1, MoveId.HAZE ], + [ 1, MoveId.MAT_BLOCK ], + [ 1, MoveId.ROLE_PLAY ], + [ 1, MoveId.NIGHT_SLASH ], + [ 10, MoveId.LICK ], + [ 14, MoveId.WATER_PULSE ], + [ 19, MoveId.SMOKESCREEN ], + [ 23, MoveId.SHADOW_SNEAK ], + [ 28, MoveId.SPIKES ], + [ 33, MoveId.AERIAL_ACE ], + [ 42, MoveId.SUBSTITUTE ], + [ 49, MoveId.EXTRASENSORY ], + [ 56, MoveId.DOUBLE_TEAM ], + [ 68, MoveId.HYDRO_PUMP ], ], }, - [Species.LYCANROC]: { + [SpeciesId.LYCANROC]: { 1: [ - [ EVOLVE_MOVE, Moves.COUNTER ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.REVERSAL ], - [ 1, Moves.ENDURE ], - [ 1, Moves.TAUNT ], - [ 12, Moves.ROCK_THROW ], - [ 16, Moves.HOWL ], - [ 20, Moves.BITE ], - [ 24, Moves.ROCK_TOMB ], - [ 30, Moves.ROAR ], - [ 36, Moves.ROCK_SLIDE ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.SCARY_FACE ], - [ 54, Moves.STEALTH_ROCK ], - [ 60, Moves.STONE_EDGE ], + [ EVOLVE_MOVE, MoveId.COUNTER ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.REVERSAL ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.TAUNT ], + [ 12, MoveId.ROCK_THROW ], + [ 16, MoveId.HOWL ], + [ 20, MoveId.BITE ], + [ 24, MoveId.ROCK_TOMB ], + [ 30, MoveId.ROAR ], + [ 36, MoveId.ROCK_SLIDE ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.SCARY_FACE ], + [ 54, MoveId.STEALTH_ROCK ], + [ 60, MoveId.STONE_EDGE ], ], 2: [ - [ EVOLVE_MOVE, Moves.CRUSH_CLAW ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.COUNTER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.REVERSAL ], - [ 1, Moves.ENDURE ], - [ 1, Moves.TAUNT ], - [ 1, Moves.SUCKER_PUNCH ], - [ 1, Moves.QUICK_GUARD ], - [ 1, Moves.ACCELEROCK ], - [ 12, Moves.ROCK_THROW ], - [ 16, Moves.HOWL ], - [ 20, Moves.BITE ], - [ 24, Moves.ROCK_TOMB ], - [ 30, Moves.ROAR ], - [ 36, Moves.ROCK_SLIDE ], - [ 42, Moves.CRUNCH ], - [ 48, Moves.SCARY_FACE ], - [ 54, Moves.STEALTH_ROCK ], - [ 60, Moves.STONE_EDGE ], + [ EVOLVE_MOVE, MoveId.CRUSH_CLAW ], + [ 1, MoveId.SAND_ATTACK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.LEER ], + [ 1, MoveId.COUNTER ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.DOUBLE_TEAM ], + [ 1, MoveId.REVERSAL ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 1, MoveId.QUICK_GUARD ], + [ 1, MoveId.ACCELEROCK ], + [ 12, MoveId.ROCK_THROW ], + [ 16, MoveId.HOWL ], + [ 20, MoveId.BITE ], + [ 24, MoveId.ROCK_TOMB ], + [ 30, MoveId.ROAR ], + [ 36, MoveId.ROCK_SLIDE ], + [ 42, MoveId.CRUNCH ], + [ 48, MoveId.SCARY_FACE ], + [ 54, MoveId.STEALTH_ROCK ], + [ 60, MoveId.STONE_EDGE ], ], }, - [Species.NECROZMA]: { + [SpeciesId.NECROZMA]: { 1: [ - [ EVOLVE_MOVE, Moves.SUNSTEEL_STRIKE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.MORNING_SUN ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.GRAVITY ], - [ 1, Moves.CHARGE_BEAM ], - [ 8, Moves.STEALTH_ROCK ], - [ 16, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 32, Moves.PSYCHO_CUT ], - [ 40, Moves.STORED_POWER ], - [ 48, Moves.ROCK_BLAST ], - [ 56, Moves.IRON_DEFENSE ], - [ 64, Moves.POWER_GEM ], - [ 72, Moves.PHOTON_GEYSER ], - [ 80, Moves.AUTOTOMIZE ], - [ 88, Moves.PRISMATIC_LASER ], + [ EVOLVE_MOVE, MoveId.SUNSTEEL_STRIKE ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.MORNING_SUN ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.GRAVITY ], + [ 1, MoveId.CHARGE_BEAM ], + [ 8, MoveId.STEALTH_ROCK ], + [ 16, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 32, MoveId.PSYCHO_CUT ], + [ 40, MoveId.STORED_POWER ], + [ 48, MoveId.ROCK_BLAST ], + [ 56, MoveId.IRON_DEFENSE ], + [ 64, MoveId.POWER_GEM ], + [ 72, MoveId.PHOTON_GEYSER ], + [ 80, MoveId.AUTOTOMIZE ], + [ 88, MoveId.PRISMATIC_LASER ], ], 2: [ - [ EVOLVE_MOVE, Moves.MOONGEIST_BEAM ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.MORNING_SUN ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.GRAVITY ], - [ 1, Moves.CHARGE_BEAM ], - [ 8, Moves.STEALTH_ROCK ], - [ 16, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 32, Moves.PSYCHO_CUT ], - [ 40, Moves.STORED_POWER ], - [ 48, Moves.ROCK_BLAST ], - [ 56, Moves.IRON_DEFENSE ], - [ 64, Moves.POWER_GEM ], - [ 72, Moves.PHOTON_GEYSER ], - [ 80, Moves.AUTOTOMIZE ], - [ 88, Moves.PRISMATIC_LASER ], + [ EVOLVE_MOVE, MoveId.MOONGEIST_BEAM ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.MORNING_SUN ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.GRAVITY ], + [ 1, MoveId.CHARGE_BEAM ], + [ 8, MoveId.STEALTH_ROCK ], + [ 16, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 32, MoveId.PSYCHO_CUT ], + [ 40, MoveId.STORED_POWER ], + [ 48, MoveId.ROCK_BLAST ], + [ 56, MoveId.IRON_DEFENSE ], + [ 64, MoveId.POWER_GEM ], + [ 72, MoveId.PHOTON_GEYSER ], + [ 80, MoveId.AUTOTOMIZE ], + [ 88, MoveId.PRISMATIC_LASER ], ], 3: [ - [ EVOLVE_MOVE, Moves.SUNSTEEL_STRIKE ], - [ EVOLVE_MOVE, Moves.MOONGEIST_BEAM ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.MORNING_SUN ], - [ 1, Moves.MOONLIGHT ], - [ 1, Moves.GRAVITY ], - [ 1, Moves.CHARGE_BEAM ], - [ 8, Moves.STEALTH_ROCK ], - [ 16, Moves.SLASH ], - [ 24, Moves.NIGHT_SLASH ], - [ 32, Moves.PSYCHO_CUT ], - [ 40, Moves.STORED_POWER ], - [ 48, Moves.ROCK_BLAST ], - [ 56, Moves.IRON_DEFENSE ], - [ 64, Moves.POWER_GEM ], - [ 72, Moves.PHOTON_GEYSER ], - [ 80, Moves.AUTOTOMIZE ], - [ 88, Moves.PRISMATIC_LASER ], + [ EVOLVE_MOVE, MoveId.SUNSTEEL_STRIKE ], + [ EVOLVE_MOVE, MoveId.MOONGEIST_BEAM ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.MORNING_SUN ], + [ 1, MoveId.MOONLIGHT ], + [ 1, MoveId.GRAVITY ], + [ 1, MoveId.CHARGE_BEAM ], + [ 8, MoveId.STEALTH_ROCK ], + [ 16, MoveId.SLASH ], + [ 24, MoveId.NIGHT_SLASH ], + [ 32, MoveId.PSYCHO_CUT ], + [ 40, MoveId.STORED_POWER ], + [ 48, MoveId.ROCK_BLAST ], + [ 56, MoveId.IRON_DEFENSE ], + [ 64, MoveId.POWER_GEM ], + [ 72, MoveId.PHOTON_GEYSER ], + [ 80, MoveId.AUTOTOMIZE ], + [ 88, MoveId.PRISMATIC_LASER ], ], }, - [Species.TOXTRICITY]: { + [SpeciesId.TOXTRICITY]: { 1: [ - [ EVOLVE_MOVE, Moves.SPARK ], - [ 1, Moves.LEER ], - [ 1, Moves.GROWL ], - [ 1, Moves.ACID ], - [ 1, Moves.THUNDER_SHOCK ], - [ 1, Moves.FLAIL ], - [ 1, Moves.ACID_SPRAY ], - [ 1, Moves.BELCH ], - [ 1, Moves.NOBLE_ROAR ], - [ 1, Moves.NUZZLE ], - [ 1, Moves.TEARFUL_LOOK ], - [ 4, Moves.CHARGE ], - [ 8, Moves.SHOCK_WAVE ], - [ 12, Moves.SCARY_FACE ], - [ 16, Moves.TAUNT ], - [ 24, Moves.SCREECH ], - [ 28, Moves.SWAGGER ], - [ 32, Moves.TOXIC ], - [ 36, Moves.DISCHARGE ], - [ 40, Moves.POISON_JAB ], - [ 44, Moves.OVERDRIVE ], - [ 48, Moves.BOOMBURST ], - [ 52, Moves.MAGNETIC_FLUX ], + [ EVOLVE_MOVE, MoveId.SPARK ], + [ 1, MoveId.LEER ], + [ 1, MoveId.GROWL ], + [ 1, MoveId.ACID ], + [ 1, MoveId.THUNDER_SHOCK ], + [ 1, MoveId.FLAIL ], + [ 1, MoveId.ACID_SPRAY ], + [ 1, MoveId.BELCH ], + [ 1, MoveId.NOBLE_ROAR ], + [ 1, MoveId.NUZZLE ], + [ 1, MoveId.TEARFUL_LOOK ], + [ 4, MoveId.CHARGE ], + [ 8, MoveId.SHOCK_WAVE ], + [ 12, MoveId.SCARY_FACE ], + [ 16, MoveId.TAUNT ], + [ 24, MoveId.SCREECH ], + [ 28, MoveId.SWAGGER ], + [ 32, MoveId.TOXIC ], + [ 36, MoveId.DISCHARGE ], + [ 40, MoveId.POISON_JAB ], + [ 44, MoveId.OVERDRIVE ], + [ 48, MoveId.BOOMBURST ], + [ 52, MoveId.MAGNETIC_FLUX ], ], }, - [Species.INDEEDEE]: { + [SpeciesId.INDEEDEE]: { 1: [ - [ 1, Moves.STORED_POWER ], - [ 1, Moves.PLAY_NICE ], - [ 5, Moves.BATON_PASS ], - [ 10, Moves.DISARMING_VOICE ], - [ 15, Moves.PSYBEAM ], - [ 20, Moves.HELPING_HAND ], - [ 25, Moves.FOLLOW_ME ], - [ 30, Moves.HEALING_WISH ], - [ 35, Moves.PSYCHIC ], - [ 40, Moves.CALM_MIND ], - [ 45, Moves.GUARD_SPLIT ], - [ 50, Moves.PSYCHIC_TERRAIN ], + [ 1, MoveId.STORED_POWER ], + [ 1, MoveId.PLAY_NICE ], + [ 5, MoveId.BATON_PASS ], + [ 10, MoveId.DISARMING_VOICE ], + [ 15, MoveId.PSYBEAM ], + [ 20, MoveId.HELPING_HAND ], + [ 25, MoveId.FOLLOW_ME ], + [ 30, MoveId.HEALING_WISH ], + [ 35, MoveId.PSYCHIC ], + [ 40, MoveId.CALM_MIND ], + [ 45, MoveId.GUARD_SPLIT ], + [ 50, MoveId.PSYCHIC_TERRAIN ], ], }, - [Species.ZACIAN]: { + [SpeciesId.ZACIAN]: { 1: [ - [ EVOLVE_MOVE, Moves.BEHEMOTH_BLADE ], - [ 1, Moves.BITE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.HOWL ], - [ 1, Moves.QUICK_GUARD ], - [ 1, Moves.SACRED_SWORD ], - [ 11, Moves.SLASH ], - [ 22, Moves.SWORDS_DANCE ], - [ 33, Moves.IRON_HEAD ], - [ 44, Moves.NOBLE_ROAR ], - [ 55, Moves.CRUNCH ], - [ 66, Moves.MOONBLAST ], - [ 77, Moves.CLOSE_COMBAT ], - [ 88, Moves.GIGA_IMPACT ], + [ EVOLVE_MOVE, MoveId.BEHEMOTH_BLADE ], + [ 1, MoveId.BITE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.QUICK_GUARD ], + [ 1, MoveId.SACRED_SWORD ], + [ 11, MoveId.SLASH ], + [ 22, MoveId.SWORDS_DANCE ], + [ 33, MoveId.IRON_HEAD ], + [ 44, MoveId.NOBLE_ROAR ], + [ 55, MoveId.CRUNCH ], + [ 66, MoveId.MOONBLAST ], + [ 77, MoveId.CLOSE_COMBAT ], + [ 88, MoveId.GIGA_IMPACT ], ], }, - [Species.ZAMAZENTA]: { + [SpeciesId.ZAMAZENTA]: { 1: [ - [ EVOLVE_MOVE, Moves.BEHEMOTH_BASH ], - [ 1, Moves.BITE ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.HOWL ], - [ 1, Moves.WIDE_GUARD ], - [ 11, Moves.SLASH ], - [ 22, Moves.IRON_DEFENSE ], - [ 33, Moves.IRON_HEAD ], - [ 44, Moves.METAL_BURST ], - [ 55, Moves.CRUNCH ], - [ 66, Moves.MOONBLAST ], - [ 77, Moves.CLOSE_COMBAT ], - [ 88, Moves.GIGA_IMPACT ], + [ EVOLVE_MOVE, MoveId.BEHEMOTH_BASH ], + [ 1, MoveId.BITE ], + [ 1, MoveId.QUICK_ATTACK ], + [ 1, MoveId.METAL_CLAW ], + [ 1, MoveId.HOWL ], + [ 1, MoveId.WIDE_GUARD ], + [ 11, MoveId.SLASH ], + [ 22, MoveId.IRON_DEFENSE ], + [ 33, MoveId.IRON_HEAD ], + [ 44, MoveId.METAL_BURST ], + [ 55, MoveId.CRUNCH ], + [ 66, MoveId.MOONBLAST ], + [ 77, MoveId.CLOSE_COMBAT ], + [ 88, MoveId.GIGA_IMPACT ], ], }, - [Species.ETERNATUS]: { + [SpeciesId.ETERNATUS]: { 1: [ - [ 1, Moves.AGILITY ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.POISON_TAIL ], - [ 1, Moves.DRAGON_TAIL ], - [ 8, Moves.TOXIC ], - [ 16, Moves.VENOSHOCK ], - [ 24, Moves.DRAGON_DANCE ], - [ 32, Moves.CROSS_POISON ], - [ 40, Moves.DRAGON_PULSE ], - [ 48, Moves.FLAMETHROWER ], - [ 56, Moves.DYNAMAX_CANNON ], - [ 64, Moves.COSMIC_POWER ], - [ 72, Moves.RECOVER ], - [ 80, Moves.HYPER_BEAM ], - [ 88, Moves.ETERNABEAM ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.POISON_TAIL ], + [ 1, MoveId.DRAGON_TAIL ], + [ 8, MoveId.TOXIC ], + [ 16, MoveId.VENOSHOCK ], + [ 24, MoveId.DRAGON_DANCE ], + [ 32, MoveId.CROSS_POISON ], + [ 40, MoveId.DRAGON_PULSE ], + [ 48, MoveId.FLAMETHROWER ], + [ 56, MoveId.DYNAMAX_CANNON ], + [ 64, MoveId.COSMIC_POWER ], + [ 72, MoveId.RECOVER ], + [ 80, MoveId.HYPER_BEAM ], + [ 88, MoveId.ETERNABEAM ], ], }, - [Species.URSHIFU]: { + [SpeciesId.URSHIFU]: { 1: [ - [ EVOLVE_MOVE, Moves.SURGING_STRIKES ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.ENDURE ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.AQUA_JET ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.SCARY_FACE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.BRICK_BREAK ], - [ 28, Moves.DETECT ], - [ 32, Moves.BULK_UP ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.DYNAMIC_PUNCH ], - [ 44, Moves.COUNTER ], - [ 48, Moves.CLOSE_COMBAT ], - [ 52, Moves.FOCUS_PUNCH ], + [ EVOLVE_MOVE, MoveId.SURGING_STRIKES ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.AQUA_JET ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.SCARY_FACE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.BRICK_BREAK ], + [ 28, MoveId.DETECT ], + [ 32, MoveId.BULK_UP ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.DYNAMIC_PUNCH ], + [ 44, MoveId.COUNTER ], + [ 48, MoveId.CLOSE_COMBAT ], + [ 52, MoveId.FOCUS_PUNCH ], ], 2: [ - [ EVOLVE_MOVE, Moves.WICKED_BLOW ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.ENDURE ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.SUCKER_PUNCH ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.SCARY_FACE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.BRICK_BREAK ], - [ 28, Moves.DETECT ], - [ 32, Moves.BULK_UP ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.DYNAMIC_PUNCH ], - [ 44, Moves.COUNTER ], - [ 48, Moves.CLOSE_COMBAT ], - [ 52, Moves.FOCUS_PUNCH ], + [ EVOLVE_MOVE, MoveId.WICKED_BLOW ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.SUCKER_PUNCH ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.SCARY_FACE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.BRICK_BREAK ], + [ 28, MoveId.DETECT ], + [ 32, MoveId.BULK_UP ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.DYNAMIC_PUNCH ], + [ 44, MoveId.COUNTER ], + [ 48, MoveId.CLOSE_COMBAT ], + [ 52, MoveId.FOCUS_PUNCH ], ], 3: [ - [ EVOLVE_MOVE, Moves.SURGING_STRIKES ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.ENDURE ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.AQUA_JET ], - [ 12, Moves.AERIAL_ACE ], - [ 16, Moves.SCARY_FACE ], - [ 20, Moves.HEADBUTT ], - [ 24, Moves.BRICK_BREAK ], - [ 28, Moves.DETECT ], - [ 32, Moves.BULK_UP ], - [ 36, Moves.IRON_HEAD ], - [ 40, Moves.DYNAMIC_PUNCH ], - [ 44, Moves.COUNTER ], - [ 48, Moves.CLOSE_COMBAT ], - [ 52, Moves.FOCUS_PUNCH ], + [ EVOLVE_MOVE, MoveId.SURGING_STRIKES ], + [ 1, MoveId.LEER ], + [ 1, MoveId.FOCUS_ENERGY ], + [ 1, MoveId.ENDURE ], + [ 1, MoveId.ROCK_SMASH ], + [ 1, MoveId.AQUA_JET ], + [ 12, MoveId.AERIAL_ACE ], + [ 16, MoveId.SCARY_FACE ], + [ 20, MoveId.HEADBUTT ], + [ 24, MoveId.BRICK_BREAK ], + [ 28, MoveId.DETECT ], + [ 32, MoveId.BULK_UP ], + [ 36, MoveId.IRON_HEAD ], + [ 40, MoveId.DYNAMIC_PUNCH ], + [ 44, MoveId.COUNTER ], + [ 48, MoveId.CLOSE_COMBAT ], + [ 52, MoveId.FOCUS_PUNCH ], ], }, - [Species.CALYREX]: { + [SpeciesId.CALYREX]: { 1: [ - [ 1, Moves.POUND ], - [ 1, Moves.SWORDS_DANCE ], - [ 1, Moves.STOMP ], - [ 1, Moves.DOUBLE_KICK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.THRASH ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.MIST ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.GROWTH ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.TORMENT ], - [ 1, Moves.TAUNT ], - [ 1, Moves.IRON_DEFENSE ], - [ 1, Moves.AVALANCHE ], - [ 1, Moves.ICICLE_CRASH ], - [ 1, Moves.GLACIAL_LANCE ], - [ 8, Moves.LIFE_DEW ], - [ 16, Moves.GIGA_DRAIN ], - [ 24, Moves.PSYSHOCK ], - [ 32, Moves.HELPING_HAND ], - [ 40, Moves.AROMATHERAPY ], - [ 40, Moves.GRASSY_TERRAIN ], - [ 48, Moves.ENERGY_BALL ], - [ 56, Moves.PSYCHIC ], - [ 64, Moves.LEECH_SEED ], - [ 72, Moves.HEAL_PULSE ], - [ 80, Moves.SOLAR_BEAM ], - [ 88, Moves.FUTURE_SIGHT ], + [ 1, MoveId.POUND ], + [ 1, MoveId.SWORDS_DANCE ], + [ 1, MoveId.STOMP ], + [ 1, MoveId.DOUBLE_KICK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.THRASH ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.MIST ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.TORMENT ], + [ 1, MoveId.TAUNT ], + [ 1, MoveId.IRON_DEFENSE ], + [ 1, MoveId.AVALANCHE ], + [ 1, MoveId.ICICLE_CRASH ], + [ 1, MoveId.GLACIAL_LANCE ], + [ 8, MoveId.LIFE_DEW ], + [ 16, MoveId.GIGA_DRAIN ], + [ 24, MoveId.PSYSHOCK ], + [ 32, MoveId.HELPING_HAND ], + [ 40, MoveId.AROMATHERAPY ], + [ 40, MoveId.GRASSY_TERRAIN ], + [ 48, MoveId.ENERGY_BALL ], + [ 56, MoveId.PSYCHIC ], + [ 64, MoveId.LEECH_SEED ], + [ 72, MoveId.HEAL_PULSE ], + [ 80, MoveId.SOLAR_BEAM ], + [ 88, MoveId.FUTURE_SIGHT ], ], 2: [ - [ 1, Moves.POUND ], - [ 1, Moves.STOMP ], - [ 1, Moves.DOUBLE_KICK ], - [ 1, Moves.TACKLE ], - [ 1, Moves.TAKE_DOWN ], - [ 1, Moves.THRASH ], - [ 1, Moves.DOUBLE_EDGE ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.DISABLE ], - [ 1, Moves.MEGA_DRAIN ], - [ 1, Moves.GROWTH ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.AGILITY ], - [ 1, Moves.CONFUSE_RAY ], - [ 1, Moves.HAZE ], - [ 1, Moves.SHADOW_BALL ], - [ 1, Moves.NASTY_PLOT ], - [ 1, Moves.HEX ], - [ 1, Moves.ASTRAL_BARRAGE ], - [ 8, Moves.LIFE_DEW ], - [ 16, Moves.GIGA_DRAIN ], - [ 24, Moves.PSYSHOCK ], - [ 32, Moves.HELPING_HAND ], - [ 40, Moves.GRASSY_TERRAIN ], - [ 40, Moves.PSYCHIC_TERRAIN ], - [ 48, Moves.ENERGY_BALL ], - [ 56, Moves.PSYCHIC ], - [ 64, Moves.LEECH_SEED ], - [ 72, Moves.HEAL_PULSE ], - [ 80, Moves.SOLAR_BEAM ], - [ 88, Moves.FUTURE_SIGHT ], + [ 1, MoveId.POUND ], + [ 1, MoveId.STOMP ], + [ 1, MoveId.DOUBLE_KICK ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAKE_DOWN ], + [ 1, MoveId.THRASH ], + [ 1, MoveId.DOUBLE_EDGE ], + [ 1, MoveId.TAIL_WHIP ], + [ 1, MoveId.DISABLE ], + [ 1, MoveId.MEGA_DRAIN ], + [ 1, MoveId.GROWTH ], + [ 1, MoveId.CONFUSION ], + [ 1, MoveId.AGILITY ], + [ 1, MoveId.CONFUSE_RAY ], + [ 1, MoveId.HAZE ], + [ 1, MoveId.SHADOW_BALL ], + [ 1, MoveId.NASTY_PLOT ], + [ 1, MoveId.HEX ], + [ 1, MoveId.ASTRAL_BARRAGE ], + [ 8, MoveId.LIFE_DEW ], + [ 16, MoveId.GIGA_DRAIN ], + [ 24, MoveId.PSYSHOCK ], + [ 32, MoveId.HELPING_HAND ], + [ 40, MoveId.GRASSY_TERRAIN ], + [ 40, MoveId.PSYCHIC_TERRAIN ], + [ 48, MoveId.ENERGY_BALL ], + [ 56, MoveId.PSYCHIC ], + [ 64, MoveId.LEECH_SEED ], + [ 72, MoveId.HEAL_PULSE ], + [ 80, MoveId.SOLAR_BEAM ], + [ 88, MoveId.FUTURE_SIGHT ], ], }, - [Species.OINKOLOGNE]: { + [SpeciesId.OINKOLOGNE]: { 1: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 3, Moves.DISARMING_VOICE ], - [ 6, Moves.ECHOED_VOICE ], - [ 9, Moves.MUD_SHOT ], - [ 12, Moves.COVET ], - [ 15, Moves.DIG ], - [ 17, Moves.HEADBUTT ], - [ 23, Moves.YAWN ], - [ 28, Moves.TAKE_DOWN ], - [ 30, Moves.WORK_UP ], - [ 34, Moves.UPROAR ], - [ 39, Moves.DOUBLE_EDGE ], - [ 45, Moves.EARTH_POWER ], - [ 51, Moves.BELCH ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 3, MoveId.DISARMING_VOICE ], + [ 6, MoveId.ECHOED_VOICE ], + [ 9, MoveId.MUD_SHOT ], + [ 12, MoveId.COVET ], + [ 15, MoveId.DIG ], + [ 17, MoveId.HEADBUTT ], + [ 23, MoveId.YAWN ], + [ 28, MoveId.TAKE_DOWN ], + [ 30, MoveId.WORK_UP ], + [ 34, MoveId.UPROAR ], + [ 39, MoveId.DOUBLE_EDGE ], + [ 45, MoveId.EARTH_POWER ], + [ 51, MoveId.BELCH ], ], }, - [Species.REVAVROOM]: { + [SpeciesId.REVAVROOM]: { 1: [ - [ EVOLVE_MOVE, Moves.WICKED_TORQUE ], - [ EVOLVE_MOVE, Moves.SHIFT_GEAR ], - [ 1, Moves.LICK ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MAGNET_RISE ], - [ 4, Moves.SMOG ], - [ 7, Moves.TAUNT ], - [ 10, Moves.ASSURANCE ], - [ 13, Moves.SLUDGE ], - [ 17, Moves.GYRO_BALL ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.SCREECH ], - [ 28, Moves.IRON_HEAD ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.POISON_JAB ], - [ 46, Moves.UPROAR ], - [ 52, Moves.SPIN_OUT ], - [ 58, Moves.GUNK_SHOT ], + [ EVOLVE_MOVE, MoveId.WICKED_TORQUE ], + [ EVOLVE_MOVE, MoveId.SHIFT_GEAR ], + [ 1, MoveId.LICK ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MAGNET_RISE ], + [ 4, MoveId.SMOG ], + [ 7, MoveId.TAUNT ], + [ 10, MoveId.ASSURANCE ], + [ 13, MoveId.SLUDGE ], + [ 17, MoveId.GYRO_BALL ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.SCREECH ], + [ 28, MoveId.IRON_HEAD ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.POISON_JAB ], + [ 46, MoveId.UPROAR ], + [ 52, MoveId.SPIN_OUT ], + [ 58, MoveId.GUNK_SHOT ], ], 2: [ - [ EVOLVE_MOVE, Moves.BLAZING_TORQUE ], - [ EVOLVE_MOVE, Moves.SHIFT_GEAR ], - [ 1, Moves.LICK ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MAGNET_RISE ], - [ 4, Moves.SMOG ], - [ 7, Moves.TAUNT ], - [ 10, Moves.ASSURANCE ], - [ 13, Moves.SLUDGE ], - [ 17, Moves.GYRO_BALL ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.SCREECH ], - [ 28, Moves.IRON_HEAD ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.POISON_JAB ], - [ 46, Moves.UPROAR ], - [ 52, Moves.SPIN_OUT ], - [ 58, Moves.GUNK_SHOT ], + [ EVOLVE_MOVE, MoveId.BLAZING_TORQUE ], + [ EVOLVE_MOVE, MoveId.SHIFT_GEAR ], + [ 1, MoveId.LICK ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MAGNET_RISE ], + [ 4, MoveId.SMOG ], + [ 7, MoveId.TAUNT ], + [ 10, MoveId.ASSURANCE ], + [ 13, MoveId.SLUDGE ], + [ 17, MoveId.GYRO_BALL ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.SCREECH ], + [ 28, MoveId.IRON_HEAD ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.POISON_JAB ], + [ 46, MoveId.UPROAR ], + [ 52, MoveId.SPIN_OUT ], + [ 58, MoveId.GUNK_SHOT ], ], 3: [ - [ EVOLVE_MOVE, Moves.NOXIOUS_TORQUE ], - [ EVOLVE_MOVE, Moves.SHIFT_GEAR ], - [ 1, Moves.LICK ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MAGNET_RISE ], - [ 4, Moves.SMOG ], - [ 7, Moves.TAUNT ], - [ 10, Moves.ASSURANCE ], - [ 13, Moves.SLUDGE ], - [ 17, Moves.GYRO_BALL ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.SCREECH ], - [ 28, Moves.IRON_HEAD ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.POISON_JAB ], - [ 46, Moves.UPROAR ], - [ 52, Moves.SPIN_OUT ], - [ 58, Moves.GUNK_SHOT ], + [ EVOLVE_MOVE, MoveId.NOXIOUS_TORQUE ], + [ EVOLVE_MOVE, MoveId.SHIFT_GEAR ], + [ 1, MoveId.LICK ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MAGNET_RISE ], + [ 4, MoveId.SMOG ], + [ 7, MoveId.TAUNT ], + [ 10, MoveId.ASSURANCE ], + [ 13, MoveId.SLUDGE ], + [ 17, MoveId.GYRO_BALL ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.SCREECH ], + [ 28, MoveId.IRON_HEAD ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.POISON_JAB ], + [ 46, MoveId.UPROAR ], + [ 52, MoveId.SPIN_OUT ], + [ 58, MoveId.GUNK_SHOT ], ], 4: [ - [ EVOLVE_MOVE, Moves.MAGICAL_TORQUE ], - [ EVOLVE_MOVE, Moves.SHIFT_GEAR ], - [ 1, Moves.LICK ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MAGNET_RISE ], - [ 4, Moves.SMOG ], - [ 7, Moves.TAUNT ], - [ 10, Moves.ASSURANCE ], - [ 13, Moves.SLUDGE ], - [ 17, Moves.GYRO_BALL ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.SCREECH ], - [ 28, Moves.IRON_HEAD ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.POISON_JAB ], - [ 46, Moves.UPROAR ], - [ 52, Moves.SPIN_OUT ], - [ 58, Moves.GUNK_SHOT ], + [ EVOLVE_MOVE, MoveId.MAGICAL_TORQUE ], + [ EVOLVE_MOVE, MoveId.SHIFT_GEAR ], + [ 1, MoveId.LICK ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MAGNET_RISE ], + [ 4, MoveId.SMOG ], + [ 7, MoveId.TAUNT ], + [ 10, MoveId.ASSURANCE ], + [ 13, MoveId.SLUDGE ], + [ 17, MoveId.GYRO_BALL ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.SCREECH ], + [ 28, MoveId.IRON_HEAD ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.POISON_JAB ], + [ 46, MoveId.UPROAR ], + [ 52, MoveId.SPIN_OUT ], + [ 58, MoveId.GUNK_SHOT ], ], 5: [ - [ EVOLVE_MOVE, Moves.COMBAT_TORQUE ], - [ EVOLVE_MOVE, Moves.SHIFT_GEAR ], - [ 1, Moves.LICK ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.MAGNET_RISE ], - [ 4, Moves.SMOG ], - [ 7, Moves.TAUNT ], - [ 10, Moves.ASSURANCE ], - [ 13, Moves.SLUDGE ], - [ 17, Moves.GYRO_BALL ], - [ 21, Moves.HEADBUTT ], - [ 25, Moves.SCREECH ], - [ 28, Moves.IRON_HEAD ], - [ 32, Moves.SWAGGER ], - [ 36, Moves.POISON_JAB ], - [ 46, Moves.UPROAR ], - [ 52, Moves.SPIN_OUT ], - [ 58, Moves.GUNK_SHOT ], + [ EVOLVE_MOVE, MoveId.COMBAT_TORQUE ], + [ EVOLVE_MOVE, MoveId.SHIFT_GEAR ], + [ 1, MoveId.LICK ], + [ 1, MoveId.POISON_GAS ], + [ 1, MoveId.MAGNET_RISE ], + [ 4, MoveId.SMOG ], + [ 7, MoveId.TAUNT ], + [ 10, MoveId.ASSURANCE ], + [ 13, MoveId.SLUDGE ], + [ 17, MoveId.GYRO_BALL ], + [ 21, MoveId.HEADBUTT ], + [ 25, MoveId.SCREECH ], + [ 28, MoveId.IRON_HEAD ], + [ 32, MoveId.SWAGGER ], + [ 36, MoveId.POISON_JAB ], + [ 46, MoveId.UPROAR ], + [ 52, MoveId.SPIN_OUT ], + [ 58, MoveId.GUNK_SHOT ], ], }, - [Species.PALDEA_TAUROS]: { + [SpeciesId.PALDEA_TAUROS]: { 1: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.WORK_UP ], - [ 10, Moves.DOUBLE_KICK ], - [ 15, Moves.FLAME_CHARGE ], - [ 20, Moves.HEADBUTT ], - [ 25, Moves.SCARY_FACE ], - [ 30, Moves.ZEN_HEADBUTT ], - [ 35, Moves.RAGING_BULL ], - [ 40, Moves.REST ], - [ 45, Moves.SWAGGER ], - [ 50, Moves.THRASH ], - [ 55, Moves.FLARE_BLITZ ], - [ 60, Moves.CLOSE_COMBAT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.WORK_UP ], + [ 10, MoveId.DOUBLE_KICK ], + [ 15, MoveId.FLAME_CHARGE ], + [ 20, MoveId.HEADBUTT ], + [ 25, MoveId.SCARY_FACE ], + [ 30, MoveId.ZEN_HEADBUTT ], + [ 35, MoveId.RAGING_BULL ], + [ 40, MoveId.REST ], + [ 45, MoveId.SWAGGER ], + [ 50, MoveId.THRASH ], + [ 55, MoveId.FLARE_BLITZ ], + [ 60, MoveId.CLOSE_COMBAT ], ], 2: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.TAIL_WHIP ], - [ 5, Moves.WORK_UP ], - [ 10, Moves.DOUBLE_KICK ], - [ 15, Moves.AQUA_JET ], - [ 20, Moves.HEADBUTT ], - [ 25, Moves.SCARY_FACE ], - [ 30, Moves.ZEN_HEADBUTT ], - [ 35, Moves.RAGING_BULL ], - [ 40, Moves.REST ], - [ 45, Moves.SWAGGER ], - [ 50, Moves.THRASH ], - [ 55, Moves.WAVE_CRASH ], - [ 60, Moves.CLOSE_COMBAT ], + [ 1, MoveId.TACKLE ], + [ 1, MoveId.TAIL_WHIP ], + [ 5, MoveId.WORK_UP ], + [ 10, MoveId.DOUBLE_KICK ], + [ 15, MoveId.AQUA_JET ], + [ 20, MoveId.HEADBUTT ], + [ 25, MoveId.SCARY_FACE ], + [ 30, MoveId.ZEN_HEADBUTT ], + [ 35, MoveId.RAGING_BULL ], + [ 40, MoveId.REST ], + [ 45, MoveId.SWAGGER ], + [ 50, MoveId.THRASH ], + [ 55, MoveId.WAVE_CRASH ], + [ 60, MoveId.CLOSE_COMBAT ], ] } }; diff --git a/src/data/balance/signature-species.ts b/src/data/balance/signature-species.ts index 04749a67521..fba91f6fe3d 100644 --- a/src/data/balance/signature-species.ts +++ b/src/data/balance/signature-species.ts @@ -1,7 +1,7 @@ -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; export type SignatureSpecies = { - [key in string]: (Species | Species[])[]; + [key in string]: (SpeciesId | SpeciesId[])[]; }; /** @@ -18,87 +18,87 @@ export type SignatureSpecies = { */ export const signatureSpecies: SignatureSpecies = new Proxy({ // Gym Leaders- Kanto - BROCK: [Species.ONIX, Species.GEODUDE, [Species.OMANYTE, Species.KABUTO], Species.AERODACTYL], - MISTY: [Species.STARYU, Species.PSYDUCK, Species.WOOPER, Species.LAPRAS], - LT_SURGE: [Species.PICHU, Species.VOLTORB, Species.ELEKID, Species.JOLTEON], - ERIKA: [Species.ODDISH, Species.BELLSPROUT, Species.TANGELA, Species.HOPPIP], - JANINE: [Species.VENONAT, Species.SPINARAK, Species.ZUBAT, Species.KOFFING], - SABRINA: [Species.ABRA, Species.MR_MIME, Species.SMOOCHUM, Species.ESPEON], - BLAINE: [Species.GROWLITHE, Species.PONYTA, Species.MAGBY, Species.VULPIX], - GIOVANNI: [Species.RHYHORN, Species.MEOWTH, [Species.NIDORAN_F, Species.NIDORAN_M], Species.DIGLETT], // Tera Ground Meowth + BROCK: [SpeciesId.ONIX, SpeciesId.GEODUDE, [SpeciesId.OMANYTE, SpeciesId.KABUTO], SpeciesId.AERODACTYL], + MISTY: [SpeciesId.STARYU, SpeciesId.PSYDUCK, SpeciesId.WOOPER, SpeciesId.LAPRAS], + LT_SURGE: [SpeciesId.PICHU, SpeciesId.VOLTORB, SpeciesId.ELEKID, SpeciesId.JOLTEON], + ERIKA: [SpeciesId.ODDISH, SpeciesId.BELLSPROUT, SpeciesId.TANGELA, SpeciesId.HOPPIP], + JANINE: [SpeciesId.VENONAT, SpeciesId.SPINARAK, SpeciesId.ZUBAT, SpeciesId.KOFFING], + SABRINA: [SpeciesId.ABRA, SpeciesId.MR_MIME, SpeciesId.SMOOCHUM, SpeciesId.ESPEON], + BLAINE: [SpeciesId.GROWLITHE, SpeciesId.PONYTA, SpeciesId.MAGBY, SpeciesId.VULPIX], + GIOVANNI: [SpeciesId.RHYHORN, SpeciesId.MEOWTH, [SpeciesId.NIDORAN_F, SpeciesId.NIDORAN_M], SpeciesId.DIGLETT], // Tera Ground Meowth // Gym Leaders- Johto - FALKNER: [Species.PIDGEY, Species.HOOTHOOT, Species.NATU, Species.MURKROW], - BUGSY: [Species.SCYTHER, Species.SHUCKLE, Species.YANMA, [Species.PINSIR, Species.HERACROSS]], - WHITNEY: [Species.MILTANK, Species.AIPOM, Species.IGGLYBUFF, [Species.GIRAFARIG, Species.STANTLER]], - MORTY: [Species.GASTLY, Species.MISDREAVUS, Species.DUSKULL, Species.SABLEYE], - CHUCK: [Species.POLIWRATH, Species.MANKEY, Species.TYROGUE, Species.MACHOP], - JASMINE: [Species.STEELIX, Species.MAGNEMITE, Species.PINECO, Species.SKARMORY], - PRYCE: [Species.SWINUB, Species.SEEL, Species.SHELLDER, Species.SNEASEL], - CLAIR: [Species.HORSEA, Species.DRATINI, Species.MAGIKARP, Species.DRUDDIGON], // Tera Dragon Magikarp + FALKNER: [SpeciesId.PIDGEY, SpeciesId.HOOTHOOT, SpeciesId.NATU, SpeciesId.MURKROW], + BUGSY: [SpeciesId.SCYTHER, SpeciesId.SHUCKLE, SpeciesId.YANMA, [SpeciesId.PINSIR, SpeciesId.HERACROSS]], + WHITNEY: [SpeciesId.MILTANK, SpeciesId.AIPOM, SpeciesId.IGGLYBUFF, [SpeciesId.GIRAFARIG, SpeciesId.STANTLER]], + MORTY: [SpeciesId.GASTLY, SpeciesId.MISDREAVUS, SpeciesId.DUSKULL, SpeciesId.SABLEYE], + CHUCK: [SpeciesId.POLIWRATH, SpeciesId.MANKEY, SpeciesId.TYROGUE, SpeciesId.MACHOP], + JASMINE: [SpeciesId.STEELIX, SpeciesId.MAGNEMITE, SpeciesId.PINECO, SpeciesId.SKARMORY], + PRYCE: [SpeciesId.SWINUB, SpeciesId.SEEL, SpeciesId.SHELLDER, SpeciesId.SNEASEL], + CLAIR: [SpeciesId.HORSEA, SpeciesId.DRATINI, SpeciesId.MAGIKARP, SpeciesId.DRUDDIGON], // Tera Dragon Magikarp // Gym Leaders- Hoenn - ROXANNE: [Species.NOSEPASS, Species.GEODUDE, [Species.LILEEP, Species.ANORITH], Species.ARON], - BRAWLY: [Species.MAKUHITA, Species.MACHOP, Species.MEDITITE, Species.SHROOMISH], - WATTSON: [Species.ELECTRIKE, Species.VOLTORB, Species.MAGNEMITE, [Species.PLUSLE, Species.MINUN]], - FLANNERY: [Species.TORKOAL, Species.SLUGMA, Species.NUMEL, Species.HOUNDOUR], - NORMAN: [Species.SLAKOTH, Species.KECLEON, Species.WHISMUR, Species.ZANGOOSE], - WINONA: [Species.SWABLU, Species.WINGULL, Species.TROPIUS, Species.SKARMORY], - TATE: [Species.SOLROCK, Species.NATU, Species.CHINGLING, Species.GALLADE], - LIZA: [Species.LUNATONE, Species.BALTOY, Species.SPOINK, Species.GARDEVOIR], - JUAN: [Species.HORSEA, Species.SPHEAL, Species.BARBOACH, Species.CORPHISH], + ROXANNE: [SpeciesId.NOSEPASS, SpeciesId.GEODUDE, [SpeciesId.LILEEP, SpeciesId.ANORITH], SpeciesId.ARON], + BRAWLY: [SpeciesId.MAKUHITA, SpeciesId.MACHOP, SpeciesId.MEDITITE, SpeciesId.SHROOMISH], + WATTSON: [SpeciesId.ELECTRIKE, SpeciesId.VOLTORB, SpeciesId.MAGNEMITE, [SpeciesId.PLUSLE, SpeciesId.MINUN]], + FLANNERY: [SpeciesId.TORKOAL, SpeciesId.SLUGMA, SpeciesId.NUMEL, SpeciesId.HOUNDOUR], + NORMAN: [SpeciesId.SLAKOTH, SpeciesId.KECLEON, SpeciesId.WHISMUR, SpeciesId.ZANGOOSE], + WINONA: [SpeciesId.SWABLU, SpeciesId.WINGULL, SpeciesId.TROPIUS, SpeciesId.SKARMORY], + TATE: [SpeciesId.SOLROCK, SpeciesId.NATU, SpeciesId.CHINGLING, SpeciesId.GALLADE], + LIZA: [SpeciesId.LUNATONE, SpeciesId.BALTOY, SpeciesId.SPOINK, SpeciesId.GARDEVOIR], + JUAN: [SpeciesId.HORSEA, SpeciesId.SPHEAL, SpeciesId.BARBOACH, SpeciesId.CORPHISH], // Gym Leaders- Sinnoh - ROARK: [Species.CRANIDOS, Species.GEODUDE, Species.NOSEPASS, Species.LARVITAR], - GARDENIA: [Species.BUDEW, Species.CHERUBI, Species.TURTWIG, Species.LEAFEON], - MAYLENE: [Species.RIOLU, Species.MEDITITE, Species.CHIMCHAR, Species.CROAGUNK], - CRASHER_WAKE: [Species.BUIZEL, Species.WOOPER, Species.PIPLUP, Species.MAGIKARP], - FANTINA: [Species.MISDREAVUS, Species.DRIFLOON, Species.DUSKULL, Species.SPIRITOMB], - BYRON: [Species.SHIELDON, Species.BRONZOR, Species.ARON, Species.SKARMORY], - CANDICE: [Species.FROSLASS, Species.SNOVER, Species.SNEASEL, Species.GLACEON], - VOLKNER: [Species.ELEKID, Species.SHINX, Species.CHINCHOU, Species.ROTOM], + ROARK: [SpeciesId.CRANIDOS, SpeciesId.GEODUDE, SpeciesId.NOSEPASS, SpeciesId.LARVITAR], + GARDENIA: [SpeciesId.BUDEW, SpeciesId.CHERUBI, SpeciesId.TURTWIG, SpeciesId.LEAFEON], + MAYLENE: [SpeciesId.RIOLU, SpeciesId.MEDITITE, SpeciesId.CHIMCHAR, SpeciesId.CROAGUNK], + CRASHER_WAKE: [SpeciesId.BUIZEL, SpeciesId.WOOPER, SpeciesId.PIPLUP, SpeciesId.MAGIKARP], + FANTINA: [SpeciesId.MISDREAVUS, SpeciesId.DRIFLOON, SpeciesId.DUSKULL, SpeciesId.SPIRITOMB], + BYRON: [SpeciesId.SHIELDON, SpeciesId.BRONZOR, SpeciesId.ARON, SpeciesId.SKARMORY], + CANDICE: [SpeciesId.FROSLASS, SpeciesId.SNOVER, SpeciesId.SNEASEL, SpeciesId.GLACEON], + VOLKNER: [SpeciesId.ELEKID, SpeciesId.SHINX, SpeciesId.CHINCHOU, SpeciesId.ROTOM], // Gym Leaders- Unova - CILAN: [Species.PANSAGE, Species.SNIVY, Species.MARACTUS, Species.FERROSEED], - CHILI: [Species.PANSEAR, Species.TEPIG, Species.HEATMOR, Species.DARUMAKA], - CRESS: [Species.PANPOUR, Species.OSHAWOTT, Species.BASCULIN, Species.TYMPOLE], - CHEREN: [Species.LILLIPUP, Species.MINCCINO, Species.PIDOVE, Species.BOUFFALANT], - LENORA: [Species.PATRAT, Species.DEERLING, Species.AUDINO, Species.BRAVIARY], - ROXIE: [Species.VENIPEDE, Species.KOFFING, Species.TRUBBISH, Species.TOXEL], - BURGH: [Species.SEWADDLE, Species.DWEBBLE, [Species.KARRABLAST, Species.SHELMET], Species.DURANT], - ELESA: [Species.BLITZLE, Species.EMOLGA, Species.JOLTIK, Species.TYNAMO], - CLAY: [Species.DRILBUR, Species.SANDILE, Species.TYMPOLE, Species.GOLETT], - SKYLA: [Species.DUCKLETT, Species.WOOBAT, [Species.RUFFLET, Species.VULLABY], Species.ARCHEN], - BRYCEN: [Species.CRYOGONAL, Species.VANILLITE, Species.CUBCHOO, Species.GALAR_DARUMAKA], - DRAYDEN: [Species.AXEW, Species.DRUDDIGON, Species.TRAPINCH, Species.DEINO], - MARLON: [Species.FRILLISH, Species.TIRTOUGA, Species.WAILMER, Species.MANTYKE], + CILAN: [SpeciesId.PANSAGE, SpeciesId.SNIVY, SpeciesId.MARACTUS, SpeciesId.FERROSEED], + CHILI: [SpeciesId.PANSEAR, SpeciesId.TEPIG, SpeciesId.HEATMOR, SpeciesId.DARUMAKA], + CRESS: [SpeciesId.PANPOUR, SpeciesId.OSHAWOTT, SpeciesId.BASCULIN, SpeciesId.TYMPOLE], + CHEREN: [SpeciesId.LILLIPUP, SpeciesId.MINCCINO, SpeciesId.PIDOVE, SpeciesId.BOUFFALANT], + LENORA: [SpeciesId.PATRAT, SpeciesId.DEERLING, SpeciesId.AUDINO, SpeciesId.BRAVIARY], + ROXIE: [SpeciesId.VENIPEDE, SpeciesId.KOFFING, SpeciesId.TRUBBISH, SpeciesId.TOXEL], + BURGH: [SpeciesId.SEWADDLE, SpeciesId.DWEBBLE, [SpeciesId.KARRABLAST, SpeciesId.SHELMET], SpeciesId.DURANT], + ELESA: [SpeciesId.BLITZLE, SpeciesId.EMOLGA, SpeciesId.JOLTIK, SpeciesId.TYNAMO], + CLAY: [SpeciesId.DRILBUR, SpeciesId.SANDILE, SpeciesId.TYMPOLE, SpeciesId.GOLETT], + SKYLA: [SpeciesId.DUCKLETT, SpeciesId.WOOBAT, [SpeciesId.RUFFLET, SpeciesId.VULLABY], SpeciesId.ARCHEN], + BRYCEN: [SpeciesId.CRYOGONAL, SpeciesId.VANILLITE, SpeciesId.CUBCHOO, SpeciesId.GALAR_DARUMAKA], + DRAYDEN: [SpeciesId.AXEW, SpeciesId.DRUDDIGON, SpeciesId.TRAPINCH, SpeciesId.DEINO], + MARLON: [SpeciesId.FRILLISH, SpeciesId.TIRTOUGA, SpeciesId.WAILMER, SpeciesId.MANTYKE], // Gym Leaders- Kalos - VIOLA: [Species.SCATTERBUG, Species.SURSKIT, Species.CUTIEFLY, Species.BLIPBUG], - GRANT: [Species.TYRUNT, Species.AMAURA, Species.BINACLE, Species.DWEBBLE], - KORRINA: [Species.RIOLU, Species.MIENFOO, Species.HAWLUCHA, Species.PANCHAM], - RAMOS: [Species.SKIDDO, Species.HOPPIP, Species.BELLSPROUT, [Species.PHANTUMP, Species.PUMPKABOO]], - CLEMONT: [Species.HELIOPTILE, Species.MAGNEMITE, Species.DEDENNE, Species.ROTOM], - VALERIE: [Species.SYLVEON, Species.MAWILE, Species.MR_MIME, [Species.SPRITZEE, Species.SWIRLIX]], - OLYMPIA: [Species.ESPURR, Species.SIGILYPH, Species.INKAY, Species.SLOWKING], - WULFRIC: [Species.BERGMITE, Species.SNOVER, Species.CRYOGONAL, Species.SWINUB], + VIOLA: [SpeciesId.SCATTERBUG, SpeciesId.SURSKIT, SpeciesId.CUTIEFLY, SpeciesId.BLIPBUG], + GRANT: [SpeciesId.TYRUNT, SpeciesId.AMAURA, SpeciesId.BINACLE, SpeciesId.DWEBBLE], + KORRINA: [SpeciesId.RIOLU, SpeciesId.MIENFOO, SpeciesId.HAWLUCHA, SpeciesId.PANCHAM], + RAMOS: [SpeciesId.SKIDDO, SpeciesId.HOPPIP, SpeciesId.BELLSPROUT, [SpeciesId.PHANTUMP, SpeciesId.PUMPKABOO]], + CLEMONT: [SpeciesId.HELIOPTILE, SpeciesId.MAGNEMITE, SpeciesId.DEDENNE, SpeciesId.ROTOM], + VALERIE: [SpeciesId.SYLVEON, SpeciesId.MAWILE, SpeciesId.MR_MIME, [SpeciesId.SPRITZEE, SpeciesId.SWIRLIX]], + OLYMPIA: [SpeciesId.ESPURR, SpeciesId.SIGILYPH, SpeciesId.INKAY, SpeciesId.SLOWKING], + WULFRIC: [SpeciesId.BERGMITE, SpeciesId.SNOVER, SpeciesId.CRYOGONAL, SpeciesId.SWINUB], // Gym Leaders- Galar - MILO: [Species.GOSSIFLEUR, Species.SEEDOT, Species.APPLIN, Species.LOTAD], - NESSA: [Species.CHEWTLE, Species.WIMPOD, Species.ARROKUDA, Species.MAREANIE], - KABU: [Species.SIZZLIPEDE, Species.VULPIX, Species.GROWLITHE, Species.TORKOAL], - BEA: [Species.MACHOP, Species.GALAR_FARFETCHD, Species.CLOBBOPUS, Species.FALINKS], - ALLISTER: [Species.GASTLY, Species.GALAR_YAMASK, Species.GALAR_CORSOLA, Species.SINISTEA], - OPAL: [Species.MILCERY, Species.GALAR_WEEZING, Species.TOGEPI, Species.MAWILE], - BEDE: [Species.HATENNA, Species.GALAR_PONYTA, Species.GARDEVOIR, Species.SYLVEON], - GORDIE: [Species.ROLYCOLY, [Species.SHUCKLE, Species.BINACLE], Species.STONJOURNER, Species.LARVITAR], - MELONY: [Species.LAPRAS, Species.SNOM, Species.EISCUE, [Species.GALAR_MR_MIME, Species.GALAR_DARUMAKA]], - PIERS: [Species.GALAR_ZIGZAGOON, Species.SCRAGGY, Species.TOXEL, Species.INKAY], // Tera Dark Toxel - MARNIE: [Species.IMPIDIMP, Species.MORPEKO, Species.PURRLOIN, Species.CROAGUNK], // Tera Dark Croagunk - RAIHAN: [Species.DURALUDON, Species.TRAPINCH, Species.GOOMY, Species.TURTONATOR], + MILO: [SpeciesId.GOSSIFLEUR, SpeciesId.SEEDOT, SpeciesId.APPLIN, SpeciesId.LOTAD], + NESSA: [SpeciesId.CHEWTLE, SpeciesId.WIMPOD, SpeciesId.ARROKUDA, SpeciesId.MAREANIE], + KABU: [SpeciesId.SIZZLIPEDE, SpeciesId.VULPIX, SpeciesId.GROWLITHE, SpeciesId.TORKOAL], + BEA: [SpeciesId.MACHOP, SpeciesId.GALAR_FARFETCHD, SpeciesId.CLOBBOPUS, SpeciesId.FALINKS], + ALLISTER: [SpeciesId.GASTLY, SpeciesId.GALAR_YAMASK, SpeciesId.GALAR_CORSOLA, SpeciesId.SINISTEA], + OPAL: [SpeciesId.MILCERY, SpeciesId.GALAR_WEEZING, SpeciesId.TOGEPI, SpeciesId.MAWILE], + BEDE: [SpeciesId.HATENNA, SpeciesId.GALAR_PONYTA, SpeciesId.GARDEVOIR, SpeciesId.SYLVEON], + GORDIE: [SpeciesId.ROLYCOLY, [SpeciesId.SHUCKLE, SpeciesId.BINACLE], SpeciesId.STONJOURNER, SpeciesId.LARVITAR], + MELONY: [SpeciesId.LAPRAS, SpeciesId.SNOM, SpeciesId.EISCUE, [SpeciesId.GALAR_MR_MIME, SpeciesId.GALAR_DARUMAKA]], + PIERS: [SpeciesId.GALAR_ZIGZAGOON, SpeciesId.SCRAGGY, SpeciesId.TOXEL, SpeciesId.INKAY], // Tera Dark Toxel + MARNIE: [SpeciesId.IMPIDIMP, SpeciesId.MORPEKO, SpeciesId.PURRLOIN, SpeciesId.CROAGUNK], // Tera Dark Croagunk + RAIHAN: [SpeciesId.DURALUDON, SpeciesId.TRAPINCH, SpeciesId.GOOMY, SpeciesId.TURTONATOR], // Gym Leaders- Paldea; First slot is Tera - KATY: [Species.TEDDIURSA, Species.NYMBLE, Species.TAROUNTULA, Species.RELLOR], // Tera Bug Teddiursa - BRASSIUS: [Species.BONSLY, Species.SMOLIV, Species.BRAMBLIN, Species.SUNKERN], // Tera Grass Bonsly - IONO: [Species.MISDREAVUS, Species.TADBULB, Species.WATTREL, Species.MAGNEMITE], // Tera Ghost Misdreavus - KOFU: [Species.CRABRAWLER, Species.VELUZA, Species.WIGLETT, Species.WINGULL], // Tera Water Crabrawler - LARRY: [Species.STARLY, Species.DUNSPARCE, Species.LECHONK, Species.KOMALA], // Tera Normal Starly - RYME: [Species.TOXEL, Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU], // Tera Ghost Toxel - TULIP: [Species.FLABEBE, Species.FLITTLE, Species.RALTS, Species.GIRAFARIG], // Tera Psychic Flabebe - GRUSHA: [Species.SWABLU, Species.CETODDLE, Species.SNOM, Species.CUBCHOO], // Tera Ice Swablu + KATY: [SpeciesId.TEDDIURSA, SpeciesId.NYMBLE, SpeciesId.TAROUNTULA, SpeciesId.RELLOR], // Tera Bug Teddiursa + BRASSIUS: [SpeciesId.BONSLY, SpeciesId.SMOLIV, SpeciesId.BRAMBLIN, SpeciesId.SUNKERN], // Tera Grass Bonsly + IONO: [SpeciesId.MISDREAVUS, SpeciesId.TADBULB, SpeciesId.WATTREL, SpeciesId.MAGNEMITE], // Tera Ghost Misdreavus + KOFU: [SpeciesId.CRABRAWLER, SpeciesId.VELUZA, SpeciesId.WIGLETT, SpeciesId.WINGULL], // Tera Water Crabrawler + LARRY: [SpeciesId.STARLY, SpeciesId.DUNSPARCE, SpeciesId.LECHONK, SpeciesId.KOMALA], // Tera Normal Starly + RYME: [SpeciesId.TOXEL, SpeciesId.GREAVARD, SpeciesId.SHUPPET, SpeciesId.MIMIKYU], // Tera Ghost Toxel + TULIP: [SpeciesId.FLABEBE, SpeciesId.FLITTLE, SpeciesId.RALTS, SpeciesId.GIRAFARIG], // Tera Psychic Flabebe + GRUSHA: [SpeciesId.SWABLU, SpeciesId.CETODDLE, SpeciesId.SNOM, SpeciesId.CUBCHOO], // Tera Ice Swablu }, { get(target, prop: string) { return target[prop as keyof SignatureSpecies] ?? []; diff --git a/src/data/balance/special-species-groups.ts b/src/data/balance/special-species-groups.ts index eeba96595a6..567d5f19794 100644 --- a/src/data/balance/special-species-groups.ts +++ b/src/data/balance/special-species-groups.ts @@ -1,29 +1,29 @@ -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; /** * A list of all {@link https://bulbapedia.bulbagarden.net/wiki/Paradox_Pok%C3%A9mon | Paradox Pokemon}, NOT including the legendaries Miraidon and Koraidon. */ export const NON_LEGEND_PARADOX_POKEMON = [ - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.ROARING_MOON, - Species.WALKING_WAKE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.IRON_BOULDER, - Species.IRON_CROWN, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.ROARING_MOON, + SpeciesId.WALKING_WAKE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, ]; /** @@ -32,15 +32,15 @@ export const NON_LEGEND_PARADOX_POKEMON = [ * Note that all of these Ultra Beasts are still considered Sub-Legendary. */ export const NON_LEGEND_ULTRA_BEASTS = [ - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, ]; diff --git a/src/data/balance/species-egg-tiers.ts b/src/data/balance/species-egg-tiers.ts index 0db2c917589..4d953921e92 100644 --- a/src/data/balance/species-egg-tiers.ts +++ b/src/data/balance/species-egg-tiers.ts @@ -1,585 +1,585 @@ -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { EggTier } from "#enums/egg-type"; /** * Map of all starters and their respective {@linkcode EggTier}, which determines the type of egg the starter hatches from. */ export const speciesEggTiers = { - [Species.BULBASAUR]: EggTier.COMMON, - [Species.CHARMANDER]: EggTier.COMMON, - [Species.SQUIRTLE]: EggTier.COMMON, - [Species.CATERPIE]: EggTier.COMMON, - [Species.WEEDLE]: EggTier.COMMON, - [Species.PIDGEY]: EggTier.COMMON, - [Species.RATTATA]: EggTier.COMMON, - [Species.SPEAROW]: EggTier.COMMON, - [Species.EKANS]: EggTier.COMMON, - [Species.SANDSHREW]: EggTier.COMMON, - [Species.NIDORAN_F]: EggTier.COMMON, - [Species.NIDORAN_M]: EggTier.COMMON, - [Species.VULPIX]: EggTier.COMMON, - [Species.ZUBAT]: EggTier.COMMON, - [Species.ODDISH]: EggTier.COMMON, - [Species.PARAS]: EggTier.COMMON, - [Species.VENONAT]: EggTier.COMMON, - [Species.DIGLETT]: EggTier.COMMON, - [Species.MEOWTH]: EggTier.COMMON, - [Species.PSYDUCK]: EggTier.COMMON, - [Species.MANKEY]: EggTier.RARE, - [Species.GROWLITHE]: EggTier.RARE, - [Species.POLIWAG]: EggTier.COMMON, - [Species.ABRA]: EggTier.RARE, - [Species.MACHOP]: EggTier.COMMON, - [Species.BELLSPROUT]: EggTier.COMMON, - [Species.TENTACOOL]: EggTier.COMMON, - [Species.GEODUDE]: EggTier.COMMON, - [Species.PONYTA]: EggTier.COMMON, - [Species.SLOWPOKE]: EggTier.COMMON, - [Species.MAGNEMITE]: EggTier.RARE, - [Species.FARFETCHD]: EggTier.RARE, - [Species.DODUO]: EggTier.COMMON, - [Species.SEEL]: EggTier.COMMON, - [Species.GRIMER]: EggTier.COMMON, - [Species.SHELLDER]: EggTier.RARE, - [Species.GASTLY]: EggTier.RARE, - [Species.ONIX]: EggTier.COMMON, - [Species.DROWZEE]: EggTier.COMMON, - [Species.KRABBY]: EggTier.COMMON, - [Species.VOLTORB]: EggTier.COMMON, - [Species.EXEGGCUTE]: EggTier.COMMON, - [Species.CUBONE]: EggTier.COMMON, - [Species.LICKITUNG]: EggTier.RARE, - [Species.KOFFING]: EggTier.COMMON, - [Species.RHYHORN]: EggTier.RARE, - [Species.TANGELA]: EggTier.COMMON, - [Species.KANGASKHAN]: EggTier.RARE, - [Species.HORSEA]: EggTier.COMMON, - [Species.GOLDEEN]: EggTier.COMMON, - [Species.STARYU]: EggTier.COMMON, - [Species.SCYTHER]: EggTier.RARE, - [Species.PINSIR]: EggTier.RARE, - [Species.TAUROS]: EggTier.RARE, - [Species.MAGIKARP]: EggTier.COMMON, - [Species.LAPRAS]: EggTier.RARE, - [Species.DITTO]: EggTier.COMMON, - [Species.EEVEE]: EggTier.COMMON, - [Species.PORYGON]: EggTier.RARE, - [Species.OMANYTE]: EggTier.RARE, - [Species.KABUTO]: EggTier.RARE, - [Species.AERODACTYL]: EggTier.RARE, - [Species.ARTICUNO]: EggTier.EPIC, - [Species.ZAPDOS]: EggTier.EPIC, - [Species.MOLTRES]: EggTier.EPIC, - [Species.DRATINI]: EggTier.RARE, - [Species.MEWTWO]: EggTier.LEGENDARY, - [Species.MEW]: EggTier.EPIC, + [SpeciesId.BULBASAUR]: EggTier.COMMON, + [SpeciesId.CHARMANDER]: EggTier.COMMON, + [SpeciesId.SQUIRTLE]: EggTier.COMMON, + [SpeciesId.CATERPIE]: EggTier.COMMON, + [SpeciesId.WEEDLE]: EggTier.COMMON, + [SpeciesId.PIDGEY]: EggTier.COMMON, + [SpeciesId.RATTATA]: EggTier.COMMON, + [SpeciesId.SPEAROW]: EggTier.COMMON, + [SpeciesId.EKANS]: EggTier.COMMON, + [SpeciesId.SANDSHREW]: EggTier.COMMON, + [SpeciesId.NIDORAN_F]: EggTier.COMMON, + [SpeciesId.NIDORAN_M]: EggTier.COMMON, + [SpeciesId.VULPIX]: EggTier.COMMON, + [SpeciesId.ZUBAT]: EggTier.COMMON, + [SpeciesId.ODDISH]: EggTier.COMMON, + [SpeciesId.PARAS]: EggTier.COMMON, + [SpeciesId.VENONAT]: EggTier.COMMON, + [SpeciesId.DIGLETT]: EggTier.COMMON, + [SpeciesId.MEOWTH]: EggTier.COMMON, + [SpeciesId.PSYDUCK]: EggTier.COMMON, + [SpeciesId.MANKEY]: EggTier.RARE, + [SpeciesId.GROWLITHE]: EggTier.RARE, + [SpeciesId.POLIWAG]: EggTier.COMMON, + [SpeciesId.ABRA]: EggTier.RARE, + [SpeciesId.MACHOP]: EggTier.COMMON, + [SpeciesId.BELLSPROUT]: EggTier.COMMON, + [SpeciesId.TENTACOOL]: EggTier.COMMON, + [SpeciesId.GEODUDE]: EggTier.COMMON, + [SpeciesId.PONYTA]: EggTier.COMMON, + [SpeciesId.SLOWPOKE]: EggTier.COMMON, + [SpeciesId.MAGNEMITE]: EggTier.RARE, + [SpeciesId.FARFETCHD]: EggTier.RARE, + [SpeciesId.DODUO]: EggTier.COMMON, + [SpeciesId.SEEL]: EggTier.COMMON, + [SpeciesId.GRIMER]: EggTier.COMMON, + [SpeciesId.SHELLDER]: EggTier.RARE, + [SpeciesId.GASTLY]: EggTier.RARE, + [SpeciesId.ONIX]: EggTier.COMMON, + [SpeciesId.DROWZEE]: EggTier.COMMON, + [SpeciesId.KRABBY]: EggTier.COMMON, + [SpeciesId.VOLTORB]: EggTier.COMMON, + [SpeciesId.EXEGGCUTE]: EggTier.COMMON, + [SpeciesId.CUBONE]: EggTier.COMMON, + [SpeciesId.LICKITUNG]: EggTier.RARE, + [SpeciesId.KOFFING]: EggTier.COMMON, + [SpeciesId.RHYHORN]: EggTier.RARE, + [SpeciesId.TANGELA]: EggTier.COMMON, + [SpeciesId.KANGASKHAN]: EggTier.RARE, + [SpeciesId.HORSEA]: EggTier.COMMON, + [SpeciesId.GOLDEEN]: EggTier.COMMON, + [SpeciesId.STARYU]: EggTier.COMMON, + [SpeciesId.SCYTHER]: EggTier.RARE, + [SpeciesId.PINSIR]: EggTier.RARE, + [SpeciesId.TAUROS]: EggTier.RARE, + [SpeciesId.MAGIKARP]: EggTier.COMMON, + [SpeciesId.LAPRAS]: EggTier.RARE, + [SpeciesId.DITTO]: EggTier.COMMON, + [SpeciesId.EEVEE]: EggTier.COMMON, + [SpeciesId.PORYGON]: EggTier.RARE, + [SpeciesId.OMANYTE]: EggTier.RARE, + [SpeciesId.KABUTO]: EggTier.RARE, + [SpeciesId.AERODACTYL]: EggTier.RARE, + [SpeciesId.ARTICUNO]: EggTier.EPIC, + [SpeciesId.ZAPDOS]: EggTier.EPIC, + [SpeciesId.MOLTRES]: EggTier.EPIC, + [SpeciesId.DRATINI]: EggTier.RARE, + [SpeciesId.MEWTWO]: EggTier.LEGENDARY, + [SpeciesId.MEW]: EggTier.EPIC, - [Species.CHIKORITA]: EggTier.COMMON, - [Species.CYNDAQUIL]: EggTier.COMMON, - [Species.TOTODILE]: EggTier.COMMON, - [Species.SENTRET]: EggTier.COMMON, - [Species.HOOTHOOT]: EggTier.COMMON, - [Species.LEDYBA]: EggTier.COMMON, - [Species.SPINARAK]: EggTier.COMMON, - [Species.CHINCHOU]: EggTier.COMMON, - [Species.PICHU]: EggTier.RARE, - [Species.CLEFFA]: EggTier.COMMON, - [Species.IGGLYBUFF]: EggTier.COMMON, - [Species.TOGEPI]: EggTier.COMMON, - [Species.NATU]: EggTier.COMMON, - [Species.MAREEP]: EggTier.COMMON, - [Species.HOPPIP]: EggTier.COMMON, - [Species.AIPOM]: EggTier.COMMON, - [Species.SUNKERN]: EggTier.COMMON, - [Species.YANMA]: EggTier.COMMON, - [Species.WOOPER]: EggTier.COMMON, - [Species.MURKROW]: EggTier.COMMON, - [Species.MISDREAVUS]: EggTier.COMMON, - [Species.UNOWN]: EggTier.COMMON, - [Species.GIRAFARIG]: EggTier.COMMON, - [Species.PINECO]: EggTier.COMMON, - [Species.DUNSPARCE]: EggTier.COMMON, - [Species.GLIGAR]: EggTier.COMMON, - [Species.SNUBBULL]: EggTier.COMMON, - [Species.QWILFISH]: EggTier.COMMON, - [Species.SHUCKLE]: EggTier.COMMON, - [Species.HERACROSS]: EggTier.RARE, - [Species.SNEASEL]: EggTier.RARE, - [Species.TEDDIURSA]: EggTier.RARE, - [Species.SLUGMA]: EggTier.COMMON, - [Species.SWINUB]: EggTier.COMMON, - [Species.CORSOLA]: EggTier.COMMON, - [Species.REMORAID]: EggTier.COMMON, - [Species.DELIBIRD]: EggTier.COMMON, - [Species.SKARMORY]: EggTier.RARE, - [Species.HOUNDOUR]: EggTier.COMMON, - [Species.PHANPY]: EggTier.COMMON, - [Species.STANTLER]: EggTier.COMMON, - [Species.SMEARGLE]: EggTier.COMMON, - [Species.TYROGUE]: EggTier.COMMON, - [Species.SMOOCHUM]: EggTier.COMMON, - [Species.ELEKID]: EggTier.COMMON, - [Species.MAGBY]: EggTier.COMMON, - [Species.MILTANK]: EggTier.RARE, - [Species.RAIKOU]: EggTier.EPIC, - [Species.ENTEI]: EggTier.EPIC, - [Species.SUICUNE]: EggTier.EPIC, - [Species.LARVITAR]: EggTier.RARE, - [Species.LUGIA]: EggTier.LEGENDARY, - [Species.HO_OH]: EggTier.LEGENDARY, - [Species.CELEBI]: EggTier.EPIC, + [SpeciesId.CHIKORITA]: EggTier.COMMON, + [SpeciesId.CYNDAQUIL]: EggTier.COMMON, + [SpeciesId.TOTODILE]: EggTier.COMMON, + [SpeciesId.SENTRET]: EggTier.COMMON, + [SpeciesId.HOOTHOOT]: EggTier.COMMON, + [SpeciesId.LEDYBA]: EggTier.COMMON, + [SpeciesId.SPINARAK]: EggTier.COMMON, + [SpeciesId.CHINCHOU]: EggTier.COMMON, + [SpeciesId.PICHU]: EggTier.RARE, + [SpeciesId.CLEFFA]: EggTier.COMMON, + [SpeciesId.IGGLYBUFF]: EggTier.COMMON, + [SpeciesId.TOGEPI]: EggTier.COMMON, + [SpeciesId.NATU]: EggTier.COMMON, + [SpeciesId.MAREEP]: EggTier.COMMON, + [SpeciesId.HOPPIP]: EggTier.COMMON, + [SpeciesId.AIPOM]: EggTier.COMMON, + [SpeciesId.SUNKERN]: EggTier.COMMON, + [SpeciesId.YANMA]: EggTier.COMMON, + [SpeciesId.WOOPER]: EggTier.COMMON, + [SpeciesId.MURKROW]: EggTier.COMMON, + [SpeciesId.MISDREAVUS]: EggTier.COMMON, + [SpeciesId.UNOWN]: EggTier.COMMON, + [SpeciesId.GIRAFARIG]: EggTier.COMMON, + [SpeciesId.PINECO]: EggTier.COMMON, + [SpeciesId.DUNSPARCE]: EggTier.COMMON, + [SpeciesId.GLIGAR]: EggTier.COMMON, + [SpeciesId.SNUBBULL]: EggTier.COMMON, + [SpeciesId.QWILFISH]: EggTier.COMMON, + [SpeciesId.SHUCKLE]: EggTier.COMMON, + [SpeciesId.HERACROSS]: EggTier.RARE, + [SpeciesId.SNEASEL]: EggTier.RARE, + [SpeciesId.TEDDIURSA]: EggTier.RARE, + [SpeciesId.SLUGMA]: EggTier.COMMON, + [SpeciesId.SWINUB]: EggTier.COMMON, + [SpeciesId.CORSOLA]: EggTier.COMMON, + [SpeciesId.REMORAID]: EggTier.COMMON, + [SpeciesId.DELIBIRD]: EggTier.COMMON, + [SpeciesId.SKARMORY]: EggTier.RARE, + [SpeciesId.HOUNDOUR]: EggTier.COMMON, + [SpeciesId.PHANPY]: EggTier.COMMON, + [SpeciesId.STANTLER]: EggTier.COMMON, + [SpeciesId.SMEARGLE]: EggTier.COMMON, + [SpeciesId.TYROGUE]: EggTier.COMMON, + [SpeciesId.SMOOCHUM]: EggTier.COMMON, + [SpeciesId.ELEKID]: EggTier.COMMON, + [SpeciesId.MAGBY]: EggTier.COMMON, + [SpeciesId.MILTANK]: EggTier.RARE, + [SpeciesId.RAIKOU]: EggTier.EPIC, + [SpeciesId.ENTEI]: EggTier.EPIC, + [SpeciesId.SUICUNE]: EggTier.EPIC, + [SpeciesId.LARVITAR]: EggTier.RARE, + [SpeciesId.LUGIA]: EggTier.LEGENDARY, + [SpeciesId.HO_OH]: EggTier.LEGENDARY, + [SpeciesId.CELEBI]: EggTier.EPIC, - [Species.TREECKO]: EggTier.COMMON, - [Species.TORCHIC]: EggTier.COMMON, - [Species.MUDKIP]: EggTier.COMMON, - [Species.POOCHYENA]: EggTier.COMMON, - [Species.ZIGZAGOON]: EggTier.COMMON, - [Species.WURMPLE]: EggTier.COMMON, - [Species.LOTAD]: EggTier.COMMON, - [Species.SEEDOT]: EggTier.COMMON, - [Species.TAILLOW]: EggTier.COMMON, - [Species.WINGULL]: EggTier.COMMON, - [Species.RALTS]: EggTier.RARE, - [Species.SURSKIT]: EggTier.COMMON, - [Species.SHROOMISH]: EggTier.COMMON, - [Species.SLAKOTH]: EggTier.RARE, - [Species.NINCADA]: EggTier.RARE, - [Species.WHISMUR]: EggTier.COMMON, - [Species.MAKUHITA]: EggTier.COMMON, - [Species.AZURILL]: EggTier.COMMON, - [Species.NOSEPASS]: EggTier.COMMON, - [Species.SKITTY]: EggTier.COMMON, - [Species.SABLEYE]: EggTier.COMMON, - [Species.MAWILE]: EggTier.COMMON, - [Species.ARON]: EggTier.COMMON, - [Species.MEDITITE]: EggTier.COMMON, - [Species.ELECTRIKE]: EggTier.COMMON, - [Species.PLUSLE]: EggTier.COMMON, - [Species.MINUN]: EggTier.COMMON, - [Species.VOLBEAT]: EggTier.COMMON, - [Species.ILLUMISE]: EggTier.COMMON, - [Species.GULPIN]: EggTier.COMMON, - [Species.CARVANHA]: EggTier.COMMON, - [Species.WAILMER]: EggTier.COMMON, - [Species.NUMEL]: EggTier.COMMON, - [Species.TORKOAL]: EggTier.COMMON, - [Species.SPOINK]: EggTier.COMMON, - [Species.SPINDA]: EggTier.COMMON, - [Species.TRAPINCH]: EggTier.COMMON, - [Species.CACNEA]: EggTier.COMMON, - [Species.SWABLU]: EggTier.COMMON, - [Species.ZANGOOSE]: EggTier.RARE, - [Species.SEVIPER]: EggTier.RARE, - [Species.LUNATONE]: EggTier.COMMON, - [Species.SOLROCK]: EggTier.COMMON, - [Species.BARBOACH]: EggTier.COMMON, - [Species.CORPHISH]: EggTier.COMMON, - [Species.BALTOY]: EggTier.COMMON, - [Species.LILEEP]: EggTier.RARE, - [Species.ANORITH]: EggTier.RARE, - [Species.FEEBAS]: EggTier.RARE, - [Species.CASTFORM]: EggTier.COMMON, - [Species.KECLEON]: EggTier.COMMON, - [Species.SHUPPET]: EggTier.COMMON, - [Species.DUSKULL]: EggTier.COMMON, - [Species.TROPIUS]: EggTier.COMMON, - [Species.ABSOL]: EggTier.RARE, - [Species.WYNAUT]: EggTier.COMMON, - [Species.SNORUNT]: EggTier.COMMON, - [Species.SPHEAL]: EggTier.COMMON, - [Species.CLAMPERL]: EggTier.COMMON, - [Species.RELICANTH]: EggTier.RARE, - [Species.LUVDISC]: EggTier.COMMON, - [Species.BAGON]: EggTier.RARE, - [Species.BELDUM]: EggTier.RARE, - [Species.REGIROCK]: EggTier.EPIC, - [Species.REGICE]: EggTier.EPIC, - [Species.REGISTEEL]: EggTier.EPIC, - [Species.LATIAS]: EggTier.EPIC, - [Species.LATIOS]: EggTier.EPIC, - [Species.KYOGRE]: EggTier.LEGENDARY, - [Species.GROUDON]: EggTier.LEGENDARY, - [Species.RAYQUAZA]: EggTier.LEGENDARY, - [Species.JIRACHI]: EggTier.EPIC, - [Species.DEOXYS]: EggTier.EPIC, + [SpeciesId.TREECKO]: EggTier.COMMON, + [SpeciesId.TORCHIC]: EggTier.COMMON, + [SpeciesId.MUDKIP]: EggTier.COMMON, + [SpeciesId.POOCHYENA]: EggTier.COMMON, + [SpeciesId.ZIGZAGOON]: EggTier.COMMON, + [SpeciesId.WURMPLE]: EggTier.COMMON, + [SpeciesId.LOTAD]: EggTier.COMMON, + [SpeciesId.SEEDOT]: EggTier.COMMON, + [SpeciesId.TAILLOW]: EggTier.COMMON, + [SpeciesId.WINGULL]: EggTier.COMMON, + [SpeciesId.RALTS]: EggTier.RARE, + [SpeciesId.SURSKIT]: EggTier.COMMON, + [SpeciesId.SHROOMISH]: EggTier.COMMON, + [SpeciesId.SLAKOTH]: EggTier.RARE, + [SpeciesId.NINCADA]: EggTier.RARE, + [SpeciesId.WHISMUR]: EggTier.COMMON, + [SpeciesId.MAKUHITA]: EggTier.COMMON, + [SpeciesId.AZURILL]: EggTier.COMMON, + [SpeciesId.NOSEPASS]: EggTier.COMMON, + [SpeciesId.SKITTY]: EggTier.COMMON, + [SpeciesId.SABLEYE]: EggTier.COMMON, + [SpeciesId.MAWILE]: EggTier.COMMON, + [SpeciesId.ARON]: EggTier.COMMON, + [SpeciesId.MEDITITE]: EggTier.COMMON, + [SpeciesId.ELECTRIKE]: EggTier.COMMON, + [SpeciesId.PLUSLE]: EggTier.COMMON, + [SpeciesId.MINUN]: EggTier.COMMON, + [SpeciesId.VOLBEAT]: EggTier.COMMON, + [SpeciesId.ILLUMISE]: EggTier.COMMON, + [SpeciesId.GULPIN]: EggTier.COMMON, + [SpeciesId.CARVANHA]: EggTier.COMMON, + [SpeciesId.WAILMER]: EggTier.COMMON, + [SpeciesId.NUMEL]: EggTier.COMMON, + [SpeciesId.TORKOAL]: EggTier.COMMON, + [SpeciesId.SPOINK]: EggTier.COMMON, + [SpeciesId.SPINDA]: EggTier.COMMON, + [SpeciesId.TRAPINCH]: EggTier.COMMON, + [SpeciesId.CACNEA]: EggTier.COMMON, + [SpeciesId.SWABLU]: EggTier.COMMON, + [SpeciesId.ZANGOOSE]: EggTier.RARE, + [SpeciesId.SEVIPER]: EggTier.RARE, + [SpeciesId.LUNATONE]: EggTier.COMMON, + [SpeciesId.SOLROCK]: EggTier.COMMON, + [SpeciesId.BARBOACH]: EggTier.COMMON, + [SpeciesId.CORPHISH]: EggTier.COMMON, + [SpeciesId.BALTOY]: EggTier.COMMON, + [SpeciesId.LILEEP]: EggTier.RARE, + [SpeciesId.ANORITH]: EggTier.RARE, + [SpeciesId.FEEBAS]: EggTier.RARE, + [SpeciesId.CASTFORM]: EggTier.COMMON, + [SpeciesId.KECLEON]: EggTier.COMMON, + [SpeciesId.SHUPPET]: EggTier.COMMON, + [SpeciesId.DUSKULL]: EggTier.COMMON, + [SpeciesId.TROPIUS]: EggTier.COMMON, + [SpeciesId.ABSOL]: EggTier.RARE, + [SpeciesId.WYNAUT]: EggTier.COMMON, + [SpeciesId.SNORUNT]: EggTier.COMMON, + [SpeciesId.SPHEAL]: EggTier.COMMON, + [SpeciesId.CLAMPERL]: EggTier.COMMON, + [SpeciesId.RELICANTH]: EggTier.RARE, + [SpeciesId.LUVDISC]: EggTier.COMMON, + [SpeciesId.BAGON]: EggTier.RARE, + [SpeciesId.BELDUM]: EggTier.RARE, + [SpeciesId.REGIROCK]: EggTier.EPIC, + [SpeciesId.REGICE]: EggTier.EPIC, + [SpeciesId.REGISTEEL]: EggTier.EPIC, + [SpeciesId.LATIAS]: EggTier.EPIC, + [SpeciesId.LATIOS]: EggTier.EPIC, + [SpeciesId.KYOGRE]: EggTier.LEGENDARY, + [SpeciesId.GROUDON]: EggTier.LEGENDARY, + [SpeciesId.RAYQUAZA]: EggTier.LEGENDARY, + [SpeciesId.JIRACHI]: EggTier.EPIC, + [SpeciesId.DEOXYS]: EggTier.EPIC, - [Species.TURTWIG]: EggTier.COMMON, - [Species.CHIMCHAR]: EggTier.COMMON, - [Species.PIPLUP]: EggTier.COMMON, - [Species.STARLY]: EggTier.COMMON, - [Species.BIDOOF]: EggTier.COMMON, - [Species.KRICKETOT]: EggTier.COMMON, - [Species.SHINX]: EggTier.COMMON, - [Species.BUDEW]: EggTier.COMMON, - [Species.CRANIDOS]: EggTier.RARE, - [Species.SHIELDON]: EggTier.RARE, - [Species.BURMY]: EggTier.COMMON, - [Species.COMBEE]: EggTier.COMMON, - [Species.PACHIRISU]: EggTier.COMMON, - [Species.BUIZEL]: EggTier.COMMON, - [Species.CHERUBI]: EggTier.COMMON, - [Species.SHELLOS]: EggTier.COMMON, - [Species.DRIFLOON]: EggTier.COMMON, - [Species.BUNEARY]: EggTier.COMMON, - [Species.GLAMEOW]: EggTier.COMMON, - [Species.CHINGLING]: EggTier.COMMON, - [Species.STUNKY]: EggTier.COMMON, - [Species.BRONZOR]: EggTier.COMMON, - [Species.BONSLY]: EggTier.COMMON, - [Species.MIME_JR]: EggTier.COMMON, - [Species.HAPPINY]: EggTier.RARE, - [Species.CHATOT]: EggTier.COMMON, - [Species.SPIRITOMB]: EggTier.RARE, - [Species.GIBLE]: EggTier.RARE, - [Species.MUNCHLAX]: EggTier.RARE, - [Species.RIOLU]: EggTier.RARE, - [Species.HIPPOPOTAS]: EggTier.COMMON, - [Species.SKORUPI]: EggTier.COMMON, - [Species.CROAGUNK]: EggTier.COMMON, - [Species.CARNIVINE]: EggTier.COMMON, - [Species.FINNEON]: EggTier.COMMON, - [Species.MANTYKE]: EggTier.COMMON, - [Species.SNOVER]: EggTier.COMMON, - [Species.ROTOM]: EggTier.RARE, - [Species.UXIE]: EggTier.EPIC, - [Species.MESPRIT]: EggTier.EPIC, - [Species.AZELF]: EggTier.EPIC, - [Species.DIALGA]: EggTier.LEGENDARY, - [Species.PALKIA]: EggTier.LEGENDARY, - [Species.HEATRAN]: EggTier.EPIC, - [Species.REGIGIGAS]: EggTier.LEGENDARY, - [Species.GIRATINA]: EggTier.LEGENDARY, - [Species.CRESSELIA]: EggTier.EPIC, - [Species.PHIONE]: EggTier.EPIC, - [Species.MANAPHY]: EggTier.EPIC, - [Species.DARKRAI]: EggTier.EPIC, - [Species.SHAYMIN]: EggTier.EPIC, - [Species.ARCEUS]: EggTier.LEGENDARY, + [SpeciesId.TURTWIG]: EggTier.COMMON, + [SpeciesId.CHIMCHAR]: EggTier.COMMON, + [SpeciesId.PIPLUP]: EggTier.COMMON, + [SpeciesId.STARLY]: EggTier.COMMON, + [SpeciesId.BIDOOF]: EggTier.COMMON, + [SpeciesId.KRICKETOT]: EggTier.COMMON, + [SpeciesId.SHINX]: EggTier.COMMON, + [SpeciesId.BUDEW]: EggTier.COMMON, + [SpeciesId.CRANIDOS]: EggTier.RARE, + [SpeciesId.SHIELDON]: EggTier.RARE, + [SpeciesId.BURMY]: EggTier.COMMON, + [SpeciesId.COMBEE]: EggTier.COMMON, + [SpeciesId.PACHIRISU]: EggTier.COMMON, + [SpeciesId.BUIZEL]: EggTier.COMMON, + [SpeciesId.CHERUBI]: EggTier.COMMON, + [SpeciesId.SHELLOS]: EggTier.COMMON, + [SpeciesId.DRIFLOON]: EggTier.COMMON, + [SpeciesId.BUNEARY]: EggTier.COMMON, + [SpeciesId.GLAMEOW]: EggTier.COMMON, + [SpeciesId.CHINGLING]: EggTier.COMMON, + [SpeciesId.STUNKY]: EggTier.COMMON, + [SpeciesId.BRONZOR]: EggTier.COMMON, + [SpeciesId.BONSLY]: EggTier.COMMON, + [SpeciesId.MIME_JR]: EggTier.COMMON, + [SpeciesId.HAPPINY]: EggTier.RARE, + [SpeciesId.CHATOT]: EggTier.COMMON, + [SpeciesId.SPIRITOMB]: EggTier.RARE, + [SpeciesId.GIBLE]: EggTier.RARE, + [SpeciesId.MUNCHLAX]: EggTier.RARE, + [SpeciesId.RIOLU]: EggTier.RARE, + [SpeciesId.HIPPOPOTAS]: EggTier.COMMON, + [SpeciesId.SKORUPI]: EggTier.COMMON, + [SpeciesId.CROAGUNK]: EggTier.COMMON, + [SpeciesId.CARNIVINE]: EggTier.COMMON, + [SpeciesId.FINNEON]: EggTier.COMMON, + [SpeciesId.MANTYKE]: EggTier.COMMON, + [SpeciesId.SNOVER]: EggTier.COMMON, + [SpeciesId.ROTOM]: EggTier.RARE, + [SpeciesId.UXIE]: EggTier.EPIC, + [SpeciesId.MESPRIT]: EggTier.EPIC, + [SpeciesId.AZELF]: EggTier.EPIC, + [SpeciesId.DIALGA]: EggTier.LEGENDARY, + [SpeciesId.PALKIA]: EggTier.LEGENDARY, + [SpeciesId.HEATRAN]: EggTier.EPIC, + [SpeciesId.REGIGIGAS]: EggTier.LEGENDARY, + [SpeciesId.GIRATINA]: EggTier.LEGENDARY, + [SpeciesId.CRESSELIA]: EggTier.EPIC, + [SpeciesId.PHIONE]: EggTier.EPIC, + [SpeciesId.MANAPHY]: EggTier.EPIC, + [SpeciesId.DARKRAI]: EggTier.EPIC, + [SpeciesId.SHAYMIN]: EggTier.EPIC, + [SpeciesId.ARCEUS]: EggTier.LEGENDARY, - [Species.VICTINI]: EggTier.EPIC, - [Species.SNIVY]: EggTier.COMMON, - [Species.TEPIG]: EggTier.COMMON, - [Species.OSHAWOTT]: EggTier.COMMON, - [Species.PATRAT]: EggTier.COMMON, - [Species.LILLIPUP]: EggTier.COMMON, - [Species.PURRLOIN]: EggTier.COMMON, - [Species.PANSAGE]: EggTier.COMMON, - [Species.PANSEAR]: EggTier.COMMON, - [Species.PANPOUR]: EggTier.COMMON, - [Species.MUNNA]: EggTier.COMMON, - [Species.PIDOVE]: EggTier.COMMON, - [Species.BLITZLE]: EggTier.COMMON, - [Species.ROGGENROLA]: EggTier.COMMON, - [Species.WOOBAT]: EggTier.COMMON, - [Species.DRILBUR]: EggTier.RARE, - [Species.AUDINO]: EggTier.RARE, - [Species.TIMBURR]: EggTier.RARE, - [Species.TYMPOLE]: EggTier.COMMON, - [Species.THROH]: EggTier.RARE, - [Species.SAWK]: EggTier.RARE, - [Species.SEWADDLE]: EggTier.COMMON, - [Species.VENIPEDE]: EggTier.COMMON, - [Species.COTTONEE]: EggTier.COMMON, - [Species.PETILIL]: EggTier.COMMON, - [Species.BASCULIN]: EggTier.RARE, - [Species.SANDILE]: EggTier.RARE, - [Species.DARUMAKA]: EggTier.RARE, - [Species.MARACTUS]: EggTier.COMMON, - [Species.DWEBBLE]: EggTier.COMMON, - [Species.SCRAGGY]: EggTier.COMMON, - [Species.SIGILYPH]: EggTier.RARE, - [Species.YAMASK]: EggTier.COMMON, - [Species.TIRTOUGA]: EggTier.RARE, - [Species.ARCHEN]: EggTier.RARE, - [Species.TRUBBISH]: EggTier.COMMON, - [Species.ZORUA]: EggTier.COMMON, - [Species.MINCCINO]: EggTier.COMMON, - [Species.GOTHITA]: EggTier.COMMON, - [Species.SOLOSIS]: EggTier.COMMON, - [Species.DUCKLETT]: EggTier.COMMON, - [Species.VANILLITE]: EggTier.COMMON, - [Species.DEERLING]: EggTier.COMMON, - [Species.EMOLGA]: EggTier.COMMON, - [Species.KARRABLAST]: EggTier.COMMON, - [Species.FOONGUS]: EggTier.COMMON, - [Species.FRILLISH]: EggTier.COMMON, - [Species.ALOMOMOLA]: EggTier.RARE, - [Species.JOLTIK]: EggTier.COMMON, - [Species.FERROSEED]: EggTier.COMMON, - [Species.KLINK]: EggTier.COMMON, - [Species.TYNAMO]: EggTier.COMMON, - [Species.ELGYEM]: EggTier.COMMON, - [Species.LITWICK]: EggTier.COMMON, - [Species.AXEW]: EggTier.RARE, - [Species.CUBCHOO]: EggTier.COMMON, - [Species.CRYOGONAL]: EggTier.RARE, - [Species.SHELMET]: EggTier.COMMON, - [Species.STUNFISK]: EggTier.COMMON, - [Species.MIENFOO]: EggTier.COMMON, - [Species.DRUDDIGON]: EggTier.RARE, - [Species.GOLETT]: EggTier.COMMON, - [Species.PAWNIARD]: EggTier.RARE, - [Species.BOUFFALANT]: EggTier.RARE, - [Species.RUFFLET]: EggTier.COMMON, - [Species.VULLABY]: EggTier.COMMON, - [Species.HEATMOR]: EggTier.RARE, - [Species.DURANT]: EggTier.RARE, - [Species.DEINO]: EggTier.RARE, - [Species.LARVESTA]: EggTier.RARE, - [Species.COBALION]: EggTier.EPIC, - [Species.TERRAKION]: EggTier.EPIC, - [Species.VIRIZION]: EggTier.EPIC, - [Species.TORNADUS]: EggTier.EPIC, - [Species.THUNDURUS]: EggTier.EPIC, - [Species.RESHIRAM]: EggTier.LEGENDARY, - [Species.ZEKROM]: EggTier.LEGENDARY, - [Species.LANDORUS]: EggTier.EPIC, - [Species.KYUREM]: EggTier.LEGENDARY, - [Species.KELDEO]: EggTier.EPIC, - [Species.MELOETTA]: EggTier.EPIC, - [Species.GENESECT]: EggTier.EPIC, + [SpeciesId.VICTINI]: EggTier.EPIC, + [SpeciesId.SNIVY]: EggTier.COMMON, + [SpeciesId.TEPIG]: EggTier.COMMON, + [SpeciesId.OSHAWOTT]: EggTier.COMMON, + [SpeciesId.PATRAT]: EggTier.COMMON, + [SpeciesId.LILLIPUP]: EggTier.COMMON, + [SpeciesId.PURRLOIN]: EggTier.COMMON, + [SpeciesId.PANSAGE]: EggTier.COMMON, + [SpeciesId.PANSEAR]: EggTier.COMMON, + [SpeciesId.PANPOUR]: EggTier.COMMON, + [SpeciesId.MUNNA]: EggTier.COMMON, + [SpeciesId.PIDOVE]: EggTier.COMMON, + [SpeciesId.BLITZLE]: EggTier.COMMON, + [SpeciesId.ROGGENROLA]: EggTier.COMMON, + [SpeciesId.WOOBAT]: EggTier.COMMON, + [SpeciesId.DRILBUR]: EggTier.RARE, + [SpeciesId.AUDINO]: EggTier.RARE, + [SpeciesId.TIMBURR]: EggTier.RARE, + [SpeciesId.TYMPOLE]: EggTier.COMMON, + [SpeciesId.THROH]: EggTier.RARE, + [SpeciesId.SAWK]: EggTier.RARE, + [SpeciesId.SEWADDLE]: EggTier.COMMON, + [SpeciesId.VENIPEDE]: EggTier.COMMON, + [SpeciesId.COTTONEE]: EggTier.COMMON, + [SpeciesId.PETILIL]: EggTier.COMMON, + [SpeciesId.BASCULIN]: EggTier.RARE, + [SpeciesId.SANDILE]: EggTier.RARE, + [SpeciesId.DARUMAKA]: EggTier.RARE, + [SpeciesId.MARACTUS]: EggTier.COMMON, + [SpeciesId.DWEBBLE]: EggTier.COMMON, + [SpeciesId.SCRAGGY]: EggTier.COMMON, + [SpeciesId.SIGILYPH]: EggTier.RARE, + [SpeciesId.YAMASK]: EggTier.COMMON, + [SpeciesId.TIRTOUGA]: EggTier.RARE, + [SpeciesId.ARCHEN]: EggTier.RARE, + [SpeciesId.TRUBBISH]: EggTier.COMMON, + [SpeciesId.ZORUA]: EggTier.COMMON, + [SpeciesId.MINCCINO]: EggTier.COMMON, + [SpeciesId.GOTHITA]: EggTier.COMMON, + [SpeciesId.SOLOSIS]: EggTier.COMMON, + [SpeciesId.DUCKLETT]: EggTier.COMMON, + [SpeciesId.VANILLITE]: EggTier.COMMON, + [SpeciesId.DEERLING]: EggTier.COMMON, + [SpeciesId.EMOLGA]: EggTier.COMMON, + [SpeciesId.KARRABLAST]: EggTier.COMMON, + [SpeciesId.FOONGUS]: EggTier.COMMON, + [SpeciesId.FRILLISH]: EggTier.COMMON, + [SpeciesId.ALOMOMOLA]: EggTier.RARE, + [SpeciesId.JOLTIK]: EggTier.COMMON, + [SpeciesId.FERROSEED]: EggTier.COMMON, + [SpeciesId.KLINK]: EggTier.COMMON, + [SpeciesId.TYNAMO]: EggTier.COMMON, + [SpeciesId.ELGYEM]: EggTier.COMMON, + [SpeciesId.LITWICK]: EggTier.COMMON, + [SpeciesId.AXEW]: EggTier.RARE, + [SpeciesId.CUBCHOO]: EggTier.COMMON, + [SpeciesId.CRYOGONAL]: EggTier.RARE, + [SpeciesId.SHELMET]: EggTier.COMMON, + [SpeciesId.STUNFISK]: EggTier.COMMON, + [SpeciesId.MIENFOO]: EggTier.COMMON, + [SpeciesId.DRUDDIGON]: EggTier.RARE, + [SpeciesId.GOLETT]: EggTier.COMMON, + [SpeciesId.PAWNIARD]: EggTier.RARE, + [SpeciesId.BOUFFALANT]: EggTier.RARE, + [SpeciesId.RUFFLET]: EggTier.COMMON, + [SpeciesId.VULLABY]: EggTier.COMMON, + [SpeciesId.HEATMOR]: EggTier.RARE, + [SpeciesId.DURANT]: EggTier.RARE, + [SpeciesId.DEINO]: EggTier.RARE, + [SpeciesId.LARVESTA]: EggTier.RARE, + [SpeciesId.COBALION]: EggTier.EPIC, + [SpeciesId.TERRAKION]: EggTier.EPIC, + [SpeciesId.VIRIZION]: EggTier.EPIC, + [SpeciesId.TORNADUS]: EggTier.EPIC, + [SpeciesId.THUNDURUS]: EggTier.EPIC, + [SpeciesId.RESHIRAM]: EggTier.LEGENDARY, + [SpeciesId.ZEKROM]: EggTier.LEGENDARY, + [SpeciesId.LANDORUS]: EggTier.EPIC, + [SpeciesId.KYUREM]: EggTier.LEGENDARY, + [SpeciesId.KELDEO]: EggTier.EPIC, + [SpeciesId.MELOETTA]: EggTier.EPIC, + [SpeciesId.GENESECT]: EggTier.EPIC, - [Species.CHESPIN]: EggTier.COMMON, - [Species.FENNEKIN]: EggTier.COMMON, - [Species.FROAKIE]: EggTier.COMMON, - [Species.BUNNELBY]: EggTier.COMMON, - [Species.FLETCHLING]: EggTier.COMMON, - [Species.SCATTERBUG]: EggTier.COMMON, - [Species.LITLEO]: EggTier.COMMON, - [Species.FLABEBE]: EggTier.COMMON, - [Species.SKIDDO]: EggTier.COMMON, - [Species.PANCHAM]: EggTier.COMMON, - [Species.FURFROU]: EggTier.COMMON, - [Species.ESPURR]: EggTier.COMMON, - [Species.HONEDGE]: EggTier.RARE, - [Species.SPRITZEE]: EggTier.COMMON, - [Species.SWIRLIX]: EggTier.COMMON, - [Species.INKAY]: EggTier.COMMON, - [Species.BINACLE]: EggTier.COMMON, - [Species.SKRELP]: EggTier.COMMON, - [Species.CLAUNCHER]: EggTier.COMMON, - [Species.HELIOPTILE]: EggTier.COMMON, - [Species.TYRUNT]: EggTier.RARE, - [Species.AMAURA]: EggTier.RARE, - [Species.HAWLUCHA]: EggTier.RARE, - [Species.DEDENNE]: EggTier.COMMON, - [Species.CARBINK]: EggTier.COMMON, - [Species.GOOMY]: EggTier.RARE, - [Species.KLEFKI]: EggTier.COMMON, - [Species.PHANTUMP]: EggTier.COMMON, - [Species.PUMPKABOO]: EggTier.COMMON, - [Species.BERGMITE]: EggTier.COMMON, - [Species.NOIBAT]: EggTier.RARE, - [Species.XERNEAS]: EggTier.LEGENDARY, - [Species.YVELTAL]: EggTier.LEGENDARY, - [Species.ZYGARDE]: EggTier.LEGENDARY, - [Species.DIANCIE]: EggTier.EPIC, - [Species.HOOPA]: EggTier.EPIC, - [Species.VOLCANION]: EggTier.EPIC, - [Species.ETERNAL_FLOETTE]: EggTier.EPIC, + [SpeciesId.CHESPIN]: EggTier.COMMON, + [SpeciesId.FENNEKIN]: EggTier.COMMON, + [SpeciesId.FROAKIE]: EggTier.COMMON, + [SpeciesId.BUNNELBY]: EggTier.COMMON, + [SpeciesId.FLETCHLING]: EggTier.COMMON, + [SpeciesId.SCATTERBUG]: EggTier.COMMON, + [SpeciesId.LITLEO]: EggTier.COMMON, + [SpeciesId.FLABEBE]: EggTier.COMMON, + [SpeciesId.SKIDDO]: EggTier.COMMON, + [SpeciesId.PANCHAM]: EggTier.COMMON, + [SpeciesId.FURFROU]: EggTier.COMMON, + [SpeciesId.ESPURR]: EggTier.COMMON, + [SpeciesId.HONEDGE]: EggTier.RARE, + [SpeciesId.SPRITZEE]: EggTier.COMMON, + [SpeciesId.SWIRLIX]: EggTier.COMMON, + [SpeciesId.INKAY]: EggTier.COMMON, + [SpeciesId.BINACLE]: EggTier.COMMON, + [SpeciesId.SKRELP]: EggTier.COMMON, + [SpeciesId.CLAUNCHER]: EggTier.COMMON, + [SpeciesId.HELIOPTILE]: EggTier.COMMON, + [SpeciesId.TYRUNT]: EggTier.RARE, + [SpeciesId.AMAURA]: EggTier.RARE, + [SpeciesId.HAWLUCHA]: EggTier.RARE, + [SpeciesId.DEDENNE]: EggTier.COMMON, + [SpeciesId.CARBINK]: EggTier.COMMON, + [SpeciesId.GOOMY]: EggTier.RARE, + [SpeciesId.KLEFKI]: EggTier.COMMON, + [SpeciesId.PHANTUMP]: EggTier.COMMON, + [SpeciesId.PUMPKABOO]: EggTier.COMMON, + [SpeciesId.BERGMITE]: EggTier.COMMON, + [SpeciesId.NOIBAT]: EggTier.RARE, + [SpeciesId.XERNEAS]: EggTier.LEGENDARY, + [SpeciesId.YVELTAL]: EggTier.LEGENDARY, + [SpeciesId.ZYGARDE]: EggTier.LEGENDARY, + [SpeciesId.DIANCIE]: EggTier.EPIC, + [SpeciesId.HOOPA]: EggTier.EPIC, + [SpeciesId.VOLCANION]: EggTier.EPIC, + [SpeciesId.ETERNAL_FLOETTE]: EggTier.EPIC, - [Species.ROWLET]: EggTier.COMMON, - [Species.LITTEN]: EggTier.COMMON, - [Species.POPPLIO]: EggTier.COMMON, - [Species.PIKIPEK]: EggTier.COMMON, - [Species.YUNGOOS]: EggTier.COMMON, - [Species.GRUBBIN]: EggTier.COMMON, - [Species.CRABRAWLER]: EggTier.COMMON, - [Species.ORICORIO]: EggTier.COMMON, - [Species.CUTIEFLY]: EggTier.COMMON, - [Species.ROCKRUFF]: EggTier.COMMON, - [Species.WISHIWASHI]: EggTier.COMMON, - [Species.MAREANIE]: EggTier.COMMON, - [Species.MUDBRAY]: EggTier.COMMON, - [Species.DEWPIDER]: EggTier.COMMON, - [Species.FOMANTIS]: EggTier.COMMON, - [Species.MORELULL]: EggTier.COMMON, - [Species.SALANDIT]: EggTier.COMMON, - [Species.STUFFUL]: EggTier.COMMON, - [Species.BOUNSWEET]: EggTier.COMMON, - [Species.COMFEY]: EggTier.RARE, - [Species.ORANGURU]: EggTier.RARE, - [Species.PASSIMIAN]: EggTier.RARE, - [Species.WIMPOD]: EggTier.COMMON, - [Species.SANDYGAST]: EggTier.COMMON, - [Species.PYUKUMUKU]: EggTier.COMMON, - [Species.TYPE_NULL]: EggTier.EPIC, - [Species.MINIOR]: EggTier.RARE, - [Species.KOMALA]: EggTier.COMMON, - [Species.TURTONATOR]: EggTier.RARE, - [Species.TOGEDEMARU]: EggTier.COMMON, - [Species.MIMIKYU]: EggTier.RARE, - [Species.BRUXISH]: EggTier.RARE, - [Species.DRAMPA]: EggTier.RARE, - [Species.DHELMISE]: EggTier.RARE, - [Species.JANGMO_O]: EggTier.RARE, - [Species.TAPU_KOKO]: EggTier.EPIC, - [Species.TAPU_LELE]: EggTier.EPIC, - [Species.TAPU_BULU]: EggTier.EPIC, - [Species.TAPU_FINI]: EggTier.EPIC, - [Species.COSMOG]: EggTier.LEGENDARY, - [Species.NIHILEGO]: EggTier.EPIC, - [Species.BUZZWOLE]: EggTier.EPIC, - [Species.PHEROMOSA]: EggTier.EPIC, - [Species.XURKITREE]: EggTier.EPIC, - [Species.CELESTEELA]: EggTier.EPIC, - [Species.KARTANA]: EggTier.EPIC, - [Species.GUZZLORD]: EggTier.EPIC, - [Species.NECROZMA]: EggTier.LEGENDARY, - [Species.MAGEARNA]: EggTier.EPIC, - [Species.MARSHADOW]: EggTier.EPIC, - [Species.POIPOLE]: EggTier.EPIC, - [Species.STAKATAKA]: EggTier.EPIC, - [Species.BLACEPHALON]: EggTier.EPIC, - [Species.ZERAORA]: EggTier.EPIC, - [Species.MELTAN]: EggTier.EPIC, - [Species.ALOLA_RATTATA]: EggTier.COMMON, - [Species.ALOLA_SANDSHREW]: EggTier.RARE, - [Species.ALOLA_VULPIX]: EggTier.RARE, - [Species.ALOLA_DIGLETT]: EggTier.RARE, - [Species.ALOLA_MEOWTH]: EggTier.RARE, - [Species.ALOLA_GEODUDE]: EggTier.RARE, - [Species.ALOLA_GRIMER]: EggTier.RARE, + [SpeciesId.ROWLET]: EggTier.COMMON, + [SpeciesId.LITTEN]: EggTier.COMMON, + [SpeciesId.POPPLIO]: EggTier.COMMON, + [SpeciesId.PIKIPEK]: EggTier.COMMON, + [SpeciesId.YUNGOOS]: EggTier.COMMON, + [SpeciesId.GRUBBIN]: EggTier.COMMON, + [SpeciesId.CRABRAWLER]: EggTier.COMMON, + [SpeciesId.ORICORIO]: EggTier.COMMON, + [SpeciesId.CUTIEFLY]: EggTier.COMMON, + [SpeciesId.ROCKRUFF]: EggTier.COMMON, + [SpeciesId.WISHIWASHI]: EggTier.COMMON, + [SpeciesId.MAREANIE]: EggTier.COMMON, + [SpeciesId.MUDBRAY]: EggTier.COMMON, + [SpeciesId.DEWPIDER]: EggTier.COMMON, + [SpeciesId.FOMANTIS]: EggTier.COMMON, + [SpeciesId.MORELULL]: EggTier.COMMON, + [SpeciesId.SALANDIT]: EggTier.COMMON, + [SpeciesId.STUFFUL]: EggTier.COMMON, + [SpeciesId.BOUNSWEET]: EggTier.COMMON, + [SpeciesId.COMFEY]: EggTier.RARE, + [SpeciesId.ORANGURU]: EggTier.RARE, + [SpeciesId.PASSIMIAN]: EggTier.RARE, + [SpeciesId.WIMPOD]: EggTier.COMMON, + [SpeciesId.SANDYGAST]: EggTier.COMMON, + [SpeciesId.PYUKUMUKU]: EggTier.COMMON, + [SpeciesId.TYPE_NULL]: EggTier.EPIC, + [SpeciesId.MINIOR]: EggTier.RARE, + [SpeciesId.KOMALA]: EggTier.COMMON, + [SpeciesId.TURTONATOR]: EggTier.RARE, + [SpeciesId.TOGEDEMARU]: EggTier.COMMON, + [SpeciesId.MIMIKYU]: EggTier.RARE, + [SpeciesId.BRUXISH]: EggTier.RARE, + [SpeciesId.DRAMPA]: EggTier.RARE, + [SpeciesId.DHELMISE]: EggTier.RARE, + [SpeciesId.JANGMO_O]: EggTier.RARE, + [SpeciesId.TAPU_KOKO]: EggTier.EPIC, + [SpeciesId.TAPU_LELE]: EggTier.EPIC, + [SpeciesId.TAPU_BULU]: EggTier.EPIC, + [SpeciesId.TAPU_FINI]: EggTier.EPIC, + [SpeciesId.COSMOG]: EggTier.LEGENDARY, + [SpeciesId.NIHILEGO]: EggTier.EPIC, + [SpeciesId.BUZZWOLE]: EggTier.EPIC, + [SpeciesId.PHEROMOSA]: EggTier.EPIC, + [SpeciesId.XURKITREE]: EggTier.EPIC, + [SpeciesId.CELESTEELA]: EggTier.EPIC, + [SpeciesId.KARTANA]: EggTier.EPIC, + [SpeciesId.GUZZLORD]: EggTier.EPIC, + [SpeciesId.NECROZMA]: EggTier.LEGENDARY, + [SpeciesId.MAGEARNA]: EggTier.EPIC, + [SpeciesId.MARSHADOW]: EggTier.EPIC, + [SpeciesId.POIPOLE]: EggTier.EPIC, + [SpeciesId.STAKATAKA]: EggTier.EPIC, + [SpeciesId.BLACEPHALON]: EggTier.EPIC, + [SpeciesId.ZERAORA]: EggTier.EPIC, + [SpeciesId.MELTAN]: EggTier.EPIC, + [SpeciesId.ALOLA_RATTATA]: EggTier.COMMON, + [SpeciesId.ALOLA_SANDSHREW]: EggTier.RARE, + [SpeciesId.ALOLA_VULPIX]: EggTier.RARE, + [SpeciesId.ALOLA_DIGLETT]: EggTier.RARE, + [SpeciesId.ALOLA_MEOWTH]: EggTier.RARE, + [SpeciesId.ALOLA_GEODUDE]: EggTier.RARE, + [SpeciesId.ALOLA_GRIMER]: EggTier.RARE, - [Species.GROOKEY]: EggTier.COMMON, - [Species.SCORBUNNY]: EggTier.COMMON, - [Species.SOBBLE]: EggTier.COMMON, - [Species.SKWOVET]: EggTier.COMMON, - [Species.ROOKIDEE]: EggTier.COMMON, - [Species.BLIPBUG]: EggTier.COMMON, - [Species.NICKIT]: EggTier.COMMON, - [Species.GOSSIFLEUR]: EggTier.COMMON, - [Species.WOOLOO]: EggTier.COMMON, - [Species.CHEWTLE]: EggTier.COMMON, - [Species.YAMPER]: EggTier.COMMON, - [Species.ROLYCOLY]: EggTier.COMMON, - [Species.APPLIN]: EggTier.COMMON, - [Species.SILICOBRA]: EggTier.COMMON, - [Species.CRAMORANT]: EggTier.COMMON, - [Species.ARROKUDA]: EggTier.COMMON, - [Species.TOXEL]: EggTier.COMMON, - [Species.SIZZLIPEDE]: EggTier.COMMON, - [Species.CLOBBOPUS]: EggTier.COMMON, - [Species.SINISTEA]: EggTier.COMMON, - [Species.HATENNA]: EggTier.COMMON, - [Species.IMPIDIMP]: EggTier.COMMON, - [Species.MILCERY]: EggTier.COMMON, - [Species.FALINKS]: EggTier.RARE, - [Species.PINCURCHIN]: EggTier.COMMON, - [Species.SNOM]: EggTier.COMMON, - [Species.STONJOURNER]: EggTier.COMMON, - [Species.EISCUE]: EggTier.COMMON, - [Species.INDEEDEE]: EggTier.RARE, - [Species.MORPEKO]: EggTier.COMMON, - [Species.CUFANT]: EggTier.COMMON, - [Species.DRACOZOLT]: EggTier.RARE, - [Species.ARCTOZOLT]: EggTier.RARE, - [Species.DRACOVISH]: EggTier.RARE, - [Species.ARCTOVISH]: EggTier.RARE, - [Species.DURALUDON]: EggTier.RARE, - [Species.DREEPY]: EggTier.RARE, - [Species.ZACIAN]: EggTier.LEGENDARY, - [Species.ZAMAZENTA]: EggTier.LEGENDARY, - [Species.ETERNATUS]: EggTier.LEGENDARY, - [Species.KUBFU]: EggTier.EPIC, - [Species.ZARUDE]: EggTier.EPIC, - [Species.REGIELEKI]: EggTier.EPIC, - [Species.REGIDRAGO]: EggTier.EPIC, - [Species.GLASTRIER]: EggTier.EPIC, - [Species.SPECTRIER]: EggTier.EPIC, - [Species.CALYREX]: EggTier.LEGENDARY, - [Species.ENAMORUS]: EggTier.EPIC, - [Species.GALAR_MEOWTH]: EggTier.RARE, - [Species.GALAR_PONYTA]: EggTier.RARE, - [Species.GALAR_SLOWPOKE]: EggTier.RARE, - [Species.GALAR_FARFETCHD]: EggTier.RARE, - [Species.GALAR_ARTICUNO]: EggTier.EPIC, - [Species.GALAR_ZAPDOS]: EggTier.EPIC, - [Species.GALAR_MOLTRES]: EggTier.EPIC, - [Species.GALAR_CORSOLA]: EggTier.RARE, - [Species.GALAR_ZIGZAGOON]: EggTier.RARE, - [Species.GALAR_DARUMAKA]: EggTier.RARE, - [Species.GALAR_YAMASK]: EggTier.RARE, - [Species.GALAR_STUNFISK]: EggTier.RARE, - [Species.HISUI_GROWLITHE]: EggTier.RARE, - [Species.HISUI_VOLTORB]: EggTier.RARE, - [Species.HISUI_QWILFISH]: EggTier.RARE, - [Species.HISUI_SNEASEL]: EggTier.RARE, - [Species.HISUI_ZORUA]: EggTier.RARE, + [SpeciesId.GROOKEY]: EggTier.COMMON, + [SpeciesId.SCORBUNNY]: EggTier.COMMON, + [SpeciesId.SOBBLE]: EggTier.COMMON, + [SpeciesId.SKWOVET]: EggTier.COMMON, + [SpeciesId.ROOKIDEE]: EggTier.COMMON, + [SpeciesId.BLIPBUG]: EggTier.COMMON, + [SpeciesId.NICKIT]: EggTier.COMMON, + [SpeciesId.GOSSIFLEUR]: EggTier.COMMON, + [SpeciesId.WOOLOO]: EggTier.COMMON, + [SpeciesId.CHEWTLE]: EggTier.COMMON, + [SpeciesId.YAMPER]: EggTier.COMMON, + [SpeciesId.ROLYCOLY]: EggTier.COMMON, + [SpeciesId.APPLIN]: EggTier.COMMON, + [SpeciesId.SILICOBRA]: EggTier.COMMON, + [SpeciesId.CRAMORANT]: EggTier.COMMON, + [SpeciesId.ARROKUDA]: EggTier.COMMON, + [SpeciesId.TOXEL]: EggTier.COMMON, + [SpeciesId.SIZZLIPEDE]: EggTier.COMMON, + [SpeciesId.CLOBBOPUS]: EggTier.COMMON, + [SpeciesId.SINISTEA]: EggTier.COMMON, + [SpeciesId.HATENNA]: EggTier.COMMON, + [SpeciesId.IMPIDIMP]: EggTier.COMMON, + [SpeciesId.MILCERY]: EggTier.COMMON, + [SpeciesId.FALINKS]: EggTier.RARE, + [SpeciesId.PINCURCHIN]: EggTier.COMMON, + [SpeciesId.SNOM]: EggTier.COMMON, + [SpeciesId.STONJOURNER]: EggTier.COMMON, + [SpeciesId.EISCUE]: EggTier.COMMON, + [SpeciesId.INDEEDEE]: EggTier.RARE, + [SpeciesId.MORPEKO]: EggTier.COMMON, + [SpeciesId.CUFANT]: EggTier.COMMON, + [SpeciesId.DRACOZOLT]: EggTier.RARE, + [SpeciesId.ARCTOZOLT]: EggTier.RARE, + [SpeciesId.DRACOVISH]: EggTier.RARE, + [SpeciesId.ARCTOVISH]: EggTier.RARE, + [SpeciesId.DURALUDON]: EggTier.RARE, + [SpeciesId.DREEPY]: EggTier.RARE, + [SpeciesId.ZACIAN]: EggTier.LEGENDARY, + [SpeciesId.ZAMAZENTA]: EggTier.LEGENDARY, + [SpeciesId.ETERNATUS]: EggTier.LEGENDARY, + [SpeciesId.KUBFU]: EggTier.EPIC, + [SpeciesId.ZARUDE]: EggTier.EPIC, + [SpeciesId.REGIELEKI]: EggTier.EPIC, + [SpeciesId.REGIDRAGO]: EggTier.EPIC, + [SpeciesId.GLASTRIER]: EggTier.EPIC, + [SpeciesId.SPECTRIER]: EggTier.EPIC, + [SpeciesId.CALYREX]: EggTier.LEGENDARY, + [SpeciesId.ENAMORUS]: EggTier.EPIC, + [SpeciesId.GALAR_MEOWTH]: EggTier.RARE, + [SpeciesId.GALAR_PONYTA]: EggTier.RARE, + [SpeciesId.GALAR_SLOWPOKE]: EggTier.RARE, + [SpeciesId.GALAR_FARFETCHD]: EggTier.RARE, + [SpeciesId.GALAR_ARTICUNO]: EggTier.EPIC, + [SpeciesId.GALAR_ZAPDOS]: EggTier.EPIC, + [SpeciesId.GALAR_MOLTRES]: EggTier.EPIC, + [SpeciesId.GALAR_CORSOLA]: EggTier.RARE, + [SpeciesId.GALAR_ZIGZAGOON]: EggTier.RARE, + [SpeciesId.GALAR_DARUMAKA]: EggTier.RARE, + [SpeciesId.GALAR_YAMASK]: EggTier.RARE, + [SpeciesId.GALAR_STUNFISK]: EggTier.RARE, + [SpeciesId.HISUI_GROWLITHE]: EggTier.RARE, + [SpeciesId.HISUI_VOLTORB]: EggTier.RARE, + [SpeciesId.HISUI_QWILFISH]: EggTier.RARE, + [SpeciesId.HISUI_SNEASEL]: EggTier.RARE, + [SpeciesId.HISUI_ZORUA]: EggTier.RARE, - [Species.SPRIGATITO]: EggTier.COMMON, - [Species.FUECOCO]: EggTier.COMMON, - [Species.QUAXLY]: EggTier.COMMON, - [Species.LECHONK]: EggTier.COMMON, - [Species.TAROUNTULA]: EggTier.COMMON, - [Species.NYMBLE]: EggTier.COMMON, - [Species.PAWMI]: EggTier.COMMON, - [Species.TANDEMAUS]: EggTier.RARE, - [Species.FIDOUGH]: EggTier.COMMON, - [Species.SMOLIV]: EggTier.COMMON, - [Species.SQUAWKABILLY]: EggTier.COMMON, - [Species.NACLI]: EggTier.RARE, - [Species.CHARCADET]: EggTier.RARE, - [Species.TADBULB]: EggTier.COMMON, - [Species.WATTREL]: EggTier.COMMON, - [Species.MASCHIFF]: EggTier.COMMON, - [Species.SHROODLE]: EggTier.COMMON, - [Species.BRAMBLIN]: EggTier.COMMON, - [Species.TOEDSCOOL]: EggTier.COMMON, - [Species.KLAWF]: EggTier.COMMON, - [Species.CAPSAKID]: EggTier.COMMON, - [Species.RELLOR]: EggTier.COMMON, - [Species.FLITTLE]: EggTier.COMMON, - [Species.TINKATINK]: EggTier.RARE, - [Species.WIGLETT]: EggTier.COMMON, - [Species.BOMBIRDIER]: EggTier.COMMON, - [Species.FINIZEN]: EggTier.RARE, - [Species.VAROOM]: EggTier.RARE, - [Species.CYCLIZAR]: EggTier.RARE, - [Species.ORTHWORM]: EggTier.RARE, - [Species.GLIMMET]: EggTier.RARE, - [Species.GREAVARD]: EggTier.COMMON, - [Species.FLAMIGO]: EggTier.RARE, - [Species.CETODDLE]: EggTier.COMMON, - [Species.VELUZA]: EggTier.RARE, - [Species.DONDOZO]: EggTier.RARE, - [Species.TATSUGIRI]: EggTier.RARE, - [Species.GREAT_TUSK]: EggTier.EPIC, - [Species.SCREAM_TAIL]: EggTier.EPIC, - [Species.BRUTE_BONNET]: EggTier.EPIC, - [Species.FLUTTER_MANE]: EggTier.EPIC, - [Species.SLITHER_WING]: EggTier.EPIC, - [Species.SANDY_SHOCKS]: EggTier.EPIC, - [Species.IRON_TREADS]: EggTier.EPIC, - [Species.IRON_BUNDLE]: EggTier.EPIC, - [Species.IRON_HANDS]: EggTier.EPIC, - [Species.IRON_JUGULIS]: EggTier.EPIC, - [Species.IRON_MOTH]: EggTier.EPIC, - [Species.IRON_THORNS]: EggTier.EPIC, - [Species.FRIGIBAX]: EggTier.RARE, - [Species.GIMMIGHOUL]: EggTier.RARE, - [Species.WO_CHIEN]: EggTier.EPIC, - [Species.CHIEN_PAO]: EggTier.EPIC, - [Species.TING_LU]: EggTier.EPIC, - [Species.CHI_YU]: EggTier.EPIC, - [Species.ROARING_MOON]: EggTier.EPIC, - [Species.IRON_VALIANT]: EggTier.EPIC, - [Species.KORAIDON]: EggTier.LEGENDARY, - [Species.MIRAIDON]: EggTier.LEGENDARY, - [Species.WALKING_WAKE]: EggTier.EPIC, - [Species.IRON_LEAVES]: EggTier.EPIC, - [Species.POLTCHAGEIST]: EggTier.RARE, - [Species.OKIDOGI]: EggTier.EPIC, - [Species.MUNKIDORI]: EggTier.EPIC, - [Species.FEZANDIPITI]: EggTier.EPIC, - [Species.OGERPON]: EggTier.EPIC, - [Species.GOUGING_FIRE]: EggTier.EPIC, - [Species.RAGING_BOLT]: EggTier.EPIC, - [Species.IRON_BOULDER]: EggTier.EPIC, - [Species.IRON_CROWN]: EggTier.EPIC, - [Species.TERAPAGOS]: EggTier.LEGENDARY, - [Species.PECHARUNT]: EggTier.EPIC, - [Species.PALDEA_TAUROS]: EggTier.RARE, - [Species.PALDEA_WOOPER]: EggTier.RARE, - [Species.BLOODMOON_URSALUNA]: EggTier.EPIC + [SpeciesId.SPRIGATITO]: EggTier.COMMON, + [SpeciesId.FUECOCO]: EggTier.COMMON, + [SpeciesId.QUAXLY]: EggTier.COMMON, + [SpeciesId.LECHONK]: EggTier.COMMON, + [SpeciesId.TAROUNTULA]: EggTier.COMMON, + [SpeciesId.NYMBLE]: EggTier.COMMON, + [SpeciesId.PAWMI]: EggTier.COMMON, + [SpeciesId.TANDEMAUS]: EggTier.RARE, + [SpeciesId.FIDOUGH]: EggTier.COMMON, + [SpeciesId.SMOLIV]: EggTier.COMMON, + [SpeciesId.SQUAWKABILLY]: EggTier.COMMON, + [SpeciesId.NACLI]: EggTier.RARE, + [SpeciesId.CHARCADET]: EggTier.RARE, + [SpeciesId.TADBULB]: EggTier.COMMON, + [SpeciesId.WATTREL]: EggTier.COMMON, + [SpeciesId.MASCHIFF]: EggTier.COMMON, + [SpeciesId.SHROODLE]: EggTier.COMMON, + [SpeciesId.BRAMBLIN]: EggTier.COMMON, + [SpeciesId.TOEDSCOOL]: EggTier.COMMON, + [SpeciesId.KLAWF]: EggTier.COMMON, + [SpeciesId.CAPSAKID]: EggTier.COMMON, + [SpeciesId.RELLOR]: EggTier.COMMON, + [SpeciesId.FLITTLE]: EggTier.COMMON, + [SpeciesId.TINKATINK]: EggTier.RARE, + [SpeciesId.WIGLETT]: EggTier.COMMON, + [SpeciesId.BOMBIRDIER]: EggTier.COMMON, + [SpeciesId.FINIZEN]: EggTier.RARE, + [SpeciesId.VAROOM]: EggTier.RARE, + [SpeciesId.CYCLIZAR]: EggTier.RARE, + [SpeciesId.ORTHWORM]: EggTier.RARE, + [SpeciesId.GLIMMET]: EggTier.RARE, + [SpeciesId.GREAVARD]: EggTier.COMMON, + [SpeciesId.FLAMIGO]: EggTier.RARE, + [SpeciesId.CETODDLE]: EggTier.COMMON, + [SpeciesId.VELUZA]: EggTier.RARE, + [SpeciesId.DONDOZO]: EggTier.RARE, + [SpeciesId.TATSUGIRI]: EggTier.RARE, + [SpeciesId.GREAT_TUSK]: EggTier.EPIC, + [SpeciesId.SCREAM_TAIL]: EggTier.EPIC, + [SpeciesId.BRUTE_BONNET]: EggTier.EPIC, + [SpeciesId.FLUTTER_MANE]: EggTier.EPIC, + [SpeciesId.SLITHER_WING]: EggTier.EPIC, + [SpeciesId.SANDY_SHOCKS]: EggTier.EPIC, + [SpeciesId.IRON_TREADS]: EggTier.EPIC, + [SpeciesId.IRON_BUNDLE]: EggTier.EPIC, + [SpeciesId.IRON_HANDS]: EggTier.EPIC, + [SpeciesId.IRON_JUGULIS]: EggTier.EPIC, + [SpeciesId.IRON_MOTH]: EggTier.EPIC, + [SpeciesId.IRON_THORNS]: EggTier.EPIC, + [SpeciesId.FRIGIBAX]: EggTier.RARE, + [SpeciesId.GIMMIGHOUL]: EggTier.RARE, + [SpeciesId.WO_CHIEN]: EggTier.EPIC, + [SpeciesId.CHIEN_PAO]: EggTier.EPIC, + [SpeciesId.TING_LU]: EggTier.EPIC, + [SpeciesId.CHI_YU]: EggTier.EPIC, + [SpeciesId.ROARING_MOON]: EggTier.EPIC, + [SpeciesId.IRON_VALIANT]: EggTier.EPIC, + [SpeciesId.KORAIDON]: EggTier.LEGENDARY, + [SpeciesId.MIRAIDON]: EggTier.LEGENDARY, + [SpeciesId.WALKING_WAKE]: EggTier.EPIC, + [SpeciesId.IRON_LEAVES]: EggTier.EPIC, + [SpeciesId.POLTCHAGEIST]: EggTier.RARE, + [SpeciesId.OKIDOGI]: EggTier.EPIC, + [SpeciesId.MUNKIDORI]: EggTier.EPIC, + [SpeciesId.FEZANDIPITI]: EggTier.EPIC, + [SpeciesId.OGERPON]: EggTier.EPIC, + [SpeciesId.GOUGING_FIRE]: EggTier.EPIC, + [SpeciesId.RAGING_BOLT]: EggTier.EPIC, + [SpeciesId.IRON_BOULDER]: EggTier.EPIC, + [SpeciesId.IRON_CROWN]: EggTier.EPIC, + [SpeciesId.TERAPAGOS]: EggTier.LEGENDARY, + [SpeciesId.PECHARUNT]: EggTier.EPIC, + [SpeciesId.PALDEA_TAUROS]: EggTier.RARE, + [SpeciesId.PALDEA_WOOPER]: EggTier.RARE, + [SpeciesId.BLOODMOON_URSALUNA]: EggTier.EPIC }; diff --git a/src/data/balance/starters.ts b/src/data/balance/starters.ts index 3468163c988..2db10f2e67a 100644 --- a/src/data/balance/starters.ts +++ b/src/data/balance/starters.ts @@ -1,4 +1,4 @@ -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; export const POKERUS_STARTER_COUNT = 5; @@ -38,584 +38,584 @@ export function getStarterValueFriendshipCap(starterCost: number): number { } export const speciesStarterCosts = { - [Species.BULBASAUR]: 3, - [Species.CHARMANDER]: 3, - [Species.SQUIRTLE]: 3, - [Species.CATERPIE]: 2, - [Species.WEEDLE]: 1, - [Species.PIDGEY]: 1, - [Species.RATTATA]: 1, - [Species.SPEAROW]: 1, - [Species.EKANS]: 2, - [Species.PIKACHU]: 4, - [Species.SANDSHREW]: 2, - [Species.NIDORAN_F]: 3, - [Species.NIDORAN_M]: 3, - [Species.VULPIX]: 3, - [Species.ZUBAT]: 3, - [Species.ODDISH]: 3, - [Species.PARAS]: 2, - [Species.VENONAT]: 2, - [Species.DIGLETT]: 2, - [Species.MEOWTH]: 3, - [Species.PSYDUCK]: 2, - [Species.MANKEY]: 4, - [Species.GROWLITHE]: 4, - [Species.POLIWAG]: 2, - [Species.ABRA]: 4, - [Species.MACHOP]: 3, - [Species.BELLSPROUT]: 2, - [Species.TENTACOOL]: 3, - [Species.GEODUDE]: 3, - [Species.PONYTA]: 2, - [Species.SLOWPOKE]: 3, - [Species.MAGNEMITE]: 4, - [Species.FARFETCHD]: 2, - [Species.DODUO]: 3, - [Species.SEEL]: 1, - [Species.GRIMER]: 2, - [Species.SHELLDER]: 5, - [Species.GASTLY]: 4, - [Species.ONIX]: 3, - [Species.DROWZEE]: 2, - [Species.KRABBY]: 3, - [Species.VOLTORB]: 2, - [Species.EXEGGCUTE]: 3, - [Species.CUBONE]: 3, - [Species.LICKITUNG]: 3, - [Species.KOFFING]: 2, - [Species.RHYHORN]: 4, - [Species.TANGELA]: 3, - [Species.KANGASKHAN]: 4, - [Species.HORSEA]: 3, - [Species.GOLDEEN]: 2, - [Species.STARYU]: 3, - [Species.SCYTHER]: 5, - [Species.PINSIR]: 4, - [Species.TAUROS]: 4, - [Species.MAGIKARP]: 4, - [Species.LAPRAS]: 4, - [Species.DITTO]: 2, - [Species.EEVEE]: 3, - [Species.PORYGON]: 4, - [Species.OMANYTE]: 3, - [Species.KABUTO]: 3, - [Species.AERODACTYL]: 5, - [Species.ARTICUNO]: 5, - [Species.ZAPDOS]: 6, - [Species.MOLTRES]: 6, - [Species.DRATINI]: 4, - [Species.MEWTWO]: 8, - [Species.MEW]: 5, + [SpeciesId.BULBASAUR]: 3, + [SpeciesId.CHARMANDER]: 3, + [SpeciesId.SQUIRTLE]: 3, + [SpeciesId.CATERPIE]: 2, + [SpeciesId.WEEDLE]: 1, + [SpeciesId.PIDGEY]: 1, + [SpeciesId.RATTATA]: 1, + [SpeciesId.SPEAROW]: 1, + [SpeciesId.EKANS]: 2, + [SpeciesId.PIKACHU]: 4, + [SpeciesId.SANDSHREW]: 2, + [SpeciesId.NIDORAN_F]: 3, + [SpeciesId.NIDORAN_M]: 3, + [SpeciesId.VULPIX]: 3, + [SpeciesId.ZUBAT]: 3, + [SpeciesId.ODDISH]: 3, + [SpeciesId.PARAS]: 2, + [SpeciesId.VENONAT]: 2, + [SpeciesId.DIGLETT]: 2, + [SpeciesId.MEOWTH]: 3, + [SpeciesId.PSYDUCK]: 2, + [SpeciesId.MANKEY]: 4, + [SpeciesId.GROWLITHE]: 4, + [SpeciesId.POLIWAG]: 2, + [SpeciesId.ABRA]: 4, + [SpeciesId.MACHOP]: 3, + [SpeciesId.BELLSPROUT]: 2, + [SpeciesId.TENTACOOL]: 3, + [SpeciesId.GEODUDE]: 3, + [SpeciesId.PONYTA]: 2, + [SpeciesId.SLOWPOKE]: 3, + [SpeciesId.MAGNEMITE]: 4, + [SpeciesId.FARFETCHD]: 2, + [SpeciesId.DODUO]: 3, + [SpeciesId.SEEL]: 1, + [SpeciesId.GRIMER]: 2, + [SpeciesId.SHELLDER]: 5, + [SpeciesId.GASTLY]: 4, + [SpeciesId.ONIX]: 3, + [SpeciesId.DROWZEE]: 2, + [SpeciesId.KRABBY]: 3, + [SpeciesId.VOLTORB]: 2, + [SpeciesId.EXEGGCUTE]: 3, + [SpeciesId.CUBONE]: 3, + [SpeciesId.LICKITUNG]: 3, + [SpeciesId.KOFFING]: 2, + [SpeciesId.RHYHORN]: 4, + [SpeciesId.TANGELA]: 3, + [SpeciesId.KANGASKHAN]: 4, + [SpeciesId.HORSEA]: 3, + [SpeciesId.GOLDEEN]: 2, + [SpeciesId.STARYU]: 3, + [SpeciesId.SCYTHER]: 5, + [SpeciesId.PINSIR]: 4, + [SpeciesId.TAUROS]: 4, + [SpeciesId.MAGIKARP]: 4, + [SpeciesId.LAPRAS]: 4, + [SpeciesId.DITTO]: 2, + [SpeciesId.EEVEE]: 3, + [SpeciesId.PORYGON]: 4, + [SpeciesId.OMANYTE]: 3, + [SpeciesId.KABUTO]: 3, + [SpeciesId.AERODACTYL]: 5, + [SpeciesId.ARTICUNO]: 5, + [SpeciesId.ZAPDOS]: 6, + [SpeciesId.MOLTRES]: 6, + [SpeciesId.DRATINI]: 4, + [SpeciesId.MEWTWO]: 8, + [SpeciesId.MEW]: 5, - [Species.CHIKORITA]: 2, - [Species.CYNDAQUIL]: 3, - [Species.TOTODILE]: 3, - [Species.SENTRET]: 1, - [Species.HOOTHOOT]: 2, - [Species.LEDYBA]: 1, - [Species.SPINARAK]: 1, - [Species.CHINCHOU]: 2, - [Species.PICHU]: 4, - [Species.CLEFFA]: 2, - [Species.IGGLYBUFF]: 1, - [Species.TOGEPI]: 3, - [Species.NATU]: 2, - [Species.MAREEP]: 2, - [Species.HOPPIP]: 2, - [Species.AIPOM]: 2, - [Species.SUNKERN]: 1, - [Species.YANMA]: 3, - [Species.WOOPER]: 2, - [Species.MURKROW]: 3, - [Species.MISDREAVUS]: 3, - [Species.UNOWN]: 1, - [Species.GIRAFARIG]: 3, - [Species.PINECO]: 2, - [Species.DUNSPARCE]: 3, - [Species.GLIGAR]: 3, - [Species.SNUBBULL]: 2, - [Species.QWILFISH]: 3, - [Species.SHUCKLE]: 3, - [Species.HERACROSS]: 5, - [Species.SNEASEL]: 4, - [Species.TEDDIURSA]: 4, - [Species.SLUGMA]: 2, - [Species.SWINUB]: 3, - [Species.CORSOLA]: 2, - [Species.REMORAID]: 2, - [Species.DELIBIRD]: 2, - [Species.SKARMORY]: 4, - [Species.HOUNDOUR]: 3, - [Species.PHANPY]: 3, - [Species.STANTLER]: 3, - [Species.SMEARGLE]: 1, - [Species.TYROGUE]: 3, - [Species.SMOOCHUM]: 3, - [Species.ELEKID]: 3, - [Species.MAGBY]: 3, - [Species.MILTANK]: 4, - [Species.RAIKOU]: 6, - [Species.ENTEI]: 6, - [Species.SUICUNE]: 6, - [Species.LARVITAR]: 4, - [Species.LUGIA]: 8, - [Species.HO_OH]: 8, - [Species.CELEBI]: 5, + [SpeciesId.CHIKORITA]: 2, + [SpeciesId.CYNDAQUIL]: 3, + [SpeciesId.TOTODILE]: 3, + [SpeciesId.SENTRET]: 1, + [SpeciesId.HOOTHOOT]: 2, + [SpeciesId.LEDYBA]: 1, + [SpeciesId.SPINARAK]: 1, + [SpeciesId.CHINCHOU]: 2, + [SpeciesId.PICHU]: 4, + [SpeciesId.CLEFFA]: 2, + [SpeciesId.IGGLYBUFF]: 1, + [SpeciesId.TOGEPI]: 3, + [SpeciesId.NATU]: 2, + [SpeciesId.MAREEP]: 2, + [SpeciesId.HOPPIP]: 2, + [SpeciesId.AIPOM]: 2, + [SpeciesId.SUNKERN]: 1, + [SpeciesId.YANMA]: 3, + [SpeciesId.WOOPER]: 2, + [SpeciesId.MURKROW]: 3, + [SpeciesId.MISDREAVUS]: 3, + [SpeciesId.UNOWN]: 1, + [SpeciesId.GIRAFARIG]: 3, + [SpeciesId.PINECO]: 2, + [SpeciesId.DUNSPARCE]: 3, + [SpeciesId.GLIGAR]: 3, + [SpeciesId.SNUBBULL]: 2, + [SpeciesId.QWILFISH]: 3, + [SpeciesId.SHUCKLE]: 3, + [SpeciesId.HERACROSS]: 5, + [SpeciesId.SNEASEL]: 4, + [SpeciesId.TEDDIURSA]: 4, + [SpeciesId.SLUGMA]: 2, + [SpeciesId.SWINUB]: 3, + [SpeciesId.CORSOLA]: 2, + [SpeciesId.REMORAID]: 2, + [SpeciesId.DELIBIRD]: 2, + [SpeciesId.SKARMORY]: 4, + [SpeciesId.HOUNDOUR]: 3, + [SpeciesId.PHANPY]: 3, + [SpeciesId.STANTLER]: 3, + [SpeciesId.SMEARGLE]: 1, + [SpeciesId.TYROGUE]: 3, + [SpeciesId.SMOOCHUM]: 3, + [SpeciesId.ELEKID]: 3, + [SpeciesId.MAGBY]: 3, + [SpeciesId.MILTANK]: 4, + [SpeciesId.RAIKOU]: 6, + [SpeciesId.ENTEI]: 6, + [SpeciesId.SUICUNE]: 6, + [SpeciesId.LARVITAR]: 4, + [SpeciesId.LUGIA]: 8, + [SpeciesId.HO_OH]: 8, + [SpeciesId.CELEBI]: 5, - [Species.TREECKO]: 3, - [Species.TORCHIC]: 4, - [Species.MUDKIP]: 3, - [Species.POOCHYENA]: 2, - [Species.ZIGZAGOON]: 2, - [Species.WURMPLE]: 1, - [Species.LOTAD]: 3, - [Species.SEEDOT]: 2, - [Species.TAILLOW]: 3, - [Species.WINGULL]: 2, - [Species.RALTS]: 4, - [Species.SURSKIT]: 2, - [Species.SHROOMISH]: 3, - [Species.SLAKOTH]: 4, - [Species.NINCADA]: 4, - [Species.WHISMUR]: 2, - [Species.MAKUHITA]: 3, - [Species.AZURILL]: 4, - [Species.NOSEPASS]: 2, - [Species.SKITTY]: 1, - [Species.SABLEYE]: 2, - [Species.MAWILE]: 2, - [Species.ARON]: 3, - [Species.MEDITITE]: 3, - [Species.ELECTRIKE]: 2, - [Species.PLUSLE]: 2, - [Species.MINUN]: 2, - [Species.VOLBEAT]: 2, - [Species.ILLUMISE]: 2, - [Species.GULPIN]: 1, - [Species.CARVANHA]: 3, - [Species.WAILMER]: 2, - [Species.NUMEL]: 2, - [Species.TORKOAL]: 3, - [Species.SPOINK]: 2, - [Species.SPINDA]: 1, - [Species.TRAPINCH]: 3, - [Species.CACNEA]: 2, - [Species.SWABLU]: 2, - [Species.ZANGOOSE]: 4, - [Species.SEVIPER]: 3, - [Species.LUNATONE]: 3, - [Species.SOLROCK]: 3, - [Species.BARBOACH]: 2, - [Species.CORPHISH]: 3, - [Species.BALTOY]: 2, - [Species.LILEEP]: 3, - [Species.ANORITH]: 3, - [Species.FEEBAS]: 4, - [Species.CASTFORM]: 1, - [Species.KECLEON]: 2, - [Species.SHUPPET]: 2, - [Species.DUSKULL]: 3, - [Species.TROPIUS]: 3, - [Species.ABSOL]: 4, - [Species.WYNAUT]: 2, - [Species.SNORUNT]: 2, - [Species.SPHEAL]: 2, - [Species.CLAMPERL]: 3, - [Species.RELICANTH]: 3, - [Species.LUVDISC]: 1, - [Species.BAGON]: 4, - [Species.BELDUM]: 4, - [Species.REGIROCK]: 6, - [Species.REGICE]: 5, - [Species.REGISTEEL]: 6, - [Species.LATIAS]: 7, - [Species.LATIOS]: 7, - [Species.KYOGRE]: 9, - [Species.GROUDON]: 9, - [Species.RAYQUAZA]: 9, - [Species.JIRACHI]: 7, - [Species.DEOXYS]: 7, + [SpeciesId.TREECKO]: 3, + [SpeciesId.TORCHIC]: 4, + [SpeciesId.MUDKIP]: 3, + [SpeciesId.POOCHYENA]: 2, + [SpeciesId.ZIGZAGOON]: 2, + [SpeciesId.WURMPLE]: 1, + [SpeciesId.LOTAD]: 3, + [SpeciesId.SEEDOT]: 2, + [SpeciesId.TAILLOW]: 3, + [SpeciesId.WINGULL]: 2, + [SpeciesId.RALTS]: 4, + [SpeciesId.SURSKIT]: 2, + [SpeciesId.SHROOMISH]: 3, + [SpeciesId.SLAKOTH]: 4, + [SpeciesId.NINCADA]: 4, + [SpeciesId.WHISMUR]: 2, + [SpeciesId.MAKUHITA]: 3, + [SpeciesId.AZURILL]: 4, + [SpeciesId.NOSEPASS]: 2, + [SpeciesId.SKITTY]: 1, + [SpeciesId.SABLEYE]: 2, + [SpeciesId.MAWILE]: 2, + [SpeciesId.ARON]: 3, + [SpeciesId.MEDITITE]: 3, + [SpeciesId.ELECTRIKE]: 2, + [SpeciesId.PLUSLE]: 2, + [SpeciesId.MINUN]: 2, + [SpeciesId.VOLBEAT]: 2, + [SpeciesId.ILLUMISE]: 2, + [SpeciesId.GULPIN]: 1, + [SpeciesId.CARVANHA]: 3, + [SpeciesId.WAILMER]: 2, + [SpeciesId.NUMEL]: 2, + [SpeciesId.TORKOAL]: 3, + [SpeciesId.SPOINK]: 2, + [SpeciesId.SPINDA]: 1, + [SpeciesId.TRAPINCH]: 3, + [SpeciesId.CACNEA]: 2, + [SpeciesId.SWABLU]: 2, + [SpeciesId.ZANGOOSE]: 4, + [SpeciesId.SEVIPER]: 3, + [SpeciesId.LUNATONE]: 3, + [SpeciesId.SOLROCK]: 3, + [SpeciesId.BARBOACH]: 2, + [SpeciesId.CORPHISH]: 3, + [SpeciesId.BALTOY]: 2, + [SpeciesId.LILEEP]: 3, + [SpeciesId.ANORITH]: 3, + [SpeciesId.FEEBAS]: 4, + [SpeciesId.CASTFORM]: 1, + [SpeciesId.KECLEON]: 2, + [SpeciesId.SHUPPET]: 2, + [SpeciesId.DUSKULL]: 3, + [SpeciesId.TROPIUS]: 3, + [SpeciesId.ABSOL]: 4, + [SpeciesId.WYNAUT]: 2, + [SpeciesId.SNORUNT]: 2, + [SpeciesId.SPHEAL]: 2, + [SpeciesId.CLAMPERL]: 3, + [SpeciesId.RELICANTH]: 3, + [SpeciesId.LUVDISC]: 1, + [SpeciesId.BAGON]: 4, + [SpeciesId.BELDUM]: 4, + [SpeciesId.REGIROCK]: 6, + [SpeciesId.REGICE]: 5, + [SpeciesId.REGISTEEL]: 6, + [SpeciesId.LATIAS]: 7, + [SpeciesId.LATIOS]: 7, + [SpeciesId.KYOGRE]: 9, + [SpeciesId.GROUDON]: 9, + [SpeciesId.RAYQUAZA]: 9, + [SpeciesId.JIRACHI]: 7, + [SpeciesId.DEOXYS]: 7, - [Species.TURTWIG]: 3, - [Species.CHIMCHAR]: 3, - [Species.PIPLUP]: 3, - [Species.STARLY]: 3, - [Species.BIDOOF]: 2, - [Species.KRICKETOT]: 1, - [Species.SHINX]: 2, - [Species.BUDEW]: 3, - [Species.CRANIDOS]: 2, - [Species.SHIELDON]: 3, - [Species.BURMY]: 2, - [Species.COMBEE]: 2, - [Species.PACHIRISU]: 2, - [Species.BUIZEL]: 2, - [Species.CHERUBI]: 1, - [Species.SHELLOS]: 3, - [Species.DRIFLOON]: 2, - [Species.BUNEARY]: 2, - [Species.GLAMEOW]: 2, - [Species.CHINGLING]: 2, - [Species.STUNKY]: 2, - [Species.BRONZOR]: 3, - [Species.BONSLY]: 2, - [Species.MIME_JR]: 2, - [Species.HAPPINY]: 2, - [Species.CHATOT]: 2, - [Species.SPIRITOMB]: 4, - [Species.GIBLE]: 4, - [Species.MUNCHLAX]: 4, - [Species.RIOLU]: 3, - [Species.HIPPOPOTAS]: 3, - [Species.SKORUPI]: 3, - [Species.CROAGUNK]: 2, - [Species.CARNIVINE]: 2, - [Species.FINNEON]: 1, - [Species.MANTYKE]: 2, - [Species.SNOVER]: 2, - [Species.ROTOM]: 4, - [Species.UXIE]: 5, - [Species.MESPRIT]: 5, - [Species.AZELF]: 6, - [Species.DIALGA]: 8, - [Species.PALKIA]: 8, - [Species.HEATRAN]: 7, - [Species.REGIGIGAS]: 7, - [Species.GIRATINA]: 8, - [Species.CRESSELIA]: 6, - [Species.PHIONE]: 4, - [Species.MANAPHY]: 7, - [Species.DARKRAI]: 7, - [Species.SHAYMIN]: 6, - [Species.ARCEUS]: 9, + [SpeciesId.TURTWIG]: 3, + [SpeciesId.CHIMCHAR]: 3, + [SpeciesId.PIPLUP]: 3, + [SpeciesId.STARLY]: 3, + [SpeciesId.BIDOOF]: 2, + [SpeciesId.KRICKETOT]: 1, + [SpeciesId.SHINX]: 2, + [SpeciesId.BUDEW]: 3, + [SpeciesId.CRANIDOS]: 2, + [SpeciesId.SHIELDON]: 3, + [SpeciesId.BURMY]: 2, + [SpeciesId.COMBEE]: 2, + [SpeciesId.PACHIRISU]: 2, + [SpeciesId.BUIZEL]: 2, + [SpeciesId.CHERUBI]: 1, + [SpeciesId.SHELLOS]: 3, + [SpeciesId.DRIFLOON]: 2, + [SpeciesId.BUNEARY]: 2, + [SpeciesId.GLAMEOW]: 2, + [SpeciesId.CHINGLING]: 2, + [SpeciesId.STUNKY]: 2, + [SpeciesId.BRONZOR]: 3, + [SpeciesId.BONSLY]: 2, + [SpeciesId.MIME_JR]: 2, + [SpeciesId.HAPPINY]: 2, + [SpeciesId.CHATOT]: 2, + [SpeciesId.SPIRITOMB]: 4, + [SpeciesId.GIBLE]: 4, + [SpeciesId.MUNCHLAX]: 4, + [SpeciesId.RIOLU]: 3, + [SpeciesId.HIPPOPOTAS]: 3, + [SpeciesId.SKORUPI]: 3, + [SpeciesId.CROAGUNK]: 2, + [SpeciesId.CARNIVINE]: 2, + [SpeciesId.FINNEON]: 1, + [SpeciesId.MANTYKE]: 2, + [SpeciesId.SNOVER]: 2, + [SpeciesId.ROTOM]: 4, + [SpeciesId.UXIE]: 5, + [SpeciesId.MESPRIT]: 5, + [SpeciesId.AZELF]: 6, + [SpeciesId.DIALGA]: 8, + [SpeciesId.PALKIA]: 8, + [SpeciesId.HEATRAN]: 7, + [SpeciesId.REGIGIGAS]: 7, + [SpeciesId.GIRATINA]: 8, + [SpeciesId.CRESSELIA]: 6, + [SpeciesId.PHIONE]: 4, + [SpeciesId.MANAPHY]: 7, + [SpeciesId.DARKRAI]: 7, + [SpeciesId.SHAYMIN]: 6, + [SpeciesId.ARCEUS]: 9, - [Species.VICTINI]: 6, - [Species.SNIVY]: 3, - [Species.TEPIG]: 3, - [Species.OSHAWOTT]: 3, - [Species.PATRAT]: 1, - [Species.LILLIPUP]: 3, - [Species.PURRLOIN]: 2, - [Species.PANSAGE]: 2, - [Species.PANSEAR]: 2, - [Species.PANPOUR]: 2, - [Species.MUNNA]: 2, - [Species.PIDOVE]: 1, - [Species.BLITZLE]: 2, - [Species.ROGGENROLA]: 3, - [Species.WOOBAT]: 3, - [Species.DRILBUR]: 4, - [Species.AUDINO]: 3, - [Species.TIMBURR]: 4, - [Species.TYMPOLE]: 3, - [Species.THROH]: 4, - [Species.SAWK]: 4, - [Species.SEWADDLE]: 2, - [Species.VENIPEDE]: 3, - [Species.COTTONEE]: 3, - [Species.PETILIL]: 3, - [Species.BASCULIN]: 4, - [Species.SANDILE]: 4, - [Species.DARUMAKA]: 4, - [Species.MARACTUS]: 2, - [Species.DWEBBLE]: 2, - [Species.SCRAGGY]: 3, - [Species.SIGILYPH]: 4, - [Species.YAMASK]: 3, - [Species.TIRTOUGA]: 3, - [Species.ARCHEN]: 3, - [Species.TRUBBISH]: 2, - [Species.ZORUA]: 3, - [Species.MINCCINO]: 3, - [Species.GOTHITA]: 3, - [Species.SOLOSIS]: 3, - [Species.DUCKLETT]: 2, - [Species.VANILLITE]: 3, - [Species.DEERLING]: 2, - [Species.EMOLGA]: 2, - [Species.KARRABLAST]: 3, - [Species.FOONGUS]: 3, - [Species.FRILLISH]: 3, - [Species.ALOMOMOLA]: 4, - [Species.JOLTIK]: 3, - [Species.FERROSEED]: 3, - [Species.KLINK]: 3, - [Species.TYNAMO]: 2, - [Species.ELGYEM]: 2, - [Species.LITWICK]: 3, - [Species.AXEW]: 4, - [Species.CUBCHOO]: 2, - [Species.CRYOGONAL]: 4, - [Species.SHELMET]: 2, - [Species.STUNFISK]: 3, - [Species.MIENFOO]: 3, - [Species.DRUDDIGON]: 4, - [Species.GOLETT]: 3, - [Species.PAWNIARD]: 4, - [Species.BOUFFALANT]: 4, - [Species.RUFFLET]: 3, - [Species.VULLABY]: 3, - [Species.HEATMOR]: 3, - [Species.DURANT]: 4, - [Species.DEINO]: 4, - [Species.LARVESTA]: 4, - [Species.COBALION]: 6, - [Species.TERRAKION]: 6, - [Species.VIRIZION]: 6, - [Species.TORNADUS]: 7, - [Species.THUNDURUS]: 7, - [Species.RESHIRAM]: 8, - [Species.ZEKROM]: 8, - [Species.LANDORUS]: 7, - [Species.KYUREM]: 8, - [Species.KELDEO]: 6, - [Species.MELOETTA]: 7, - [Species.GENESECT]: 6, + [SpeciesId.VICTINI]: 6, + [SpeciesId.SNIVY]: 3, + [SpeciesId.TEPIG]: 3, + [SpeciesId.OSHAWOTT]: 3, + [SpeciesId.PATRAT]: 1, + [SpeciesId.LILLIPUP]: 3, + [SpeciesId.PURRLOIN]: 2, + [SpeciesId.PANSAGE]: 2, + [SpeciesId.PANSEAR]: 2, + [SpeciesId.PANPOUR]: 2, + [SpeciesId.MUNNA]: 2, + [SpeciesId.PIDOVE]: 1, + [SpeciesId.BLITZLE]: 2, + [SpeciesId.ROGGENROLA]: 3, + [SpeciesId.WOOBAT]: 3, + [SpeciesId.DRILBUR]: 4, + [SpeciesId.AUDINO]: 3, + [SpeciesId.TIMBURR]: 4, + [SpeciesId.TYMPOLE]: 3, + [SpeciesId.THROH]: 4, + [SpeciesId.SAWK]: 4, + [SpeciesId.SEWADDLE]: 2, + [SpeciesId.VENIPEDE]: 3, + [SpeciesId.COTTONEE]: 3, + [SpeciesId.PETILIL]: 3, + [SpeciesId.BASCULIN]: 4, + [SpeciesId.SANDILE]: 4, + [SpeciesId.DARUMAKA]: 4, + [SpeciesId.MARACTUS]: 2, + [SpeciesId.DWEBBLE]: 2, + [SpeciesId.SCRAGGY]: 3, + [SpeciesId.SIGILYPH]: 4, + [SpeciesId.YAMASK]: 3, + [SpeciesId.TIRTOUGA]: 3, + [SpeciesId.ARCHEN]: 3, + [SpeciesId.TRUBBISH]: 2, + [SpeciesId.ZORUA]: 3, + [SpeciesId.MINCCINO]: 3, + [SpeciesId.GOTHITA]: 3, + [SpeciesId.SOLOSIS]: 3, + [SpeciesId.DUCKLETT]: 2, + [SpeciesId.VANILLITE]: 3, + [SpeciesId.DEERLING]: 2, + [SpeciesId.EMOLGA]: 2, + [SpeciesId.KARRABLAST]: 3, + [SpeciesId.FOONGUS]: 3, + [SpeciesId.FRILLISH]: 3, + [SpeciesId.ALOMOMOLA]: 4, + [SpeciesId.JOLTIK]: 3, + [SpeciesId.FERROSEED]: 3, + [SpeciesId.KLINK]: 3, + [SpeciesId.TYNAMO]: 2, + [SpeciesId.ELGYEM]: 2, + [SpeciesId.LITWICK]: 3, + [SpeciesId.AXEW]: 4, + [SpeciesId.CUBCHOO]: 2, + [SpeciesId.CRYOGONAL]: 4, + [SpeciesId.SHELMET]: 2, + [SpeciesId.STUNFISK]: 3, + [SpeciesId.MIENFOO]: 3, + [SpeciesId.DRUDDIGON]: 4, + [SpeciesId.GOLETT]: 3, + [SpeciesId.PAWNIARD]: 4, + [SpeciesId.BOUFFALANT]: 4, + [SpeciesId.RUFFLET]: 3, + [SpeciesId.VULLABY]: 3, + [SpeciesId.HEATMOR]: 3, + [SpeciesId.DURANT]: 4, + [SpeciesId.DEINO]: 4, + [SpeciesId.LARVESTA]: 4, + [SpeciesId.COBALION]: 6, + [SpeciesId.TERRAKION]: 6, + [SpeciesId.VIRIZION]: 6, + [SpeciesId.TORNADUS]: 7, + [SpeciesId.THUNDURUS]: 7, + [SpeciesId.RESHIRAM]: 8, + [SpeciesId.ZEKROM]: 8, + [SpeciesId.LANDORUS]: 7, + [SpeciesId.KYUREM]: 8, + [SpeciesId.KELDEO]: 6, + [SpeciesId.MELOETTA]: 7, + [SpeciesId.GENESECT]: 6, - [Species.CHESPIN]: 3, - [Species.FENNEKIN]: 3, - [Species.FROAKIE]: 4, - [Species.BUNNELBY]: 3, - [Species.FLETCHLING]: 3, - [Species.SCATTERBUG]: 2, - [Species.LITLEO]: 2, - [Species.FLABEBE]: 3, - [Species.SKIDDO]: 2, - [Species.PANCHAM]: 3, - [Species.FURFROU]: 3, - [Species.ESPURR]: 2, - [Species.HONEDGE]: 4, - [Species.SPRITZEE]: 2, - [Species.SWIRLIX]: 3, - [Species.INKAY]: 3, - [Species.BINACLE]: 3, - [Species.SKRELP]: 2, - [Species.CLAUNCHER]: 3, - [Species.HELIOPTILE]: 3, - [Species.TYRUNT]: 3, - [Species.AMAURA]: 2, - [Species.HAWLUCHA]: 4, - [Species.DEDENNE]: 2, - [Species.CARBINK]: 2, - [Species.GOOMY]: 4, - [Species.KLEFKI]: 3, - [Species.PHANTUMP]: 2, - [Species.PUMPKABOO]: 2, - [Species.BERGMITE]: 3, - [Species.NOIBAT]: 3, - [Species.XERNEAS]: 8, - [Species.YVELTAL]: 8, - [Species.ZYGARDE]: 8, - [Species.DIANCIE]: 7, - [Species.HOOPA]: 7, - [Species.VOLCANION]: 7, - [Species.ETERNAL_FLOETTE]: 4, + [SpeciesId.CHESPIN]: 3, + [SpeciesId.FENNEKIN]: 3, + [SpeciesId.FROAKIE]: 4, + [SpeciesId.BUNNELBY]: 3, + [SpeciesId.FLETCHLING]: 3, + [SpeciesId.SCATTERBUG]: 2, + [SpeciesId.LITLEO]: 2, + [SpeciesId.FLABEBE]: 3, + [SpeciesId.SKIDDO]: 2, + [SpeciesId.PANCHAM]: 3, + [SpeciesId.FURFROU]: 3, + [SpeciesId.ESPURR]: 2, + [SpeciesId.HONEDGE]: 4, + [SpeciesId.SPRITZEE]: 2, + [SpeciesId.SWIRLIX]: 3, + [SpeciesId.INKAY]: 3, + [SpeciesId.BINACLE]: 3, + [SpeciesId.SKRELP]: 2, + [SpeciesId.CLAUNCHER]: 3, + [SpeciesId.HELIOPTILE]: 3, + [SpeciesId.TYRUNT]: 3, + [SpeciesId.AMAURA]: 2, + [SpeciesId.HAWLUCHA]: 4, + [SpeciesId.DEDENNE]: 2, + [SpeciesId.CARBINK]: 2, + [SpeciesId.GOOMY]: 4, + [SpeciesId.KLEFKI]: 3, + [SpeciesId.PHANTUMP]: 2, + [SpeciesId.PUMPKABOO]: 2, + [SpeciesId.BERGMITE]: 3, + [SpeciesId.NOIBAT]: 3, + [SpeciesId.XERNEAS]: 8, + [SpeciesId.YVELTAL]: 8, + [SpeciesId.ZYGARDE]: 8, + [SpeciesId.DIANCIE]: 7, + [SpeciesId.HOOPA]: 7, + [SpeciesId.VOLCANION]: 7, + [SpeciesId.ETERNAL_FLOETTE]: 4, - [Species.ROWLET]: 3, - [Species.LITTEN]: 3, - [Species.POPPLIO]: 4, - [Species.PIKIPEK]: 2, - [Species.YUNGOOS]: 2, - [Species.GRUBBIN]: 3, - [Species.CRABRAWLER]: 3, - [Species.ORICORIO]: 3, - [Species.CUTIEFLY]: 3, - [Species.ROCKRUFF]: 3, - [Species.WISHIWASHI]: 2, - [Species.MAREANIE]: 2, - [Species.MUDBRAY]: 3, - [Species.DEWPIDER]: 3, - [Species.FOMANTIS]: 2, - [Species.MORELULL]: 2, - [Species.SALANDIT]: 3, - [Species.STUFFUL]: 3, - [Species.BOUNSWEET]: 3, - [Species.COMFEY]: 4, - [Species.ORANGURU]: 4, - [Species.PASSIMIAN]: 4, - [Species.WIMPOD]: 3, - [Species.SANDYGAST]: 3, - [Species.PYUKUMUKU]: 2, - [Species.TYPE_NULL]: 5, - [Species.MINIOR]: 4, - [Species.KOMALA]: 3, - [Species.TURTONATOR]: 4, - [Species.TOGEDEMARU]: 3, - [Species.MIMIKYU]: 4, - [Species.BRUXISH]: 4, - [Species.DRAMPA]: 4, - [Species.DHELMISE]: 4, - [Species.JANGMO_O]: 4, - [Species.TAPU_KOKO]: 6, - [Species.TAPU_LELE]: 7, - [Species.TAPU_BULU]: 6, - [Species.TAPU_FINI]: 5, - [Species.COSMOG]: 7, - [Species.NIHILEGO]: 6, - [Species.BUZZWOLE]: 6, - [Species.PHEROMOSA]: 7, - [Species.XURKITREE]: 6, - [Species.CELESTEELA]: 6, - [Species.KARTANA]: 8, - [Species.GUZZLORD]: 6, - [Species.NECROZMA]: 8, - [Species.MAGEARNA]: 7, - [Species.MARSHADOW]: 8, - [Species.POIPOLE]: 8, - [Species.STAKATAKA]: 6, - [Species.BLACEPHALON]: 7, - [Species.ZERAORA]: 6, - [Species.MELTAN]: 6, - [Species.ALOLA_RATTATA]: 1, - [Species.ALOLA_SANDSHREW]: 2, - [Species.ALOLA_VULPIX]: 3, - [Species.ALOLA_DIGLETT]: 2, - [Species.ALOLA_MEOWTH]: 3, - [Species.ALOLA_GEODUDE]: 3, - [Species.ALOLA_GRIMER]: 3, + [SpeciesId.ROWLET]: 3, + [SpeciesId.LITTEN]: 3, + [SpeciesId.POPPLIO]: 4, + [SpeciesId.PIKIPEK]: 2, + [SpeciesId.YUNGOOS]: 2, + [SpeciesId.GRUBBIN]: 3, + [SpeciesId.CRABRAWLER]: 3, + [SpeciesId.ORICORIO]: 3, + [SpeciesId.CUTIEFLY]: 3, + [SpeciesId.ROCKRUFF]: 3, + [SpeciesId.WISHIWASHI]: 2, + [SpeciesId.MAREANIE]: 2, + [SpeciesId.MUDBRAY]: 3, + [SpeciesId.DEWPIDER]: 3, + [SpeciesId.FOMANTIS]: 2, + [SpeciesId.MORELULL]: 2, + [SpeciesId.SALANDIT]: 3, + [SpeciesId.STUFFUL]: 3, + [SpeciesId.BOUNSWEET]: 3, + [SpeciesId.COMFEY]: 4, + [SpeciesId.ORANGURU]: 4, + [SpeciesId.PASSIMIAN]: 4, + [SpeciesId.WIMPOD]: 3, + [SpeciesId.SANDYGAST]: 3, + [SpeciesId.PYUKUMUKU]: 2, + [SpeciesId.TYPE_NULL]: 5, + [SpeciesId.MINIOR]: 4, + [SpeciesId.KOMALA]: 3, + [SpeciesId.TURTONATOR]: 4, + [SpeciesId.TOGEDEMARU]: 3, + [SpeciesId.MIMIKYU]: 4, + [SpeciesId.BRUXISH]: 4, + [SpeciesId.DRAMPA]: 4, + [SpeciesId.DHELMISE]: 4, + [SpeciesId.JANGMO_O]: 4, + [SpeciesId.TAPU_KOKO]: 6, + [SpeciesId.TAPU_LELE]: 7, + [SpeciesId.TAPU_BULU]: 6, + [SpeciesId.TAPU_FINI]: 5, + [SpeciesId.COSMOG]: 7, + [SpeciesId.NIHILEGO]: 6, + [SpeciesId.BUZZWOLE]: 6, + [SpeciesId.PHEROMOSA]: 7, + [SpeciesId.XURKITREE]: 6, + [SpeciesId.CELESTEELA]: 6, + [SpeciesId.KARTANA]: 8, + [SpeciesId.GUZZLORD]: 6, + [SpeciesId.NECROZMA]: 8, + [SpeciesId.MAGEARNA]: 7, + [SpeciesId.MARSHADOW]: 8, + [SpeciesId.POIPOLE]: 8, + [SpeciesId.STAKATAKA]: 6, + [SpeciesId.BLACEPHALON]: 7, + [SpeciesId.ZERAORA]: 6, + [SpeciesId.MELTAN]: 6, + [SpeciesId.ALOLA_RATTATA]: 1, + [SpeciesId.ALOLA_SANDSHREW]: 2, + [SpeciesId.ALOLA_VULPIX]: 3, + [SpeciesId.ALOLA_DIGLETT]: 2, + [SpeciesId.ALOLA_MEOWTH]: 3, + [SpeciesId.ALOLA_GEODUDE]: 3, + [SpeciesId.ALOLA_GRIMER]: 3, - [Species.GROOKEY]: 3, - [Species.SCORBUNNY]: 4, - [Species.SOBBLE]: 3, - [Species.SKWOVET]: 2, - [Species.ROOKIDEE]: 3, - [Species.BLIPBUG]: 2, - [Species.NICKIT]: 1, - [Species.GOSSIFLEUR]: 2, - [Species.WOOLOO]: 2, - [Species.CHEWTLE]: 3, - [Species.YAMPER]: 2, - [Species.ROLYCOLY]: 3, - [Species.APPLIN]: 3, - [Species.SILICOBRA]: 3, - [Species.CRAMORANT]: 3, - [Species.ARROKUDA]: 3, - [Species.TOXEL]: 3, - [Species.SIZZLIPEDE]: 3, - [Species.CLOBBOPUS]: 2, - [Species.SINISTEA]: 3, - [Species.HATENNA]: 3, - [Species.IMPIDIMP]: 3, - [Species.MILCERY]: 3, - [Species.FALINKS]: 4, - [Species.PINCURCHIN]: 3, - [Species.SNOM]: 3, - [Species.STONJOURNER]: 3, - [Species.EISCUE]: 3, - [Species.INDEEDEE]: 4, - [Species.MORPEKO]: 3, - [Species.CUFANT]: 3, - [Species.DRACOZOLT]: 5, - [Species.ARCTOZOLT]: 4, - [Species.DRACOVISH]: 5, - [Species.ARCTOVISH]: 4, - [Species.DURALUDON]: 5, - [Species.DREEPY]: 4, - [Species.ZACIAN]: 9, - [Species.ZAMAZENTA]: 8, - [Species.ETERNATUS]: 10, - [Species.KUBFU]: 6, - [Species.ZARUDE]: 5, - [Species.REGIELEKI]: 6, - [Species.REGIDRAGO]: 6, - [Species.GLASTRIER]: 6, - [Species.SPECTRIER]: 8, - [Species.CALYREX]: 8, - [Species.ENAMORUS]: 7, - [Species.GALAR_MEOWTH]: 3, - [Species.GALAR_PONYTA]: 2, - [Species.GALAR_SLOWPOKE]: 3, - [Species.GALAR_FARFETCHD]: 3, - [Species.GALAR_ARTICUNO]: 6, - [Species.GALAR_ZAPDOS]: 6, - [Species.GALAR_MOLTRES]: 6, - [Species.GALAR_CORSOLA]: 3, - [Species.GALAR_ZIGZAGOON]: 3, - [Species.GALAR_DARUMAKA]: 4, - [Species.GALAR_YAMASK]: 3, - [Species.GALAR_STUNFISK]: 2, - [Species.HISUI_GROWLITHE]: 4, - [Species.HISUI_VOLTORB]: 3, - [Species.HISUI_QWILFISH]: 4, - [Species.HISUI_SNEASEL]: 5, - [Species.HISUI_ZORUA]: 3, + [SpeciesId.GROOKEY]: 3, + [SpeciesId.SCORBUNNY]: 4, + [SpeciesId.SOBBLE]: 3, + [SpeciesId.SKWOVET]: 2, + [SpeciesId.ROOKIDEE]: 3, + [SpeciesId.BLIPBUG]: 2, + [SpeciesId.NICKIT]: 1, + [SpeciesId.GOSSIFLEUR]: 2, + [SpeciesId.WOOLOO]: 2, + [SpeciesId.CHEWTLE]: 3, + [SpeciesId.YAMPER]: 2, + [SpeciesId.ROLYCOLY]: 3, + [SpeciesId.APPLIN]: 3, + [SpeciesId.SILICOBRA]: 3, + [SpeciesId.CRAMORANT]: 3, + [SpeciesId.ARROKUDA]: 3, + [SpeciesId.TOXEL]: 3, + [SpeciesId.SIZZLIPEDE]: 3, + [SpeciesId.CLOBBOPUS]: 2, + [SpeciesId.SINISTEA]: 3, + [SpeciesId.HATENNA]: 3, + [SpeciesId.IMPIDIMP]: 3, + [SpeciesId.MILCERY]: 3, + [SpeciesId.FALINKS]: 4, + [SpeciesId.PINCURCHIN]: 3, + [SpeciesId.SNOM]: 3, + [SpeciesId.STONJOURNER]: 3, + [SpeciesId.EISCUE]: 3, + [SpeciesId.INDEEDEE]: 4, + [SpeciesId.MORPEKO]: 3, + [SpeciesId.CUFANT]: 3, + [SpeciesId.DRACOZOLT]: 5, + [SpeciesId.ARCTOZOLT]: 4, + [SpeciesId.DRACOVISH]: 5, + [SpeciesId.ARCTOVISH]: 4, + [SpeciesId.DURALUDON]: 5, + [SpeciesId.DREEPY]: 4, + [SpeciesId.ZACIAN]: 9, + [SpeciesId.ZAMAZENTA]: 8, + [SpeciesId.ETERNATUS]: 10, + [SpeciesId.KUBFU]: 6, + [SpeciesId.ZARUDE]: 5, + [SpeciesId.REGIELEKI]: 6, + [SpeciesId.REGIDRAGO]: 6, + [SpeciesId.GLASTRIER]: 6, + [SpeciesId.SPECTRIER]: 8, + [SpeciesId.CALYREX]: 8, + [SpeciesId.ENAMORUS]: 7, + [SpeciesId.GALAR_MEOWTH]: 3, + [SpeciesId.GALAR_PONYTA]: 2, + [SpeciesId.GALAR_SLOWPOKE]: 3, + [SpeciesId.GALAR_FARFETCHD]: 3, + [SpeciesId.GALAR_ARTICUNO]: 6, + [SpeciesId.GALAR_ZAPDOS]: 6, + [SpeciesId.GALAR_MOLTRES]: 6, + [SpeciesId.GALAR_CORSOLA]: 3, + [SpeciesId.GALAR_ZIGZAGOON]: 3, + [SpeciesId.GALAR_DARUMAKA]: 4, + [SpeciesId.GALAR_YAMASK]: 3, + [SpeciesId.GALAR_STUNFISK]: 2, + [SpeciesId.HISUI_GROWLITHE]: 4, + [SpeciesId.HISUI_VOLTORB]: 3, + [SpeciesId.HISUI_QWILFISH]: 4, + [SpeciesId.HISUI_SNEASEL]: 5, + [SpeciesId.HISUI_ZORUA]: 3, - [Species.SPRIGATITO]: 4, - [Species.FUECOCO]: 4, - [Species.QUAXLY]: 4, - [Species.LECHONK]: 2, - [Species.TAROUNTULA]: 1, - [Species.NYMBLE]: 3, - [Species.PAWMI]: 3, - [Species.TANDEMAUS]: 4, - [Species.FIDOUGH]: 2, - [Species.SMOLIV]: 3, - [Species.SQUAWKABILLY]: 2, - [Species.NACLI]: 4, - [Species.CHARCADET]: 4, - [Species.TADBULB]: 3, - [Species.WATTREL]: 3, - [Species.MASCHIFF]: 3, - [Species.SHROODLE]: 2, - [Species.BRAMBLIN]: 3, - [Species.TOEDSCOOL]: 3, - [Species.KLAWF]: 3, - [Species.CAPSAKID]: 3, - [Species.RELLOR]: 2, - [Species.FLITTLE]: 3, - [Species.TINKATINK]: 4, - [Species.WIGLETT]: 2, - [Species.BOMBIRDIER]: 3, - [Species.FINIZEN]: 3, - [Species.VAROOM]: 4, - [Species.CYCLIZAR]: 4, - [Species.ORTHWORM]: 4, - [Species.GLIMMET]: 4, - [Species.GREAVARD]: 3, - [Species.FLAMIGO]: 4, - [Species.CETODDLE]: 3, - [Species.VELUZA]: 4, - [Species.DONDOZO]: 4, - [Species.TATSUGIRI]: 4, - [Species.GREAT_TUSK]: 7, - [Species.SCREAM_TAIL]: 5, - [Species.BRUTE_BONNET]: 5, - [Species.FLUTTER_MANE]: 7, - [Species.SLITHER_WING]: 6, - [Species.SANDY_SHOCKS]: 6, - [Species.IRON_TREADS]: 6, - [Species.IRON_BUNDLE]: 6, - [Species.IRON_HANDS]: 6, - [Species.IRON_JUGULIS]: 6, - [Species.IRON_MOTH]: 6, - [Species.IRON_THORNS]: 5, - [Species.FRIGIBAX]: 4, - [Species.GIMMIGHOUL]: 4, - [Species.WO_CHIEN]: 5, - [Species.CHIEN_PAO]: 7, - [Species.TING_LU]: 6, - [Species.CHI_YU]: 7, - [Species.ROARING_MOON]: 7, - [Species.IRON_VALIANT]: 6, - [Species.KORAIDON]: 9, - [Species.MIRAIDON]: 9, - [Species.WALKING_WAKE]: 7, - [Species.IRON_LEAVES]: 6, - [Species.POLTCHAGEIST]: 4, - [Species.OKIDOGI]: 6, - [Species.MUNKIDORI]: 6, - [Species.FEZANDIPITI]: 5, - [Species.OGERPON]: 7, - [Species.GOUGING_FIRE]: 7, - [Species.RAGING_BOLT]: 7, - [Species.IRON_BOULDER]: 7, - [Species.IRON_CROWN]: 7, - [Species.TERAPAGOS]: 9, - [Species.PECHARUNT]: 6, - [Species.PALDEA_TAUROS]: 5, - [Species.PALDEA_WOOPER]: 3, - [Species.BLOODMOON_URSALUNA]: 5, + [SpeciesId.SPRIGATITO]: 4, + [SpeciesId.FUECOCO]: 4, + [SpeciesId.QUAXLY]: 4, + [SpeciesId.LECHONK]: 2, + [SpeciesId.TAROUNTULA]: 1, + [SpeciesId.NYMBLE]: 3, + [SpeciesId.PAWMI]: 3, + [SpeciesId.TANDEMAUS]: 4, + [SpeciesId.FIDOUGH]: 2, + [SpeciesId.SMOLIV]: 3, + [SpeciesId.SQUAWKABILLY]: 2, + [SpeciesId.NACLI]: 4, + [SpeciesId.CHARCADET]: 4, + [SpeciesId.TADBULB]: 3, + [SpeciesId.WATTREL]: 3, + [SpeciesId.MASCHIFF]: 3, + [SpeciesId.SHROODLE]: 2, + [SpeciesId.BRAMBLIN]: 3, + [SpeciesId.TOEDSCOOL]: 3, + [SpeciesId.KLAWF]: 3, + [SpeciesId.CAPSAKID]: 3, + [SpeciesId.RELLOR]: 2, + [SpeciesId.FLITTLE]: 3, + [SpeciesId.TINKATINK]: 4, + [SpeciesId.WIGLETT]: 2, + [SpeciesId.BOMBIRDIER]: 3, + [SpeciesId.FINIZEN]: 3, + [SpeciesId.VAROOM]: 4, + [SpeciesId.CYCLIZAR]: 4, + [SpeciesId.ORTHWORM]: 4, + [SpeciesId.GLIMMET]: 4, + [SpeciesId.GREAVARD]: 3, + [SpeciesId.FLAMIGO]: 4, + [SpeciesId.CETODDLE]: 3, + [SpeciesId.VELUZA]: 4, + [SpeciesId.DONDOZO]: 4, + [SpeciesId.TATSUGIRI]: 4, + [SpeciesId.GREAT_TUSK]: 7, + [SpeciesId.SCREAM_TAIL]: 5, + [SpeciesId.BRUTE_BONNET]: 5, + [SpeciesId.FLUTTER_MANE]: 7, + [SpeciesId.SLITHER_WING]: 6, + [SpeciesId.SANDY_SHOCKS]: 6, + [SpeciesId.IRON_TREADS]: 6, + [SpeciesId.IRON_BUNDLE]: 6, + [SpeciesId.IRON_HANDS]: 6, + [SpeciesId.IRON_JUGULIS]: 6, + [SpeciesId.IRON_MOTH]: 6, + [SpeciesId.IRON_THORNS]: 5, + [SpeciesId.FRIGIBAX]: 4, + [SpeciesId.GIMMIGHOUL]: 4, + [SpeciesId.WO_CHIEN]: 5, + [SpeciesId.CHIEN_PAO]: 7, + [SpeciesId.TING_LU]: 6, + [SpeciesId.CHI_YU]: 7, + [SpeciesId.ROARING_MOON]: 7, + [SpeciesId.IRON_VALIANT]: 6, + [SpeciesId.KORAIDON]: 9, + [SpeciesId.MIRAIDON]: 9, + [SpeciesId.WALKING_WAKE]: 7, + [SpeciesId.IRON_LEAVES]: 6, + [SpeciesId.POLTCHAGEIST]: 4, + [SpeciesId.OKIDOGI]: 6, + [SpeciesId.MUNKIDORI]: 6, + [SpeciesId.FEZANDIPITI]: 5, + [SpeciesId.OGERPON]: 7, + [SpeciesId.GOUGING_FIRE]: 7, + [SpeciesId.RAGING_BOLT]: 7, + [SpeciesId.IRON_BOULDER]: 7, + [SpeciesId.IRON_CROWN]: 7, + [SpeciesId.TERAPAGOS]: 9, + [SpeciesId.PECHARUNT]: 6, + [SpeciesId.PALDEA_TAUROS]: 5, + [SpeciesId.PALDEA_WOOPER]: 3, + [SpeciesId.BLOODMOON_URSALUNA]: 5, }; const starterCandyCosts: { passive: number; costReduction: [number, number]; egg: number; }[] = [ diff --git a/src/data/balance/tms.ts b/src/data/balance/tms.ts index 06d191c3b2a..e95fa12151d 100644 --- a/src/data/balance/tms.ts +++ b/src/data/balance/tms.ts @@ -1,68550 +1,68550 @@ import { ModifierTier } from "#app/modifier/modifier-tier"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; interface TmSpecies { - [key: number]: Array> + [key: number]: Array> } -export const reverseCompatibleTms: Moves[] = [];/*[ - Moves.TAKE_DOWN, - Moves.TOXIC, - Moves.RAGE, - Moves.MIMIC, - Moves.DOUBLE_TEAM, - Moves.BIDE, - Moves.REST, - Moves.SUBSTITUTE, - Moves.SNORE, - Moves.PROTECT, - Moves.ENDURE, - Moves.SWAGGER, - Moves.ATTRACT, - Moves.SLEEP_TALK, - Moves.RETURN, - Moves.FRUSTRATION, - Moves.HIDDEN_POWER, - Moves.FACADE, - Moves.SECRET_POWER, - Moves.NATURAL_GIFT, - Moves.CAPTIVATE, - Moves.ROUND +export const reverseCompatibleTms: MoveId[] = [];/*[ + MoveId.TAKE_DOWN, + MoveId.TOXIC, + MoveId.RAGE, + MoveId.MIMIC, + MoveId.DOUBLE_TEAM, + MoveId.BIDE, + MoveId.REST, + MoveId.SUBSTITUTE, + MoveId.SNORE, + MoveId.PROTECT, + MoveId.ENDURE, + MoveId.SWAGGER, + MoveId.ATTRACT, + MoveId.SLEEP_TALK, + MoveId.RETURN, + MoveId.FRUSTRATION, + MoveId.HIDDEN_POWER, + MoveId.FACADE, + MoveId.SECRET_POWER, + MoveId.NATURAL_GIFT, + MoveId.CAPTIVATE, + MoveId.ROUND ];*/ export const tmSpecies: TmSpecies = { - [Moves.MEGA_PUNCH]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIKACHU, - Species.RAICHU, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.LEDYBA, - Species.LEDIAN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.QUAGSIRE, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GRUMPIG, - Species.SPINDA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.KECLEON, - Species.DUSCLOPS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.JIRACHI, - Species.BUNEARY, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.GALLADE, - Species.DUSKNOIR, - Species.REGIGIGAS, - Species.VICTINI, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZOROARK, - Species.REUNICLUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.GOODRA, - Species.INCINEROAR, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.TURTONATOR, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.GUZZLORD, - Species.MARSHADOW, - Species.ZERAORA, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.COALOSSAL, - Species.TOXTRICITY, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.MR_RIME, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, + [MoveId.MEGA_PUNCH]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.JIRACHI, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.REGIGIGAS, + SpeciesId.VICTINI, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZOROARK, + SpeciesId.REUNICLUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.INCINEROAR, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.GUZZLORD, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.COALOSSAL, + SpeciesId.TOXTRICITY, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.MR_RIME, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "attack", "defense", "speed", ], - Species.ALOLA_RAICHU, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, ], - [Moves.PAY_DAY]: [ - Species.PIKACHU, - Species.RAICHU, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.RHYDON, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.SKITTY, - Species.DELCATTY, - Species.MUNCHLAX, - Species.RHYPERIOR, - Species.LEAFEON, - Species.GLACEON, - Species.PURRLOIN, - Species.LIEPARD, - Species.ESPURR, - Species.MEOWSTIC, - Species.SYLVEON, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.ZERAORA, - Species.PERRSERKER, - Species.INDEEDEE, - Species.CALYREX, - Species.ANNIHILAPE, - Species.ALOLA_RAICHU, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, + [MoveId.PAY_DAY]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.RHYDON, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MUNCHLAX, + SpeciesId.RHYPERIOR, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SYLVEON, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.ZERAORA, + SpeciesId.PERRSERKER, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.ANNIHILAPE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, ], - [Moves.FIRE_PUNCH]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MANKEY, - Species.PRIMEAPE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.FLAAFFY, - Species.AMPHAROS, - Species.SUDOWOODO, - Species.AIPOM, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.TEDDIURSA, - Species.URSARING, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.SABLEYE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.GULPIN, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.FLYGON, - Species.ZANGOOSE, - Species.KECLEON, - Species.DUSCLOPS, - Species.REGIROCK, - Species.GROUDON, - Species.JIRACHI, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.VICTINI, - Species.PIGNITE, - Species.EMBOAR, - Species.WATCHOG, - Species.PANSEAR, - Species.SIMISEAR, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.HEATMOR, - Species.MELOETTA, - Species.BRAIXEN, - Species.DELPHOX, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.GOODRA, - Species.HOOPA, - Species.INCINEROAR, - Species.GUMSHOOS, + [MoveId.FIRE_PUNCH]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.SUDOWOODO, + SpeciesId.AIPOM, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.FLYGON, + SpeciesId.ZANGOOSE, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.REGIROCK, + SpeciesId.GROUDON, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.VICTINI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.WATCHOG, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HEATMOR, + SpeciesId.MELOETTA, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.GUMSHOOS, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.KOMMO_O, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.ZERAORA, - Species.CINDERACE, - Species.COALOSSAL, - Species.TOXTRICITY, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.KUBFU, - Species.URSHIFU, - Species.URSALUNA, - Species.SNEASLER, - Species.PAWMOT, - Species.GARGANACL, - Species.ANNIHILAPE, - Species.SCREAM_TAIL, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.IRON_VALIANT, - Species.OKIDOGI, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, + SpeciesId.KOMMO_O, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.CINDERACE, + SpeciesId.COALOSSAL, + SpeciesId.TOXTRICITY, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.PAWMOT, + SpeciesId.GARGANACL, + SpeciesId.ANNIHILAPE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_VALIANT, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_TYPHLOSION, - Species.HISUI_GOODRA, - Species.BLOODMOON_URSALUNA, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_GOODRA, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.ICE_PUNCH]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.SMOOCHUM, - Species.ELEKID, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.ZANGOOSE, - Species.KECLEON, - Species.DUSCLOPS, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.JIRACHI, - Species.DEOXYS, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.WATCHOG, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SCRAGGY, - Species.SCRAFTY, - Species.REUNICLUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.GOLETT, - Species.GOLURK, - Species.MELOETTA, - Species.FROGADIER, - Species.GRENINJA, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.HOOPA, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.STUFFUL, - Species.BEWEAR, - Species.KOMMO_O, - Species.TAPU_FINI, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.MELMETAL, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.MR_RIME, - Species.EISCUE, - Species.KUBFU, - Species.URSHIFU, - Species.URSALUNA, - Species.PAWMOT, - Species.GARGANACL, - Species.PALAFIN, - Species.CETITAN, - Species.ANNIHILAPE, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.IRON_VALIANT, - Species.OKIDOGI, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.BLOODMOON_URSALUNA, + [MoveId.ICE_PUNCH]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.ZANGOOSE, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.WATCHOG, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.REUNICLUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.MELOETTA, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HOOPA, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_FINI, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.MELMETAL, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.MR_RIME, + SpeciesId.EISCUE, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.URSALUNA, + SpeciesId.PAWMOT, + SpeciesId.GARGANACL, + SpeciesId.PALAFIN, + SpeciesId.CETITAN, + SpeciesId.ANNIHILAPE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_VALIANT, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.THUNDER_PUNCH]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.PIKACHU, - Species.RAICHU, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MANKEY, - Species.PRIMEAPE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.PICHU, - Species.FLAAFFY, - Species.AMPHAROS, - Species.SUDOWOODO, - Species.AIPOM, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.TEDDIURSA, - Species.URSARING, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.KECLEON, - Species.DUSCLOPS, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.JIRACHI, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.PACHIRISU, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.VICTINI, - Species.PIGNITE, - Species.EMBOAR, - Species.WATCHOG, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.SCRAGGY, - Species.SCRAFTY, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.HEATMOR, - Species.THUNDURUS, - Species.ZEKROM, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BRAIXEN, - Species.DELPHOX, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.DEDENNE, - Species.GOODRA, - Species.HOOPA, - Species.INCINEROAR, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.STUFFUL, - Species.BEWEAR, + [MoveId.THUNDER_PUNCH]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.PICHU, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.SUDOWOODO, + SpeciesId.AIPOM, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.VICTINI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.WATCHOG, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HEATMOR, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.GOODRA, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.BUZZWOLE, - Species.XURKITREE, - Species.MARSHADOW, - Species.ZERAORA, - Species.MELMETAL, - Species.TOXTRICITY, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.KUBFU, - Species.URSHIFU, - Species.URSALUNA, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.PAWMO, - Species.PAWMOT, - Species.GARGANACL, - Species.ANNIHILAPE, - Species.SCREAM_TAIL, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.OKIDOGI, - Species.ALOLA_RAICHU, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.BUZZWOLE, + SpeciesId.XURKITREE, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.TOXTRICITY, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.URSALUNA, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.GARGANACL, + SpeciesId.ANNIHILAPE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_SLOWKING, - Species.HISUI_TYPHLOSION, - Species.HISUI_GOODRA, - Species.BLOODMOON_URSALUNA, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_GOODRA, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SWORDS_DANCE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BEEDRILL, - Species.RATICATE, - Species.SANDSHREW, - Species.SANDSLASH, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.DIGLETT, - Species.DUGTRIO, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.RAPIDASH, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.KRABBY, - Species.KINGLER, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.TANGELA, - Species.GOLDEEN, - Species.SEAKING, - Species.SCYTHER, - Species.PINSIR, - Species.KABUTOPS, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.LEDYBA, - Species.LEDIAN, - Species.ARIADOS, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.GLIGAR, - Species.QWILFISH, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SKARMORY, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SHROOMISH, - Species.BRELOOM, - Species.NINJASK, - Species.MAWILE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.SOLROCK, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.BANETTE, - Species.TROPIUS, - Species.ABSOL, - Species.WALREIN, - Species.GROUDON, - Species.RAYQUAZA, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.CHERUBI, - Species.CHERRIM, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.TOXICROAK, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.YANMEGA, - Species.LEAFEON, - Species.GLISCOR, - Species.GALLADE, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.DRILBUR, - Species.EXCADRILL, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.LILLIGANT, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAFTY, - Species.ZORUA, - Species.ZOROARK, - Species.SAWSBUCK, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FERROTHORN, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.LANDORUS, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HAWLUCHA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.ROCKRUFF, - Species.LYCANROC, - Species.FOMANTIS, - Species.LURANTIS, - Species.STUFFUL, - Species.BEWEAR, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.KOMALA, - Species.MIMIKYU, - Species.BRUXISH, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.KARTANA, - Species.NECROZMA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.RABOOT, - Species.CINDERACE, - Species.INTELEON, - Species.GREEDENT, - Species.DUBWOOL, - Species.DREDNAW, - Species.HATTERENE, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.FALINKS, - Species.DURALUDON, - Species.ZACIAN, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.OVERQWIL, - Species.QUAQUAVAL, - Species.LOKIX, - Species.CERULEDGE, - Species.SHROODLE, - Species.GRAFAIAI, - Species.KLAWF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.FLAMIGO, - Species.KINGAMBIT, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_RAPIDASH, - Species.GALAR_FARFETCHD, + [MoveId.SWORDS_DANCE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BEEDRILL, + SpeciesId.RATICATE, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.RAPIDASH, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.TANGELA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.ARIADOS, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SKARMORY, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.NINJASK, + SpeciesId.MAWILE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.SOLROCK, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.BANETTE, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.WALREIN, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.LILLIGANT, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAFTY, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.SAWSBUCK, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FERROTHORN, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.LANDORUS, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HAWLUCHA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.GREEDENT, + SpeciesId.DUBWOOL, + SpeciesId.DREDNAW, + SpeciesId.HATTERENE, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.QUAQUAVAL, + SpeciesId.LOKIX, + SpeciesId.CERULEDGE, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.FLAMIGO, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_FARFETCHD, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.CUT]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BEEDRILL, - Species.RATTATA, - Species.RATICATE, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.FARFETCHD, - Species.KRABBY, - Species.KINGLER, - Species.LICKITUNG, - Species.RHYDON, - Species.TANGELA, - Species.KANGASKHAN, - Species.SCYTHER, - Species.PINSIR, - Species.KABUTOPS, - Species.DRAGONITE, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.BELLOSSOM, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.ESPEON, - Species.UMBREON, - Species.GLIGAR, - Species.STEELIX, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SKARMORY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.TYRANITAR, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.ZIGZAGOON, - Species.LINOONE, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.TROPIUS, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.BUDEW, - Species.ROSERADE, - Species.RAMPARDOS, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.SKORUPI, - Species.DRAPION, - Species.TOXICROAK, - Species.CARNIVINE, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.GLISCOR, - Species.GALLADE, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.DRILBUR, - Species.EXCADRILL, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.VOLCANION, - Species.KARTANA, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.URSALUNA, - Species.BASCULEGION, - Species.KINGAMBIT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, - Species.BLOODMOON_URSALUNA, + [MoveId.CUT]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BEEDRILL, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.FARFETCHD, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.KABUTOPS, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.BELLOSSOM, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SKARMORY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.RAMPARDOS, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.VOLCANION, + SpeciesId.KARTANA, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.KINGAMBIT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.FLY]: [ - Species.CHARIZARD, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.TOGETIC, - Species.XATU, - Species.MURKROW, - Species.DELIBIRD, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.TROPIUS, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.HONCHKROW, - Species.CHATOT, - Species.TOGEKISS, - Species.GIRATINA, - Species.ARCEUS, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.ARCHEOPS, - Species.DUCKLETT, - Species.SWANNA, - Species.GOLURK, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.GENESECT, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.VIKAVOLT, - Species.ORICORIO, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.LUNALA, - Species.CELESTEELA, - Species.NAGANADEL, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.FLAPPLE, - Species.CRAMORANT, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.ENAMORUS, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.IRON_JUGULIS, - Species.ROARING_MOON, - Species.FEZANDIPITI, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_BRAVIARY, + [MoveId.FLY]: [ + SpeciesId.CHARIZARD, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.XATU, + SpeciesId.MURKROW, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.TROPIUS, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.TOGEKISS, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEOPS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.GOLURK, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.GENESECT, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.VIKAVOLT, + SpeciesId.ORICORIO, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.LUNALA, + SpeciesId.CELESTEELA, + SpeciesId.NAGANADEL, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.FLAPPLE, + SpeciesId.CRAMORANT, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.ENAMORUS, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.IRON_JUGULIS, + SpeciesId.ROARING_MOON, + SpeciesId.FEZANDIPITI, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.MEGA_KICK]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIKACHU, - Species.RAICHU, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GOLEM, - Species.SLOWBRO, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.KABUTOPS, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.QUAGSIRE, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GRUMPIG, - Species.SPINDA, - Species.FLYGON, - Species.CACTURNE, - Species.ZANGOOSE, - Species.KECLEON, - Species.DUSCLOPS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.JIRACHI, - Species.BUNEARY, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.GALLADE, - Species.DUSKNOIR, - Species.REGIGIGAS, - Species.VICTINI, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZOROARK, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.GOODRA, - Species.INCINEROAR, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.TSAREENA, - Species.ORANGURU, - Species.PASSIMIAN, - Species.TURTONATOR, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.GUZZLORD, - Species.MARSHADOW, - Species.STAKATAKA, - Species.ZERAORA, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.DUBWOOL, - Species.COALOSSAL, - Species.TOXTRICITY, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.MR_RIME, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.QUAQUAVAL, - Species.FLAMIGO, + [MoveId.MEGA_KICK]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.FLYGON, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.JIRACHI, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.REGIGIGAS, + SpeciesId.VICTINI, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZOROARK, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.INCINEROAR, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.TSAREENA, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.GUZZLORD, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.DUBWOOL, + SpeciesId.COALOSSAL, + SpeciesId.TOXTRICITY, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.MR_RIME, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.QUAQUAVAL, + SpeciesId.FLAMIGO, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "attack", "defense", "speed", ], - Species.ALOLA_RAICHU, - Species.ALOLA_MAROWAK, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ZAPDOS, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_LILLIGANT, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_LILLIGANT, ], - [Moves.BODY_SLAM]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.CLOYSTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.GOLDEEN, - Species.SEAKING, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.NOCTOWL, - Species.SPINARAK, - Species.ARIADOS, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SHUCKLE, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.DELIBIRD, - Species.MANTINE, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.LUXRAY, - Species.ROSERADE, - Species.SHIELDON, - Species.BASTIODON, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SNOVER, - Species.ABOMASNOW, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.ARCEUS, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.SAMUROTT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.CONKELDURR, - Species.THROH, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.GARBODOR, - Species.ZOROARK, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.ALOMOMOLA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.HEATMOR, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.CLAWITZER, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.BRIONNE, - Species.PRIMARINA, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.ARAQUANID, - Species.SALAZZLE, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.PALOSSAND, - Species.KOMALA, - Species.TURTONATOR, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.SOLGALEO, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.CORVIKNIGHT, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.FALINKS, - Species.PINCURCHIN, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.WYRDEER, - Species.URSALUNA, - Species.ENAMORUS, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.FIDOUGH, - Species.DACHSBUN, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.KLAWF, - Species.ESPATHRA, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.WO_CHIEN, - Species.TING_LU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.DIPPLIN, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARMANITAN, + [MoveId.BODY_SLAM]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.CLOYSTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.NOCTOWL, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.LUXRAY, + SpeciesId.ROSERADE, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.GARBODOR, + SpeciesId.ZOROARK, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.ALOMOMOLA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.HEATMOR, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.CLAWITZER, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.ARAQUANID, + SpeciesId.SALAZZLE, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.PALOSSAND, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.CORVIKNIGHT, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.WYRDEER, + SpeciesId.URSALUNA, + SpeciesId.ENAMORUS, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.KLAWF, + SpeciesId.ESPATHRA, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.WO_CHIEN, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.DIPPLIN, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARMANITAN, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SAMUROTT, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.TAKE_DOWN]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.IGGLYBUFF, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.DELIBIRD, - Species.MANTINE, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.MILOTIC, - Species.TROPIUS, - Species.CHIMECHO, - Species.SNORUNT, - Species.GLALIE, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.BELDUM, - Species.METANG, - Species.METAGROSS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.HAPPINY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.CROAGUNK, - Species.TOXICROAK, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.RHYPERIOR, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.FROSLASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.GIRATINA, - Species.ARCEUS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.BLITZLE, - Species.ROGGENROLA, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.DEERLING, - Species.SAWSBUCK, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.ALOMOMOLA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.MIENFOO, - Species.MIENSHAO, - Species.PAWNIARD, - Species.BISHARP, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.FURFROU, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.TREVENANT, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MUDBRAY, - Species.MUDSDALE, - Species.FOMANTIS, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.ORANGURU, - Species.PASSIMIAN, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.MIMIKYU, - Species.BRUXISH, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.MAGEARNA, - Species.STAKATAKA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.FALINKS, - Species.PINCURCHIN, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.OKIDOGI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, + [MoveId.TAKE_DOWN]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.IGGLYBUFF, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.MILOTIC, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.BELDUM, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.HAPPINY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.RHYPERIOR, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.FROSLASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.BLITZLE, + SpeciesId.ROGGENROLA, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.ALOMOMOLA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.FURFROU, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.TREVENANT, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.OKIDOGI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, ], - [Moves.DOUBLE_EDGE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TYROGUE, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.FLOATZEL, - Species.AMBIPOM, - Species.HONCHKROW, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SNOVER, - Species.ABOMASNOW, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.PROBOPASS, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.SHAYMIN, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.CINCCINO, - Species.DUCKLETT, - Species.SWANNA, - Species.DEERLING, - Species.SAWSBUCK, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.BEARTIC, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KELDEO, - Species.CHESNAUGHT, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.SYLVEON, - Species.CARBINK, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIVERN, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.PASSIMIAN, - Species.MINIOR, - Species.KOMALA, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.SOLGALEO, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SKWOVET, - Species.GREEDENT, - Species.CORVIKNIGHT, - Species.DREDNAW, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.PERRSERKER, - Species.EISCUE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, + [MoveId.DOUBLE_EDGE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TYROGUE, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.PROBOPASS, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.CINCCINO, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KELDEO, + SpeciesId.CHESNAUGHT, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIVERN, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.PASSIMIAN, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.CORVIKNIGHT, + SpeciesId.DREDNAW, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.PERRSERKER, + SpeciesId.EISCUE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.OVERQWIL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.LOKIX, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SQUAWKABILLY, - Species.NACLSTACK, - Species.GARGANACL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.ESPATHRA, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.TING_LU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_ZAPDOS, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_BRAVIARY, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.LOKIX, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.ESPATHRA, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.PIN_MISSILE]: [ - Species.BEEDRILL, - Species.SANDSLASH, - Species.CLOYSTER, - Species.JOLTEON, - Species.OMASTAR, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.PINECO, - Species.FORRETRESS, - Species.QWILFISH, - Species.HERACROSS, - Species.ZIGZAGOON, - Species.LINOONE, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.BUDEW, - Species.ROSERADE, - Species.VESPIQUEN, - Species.SKORUPI, - Species.DRAPION, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.MARACTUS, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.MAREANIE, - Species.TOXAPEX, - Species.GOLISOPOD, - Species.TOGEDEMARU, - Species.POIPOLE, - Species.NAGANADEL, - Species.OBSTAGOON, - Species.CURSOLA, - Species.PINCURCHIN, - Species.OVERQWIL, - Species.IRON_THORNS, - Species.ALOLA_SANDSLASH, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_QWILFISH, + [MoveId.PIN_MISSILE]: [ + SpeciesId.BEEDRILL, + SpeciesId.SANDSLASH, + SpeciesId.CLOYSTER, + SpeciesId.JOLTEON, + SpeciesId.OMASTAR, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.QWILFISH, + SpeciesId.HERACROSS, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.VESPIQUEN, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.MARACTUS, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.GOLISOPOD, + SpeciesId.TOGEDEMARU, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.PINCURCHIN, + SpeciesId.OVERQWIL, + SpeciesId.IRON_THORNS, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_QWILFISH, ], - [Moves.ROAR]: [ - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BLASTOISE, - Species.RATICATE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.VULPIX, - Species.NINETALES, - Species.PERSIAN, - Species.GROWLITHE, - Species.ARCANINE, - Species.GOLEM, - Species.ONIX, - Species.RHYHORN, - Species.RHYDON, - Species.KANGASKHAN, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.CROCONAW, - Species.FERALIGATR, - Species.FLAAFFY, - Species.AMPHAROS, - Species.ESPEON, - Species.UMBREON, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.TEDDIURSA, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.LINOONE, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.ALTARIA, - Species.ZANGOOSE, - Species.TROPIUS, - Species.SEALEO, - Species.WALREIN, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BUIZEL, - Species.FLOATZEL, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.RHYPERIOR, - Species.LEAFEON, - Species.GLACEON, - Species.MAMOSWINE, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.GIRATINA, - Species.ARCEUS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.BEARTIC, - Species.DRUDDIGON, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.AVALUGG, - Species.XERNEAS, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.GUMSHOOS, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.TYPE_NULL, - Species.SILVALLY, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.LUNALA, - Species.YAMPER, - Species.BOLTUND, - Species.ZAMAZENTA, - Species.ZARUDE, - Species.GLASTRIER, - Species.WYRDEER, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FARIGIRAF, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.IRON_JUGULIS, - Species.ROARING_MOON, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_RATICATE, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_PERSIAN, - Species.ALOLA_GOLEM, + [MoveId.ROAR]: [ + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.RATICATE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.PERSIAN, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.LINOONE, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.TROPIUS, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.RHYPERIOR, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.DRUDDIGON, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.AVALUGG, + SpeciesId.XERNEAS, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.GUMSHOOS, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ZAMAZENTA, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.WYRDEER, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FARIGIRAF, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_JUGULIS, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GOLEM, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "single-strike", ], - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.FLAMETHROWER]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GROWLITHE, - Species.ARCANINE, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MAGMAR, - Species.TAUROS, - Species.GYARADOS, - Species.FLAREON, - Species.AERODACTYL, - Species.SNORLAX, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.SLOWKING, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.SLUGMA, - Species.MAGCARGO, - Species.REMORAID, - Species.OCTILLERY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.BLISSEY, - Species.ENTEI, - Species.TYRANITAR, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAWILE, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.FLYGON, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.SOLROCK, - Species.CASTFORM, - Species.KECLEON, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.GROUDON, - Species.RAYQUAZA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.STUNKY, - Species.SKUNTANK, - Species.HAPPINY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.WATCHOG, - Species.PANSEAR, - Species.SIMISEAR, - Species.AUDINO, - Species.DARUMAKA, - Species.DARMANITAN, - Species.ZOROARK, - Species.EELEKTROSS, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.DRUDDIGON, - Species.HEATMOR, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.RESHIRAM, - Species.GENESECT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.GOODRA, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIVERN, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SALANDIT, - Species.SALAZZLE, - Species.SILVALLY, - Species.TURTONATOR, - Species.DRAMPA, - Species.KOMMO_O, - Species.SOLGALEO, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.CARKOL, - Species.COALOSSAL, - Species.CENTISKORCH, - Species.DRACOZOLT, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.SCOVILLAIN, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.GOUGING_FIRE, - Species.TERAPAGOS, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_ZOROARK, - Species.HISUI_GOODRA, + [MoveId.FLAMETHROWER]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MAGMAR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.BLISSEY, + SpeciesId.ENTEI, + SpeciesId.TYRANITAR, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.SOLROCK, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.HAPPINY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.WATCHOG, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.AUDINO, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.ZOROARK, + SpeciesId.EELEKTROSS, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.DRUDDIGON, + SpeciesId.HEATMOR, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.GENESECT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.GOODRA, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIVERN, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CENTISKORCH, + SpeciesId.DRACOZOLT, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.SCOVILLAIN, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.GOUGING_FIRE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_GOODRA, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.HYDRO_PUMP]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SHELLDER, - Species.CLOYSTER, - Species.KINGLER, - Species.LICKITUNG, - Species.RHYDON, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MAGIKARP, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.EXPLOUD, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.MILOTIC, - Species.CASTFORM, - Species.WALREIN, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.KYOGRE, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.MUNCHLAX, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.PALKIA, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.DRILBUR, - Species.EXCADRILL, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.SWANNA, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.HYDREIGON, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.GOODRA, - Species.AVALUGG, - Species.VOLCANION, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.GRAPPLOCT, - Species.CURSOLA, - Species.PINCURCHIN, - Species.EISCUE, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.BASCULEGION, - Species.OVERQWIL, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.CLODSIRE, - Species.IRON_BUNDLE, - Species.IRON_JUGULIS, - Species.ROARING_MOON, - Species.WALKING_WAKE, - Species.HYDRAPPLE, + [MoveId.HYDRO_PUMP]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KINGLER, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MAGIKARP, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.EXPLOUD, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.MUNCHLAX, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.PALKIA, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.SWANNA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.HYDREIGON, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.GOODRA, + SpeciesId.AVALUGG, + SpeciesId.VOLCANION, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.GRAPPLOCT, + SpeciesId.CURSOLA, + SpeciesId.PINCURCHIN, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.CLODSIRE, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_JUGULIS, + SpeciesId.ROARING_MOON, + SpeciesId.WALKING_WAKE, + SpeciesId.HYDRAPPLE, [ - Species.ROTOM, + SpeciesId.ROTOM, "wash", ], - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_GOODRA, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_GOODRA, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "aqua", ], - Species.PALDEA_WOOPER, + SpeciesId.PALDEA_WOOPER, ], - [Moves.SURF]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIKACHU, - Species.RAICHU, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.LICKITUNG, - Species.RHYDON, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.SNEASEL, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.MILTANK, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.ZANGOOSE, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.RAMPARDOS, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.HERDIER, - Species.STOUTLAND, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.STUNFISK, - Species.DRUDDIGON, - Species.BOUFFALANT, - Species.HYDREIGON, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.SWIRLIX, - Species.SLURPUFF, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.GOODRA, - Species.BERGMITE, - Species.AVALUGG, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SILVALLY, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.CURSOLA, - Species.PINCURCHIN, - Species.EISCUE, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.BASCULEGION, - Species.OVERQWIL, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.CLODSIRE, - Species.WALKING_WAKE, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_STUNFISK, - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_GOODRA, + [MoveId.SURF]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.MILTANK, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.ZANGOOSE, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.RAMPARDOS, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.BOUFFALANT, + SpeciesId.HYDREIGON, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.GOODRA, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.PINCURCHIN, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.CLODSIRE, + SpeciesId.WALKING_WAKE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_GOODRA, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "combat", "aqua", ], - Species.PALDEA_WOOPER, + SpeciesId.PALDEA_WOOPER, ], - [Moves.ICE_BEAM]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.JYNX, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.ARTICUNO, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.DUNSPARCE, - Species.QWILFISH, - Species.SNEASEL, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.KINGDRA, - Species.PORYGON2, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.MAWILE, - Species.AGGRON, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.LUNATONE, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.REGICE, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.DEOXYS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.BUNEARY, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.GLACEON, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.DUSKNOIR, - Species.FROSLASS, - Species.MESPRIT, - Species.DIALGA, - Species.PALKIA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.BASCULIN, - Species.SIGILYPH, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.GOLETT, - Species.GOLURK, - Species.KYUREM, - Species.GENESECT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.SLIGGOO, - Species.GOODRA, - Species.BERGMITE, - Species.AVALUGG, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CRABOMINABLE, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.SILVALLY, - Species.BRUXISH, - Species.DRAMPA, - Species.TAPU_FINI, - Species.LUNALA, - Species.PHEROMOSA, - Species.MAGEARNA, - Species.MELMETAL, - Species.INTELEON, - Species.DREDNAW, - Species.CRAMORANT, - Species.BARRASKEWDA, - Species.OBSTAGOON, - Species.CURSOLA, - Species.MR_RIME, - Species.FROSMOTH, - Species.EISCUE, - Species.ARCTOZOLT, - Species.ARCTOVISH, - Species.GLASTRIER, - Species.BASCULEGION, - Species.OVERQWIL, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, + [MoveId.ICE_BEAM]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.JYNX, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.PORYGON2, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.REGICE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.MESPRIT, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.BASCULIN, + SpeciesId.SIGILYPH, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.KYUREM, + SpeciesId.GENESECT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CRABOMINABLE, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.MAGEARNA, + SpeciesId.MELMETAL, + SpeciesId.INTELEON, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.BARRASKEWDA, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.ARCTOVISH, + SpeciesId.GLASTRIER, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, ], - [Moves.BLIZZARD]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.JYNX, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.ARTICUNO, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.DUNSPARCE, - Species.QWILFISH, - Species.SNEASEL, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.KINGDRA, - Species.PORYGON2, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.ZANGOOSE, - Species.LUNATONE, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.REGICE, - Species.KYOGRE, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.GLACEON, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.DUSKNOIR, - Species.FROSLASS, - Species.MESPRIT, - Species.DIALGA, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.KYUREM, - Species.GENESECT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.SLIGGOO, - Species.GOODRA, - Species.BERGMITE, - Species.AVALUGG, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CRABOMINABLE, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.BRUXISH, - Species.DRAMPA, - Species.TAPU_FINI, - Species.LUNALA, - Species.PHEROMOSA, - Species.INTELEON, - Species.DREDNAW, - Species.CRAMORANT, - Species.BARRASKEWDA, - Species.OBSTAGOON, - Species.CURSOLA, - Species.MR_RIME, - Species.FROSMOTH, - Species.EISCUE, - Species.ARCTOZOLT, - Species.ARCTOVISH, - Species.GLASTRIER, - Species.BASCULEGION, - Species.OVERQWIL, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, + [MoveId.BLIZZARD]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.JYNX, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.PORYGON2, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.REGICE, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.MESPRIT, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.KYUREM, + SpeciesId.GENESECT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CRABOMINABLE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.INTELEON, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.BARRASKEWDA, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.ARCTOVISH, + SpeciesId.GLASTRIER, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, [ - Species.ROTOM, + SpeciesId.ROTOM, "frost", ], - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, ], - [Moves.PSYBEAM]: [ - Species.BUTTERFREE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.PARAS, - Species.VENONAT, - Species.VENOMOTH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.KOFFING, - Species.WEEZING, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.SPINARAK, - Species.CHINCHOU, - Species.CLEFFA, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.PORYGON2, - Species.STANTLER, - Species.DUSTOX, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.BALTOY, - Species.CLAYDOL, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.CHIMECHO, - Species.WORMADAM, - Species.MOTHIM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.FINNEON, - Species.LUMINEON, - Species.PORYGON_Z, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.MUNNA, - Species.MUSHARNA, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.VIVILLON, - Species.ESPURR, - Species.MEOWSTIC, - Species.INKAY, - Species.MALAMAR, - Species.HOOPA, - Species.ORANGURU, - Species.TAPU_LELE, - Species.MAGEARNA, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MR_RIME, - Species.INDEEDEE, - Species.CALYREX, - Species.WYRDEER, - Species.ARMAROUGE, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_VALIANT, - Species.MUNKIDORI, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.HISUI_BRAVIARY, + [MoveId.PSYBEAM]: [ + SpeciesId.BUTTERFREE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.PARAS, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.SPINARAK, + SpeciesId.CHINCHOU, + SpeciesId.CLEFFA, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.DUSTOX, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.CHIMECHO, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.HOOPA, + SpeciesId.ORANGURU, + SpeciesId.TAPU_LELE, + SpeciesId.MAGEARNA, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ARMAROUGE, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_VALIANT, + SpeciesId.MUNKIDORI, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.HYPER_BEAM]: [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEOT, - Species.RATICATE, - Species.FEAROW, - Species.ARBOK, - Species.RAICHU, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFABLE, - Species.NINETALES, - Species.WIGGLYTUFF, - Species.GOLBAT, - Species.VILEPLUME, - Species.PARASECT, - Species.VENOMOTH, - Species.DUGTRIO, - Species.PERSIAN, - Species.GOLDUCK, - Species.PRIMEAPE, - Species.ARCANINE, - Species.POLIWRATH, - Species.ALAKAZAM, - Species.MACHAMP, - Species.VICTREEBEL, - Species.TENTACRUEL, - Species.GOLEM, - Species.RAPIDASH, - Species.SLOWBRO, - Species.MAGNETON, - Species.DODRIO, - Species.DEWGONG, - Species.MUK, - Species.CLOYSTER, - Species.GENGAR, - Species.HYPNO, - Species.KINGLER, - Species.ELECTRODE, - Species.EXEGGUTOR, - Species.MAROWAK, - Species.LICKITUNG, - Species.WEEZING, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.SEADRA, - Species.SEAKING, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMASTAR, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.FURRET, - Species.NOCTOWL, - Species.LEDIAN, - Species.ARIADOS, - Species.CROBAT, - Species.LANTURN, - Species.TOGETIC, - Species.XATU, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.JUMPLUFF, - Species.SUNFLORA, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.STEELIX, - Species.GRANBULL, - Species.SCIZOR, - Species.HERACROSS, - Species.URSARING, - Species.MAGCARGO, - Species.PILOSWINE, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.HOUNDOOM, - Species.KINGDRA, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.MIGHTYENA, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SWELLOW, - Species.PELIPPER, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MASQUERAIN, - Species.BRELOOM, - Species.SLAKING, - Species.NINJASK, - Species.SHEDINJA, - Species.EXPLOUD, - Species.HARIYAMA, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDICHAM, - Species.MANECTRIC, - Species.SWALOT, - Species.SHARPEDO, - Species.WAILORD, - Species.CAMERUPT, - Species.TORKOAL, - Species.GRUMPIG, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACTURNE, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.WHISCASH, - Species.CRAWDAUNT, - Species.CLAYDOL, - Species.CRADILY, - Species.ARMALDO, - Species.MILOTIC, - Species.BANETTE, - Species.DUSCLOPS, - Species.TROPIUS, - Species.ABSOL, - Species.GLALIE, - Species.WALREIN, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.STARAPTOR, - Species.BIBAREL, - Species.KRICKETUNE, - Species.LUXRAY, - Species.ROSERADE, - Species.RAMPARDOS, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.FLOATZEL, - Species.CHERRIM, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFBLIM, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.PURUGLY, - Species.SKUNTANK, - Species.BRONZONG, - Species.SPIRITOMB, - Species.GARCHOMP, - Species.LUCARIO, - Species.HIPPOWDON, - Species.DRAPION, - Species.TOXICROAK, - Species.CARNIVINE, - Species.LUMINEON, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SERPERIOR, - Species.EMBOAR, - Species.SAMUROTT, - Species.WATCHOG, - Species.STOUTLAND, - Species.LIEPARD, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.MUSHARNA, - Species.UNFEZANT, - Species.ZEBSTRIKA, - Species.GIGALITH, - Species.SWOOBAT, - Species.EXCADRILL, - Species.AUDINO, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.WHIMSICOTT, - Species.LILLIGANT, - Species.KROOKODILE, - Species.DARMANITAN, - Species.CRUSTLE, - Species.SCRAFTY, - Species.SIGILYPH, - Species.COFAGRIGUS, - Species.CARRACOSTA, - Species.ARCHEOPS, - Species.GARBODOR, - Species.ZOROARK, - Species.CINCCINO, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.SWANNA, - Species.VANILLUXE, - Species.SAWSBUCK, - Species.ESCAVALIER, - Species.AMOONGUSS, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.GALVANTULA, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTROSS, - Species.BEHEEYEM, - Species.CHANDELURE, - Species.HAXORUS, - Species.BEARTIC, - Species.CRYOGONAL, - Species.ACCELGOR, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLURK, - Species.BISHARP, - Species.BRAVIARY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.GRENINJA, - Species.DIGGERSBY, - Species.TALONFLAME, - Species.VIVILLON, - Species.PYROAR, - Species.FLORGES, - Species.GOGOAT, - Species.PANGORO, - Species.MEOWSTIC, - Species.AEGISLASH, - Species.AROMATISSE, - Species.SLURPUFF, - Species.MALAMAR, - Species.BARBARACLE, - Species.DRAGALGE, - Species.CLAWITZER, - Species.HELIOLISK, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOODRA, - Species.KLEFKI, - Species.TREVENANT, - Species.GOURGEIST, - Species.AVALUGG, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.PRIMARINA, - Species.GUMSHOOS, - Species.VIKAVOLT, - Species.CRABOMINABLE, - Species.RIBOMBEE, - Species.TOXAPEX, - Species.MUDSDALE, - Species.LURANTIS, - Species.SHIINOTIC, - Species.SALAZZLE, - Species.BEWEAR, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELMETAL, - Species.RILLABOOM, - Species.CINDERACE, - Species.INTELEON, - Species.GREEDENT, - Species.CORVIKNIGHT, - Species.ORBEETLE, - Species.THIEVUL, - Species.ELDEGOSS, - Species.DUBWOOL, - Species.DREDNAW, - Species.BOLTUND, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SANDACONDA, - Species.CRAMORANT, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.CENTISKORCH, - Species.GRAPPLOCT, - Species.POLTEAGEIST, - Species.HATTERENE, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.QUAQUAVAL, - Species.OINKOLOGNE, - Species.PAWMOT, - Species.MAUSHOLD, - Species.DACHSBUN, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLSTACK, - Species.GARGANACL, - Species.BELLIBOLT, - Species.KILOWATTREL, - Species.MABOSSTIFF, - Species.BRAMBLEGHAST, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.SCOVILLAIN, - Species.RABSCA, - Species.ESPATHRA, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.PALAFIN, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMORA, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.ARCHALUDON, - Species.IRON_CROWN, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSLASH, - Species.ALOLA_NINETALES, - Species.ALOLA_DUGTRIO, - Species.ALOLA_PERSIAN, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_LINOONE, - Species.GALAR_DARMANITAN, - Species.HISUI_ARCANINE, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.BLOODMOON_URSALUNA, + [MoveId.HYPER_BEAM]: [ + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEOT, + SpeciesId.RATICATE, + SpeciesId.FEAROW, + SpeciesId.ARBOK, + SpeciesId.RAICHU, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.WIGGLYTUFF, + SpeciesId.GOLBAT, + SpeciesId.VILEPLUME, + SpeciesId.PARASECT, + SpeciesId.VENOMOTH, + SpeciesId.DUGTRIO, + SpeciesId.PERSIAN, + SpeciesId.GOLDUCK, + SpeciesId.PRIMEAPE, + SpeciesId.ARCANINE, + SpeciesId.POLIWRATH, + SpeciesId.ALAKAZAM, + SpeciesId.MACHAMP, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACRUEL, + SpeciesId.GOLEM, + SpeciesId.RAPIDASH, + SpeciesId.SLOWBRO, + SpeciesId.MAGNETON, + SpeciesId.DODRIO, + SpeciesId.DEWGONG, + SpeciesId.MUK, + SpeciesId.CLOYSTER, + SpeciesId.GENGAR, + SpeciesId.HYPNO, + SpeciesId.KINGLER, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGUTOR, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.WEEZING, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.SEADRA, + SpeciesId.SEAKING, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMASTAR, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.FURRET, + SpeciesId.NOCTOWL, + SpeciesId.LEDIAN, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.LANTURN, + SpeciesId.TOGETIC, + SpeciesId.XATU, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.JUMPLUFF, + SpeciesId.SUNFLORA, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.URSARING, + SpeciesId.MAGCARGO, + SpeciesId.PILOSWINE, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.MIGHTYENA, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SWELLOW, + SpeciesId.PELIPPER, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MASQUERAIN, + SpeciesId.BRELOOM, + SpeciesId.SLAKING, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.EXPLOUD, + SpeciesId.HARIYAMA, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDICHAM, + SpeciesId.MANECTRIC, + SpeciesId.SWALOT, + SpeciesId.SHARPEDO, + SpeciesId.WAILORD, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GRUMPIG, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACTURNE, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.WHISCASH, + SpeciesId.CRAWDAUNT, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ARMALDO, + SpeciesId.MILOTIC, + SpeciesId.BANETTE, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.GLALIE, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.STARAPTOR, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.LUXRAY, + SpeciesId.ROSERADE, + SpeciesId.RAMPARDOS, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.FLOATZEL, + SpeciesId.CHERRIM, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFBLIM, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.PURUGLY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZONG, + SpeciesId.SPIRITOMB, + SpeciesId.GARCHOMP, + SpeciesId.LUCARIO, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.LUMINEON, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SERPERIOR, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.WATCHOG, + SpeciesId.STOUTLAND, + SpeciesId.LIEPARD, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.MUSHARNA, + SpeciesId.UNFEZANT, + SpeciesId.ZEBSTRIKA, + SpeciesId.GIGALITH, + SpeciesId.SWOOBAT, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.WHIMSICOTT, + SpeciesId.LILLIGANT, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.CRUSTLE, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.COFAGRIGUS, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEOPS, + SpeciesId.GARBODOR, + SpeciesId.ZOROARK, + SpeciesId.CINCCINO, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.SWANNA, + SpeciesId.VANILLUXE, + SpeciesId.SAWSBUCK, + SpeciesId.ESCAVALIER, + SpeciesId.AMOONGUSS, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.GALVANTULA, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTROSS, + SpeciesId.BEHEEYEM, + SpeciesId.CHANDELURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.ACCELGOR, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLURK, + SpeciesId.BISHARP, + SpeciesId.BRAVIARY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.GRENINJA, + SpeciesId.DIGGERSBY, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.PYROAR, + SpeciesId.FLORGES, + SpeciesId.GOGOAT, + SpeciesId.PANGORO, + SpeciesId.MEOWSTIC, + SpeciesId.AEGISLASH, + SpeciesId.AROMATISSE, + SpeciesId.SLURPUFF, + SpeciesId.MALAMAR, + SpeciesId.BARBARACLE, + SpeciesId.DRAGALGE, + SpeciesId.CLAWITZER, + SpeciesId.HELIOLISK, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.TREVENANT, + SpeciesId.GOURGEIST, + SpeciesId.AVALUGG, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.PRIMARINA, + SpeciesId.GUMSHOOS, + SpeciesId.VIKAVOLT, + SpeciesId.CRABOMINABLE, + SpeciesId.RIBOMBEE, + SpeciesId.TOXAPEX, + SpeciesId.MUDSDALE, + SpeciesId.LURANTIS, + SpeciesId.SHIINOTIC, + SpeciesId.SALAZZLE, + SpeciesId.BEWEAR, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.GREEDENT, + SpeciesId.CORVIKNIGHT, + SpeciesId.ORBEETLE, + SpeciesId.THIEVUL, + SpeciesId.ELDEGOSS, + SpeciesId.DUBWOOL, + SpeciesId.DREDNAW, + SpeciesId.BOLTUND, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.CENTISKORCH, + SpeciesId.GRAPPLOCT, + SpeciesId.POLTEAGEIST, + SpeciesId.HATTERENE, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAQUAVAL, + SpeciesId.OINKOLOGNE, + SpeciesId.PAWMOT, + SpeciesId.MAUSHOLD, + SpeciesId.DACHSBUN, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.BELLIBOLT, + SpeciesId.KILOWATTREL, + SpeciesId.MABOSSTIFF, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.SCOVILLAIN, + SpeciesId.RABSCA, + SpeciesId.ESPATHRA, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.PALAFIN, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMORA, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.BLOODMOON_URSALUNA, [ - Species.BASCULIN, + SpeciesId.BASCULIN, "blue-striped", "red-striped", ] ], - [Moves.LOW_KICK]: [ - Species.SANDSHREW, - Species.SANDSLASH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.PONYTA, - Species.RAPIDASH, - Species.DODUO, - Species.DODRIO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.KANGASKHAN, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.KABUTOPS, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.FLAAFFY, - Species.AMPHAROS, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.GIRAFARIG, - Species.SNUBBULL, - Species.GRANBULL, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.TYROGUE, - Species.HITMONTOP, - Species.ELEKID, - Species.MAGBY, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.ARMALDO, - Species.KECLEON, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.BONSLY, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GALLADE, - Species.PIGNITE, - Species.EMBOAR, - Species.PATRAT, - Species.WATCHOG, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.LEAVANNY, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.CARRACOSTA, - Species.ZOROARK, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.HEATMOR, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROGADIER, - Species.GRENINJA, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.BARBARACLE, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.MUDBRAY, - Species.MUDSDALE, - Species.BEWEAR, - Species.TSAREENA, - Species.PASSIMIAN, - Species.KOMALA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.STONJOURNER, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.URSALUNA, - Species.SNEASLER, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.LOKIX, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.GRAFAIAI, - Species.ESPATHRA, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.KINGAMBIT, - Species.SLITHER_WING, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.OKIDOGI, - Species.OGERPON, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_ZAPDOS, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.LOW_KICK]: [ + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.KANGASKHAN, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.KABUTOPS, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.GIRAFARIG, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.BONSLY, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.LEAVANNY, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.CARRACOSTA, + SpeciesId.ZOROARK, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.HEATMOR, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.BARBARACLE, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.BEWEAR, + SpeciesId.TSAREENA, + SpeciesId.PASSIMIAN, + SpeciesId.KOMALA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.STONJOURNER, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.GRAFAIAI, + SpeciesId.ESPATHRA, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.KINGAMBIT, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.COUNTER]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PARAS, - Species.PARASECT, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.LEDYBA, - Species.LEDIAN, - Species.TOGEPI, - Species.TOGETIC, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.WOBBUFFET, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SNUBBULL, - Species.GRANBULL, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.TAILLOW, - Species.SWELLOW, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.KECLEON, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.SHIELDON, - Species.BASTIODON, - Species.RIOLU, - Species.LUCARIO, - Species.SHELLOS, - Species.GASTRODON, - Species.CROAGUNK, - Species.TOXICROAK, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SAWK, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZORUA, - Species.ZOROARK, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.ACCELGOR, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.PASSIMIAN, - Species.PYUKUMUKU, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SKWOVET, - Species.GREEDENT, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.FALINKS, - Species.KUBFU, - Species.URSHIFU, - Species.QUAQUAVAL, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.FINIZEN, - Species.PALAFIN, - Species.TATSUGIRI, - Species.KORAIDON, - Species.OKIDOGI, - Species.OGERPON, - Species.IRON_BOULDER, + [MoveId.COUNTER]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.WOBBUFFET, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.KECLEON, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SAWK, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.ACCELGOR, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.PASSIMIAN, + SpeciesId.PYUKUMUKU, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.FALINKS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.QUAQUAVAL, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.TATSUGIRI, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.IRON_BOULDER, ], - [Moves.STRENGTH]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATICATE, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.GENGAR, - Species.ONIX, - Species.KRABBY, - Species.KINGLER, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.AERODACTYL, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.BAYLEEF, - Species.MEGANIUM, - Species.QUILAVA, - Species.TYPHLOSION, - Species.CROCONAW, - Species.FERALIGATR, - Species.FURRET, - Species.LEDIAN, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.QUAGSIRE, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.TYROGUE, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.MIGHTYENA, - Species.LINOONE, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.DELCATTY, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.GULPIN, - Species.SWALOT, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.CLAYDOL, - Species.CRADILY, - Species.ARMALDO, - Species.KECLEON, - Species.DUSCLOPS, - Species.TROPIUS, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BUIZEL, - Species.FLOATZEL, - Species.GASTRODON, - Species.AMBIPOM, - Species.LOPUNNY, - Species.SKUNTANK, - Species.BRONZONG, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.SAMUROTT, - Species.WATCHOG, - Species.HERDIER, - Species.STOUTLAND, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SCOLIPEDE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.REUNICLUS, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.HAWLUCHA, - Species.GOODRA, - Species.PHANTUMP, - Species.TREVENANT, - Species.BERGMITE, - Species.AVALUGG, - Species.ZYGARDE, - Species.VOLCANION, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.OBSTAGOON, - Species.CUFANT, - Species.COPPERAJAH, - Species.URSALUNA, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SAMUROTT, - Species.HISUI_BRAVIARY, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.BLOODMOON_URSALUNA, + [MoveId.STRENGTH]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATICATE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.FURRET, + SpeciesId.LEDIAN, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.MIGHTYENA, + SpeciesId.LINOONE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.DELCATTY, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.LOPUNNY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZONG, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.WATCHOG, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCOLIPEDE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.REUNICLUS, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.OBSTAGOON, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.URSALUNA, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SOLAR_BEAM]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.ARCANINE, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.PONYTA, - Species.RAPIDASH, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.LICKITUNG, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.MR_MIME, - Species.TAUROS, - Species.LAPRAS, - Species.PORYGON, - Species.SNORLAX, - Species.MOLTRES, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PORYGON2, - Species.STANTLER, - Species.MILTANK, - Species.BLISSEY, - Species.ENTEI, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.SKITTY, - Species.DELCATTY, - Species.MAWILE, - Species.AGGRON, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CAMERUPT, - Species.TORKOAL, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.CASTFORM, - Species.KECLEON, - Species.TROPIUS, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.INFERNAPE, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.MOTHIM, - Species.CHERUBI, - Species.CHERRIM, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.MUNCHLAX, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.LICKILICKY, - Species.TANGROWTH, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.PORYGON_Z, - Species.UXIE, - Species.HEATRAN, - Species.CRESSELIA, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.GIGALITH, - Species.AUDINO, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SIGILYPH, - Species.GARBODOR, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROSEED, - Species.FERROTHORN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.CRYOGONAL, - Species.GOLURK, - Species.HEATMOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.VIRIZION, - Species.RESHIRAM, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.HELIOLISK, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIBAT, - Species.NOIVERN, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.VIKAVOLT, - Species.RIBOMBEE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.MINIOR, - Species.TURTONATOR, - Species.DRAMPA, - Species.DHELMISE, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.LUNALA, - Species.XURKITREE, - Species.CELESTEELA, - Species.NECROZMA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.DOTTLER, - Species.ORBEETLE, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.CENTISKORCH, - Species.MR_RIME, - Species.ALCREMIE, - Species.DURALUDON, - Species.DRAGAPULT, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.ZARUDE, - Species.CALYREX, - Species.WYRDEER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.ARMAROUGE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.GLIMMORA, - Species.DUDUNSPARCE, - Species.BRUTE_BONNET, - Species.IRON_MOTH, - Species.WO_CHIEN, - Species.KORAIDON, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_NINETALES, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_MR_MIME, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + [MoveId.SOLAR_BEAM]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.ARCANINE, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.TAUROS, + SpeciesId.LAPRAS, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.MOLTRES, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.TROPIUS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.MUNCHLAX, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.LICKILICKY, + SpeciesId.TANGROWTH, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.PORYGON_Z, + SpeciesId.UXIE, + SpeciesId.HEATRAN, + SpeciesId.CRESSELIA, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.GIGALITH, + SpeciesId.AUDINO, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SIGILYPH, + SpeciesId.GARBODOR, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.CRYOGONAL, + SpeciesId.GOLURK, + SpeciesId.HEATMOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.HELIOLISK, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.VIKAVOLT, + SpeciesId.RIBOMBEE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.MINIOR, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.CENTISKORCH, + SpeciesId.MR_RIME, + SpeciesId.ALCREMIE, + SpeciesId.DURALUDON, + SpeciesId.DRAGAPULT, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.ARMAROUGE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.GLIMMORA, + SpeciesId.DUDUNSPARCE, + SpeciesId.BRUTE_BONNET, + SpeciesId.IRON_MOTH, + SpeciesId.WO_CHIEN, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.FIRE_SPIN]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.VULPIX, - Species.NINETALES, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.MAGMAR, - Species.FLAREON, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SLUGMA, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.ENTEI, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.FLYGON, - Species.ALTARIA, - Species.SOLROCK, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.SKUNTANK, - Species.MAGMORTAR, - Species.HEATRAN, - Species.VICTINI, - Species.PANSEAR, - Species.SIMISEAR, - Species.DARUMAKA, - Species.DARMANITAN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.HEATMOR, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.TURTONATOR, - Species.SOLGALEO, - Species.BLACEPHALON, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.CARKOL, - Species.COALOSSAL, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.DRACOZOLT, - Species.ETERNATUS, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.IRON_MOTH, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.ALOLA_MAROWAK, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, + [MoveId.FIRE_SPIN]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.SOLROCK, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.SKUNTANK, + SpeciesId.MAGMORTAR, + SpeciesId.HEATRAN, + SpeciesId.VICTINI, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.HEATMOR, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.TURTONATOR, + SpeciesId.SOLGALEO, + SpeciesId.BLACEPHALON, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.DRACOZOLT, + SpeciesId.ETERNATUS, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.IRON_MOTH, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.THUNDERBOLT]: [ - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.MAGNEMITE, - Species.MAGNETON, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.VOLTORB, - Species.ELECTRODE, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.ELECTABUZZ, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.JOLTEON, - Species.PORYGON, - Species.SNORLAX, - Species.ZAPDOS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.AIPOM, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.PORYGON2, - Species.STANTLER, - Species.ELEKID, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.ZIGZAGOON, - Species.LINOONE, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ZANGOOSE, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.ABSOL, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.PACHIRISU, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.GLAMEOW, - Species.PURUGLY, - Species.MIME_JR, - Species.MUNCHLAX, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.AUDINO, - Species.GARBODOR, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.STUNFISK, - Species.GOLURK, - Species.THUNDURUS, - Species.ZEKROM, - Species.MELOETTA, - Species.GENESECT, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.SKRELP, - Species.DRAGALGE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.DEDENNE, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.XERNEAS, - Species.HOOPA, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.ORANGURU, - Species.SILVALLY, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.XURKITREE, - Species.MAGEARNA, - Species.NAGANADEL, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MR_RIME, - Species.PINCURCHIN, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.REGIELEKI, - Species.WYRDEER, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.CYCLIZAR, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.SANDY_SHOCKS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.ARCHALUDON, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.THUNDERBOLT]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.ELECTABUZZ, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.ZAPDOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.AIPOM, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.ELEKID, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ZANGOOSE, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.ABSOL, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.MIME_JR, + SpeciesId.MUNCHLAX, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.AUDINO, + SpeciesId.GARBODOR, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.STUNFISK, + SpeciesId.GOLURK, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.DEDENNE, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.XERNEAS, + SpeciesId.HOOPA, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.ORANGURU, + SpeciesId.SILVALLY, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.MAGEARNA, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.REGIELEKI, + SpeciesId.WYRDEER, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.CYCLIZAR, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.ARCHALUDON, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.THUNDER_WAVE]: [ - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.CHANSEY, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.ELECTABUZZ, - Species.GYARADOS, - Species.JOLTEON, - Species.PORYGON, - Species.ZAPDOS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.AIPOM, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.REMORAID, - Species.OCTILLERY, - Species.PORYGON2, - Species.STANTLER, - Species.ELEKID, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.ZIGZAGOON, - Species.LINOONE, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.VIGOROTH, - Species.SLAKING, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.SPOINK, - Species.GRUMPIG, - Species.ZANGOOSE, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.CHIMECHO, - Species.ABSOL, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.MIME_JR, - Species.HAPPINY, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.TOGEKISS, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.MUSHARNA, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SIGILYPH, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.TYNAMO, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.STUNFISK, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.THUNDURUS, - Species.ZEKROM, - Species.MELOETTA, - Species.GENESECT, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.DEDENNE, - Species.KLEFKI, - Species.XERNEAS, - Species.HOOPA, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.TYPE_NULL, - Species.SILVALLY, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.XURKITREE, - Species.NECROZMA, - Species.MAGEARNA, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.WOOLOO, - Species.DUBWOOL, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.MR_RIME, - Species.PINCURCHIN, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.REGIELEKI, - Species.WYRDEER, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.FARIGIRAF, - Species.KINGAMBIT, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.SANDY_SHOCKS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.ARCHALUDON, - Species.RAGING_BOLT, - Species.ALOLA_RAICHU, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_STUNFISK, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.THUNDER_WAVE]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.CHANSEY, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.ELECTABUZZ, + SpeciesId.GYARADOS, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.ZAPDOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.AIPOM, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.ELEKID, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.ZANGOOSE, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SIGILYPH, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.TYNAMO, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.STUNFISK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.DEDENNE, + SpeciesId.KLEFKI, + SpeciesId.XERNEAS, + SpeciesId.HOOPA, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.MR_RIME, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.REGIELEKI, + SpeciesId.WYRDEER, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.FARIGIRAF, + SpeciesId.KINGAMBIT, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.ARCHALUDON, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.THUNDER]: [ - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.MAGNEMITE, - Species.MAGNETON, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.VOLTORB, - Species.ELECTRODE, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.ELECTABUZZ, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.JOLTEON, - Species.PORYGON, - Species.SNORLAX, - Species.ZAPDOS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.AIPOM, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.PORYGON2, - Species.STANTLER, - Species.ELEKID, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.ZIGZAGOON, - Species.LINOONE, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ZANGOOSE, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.ABSOL, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.PACHIRISU, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.GLAMEOW, - Species.PURUGLY, - Species.MIME_JR, - Species.MUNCHLAX, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.PORYGON_Z, - Species.PROBOPASS, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.WATCHOG, - Species.STOUTLAND, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.AUDINO, - Species.CINCCINO, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.EMOLGA, - Species.GALVANTULA, - Species.FERROTHORN, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.STUNFISK, - Species.THUNDURUS, - Species.ZEKROM, - Species.MELOETTA, - Species.GENESECT, - Species.AROMATISSE, - Species.SLURPUFF, - Species.DRAGALGE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AURORUS, - Species.DEDENNE, - Species.SLIGGOO, - Species.GOODRA, - Species.XERNEAS, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.ORANGURU, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.XURKITREE, - Species.ZERAORA, - Species.MELMETAL, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MR_RIME, - Species.PINCURCHIN, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.REGIELEKI, - Species.WYRDEER, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.MIRAIDON, - Species.ARCHALUDON, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.THUNDER]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.ELECTABUZZ, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.ZAPDOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.AIPOM, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.ELEKID, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ZANGOOSE, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.ABSOL, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.MIME_JR, + SpeciesId.MUNCHLAX, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.PORYGON_Z, + SpeciesId.PROBOPASS, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.WATCHOG, + SpeciesId.STOUTLAND, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.AUDINO, + SpeciesId.CINCCINO, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.EMOLGA, + SpeciesId.GALVANTULA, + SpeciesId.FERROTHORN, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.STUNFISK, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.AROMATISSE, + SpeciesId.SLURPUFF, + SpeciesId.DRAGALGE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AURORUS, + SpeciesId.DEDENNE, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.XERNEAS, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.ORANGURU, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.REGIELEKI, + SpeciesId.WYRDEER, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.MIRAIDON, + SpeciesId.ARCHALUDON, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.EARTHQUAKE]: [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.AERODACTYL, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.SUDOWOODO, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SHUCKLE, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.MANTINE, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.SWALOT, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.ALTARIA, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.CRADILY, - Species.ARMALDO, - Species.DUSCLOPS, - Species.TROPIUS, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.RELICANTH, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.GASTRODON, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.MANTYKE, - Species.ABOMASNOW, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.ARCEUS, - Species.EMBOAR, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.HAXORUS, - Species.BEARTIC, - Species.STUNFISK, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.HYDREIGON, - Species.TERRAKION, - Species.LANDORUS, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.GOGOAT, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AURORUS, - Species.GOODRA, - Species.TREVENANT, - Species.AVALUGG, - Species.ZYGARDE, - Species.VOLCANION, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.WISHIWASHI, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.STAKATAKA, - Species.MELMETAL, - Species.RILLABOOM, - Species.GREEDENT, - Species.DREDNAW, - Species.COALOSSAL, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.DRACOVISH, - Species.REGIDRAGO, - Species.WYRDEER, - Species.URSALUNA, - Species.SKELEDIRGE, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.ORTHWORM, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.TING_LU, - Species.ROARING_MOON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.TERAPAGOS, + [MoveId.EARTHQUAKE]: [ + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.MANTINE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.SWALOT, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ARMALDO, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.RELICANTH, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.GASTRODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.MANTYKE, + SpeciesId.ABOMASNOW, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.EMBOAR, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.HYDREIGON, + SpeciesId.TERRAKION, + SpeciesId.LANDORUS, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.GOGOAT, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AURORUS, + SpeciesId.GOODRA, + SpeciesId.TREVENANT, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.WISHIWASHI, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.GREEDENT, + SpeciesId.DREDNAW, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.REGIDRAGO, + SpeciesId.WYRDEER, + SpeciesId.URSALUNA, + SpeciesId.SKELEDIRGE, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.ORTHWORM, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.TERAPAGOS, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_TYPHLOSION, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.DIG]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PARAS, - Species.PARASECT, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.ONIX, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.KANGASKHAN, - Species.PINSIR, - Species.TAUROS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.HITMONTOP, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.REGIROCK, - Species.GROUDON, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.GASTRODON, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.HEATRAN, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.HEATMOR, - Species.DURANT, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.MEOWSTIC, - Species.BINACLE, - Species.BARBARACLE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.PHANTUMP, - Species.TREVENANT, - Species.ZYGARDE, - Species.VOLCANION, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.SKWOVET, - Species.GREEDENT, - Species.NICKIT, - Species.THIEVUL, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.CUFANT, - Species.COPPERAJAH, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.WYRDEER, - Species.URSALUNA, - Species.SNEASLER, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.WIGLETT, - Species.WUGTRIO, - Species.ORTHWORM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.TING_LU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.OKIDOGI, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.DIG]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.ONIX, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.HITMONTOP, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.REGIROCK, + SpeciesId.GROUDON, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.HEATRAN, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.MEOWSTIC, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.WYRDEER, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.ORTHWORM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.TOXIC]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.TOXTRICITY, - Species.ETERNATUS, - Species.SNEASLER, - Species.OVERQWIL, - Species.BELLIBOLT, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.VAROOM, - Species.REVAVROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.IRON_MOTH, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.PALDEA_WOOPER, + [MoveId.TOXIC]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.TOXTRICITY, + SpeciesId.ETERNATUS, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.BELLIBOLT, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.IRON_MOTH, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.PALDEA_WOOPER, ], - [Moves.PSYCHIC]: [ - Species.BUTTERFREE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VENONAT, - Species.VENOMOTH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.LAPRAS, - Species.PORYGON, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.SPINARAK, - Species.ARIADOS, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.POLITOED, - Species.YANMA, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.BLISSEY, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.GOREBYSS, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.WORMADAM, - Species.MOTHIM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.MUNCHLAX, - Species.LUCARIO, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.GIRATINA, - Species.CRESSELIA, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.WHIMSICOTT, - Species.DARMANITAN, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.GARBODOR, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.GOLETT, - Species.GOLURK, - Species.LARVESTA, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.MELOETTA, - Species.GENESECT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.AURORUS, - Species.SYLVEON, - Species.CARBINK, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.DIANCIE, - Species.HOOPA, - Species.PRIMARINA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ORANGURU, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.MIMIKYU, - Species.BRUXISH, - Species.TAPU_LELE, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.NECROZMA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.DOTTLER, - Species.ORBEETLE, - Species.THIEVUL, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.CURSOLA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.INDEEDEE, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.ENAMORUS, - Species.ARMAROUGE, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.VELUZA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.IRON_MOTH, - Species.GHOLDENGO, - Species.CHI_YU, - Species.IRON_VALIANT, - Species.MUNKIDORI, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, + [MoveId.PSYCHIC]: [ + SpeciesId.BUTTERFREE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.LAPRAS, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.POLITOED, + SpeciesId.YANMA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.GOREBYSS, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.LUCARIO, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.WHIMSICOTT, + SpeciesId.DARMANITAN, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.GARBODOR, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.PRIMARINA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ORANGURU, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.TAPU_LELE, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.THIEVUL, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ENAMORUS, + SpeciesId.ARMAROUGE, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.VELUZA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_MOTH, + SpeciesId.GHOLDENGO, + SpeciesId.CHI_YU, + SpeciesId.IRON_VALIANT, + SpeciesId.MUNKIDORI, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.AGILITY]: [ - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.VULPIX, - Species.NINETALES, - Species.ZUBAT, - Species.GOLBAT, - Species.PARAS, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.HITMONCHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARMIE, - Species.SCYTHER, - Species.JOLTEON, - Species.PORYGON, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.FERALIGATR, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.AIPOM, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.GLIGAR, - Species.QWILFISH, - Species.SCIZOR, - Species.SNEASEL, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.KINGDRA, - Species.PORYGON2, - Species.STANTLER, - Species.HITMONTOP, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINJASK, - Species.SHEDINJA, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.CARVANHA, - Species.SHARPEDO, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.GOREBYSS, - Species.LUVDISC, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.LUXRAY, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.CHATOT, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.WEAVILE, - Species.GLISCOR, - Species.PORYGON_Z, - Species.GALLADE, - Species.ARCEUS, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.SEWADDLE, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.BASCULIN, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.RUFFLET, - Species.BRAVIARY, - Species.DURANT, - Species.TORNADUS, - Species.THUNDURUS, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.DEDENNE, - Species.NOIBAT, - Species.NOIVERN, - Species.VIKAVOLT, - Species.ORICORIO, - Species.RIBOMBEE, - Species.LYCANROC, - Species.SALANDIT, - Species.SALAZZLE, - Species.TOGEDEMARU, - Species.BRUXISH, - Species.TAPU_KOKO, - Species.SOLGALEO, - Species.LUNALA, - Species.PHEROMOSA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.ZERAORA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.WOOLOO, - Species.DUBWOOL, - Species.BOLTUND, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.HATTERENE, - Species.FALINKS, - Species.EISCUE, - Species.MORPEKO, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.REGIELEKI, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAQUAVAL, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.WATTREL, - Species.KILOWATTREL, - Species.FLITTLE, - Species.ESPATHRA, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.CYCLIZAR, - Species.FLAMIGO, - Species.VELUZA, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.IRON_BUNDLE, - Species.IRON_MOTH, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.FEZANDIPITI, - Species.IRON_BOULDER, + [MoveId.AGILITY]: [ + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.PARAS, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.HITMONCHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARMIE, + SpeciesId.SCYTHER, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.FERALIGATR, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.AIPOM, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SNEASEL, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.KINGDRA, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.HITMONTOP, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.GOREBYSS, + SpeciesId.LUVDISC, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.LUXRAY, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.CHATOT, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.WEAVILE, + SpeciesId.GLISCOR, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.ARCEUS, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.SEWADDLE, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.BASCULIN, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.DURANT, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.VIKAVOLT, + SpeciesId.ORICORIO, + SpeciesId.RIBOMBEE, + SpeciesId.LYCANROC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TOGEDEMARU, + SpeciesId.BRUXISH, + SpeciesId.TAPU_KOKO, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.BOLTUND, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.HATTERENE, + SpeciesId.FALINKS, + SpeciesId.EISCUE, + SpeciesId.MORPEKO, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.REGIELEKI, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAQUAVAL, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.CYCLIZAR, + SpeciesId.FLAMIGO, + SpeciesId.VELUZA, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.FEZANDIPITI, + SpeciesId.IRON_BOULDER, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "speed", ], - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.NIGHT_SHADE]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.VENONAT, - Species.VENOMOTH, - Species.KADABRA, - Species.ALAKAZAM, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.SPINARAK, - Species.ARIADOS, - Species.NATU, - Species.XATU, - Species.MURKROW, - Species.MISDREAVUS, - Species.GARDEVOIR, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.DEOXYS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.BRONZONG, - Species.CHATOT, - Species.SPIRITOMB, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.DARKRAI, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.GOLETT, - Species.GOLURK, - Species.DELPHOX, - Species.PHANTUMP, - Species.TREVENANT, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MIMIKYU, - Species.LUNALA, - Species.BLACEPHALON, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.CURSOLA, - Species.RUNERIGUS, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.SPECTRIER, - Species.BASCULEGION, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.ESPATHRA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.FLUTTER_MANE, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.MUNKIDORI, - Species.PECHARUNT, - Species.GALAR_CORSOLA, - Species.GALAR_YAMASK, + [MoveId.NIGHT_SHADE]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GARDEVOIR, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.DEOXYS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.BRONZONG, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.DARKRAI, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.DELPHOX, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MIMIKYU, + SpeciesId.LUNALA, + SpeciesId.BLACEPHALON, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.SPECTRIER, + SpeciesId.BASCULEGION, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.ESPATHRA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.FLUTTER_MANE, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.MUNKIDORI, + SpeciesId.PECHARUNT, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_YAMASK, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_TYPHLOSION, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.SCREECH]: [ - Species.RATTATA, - Species.EKANS, - Species.ARBOK, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GOLBAT, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.MAGNEMITE, - Species.MAGNETON, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.ONIX, - Species.VOLTORB, - Species.ELECTRODE, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.IGGLYBUFF, - Species.MAREEP, - Species.POLITOED, - Species.AIPOM, - Species.YANMA, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNEASEL, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.ELEKID, - Species.MAGBY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.SHIFTRY, - Species.NINJASK, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.VIBRAVA, - Species.FLYGON, - Species.SEVIPER, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.HUNTAIL, - Species.KRICKETUNE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.VESPIQUEN, - Species.AMBIPOM, - Species.STUNKY, - Species.SKUNTANK, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.YANMEGA, - Species.GLISCOR, - Species.OSHAWOTT, - Species.PATRAT, - Species.PURRLOIN, - Species.LIEPARD, - Species.BLITZLE, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.MARACTUS, - Species.GARBODOR, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.ELGYEM, - Species.BEHEEYEM, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.GENESECT, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.BINACLE, - Species.BARBARACLE, - Species.NOIBAT, - Species.NOIVERN, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.WIMPOD, - Species.GOLISOPOD, - Species.PYUKUMUKU, - Species.MIMIKYU, - Species.BRUXISH, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.KARTANA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.TOXTRICITY, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.MR_RIME, - Species.FALINKS, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ETERNATUS, - Species.REGIELEKI, - Species.SNEASLER, - Species.NYMBLE, - Species.LOKIX, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.VAROOM, - Species.REVAVROOM, - Species.ANNIHILAPE, - Species.DUDUNSPARCE, - Species.SANDY_SHOCKS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.KORAIDON, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ZAPDOS, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_STUNFISK, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_SNEASEL, + [MoveId.SCREECH]: [ + SpeciesId.RATTATA, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GOLBAT, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.ONIX, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.IGGLYBUFF, + SpeciesId.MAREEP, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.YANMA, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNEASEL, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.SHIFTRY, + SpeciesId.NINJASK, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SEVIPER, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.HUNTAIL, + SpeciesId.KRICKETUNE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.VESPIQUEN, + SpeciesId.AMBIPOM, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.OSHAWOTT, + SpeciesId.PATRAT, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.BLITZLE, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.MARACTUS, + SpeciesId.GARBODOR, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.GENESECT, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.PYUKUMUKU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.KARTANA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.TOXTRICITY, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.FALINKS, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ETERNATUS, + SpeciesId.REGIELEKI, + SpeciesId.SNEASLER, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ANNIHILAPE, + SpeciesId.DUDUNSPARCE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.KORAIDON, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_SNEASEL, ], - [Moves.DOUBLE_TEAM]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.DOUBLE_TEAM]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.CONFUSE_RAY]: [ - Species.VULPIX, - Species.NINETALES, - Species.ZUBAT, - Species.GOLBAT, - Species.VENONAT, - Species.VENOMOTH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.MAGNEMITE, - Species.MAGNETON, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.HYPNO, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.MAGMAR, - Species.LAPRAS, - Species.KABUTO, - Species.KABUTOPS, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.CORSOLA, - Species.MANTINE, - Species.STANTLER, - Species.MAGBY, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHEDINJA, - Species.SABLEYE, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SPOINK, - Species.GRUMPIG, - Species.LILEEP, - Species.CRADILY, - Species.FEEBAS, - Species.MILOTIC, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.JIRACHI, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.VESPIQUEN, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.SKORUPI, - Species.DRAPION, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.MAGNEZONE, - Species.MAGMORTAR, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.WATCHOG, - Species.ZORUA, - Species.ZOROARK, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.EELEKTROSS, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.CRYOGONAL, - Species.GOLETT, - Species.GOLURK, - Species.DELPHOX, - Species.VIVILLON, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.MORELULL, - Species.SHIINOTIC, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.MIMIKYU, - Species.LUNALA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.CURSOLA, - Species.MR_RIME, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.SPECTRIER, - Species.WYRDEER, - Species.BASCULEGION, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FARIGIRAF, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.IRON_MOTH, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.CHI_YU, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.MUNKIDORI, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MR_MIME, - Species.GALAR_CORSOLA, + [MoveId.CONFUSE_RAY]: [ + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.HYPNO, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.MAGMAR, + SpeciesId.LAPRAS, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.CORSOLA, + SpeciesId.MANTINE, + SpeciesId.STANTLER, + SpeciesId.MAGBY, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.JIRACHI, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.VESPIQUEN, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.MAGNEZONE, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.WATCHOG, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.EELEKTROSS, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.CRYOGONAL, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.MIMIKYU, + SpeciesId.LUNALA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.SPECTRIER, + SpeciesId.WYRDEER, + SpeciesId.BASCULEGION, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FARIGIRAF, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_MOTH, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.CHI_YU, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.MUNKIDORI, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_CORSOLA, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_TYPHLOSION, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.LIGHT_SCREEN]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PARAS, - Species.PARASECT, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.CLOYSTER, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.ARTICUNO, - Species.ZAPDOS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.LEDYBA, - Species.LEDIAN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.SCIZOR, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.STANTLER, - Species.SMOOCHUM, - Species.ELEKID, - Species.BLISSEY, - Species.RAIKOU, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.DUSTOX, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.AZURILL, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.FEEBAS, - Species.MILOTIC, - Species.CHIMECHO, - Species.SNORUNT, - Species.GLALIE, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.SNOVER, - Species.ABOMASNOW, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.TOGEKISS, - Species.MAMOSWINE, - Species.GALLADE, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.MANAPHY, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.WATCHOG, - Species.MUNNA, - Species.MUSHARNA, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.WHIMSICOTT, - Species.LILLIGANT, - Species.SIGILYPH, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.CRYOGONAL, - Species.LARVESTA, - Species.VOLCARONA, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.GENESECT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.DEDENNE, - Species.CARBINK, - Species.KLEFKI, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PRIMARINA, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.TOXAPEX, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PYUKUMUKU, - Species.MINIOR, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.XURKITREE, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.APPLETUN, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.CURSOLA, - Species.MR_RIME, - Species.ALCREMIE, - Species.FROSMOTH, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.ARBOLIVA, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.GLIMMET, - Species.GLIMMORA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.SANDY_SHOCKS, - Species.IRON_MOTH, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHI_YU, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.ARCHALUDON, - Species.ALOLA_RAICHU, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, + [MoveId.LIGHT_SCREEN]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.CLOYSTER, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.SCIZOR, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.DUSTOX, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.AZURILL, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CHIMECHO, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.WATCHOG, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.WHIMSICOTT, + SpeciesId.LILLIGANT, + SpeciesId.SIGILYPH, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.CRYOGONAL, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PRIMARINA, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.TOXAPEX, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PYUKUMUKU, + SpeciesId.MINIOR, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.APPLETUN, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.ALCREMIE, + SpeciesId.FROSMOTH, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.ARBOLIVA, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_MOTH, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHI_YU, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.ARCHALUDON, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "female", ], ], - [Moves.HAZE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.EKANS, - Species.ARBOK, - Species.ZUBAT, - Species.GOLBAT, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.KOFFING, - Species.WEEZING, - Species.GOLDEEN, - Species.SEAKING, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.ARTICUNO, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.NATU, - Species.XATU, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.MURKROW, - Species.QWILFISH, - Species.SWINUB, - Species.PILOSWINE, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SWABLU, - Species.ALTARIA, - Species.SEVIPER, - Species.FEEBAS, - Species.MILOTIC, - Species.DUSKULL, - Species.DUSCLOPS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.MANTYKE, - Species.GLACEON, - Species.MAMOSWINE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.CRYOGONAL, - Species.ZEKROM, - Species.GRENINJA, - Species.SKRELP, - Species.DRAGALGE, - Species.AMAURA, - Species.AURORUS, - Species.TREVENANT, - Species.ZYGARDE, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PRIMARINA, - Species.MAREANIE, - Species.TOXAPEX, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.RUNERIGUS, - Species.SPECTRIER, - Species.OVERQWIL, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CLODSIRE, - Species.CHIEN_PAO, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_CORSOLA, - Species.GALAR_YAMASK, + [MoveId.HAZE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.ARTICUNO, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.MURKROW, + SpeciesId.QWILFISH, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.SEVIPER, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.MANTYKE, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.CRYOGONAL, + SpeciesId.ZEKROM, + SpeciesId.GRENINJA, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.TREVENANT, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PRIMARINA, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.RUNERIGUS, + SpeciesId.SPECTRIER, + SpeciesId.OVERQWIL, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CLODSIRE, + SpeciesId.CHIEN_PAO, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_YAMASK, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_QWILFISH, - Species.HISUI_DECIDUEYE, - Species.PALDEA_WOOPER, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_WOOPER, ], - [Moves.REFLECT]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.PIKACHU, - Species.RAICHU, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.GROWLITHE, - Species.ARCANINE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SHELLDER, - Species.CLOYSTER, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.TANGELA, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.SNUBBULL, - Species.GRANBULL, - Species.SNEASEL, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.STANTLER, - Species.SMOOCHUM, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BASTIODON, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.WEAVILE, - Species.MAGNEZONE, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.TOGEKISS, - Species.MAMOSWINE, - Species.GALLADE, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.MANAPHY, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.LEAVANNY, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.CRYOGONAL, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.KELDEO, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.INKAY, - Species.MALAMAR, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.CARBINK, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.PRIMARINA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ARAQUANID, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.ORANGURU, - Species.PYUKUMUKU, - Species.MINIOR, - Species.TOGEDEMARU, - Species.BRUXISH, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.XURKITREE, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.CURSOLA, - Species.MR_RIME, - Species.FROSMOTH, - Species.EISCUE, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.CALYREX, - Species.WYRDEER, - Species.ARBOLIVA, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.GLIMMET, - Species.GLIMMORA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.SANDY_SHOCKS, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHI_YU, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_CORSOLA, + [MoveId.REFLECT]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BASTIODON, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.LEAVANNY, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.CRYOGONAL, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.PRIMARINA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ARAQUANID, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.ORANGURU, + SpeciesId.PYUKUMUKU, + SpeciesId.MINIOR, + SpeciesId.TOGEDEMARU, + SpeciesId.BRUXISH, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ARBOLIVA, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHI_YU, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_CORSOLA, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "female", ], - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.FOCUS_ENERGY]: [ - Species.BEEDRILL, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.MANKEY, - Species.PRIMEAPE, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.FARFETCHD, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.SCYTHER, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.ARIADOS, - Species.ESPEON, - Species.UMBREON, - Species.SCIZOR, - Species.TEDDIURSA, - Species.REMORAID, - Species.OCTILLERY, - Species.KINGDRA, - Species.PHANPY, - Species.TYROGUE, - Species.HITMONTOP, - Species.MAGBY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.TAILLOW, - Species.SWELLOW, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.CARVANHA, - Species.SHARPEDO, - Species.NUMEL, - Species.CAMERUPT, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.KRICKETUNE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.STUNKY, - Species.SKUNTANK, - Species.LUCARIO, - Species.MAGMORTAR, - Species.LEAFEON, - Species.GLACEON, - Species.VICTINI, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.MIENFOO, - Species.MIENSHAO, - Species.BOUFFALANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.PANGORO, - Species.SYLVEON, - Species.VOLCANION, - Species.PASSIMIAN, - Species.BUZZWOLE, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.BOLTUND, - Species.FLAPPLE, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.SIRFETCHD, - Species.FALINKS, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.REGIDRAGO, - Species.KLEAVOR, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.FINIZEN, - Species.PALAFIN, - Species.FLAMIGO, - Species.VELUZA, - Species.ANNIHILAPE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.OGERPON, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.PIKACHU, - Species.ALOLA_MAROWAK, + [MoveId.FOCUS_ENERGY]: [ + SpeciesId.BEEDRILL, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.FARFETCHD, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.SCYTHER, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.ARIADOS, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SCIZOR, + SpeciesId.TEDDIURSA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MAGBY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.KRICKETUNE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.LUCARIO, + SpeciesId.MAGMORTAR, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.VICTINI, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.BOUFFALANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.PANGORO, + SpeciesId.SYLVEON, + SpeciesId.VOLCANION, + SpeciesId.PASSIMIAN, + SpeciesId.BUZZWOLE, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.BOLTUND, + SpeciesId.FLAPPLE, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.REGIDRAGO, + SpeciesId.KLEAVOR, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.VELUZA, + SpeciesId.ANNIHILAPE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.PIKACHU, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "dusk", ], - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_SAMUROTT, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.METRONOME]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.CHANSEY, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CLEFFA, - Species.TOGEPI, - Species.TOGETIC, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.AIPOM, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.TEDDIURSA, - Species.URSARING, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.CELEBI, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSCLOPS, - Species.JIRACHI, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.FLOATZEL, - Species.AMBIPOM, - Species.HAPPINY, - Species.MUNCHLAX, - Species.LUCARIO, - Species.WEAVILE, - Species.TOGEKISS, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.TORNADUS, - Species.MELOETTA, - Species.DELPHOX, - Species.FLOETTE, - Species.FLORGES, - Species.AROMATISSE, - Species.SLURPUFF, - Species.DIANCIE, - Species.INTELEON, - Species.TOXTRICITY, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.MR_RIME, - Species.ALCREMIE, - Species.INDEEDEE, - Species.CALYREX, - Species.URSALUNA, - Species.PAWMOT, - Species.ARBOLIVA, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.ANNIHILAPE, - Species.SCREAM_TAIL, - Species.IRON_HANDS, - Species.IRON_VALIANT, - Species.MUNKIDORI, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.HISUI_LILLIGANT, + [MoveId.METRONOME]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.CHANSEY, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CLEFFA, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.CELEBI, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSCLOPS, + SpeciesId.JIRACHI, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.HAPPINY, + SpeciesId.MUNCHLAX, + SpeciesId.LUCARIO, + SpeciesId.WEAVILE, + SpeciesId.TOGEKISS, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.TORNADUS, + SpeciesId.MELOETTA, + SpeciesId.DELPHOX, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.AROMATISSE, + SpeciesId.SLURPUFF, + SpeciesId.DIANCIE, + SpeciesId.INTELEON, + SpeciesId.TOXTRICITY, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.URSALUNA, + SpeciesId.PAWMOT, + SpeciesId.ARBOLIVA, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.ANNIHILAPE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_VALIANT, + SpeciesId.MUNKIDORI, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_LILLIGANT, ], - [Moves.SELF_DESTRUCT]: [ - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.KOFFING, - Species.WEEZING, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.SUDOWOODO, - Species.PINECO, - Species.FORRETRESS, - Species.STEELIX, - Species.QWILFISH, - Species.SLUGMA, - Species.MAGCARGO, - Species.CORSOLA, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.NOSEPASS, - Species.GULPIN, - Species.SWALOT, - Species.WAILMER, - Species.WAILORD, - Species.CAMERUPT, - Species.TORKOAL, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.GLALIE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BONSLY, - Species.MUNCHLAX, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.AZELF, - Species.HEATRAN, - Species.GIGALITH, - Species.TRUBBISH, - Species.GARBODOR, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FERROSEED, - Species.FERROTHORN, - Species.CRYOGONAL, - Species.GOLETT, - Species.GOLURK, - Species.LANDORUS, - Species.GENESECT, - Species.VOLCANION, - Species.SILVALLY, - Species.MINIOR, - Species.CELESTEELA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.MELMETAL, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.POLTEAGEIST, - Species.CURSOLA, - Species.PINCURCHIN, - Species.STONJOURNER, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.VAROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_WEEZING, - Species.GALAR_CORSOLA, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_QWILFISH, + [MoveId.SELF_DESTRUCT]: [ + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.QWILFISH, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.NOSEPASS, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.GLALIE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BONSLY, + SpeciesId.MUNCHLAX, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.AZELF, + SpeciesId.HEATRAN, + SpeciesId.GIGALITH, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.CRYOGONAL, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.LANDORUS, + SpeciesId.GENESECT, + SpeciesId.VOLCANION, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.CELESTEELA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.MELMETAL, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.POLTEAGEIST, + SpeciesId.CURSOLA, + SpeciesId.PINCURCHIN, + SpeciesId.STONJOURNER, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.VAROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_QWILFISH, ], - [Moves.FIRE_BLAST]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GROWLITHE, - Species.ARCANINE, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MAGMAR, - Species.TAUROS, - Species.GYARADOS, - Species.FLAREON, - Species.AERODACTYL, - Species.SNORLAX, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.SLOWKING, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.SLUGMA, - Species.MAGCARGO, - Species.REMORAID, - Species.OCTILLERY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.BLISSEY, - Species.ENTEI, - Species.TYRANITAR, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAWILE, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.FLYGON, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SOLROCK, - Species.CASTFORM, - Species.KECLEON, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.GROUDON, - Species.RAYQUAZA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.STUNKY, - Species.SKUNTANK, - Species.HAPPINY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.AUDINO, - Species.DARUMAKA, - Species.DARMANITAN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.HEATMOR, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.RESHIRAM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.GOODRA, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SALANDIT, - Species.SALAZZLE, - Species.TURTONATOR, - Species.DRAMPA, - Species.SOLGALEO, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.CARKOL, - Species.COALOSSAL, - Species.CENTISKORCH, - Species.DRACOZOLT, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.SCOVILLAIN, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_GOODRA, + [MoveId.FIRE_BLAST]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MAGMAR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.BLISSEY, + SpeciesId.ENTEI, + SpeciesId.TYRANITAR, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SOLROCK, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.HAPPINY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.AUDINO, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.HEATMOR, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.GOODRA, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CENTISKORCH, + SpeciesId.DRACOZOLT, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.SCOVILLAIN, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_GOODRA, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.WATERFALL]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.SUICUNE, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.AZURILL, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.DEWPIDER, - Species.ARAQUANID, - Species.WIMPOD, - Species.GOLISOPOD, - Species.BRUXISH, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.EISCUE, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.BASCULEGION, - Species.OVERQWIL, - Species.FINIZEN, - Species.PALAFIN, - Species.VELUZA, - Species.DONDOZO, - Species.CLODSIRE, - Species.WALKING_WAKE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, + [MoveId.WATERFALL]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.AZURILL, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.BRUXISH, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.EISCUE, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.CLODSIRE, + SpeciesId.WALKING_WAKE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.PALDEA_WOOPER, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.PALDEA_WOOPER, ], - [Moves.SWIFT]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.VENONAT, - Species.VENOMOTH, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.CHANSEY, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.SCYTHER, - Species.ELECTABUZZ, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.AIPOM, - Species.YANMA, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.QWILFISH, - Species.SCIZOR, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.ELEKID, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.NINJASK, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.CHIMECHO, - Species.ABSOL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.LUVDISC, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, + [MoveId.SWIFT]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.CHANSEY, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.SCYTHER, + SpeciesId.ELECTABUZZ, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.YANMA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.ELEKID, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.NINJASK, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.LUVDISC, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "", "speed", ], - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.CHATOT, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.WEAVILE, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.BASCULIN, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.DUCKLETT, - Species.SWANNA, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.KLEFKI, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.LYCANROC, - Species.SALANDIT, - Species.SALAZZLE, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.ORANGURU, - Species.WIMPOD, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.TOGEDEMARU, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.SOLGALEO, - Species.LUNALA, - Species.PHEROMOSA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.YAMPER, - Species.BOLTUND, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.OBSTAGOON, - Species.PINCURCHIN, - Species.FROSMOTH, - Species.INDEEDEE, - Species.MORPEKO, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.FLITTLE, - Species.ESPATHRA, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.FLUTTER_MANE, - Species.SANDY_SHOCKS, - Species.IRON_BUNDLE, - Species.IRON_MOTH, - Species.IRON_VALIANT, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.CHATOT, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.BASCULIN, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.KLEFKI, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.LYCANROC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.ORANGURU, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.TOGEDEMARU, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.OBSTAGOON, + SpeciesId.PINCURCHIN, + SpeciesId.FROSMOTH, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.FLUTTER_MANE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_VALIANT, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.AMNESIA]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.KRABBY, - Species.KINGLER, - Species.LICKITUNG, - Species.TANGELA, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CHINCHOU, - Species.LANTURN, - Species.CLEFFA, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.HOPPIP, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.WOBBUFFET, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.MANTINE, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.GULPIN, - Species.SWALOT, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.BARBOACH, - Species.WHISCASH, - Species.LILEEP, - Species.CRADILY, - Species.CASTFORM, - Species.WYNAUT, - Species.GOREBYSS, - Species.RELICANTH, - Species.REGICE, - Species.REGISTEEL, - Species.JIRACHI, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BIDOOF, - Species.BIBAREL, - Species.SHELLOS, - Species.GASTRODON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MUNCHLAX, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.MANTYKE, - Species.LICKILICKY, - Species.TANGROWTH, - Species.TOGEKISS, - Species.MAMOSWINE, - Species.UXIE, - Species.PANSEAR, - Species.SIMISEAR, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TRUBBISH, - Species.GARBODOR, - Species.BOUFFALANT, - Species.HEATMOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.SWIRLIX, - Species.SLURPUFF, - Species.DIANCIE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MORELULL, - Species.SHIINOTIC, - Species.COMFEY, - Species.SANDYGAST, - Species.PALOSSAND, - Species.DRAMPA, - Species.GUZZLORD, - Species.SKWOVET, - Species.GREEDENT, - Species.APPLETUN, - Species.CRAMORANT, - Species.PERRSERKER, - Species.CURSOLA, - Species.RUNERIGUS, - Species.EISCUE, - Species.CETODDLE, - Species.CETITAN, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, + [MoveId.AMNESIA]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.LICKITUNG, + SpeciesId.TANGELA, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.CLEFFA, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.WOBBUFFET, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.MANTINE, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.CASTFORM, + SpeciesId.WYNAUT, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.JIRACHI, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MUNCHLAX, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.MANTYKE, + SpeciesId.LICKILICKY, + SpeciesId.TANGROWTH, + SpeciesId.TOGEKISS, + SpeciesId.MAMOSWINE, + SpeciesId.UXIE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.BOUFFALANT, + SpeciesId.HEATMOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.DIANCIE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.COMFEY, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.DRAMPA, + SpeciesId.GUZZLORD, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.APPLETUN, + SpeciesId.CRAMORANT, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.EISCUE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "defense", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.PALDEA_WOOPER, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.PALDEA_WOOPER, ], - [Moves.DREAM_EATER]: [ - Species.BUTTERFREE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VENOMOTH, - Species.MEOWTH, - Species.PERSIAN, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.LICKITUNG, - Species.CHANSEY, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.LAPRAS, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.AIPOM, - Species.YANMA, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.BLISSEY, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHEDINJA, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.GULPIN, - Species.SWALOT, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.SWABLU, - Species.ALTARIA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.WORMADAM, - Species.MOTHIM, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.WEAVILE, - Species.LICKILICKY, - Species.TOGEKISS, - Species.YANMEGA, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.GIRATINA, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.VIVILLON, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.AMAURA, - Species.AURORUS, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.HOOPA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.MORELULL, - Species.SHIINOTIC, - Species.ORANGURU, - Species.MIMIKYU, - Species.BRUXISH, - Species.LUNALA, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.MAROWAK, - Species.GALAR_ARTICUNO, + [MoveId.DREAM_EATER]: [ + SpeciesId.BUTTERFREE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VENOMOTH, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.AIPOM, + SpeciesId.YANMA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHEDINJA, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.ORANGURU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.LUNALA, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.MAROWAK, + SpeciesId.GALAR_ARTICUNO, ], - [Moves.LEECH_LIFE]: [ - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.ZUBAT, - Species.GOLBAT, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.KABUTO, - Species.KABUTOPS, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.YANMA, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.DUSKULL, - Species.DUSCLOPS, - Species.KRICKETUNE, - Species.DRAPION, - Species.YANMEGA, - Species.DUSKNOIR, - Species.JOLTIK, - Species.GALVANTULA, - Species.SHELMET, - Species.ACCELGOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.GENESECT, - Species.NOIBAT, - Species.NOIVERN, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.WIMPOD, - Species.GOLISOPOD, - Species.MIMIKYU, - Species.BUZZWOLE, - Species.NAGANADEL, - Species.DOTTLER, - Species.ORBEETLE, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.CURSOLA, - Species.FROSMOTH, - Species.DRACOVISH, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.RELLOR, - Species.RABSCA, - Species.SLITHER_WING, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, + [MoveId.LEECH_LIFE]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.YANMA, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.KRICKETUNE, + SpeciesId.DRAPION, + SpeciesId.YANMEGA, + SpeciesId.DUSKNOIR, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.GENESECT, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.MIMIKYU, + SpeciesId.BUZZWOLE, + SpeciesId.NAGANADEL, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.CURSOLA, + SpeciesId.FROSMOTH, + SpeciesId.DRACOVISH, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.SLITHER_WING, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, ], - [Moves.FLASH]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.KOFFING, - Species.WEEZING, - Species.CHANSEY, - Species.TANGELA, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.PORYGON, - Species.ZAPDOS, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.SHUCKLE, - Species.SKARMORY, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.ELEKID, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.CHERUBI, - Species.CHERRIM, - Species.GASTRODON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.SKORUPI, - Species.DRAPION, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.SNOVER, - Species.ABOMASNOW, - Species.MAGNEZONE, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.CRESSELIA, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.WATCHOG, - Species.PANSAGE, - Species.SIMISAGE, - Species.MUNNA, - Species.MUSHARNA, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.STUNFISK, - Species.GOLETT, - Species.GOLURK, - Species.VIRIZION, - Species.ZEKROM, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.DEDENNE, - Species.CARBINK, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.MORELULL, - Species.SHIINOTIC, - Species.PERRSERKER, - Species.MR_RIME, - Species.RUNERIGUS, - Species.WYRDEER, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.ALOLA_RAICHU, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_YAMASK, - Species.HISUI_LILLIGANT, - Species.HISUI_AVALUGG, - Species.PALDEA_WOOPER, + [MoveId.FLASH]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.ZAPDOS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.SHUCKLE, + SpeciesId.SKARMORY, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.GASTRODON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.MAGNEZONE, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.WATCHOG, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.STUNFISK, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.VIRIZION, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.WYRDEER, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_WOOPER, ], - [Moves.EXPLOSION]: [ - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.MAGNEMITE, - Species.MAGNETON, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.KOFFING, - Species.WEEZING, - Species.MEW, - Species.SUDOWOODO, - Species.PINECO, - Species.FORRETRESS, - Species.STEELIX, - Species.QWILFISH, - Species.MAGCARGO, - Species.CORSOLA, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.NOSEPASS, - Species.GULPIN, - Species.SWALOT, - Species.CAMERUPT, - Species.TORKOAL, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.GLALIE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZONG, - Species.BONSLY, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.PROBOPASS, - Species.AZELF, - Species.HEATRAN, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.TRUBBISH, - Species.GARBODOR, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FERROSEED, - Species.FERROTHORN, - Species.CRYOGONAL, - Species.LANDORUS, - Species.GENESECT, - Species.CARBINK, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DIANCIE, - Species.VOLCANION, - Species.SILVALLY, - Species.MINIOR, - Species.TURTONATOR, - Species.CELESTEELA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.ROLYCOLY, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GARGANACL, - Species.GLIMMET, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_WEEZING, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.EXPLOSION]: [ + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.QWILFISH, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.NOSEPASS, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.GLALIE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.PROBOPASS, + SpeciesId.AZELF, + SpeciesId.HEATRAN, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.CRYOGONAL, + SpeciesId.LANDORUS, + SpeciesId.GENESECT, + SpeciesId.CARBINK, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.TURTONATOR, + SpeciesId.CELESTEELA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.ROLYCOLY, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GARGANACL, + SpeciesId.GLIMMET, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_WEEZING, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.REST]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.REST]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.ROCK_SLIDE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.GRIMER, - Species.MUK, - Species.ONIX, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.PINSIR, - Species.TAUROS, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.GRANBULL, - Species.SHUCKLE, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.MANTINE, - Species.SKARMORY, - Species.PHANPY, - Species.DONPHAN, - Species.TYROGUE, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.ZANGOOSE, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.DUSCLOPS, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.RELICANTH, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.EMPOLEON, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.SHELLOS, - Species.GASTRODON, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.MANTYKE, - Species.ABOMASNOW, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.DARKRAI, - Species.ARCEUS, - Species.PIGNITE, - Species.EMBOAR, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.DURANT, - Species.HYDREIGON, - Species.TERRAKION, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.HAWLUCHA, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.VOLCANION, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.STAKATAKA, - Species.MELMETAL, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.FALINKS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.URSHIFU, - Species.ZARUDE, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.BOMBIRDIER, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.TING_LU, - Species.ROARING_MOON, - Species.ARCHALUDON, - Species.TERAPAGOS, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_CORSOLA, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.ROCK_SLIDE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.ONIX, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.RELICANTH, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.MANTYKE, + SpeciesId.ABOMASNOW, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.DURANT, + SpeciesId.HYDREIGON, + SpeciesId.TERRAKION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.HAWLUCHA, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.BOMBIRDIER, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.ARCHALUDON, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.TRI_ATTACK]: [ - Species.SPEAROW, - Species.FEAROW, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DUGTRIO, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNETON, - Species.DODUO, - Species.DODRIO, - Species.SHELLDER, - Species.CLOYSTER, - Species.DROWZEE, - Species.HYPNO, - Species.CHANSEY, - Species.STARYU, - Species.STARMIE, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.TOGEPI, - Species.TOGETIC, - Species.SLOWKING, - Species.PORYGON2, - Species.BLISSEY, - Species.LATIAS, - Species.LATIOS, - Species.MAGNEZONE, - Species.TOGEKISS, - Species.PORYGON_Z, - Species.PROBOPASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.BEHEEYEM, - Species.HYDREIGON, - Species.GENESECT, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MAGEARNA, - Species.ALCREMIE, - Species.INDEEDEE, - Species.DRAGAPULT, - Species.CALYREX, - Species.SANDY_SHOCKS, - Species.IRON_JUGULIS, - Species.ALOLA_DUGTRIO, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, + [MoveId.TRI_ATTACK]: [ + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DUGTRIO, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNETON, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CHANSEY, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.SLOWKING, + SpeciesId.PORYGON2, + SpeciesId.BLISSEY, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.MAGNEZONE, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.PROBOPASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.BEHEEYEM, + SpeciesId.HYDREIGON, + SpeciesId.GENESECT, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MAGEARNA, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.DRAGAPULT, + SpeciesId.CALYREX, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_JUGULIS, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, ], - [Moves.SUPER_FANG]: [ - Species.RATTATA, - Species.RATICATE, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.ZUBAT, - Species.GOLBAT, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.CROBAT, - Species.SNUBBULL, - Species.GRANBULL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.MAWILE, - Species.PLUSLE, - Species.MINUN, - Species.CARVANHA, - Species.SHARPEDO, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.HUNTAIL, - Species.BIDOOF, - Species.BIBAREL, - Species.PACHIRISU, - Species.GLAMEOW, - Species.PURUGLY, - Species.SKUNTANK, - Species.CROAGUNK, - Species.TOXICROAK, - Species.PATRAT, - Species.WATCHOG, - Species.WOOBAT, - Species.SWOOBAT, - Species.SCRAGGY, - Species.SCRAFTY, - Species.MINCCINO, - Species.CINCCINO, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.DEDENNE, - Species.NOIBAT, - Species.NOIVERN, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.KOMALA, - Species.TOGEDEMARU, - Species.BRUXISH, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SKWOVET, - Species.GREEDENT, - Species.DREDNAW, - Species.MORPEKO, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.LECHONK, - Species.OINKOLOGNE, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SHROODLE, - Species.GRAFAIAI, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, + [MoveId.SUPER_FANG]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CROBAT, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.MAWILE, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.PACHIRISU, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.SKUNTANK, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.DEDENNE, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.KOMALA, + SpeciesId.TOGEDEMARU, + SpeciesId.BRUXISH, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.DREDNAW, + SpeciesId.MORPEKO, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, ], - [Moves.SUBSTITUTE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.SUBSTITUTE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.THIEF]: [ - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.NATU, - Species.XATU, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.YANMA, - Species.QUAGSIRE, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.BLISSEY, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINJASK, - Species.SHEDINJA, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.BONSLY, - Species.MIME_JR, - Species.CHATOT, - Species.SPIRITOMB, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.YANMEGA, - Species.GLISCOR, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.ROTOM, - Species.DARKRAI, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.WOOBAT, - Species.SWOOBAT, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.WHIMSICOTT, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.JOLTIK, - Species.GALVANTULA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.CUBCHOO, - Species.BEARTIC, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.PANGORO, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HAWLUCHA, - Species.DEDENNE, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.HOOPA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.SALANDIT, - Species.SALAZZLE, - Species.COMFEY, - Species.PASSIMIAN, - Species.KOMALA, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.DHELMISE, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.CRAMORANT, - Species.TOXTRICITY, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MORPEKO, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZARUDE, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.MEOWSCARADA, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SQUAWKABILLY, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.BOMBIRDIER, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.BRUTE_BONNET, - Species.IRON_BUNDLE, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_MOLTRES, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.PALDEA_TAUROS, - Species.BLOODMOON_URSALUNA, + [MoveId.THIEF]: [ + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.YANMA, + SpeciesId.QUAGSIRE, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.BLISSEY, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.ROTOM, + SpeciesId.DARKRAI, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.WHIMSICOTT, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PANGORO, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.COMFEY, + SpeciesId.PASSIMIAN, + SpeciesId.KOMALA, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.DHELMISE, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.CRAMORANT, + SpeciesId.TOXTRICITY, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MORPEKO, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZARUDE, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.MEOWSCARADA, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SQUAWKABILLY, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.BOMBIRDIER, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.BRUTE_BONNET, + SpeciesId.IRON_BUNDLE, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.PALDEA_TAUROS, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SNORE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.CATERPIE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.WURMPLE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BURMY, - Species.WORMADAM, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.URSALUNA, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, + [MoveId.SNORE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.CATERPIE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.WURMPLE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BURMY, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.URSALUNA, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, ], - [Moves.CURSE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.HARIYAMA, - Species.NOSEPASS, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.GULPIN, - Species.SWALOT, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.WHISCASH, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BIDOOF, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.BONSLY, - Species.SPIRITOMB, - Species.MUNCHLAX, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.GIRATINA, - Species.DARKRAI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.MUNNA, - Species.MUSHARNA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.SAWSBUCK, - Species.FERROSEED, - Species.FERROTHORN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.BEARTIC, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.GOLETT, - Species.GOLURK, - Species.HEATMOR, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.TYRUNT, - Species.TYRANTRUM, - Species.SYLVEON, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.GUMSHOOS, - Species.MUDBRAY, - Species.MUDSDALE, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.KOMALA, - Species.TURTONATOR, - Species.MIMIKYU, - Species.SKWOVET, - Species.GREEDENT, - Species.CORVIKNIGHT, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.PERRSERKER, - Species.CURSOLA, - Species.RUNERIGUS, - Species.PINCURCHIN, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.GLASTRIER, - Species.SPECTRIER, + [MoveId.CURSE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.WHISCASH, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.BONSLY, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.SAWSBUCK, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.BEARTIC, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HEATMOR, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.SYLVEON, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.GUMSHOOS, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.MIMIKYU, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.CORVIKNIGHT, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.PINCURCHIN, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.OVERQWIL, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CERULEDGE, - Species.MABOSSTIFF, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.BOMBIRDIER, - Species.VAROOM, - Species.REVAVROOM, - Species.ORTHWORM, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SLITHER_WING, - Species.IRON_THORNS, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.HYDRAPPLE, - Species.PECHARUNT, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.OVERQWIL, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CERULEDGE, + SpeciesId.MABOSSTIFF, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.BOMBIRDIER, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_THORNS, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.HYDRAPPLE, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, ], - [Moves.REVERSAL]: [ - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.RHYHORN, - Species.RHYDON, - Species.KANGASKHAN, - Species.SCYTHER, - Species.PINSIR, - Species.TAUROS, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.PICHU, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.SWINUB, - Species.PILOSWINE, - Species.DELIBIRD, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.HITMONTOP, - Species.MILTANK, - Species.ENTEI, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ZANGOOSE, - Species.SEVIPER, - Species.MONFERNO, - Species.INFERNAPE, - Species.VESPIQUEN, - Species.LOPUNNY, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.RHYPERIOR, - Species.YANMEGA, - Species.MAMOSWINE, - Species.GALLADE, - Species.VICTINI, - Species.PIGNITE, - Species.EMBOAR, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.DARMANITAN, - Species.SCRAFTY, - Species.ESCAVALIER, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.BEARTIC, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.BISHARP, - Species.BOUFFALANT, - Species.BRAVIARY, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.KELDEO, - Species.MELOETTA, - Species.CHESNAUGHT, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.MALAMAR, - Species.HAWLUCHA, - Species.ZYGARDE, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, + [MoveId.REVERSAL]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.PICHU, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.ENTEI, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.VESPIQUEN, + SpeciesId.LOPUNNY, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.RHYPERIOR, + SpeciesId.YANMEGA, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.VICTINI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.DARMANITAN, + SpeciesId.SCRAFTY, + SpeciesId.ESCAVALIER, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.BRAVIARY, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESNAUGHT, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.MALAMAR, + SpeciesId.HAWLUCHA, + SpeciesId.ZYGARDE, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", "dusk", ], - Species.BEWEAR, - Species.PASSIMIAN, - Species.SILVALLY, - Species.KOMALA, - Species.TOGEDEMARU, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.ZERAORA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.WOOLOO, - Species.DUBWOOL, - Species.CRAMORANT, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.FALINKS, - Species.PINCURCHIN, - Species.EISCUE, - Species.MORPEKO, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.REGIDRAGO, - Species.KLEAVOR, - Species.SNEASLER, - Species.OVERQWIL, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.LOKIX, - Species.SQUAWKABILLY, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.KLAWF, - Species.PALAFIN, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SLITHER_WING, - Species.IRON_HANDS, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.IRON_LEAVES, - Species.OKIDOGI, - Species.OGERPON, - Species.GOUGING_FIRE, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.TOGEDEMARU, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CRAMORANT, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.EISCUE, + SpeciesId.MORPEKO, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.REGIDRAGO, + SpeciesId.KLEAVOR, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.SQUAWKABILLY, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.KLAWF, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.GOUGING_FIRE, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", "dusk", ], - Species.GALAR_ZAPDOS, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, [ - Species.BASCULIN, + SpeciesId.BASCULIN, "blue-striped", "red-striped", ], ], - [Moves.SPITE]: [ - Species.EKANS, - Species.ARBOK, - Species.VULPIX, - Species.NINETALES, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.KANGASKHAN, - Species.TAUROS, - Species.GYARADOS, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.SPINARAK, - Species.ARIADOS, - Species.AIPOM, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.DUNSPARCE, - Species.QWILFISH, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.STANTLER, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.CACNEA, - Species.CACTURNE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.VESPIQUEN, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.SPIRITOMB, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.RHYPERIOR, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.GIRATINA, - Species.DARKRAI, - Species.PURRLOIN, - Species.LIEPARD, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.FRILLISH, - Species.JELLICENT, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.STUNFISK, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.INKAY, - Species.MALAMAR, - Species.SKRELP, - Species.DRAGALGE, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ZYGARDE, - Species.DECIDUEYE, - Species.MAREANIE, - Species.TOXAPEX, - Species.ORANGURU, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.MIMIKYU, - Species.DHELMISE, - Species.LUNALA, - Species.NIHILEGO, - Species.BLACEPHALON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.PERRSERKER, - Species.CURSOLA, - Species.MORPEKO, - Species.WYRDEER, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.LOKIX, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.MABOSSTIFF, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.ANNIHILAPE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.FLUTTER_MANE, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.PECHARUNT, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MOLTRES, - Species.GALAR_CORSOLA, - Species.GALAR_STUNFISK, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + [MoveId.SPITE]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.AIPOM, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.DUNSPARCE, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.STANTLER, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.VESPIQUEN, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.SPIRITOMB, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.RHYPERIOR, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.STUNFISK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ZYGARDE, + SpeciesId.DECIDUEYE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.ORANGURU, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.MIMIKYU, + SpeciesId.DHELMISE, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BLACEPHALON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.MORPEKO, + SpeciesId.WYRDEER, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.LOKIX, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.MABOSSTIFF, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.ANNIHILAPE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.FLUTTER_MANE, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.PROTECT]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BURMY, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.SPEWPA, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.PROTECT]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BURMY, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.SPEWPA, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SCARY_FACE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.RATICATE, - Species.SPEAROW, - Species.EKANS, - Species.ARBOK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.VICTREEBEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.GRIMER, - Species.MUK, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.HYPNO, - Species.ELECTRODE, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.SCYTHER, - Species.MAGMAR, - Species.TAUROS, - Species.GYARADOS, - Species.FLAREON, - Species.AERODACTYL, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.NOCTOWL, - Species.SPINARAK, - Species.ARIADOS, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SNEASEL, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.DONPHAN, - Species.STANTLER, - Species.MAGBY, - Species.ENTEI, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.MASQUERAIN, - Species.VIGOROTH, - Species.SLAKING, - Species.HARIYAMA, - Species.AGGRON, - Species.MANECTRIC, - Species.CARVANHA, - Species.SHARPEDO, - Species.NUMEL, - Species.CAMERUPT, - Species.CACNEA, - Species.CACTURNE, - Species.SEVIPER, - Species.WHISCASH, - Species.CRAWDAUNT, - Species.SHUPPET, - Species.BANETTE, - Species.GLALIE, - Species.HUNTAIL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.VESPIQUEN, - Species.FLOATZEL, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.RHYPERIOR, - Species.MAGMORTAR, - Species.YANMEGA, - Species.GLISCOR, - Species.MAMOSWINE, - Species.FROSLASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.GIRATINA, - Species.CRESSELIA, - Species.ARCEUS, - Species.SAMUROTT, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.COFAGRIGUS, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.AMOONGUSS, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.BEARTIC, - Species.CRYOGONAL, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.KYUREM, - Species.CHESNAUGHT, - Species.PANGORO, - Species.MALAMAR, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAWITZER, - Species.TYRUNT, - Species.TYRANTRUM, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.AVALUGG, - Species.NOIVERN, - Species.HOOPA, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.TOXAPEX, - Species.MUDSDALE, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.BRUXISH, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.LUNALA, - Species.NECROZMA, - Species.ZERAORA, - Species.THWACKEY, - Species.RILLABOOM, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CHEWTLE, - Species.DREDNAW, - Species.FLAPPLE, - Species.SILICOBRA, - Species.SANDACONDA, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.GRAPPLOCT, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.RUNERIGUS, - Species.MORPEKO, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SKELEDIRGE, - Species.SPIDOPS, - Species.LOKIX, - Species.DACHSBUN, - Species.SQUAWKABILLY, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.SCOVILLAIN, - Species.BOMBIRDIER, - Species.VAROOM, - Species.REVAVROOM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.OKIDOGI, - Species.OGERPON, - Species.ARCHALUDON, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.ALOLA_RATICATE, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_ELECTRODE, - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.BLOODMOON_URSALUNA, + [MoveId.SCARY_FACE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.VICTREEBEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.HYPNO, + SpeciesId.ELECTRODE, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.SCYTHER, + SpeciesId.MAGMAR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.NOCTOWL, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SNEASEL, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.MAGBY, + SpeciesId.ENTEI, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.MASQUERAIN, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.HARIYAMA, + SpeciesId.AGGRON, + SpeciesId.MANECTRIC, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SEVIPER, + SpeciesId.WHISCASH, + SpeciesId.CRAWDAUNT, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.GLALIE, + SpeciesId.HUNTAIL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.VESPIQUEN, + SpeciesId.FLOATZEL, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.RHYPERIOR, + SpeciesId.MAGMORTAR, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.FROSLASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.SAMUROTT, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.COFAGRIGUS, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.AMOONGUSS, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.CHESNAUGHT, + SpeciesId.PANGORO, + SpeciesId.MALAMAR, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAWITZER, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.AVALUGG, + SpeciesId.NOIVERN, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.TOXAPEX, + SpeciesId.MUDSDALE, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NECROZMA, + SpeciesId.ZERAORA, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.FLAPPLE, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.GRAPPLOCT, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.RUNERIGUS, + SpeciesId.MORPEKO, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SKELEDIRGE, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.DACHSBUN, + SpeciesId.SQUAWKABILLY, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.SCOVILLAIN, + SpeciesId.BOMBIRDIER, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SLUDGE_BOMB]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BEEDRILL, - Species.RATTATA, - Species.RATICATE, - Species.EKANS, - Species.ARBOK, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.KOFFING, - Species.WEEZING, - Species.TANGELA, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.BELLOSSOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.WOOPER, - Species.QUAGSIRE, - Species.GLIGAR, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SHUCKLE, - Species.OCTILLERY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.DUSTOX, - Species.SHROOMISH, - Species.BRELOOM, - Species.MAWILE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.TORKOAL, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.LILEEP, - Species.CRADILY, - Species.METANG, - Species.METAGROSS, - Species.BUDEW, - Species.ROSERADE, - Species.VESPIQUEN, - Species.GASTRODON, - Species.STUNKY, - Species.SKUNTANK, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.TANGROWTH, - Species.GLISCOR, - Species.DARKRAI, - Species.ARCEUS, - Species.DRILBUR, - Species.EXCADRILL, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.DRUDDIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.VOLCANION, - Species.MAREANIE, - Species.TOXAPEX, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.NIHILEGO, - Species.GUZZLORD, - Species.POIPOLE, - Species.NAGANADEL, - Species.TOXTRICITY, - Species.ETERNATUS, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.RELLOR, - Species.RABSCA, - Species.VAROOM, - Species.REVAVROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.CLODSIRE, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_STUNFISK, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.PALDEA_WOOPER, + [MoveId.SLUDGE_BOMB]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BEEDRILL, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.TANGELA, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.BELLOSSOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.GLIGAR, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SHUCKLE, + SpeciesId.OCTILLERY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.DUSTOX, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.MAWILE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.TORKOAL, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.VESPIQUEN, + SpeciesId.GASTRODON, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.TANGROWTH, + SpeciesId.GLISCOR, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.VOLCANION, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.NIHILEGO, + SpeciesId.GUZZLORD, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.TOXTRICITY, + SpeciesId.ETERNATUS, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.PALDEA_WOOPER, ], - [Moves.MUD_SLAP]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.GRIMER, - Species.MUK, - Species.ONIX, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.GOLDEEN, - Species.SEAKING, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SHUCKLE, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.MILOTIC, - Species.KECLEON, - Species.BANETTE, - Species.DUSCLOPS, - Species.TROPIUS, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.LILLIPUP, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.TYMPOLE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.MINCCINO, - Species.CUBCHOO, - Species.BEARTIC, - Species.SHELMET, - Species.STUNFISK, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.LANDORUS, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, + [MoveId.MUD_SLAP]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.ONIX, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.MILOTIC, + SpeciesId.KECLEON, + SpeciesId.BANETTE, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.LILLIPUP, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TYMPOLE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.MINCCINO, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.SHELMET, + SpeciesId.STUNFISK, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.LANDORUS, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midday", "midnight", ], - Species.MUDBRAY, - Species.MUDSDALE, - Species.SALANDIT, - Species.SALAZZLE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.CINDERACE, - Species.SKWOVET, - Species.GREEDENT, - Species.ROLYCOLY, - Species.CARKOL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.TADBULB, - Species.BELLIBOLT, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.WIGLETT, - Species.WUGTRIO, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.WO_CHIEN, - Species.TING_LU, - Species.KORAIDON, - Species.MUNKIDORI, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.CINDERACE, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.WO_CHIEN, + SpeciesId.TING_LU, + SpeciesId.KORAIDON, + SpeciesId.MUNKIDORI, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", ], - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_STUNFISK, - Species.PALDEA_WOOPER, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.PALDEA_WOOPER, ], - [Moves.SPIKES]: [ - Species.SANDSHREW, - Species.SANDSLASH, - Species.SHELLDER, - Species.CLOYSTER, - Species.OMANYTE, - Species.OMASTAR, - Species.MEW, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.QWILFISH, - Species.HERACROSS, - Species.DELIBIRD, - Species.SKARMORY, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.WHISCASH, - Species.SNORUNT, - Species.GLALIE, - Species.GROUDON, - Species.BUDEW, - Species.ROSERADE, - Species.VESPIQUEN, - Species.GASTRODON, - Species.BONSLY, - Species.GARCHOMP, - Species.GLISCOR, - Species.FROSLASS, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.TRUBBISH, - Species.GARBODOR, - Species.FERROSEED, - Species.FERROTHORN, - Species.SHELMET, - Species.ACCELGOR, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.CARBINK, - Species.KLEFKI, - Species.DIANCIE, - Species.WIMPOD, - Species.GOLISOPOD, - Species.MAGEARNA, - Species.NAGANADEL, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.PINCURCHIN, - Species.OVERQWIL, - Species.MEOWSCARADA, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.CLODSIRE, - Species.SANDY_SHOCKS, - Species.IRON_THORNS, - Species.TING_LU, - Species.OGERPON, + [MoveId.SPIKES]: [ + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.HERACROSS, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.WHISCASH, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.GROUDON, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.VESPIQUEN, + SpeciesId.GASTRODON, + SpeciesId.BONSLY, + SpeciesId.GARCHOMP, + SpeciesId.GLISCOR, + SpeciesId.FROSLASS, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.DIANCIE, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.MAGEARNA, + SpeciesId.NAGANADEL, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.PINCURCHIN, + SpeciesId.OVERQWIL, + SpeciesId.MEOWSCARADA, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_THORNS, + SpeciesId.TING_LU, + SpeciesId.OGERPON, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "defense", ], - Species.ALOLA_SANDSLASH, - Species.HISUI_QWILFISH, - Species.PALDEA_WOOPER, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.HISUI_QWILFISH, + SpeciesId.PALDEA_WOOPER, ], - [Moves.ICY_WIND]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.ARTICUNO, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.QWILFISH, - Species.SNEASEL, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.KINGDRA, - Species.PORYGON2, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SHIFTRY, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.ZANGOOSE, - Species.LUNATONE, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.METANG, - Species.METAGROSS, - Species.REGICE, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.JIRACHI, + [MoveId.ICY_WIND]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.KINGDRA, + SpeciesId.PORYGON2, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SHIFTRY, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGICE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "", "speed", ], - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.MUNCHLAX, - Species.CROAGUNK, - Species.TOXICROAK, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.GLACEON, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.SIGILYPH, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.GOLETT, - Species.GOLURK, - Species.TORNADUS, - Species.KYUREM, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.BERGMITE, - Species.AVALUGG, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.BRUXISH, - Species.DRAMPA, - Species.TAPU_FINI, - Species.LUNALA, - Species.PHEROMOSA, - Species.INTELEON, - Species.CRAMORANT, - Species.OBSTAGOON, - Species.CURSOLA, - Species.MR_RIME, - Species.SNOM, - Species.FROSMOTH, - Species.EISCUE, - Species.ARCTOZOLT, - Species.ARCTOVISH, - Species.GLASTRIER, - Species.BASCULEGION, - Species.OVERQWIL, - Species.QUAQUAVAL, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.TATSUGIRI, - Species.FLUTTER_MANE, - Species.IRON_BUNDLE, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.IRON_VALIANT, - Species.FEZANDIPITI, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.SIGILYPH, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.TORNADUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.INTELEON, + SpeciesId.CRAMORANT, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.ARCTOVISH, + SpeciesId.GLASTRIER, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.QUAQUAVAL, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.TATSUGIRI, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_BUNDLE, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.IRON_VALIANT, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_AVALUGG, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_AVALUGG, ], - [Moves.OUTRAGE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BEEDRILL, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.MAROWAK, - Species.RHYDON, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.MEGANIUM, - Species.FERALIGATR, - Species.AMPHAROS, - Species.GRANBULL, - Species.KINGDRA, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.SCEPTILE, - Species.SWAMPERT, - Species.VIGOROTH, - Species.SLAKING, - Species.EXPLOUD, - Species.AGGRON, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.BARBOACH, - Species.WHISCASH, - Species.TROPIUS, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.TORTERRA, - Species.RAMPARDOS, - Species.BASTIODON, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.ABOMASNOW, - Species.RHYPERIOR, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.SERPERIOR, - Species.KROOKODILE, - Species.SCRAFTY, - Species.ARCHEOPS, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.BOUFFALANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.PANGORO, - Species.SKRELP, - Species.DRAGALGE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.ZYGARDE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SILVALLY, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.ZERAORA, - Species.FLAPPLE, - Species.APPLETUN, - Species.SANDACONDA, - Species.MORPEKO, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.DRACOVISH, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.BASCULEGION, - Species.ENAMORUS, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.MABOSSTIFF, - Species.PALAFIN, - Species.CYCLIZAR, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.DUDUNSPARCE, - Species.BRUTE_BONNET, - Species.IRON_JUGULIS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.DIPPLIN, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, + [MoveId.OUTRAGE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BEEDRILL, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.MAROWAK, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.FERALIGATR, + SpeciesId.AMPHAROS, + SpeciesId.GRANBULL, + SpeciesId.KINGDRA, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.SCEPTILE, + SpeciesId.SWAMPERT, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.EXPLOUD, + SpeciesId.AGGRON, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.TROPIUS, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.TORTERRA, + SpeciesId.RAMPARDOS, + SpeciesId.BASTIODON, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.ABOMASNOW, + SpeciesId.RHYPERIOR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.SERPERIOR, + SpeciesId.KROOKODILE, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEOPS, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.BOUFFALANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.PANGORO, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.ZYGARDE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.MORPEKO, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.BASCULEGION, + SpeciesId.ENAMORUS, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.MABOSSTIFF, + SpeciesId.PALAFIN, + SpeciesId.CYCLIZAR, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.DUDUNSPARCE, + SpeciesId.BRUTE_BONNET, + SpeciesId.IRON_JUGULIS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.DIPPLIN, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", "dusk", ], [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.PALDEA_TAUROS, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.PALDEA_TAUROS, ], - [Moves.SANDSTORM]: [ - Species.CHARIZARD, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DIGLETT, - Species.DUGTRIO, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.MAGNEMITE, - Species.MAGNETON, - Species.GRIMER, - Species.MUK, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.TAUROS, - Species.GYARADOS, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SCIZOR, - Species.SHUCKLE, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.SKARMORY, - Species.PHANPY, - Species.DONPHAN, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.NOSEPASS, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.CASTFORM, - Species.ABSOL, - Species.RELICANTH, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.TORTERRA, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.SHELLOS, - Species.GASTRODON, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.ARCEUS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.ACCELGOR, - Species.STUNFISK, - Species.PAWNIARD, - Species.BISHARP, - Species.MANDIBUZZ, - Species.DURANT, - Species.COBALION, - Species.TERRAKION, - Species.TORNADUS, - Species.LANDORUS, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.BINACLE, - Species.BARBARACLE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.KLEFKI, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ORICORIO, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.NIHILEGO, - Species.STAKATAKA, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.ZAMAZENTA, - Species.KLEAVOR, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.VAROOM, - Species.REVAVROOM, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.TING_LU, - Species.OGERPON, - Species.IRON_BOULDER, + [MoveId.SANDSTORM]: [ + SpeciesId.CHARIZARD, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.SKARMORY, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.NOSEPASS, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.CASTFORM, + SpeciesId.ABSOL, + SpeciesId.RELICANTH, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.TORTERRA, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.MANDIBUZZ, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.TORNADUS, + SpeciesId.LANDORUS, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ORICORIO, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.NIHILEGO, + SpeciesId.STAKATAKA, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.ZAMAZENTA, + SpeciesId.KLEAVOR, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.TING_LU, + SpeciesId.OGERPON, + SpeciesId.IRON_BOULDER, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", ], - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWBRO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_CORSOLA, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, ], - [Moves.GIGA_DRAIN]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.KABUTO, - Species.KABUTOPS, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.NATU, - Species.XATU, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LILEEP, - Species.CRADILY, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.KRICKETUNE, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.MOTHIM, - Species.CHERUBI, - Species.CHERRIM, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.YANMEGA, - Species.LEAFEON, - Species.UXIE, - Species.SHAYMIN, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.WOOBAT, - Species.SWOOBAT, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.DEERLING, - Species.SAWSBUCK, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.SHELMET, - Species.ACCELGOR, - Species.HEATMOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.VIRIZION, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MIMIKYU, - Species.DHELMISE, - Species.TAPU_BULU, - Species.CELESTEELA, - Species.KARTANA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.ORBEETLE, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.CURSOLA, - Species.ALCREMIE, - Species.FROSMOTH, - Species.ZARUDE, - Species.CALYREX, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.WO_CHIEN, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OGERPON, - Species.HYDRAPPLE, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_CORSOLA, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + [MoveId.GIGA_DRAIN]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.KRICKETUNE, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.UXIE, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.HEATMOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.VIRIZION, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MIMIKYU, + SpeciesId.DHELMISE, + SpeciesId.TAPU_BULU, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.ORBEETLE, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.CURSOLA, + SpeciesId.ALCREMIE, + SpeciesId.FROSMOTH, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.ENDURE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.ENDURE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.CHARM]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.PIKACHU, - Species.RAICHU, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.CHANSEY, - Species.MR_MIME, - Species.JYNX, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.ESPEON, - Species.UMBREON, - Species.MISDREAVUS, - Species.WOBBUFFET, - Species.SNUBBULL, - Species.GRANBULL, - Species.TEDDIURSA, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.PHANPY, - Species.DONPHAN, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHROOMISH, - Species.BRELOOM, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.PLUSLE, - Species.MINUN, - Species.ILLUMISE, - Species.NUMEL, - Species.CAMERUPT, - Species.CHIMECHO, - Species.WYNAUT, - Species.LUVDISC, - Species.LATIAS, - Species.JIRACHI, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.PACHIRISU, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.GLAMEOW, - Species.PURUGLY, - Species.MIME_JR, - Species.HAPPINY, - Species.MUNCHLAX, - Species.FINNEON, - Species.LUMINEON, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.MAMOSWINE, - Species.GALLADE, - Species.FROSLASS, - Species.MESPRIT, - Species.PHIONE, - Species.MANAPHY, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.WOOBAT, - Species.SWOOBAT, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.CUBCHOO, - Species.BEARTIC, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.FURFROU, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.TYRUNT, - Species.TYRANTRUM, - Species.SYLVEON, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.DIANCIE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.KOMALA, - Species.MIMIKYU, - Species.TAPU_LELE, - Species.POIPOLE, - Species.NAGANADEL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.YAMPER, - Species.BOLTUND, - Species.TOXEL, - Species.TOXTRICITY, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.PERRSERKER, - Species.MR_RIME, - Species.MILCERY, - Species.ALCREMIE, - Species.URSALUNA, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.FINIZEN, - Species.PALAFIN, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.FLUTTER_MANE, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_MR_MIME, + [MoveId.CHARM]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.CHANSEY, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MISDREAVUS, + SpeciesId.WOBBUFFET, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.ILLUMISE, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.CHIMECHO, + SpeciesId.WYNAUT, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.JIRACHI, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.PACHIRISU, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.MUNCHLAX, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.FROSLASS, + SpeciesId.MESPRIT, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.FURFROU, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.DIANCIE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.TAPU_LELE, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.URSALUNA, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.FLUTTER_MANE, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_MR_MIME, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "female", ], - Species.HISUI_LILLIGANT, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.FALSE_SWIPE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BEEDRILL, - Species.SPEAROW, - Species.FEAROW, - Species.SANDSHREW, - Species.SANDSLASH, - Species.PARAS, - Species.PARASECT, - Species.MEOWTH, - Species.PERSIAN, - Species.FARFETCHD, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.SCYTHER, - Species.PINSIR, - Species.JOLTEON, - Species.MEW, - Species.GLIGAR, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.GROVYLE, - Species.SCEPTILE, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.MAWILE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.ABSOL, - Species.EMPOLEON, - Species.KRICKETUNE, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.SKORUPI, - Species.DRAPION, - Species.WEAVILE, - Species.GLISCOR, - Species.GALLADE, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.LEAVANNY, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.PAWNIARD, - Species.BISHARP, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.FOMANTIS, - Species.LURANTIS, - Species.GOLISOPOD, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.KARTANA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.CHEWTLE, - Species.DREDNAW, - Species.PERRSERKER, - Species.FALINKS, - Species.ZACIAN, - Species.URSHIFU, - Species.KLEAVOR, - Species.SNEASLER, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.CERULEDGE, - Species.KINGAMBIT, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.OGERPON, - Species.ALOLA_SANDSLASH, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_DECIDUEYE, + [MoveId.FALSE_SWIPE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BEEDRILL, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.FARFETCHD, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.JOLTEON, + SpeciesId.MEW, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.MAWILE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.ABSOL, + SpeciesId.EMPOLEON, + SpeciesId.KRICKETUNE, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.WEAVILE, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.LEAVANNY, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.GOLISOPOD, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.KARTANA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.PERRSERKER, + SpeciesId.FALINKS, + SpeciesId.ZACIAN, + SpeciesId.URSHIFU, + SpeciesId.KLEAVOR, + SpeciesId.SNEASLER, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.CERULEDGE, + SpeciesId.KINGAMBIT, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.OGERPON, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.SWAGGER]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.WOOLOO, - Species.TOXTRICITY, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.MORPEKO, - Species.CUFANT, - Species.ZARUDE, - Species.SQUAWKABILLY, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.VAROOM, - Species.REVAVROOM, - Species.ANNIHILAPE, - Species.CHI_YU, - Species.FEZANDIPITI, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWKING, - Species.PALDEA_TAUROS, + [MoveId.SWAGGER]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.WOOLOO, + SpeciesId.TOXTRICITY, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.ZARUDE, + SpeciesId.SQUAWKABILLY, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ANNIHILAPE, + SpeciesId.CHI_YU, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWKING, + SpeciesId.PALDEA_TAUROS, ], - [Moves.STEEL_WING]: [ - Species.CHARIZARD, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SCYTHER, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.YANMA, - Species.MURKROW, - Species.GLIGAR, - Species.SCIZOR, - Species.DELIBIRD, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.TROPIUS, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.HONCHKROW, - Species.CHATOT, - Species.TOGEKISS, - Species.YANMEGA, - Species.GLISCOR, - Species.GIRATINA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.LEAVANNY, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.DUCKLETT, - Species.SWANNA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.SILVALLY, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.CORVIKNIGHT, - Species.CRAMORANT, - Species.SIRFETCHD, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.GALAR_FARFETCHD, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, + [MoveId.STEEL_WING]: [ + SpeciesId.CHARIZARD, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SCYTHER, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.TROPIUS, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.GIRATINA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.LEAVANNY, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.SILVALLY, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.CORVIKNIGHT, + SpeciesId.CRAMORANT, + SpeciesId.SIRFETCHD, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, ], - [Moves.ATTRACT]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINJASK, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.HEATRAN, - Species.CRESSELIA, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLIN, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.KUBFU, - Species.URSHIFU, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.DIPPLIN, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.ATTRACT]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINJASK, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.HEATRAN, + SpeciesId.CRESSELIA, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLIN, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.DIPPLIN, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SLEEP_TALK]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.SLEEP_TALK]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.HEAL_BELL]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.LICKITUNG, - Species.CHANSEY, - Species.JYNX, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.ARTICUNO, - Species.DRAGONITE, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.ESPEON, - Species.UMBREON, - Species.MISDREAVUS, - Species.SNUBBULL, - Species.GRANBULL, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.CELEBI, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.GARDEVOIR, - Species.SKITTY, - Species.DELCATTY, - Species.SPOINK, - Species.GRUMPIG, - Species.SWABLU, - Species.ALTARIA, - Species.CHIMECHO, - Species.KRICKETUNE, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.CHINGLING, - Species.HAPPINY, - Species.LICKILICKY, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.UXIE, - Species.PHIONE, - Species.MANAPHY, - Species.MUNNA, - Species.MUSHARNA, - Species.AUDINO, - Species.PETILIL, - Species.LILLIGANT, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.MELOETTA, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.SYLVEON, - Species.DIANCIE, - Species.COMFEY, - Species.MAGEARNA, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.HISUI_LILLIGANT, - Species.ETERNAL_FLOETTE, + [MoveId.HEAL_BELL]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.ARTICUNO, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MISDREAVUS, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.CELEBI, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.GARDEVOIR, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.CHIMECHO, + SpeciesId.KRICKETUNE, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.HAPPINY, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.UXIE, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.AUDINO, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.MELOETTA, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.SYLVEON, + SpeciesId.DIANCIE, + SpeciesId.COMFEY, + SpeciesId.MAGEARNA, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.ETERNAL_FLOETTE, ], - [Moves.RETURN]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.RETURN]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.FRUSTRATION]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.FRUSTRATION]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SAFEGUARD]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BUTTERFREE, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VILEPLUME, - Species.GROWLITHE, - Species.ARCANINE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.DROWZEE, - Species.HYPNO, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.SCYTHER, - Species.LAPRAS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.LEDYBA, - Species.LEDIAN, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.WOBBUFFET, - Species.SCIZOR, - Species.SHUCKLE, - Species.CORSOLA, - Species.BLISSEY, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.BEAUTIFLY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHROOMISH, - Species.BRELOOM, - Species.SKITTY, - Species.DELCATTY, - Species.SPINDA, - Species.SWABLU, - Species.ALTARIA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.MILOTIC, - Species.TROPIUS, - Species.CHIMECHO, - Species.WYNAUT, - Species.SNORUNT, - Species.GLALIE, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.WORMADAM, - Species.MOTHIM, - Species.CHERUBI, - Species.CHERRIM, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.FINNEON, - Species.LUMINEON, - Species.SNOVER, - Species.ABOMASNOW, - Species.TOGEKISS, - Species.GALLADE, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.GOLETT, - Species.GOLURK, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SWIRLIX, - Species.SLURPUFF, - Species.BINACLE, - Species.BARBARACLE, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.CARBINK, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.MAREANIE, - Species.TOXAPEX, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PYUKUMUKU, - Species.MINIOR, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.STAKATAKA, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.DOTTLER, - Species.ORBEETLE, - Species.APPLETUN, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.CURSOLA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.FROSMOTH, - Species.STONJOURNER, - Species.ZAMAZENTA, - Species.CALYREX, - Species.ARBOLIVA, - Species.RABSCA, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ETERNAL_FLOETTE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_YAMASK, + [MoveId.SAFEGUARD]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BUTTERFREE, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VILEPLUME, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.LAPRAS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.WOBBUFFET, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.CORSOLA, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.BEAUTIFLY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SPINDA, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.MILOTIC, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.WYNAUT, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PYUKUMUKU, + SpeciesId.MINIOR, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.STAKATAKA, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.APPLETUN, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.ZAMAZENTA, + SpeciesId.CALYREX, + SpeciesId.ARBOLIVA, + SpeciesId.RABSCA, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_YAMASK, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "female", ], ], - [Moves.PAIN_SPLIT]: [ - Species.ARBOK, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.TANGELA, - Species.STARYU, - Species.STARMIE, - Species.PORYGON, - Species.MEW, - Species.IGGLYBUFF, - Species.NATU, - Species.XATU, - Species.MISDREAVUS, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.QWILFISH, - Species.SLUGMA, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PORYGON2, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.NOSEPASS, - Species.SABLEYE, - Species.MAWILE, - Species.MEDITITE, - Species.MEDICHAM, - Species.GULPIN, - Species.SWALOT, - Species.LUNATONE, - Species.SOLROCK, - Species.LILEEP, - Species.CRADILY, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.DEOXYS, - Species.RAMPARDOS, - Species.SHELLOS, - Species.GASTRODON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.SPIRITOMB, - Species.TANGROWTH, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.GIRATINA, - Species.MUNNA, - Species.MUSHARNA, - Species.AUDINO, - Species.THROH, - Species.SAWK, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.STUNFISK, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ZYGARDE, - Species.MAREANIE, - Species.TOXAPEX, - Species.STUFFUL, - Species.BEWEAR, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DHELMISE, - Species.NIHILEGO, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.POLTEAGEIST, - Species.HATTERENE, - Species.ALCREMIE, - Species.PINCURCHIN, - Species.SPECTRIER, - Species.BASCULEGION, - Species.OVERQWIL, - Species.SPIDOPS, - Species.MABOSSTIFF, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.WUGTRIO, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.VELUZA, - Species.DUDUNSPARCE, - Species.FLUTTER_MANE, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_WEEZING, - Species.GALAR_MOLTRES, - Species.GALAR_STUNFISK, - Species.HISUI_QWILFISH, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + [MoveId.PAIN_SPLIT]: [ + SpeciesId.ARBOK, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.TANGELA, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.PORYGON, + SpeciesId.MEW, + SpeciesId.IGGLYBUFF, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MISDREAVUS, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.QWILFISH, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PORYGON2, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.DEOXYS, + SpeciesId.RAMPARDOS, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.SPIRITOMB, + SpeciesId.TANGROWTH, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.GIRATINA, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.AUDINO, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.STUNFISK, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ZYGARDE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.NIHILEGO, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.POLTEAGEIST, + SpeciesId.HATTERENE, + SpeciesId.ALCREMIE, + SpeciesId.PINCURCHIN, + SpeciesId.SPECTRIER, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.SPIDOPS, + SpeciesId.MABOSSTIFF, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.WUGTRIO, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.VELUZA, + SpeciesId.DUDUNSPARCE, + SpeciesId.FLUTTER_MANE, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.MEGAHORN]: [ - Species.NIDOKING, - Species.RAPIDASH, - Species.SEEL, - Species.DEWGONG, - Species.RHYHORN, - Species.RHYDON, - Species.GOLDEEN, - Species.SEAKING, - Species.TAUROS, - Species.LAPRAS, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.HERACROSS, - Species.STANTLER, - Species.ABSOL, - Species.RHYPERIOR, - Species.SAMUROTT, - Species.SCOLIPEDE, - Species.SAWSBUCK, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.BOUFFALANT, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.XERNEAS, - Species.TAPU_BULU, - Species.CELESTEELA, - Species.DREDNAW, - Species.FALINKS, - Species.GLASTRIER, - Species.WYRDEER, - Species.CLODSIRE, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.IRON_LEAVES, - Species.IRON_BOULDER, - Species.GALAR_RAPIDASH, + [MoveId.MEGAHORN]: [ + SpeciesId.NIDOKING, + SpeciesId.RAPIDASH, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.TAUROS, + SpeciesId.LAPRAS, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.HERACROSS, + SpeciesId.STANTLER, + SpeciesId.ABSOL, + SpeciesId.RHYPERIOR, + SpeciesId.SAMUROTT, + SpeciesId.SCOLIPEDE, + SpeciesId.SAWSBUCK, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.BOUFFALANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.XERNEAS, + SpeciesId.TAPU_BULU, + SpeciesId.CELESTEELA, + SpeciesId.DREDNAW, + SpeciesId.FALINKS, + SpeciesId.GLASTRIER, + SpeciesId.WYRDEER, + SpeciesId.CLODSIRE, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_LEAVES, + SpeciesId.IRON_BOULDER, + SpeciesId.GALAR_RAPIDASH, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_SAMUROTT, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.BATON_PASS]: [ - Species.BUTTERFREE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VENONAT, - Species.VENOMOTH, - Species.POLIWRATH, - Species.RAPIDASH, - Species.FARFETCHD, - Species.HYPNO, - Species.MR_MIME, - Species.SCYTHER, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.ZAPDOS, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.ESPEON, - Species.UMBREON, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SCIZOR, - Species.DELIBIRD, - Species.CELEBI, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINJASK, - Species.SKITTY, - Species.MAWILE, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SPINDA, - Species.ZANGOOSE, - Species.LUNATONE, - Species.SOLROCK, - Species.CHIMECHO, - Species.ABSOL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.KRICKETUNE, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.CHINGLING, - Species.MIME_JR, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.VICTINI, - Species.PATRAT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.ALOMOMOLA, - Species.SHELMET, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.DURANT, - Species.MELOETTA, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.INKAY, - Species.MALAMAR, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DIANCIE, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.PASSIMIAN, - Species.PYUKUMUKU, - Species.MAGEARNA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.DUBWOOL, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.PERRSERKER, - Species.MR_RIME, - Species.MORPEKO, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.CALYREX, - Species.KLEAVOR, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SHROODLE, - Species.GRAFAIAI, - Species.FLITTLE, - Species.ESPATHRA, - Species.TATSUGIRI, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.MUNKIDORI, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ETERNAL_FLOETTE, - Species.GALAR_RAPIDASH, - Species.GALAR_MR_MIME, + [MoveId.BATON_PASS]: [ + SpeciesId.BUTTERFREE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.POLIWRATH, + SpeciesId.RAPIDASH, + SpeciesId.FARFETCHD, + SpeciesId.HYPNO, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.CELEBI, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.SKITTY, + SpeciesId.MAWILE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SPINDA, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.KRICKETUNE, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.CHINGLING, + SpeciesId.MIME_JR, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.VICTINI, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.ALOMOMOLA, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DURANT, + SpeciesId.MELOETTA, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DIANCIE, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.PASSIMIAN, + SpeciesId.PYUKUMUKU, + SpeciesId.MAGEARNA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.DUBWOOL, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.MORPEKO, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.CALYREX, + SpeciesId.KLEAVOR, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TATSUGIRI, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.MUNKIDORI, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_MR_MIME, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "female", ], - Species.HISUI_DECIDUEYE, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.ENCORE]: [ - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.SEEL, - Species.DEWGONG, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.HITMONCHAN, - Species.MR_MIME, - Species.JYNX, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEW, - Species.LEDYBA, - Species.LEDIAN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.WOOPER, - Species.QUAGSIRE, - Species.WOBBUFFET, - Species.SNUBBULL, - Species.GRANBULL, - Species.SHUCKLE, - Species.PHANPY, - Species.DONPHAN, - Species.SMOOCHUM, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.AZURILL, - Species.SABLEYE, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.SHUPPET, - Species.BANETTE, - Species.CHIMECHO, - Species.WYNAUT, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.JIRACHI, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PACHIRISU, - Species.BUNEARY, - Species.LOPUNNY, - Species.MIME_JR, - Species.CHATOT, - Species.MUNCHLAX, - Species.CROAGUNK, - Species.TOXICROAK, - Species.LUMINEON, - Species.TOGEKISS, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.VICTINI, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PURRLOIN, - Species.LIEPARD, - Species.AUDINO, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.CUBCHOO, - Species.BEARTIC, - Species.SHELMET, - Species.ACCELGOR, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.SPRITZEE, - Species.AROMATISSE, - Species.AMAURA, - Species.AURORUS, - Species.HAWLUCHA, - Species.DIANCIE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.TOUCANNON, - Species.SALAZZLE, - Species.COMFEY, - Species.ORANGURU, - Species.TOGEDEMARU, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.TOXEL, - Species.TOXTRICITY, - Species.MR_RIME, - Species.ALCREMIE, + [MoveId.ENCORE]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.HITMONCHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.WOBBUFFET, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.SMOOCHUM, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.AZURILL, + SpeciesId.SABLEYE, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.CHIMECHO, + SpeciesId.WYNAUT, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.JIRACHI, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PACHIRISU, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MIME_JR, + SpeciesId.CHATOT, + SpeciesId.MUNCHLAX, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.LUMINEON, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.VICTINI, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.AUDINO, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.HAWLUCHA, + SpeciesId.DIANCIE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.TOUCANNON, + SpeciesId.SALAZZLE, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.TOGEDEMARU, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.MR_RIME, + SpeciesId.ALCREMIE, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "male", ], - Species.ZARUDE, - Species.CALYREX, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.ARBOLIVA, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.FINIZEN, - Species.PALAFIN, - Species.ANNIHILAPE, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.IRON_VALIANT, - Species.OGERPON, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.GALAR_MR_MIME, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.ARBOLIVA, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.ANNIHILAPE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_VALIANT, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, ], - [Moves.IRON_TAIL]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.FARFETCHD, - Species.SEEL, - Species.DEWGONG, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.AERODACTYL, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.PICHU, - Species.CLEFFA, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.GRANBULL, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BRELOOM, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.FLYGON, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.KECLEON, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.SALAMENCE, - Species.GROUDON, - Species.RAYQUAZA, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.PORYGON_Z, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.GIRATINA, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.MINCCINO, - Species.CINCCINO, - Species.EMOLGA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.DEDENNE, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.NOIBAT, - Species.NOIVERN, - Species.ZYGARDE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.SALANDIT, - Species.SALAZZLE, - Species.PASSIMIAN, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.BRUXISH, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.SOLGALEO, - Species.GUZZLORD, - Species.POIPOLE, - Species.NAGANADEL, - Species.ZERAORA, - Species.SKWOVET, - Species.GREEDENT, - Species.DREDNAW, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ZARUDE, - Species.WYRDEER, - Species.SNEASLER, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.IRON_TAIL]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.FARFETCHD, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.AERODACTYL, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BRELOOM, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.KECLEON, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.PORYGON_Z, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.EMOLGA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.ZYGARDE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.BRUXISH, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.GUZZLORD, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.DREDNAW, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ZARUDE, + SpeciesId.WYRDEER, + SpeciesId.SNEASLER, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.METAL_CLAW]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SANDSHREW, - Species.SANDSLASH, - Species.PARAS, - Species.MEOWTH, - Species.PERSIAN, - Species.KRABBY, - Species.KINGLER, - Species.MEW, - Species.TOTODILE, - Species.GLIGAR, - Species.SCIZOR, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SKARMORY, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.ZANGOOSE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.METANG, - Species.METAGROSS, - Species.REGISTEEL, - Species.GROUDON, - Species.PRINPLUP, - Species.EMPOLEON, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.WEAVILE, - Species.GLISCOR, - Species.DIALGA, - Species.HEATRAN, - Species.DRILBUR, - Species.EXCADRILL, - Species.GARBODOR, - Species.FERROSEED, - Species.FERROTHORN, - Species.CUBCHOO, - Species.BEARTIC, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BRAVIARY, - Species.DURANT, - Species.COBALION, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.WIMPOD, - Species.KOMALA, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.SOLGALEO, - Species.NECROZMA, - Species.CORVIKNIGHT, - Species.PERRSERKER, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.URSALUNA, - Species.SNEASLER, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.KLAWF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.KINGAMBIT, - Species.IRON_THORNS, - Species.ROARING_MOON, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.IRON_CROWN, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_STUNFISK, - Species.HISUI_SNEASEL, - Species.HISUI_BRAVIARY, - Species.BLOODMOON_URSALUNA, + [MoveId.METAL_CLAW]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.PARAS, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SKARMORY, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ZANGOOSE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.WEAVILE, + SpeciesId.GLISCOR, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.GARBODOR, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BRAVIARY, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.WIMPOD, + SpeciesId.KOMALA, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.NECROZMA, + SpeciesId.CORVIKNIGHT, + SpeciesId.PERRSERKER, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.KLAWF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_THORNS, + SpeciesId.ROARING_MOON, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SYNTHESIS]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SHROOMISH, - Species.BRELOOM, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.LILEEP, - Species.CRADILY, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, + [MoveId.SYNTHESIS]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "plant", ], - Species.CHERUBI, - Species.CHERRIM, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.LEAFEON, - Species.SHAYMIN, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.VIRIZION, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.DHELMISE, - Species.TAPU_BULU, - Species.KARTANA, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.ZARUDE, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.BRUTE_BONNET, - Species.OGERPON, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.SHAYMIN, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.VIRIZION, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.DHELMISE, + SpeciesId.TAPU_BULU, + SpeciesId.KARTANA, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.ZARUDE, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.BRUTE_BONNET, + SpeciesId.OGERPON, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.HIDDEN_POWER]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.UNOWN, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BURMY, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.HIDDEN_POWER]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.UNOWN, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BURMY, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.RAIN_DANCE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.HOPPIP, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.BASCULIN, - Species.MARACTUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.BERGMITE, - Species.AVALUGG, - Species.XERNEAS, - Species.YVELTAL, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.LURANTIS, - Species.SHIINOTIC, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.KOMALA, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_FINI, - Species.XURKITREE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.GREEDENT, - Species.CORVIKNIGHT, - Species.CHEWTLE, - Species.DREDNAW, - Species.APPLETUN, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.FALINKS, - Species.PINCURCHIN, - Species.EISCUE, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.REGIELEKI, - Species.WYRDEER, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.TADBULB, - Species.BELLIBOLT, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.SCREAM_TAIL, - Species.SLITHER_WING, - Species.IRON_BUNDLE, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.WALKING_WAKE, - Species.OGERPON, - Species.HYDRAPPLE, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, + [MoveId.RAIN_DANCE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.BASCULIN, + SpeciesId.MARACTUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.LURANTIS, + SpeciesId.SHIINOTIC, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_FINI, + SpeciesId.XURKITREE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.GREEDENT, + SpeciesId.CORVIKNIGHT, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.APPLETUN, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.EISCUE, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.REGIELEKI, + SpeciesId.WYRDEER, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.SCREAM_TAIL, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.WALKING_WAKE, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SUNNY_DAY]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.MR_MIME, - Species.SCYTHER, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.SUDOWOODO, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.CHERUBI, - Species.CHERRIM, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROSEED, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, + [MoveId.SUNNY_DAY]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.SUDOWOODO, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midday", "midnight", ], - Species.MUDBRAY, - Species.MUDSDALE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.KOMALA, - Species.TURTONATOR, - Species.MIMIKYU, - Species.DRAMPA, - Species.DHELMISE, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.LUNALA, - Species.XURKITREE, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.GREEDENT, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.FALINKS, - Species.STONJOURNER, - Species.DRACOZOLT, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.ZARUDE, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.ENAMORUS, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.WO_CHIEN, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.DIPPLIN, - Species.OGERPON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_DECIDUEYE, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.XURKITREE, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.GREEDENT, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.DRACOZOLT, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.ENAMORUS, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.WO_CHIEN, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.DIPPLIN, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_DECIDUEYE, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "combat", "blaze", ], - Species.BLOODMOON_URSALUNA, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.CRUNCH]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.EKANS, - Species.ARBOK, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.ZUBAT, - Species.GOLBAT, - Species.GROWLITHE, - Species.ARCANINE, - Species.RHYHORN, - Species.RHYDON, - Species.KANGASKHAN, - Species.GYARADOS, - Species.OMASTAR, - Species.AERODACTYL, - Species.SNORLAX, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CROBAT, - Species.UMBREON, - Species.GIRAFARIG, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.TEDDIURSA, - Species.URSARING, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.EXPLOUD, - Species.MAWILE, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.CARVANHA, - Species.SHARPEDO, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.SNORUNT, - Species.GLALIE, - Species.WALREIN, - Species.HUNTAIL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.GROUDON, - Species.RAYQUAZA, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.BUIZEL, - Species.FLOATZEL, - Species.STUNKY, - Species.SKUNTANK, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CARNIVINE, - Species.RHYPERIOR, - Species.YANMEGA, - Species.GLISCOR, - Species.FROSLASS, - Species.HEATRAN, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISAGE, - Species.PANPOUR, - Species.SIMIPOUR, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZOROARK, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.DRUDDIGON, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.CHESNAUGHT, - Species.LITLEO, - Species.PYROAR, - Species.PANCHAM, - Species.PANGORO, - Species.TYRUNT, - Species.TYRANTRUM, - Species.BERGMITE, - Species.AVALUGG, - Species.ZYGARDE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.ROCKRUFF, - Species.LYCANROC, - Species.DEWPIDER, - Species.ARAQUANID, - Species.SILVALLY, - Species.BRUXISH, - Species.SOLGALEO, - Species.GUZZLORD, - Species.SKWOVET, - Species.GREEDENT, - Species.THIEVUL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.MORPEKO, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ZARUDE, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.URSALUNA, - Species.BASCULEGION, - Species.OVERQWIL, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.CYCLIZAR, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.VELUZA, - Species.DONDOZO, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.OKIDOGI, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_MEOWTH, - Species.GALAR_STUNFISK, + [MoveId.CRUNCH]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.GYARADOS, + SpeciesId.OMASTAR, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CROBAT, + SpeciesId.UMBREON, + SpeciesId.GIRAFARIG, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.EXPLOUD, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CARNIVINE, + SpeciesId.RHYPERIOR, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.FROSLASS, + SpeciesId.HEATRAN, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISAGE, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZOROARK, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.DRUDDIGON, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.CHESNAUGHT, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.SOLGALEO, + SpeciesId.GUZZLORD, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.THIEVUL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.MORPEKO, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ZARUDE, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.CYCLIZAR, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.OKIDOGI, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_STUNFISK, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "single-strike", ], [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_QWILFISH, - Species.HISUI_ZOROARK, - Species.HISUI_AVALUGG, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_AVALUGG, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.PSYCH_UP]: [ - Species.BUTTERFREE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.LICKITUNG, - Species.CHANSEY, - Species.TANGELA, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.PORYGON, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.SUDOWOODO, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.STEELIX, - Species.SNEASEL, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.SWABLU, - Species.ALTARIA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.MOTHIM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.FINNEON, - Species.LUMINEON, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.TANGROWTH, - Species.TOGEKISS, - Species.YANMEGA, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.MUSHARNA, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.MIENFOO, - Species.MIENSHAO, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.VIVILLON, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.CARBINK, - Species.KLEFKI, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.PRIMARINA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.COMFEY, - Species.ORANGURU, - Species.GOLISOPOD, - Species.PYUKUMUKU, - Species.MINIOR, - Species.KOMALA, - Species.MIMIKYU, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.MARSHADOW, - Species.INDEEDEE, - Species.RABSCA, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, + [MoveId.PSYCH_UP]: [ + SpeciesId.BUTTERFREE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.SUDOWOODO, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.STEELIX, + SpeciesId.SNEASEL, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.TANGROWTH, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.PRIMARINA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.GOLISOPOD, + SpeciesId.PYUKUMUKU, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.MARSHADOW, + SpeciesId.INDEEDEE, + SpeciesId.RABSCA, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, ], - [Moves.SHADOW_BALL]: [ - Species.BUTTERFREE, - Species.RATTATA, - Species.RATICATE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.MEOWTH, - Species.PERSIAN, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.TAUROS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.AIPOM, - Species.YANMA, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SNEASEL, - Species.CORSOLA, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.GOREBYSS, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.BIDOOF, - Species.BIBAREL, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.MOTHIM, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.MUNCHLAX, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.GIRATINA, - Species.CRESSELIA, - Species.MANAPHY, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.WHIMSICOTT, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.GOLETT, - Species.GOLURK, - Species.VULLABY, - Species.MANDIBUZZ, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.DELPHOX, - Species.MEOWSTIC, - Species.AEGISLASH, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAWITZER, - Species.SYLVEON, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.HOOPA, - Species.DECIDUEYE, - Species.PRIMARINA, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.SILVALLY, - Species.MIMIKYU, - Species.DRAMPA, - Species.DHELMISE, - Species.TAPU_LELE, - Species.TAPU_FINI, - Species.LUNALA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.CINDERACE, - Species.INTELEON, - Species.DOTTLER, - Species.ORBEETLE, - Species.THIEVUL, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATTERENE, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.INDEEDEE, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.SPECTRIER, - Species.WYRDEER, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.RABSCA, - Species.ESPATHRA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.FLUTTER_MANE, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_YAMASK, + [MoveId.SHADOW_BALL]: [ + SpeciesId.BUTTERFREE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.TAUROS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.AIPOM, + SpeciesId.YANMA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.CORSOLA, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.GOREBYSS, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.WHIMSICOTT, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.DELPHOX, + SpeciesId.MEOWSTIC, + SpeciesId.AEGISLASH, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAWITZER, + SpeciesId.SYLVEON, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.DECIDUEYE, + SpeciesId.PRIMARINA, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.SILVALLY, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.THIEVUL, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATTERENE, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.INDEEDEE, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.SPECTRIER, + SpeciesId.WYRDEER, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.RABSCA, + SpeciesId.ESPATHRA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.FLUTTER_MANE, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_YAMASK, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.FUTURE_SIGHT]: [ - Species.PSYDUCK, - Species.GOLDUCK, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGUTOR, - Species.MR_MIME, - Species.JYNX, - Species.LAPRAS, - Species.MEWTWO, - Species.MEW, - Species.NOCTOWL, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MARILL, - Species.AZUMARILL, - Species.ESPEON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.DELIBIRD, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SPOINK, - Species.LUNATONE, - Species.BARBOACH, - Species.WHISCASH, - Species.CLAYDOL, - Species.CASTFORM, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.TOGEKISS, - Species.GALLADE, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.ARCEUS, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.DARMANITAN, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.BEHEEYEM, - Species.DELPHOX, - Species.INKAY, - Species.MALAMAR, - Species.ORANGURU, - Species.TAPU_LELE, - Species.SOLGALEO, - Species.LUNALA, - Species.NECROZMA, - Species.DOTTLER, - Species.ORBEETLE, - Species.HATTERENE, - Species.MR_RIME, - Species.INDEEDEE, - Species.CALYREX, - Species.IRON_VALIANT, - Species.MUNKIDORI, - Species.IRON_CROWN, + [MoveId.FUTURE_SIGHT]: [ + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGUTOR, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NOCTOWL, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.DELIBIRD, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SPOINK, + SpeciesId.LUNATONE, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CLAYDOL, + SpeciesId.CASTFORM, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DARMANITAN, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.BEHEEYEM, + SpeciesId.DELPHOX, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.ORANGURU, + SpeciesId.TAPU_LELE, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NECROZMA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.IRON_VALIANT, + SpeciesId.MUNKIDORI, + SpeciesId.IRON_CROWN, [ - Species.MEOWSTIC, + SpeciesId.MEOWSTIC, "female", ], - Species.ALOLA_RAICHU, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, + SpeciesId.ALOLA_RAICHU, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, ], - [Moves.ROCK_SMASH]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BEEDRILL, - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.PARAS, - Species.PARASECT, - Species.DIGLETT, - Species.DUGTRIO, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.MUK, - Species.GENGAR, - Species.ONIX, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.SCYTHER, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.BAYLEEF, - Species.MEGANIUM, - Species.QUILAVA, - Species.TYPHLOSION, - Species.CROCONAW, - Species.FERALIGATR, - Species.FURRET, - Species.LEDIAN, - Species.TOGEPI, - Species.TOGETIC, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.TYROGUE, - Species.HITMONTOP, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.GULPIN, - Species.SWALOT, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.CLAYDOL, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.DUSCLOPS, - Species.TROPIUS, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.RELICANTH, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BUIZEL, - Species.FLOATZEL, - Species.GASTRODON, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZONG, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZOROARK, - Species.REUNICLUS, - Species.SAWSBUCK, - Species.ESCAVALIER, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.GOODRA, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.ZYGARDE, - Species.VOLCANION, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MUDBRAY, - Species.MUDSDALE, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.TAPU_BULU, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.SIRFETCHD, - Species.FALINKS, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.KUBFU, - Species.URSHIFU, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.ENAMORUS, - Species.KLAWF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.KORAIDON, - Species.ARCHALUDON, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MAROWAK, - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.ROCK_SMASH]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BEEDRILL, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.MUK, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.SCYTHER, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.FURRET, + SpeciesId.LEDIAN, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.RELICANTH, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZONG, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZOROARK, + SpeciesId.REUNICLUS, + SpeciesId.SAWSBUCK, + SpeciesId.ESCAVALIER, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.TAPU_BULU, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.ENAMORUS, + SpeciesId.KLAWF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.KORAIDON, + SpeciesId.ARCHALUDON, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.WHIRLPOOL]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.LICKITUNG, - Species.RHYDON, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.SNEASEL, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.MILTANK, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.RAMPARDOS, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.BRUXISH, - Species.DHELMISE, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.CURSOLA, - Species.EISCUE, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.BASCULEGION, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.WIGLETT, - Species.WUGTRIO, - Species.PALAFIN, - Species.TATSUGIRI, - Species.IRON_BUNDLE, - Species.WALKING_WAKE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, + [MoveId.WHIRLPOOL]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.MILTANK, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.RAMPARDOS, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.EISCUE, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.BASCULEGION, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.PALAFIN, + SpeciesId.TATSUGIRI, + SpeciesId.IRON_BUNDLE, + SpeciesId.WALKING_WAKE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], - Species.HISUI_SAMUROTT, + SpeciesId.HISUI_SAMUROTT, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "aqua", ], ], - [Moves.BEAT_UP]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.EKANS, - Species.ARBOK, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.KANGASKHAN, - Species.MEW, - Species.AIPOM, - Species.GIRAFARIG, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.VESPIQUEN, - Species.AMBIPOM, - Species.WEAVILE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.VANILLUXE, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.WISHIWASHI, - Species.SALANDIT, - Species.SALAZZLE, - Species.PASSIMIAN, - Species.MIMIKYU, - Species.NICKIT, - Species.THIEVUL, - Species.FALINKS, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.URSHIFU, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.KINGAMBIT, - Species.FEZANDIPITI, - Species.PIKACHU, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_PERSIAN, + [MoveId.BEAT_UP]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.KANGASKHAN, + SpeciesId.MEW, + SpeciesId.AIPOM, + SpeciesId.GIRAFARIG, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.VESPIQUEN, + SpeciesId.AMBIPOM, + SpeciesId.WEAVILE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.VANILLUXE, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.WISHIWASHI, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.PASSIMIAN, + SpeciesId.MIMIKYU, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.FALINKS, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.URSHIFU, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.KINGAMBIT, + SpeciesId.FEZANDIPITI, + SpeciesId.PIKACHU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_PERSIAN, ], - [Moves.UPROAR]: [ - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.PIKACHU, - Species.RAICHU, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.TAUROS, - Species.GYARADOS, - Species.SNORLAX, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.MURKROW, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.TEDDIURSA, - Species.URSARING, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.CELEBI, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.WINGULL, - Species.PELIPPER, - Species.VIGOROTH, - Species.SLAKING, - Species.NINJASK, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.ROSELIA, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.WHISCASH, - Species.CHIMECHO, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.WORMADAM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.MUNCHLAX, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.PORYGON_Z, - Species.ROTOM, - Species.AZELF, - Species.HEATRAN, - Species.PHIONE, - Species.MANAPHY, - Species.VICTINI, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.ELGYEM, - Species.BEHEEYEM, - Species.STUNFISK, - Species.BOUFFALANT, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.MELOETTA, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.HOOPA, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.WISHIWASHI, - Species.PASSIMIAN, - Species.TURTONATOR, - Species.BRUXISH, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.POIPOLE, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.YAMPER, - Species.BOLTUND, - Species.CRAMORANT, - Species.TOXTRICITY, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.MR_RIME, - Species.FALINKS, - Species.MORPEKO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.WYRDEER, - Species.BASCULEGION, - Species.ENAMORUS, - Species.LECHONK, - Species.OINKOLOGNE, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.FLITTLE, - Species.ESPATHRA, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.KORAIDON, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.HYDRAPPLE, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, + [MoveId.UPROAR]: [ + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.CELEBI, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINJASK, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.ROSELIA, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.WHISCASH, + SpeciesId.CHIMECHO, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.WORMADAM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.PORYGON_Z, + SpeciesId.ROTOM, + SpeciesId.AZELF, + SpeciesId.HEATRAN, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.VICTINI, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.STUNFISK, + SpeciesId.BOUFFALANT, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.MELOETTA, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.HOOPA, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.WISHIWASHI, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.CRAMORANT, + SpeciesId.TOXTRICITY, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.FALINKS, + SpeciesId.MORPEKO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.WYRDEER, + SpeciesId.BASCULEGION, + SpeciesId.ENAMORUS, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.KORAIDON, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_STUNFISK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_STUNFISK, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.BLOODMOON_URSALUNA, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.HEAT_WAVE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.VULPIX, - Species.NINETALES, - Species.ZUBAT, - Species.GOLBAT, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.FARFETCHD, - Species.WEEZING, - Species.MAGMAR, - Species.FLAREON, - Species.AERODACTYL, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MURKROW, - Species.SLUGMA, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.ENTEI, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.SOLROCK, - Species.SALAMENCE, - Species.GROUDON, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.HONCHKROW, - Species.CHATOT, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.HEATRAN, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.DRUDDIGON, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.TORNADUS, - Species.RESHIRAM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.SALANDIT, - Species.SALAZZLE, - Species.SILVALLY, - Species.TURTONATOR, - Species.DRAMPA, - Species.LUNALA, - Species.GUZZLORD, - Species.NECROZMA, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.CARKOL, - Species.COALOSSAL, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.SQUAWKABILLY, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.BOMBIRDIER, - Species.SLITHER_WING, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.FEZANDIPITI, - Species.GOUGING_FIRE, - Species.ALOLA_MAROWAK, - Species.GALAR_WEEZING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_BRAVIARY, + [MoveId.HEAT_WAVE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.FARFETCHD, + SpeciesId.WEEZING, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MURKROW, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.SOLROCK, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.DRUDDIGON, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.RESHIRAM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.LUNALA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.SQUAWKABILLY, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.BOMBIRDIER, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.FEZANDIPITI, + SpeciesId.GOUGING_FIRE, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.HAIL]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.CHANSEY, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.JYNX, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.ARTICUNO, - Species.ZAPDOS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.SNEASEL, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.DELIBIRD, - Species.MANTINE, - Species.KINGDRA, - Species.SMOOCHUM, - Species.BLISSEY, - Species.SUICUNE, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.AZURILL, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.LUNATONE, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.REGICE, - Species.KYOGRE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.HAPPINY, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.GLACEON, - Species.MAMOSWINE, - Species.FROSLASS, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.KYUREM, - Species.KELDEO, - Species.SKRELP, - Species.DRAGALGE, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.GOODRA, - Species.BERGMITE, - Species.AVALUGG, - Species.XERNEAS, - Species.DIANCIE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CRABOMINABLE, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.WIMPOD, - Species.GOLISOPOD, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.CURSOLA, - Species.MR_RIME, - Species.FROSMOTH, - Species.EISCUE, - Species.ARCTOZOLT, - Species.ARCTOVISH, - Species.GLASTRIER, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, + [MoveId.HAIL]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.JYNX, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.AZURILL, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.LUNATONE, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.REGICE, + SpeciesId.KYOGRE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.HAPPINY, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.FROSLASS, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.GOODRA, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CRABOMINABLE, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.ARCTOVISH, + SpeciesId.GLASTRIER, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], ], - [Moves.TORMENT]: [ - Species.EKANS, - Species.ARBOK, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.ZUBAT, - Species.GOLBAT, - Species.MEOWTH, - Species.PERSIAN, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.DODRIO, - Species.GRIMER, - Species.MUK, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.KOFFING, - Species.WEEZING, - Species.MR_MIME, - Species.JYNX, - Species.GYARADOS, - Species.AERODACTYL, - Species.MEWTWO, - Species.MEW, - Species.CROBAT, - Species.SUDOWOODO, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.LOUDRED, - Species.EXPLOUD, - Species.NOSEPASS, - Species.SABLEYE, - Species.MAWILE, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPOINK, - Species.GRUMPIG, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.GLALIE, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.SHIELDON, - Species.BASTIODON, - Species.FLOATZEL, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.MIME_JR, - Species.CHATOT, - Species.SPIRITOMB, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GLISCOR, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.AZELF, - Species.HEATRAN, - Species.DARKRAI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.KLEFKI, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.HOOPA, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.SALANDIT, - Species.SALAZZLE, - Species.BRUXISH, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.PHEROMOSA, - Species.BLACEPHALON, - Species.NICKIT, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.MORPEKO, - Species.GLASTRIER, - Species.ENAMORUS, - Species.SQUAWKABILLY, - Species.BOMBIRDIER, - Species.VAROOM, - Species.KINGAMBIT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, + [MoveId.TORMENT]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.DODRIO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.GYARADOS, + SpeciesId.AERODACTYL, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CROBAT, + SpeciesId.SUDOWOODO, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.GLALIE, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.FLOATZEL, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.MIME_JR, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.AZELF, + SpeciesId.HEATRAN, + SpeciesId.DARKRAI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.KLEFKI, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BRUXISH, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.PHEROMOSA, + SpeciesId.BLACEPHALON, + SpeciesId.NICKIT, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.MORPEKO, + SpeciesId.GLASTRIER, + SpeciesId.ENAMORUS, + SpeciesId.SQUAWKABILLY, + SpeciesId.BOMBIRDIER, + SpeciesId.VAROOM, + SpeciesId.KINGAMBIT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.WILL_O_WISP]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.VULPIX, - Species.NINETALES, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.MAGMAR, - Species.FLAREON, - Species.MOLTRES, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.MISDREAVUS, - Species.SLUGMA, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.ENTEI, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHEDINJA, - Species.SABLEYE, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.ALTARIA, - Species.SOLROCK, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.GROUDON, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.SPIRITOMB, - Species.MAGMORTAR, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.HEATRAN, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.DARUMAKA, - Species.DARMANITAN, - Species.YAMASK, - Species.COFAGRIGUS, - Species.FRILLISH, - Species.JELLICENT, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.HEATMOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.RESHIRAM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SALANDIT, - Species.SALAZZLE, - Species.TURTONATOR, - Species.MIMIKYU, - Species.LUNALA, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.CINDERACE, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.CENTISKORCH, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.CURSOLA, - Species.RUNERIGUS, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.SPECTRIER, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.SCOVILLAIN, - Species.HOUNDSTONE, - Species.SLITHER_WING, - Species.CHI_YU, - Species.ALOLA_MAROWAK, - Species.MAROWAK, - Species.GALAR_WEEZING, - Species.GALAR_CORSOLA, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, + [MoveId.WILL_O_WISP]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.MISDREAVUS, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.ALTARIA, + SpeciesId.SOLROCK, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.GROUDON, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.SPIRITOMB, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.HEATRAN, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.HEATMOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.MIMIKYU, + SpeciesId.LUNALA, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.CINDERACE, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CENTISKORCH, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.SPECTRIER, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.SCOVILLAIN, + SpeciesId.HOUNDSTONE, + SpeciesId.SLITHER_WING, + SpeciesId.CHI_YU, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.MAROWAK, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.FACADE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.FACADE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.FOCUS_PUNCH]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.MUK, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.TOGETIC, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.QUAGSIRE, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LUDICOLO, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.KECLEON, - Species.DUSCLOPS, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.BIBAREL, - Species.RAMPARDOS, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MIME_JR, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.GALLADE, - Species.DUSKNOIR, - Species.PALKIA, - Species.REGIGIGAS, - Species.DARKRAI, - Species.PIGNITE, - Species.EMBOAR, - Species.WATCHOG, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.HEATMOR, - Species.ZEKROM, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.HAWLUCHA, - Species.GOODRA, - Species.HOOPA, - Species.INCINEROAR, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.STUFFUL, - Species.BEWEAR, - Species.PASSIMIAN, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.ZERAORA, - Species.RILLABOOM, - Species.GRIMMSNARL, - Species.MR_RIME, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.URSALUNA, - Species.SNEASLER, - Species.PAWMO, - Species.PAWMOT, - Species.GARGANACL, - Species.PALAFIN, - Species.ANNIHILAPE, - Species.IRON_HANDS, - Species.GHOLDENGO, - Species.KORAIDON, - Species.OKIDOGI, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, + [MoveId.FOCUS_PUNCH]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.MUK, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.TOGETIC, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LUDICOLO, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.BIBAREL, + SpeciesId.RAMPARDOS, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MIME_JR, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.WATCHOG, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HEATMOR, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.RILLABOOM, + SpeciesId.GRIMMSNARL, + SpeciesId.MR_RIME, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.GARGANACL, + SpeciesId.PALAFIN, + SpeciesId.ANNIHILAPE, + SpeciesId.IRON_HANDS, + SpeciesId.GHOLDENGO, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MR_MIME, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.NATURE_POWER]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.ONIX, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.KABUTOPS, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.BELLOSSOM, - Species.SUDOWOODO, - Species.SUNKERN, - Species.SUNFLORA, - Species.STEELIX, - Species.SLUGMA, - Species.MAGCARGO, - Species.CORSOLA, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.ROSELIA, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.CACNEA, - Species.CACTURNE, - Species.CRAWDAUNT, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.BONSLY, - Species.CARNIVINE, - Species.FINNEON, - Species.TANGROWTH, - Species.LEAFEON, - Species.HEATRAN, - Species.REGIGIGAS, - Species.SHAYMIN, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROSEED, - Species.FERROTHORN, - Species.VIRIZION, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.BINACLE, - Species.BARBARACLE, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.XERNEAS, - Species.DIANCIE, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.RIBOMBEE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.XURKITREE, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.CURSOLA, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_CORSOLA, - Species.HISUI_TYPHLOSION, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + [MoveId.NATURE_POWER]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.BELLOSSOM, + SpeciesId.SUDOWOODO, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.STEELIX, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.ROSELIA, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.CRAWDAUNT, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.BONSLY, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.SHAYMIN, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.VIRIZION, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.RIBOMBEE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.XURKITREE, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.CURSOLA, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.CHARGE]: [ - Species.PIKACHU, - Species.RAICHU, - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.ZAPDOS, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.ELEKID, - Species.RAIKOU, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.ROTOM, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.EMOLGA, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.TYNAMO, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.STUNFISK, - Species.THUNDURUS, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.XURKITREE, - Species.ZERAORA, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.PINCURCHIN, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.REGIELEKI, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.SANDY_SHOCKS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.MIRAIDON, - Species.RAGING_BOLT, - Species.ALOLA_RAICHU, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.CHARGE]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.ELEKID, + SpeciesId.RAIKOU, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.ROTOM, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.EMOLGA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.TYNAMO, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.STUNFISK, + SpeciesId.THUNDURUS, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.XURKITREE, + SpeciesId.ZERAORA, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.REGIELEKI, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.MIRAIDON, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.TAUNT]: [ - Species.RATTATA, - Species.RATICATE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.DODRIO, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.KOFFING, - Species.WEEZING, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.GYARADOS, - Species.AERODACTYL, - Species.MEWTWO, - Species.MEW, - Species.CROBAT, - Species.SUDOWOODO, - Species.AIPOM, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPOINK, - Species.GRUMPIG, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.GLALIE, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHIELDON, - Species.BASTIODON, - Species.VESPIQUEN, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.MIME_JR, - Species.CHATOT, - Species.SPIRITOMB, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GLISCOR, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.AZELF, - Species.HEATRAN, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.EMOLGA, - Species.ESCAVALIER, - Species.FRILLISH, - Species.JELLICENT, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.PANCHAM, - Species.PANGORO, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.HOOPA, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ORICORIO, - Species.ROCKRUFF, - Species.LYCANROC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.PYUKUMUKU, - Species.TURTONATOR, - Species.MIMIKYU, - Species.BRUXISH, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.TOXTRICITY, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MORPEKO, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, - Species.URSALUNA, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.LOKIX, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SQUAWKABILLY, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.BOMBIRDIER, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.FLAMIGO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.IRON_BUNDLE, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, + [MoveId.TAUNT]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.DODRIO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.GYARADOS, + SpeciesId.AERODACTYL, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CROBAT, + SpeciesId.SUDOWOODO, + SpeciesId.AIPOM, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.GLALIE, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.VESPIQUEN, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.MIME_JR, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.AZELF, + SpeciesId.HEATRAN, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.EMOLGA, + SpeciesId.ESCAVALIER, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ORICORIO, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.PYUKUMUKU, + SpeciesId.TURTONATOR, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.TOXTRICITY, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MORPEKO, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SQUAWKABILLY, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.BOMBIRDIER, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.FLAMIGO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.HELPING_HAND]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIKACHU, - Species.RAICHU, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DIGLETT, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.MILOTIC, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.SNORUNT, - Species.GLALIE, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.CROAGUNK, - Species.TOXICROAK, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.MARACTUS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.ALOMOMOLA, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.RUFFLET, - Species.BRAVIARY, - Species.DURANT, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.DIANCIE, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.SALANDIT, - Species.SALAZZLE, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.PYUKUMUKU, - Species.TOGEDEMARU, - Species.DRAMPA, - Species.DHELMISE, - Species.KOMMO_O, - Species.SOLGALEO, - Species.LUNALA, - Species.MAGEARNA, - Species.POIPOLE, - Species.NAGANADEL, - Species.ZERAORA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.DOTTLER, - Species.ORBEETLE, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.YAMPER, - Species.BOLTUND, - Species.APPLETUN, - Species.TOXTRICITY, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.MR_RIME, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.FROSMOTH, - Species.INDEEDEE, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.ORTHWORM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_BUNDLE, - Species.IRON_MOTH, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.MUNKIDORI, - Species.OGERPON, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.HELPING_HAND]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DIGLETT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.MILOTIC, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.MARACTUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.ALOMOMOLA, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.DURANT, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.DIANCIE, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.PYUKUMUKU, + SpeciesId.TOGEDEMARU, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.MAGEARNA, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.APPLETUN, + SpeciesId.TOXTRICITY, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.FROSMOTH, + SpeciesId.INDEEDEE, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.ORTHWORM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_MOTH, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.MUNKIDORI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.TRICK]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.CLEFFA, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.BLISSEY, - Species.LUGIA, - Species.CELEBI, - Species.ZIGZAGOON, - Species.LINOONE, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHEDINJA, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.BALTOY, - Species.CLAYDOL, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.TOGEKISS, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.PURRLOIN, - Species.LIEPARD, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.DARMANITAN, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.GOLURK, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.HOOPA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.COMFEY, - Species.ORANGURU, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MIMIKYU, - Species.TAPU_FINI, - Species.LUNALA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.MR_RIME, - Species.RUNERIGUS, - Species.INDEEDEE, - Species.CALYREX, - Species.WYRDEER, - Species.MEOWSCARADA, - Species.ARMAROUGE, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.MUNKIDORI, - Species.ETERNAL_FLOETTE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_YAMASK, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + [MoveId.TRICK]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CLEFFA, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.CELEBI, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DARMANITAN, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.GOLURK, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.HOOPA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MIMIKYU, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.MEOWSCARADA, + SpeciesId.ARMAROUGE, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.MUNKIDORI, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.SUPERPOWER]: [ - Species.NIDOQUEEN, - Species.NIDOKING, - Species.ARCANINE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.KRABBY, - Species.KINGLER, - Species.HITMONLEE, - Species.RHYHORN, - Species.RHYDON, - Species.PINSIR, - Species.FLAREON, - Species.KABUTOPS, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.MARILL, - Species.AZUMARILL, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.TEDDIURSA, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.PHANPY, - Species.DONPHAN, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.BRELOOM, - Species.MAKUHITA, - Species.HARIYAMA, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.TORKOAL, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACTURNE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ARMALDO, - Species.ABSOL, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BIDOOF, - Species.BIBAREL, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.HONCHKROW, - Species.MUNCHLAX, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.RHYPERIOR, - Species.MAMOSWINE, - Species.REGIGIGAS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.SAMUROTT, - Species.STOUTLAND, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.GIGALITH, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.SCOLIPEDE, - Species.BASCULIN, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.CARRACOSTA, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.DIGGERSBY, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.INKAY, - Species.MALAMAR, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.HAWLUCHA, - Species.GOODRA, - Species.AVALUGG, - Species.ZYGARDE, - Species.VOLCANION, - Species.INCINEROAR, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MUDBRAY, - Species.MUDSDALE, - Species.LURANTIS, - Species.STUFFUL, - Species.BEWEAR, - Species.PASSIMIAN, - Species.KOMALA, - Species.DRAMPA, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.MARSHADOW, - Species.STAKATAKA, - Species.ZERAORA, - Species.MELMETAL, - Species.RILLABOOM, - Species.GREEDENT, - Species.DREDNAW, - Species.APPLETUN, - Species.CRAMORANT, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.SIRFETCHD, - Species.FALINKS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.ENAMORUS, - Species.CETODDLE, - Species.SLITHER_WING, - Species.OKIDOGI, - Species.OGERPON, + [MoveId.SUPERPOWER]: [ + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.ARCANINE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.HITMONLEE, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.PINSIR, + SpeciesId.FLAREON, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.BRELOOM, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACTURNE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ARMALDO, + SpeciesId.ABSOL, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.HONCHKROW, + SpeciesId.MUNCHLAX, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.RHYPERIOR, + SpeciesId.MAMOSWINE, + SpeciesId.REGIGIGAS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.STOUTLAND, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.GIGALITH, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCOLIPEDE, + SpeciesId.BASCULIN, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.CARRACOSTA, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.DIGGERSBY, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.LURANTIS, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.KOMALA, + SpeciesId.DRAMPA, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.GREEDENT, + SpeciesId.DREDNAW, + SpeciesId.APPLETUN, + SpeciesId.CRAMORANT, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.ENAMORUS, + SpeciesId.CETODDLE, + SpeciesId.SLITHER_WING, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "attack", ], - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_BRAVIARY, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.RECYCLE]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.CHANSEY, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.PORYGON, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.SLOWKING, - Species.GIRAFARIG, - Species.DELIBIRD, - Species.PORYGON2, - Species.SMOOCHUM, - Species.BLISSEY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.KECLEON, - Species.CHIMECHO, - Species.JIRACHI, - Species.DEOXYS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.MUNCHLAX, - Species.MAGNEZONE, - Species.PORYGON_Z, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.ARCEUS, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.TRUBBISH, - Species.GARBODOR, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.ELGYEM, - Species.BEHEEYEM, - Species.HEATMOR, - Species.MELOETTA, - Species.GENESECT, - Species.BRAIXEN, - Species.DELPHOX, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.ESPURR, - Species.MEOWSTIC, - Species.DEDENNE, - Species.KLEFKI, - Species.HOOPA, - Species.MORELULL, - Species.SHIINOTIC, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.NECROZMA, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.APPLIN, - Species.FLAPPLE, - Species.APPLETUN, - Species.MR_RIME, - Species.FARIGIRAF, - Species.DIPPLIN, - Species.HYDRAPPLE, - Species.ALOLA_RAICHU, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_MR_MIME, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.RECYCLE]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.CHANSEY, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.DELIBIRD, + SpeciesId.PORYGON2, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.CHIMECHO, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.MUNCHLAX, + SpeciesId.MAGNEZONE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.HEATMOR, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.DEDENNE, + SpeciesId.KLEFKI, + SpeciesId.HOOPA, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.APPLIN, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.MR_RIME, + SpeciesId.FARIGIRAF, + SpeciesId.DIPPLIN, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_MR_MIME, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.REVENGE]: [ - Species.RATTATA, - Species.RATICATE, - Species.MANKEY, - Species.PRIMEAPE, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.FARFETCHD, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.PINSIR, - Species.TAUROS, - Species.MEW, - Species.AIPOM, - Species.PINECO, - Species.FORRETRESS, - Species.QWILFISH, - Species.HERACROSS, - Species.HITMONTOP, - Species.TYRANITAR, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SHIFTRY, - Species.MAKUHITA, - Species.HARIYAMA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.CRAWDAUNT, - Species.DUSKULL, - Species.DUSCLOPS, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.AMBIPOM, - Species.VESPIQUEN, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.GALLADE, - Species.DUSKNOIR, - Species.REGIGIGAS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.BASCULIN, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.ESCAVALIER, - Species.FERROSEED, - Species.FERROTHORN, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.KELDEO, - Species.PANGORO, - Species.HAWLUCHA, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.MUDSDALE, - Species.BEWEAR, - Species.PASSIMIAN, - Species.TURTONATOR, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.ZERAORA, - Species.CINDERACE, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CHEWTLE, - Species.DREDNAW, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.CURSOLA, - Species.SIRFETCHD, - Species.RUNERIGUS, - Species.FALINKS, - Species.MORPEKO, - Species.COPPERAJAH, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.BASCULEGION, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, + [MoveId.REVENGE]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.FARFETCHD, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.MEW, + SpeciesId.AIPOM, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.QWILFISH, + SpeciesId.HERACROSS, + SpeciesId.HITMONTOP, + SpeciesId.TYRANITAR, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SHIFTRY, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.CRAWDAUNT, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.AMBIPOM, + SpeciesId.VESPIQUEN, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.REGIGIGAS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.BASCULIN, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.ESCAVALIER, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.KELDEO, + SpeciesId.PANGORO, + SpeciesId.HAWLUCHA, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.MUDSDALE, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.CINDERACE, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.MORPEKO, + SpeciesId.COPPERAJAH, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.BASCULEGION, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, - Species.HISUI_SAMUROTT, - Species.GALAR_STUNFISK, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.GALAR_STUNFISK, ], - [Moves.BRICK_BREAK]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BEEDRILL, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PARAS, - Species.PARASECT, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.MUK, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.KABUTOPS, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.TOGETIC, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.QUAGSIRE, - Species.SLOWKING, - Species.GLIGAR, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.TYROGUE, - Species.HITMONTOP, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.DUSCLOPS, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.KRICKETUNE, - Species.RAMPARDOS, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BONSLY, - Species.MIME_JR, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.GLISCOR, - Species.GALLADE, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.PIGNITE, - Species.EMBOAR, - Species.DEWOTT, - Species.SAMUROTT, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZOROARK, - Species.GOTHITELLE, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.ZYGARDE, - Species.HOOPA, - Species.VOLCANION, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.LYCANROC, - Species.LURANTIS, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.KOMALA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.ZERAORA, - Species.MELMETAL, - Species.RILLABOOM, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.MR_RIME, - Species.FALINKS, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.MEOWSCARADA, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.LOKIX, - Species.PAWMOT, - Species.GARGANACL, - Species.CERULEDGE, - Species.KLAWF, - Species.TINKATUFF, - Species.TINKATON, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SLITHER_WING, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.IRON_LEAVES, - Species.OKIDOGI, - Species.OGERPON, - Species.ARCHALUDON, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_MR_MIME, - Species.GALAR_ZAPDOS, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + [MoveId.BRICK_BREAK]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BEEDRILL, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.MUK, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.TOGETIC, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.GLIGAR, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.KRICKETUNE, + SpeciesId.RAMPARDOS, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZOROARK, + SpeciesId.GOTHITELLE, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.ZYGARDE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.LYCANROC, + SpeciesId.LURANTIS, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.KOMALA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.FALINKS, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.PAWMOT, + SpeciesId.GARGANACL, + SpeciesId.CERULEDGE, + SpeciesId.KLAWF, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.KNOCK_OFF]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PARAS, - Species.PARASECT, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.LICKITUNG, - Species.TANGELA, - Species.GOLDEEN, - Species.SEAKING, - Species.SCYTHER, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.MEWTWO, - Species.MEW, - Species.BAYLEEF, - Species.MEGANIUM, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.MARILL, - Species.AZUMARILL, - Species.AIPOM, - Species.GLIGAR, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.PHANPY, - Species.DONPHAN, - Species.ELEKID, - Species.TYRANITAR, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.SABLEYE, - Species.MAWILE, - Species.SWALOT, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.CHIMECHO, - Species.ABSOL, - Species.METAGROSS, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.EMPOLEON, - Species.KRICKETUNE, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.WEAVILE, - Species.LICKILICKY, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.LEAFEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.KROKOROK, - Species.KROOKODILE, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.REUNICLUS, - Species.SWANNA, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.ALOMOMOLA, - Species.FERROSEED, - Species.FERROTHORN, - Species.TYNAMO, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.CRYOGONAL, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.MELOETTA, - Species.CHESNAUGHT, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.INKAY, - Species.MALAMAR, - Species.GOODRA, - Species.TREVENANT, - Species.YVELTAL, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MAREANIE, - Species.TOXAPEX, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.KOMALA, - Species.DHELMISE, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.NIHILEGO, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.GREEDENT, - Species.NICKIT, - Species.SIZZLIPEDE, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.FALINKS, - Species.MORPEKO, - Species.COPPERAJAH, - Species.ZARUDE, - Species.MEOWSCARADA, - Species.QUAQUAVAL, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.LOKIX, - Species.PAWMO, - Species.PAWMOT, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.BOMBIRDIER, - Species.CYCLIZAR, - Species.CETODDLE, - Species.CETITAN, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.IRON_JUGULIS, - Species.WO_CHIEN, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.WALKING_WAKE, - Species.OKIDOGI, - Species.OGERPON, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, + [MoveId.KNOCK_OFF]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.LICKITUNG, + SpeciesId.TANGELA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.SCYTHER, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.AIPOM, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.ELEKID, + SpeciesId.TYRANITAR, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.SWALOT, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.METAGROSS, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.KRICKETUNE, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.LEAFEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.REUNICLUS, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.ALOMOMOLA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.TYNAMO, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.CRYOGONAL, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.MELOETTA, + SpeciesId.CHESNAUGHT, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.GOODRA, + SpeciesId.TREVENANT, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.KOMALA, + SpeciesId.DHELMISE, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.NIHILEGO, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.GREEDENT, + SpeciesId.NICKIT, + SpeciesId.SIZZLIPEDE, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.MORPEKO, + SpeciesId.COPPERAJAH, + SpeciesId.ZARUDE, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAQUAVAL, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.BOMBIRDIER, + SpeciesId.CYCLIZAR, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_JUGULIS, + SpeciesId.WO_CHIEN, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.WALKING_WAKE, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_GOODRA, - Species.HISUI_DECIDUEYE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.ENDEAVOR]: [ - Species.BEEDRILL, - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.DODUO, - Species.DODRIO, - Species.DEWGONG, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.TAUROS, - Species.GYARADOS, - Species.FLAREON, - Species.MEW, - Species.MEGANIUM, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.SUDOWOODO, - Species.POLITOED, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.HERACROSS, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.DELIBIRD, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.HITMONTOP, - Species.BLISSEY, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.NUMEL, - Species.CAMERUPT, - Species.SPOINK, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.LUVDISC, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.WORMADAM, - Species.COMBEE, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.HONCHKROW, - Species.SKUNTANK, - Species.HAPPINY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.TOGEKISS, - Species.MAMOSWINE, - Species.AZELF, - Species.SHAYMIN, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PATRAT, - Species.WATCHOG, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.BASCULIN, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.MINCCINO, - Species.CINCCINO, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.DEERLING, - Species.SAWSBUCK, - Species.FERROSEED, - Species.FERROTHORN, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.STUNFISK, - Species.BOUFFALANT, - Species.DURANT, - Species.KYUREM, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.XERNEAS, - Species.DIANCIE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.SALANDIT, - Species.SALAZZLE, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.PASSIMIAN, - Species.ORANGURU, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.DRAMPA, - Species.KOMMO_O, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.FLAPPLE, - Species.SANDACONDA, - Species.CRAMORANT, - Species.TOXEL, - Species.TOXTRICITY, - Species.PERRSERKER, - Species.ALCREMIE, - Species.FALINKS, - Species.STONJOURNER, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.BASCULEGION, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.BOMBIRDIER, - Species.PALAFIN, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.VELUZA, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_ZAPDOS, - Species.HISUI_TYPHLOSION, - Species.PALDEA_TAUROS, + [MoveId.ENDEAVOR]: [ + SpeciesId.BEEDRILL, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.DEWGONG, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.FLAREON, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.DELIBIRD, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.HITMONTOP, + SpeciesId.BLISSEY, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.LUVDISC, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.WORMADAM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.HONCHKROW, + SpeciesId.SKUNTANK, + SpeciesId.HAPPINY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.TOGEKISS, + SpeciesId.MAMOSWINE, + SpeciesId.AZELF, + SpeciesId.SHAYMIN, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.BASCULIN, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.BOUFFALANT, + SpeciesId.DURANT, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.PASSIMIAN, + SpeciesId.ORANGURU, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.DRAMPA, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.FLAPPLE, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.PERRSERKER, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.BASCULEGION, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.BOMBIRDIER, + SpeciesId.PALAFIN, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.VELUZA, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.PALDEA_TAUROS, ], - [Moves.SKILL_SWAP]: [ - Species.BUTTERFREE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VENONAT, - Species.VENOMOTH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.STANTLER, - Species.SMOOCHUM, - Species.BLISSEY, - Species.LUGIA, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.JIRACHI, - Species.DEOXYS, - Species.WORMADAM, - Species.MOTHIM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.GALLADE, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.MANAPHY, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ALOMOMOLA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.INKAY, - Species.MALAMAR, - Species.SYLVEON, - Species.CARBINK, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DIANCIE, - Species.HOOPA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ORANGURU, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TAPU_LELE, - Species.MAGEARNA, - Species.STAKATAKA, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MR_RIME, - Species.RUNERIGUS, - Species.INDEEDEE, - Species.CALYREX, - Species.WYRDEER, - Species.MEOWSCARADA, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.FARIGIRAF, - Species.IRON_VALIANT, - Species.ALOLA_RAICHU, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.GALAR_YAMASK, + [MoveId.SKILL_SWAP]: [ + SpeciesId.BUTTERFREE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ALOMOMOLA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ORANGURU, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TAPU_LELE, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.MEOWSCARADA, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.FARIGIRAF, + SpeciesId.IRON_VALIANT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_YAMASK, ], - [Moves.IMPRISON]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.STANTLER, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.BALTOY, - Species.CLAYDOL, - Species.MILOTIC, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.JIRACHI, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.BRONZOR, - Species.BRONZONG, - Species.SPIRITOMB, - Species.TOGEKISS, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.ARCEUS, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FRILLISH, - Species.JELLICENT, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.GOLETT, - Species.GOLURK, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, + [MoveId.IMPRISON]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.STANTLER, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.MILOTIC, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.JIRACHI, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.SPIRITOMB, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.ARCEUS, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, [ - Species.MEOWSTIC, + SpeciesId.MEOWSTIC, "male", ], - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DECIDUEYE, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ORANGURU, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.NECROZMA, - Species.MAGEARNA, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MORGREM, - Species.GRIMMSNARL, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.FROSMOTH, - Species.STONJOURNER, - Species.INDEEDEE, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.CALYREX, - Species.WYRDEER, - Species.ENAMORUS, - Species.SKELEDIRGE, - Species.RABSCA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.MUNKIDORI, - Species.PECHARUNT, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_ARTICUNO, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_YAMASK, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DECIDUEYE, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ORANGURU, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.INDEEDEE, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ENAMORUS, + SpeciesId.SKELEDIRGE, + SpeciesId.RABSCA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.MUNKIDORI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.SECRET_POWER]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.PECHARUNT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.SECRET_POWER]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.DIVE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTOPS, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.SUICUNE, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.BARBOACH, - Species.WHISCASH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.SEISMITOAD, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.BEARTIC, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.EISCUE, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.FINIZEN, - Species.PALAFIN, - Species.DONDOZO, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, + [MoveId.DIVE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTOPS, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.BEARTIC, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.EISCUE, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.DONDOZO, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], ], - [Moves.FEATHER_DANCE]: [ - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.ARTICUNO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.NATU, - Species.XATU, - Species.MURKROW, - Species.DELIBIRD, - Species.LUGIA, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.WINGULL, - Species.PELIPPER, - Species.SWABLU, - Species.ALTARIA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.HONCHKROW, - Species.CHATOT, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.DUCKLETT, - Species.SWANNA, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.HAWLUCHA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.CRAMORANT, - Species.FROSMOTH, - Species.EISCUE, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.FEATHER_DANCE]: [ + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.ARTICUNO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MURKROW, + SpeciesId.DELIBIRD, + SpeciesId.LUGIA, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.HAWLUCHA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.CRAMORANT, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.BLAZE_KICK]: [ - Species.CHARIZARD, - Species.HITMONLEE, - Species.MEW, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.RIOLU, - Species.LUCARIO, - Species.VICTINI, - Species.MIENSHAO, - Species.GENESECT, - Species.INCINEROAR, - Species.MARSHADOW, - Species.ZERAORA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.GALAR_ZAPDOS, + [MoveId.BLAZE_KICK]: [ + SpeciesId.CHARIZARD, + SpeciesId.HITMONLEE, + SpeciesId.MEW, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.VICTINI, + SpeciesId.MIENSHAO, + SpeciesId.GENESECT, + SpeciesId.INCINEROAR, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.GALAR_ZAPDOS, ], - [Moves.HYPER_VOICE]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.ARCANINE, - Species.CHANSEY, - Species.JYNX, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.ESPEON, - Species.UMBREON, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.TEDDIURSA, - Species.URSARING, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.BLISSEY, - Species.LUGIA, - Species.HO_OH, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.MANECTRIC, - Species.WAILMER, - Species.WAILORD, - Species.GRUMPIG, - Species.SPINDA, - Species.SWABLU, - Species.ALTARIA, - Species.CHIMECHO, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.RAYQUAZA, - Species.TORTERRA, - Species.KRICKETUNE, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.HAPPINY, - Species.CHATOT, - Species.MUNCHLAX, - Species.HIPPOWDON, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.ROTOM, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.AUDINO, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.MARACTUS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.DELPHOX, - Species.LITLEO, - Species.PYROAR, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ROCKRUFF, - Species.LYCANROC, - Species.SALAZZLE, - Species.ORANGURU, - Species.SILVALLY, - Species.TURTONATOR, - Species.DRAMPA, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.SOLGALEO, - Species.NECROZMA, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.BOLTUND, - Species.TOXTRICITY, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.INDEEDEE, - Species.ARCTOZOLT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ZARUDE, - Species.URSALUNA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.TADBULB, - Species.BELLIBOLT, - Species.MABOSSTIFF, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.PALAFIN, - Species.CYCLIZAR, - Species.CETODDLE, - Species.CETITAN, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_JUGULIS, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.RAGING_BOLT, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_ARTICUNO, - Species.GALAR_MOLTRES, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_ARCANINE, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.BLOODMOON_URSALUNA, + [MoveId.HYPER_VOICE]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.ARCANINE, + SpeciesId.CHANSEY, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MANECTRIC, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.CHIMECHO, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.RAYQUAZA, + SpeciesId.TORTERRA, + SpeciesId.KRICKETUNE, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.MUNCHLAX, + SpeciesId.HIPPOWDON, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.ROTOM, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.AUDINO, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.MARACTUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.DELPHOX, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.SALAZZLE, + SpeciesId.ORANGURU, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.SOLGALEO, + SpeciesId.NECROZMA, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.INDEEDEE, + SpeciesId.ARCTOZOLT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ZARUDE, + SpeciesId.URSALUNA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.MABOSSTIFF, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.PALAFIN, + SpeciesId.CYCLIZAR, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_JUGULIS, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.BLAST_BURN]: [ - Species.CHARIZARD, - Species.MEW, - Species.TYPHLOSION, - Species.BLAZIKEN, - Species.INFERNAPE, - Species.EMBOAR, - Species.DELPHOX, - Species.INCINEROAR, - Species.CINDERACE, - Species.SKELEDIRGE, - Species.HISUI_TYPHLOSION, + [MoveId.BLAST_BURN]: [ + SpeciesId.CHARIZARD, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.BLAZIKEN, + SpeciesId.INFERNAPE, + SpeciesId.EMBOAR, + SpeciesId.DELPHOX, + SpeciesId.INCINEROAR, + SpeciesId.CINDERACE, + SpeciesId.SKELEDIRGE, + SpeciesId.HISUI_TYPHLOSION, ], - [Moves.HYDRO_CANNON]: [ - Species.BLASTOISE, - Species.MEW, - Species.FERALIGATR, - Species.SWAMPERT, - Species.EMPOLEON, - Species.SAMUROTT, - Species.GRENINJA, - Species.PRIMARINA, - Species.INTELEON, - Species.QUAQUAVAL, - Species.HISUI_SAMUROTT, + [MoveId.HYDRO_CANNON]: [ + SpeciesId.BLASTOISE, + SpeciesId.MEW, + SpeciesId.FERALIGATR, + SpeciesId.SWAMPERT, + SpeciesId.EMPOLEON, + SpeciesId.SAMUROTT, + SpeciesId.GRENINJA, + SpeciesId.PRIMARINA, + SpeciesId.INTELEON, + SpeciesId.QUAQUAVAL, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.WEATHER_BALL]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.VULPIX, - Species.NINETALES, - Species.VILEPLUME, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.CLOYSTER, - Species.HORSEA, - Species.SEADRA, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.BELLOSSOM, - Species.POLITOED, - Species.SUNKERN, - Species.SUNFLORA, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.DELIBIRD, - Species.KINGDRA, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.SWAMPERT, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.PELIPPER, - Species.MASQUERAIN, - Species.ROSELIA, - Species.WAILMER, - Species.WAILORD, - Species.TORKOAL, - Species.ALTARIA, - Species.LUNATONE, - Species.SOLROCK, - Species.WHISCASH, - Species.MILOTIC, - Species.CASTFORM, - Species.SNORUNT, - Species.GLALIE, - Species.LATIAS, - Species.LATIOS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BUDEW, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.GASTRODON, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BRONZONG, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SNOVER, - Species.ABOMASNOW, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.LEAFEON, - Species.GLACEON, - Species.FROSLASS, - Species.PHIONE, - Species.MANAPHY, - Species.GIGALITH, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.LILLIGANT, - Species.MARACTUS, - Species.SWANNA, - Species.VANILLUXE, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.GRENINJA, - Species.VIVILLON, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.GOODRA, - Species.VOLCANION, - Species.PRIMARINA, - Species.FOMANTIS, - Species.LURANTIS, - Species.SHIINOTIC, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.ELDEGOSS, - Species.CRAMORANT, - Species.FROSMOTH, - Species.EISCUE, - Species.ENAMORUS, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.ARMAROUGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.RELLOR, - Species.RABSCA, - Species.WALKING_WAKE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.HISUI_LILLIGANT, - Species.HISUI_GOODRA, + [MoveId.WEATHER_BALL]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.VILEPLUME, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.CLOYSTER, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.BELLOSSOM, + SpeciesId.POLITOED, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.DELIBIRD, + SpeciesId.KINGDRA, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.SWAMPERT, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.ROSELIA, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.TORKOAL, + SpeciesId.ALTARIA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.WHISCASH, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.GASTRODON, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BRONZONG, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.FROSLASS, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.GIGALITH, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.SWANNA, + SpeciesId.VANILLUXE, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.GRENINJA, + SpeciesId.VIVILLON, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.GOODRA, + SpeciesId.VOLCANION, + SpeciesId.PRIMARINA, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SHIINOTIC, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.ELDEGOSS, + SpeciesId.CRAMORANT, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.ENAMORUS, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.ARMAROUGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.WALKING_WAKE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_GOODRA, ], - [Moves.FAKE_TEARS]: [ - Species.PIKACHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.JYNX, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.MEW, - Species.TOTODILE, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.ESPEON, - Species.UMBREON, - Species.MISDREAVUS, - Species.SNUBBULL, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SMOOCHUM, - Species.SHROOMISH, - Species.BRELOOM, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.AZURILL, - Species.SKITTY, - Species.MAWILE, - Species.PLUSLE, - Species.MINUN, - Species.ILLUMISE, - Species.SPINDA, - Species.CHIMECHO, - Species.SNORUNT, - Species.GLALIE, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.GLAMEOW, - Species.BONSLY, - Species.WEAVILE, - Species.LEAFEON, - Species.GLACEON, - Species.FROSLASS, - Species.PURRLOIN, - Species.LIEPARD, - Species.WOOBAT, - Species.SWOOBAT, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.SCRAGGY, - Species.SCRAFTY, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.DEERLING, - Species.SAWSBUCK, - Species.VULLABY, - Species.MANDIBUZZ, - Species.MELOETTA, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.SYLVEON, - Species.DIANCIE, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.SALAZZLE, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.MORPEKO, - Species.URSALUNA, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SQUAWKABILLY, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.PECHARUNT, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_YAMASK, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + [MoveId.FAKE_TEARS]: [ + SpeciesId.PIKACHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.JYNX, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MISDREAVUS, + SpeciesId.SNUBBULL, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SMOOCHUM, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.MAWILE, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.ILLUMISE, + SpeciesId.SPINDA, + SpeciesId.CHIMECHO, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.BONSLY, + SpeciesId.WEAVILE, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.FROSLASS, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.MELOETTA, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SYLVEON, + SpeciesId.DIANCIE, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.SALAZZLE, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.MORPEKO, + SpeciesId.URSALUNA, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SQUAWKABILLY, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.AIR_CUTTER]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.VENOMOTH, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SCYTHER, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.YANMA, - Species.MURKROW, - Species.SCIZOR, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.TROPIUS, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.HONCHKROW, - Species.CHATOT, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.TOGEKISS, - Species.YANMEGA, - Species.GIRATINA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.DUCKLETT, - Species.SWANNA, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.VOLCARONA, - Species.TORNADUS, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.NOIBAT, - Species.NOIVERN, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.KARTANA, - Species.NAGANADEL, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CRAMORANT, - Species.KLEAVOR, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.IRON_BUNDLE, - Species.IRON_JUGULIS, - Species.FEZANDIPITI, - Species.SHAYMIN, - Species.GALAR_ARTICUNO, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.AIR_CUTTER]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENOMOTH, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SCYTHER, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.TROPIUS, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GIRATINA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.KARTANA, + SpeciesId.NAGANADEL, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CRAMORANT, + SpeciesId.KLEAVOR, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_JUGULIS, + SpeciesId.FEZANDIPITI, + SpeciesId.SHAYMIN, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.OVERHEAT]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.VULPIX, - Species.NINETALES, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.MAGMAR, - Species.FLAREON, - Species.MOLTRES, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SNUBBULL, - Species.GRANBULL, - Species.SLUGMA, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.ENTEI, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.LOUDRED, - Species.EXPLOUD, - Species.MANECTRIC, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SOLROCK, - Species.GROUDON, - Species.RAYQUAZA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.MAGMORTAR, - Species.DIALGA, - Species.HEATRAN, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.ZEBSTRIKA, - Species.DARUMAKA, - Species.DARMANITAN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.HEATMOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.RESHIRAM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.TOUCANNON, - Species.SALANDIT, - Species.SALAZZLE, - Species.TURTONATOR, - Species.BLACEPHALON, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.CARKOL, - Species.COALOSSAL, - Species.CENTISKORCH, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.SCOVILLAIN, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ANNIHILAPE, - Species.IRON_MOTH, - Species.CHI_YU, - Species.KORAIDON, - Species.MIRAIDON, - Species.GOUGING_FIRE, + [MoveId.OVERHEAT]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MANECTRIC, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SOLROCK, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.MAGMORTAR, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.ZEBSTRIKA, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.HEATMOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.TOUCANNON, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.BLACEPHALON, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CENTISKORCH, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.SCOVILLAIN, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ANNIHILAPE, + SpeciesId.IRON_MOTH, + SpeciesId.CHI_YU, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.GOUGING_FIRE, [ - Species.ROTOM, + SpeciesId.ROTOM, "heat", ], - Species.GALAR_WEEZING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.ROCK_TOMB]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.GRIMER, - Species.MUK, - Species.ONIX, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.PINSIR, - Species.TAUROS, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.GRANBULL, - Species.SHUCKLE, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.MANTINE, - Species.SKARMORY, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.ZANGOOSE, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.DUSCLOPS, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.HUNTAIL, - Species.RELICANTH, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.DARKRAI, - Species.ARCEUS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.HYDREIGON, - Species.TERRAKION, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.HAWLUCHA, - Species.CARBINK, - Species.BERGMITE, - Species.AVALUGG, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.STAKATAKA, - Species.MELMETAL, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.FALINKS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.URSHIFU, - Species.ZARUDE, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.SPIDOPS, - Species.PAWMOT, - Species.GARGANACL, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.BOMBIRDIER, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.TING_LU, - Species.OKIDOGI, - Species.OGERPON, - Species.ARCHALUDON, - Species.IRON_BOULDER, + [MoveId.ROCK_TOMB]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.ONIX, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.RELICANTH, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.HYDREIGON, + SpeciesId.TERRAKION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.HAWLUCHA, + SpeciesId.CARBINK, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.SPIDOPS, + SpeciesId.PAWMOT, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.BOMBIRDIER, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.TING_LU, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_BOULDER, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_CORSOLA, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.METAL_SOUND]: [ - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.KABUTO, - Species.KABUTOPS, - Species.ZAPDOS, - Species.MEW, - Species.FORRETRESS, - Species.SKARMORY, - Species.ELEKID, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.REGISTEEL, - Species.JIRACHI, - Species.EMPOLEON, - Species.SHIELDON, - Species.BASTIODON, + [MoveId.METAL_SOUND]: [ + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.FORRETRESS, + SpeciesId.SKARMORY, + SpeciesId.ELEKID, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.REGISTEEL, + SpeciesId.JIRACHI, + SpeciesId.EMPOLEON, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "trash", ], - Species.BRONZOR, - Species.BRONZONG, - Species.LUCARIO, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.PROBOPASS, - Species.DIALGA, - Species.HEATRAN, - Species.DRILBUR, - Species.EXCADRILL, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.COBALION, - Species.GENESECT, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.KLEFKI, - Species.TYPE_NULL, - Species.SILVALLY, - Species.DHELMISE, - Species.KOMMO_O, - Species.SOLGALEO, - Species.CELESTEELA, - Species.MAGEARNA, - Species.CORVIKNIGHT, - Species.TOXEL, - Species.TOXTRICITY, - Species.PERRSERKER, - Species.DURALUDON, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.VAROOM, - Species.REVAVROOM, - Species.ORTHWORM, - Species.KINGAMBIT, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.GHOLDENGO, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.ARCHALUDON, - Species.IRON_CROWN, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.GALAR_MEOWTH, - Species.GALAR_STUNFISK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.LUCARIO, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.GENESECT, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.KLEFKI, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.DHELMISE, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.MAGEARNA, + SpeciesId.CORVIKNIGHT, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.PERRSERKER, + SpeciesId.DURALUDON, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.KINGAMBIT, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.GHOLDENGO, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_STUNFISK, ], - [Moves.COSMIC_POWER]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.STARYU, - Species.STARMIE, - Species.MEW, - Species.NATU, - Species.XATU, - Species.SKITTY, - Species.DELCATTY, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.CASTFORM, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.RAYQUAZA, - Species.JIRACHI, + [MoveId.COSMIC_POWER]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MEW, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CASTFORM, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "", "attack", ], - Species.BUNEARY, - Species.LOPUNNY, - Species.CHINGLING, - Species.ARCEUS, - Species.SIGILYPH, - Species.GOTHITELLE, - Species.ELGYEM, - Species.BEHEEYEM, - Species.MINIOR, - Species.COSMOEM, - Species.SOLGALEO, - Species.LUNALA, - Species.NECROZMA, - Species.ETERNATUS, - Species.RELLOR, - Species.RABSCA, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.CHINGLING, + SpeciesId.ARCEUS, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITELLE, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.MINIOR, + SpeciesId.COSMOEM, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NECROZMA, + SpeciesId.ETERNATUS, + SpeciesId.RELLOR, + SpeciesId.RABSCA, ], - [Moves.SIGNAL_BEAM]: [ - Species.BLASTOISE, - Species.BUTTERFREE, - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VENONAT, - Species.VENOMOTH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.SEEL, - Species.DEWGONG, - Species.CLOYSTER, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.LAPRAS, - Species.VAPOREON, - Species.JOLTEON, - Species.PORYGON, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MEWTWO, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.YANMA, - Species.ESPEON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.FORRETRESS, - Species.QWILFISH, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.KINGDRA, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.ELEKID, - Species.RAIKOU, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.SPOINK, - Species.GRUMPIG, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.CHIMECHO, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.GOREBYSS, - Species.METANG, - Species.METAGROSS, - Species.REGICE, - Species.KYOGRE, - Species.JIRACHI, - Species.DEOXYS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.TOGEKISS, - Species.YANMEGA, - Species.GLACEON, - Species.PORYGON_Z, - Species.GALLADE, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.VICTINI, - Species.WATCHOG, - Species.MUNNA, - Species.MUSHARNA, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.GOLETT, - Species.GOLURK, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.GENESECT, - Species.DELPHOX, - Species.VIVILLON, - Species.ESPURR, - Species.MEOWSTIC, - Species.MALAMAR, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.HOOPA, - Species.VIKAVOLT, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.TYPE_NULL, - Species.SILVALLY, - Species.BRUXISH, - Species.DRAMPA, - Species.LUNALA, - Species.PHEROMOSA, - Species.XURKITREE, - Species.NECROZMA, - Species.MAGEARNA, - Species.POIPOLE, - Species.NAGANADEL, - Species.WYRDEER, - Species.FARIGIRAF, - Species.ALOLA_RAICHU, + [MoveId.SIGNAL_BEAM]: [ + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.CLOYSTER, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.YANMA, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.FORRETRESS, + SpeciesId.QWILFISH, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.RAIKOU, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CHIMECHO, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.GOREBYSS, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGICE, + SpeciesId.KYOGRE, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GLACEON, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.WATCHOG, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.MALAMAR, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.HOOPA, + SpeciesId.VIKAVOLT, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.WYRDEER, + SpeciesId.FARIGIRAF, + SpeciesId.ALOLA_RAICHU, ], - [Moves.SAND_TOMB]: [ - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.ONIX, - Species.MEW, - Species.SUDOWOODO, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.STEELIX, - Species.SCIZOR, - Species.SHUCKLE, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.SKARMORY, - Species.PHANPY, - Species.DONPHAN, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.NOSEPASS, - Species.LAIRON, - Species.AGGRON, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.LUNATONE, - Species.SOLROCK, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.REGIROCK, - Species.REGISTEEL, - Species.GROUDON, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.GASTRODON, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.LANDORUS, - Species.DIGGERSBY, - Species.CARBINK, - Species.DIANCIE, - Species.MUDBRAY, - Species.MUDSDALE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.SANDY_SHOCKS, - Species.IRON_THORNS, - Species.TING_LU, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, + [MoveId.SAND_TOMB]: [ + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.ONIX, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.SKARMORY, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.NOSEPASS, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.GASTRODON, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.LANDORUS, + SpeciesId.DIGGERSBY, + SpeciesId.CARBINK, + SpeciesId.DIANCIE, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_THORNS, + SpeciesId.TING_LU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, ], - [Moves.MUDDY_WATER]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.LICKITUNG, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.KINGDRA, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.AZURILL, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.CLAMPERL, - Species.RELICANTH, - Species.KYOGRE, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.LICKILICKY, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.JELLICENT, - Species.STUNFISK, - Species.KELDEO, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.GOLISOPOD, - Species.DHELMISE, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.DREDNAW, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.PINCURCHIN, - Species.BASCULEGION, - Species.TADBULB, - Species.BELLIBOLT, - Species.WIGLETT, - Species.WUGTRIO, - Species.TATSUGIRI, - Species.CLODSIRE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_STUNFISK, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.MUDDY_WATER]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.LICKITUNG, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.KINGDRA, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.AZURILL, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CLAMPERL, + SpeciesId.RELICANTH, + SpeciesId.KYOGRE, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.LICKILICKY, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.JELLICENT, + SpeciesId.STUNFISK, + SpeciesId.KELDEO, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.GOLISOPOD, + SpeciesId.DHELMISE, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.DREDNAW, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.PINCURCHIN, + SpeciesId.BASCULEGION, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.TATSUGIRI, + SpeciesId.CLODSIRE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.BULLET_SEED]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.HERACROSS, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SHROOMISH, - Species.BRELOOM, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CACNEA, - Species.CACTURNE, - Species.LILEEP, - Species.CRADILY, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.LEAFEON, - Species.SHAYMIN, - Species.ARCEUS, - Species.PATRAT, - Species.WATCHOG, - Species.PANSAGE, - Species.SIMISAGE, - Species.LEAVANNY, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROSEED, - Species.FERROTHORN, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.SKIDDO, - Species.GOGOAT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.FOMANTIS, - Species.LURANTIS, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.TAPU_BULU, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.MORPEKO, - Species.ZARUDE, - Species.CALYREX, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.BRUTE_BONNET, - Species.WO_CHIEN, - Species.DIPPLIN, - Species.OGERPON, - Species.HYDRAPPLE, + [MoveId.BULLET_SEED]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.HERACROSS, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.LEAVANNY, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.TAPU_BULU, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.MORPEKO, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.BRUTE_BONNET, + SpeciesId.WO_CHIEN, + SpeciesId.DIPPLIN, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "plant", ], - Species.ALOLA_EXEGGUTOR, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.AERIAL_ACE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.ZUBAT, - Species.GOLBAT, - Species.PARAS, - Species.PARASECT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.SLOWBRO, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.CUBONE, - Species.MAROWAK, - Species.KANGASKHAN, - Species.MR_MIME, - Species.SCYTHER, - Species.PORYGON, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.YANMA, - Species.MURKROW, - Species.MISDREAVUS, - Species.GLIGAR, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.PORYGON2, - Species.HITMONTOP, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.TROPIUS, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.KRICKETUNE, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHATOT, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.MANTYKE, - Species.WEAVILE, - Species.TANGROWTH, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLISCOR, - Species.PORYGON_Z, - Species.GALLADE, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.LEAVANNY, - Species.KROKOROK, - Species.KROOKODILE, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.DUCKLETT, - Species.SWANNA, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FERROTHORN, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.KELDEO, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.HAWLUCHA, - Species.DEDENNE, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.LURANTIS, - Species.STUFFUL, - Species.BEWEAR, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.BRUXISH, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.LUNALA, - Species.KARTANA, - Species.NECROZMA, - Species.NAGANADEL, - Species.ZERAORA, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.FLAPPLE, - Species.CRAMORANT, - Species.DRACOZOLT, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.LOKIX, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.CYCLIZAR, - Species.FLAMIGO, - Species.KINGAMBIT, - Species.SLITHER_WING, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.FEZANDIPITI, - Species.IRON_BOULDER, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.AERIAL_ACE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.SLOWBRO, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.PORYGON, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.PORYGON2, + SpeciesId.HITMONTOP, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.KRICKETUNE, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHATOT, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.MANTYKE, + SpeciesId.WEAVILE, + SpeciesId.TANGROWTH, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLISCOR, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.LEAVANNY, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FERROTHORN, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.KELDEO, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.LURANTIS, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.LUNALA, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.FLAPPLE, + SpeciesId.CRAMORANT, + SpeciesId.DRACOZOLT, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.CYCLIZAR, + SpeciesId.FLAMIGO, + SpeciesId.KINGAMBIT, + SpeciesId.SLITHER_WING, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.FEZANDIPITI, + SpeciesId.IRON_BOULDER, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.ICICLE_SPEAR]: [ - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.JYNX, - Species.LAPRAS, - Species.ARTICUNO, - Species.MEW, - Species.SNEASEL, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.DELIBIRD, - Species.SNORUNT, - Species.GLALIE, - Species.SEALEO, - Species.WALREIN, - Species.REGICE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.GLACEON, - Species.MAMOSWINE, - Species.FROSLASS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.KYUREM, - Species.AURORUS, - Species.BERGMITE, - Species.AVALUGG, - Species.INTELEON, - Species.CURSOLA, - Species.MR_RIME, - Species.SNOM, - Species.FROSMOTH, - Species.EISCUE, - Species.ARCTOZOLT, - Species.ARCTOVISH, - Species.GLASTRIER, - Species.CETODDLE, - Species.CETITAN, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.GALAR_MR_MIME, - Species.GALAR_CORSOLA, + [MoveId.ICICLE_SPEAR]: [ + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.ARTICUNO, + SpeciesId.MEW, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.DELIBIRD, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.REGICE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.FROSLASS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.KYUREM, + SpeciesId.AURORUS, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.INTELEON, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.ARCTOVISH, + SpeciesId.GLASTRIER, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_CORSOLA, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_AVALUGG, + SpeciesId.HISUI_AVALUGG, ], - [Moves.IRON_DEFENSE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.METAPOD, - Species.BUTTERFREE, - Species.KAKUNA, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.RHYDON, - Species.MR_MIME, - Species.PINSIR, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.MEW, - Species.SUDOWOODO, - Species.SLOWKING, - Species.PINECO, - Species.FORRETRESS, - Species.STEELIX, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SLUGMA, - Species.MAGCARGO, - Species.CORSOLA, - Species.SKARMORY, - Species.DONPHAN, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.SILCOON, - Species.CASCOON, - Species.NOSEPASS, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.TORKOAL, - Species.SOLROCK, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.CLAYDOL, - Species.ANORITH, - Species.ARMALDO, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.BELDUM, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGISTEEL, - Species.JIRACHI, - Species.TORTERRA, - Species.EMPOLEON, - Species.SHIELDON, - Species.BASTIODON, - Species.BRONZOR, - Species.BRONZONG, - Species.RIOLU, - Species.LUCARIO, - Species.DRAPION, - Species.MAGNEZONE, - Species.RHYPERIOR, - Species.PROBOPASS, - Species.DIALGA, - Species.HEATRAN, - Species.ARCEUS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.CRYOGONAL, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DURANT, - Species.COBALION, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.SPEWPA, - Species.VIVILLON, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.KLEFKI, - Species.BERGMITE, - Species.AVALUGG, - Species.DIANCIE, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.TURTONATOR, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.MELTAN, - Species.MELMETAL, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SANDACONDA, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.FALINKS, - Species.STONJOURNER, - Species.EISCUE, - Species.CUFANT, - Species.COPPERAJAH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.URSHIFU, - Species.GLASTRIER, - Species.ENAMORUS, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.VAROOM, - Species.REVAVROOM, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.KINGAMBIT, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.IRON_LEAVES, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.ARCHALUDON, - Species.IRON_CROWN, + [MoveId.IRON_DEFENSE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.METAPOD, + SpeciesId.BUTTERFREE, + SpeciesId.KAKUNA, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.RHYDON, + SpeciesId.MR_MIME, + SpeciesId.PINSIR, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.SLOWKING, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.SKARMORY, + SpeciesId.DONPHAN, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.SILCOON, + SpeciesId.CASCOON, + SpeciesId.NOSEPASS, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.TORKOAL, + SpeciesId.SOLROCK, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.CLAYDOL, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.BELDUM, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.JIRACHI, + SpeciesId.TORTERRA, + SpeciesId.EMPOLEON, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.DRAPION, + SpeciesId.MAGNEZONE, + SpeciesId.RHYPERIOR, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.CRYOGONAL, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.SPEWPA, + SpeciesId.VIVILLON, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.DIANCIE, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.URSHIFU, + SpeciesId.GLASTRIER, + SpeciesId.ENAMORUS, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.KINGAMBIT, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_LEAVES, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_CROWN, [ - Species.DEOXYS, + SpeciesId.DEOXYS, "defense", ], [ - Species.WORMADAM, + SpeciesId.WORMADAM, "trash", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_AVALUGG, + SpeciesId.HISUI_AVALUGG, ], - [Moves.DRAGON_CLAW]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.AERODACTYL, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.TYRANITAR, - Species.SCEPTILE, - Species.AGGRON, - Species.FLYGON, - Species.ALTARIA, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.CHESNAUGHT, - Species.PANGORO, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.GOODRA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.SALANDIT, - Species.SALAZZLE, - Species.BEWEAR, - Species.TYPE_NULL, - Species.SILVALLY, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.GUZZLORD, - Species.NAGANADEL, - Species.DRACOZOLT, - Species.DURALUDON, - Species.DRAGAPULT, - Species.REGIDRAGO, - Species.CERULEDGE, - Species.CYCLIZAR, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.ARCHALUDON, - Species.GOUGING_FIRE, - Species.HISUI_GOODRA, + [MoveId.DRAGON_CLAW]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.AERODACTYL, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.TYRANITAR, + SpeciesId.SCEPTILE, + SpeciesId.AGGRON, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.CHESNAUGHT, + SpeciesId.PANGORO, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.GOODRA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BEWEAR, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.GUZZLORD, + SpeciesId.NAGANADEL, + SpeciesId.DRACOZOLT, + SpeciesId.DURALUDON, + SpeciesId.DRAGAPULT, + SpeciesId.REGIDRAGO, + SpeciesId.CERULEDGE, + SpeciesId.CYCLIZAR, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.ARCHALUDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.HISUI_GOODRA, ], - [Moves.FRENZY_PLANT]: [ - Species.VENUSAUR, - Species.MEW, - Species.MEGANIUM, - Species.SCEPTILE, - Species.TORTERRA, - Species.SERPERIOR, - Species.CHESNAUGHT, - Species.DECIDUEYE, - Species.RILLABOOM, - Species.MEOWSCARADA, - Species.HISUI_DECIDUEYE, + [MoveId.FRENZY_PLANT]: [ + SpeciesId.VENUSAUR, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.SCEPTILE, + SpeciesId.TORTERRA, + SpeciesId.SERPERIOR, + SpeciesId.CHESNAUGHT, + SpeciesId.DECIDUEYE, + SpeciesId.RILLABOOM, + SpeciesId.MEOWSCARADA, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.BULK_UP]: [ - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.ELECTABUZZ, - Species.PINSIR, - Species.MEWTWO, - Species.MEW, - Species.SNUBBULL, - Species.GRANBULL, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.TYROGUE, - Species.HITMONTOP, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.GROUDON, - Species.RAYQUAZA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.BUIZEL, - Species.FLOATZEL, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ELECTIVIRE, - Species.GALLADE, - Species.DIALGA, - Species.PALKIA, - Species.ARCEUS, - Species.PIGNITE, - Species.EMBOAR, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.EELEKTROSS, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.RUFFLET, - Species.BRAVIARY, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.TALONFLAME, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.LYCANROC, - Species.STUFFUL, - Species.BEWEAR, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.KOMALA, - Species.TURTONATOR, - Species.MIMIKYU, - Species.BRUXISH, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.ZERAORA, - Species.RILLABOOM, - Species.RABOOT, - Species.CINDERACE, - Species.CORVIKNIGHT, - Species.BOLTUND, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.FALINKS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.URSALUNA, - Species.SNEASLER, - Species.QUAQUAVAL, - Species.PAWMOT, - Species.CERULEDGE, - Species.PALAFIN, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.SLITHER_WING, - Species.KORAIDON, - Species.OKIDOGI, - Species.ALOLA_RATICATE, - Species.GALAR_ZAPDOS, - Species.GALAR_DARMANITAN, - Species.HISUI_SNEASEL, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, + [MoveId.BULK_UP]: [ + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.ELECTABUZZ, + SpeciesId.PINSIR, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ELECTIVIRE, + SpeciesId.GALLADE, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.ARCEUS, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.EELEKTROSS, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.TALONFLAME, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.LYCANROC, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.RILLABOOM, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.CORVIKNIGHT, + SpeciesId.BOLTUND, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.FALINKS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.QUAQUAVAL, + SpeciesId.PAWMOT, + SpeciesId.CERULEDGE, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.SLITHER_WING, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_RATICATE, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, ], - [Moves.BOUNCE]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PONYTA, - Species.RAPIDASH, - Species.HITMONLEE, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.MAGIKARP, - Species.GYARADOS, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CHINCHOU, - Species.LANTURN, - Species.IGGLYBUFF, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.QWILFISH, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.KINGDRA, - Species.DONPHAN, - Species.STANTLER, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SHIFTRY, - Species.AZURILL, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.SPOINK, - Species.GRUMPIG, - Species.BARBOACH, - Species.WHISCASH, - Species.ABSOL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.CROAGUNK, - Species.TOXICROAK, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.PHIONE, - Species.MANAPHY, - Species.VICTINI, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.MARACTUS, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.DEERLING, - Species.SAWSBUCK, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.COBALION, - Species.VIRIZION, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PYROAR, - Species.GOGOAT, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HAWLUCHA, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.TOGEDEMARU, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.ZERAORA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.DUBWOOL, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.REGIELEKI, - Species.LOKIX, - Species.FINIZEN, - Species.CETODDLE, - Species.CETITAN, - Species.CHI_YU, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_ZAPDOS, - Species.GALAR_STUNFISK, + [MoveId.BOUNCE]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.HITMONLEE, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.MAGIKARP, + SpeciesId.GYARADOS, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.IGGLYBUFF, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.QWILFISH, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SHIFTRY, + SpeciesId.AZURILL, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.ABSOL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.VICTINI, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.MARACTUS, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.COBALION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PYROAR, + SpeciesId.GOGOAT, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HAWLUCHA, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.TOGEDEMARU, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.DUBWOOL, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.REGIELEKI, + SpeciesId.LOKIX, + SpeciesId.FINIZEN, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.CHI_YU, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_STUNFISK, ], - [Moves.MUD_SHOT]: [ - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.RHYHORN, - Species.RHYDON, - Species.GOLDEEN, - Species.SEAKING, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.MEW, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.DUNSPARCE, - Species.GLIGAR, - Species.QWILFISH, - Species.SHUCKLE, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.REMORAID, - Species.OCTILLERY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOMBRE, - Species.LUDICOLO, - Species.SURSKIT, - Species.MASQUERAIN, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.SABLEYE, - Species.GULPIN, - Species.SWALOT, - Species.NUMEL, - Species.CAMERUPT, - Species.GRUMPIG, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.RELICANTH, - Species.GROUDON, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.PACHIRISU, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.CROAGUNK, - Species.TOXICROAK, - Species.RHYPERIOR, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.DRILBUR, - Species.EXCADRILL, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.CUBCHOO, - Species.BEARTIC, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.BOUFFALANT, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.SKIDDO, - Species.GOGOAT, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.VOLCANION, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDSDALE, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.NICKIT, - Species.THIEVUL, - Species.CHEWTLE, - Species.DREDNAW, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.CUFANT, - Species.COPPERAJAH, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.BASCULEGION, - Species.OVERQWIL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.TADBULB, - Species.BELLIBOLT, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.WIGLETT, - Species.WUGTRIO, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.WO_CHIEN, - Species.TING_LU, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.PIKACHU, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_STUNFISK, - Species.HISUI_QWILFISH, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.MUD_SHOT]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SHUCKLE, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.SABLEYE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.GRUMPIG, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.RELICANTH, + SpeciesId.GROUDON, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.PACHIRISU, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.RHYPERIOR, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.BOUFFALANT, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.VOLCANION, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDSDALE, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.WO_CHIEN, + SpeciesId.TING_LU, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.PIKACHU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.POISON_TAIL]: [ - Species.EKANS, - Species.ARBOK, - Species.NIDORAN_F, - Species.NIDORAN_M, - Species.MEW, - Species.DUNSPARCE, - Species.GLIGAR, - Species.QWILFISH, - Species.SEVIPER, - Species.STUNKY, - Species.SKUNTANK, - Species.SKORUPI, - Species.GLISCOR, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.DRUDDIGON, - Species.SKRELP, - Species.DRAGALGE, - Species.GOOMY, - Species.GOODRA, - Species.SALANDIT, - Species.SALAZZLE, - Species.SILICOBRA, - Species.SANDACONDA, - Species.TOXTRICITY, - Species.ETERNATUS, - Species.SNEASLER, - Species.OVERQWIL, - Species.GRAFAIAI, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.OKIDOGI, - Species.FEZANDIPITI, - Species.PIKACHU, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.PALDEA_WOOPER, + [MoveId.POISON_TAIL]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORAN_M, + SpeciesId.MEW, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SEVIPER, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SKORUPI, + SpeciesId.GLISCOR, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.DRUDDIGON, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.GOOMY, + SpeciesId.GOODRA, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.TOXTRICITY, + SpeciesId.ETERNATUS, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.GRAFAIAI, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.OKIDOGI, + SpeciesId.FEZANDIPITI, + SpeciesId.PIKACHU, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.PALDEA_WOOPER, ], - [Moves.COVET]: [ - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.FARFETCHD, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.AIPOM, - Species.ESPEON, - Species.UMBREON, - Species.SNUBBULL, - Species.GRANBULL, - Species.SHUCKLE, - Species.TEDDIURSA, - Species.URSARING, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.BLISSEY, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.PLUSLE, - Species.MINUN, - Species.ILLUMISE, - Species.ROSELIA, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.LATIAS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.BUDEW, - Species.ROSERADE, - Species.PACHIRISU, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.GLAMEOW, - Species.PURUGLY, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.MUNCHLAX, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.LICKILICKY, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.PHIONE, - Species.MANAPHY, - Species.SHAYMIN, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANPOUR, - Species.SIMIPOUR, - Species.PANSEAR, - Species.SIMISEAR, - Species.AUDINO, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.EMOLGA, - Species.CUBCHOO, - Species.BEARTIC, - Species.KELDEO, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.PANCHAM, - Species.PANGORO, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.SYLVEON, - Species.DEDENNE, - Species.CARBINK, - Species.KLEFKI, - Species.DIANCIE, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.SALANDIT, - Species.SALAZZLE, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.POIPOLE, - Species.GREEDENT, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.MR_RIME, - Species.URSALUNA, - Species.LECHONK, - Species.OINKOLOGNE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.ANNIHILAPE, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_FARFETCHD, - Species.GALAR_MR_MIME, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, - Species.ETERNAL_FLOETTE, + [MoveId.COVET]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.FARFETCHD, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.AIPOM, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.BLISSEY, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.LATIAS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.MUNCHLAX, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.SHAYMIN, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.AUDINO, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.EMOLGA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.POIPOLE, + SpeciesId.GREEDENT, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.URSALUNA, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.ANNIHILAPE, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_MR_MIME, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.ETERNAL_FLOETTE, ], - [Moves.MAGICAL_LEAF]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGUTOR, - Species.MR_MIME, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CLEFFA, - Species.TOGETIC, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.ESPEON, - Species.MISDREAVUS, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHROOMISH, - Species.BRELOOM, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.MISMAGIUS, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TOGEKISS, - Species.LEAFEON, - Species.GALLADE, - Species.SHAYMIN, - Species.ARCEUS, - Species.SNIVY, - Species.PANSAGE, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.PETILIL, - Species.LILLIGANT, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.VIRIZION, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.SYLVEON, - Species.PHANTUMP, - Species.TREVENANT, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.FOMANTIS, - Species.LURANTIS, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.ALCREMIE, - Species.INDEEDEE, - Species.ZARUDE, - Species.CALYREX, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.WO_CHIEN, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OGERPON, - Species.HYDRAPPLE, + [MoveId.MAGICAL_LEAF]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGUTOR, + SpeciesId.MR_MIME, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CLEFFA, + SpeciesId.TOGETIC, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.ESPEON, + SpeciesId.MISDREAVUS, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.MISMAGIUS, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GALLADE, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.PANSAGE, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.VIRIZION, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.SYLVEON, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, [ - Species.MEOWSTIC, + SpeciesId.MEOWSTIC, "female", ], - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.CALM_MIND]: [ - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.MR_MIME, - Species.JYNX, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CLEFFA, - Species.NATU, - Species.XATU, - Species.SUDOWOODO, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SNEASEL, - Species.CORSOLA, - Species.STANTLER, - Species.SMOOCHUM, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.RELICANTH, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.JIRACHI, - Species.DEOXYS, - Species.INFERNAPE, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.SPIRITOMB, - Species.LUCARIO, - Species.WEAVILE, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.GIRATINA, - Species.CRESSELIA, - Species.MANAPHY, - Species.DARKRAI, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ALOMOMOLA, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.MIENFOO, - Species.MIENSHAO, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.LANDORUS, - Species.KELDEO, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.CARBINK, - Species.KLEFKI, - Species.TREVENANT, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.PRIMARINA, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.COMFEY, - Species.ORANGURU, - Species.MINIOR, - Species.KOMALA, - Species.BRUXISH, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.XURKITREE, - Species.KARTANA, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.ZERAORA, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.CURSOLA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.FROSMOTH, - Species.INDEEDEE, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.SNEASLER, - Species.ENAMORUS, - Species.ARMAROUGE, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.RAGING_BOLT, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.ALOLA_NINETALES, - Species.ETERNAL_FLOETTE, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_YAMASK, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.BLOODMOON_URSALUNA, + [MoveId.CALM_MIND]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CLEFFA, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.SUDOWOODO, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNEASEL, + SpeciesId.CORSOLA, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.RELICANTH, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.INFERNAPE, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.LUCARIO, + SpeciesId.WEAVILE, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ALOMOMOLA, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.LANDORUS, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.TREVENANT, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.PRIMARINA, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.XURKITREE, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.FROSMOTH, + SpeciesId.INDEEDEE, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.SNEASLER, + SpeciesId.ENAMORUS, + SpeciesId.ARMAROUGE, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.LEAF_BLADE]: [ - Species.VICTREEBEL, - Species.FARFETCHD, - Species.MEW, - Species.BELLOSSOM, - Species.CELEBI, - Species.GROVYLE, - Species.SCEPTILE, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TROPIUS, - Species.LEAFEON, - Species.GALLADE, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.LEAVANNY, - Species.LILLIGANT, - Species.VIRIZION, - Species.SKIDDO, - Species.GOGOAT, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.FOMANTIS, - Species.LURANTIS, - Species.KARTANA, - Species.SIRFETCHD, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.GALAR_FARFETCHD, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + [MoveId.LEAF_BLADE]: [ + SpeciesId.VICTREEBEL, + SpeciesId.FARFETCHD, + SpeciesId.MEW, + SpeciesId.BELLOSSOM, + SpeciesId.CELEBI, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TROPIUS, + SpeciesId.LEAFEON, + SpeciesId.GALLADE, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.LEAVANNY, + SpeciesId.LILLIGANT, + SpeciesId.VIRIZION, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.KARTANA, + SpeciesId.SIRFETCHD, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.DRAGON_DANCE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.ONIX, - Species.HORSEA, - Species.SEADRA, - Species.GYARADOS, - Species.LAPRAS, - Species.AERODACTYL, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.STEELIX, - Species.KINGDRA, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.SCEPTILE, - Species.FLYGON, - Species.ALTARIA, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.MILOTIC, - Species.TROPIUS, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.ARCEUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.TYRUNT, - Species.TYRANTRUM, - Species.NOIVERN, - Species.ZYGARDE, - Species.SALAZZLE, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.NECROZMA, - Species.NAGANADEL, - Species.FLAPPLE, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.REGIDRAGO, - Species.TATSUGIRI, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.WALKING_WAKE, - Species.GOUGING_FIRE, + [MoveId.DRAGON_DANCE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.ONIX, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.AERODACTYL, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.STEELIX, + SpeciesId.KINGDRA, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.SCEPTILE, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.MILOTIC, + SpeciesId.TROPIUS, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.ARCEUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.NOIVERN, + SpeciesId.ZYGARDE, + SpeciesId.SALAZZLE, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.FLAPPLE, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.REGIDRAGO, + SpeciesId.TATSUGIRI, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.WALKING_WAKE, + SpeciesId.GOUGING_FIRE, ], - [Moves.ROCK_BLAST]: [ - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SHELLDER, - Species.CLOYSTER, - Species.ONIX, - Species.RHYHORN, - Species.RHYDON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.MEW, - Species.SUDOWOODO, - Species.PINECO, - Species.FORRETRESS, - Species.STEELIX, - Species.SHUCKLE, - Species.HERACROSS, - Species.SLUGMA, - Species.MAGCARGO, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.NOSEPASS, - Species.LAIRON, - Species.AGGRON, - Species.LUNATONE, - Species.SOLROCK, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.RELICANTH, - Species.REGIROCK, - Species.GROUDON, - Species.TORTERRA, - Species.SHIELDON, - Species.BASTIODON, - Species.GASTRODON, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.RHYPERIOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.HEATRAN, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.EXCADRILL, - Species.CONKELDURR, - Species.DWEBBLE, - Species.CRUSTLE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.CINCCINO, - Species.TERRAKION, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.LYCANROC, - Species.MINIOR, - Species.NECROZMA, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.KLEAVOR, - Species.GARGANACL, - Species.KLAWF, - Species.BOMBIRDIER, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.IRON_THORNS, - Species.IRON_BOULDER, + [MoveId.ROCK_BLAST]: [ + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.ONIX, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.NOSEPASS, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.RELICANTH, + SpeciesId.REGIROCK, + SpeciesId.GROUDON, + SpeciesId.TORTERRA, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.GASTRODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.RHYPERIOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.HEATRAN, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.EXCADRILL, + SpeciesId.CONKELDURR, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.CINCCINO, + SpeciesId.TERRAKION, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.LYCANROC, + SpeciesId.MINIOR, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.KLEAVOR, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.BOMBIRDIER, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_BOULDER, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", ], - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.GALAR_SLOWBRO, - Species.GALAR_CORSOLA, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_AVALUGG, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_AVALUGG, ], - [Moves.WATER_PULSE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.LICKITUNG, - Species.CHANSEY, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.JYNX, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.SNORLAX, - Species.ARTICUNO, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SNEASEL, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.KINGDRA, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.CELEBI, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.SPINDA, - Species.ZANGOOSE, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.GLAMEOW, - Species.PURUGLY, - Species.HAPPINY, - Species.SPIRITOMB, - Species.MUNCHLAX, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.TOGEKISS, - Species.GLACEON, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.STUNFISK, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.VOLCANION, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.BRUXISH, - Species.DRAMPA, - Species.KOMMO_O, - Species.TAPU_FINI, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.EISCUE, - Species.BASCULEGION, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.TADBULB, - Species.BELLIBOLT, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.CLODSIRE, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.WALKING_WAKE, - Species.TERAPAGOS, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.WATER_PULSE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.JYNX, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.CELEBI, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.SPINDA, + SpeciesId.ZANGOOSE, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.GLACEON, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.STUNFISK, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.VOLCANION, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_FINI, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.EISCUE, + SpeciesId.BASCULEGION, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.CLODSIRE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.WALKING_WAKE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "aqua", ], - Species.PALDEA_WOOPER, + SpeciesId.PALDEA_WOOPER, ], - [Moves.ROOST]: [ - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.VENOMOTH, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SCYTHER, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.YANMA, - Species.MURKROW, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SCIZOR, - Species.MANTINE, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.TROPIUS, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.MOTHIM, - Species.VESPIQUEN, - Species.HONCHKROW, - Species.CHATOT, - Species.TOGEKISS, - Species.YANMEGA, - Species.GLISCOR, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.DUCKLETT, - Species.SWANNA, - Species.EMOLGA, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.VOLCARONA, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.VIKAVOLT, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.LUNALA, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CRAMORANT, - Species.KLEAVOR, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.FLITTLE, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.DUDUNSPARCE, - Species.ROARING_MOON, - Species.FEZANDIPITI, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.ROOST]: [ + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENOMOTH, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SCYTHER, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.TROPIUS, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.VIKAVOLT, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.LUNALA, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CRAMORANT, + SpeciesId.KLEAVOR, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.DUDUNSPARCE, + SpeciesId.ROARING_MOON, + SpeciesId.FEZANDIPITI, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.GRAVITY]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MAGNEMITE, - Species.MAGNETON, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.STARYU, - Species.STARMIE, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.ESPEON, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.PORYGON2, - Species.STANTLER, - Species.BLISSEY, - Species.GARDEVOIR, - Species.NOSEPASS, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.JIRACHI, - Species.DEOXYS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.HAPPINY, - Species.MAGNEZONE, - Species.GLACEON, - Species.PORYGON_Z, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.ARCEUS, - Species.MUNNA, - Species.MUSHARNA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.AUDINO, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.ELGYEM, - Species.BEHEEYEM, - Species.GOLETT, - Species.GOLURK, - Species.LANDORUS, - Species.MELOETTA, - Species.GENESECT, - Species.ESPURR, - Species.MEOWSTIC, - Species.CARBINK, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.ORANGURU, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.TOGEDEMARU, - Species.TAPU_LELE, - Species.TAPU_FINI, - Species.XURKITREE, - Species.CELESTEELA, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.HATTERENE, - Species.STONJOURNER, - Species.INDEEDEE, - Species.ETERNATUS, - Species.CALYREX, - Species.WYRDEER, - Species.GARGANACL, - Species.RABSCA, - Species.FARIGIRAF, - Species.SANDY_SHOCKS, - Species.IRON_LEAVES, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_EXEGGUTOR, + [MoveId.GRAVITY]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.ESPEON, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.BLISSEY, + SpeciesId.GARDEVOIR, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.HAPPINY, + SpeciesId.MAGNEZONE, + SpeciesId.GLACEON, + SpeciesId.PORYGON_Z, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.AUDINO, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.LANDORUS, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.CARBINK, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.ORANGURU, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_FINI, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.HATTERENE, + SpeciesId.STONJOURNER, + SpeciesId.INDEEDEE, + SpeciesId.ETERNATUS, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.GARGANACL, + SpeciesId.RABSCA, + SpeciesId.FARIGIRAF, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_LEAVES, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_EXEGGUTOR, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "male", ], ], - [Moves.GYRO_BALL]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.SANDSHREW, - Species.SANDSLASH, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.MAGNEMITE, - Species.MAGNETON, - Species.ONIX, - Species.VOLTORB, - Species.ELECTRODE, - Species.KOFFING, - Species.WEEZING, - Species.STARYU, - Species.STARMIE, - Species.OMANYTE, - Species.OMASTAR, - Species.MEW, - Species.TYPHLOSION, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.STEELIX, - Species.QWILFISH, - Species.SHUCKLE, - Species.MAGCARGO, - Species.DONPHAN, - Species.HITMONTOP, - Species.MILTANK, - Species.SABLEYE, - Species.TORKOAL, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.GLALIE, - Species.METANG, - Species.METAGROSS, - Species.RAYQUAZA, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BRONZOR, - Species.BRONZONG, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FERROSEED, - Species.FERROTHORN, - Species.GOLETT, - Species.GOLURK, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.CARBINK, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.DIANCIE, - Species.VOLCANION, - Species.PASSIMIAN, - Species.MINIOR, - Species.TOGEDEMARU, - Species.DHELMISE, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.MELTAN, - Species.MELMETAL, - Species.SKWOVET, - Species.GREEDENT, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.PERRSERKER, - Species.DURALUDON, - Species.OVERQWIL, - Species.VAROOM, - Species.REVAVROOM, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.IRON_TREADS, - Species.DIPPLIN, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.TERAPAGOS, + [MoveId.GYRO_BALL]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.ONIX, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.STEELIX, + SpeciesId.QWILFISH, + SpeciesId.SHUCKLE, + SpeciesId.MAGCARGO, + SpeciesId.DONPHAN, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.SABLEYE, + SpeciesId.TORKOAL, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.GLALIE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.RAYQUAZA, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.CARBINK, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.PASSIMIAN, + SpeciesId.MINIOR, + SpeciesId.TOGEDEMARU, + SpeciesId.DHELMISE, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.PERRSERKER, + SpeciesId.DURALUDON, + SpeciesId.OVERQWIL, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_TREADS, + SpeciesId.DIPPLIN, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.TERAPAGOS, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "trash", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, ], - [Moves.BRINE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.HORSEA, - Species.SEADRA, - Species.STARYU, - Species.STARMIE, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.SLOWKING, - Species.QWILFISH, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.SUICUNE, - Species.LUGIA, - Species.WINGULL, - Species.PELIPPER, - Species.HARIYAMA, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.KYOGRE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.FINNEON, - Species.LUMINEON, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.PANPOUR, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.SANDYGAST, - Species.PALOSSAND, - Species.DHELMISE, - Species.TAPU_FINI, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.CURSOLA, - Species.PINCURCHIN, - Species.EISCUE, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.OVERQWIL, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, + [MoveId.BRINE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.HARIYAMA, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.KYOGRE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.PANPOUR, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.DHELMISE, + SpeciesId.TAPU_FINI, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.CURSOLA, + SpeciesId.PINCURCHIN, + SpeciesId.EISCUE, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.OVERQWIL, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], - Species.HISUI_QWILFISH, + SpeciesId.HISUI_QWILFISH, ], - [Moves.PLUCK]: [ - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.NATU, - Species.XATU, - Species.MURKROW, - Species.DELIBIRD, - Species.SKARMORY, - Species.HO_OH, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.SWABLU, - Species.ALTARIA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.HONCHKROW, - Species.CHATOT, - Species.TOGEKISS, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.DUCKLETT, - Species.SWANNA, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.INKAY, - Species.MALAMAR, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CRAMORANT, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.FLITTLE, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.VELUZA, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.GALAR_ZAPDOS, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.PLUCK]: [ + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MURKROW, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.HO_OH, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.TOGEKISS, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CRAMORANT, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.VELUZA, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.TAILWIND]: [ - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.VENOMOTH, - Species.FARFETCHD, - Species.SCYTHER, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.YANMA, - Species.MURKROW, - Species.GLIGAR, - Species.SCIZOR, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.CASTFORM, - Species.TROPIUS, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.HONCHKROW, - Species.CHATOT, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.TOGEKISS, - Species.YANMEGA, - Species.GLISCOR, - Species.ARCEUS, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.DUCKLETT, - Species.SWANNA, - Species.EMOLGA, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.VOLCARONA, - Species.TORNADUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.COMFEY, - Species.SILVALLY, - Species.DRAMPA, - Species.LUNALA, - Species.KARTANA, - Species.NAGANADEL, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CRAMORANT, - Species.FROSMOTH, - Species.KLEAVOR, - Species.ENAMORUS, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.DUDUNSPARCE, - Species.IRON_JUGULIS, - Species.ROARING_MOON, - Species.FEZANDIPITI, - Species.SHAYMIN, - Species.GIRATINA, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.TAILWIND]: [ + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENOMOTH, + SpeciesId.FARFETCHD, + SpeciesId.SCYTHER, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.CASTFORM, + SpeciesId.TROPIUS, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.HONCHKROW, + SpeciesId.CHATOT, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.ARCEUS, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.COMFEY, + SpeciesId.SILVALLY, + SpeciesId.DRAMPA, + SpeciesId.LUNALA, + SpeciesId.KARTANA, + SpeciesId.NAGANADEL, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CRAMORANT, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, + SpeciesId.ENAMORUS, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.DUDUNSPARCE, + SpeciesId.IRON_JUGULIS, + SpeciesId.ROARING_MOON, + SpeciesId.FEZANDIPITI, + SpeciesId.SHAYMIN, + SpeciesId.GIRATINA, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.U_TURN]: [ - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.VENOMOTH, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.FARFETCHD, - Species.SCYTHER, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.NATU, - Species.XATU, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.YANMA, - Species.MURKROW, - Species.GLIGAR, - Species.SCIZOR, - Species.CELEBI, - Species.BLAZIKEN, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.VIBRAVA, - Species.FLYGON, - Species.TROPIUS, - Species.RAYQUAZA, - Species.JIRACHI, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.AMBIPOM, - Species.LOPUNNY, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHATOT, - Species.FINNEON, - Species.LUMINEON, - Species.YANMEGA, - Species.GLISCOR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.PHIONE, - Species.MANAPHY, - Species.VICTINI, - Species.PURRLOIN, - Species.LIEPARD, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.WHIMSICOTT, - Species.DARUMAKA, - Species.DARMANITAN, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.EMOLGA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.MELOETTA, - Species.GENESECT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.FURFROU, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.DEDENNE, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.WISHIWASHI, - Species.TSAREENA, - Species.COMFEY, - Species.PASSIMIAN, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.PHEROMOSA, - Species.NAGANADEL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.ORBEETLE, - Species.THIEVUL, - Species.FLAPPLE, - Species.PERRSERKER, - Species.FROSMOTH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.KLEAVOR, - Species.SNEASLER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.SHROODLE, - Species.GRAFAIAI, - Species.FLITTLE, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.CYCLIZAR, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.SLITHER_WING, - Species.IRON_BUNDLE, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.U_TURN]: [ + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENOMOTH, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.FARFETCHD, + SpeciesId.SCYTHER, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.CELEBI, + SpeciesId.BLAZIKEN, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.TROPIUS, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.LOPUNNY, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHATOT, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.VICTINI, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.WHIMSICOTT, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.EMOLGA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.FURFROU, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.WISHIWASHI, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.PASSIMIAN, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.PHEROMOSA, + SpeciesId.NAGANADEL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.ORBEETLE, + SpeciesId.THIEVUL, + SpeciesId.FLAPPLE, + SpeciesId.PERRSERKER, + SpeciesId.FROSMOTH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.KLEAVOR, + SpeciesId.SNEASLER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.CYCLIZAR, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.CLOSE_COMBAT]: [ - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.FARFETCHD, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.SCYTHER, - Species.PINSIR, - Species.TAUROS, - Species.MEW, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.HITMONTOP, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.BRELOOM, - Species.MAKUHITA, - Species.HARIYAMA, - Species.MEDITITE, - Species.MEDICHAM, - Species.SHARPEDO, - Species.ZANGOOSE, - Species.CRAWDAUNT, - Species.ABSOL, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARAPTOR, - Species.LOPUNNY, - Species.RIOLU, - Species.LUCARIO, - Species.TOXICROAK, - Species.GALLADE, - Species.PIGNITE, - Species.EMBOAR, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SAWK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ESCAVALIER, - Species.EELEKTROSS, - Species.HAXORUS, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLURK, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.MELOETTA, - Species.CHESNAUGHT, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.TYRUNT, - Species.TYRANTRUM, - Species.HAWLUCHA, - Species.XERNEAS, - Species.INCINEROAR, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.BEWEAR, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.ZERAORA, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.FALINKS, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.QUAQUAVAL, - Species.PAWMOT, - Species.CERULEDGE, - Species.PALAFIN, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.GREAT_TUSK, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.IRON_HANDS, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.IRON_LEAVES, - Species.OKIDOGI, - Species.IRON_BOULDER, - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, + [MoveId.CLOSE_COMBAT]: [ + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.FARFETCHD, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.MEW, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.HITMONTOP, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.BRELOOM, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SHARPEDO, + SpeciesId.ZANGOOSE, + SpeciesId.CRAWDAUNT, + SpeciesId.ABSOL, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARAPTOR, + SpeciesId.LOPUNNY, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.TOXICROAK, + SpeciesId.GALLADE, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SAWK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ESCAVALIER, + SpeciesId.EELEKTROSS, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESNAUGHT, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.HAWLUCHA, + SpeciesId.XERNEAS, + SpeciesId.INCINEROAR, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.QUAQUAVAL, + SpeciesId.PAWMOT, + SpeciesId.CERULEDGE, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.GREAT_TUSK, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.OKIDOGI, + SpeciesId.IRON_BOULDER, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_SNEASEL, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, ], - [Moves.PAYBACK]: [ - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.VULPIX, - Species.NINETALES, - Species.ZUBAT, - Species.GOLBAT, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.DODRIO, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.MR_MIME, - Species.JYNX, - Species.TAUROS, - Species.GYARADOS, - Species.AERODACTYL, - Species.MEW, - Species.CROBAT, - Species.POLITOED, - Species.AIPOM, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.OCTILLERY, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.SMOOCHUM, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.PELIPPER, - Species.HARIYAMA, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPOINK, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.GLALIE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.FLOATZEL, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.SPIRITOMB, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.WEAVILE, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.GLISCOR, - Species.DUSKNOIR, - Species.FROSLASS, - Species.AZELF, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROSEED, - Species.FERROTHORN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.ESPURR, - Species.MEOWSTIC, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.YVELTAL, - Species.ZYGARDE, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.FOMANTIS, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.STEENEE, - Species.TSAREENA, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.GUZZLORD, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.APPLETUN, - Species.TOXTRICITY, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MR_RIME, - Species.RUNERIGUS, - Species.FALINKS, - Species.PINCURCHIN, - Species.MORPEKO, - Species.COPPERAJAH, - Species.ARCTOZOLT, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, - Species.URSALUNA, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.BRUTE_BONNET, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, + [MoveId.PAYBACK]: [ + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.DODRIO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.CROBAT, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.OCTILLERY, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.SMOOCHUM, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.PELIPPER, + SpeciesId.HARIYAMA, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.GLALIE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.SPIRITOMB, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.WEAVILE, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.GLISCOR, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.AZELF, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.GUZZLORD, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.APPLETUN, + SpeciesId.TOXTRICITY, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.COPPERAJAH, + SpeciesId.ARCTOZOLT, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.URSALUNA, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.BRUTE_BONNET, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], ], - [Moves.ASSURANCE]: [ - Species.BEEDRILL, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.MACHAMP, - Species.DODUO, - Species.KOFFING, - Species.WEEZING, - Species.KANGASKHAN, - Species.SCYTHER, - Species.TAUROS, - Species.AERODACTYL, - Species.MEW, - Species.CROBAT, - Species.UMBREON, - Species.MURKROW, - Species.GIRAFARIG, - Species.QWILFISH, - Species.SCIZOR, - Species.HERACROSS, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.DONPHAN, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.MAWILE, - Species.CARVANHA, - Species.SHARPEDO, - Species.CACNEA, - Species.CACTURNE, - Species.SEVIPER, - Species.ABSOL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.VESPIQUEN, - Species.BUNEARY, - Species.LOPUNNY, - Species.HONCHKROW, - Species.GLAMEOW, - Species.STUNKY, - Species.SKUNTANK, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.AZELF, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.PATRAT, - Species.PURRLOIN, - Species.LIEPARD, - Species.WOOBAT, - Species.SWOOBAT, - Species.SCOLIPEDE, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.MARACTUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENSHAO, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.GENESECT, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.HAWLUCHA, - Species.GOODRA, - Species.INCINEROAR, - Species.LYCANROC, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.TOGEDEMARU, - Species.DHELMISE, - Species.TAPU_KOKO, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.FALINKS, - Species.PINCURCHIN, - Species.STONJOURNER, - Species.MORPEKO, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ETERNATUS, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.GLASTRIER, - Species.SPECTRIER, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.VAROOM, - Species.REVAVROOM, - Species.ANNIHILAPE, - Species.FARIGIRAF, - Species.KINGAMBIT, - Species.IRON_JUGULIS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.GALAR_MEOWTH, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, + [MoveId.ASSURANCE]: [ + SpeciesId.BEEDRILL, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MACHAMP, + SpeciesId.DODUO, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.KANGASKHAN, + SpeciesId.SCYTHER, + SpeciesId.TAUROS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.CROBAT, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.GIRAFARIG, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.DONPHAN, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.MAWILE, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SEVIPER, + SpeciesId.ABSOL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.VESPIQUEN, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.AZELF, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.PATRAT, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SCOLIPEDE, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.MARACTUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENSHAO, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.GENESECT, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.INCINEROAR, + SpeciesId.LYCANROC, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.TOGEDEMARU, + SpeciesId.DHELMISE, + SpeciesId.TAPU_KOKO, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.STONJOURNER, + SpeciesId.MORPEKO, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ETERNATUS, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ANNIHILAPE, + SpeciesId.FARIGIRAF, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_JUGULIS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "combat", ], ], - [Moves.EMBARGO]: [ - Species.PERSIAN, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.MEWTWO, - Species.MEW, - Species.MURKROW, - Species.MISDREAVUS, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SABLEYE, - Species.MAWILE, - Species.CACTURNE, - Species.ZANGOOSE, - Species.LUNATONE, - Species.SOLROCK, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.SPIRITOMB, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.PORYGON_Z, - Species.DUSKNOIR, - Species.FROSLASS, - Species.DARKRAI, - Species.VICTINI, - Species.PURRLOIN, - Species.LIEPARD, - Species.WOOBAT, - Species.SWOOBAT, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.TORNADUS, - Species.THUNDURUS, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.PANGORO, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.YVELTAL, - Species.HOOPA, - Species.INCINEROAR, - Species.ORICORIO, - Species.ORANGURU, - Species.PALOSSAND, - Species.MIMIKYU, - Species.BRUXISH, - Species.DHELMISE, - Species.NECROZMA, - Species.MAGEARNA, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, + [MoveId.EMBARGO]: [ + SpeciesId.PERSIAN, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.SPIRITOMB, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.PORYGON_Z, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.DARKRAI, + SpeciesId.VICTINI, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.PANGORO, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.ORICORIO, + SpeciesId.ORANGURU, + SpeciesId.PALOSSAND, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, ], - [Moves.FLING]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GLOOM, - Species.VILEPLUME, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.QUAGSIRE, - Species.SLOWKING, - Species.GLIGAR, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.KECLEON, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MIME_JR, - Species.HAPPINY, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.GLISCOR, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.PALKIA, - Species.REGIGIGAS, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.VICTINI, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.WHIMSICOTT, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.EMOLGA, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.HEATMOR, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.DEDENNE, - Species.HOOPA, - Species.VOLCANION, - Species.INCINEROAR, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.FOMANTIS, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.CINDERACE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.TOXTRICITY, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MR_RIME, - Species.MILCERY, - Species.ALCREMIE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.URSALUNA, - Species.SNEASLER, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.ARBOLIVA, - Species.GARGANACL, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.SHROODLE, - Species.GRAFAIAI, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.FINIZEN, - Species.PALAFIN, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.OGERPON, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, + [MoveId.FLING]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.GLIGAR, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.KECLEON, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.VICTINI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.WHIMSICOTT, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.EMOLGA, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.HEATMOR, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.TOXTRICITY, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.ARBOLIVA, + SpeciesId.GARGANACL, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.BLOODMOON_URSALUNA, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.GASTRO_ACID]: [ - Species.EKANS, - Species.ARBOK, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.SNORLAX, - Species.MEW, - Species.BELLOSSOM, - Species.SHUCKLE, - Species.GULPIN, - Species.SWALOT, - Species.SEVIPER, - Species.LILEEP, - Species.CRADILY, - Species.MUNCHLAX, - Species.CARNIVINE, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.FOONGUS, - Species.AMOONGUSS, - Species.JOLTIK, - Species.GALVANTULA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.SHELMET, - Species.ACCELGOR, - Species.HEATMOR, - Species.DIGGERSBY, - Species.SWIRLIX, - Species.SLURPUFF, - Species.MAREANIE, - Species.TOXAPEX, - Species.PYUKUMUKU, - Species.GUZZLORD, - Species.POIPOLE, - Species.NAGANADEL, - Species.CHEWTLE, - Species.DREDNAW, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, + [MoveId.GASTRO_ACID]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.BELLOSSOM, + SpeciesId.SHUCKLE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SEVIPER, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.MUNCHLAX, + SpeciesId.CARNIVINE, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.HEATMOR, + SpeciesId.DIGGERSBY, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.PYUKUMUKU, + SpeciesId.GUZZLORD, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, ], - [Moves.POWER_SWAP]: [ - Species.VULPIX, - Species.NINETALES, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MR_MIME, - Species.MAGMAR, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.GIRAFARIG, - Species.PORYGON2, - Species.MAGBY, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.GARDEVOIR, - Species.MEDITITE, - Species.SWABLU, - Species.ALTARIA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.BRONZOR, - Species.BRONZONG, - Species.TANGROWTH, - Species.MAGMORTAR, - Species.PORYGON_Z, - Species.CRESSELIA, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.DARMANITAN, - Species.SIGILYPH, - Species.COFAGRIGUS, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.ACCELGOR, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.MAGEARNA, - Species.DOTTLER, - Species.ORBEETLE, - Species.HATTERENE, - Species.GRIMMSNARL, - Species.MR_RIME, - Species.RUNERIGUS, - Species.INDEEDEE, - Species.ZAMAZENTA, - Species.CALYREX, - Species.RABSCA, - Species.FARIGIRAF, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, + [MoveId.POWER_SWAP]: [ + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MR_MIME, + SpeciesId.MAGMAR, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.GIRAFARIG, + SpeciesId.PORYGON2, + SpeciesId.MAGBY, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.GARDEVOIR, + SpeciesId.MEDITITE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.TANGROWTH, + SpeciesId.MAGMORTAR, + SpeciesId.PORYGON_Z, + SpeciesId.CRESSELIA, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.DARMANITAN, + SpeciesId.SIGILYPH, + SpeciesId.COFAGRIGUS, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.ACCELGOR, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.MAGEARNA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.HATTERENE, + SpeciesId.GRIMMSNARL, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.INDEEDEE, + SpeciesId.ZAMAZENTA, + SpeciesId.CALYREX, + SpeciesId.RABSCA, + SpeciesId.FARIGIRAF, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, ], - [Moves.GUARD_SWAP]: [ - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.DROWZEE, - Species.MR_MIME, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.NATU, - Species.XATU, - Species.WOOPER, - Species.QUAGSIRE, - Species.UMBREON, - Species.GIRAFARIG, - Species.SLUGMA, - Species.MAGCARGO, - Species.SKARMORY, - Species.PORYGON2, - Species.GARDEVOIR, - Species.MAWILE, - Species.MEDITITE, - Species.BALTOY, - Species.CLAYDOL, - Species.CASTFORM, - Species.BRONZOR, - Species.BRONZONG, - Species.PORYGON_Z, - Species.CRESSELIA, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.DARMANITAN, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.SHELMET, - Species.ACCELGOR, - Species.INKAY, - Species.MALAMAR, - Species.CARBINK, - Species.DIANCIE, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.MAGEARNA, - Species.DOTTLER, - Species.ORBEETLE, - Species.WOOLOO, - Species.DUBWOOL, - Species.HATTERENE, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ZAMAZENTA, - Species.CALYREX, - Species.RABSCA, - Species.FARIGIRAF, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, + [MoveId.GUARD_SWAP]: [ + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.DROWZEE, + SpeciesId.MR_MIME, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.UMBREON, + SpeciesId.GIRAFARIG, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SKARMORY, + SpeciesId.PORYGON2, + SpeciesId.GARDEVOIR, + SpeciesId.MAWILE, + SpeciesId.MEDITITE, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CASTFORM, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.PORYGON_Z, + SpeciesId.CRESSELIA, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.DARMANITAN, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.CARBINK, + SpeciesId.DIANCIE, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.MAGEARNA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ZAMAZENTA, + SpeciesId.CALYREX, + SpeciesId.RABSCA, + SpeciesId.FARIGIRAF, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "female", ], ], - [Moves.WORRY_SEED]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.PSYDUCK, - Species.GOLDUCK, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SHROOMISH, - Species.BRELOOM, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.LILEEP, - Species.CRADILY, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.CHERUBI, - Species.CHERRIM, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.LEAFEON, - Species.SHAYMIN, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.MUNNA, - Species.MUSHARNA, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROSEED, - Species.FERROTHORN, - Species.VIRIZION, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.TAPU_BULU, - Species.NIHILEGO, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, - Species.ETERNAL_FLOETTE, + [MoveId.WORRY_SEED]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.SHAYMIN, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.VIRIZION, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.TAPU_BULU, + SpeciesId.NIHILEGO, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.ETERNAL_FLOETTE, ], - [Moves.TOXIC_SPIKES]: [ - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.VENONAT, - Species.VENOMOTH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.OMANYTE, - Species.OMASTAR, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.QUAGSIRE, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.QWILFISH, - Species.SHIFTRY, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CACNEA, - Species.CACTURNE, - Species.ROSERADE, - Species.VESPIQUEN, - Species.STUNKY, - Species.SKUNTANK, - Species.SKORUPI, - Species.DRAPION, - Species.GLISCOR, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.SHELMET, - Species.ACCELGOR, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.SKRELP, - Species.DRAGALGE, - Species.MAREANIE, - Species.TOXAPEX, - Species.SALANDIT, - Species.SALAZZLE, - Species.NIHILEGO, - Species.POIPOLE, - Species.NAGANADEL, - Species.TOXTRICITY, - Species.RUNERIGUS, - Species.PINCURCHIN, - Species.ETERNATUS, - Species.SNEASLER, - Species.OVERQWIL, - Species.MEOWSCARADA, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.VAROOM, - Species.REVAVROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.CLODSIRE, - Species.IRON_MOTH, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_YAMASK, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.PALDEA_WOOPER, + [MoveId.TOXIC_SPIKES]: [ + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.QUAGSIRE, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SHIFTRY, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ROSERADE, + SpeciesId.VESPIQUEN, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.GLISCOR, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.NIHILEGO, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.TOXTRICITY, + SpeciesId.RUNERIGUS, + SpeciesId.PINCURCHIN, + SpeciesId.ETERNATUS, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.MEOWSCARADA, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.IRON_MOTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.PALDEA_WOOPER, ], - [Moves.FLARE_BLITZ]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.VULPIX, - Species.NINETALES, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.MAGMAR, - Species.FLAREON, - Species.MOLTRES, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.ENTEI, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SOLROCK, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.MAGMORTAR, - Species.HEATRAN, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.DARUMAKA, - Species.DARMANITAN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.HEATMOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.RESHIRAM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SALANDIT, - Species.SALAZZLE, - Species.SOLGALEO, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.CARKOL, - Species.COALOSSAL, - Species.CENTISKORCH, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.SLITHER_WING, - Species.IRON_MOTH, - Species.CHI_YU, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.TERAPAGOS, - Species.ALOLA_MAROWAK, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, + [MoveId.FLARE_BLITZ]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SOLROCK, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.MAGMORTAR, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.HEATMOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.SOLGALEO, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CENTISKORCH, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_MOTH, + SpeciesId.CHI_YU, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.AURA_SPHERE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.MEWTWO, - Species.MEW, - Species.RAIKOU, - Species.CELEBI, - Species.BLAZIKEN, - Species.GARDEVOIR, - Species.MEDICHAM, - Species.ZANGOOSE, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.INFERNAPE, - Species.LOPUNNY, - Species.LUCARIO, - Species.TOGEKISS, - Species.GALLADE, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.MIENFOO, - Species.MIENSHAO, - Species.KELDEO, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.KOMMO_O, - Species.MAGEARNA, - Species.MARSHADOW, - Species.ZERAORA, - Species.URSHIFU, - Species.MEOWSCARADA, - Species.ARMAROUGE, - Species.PALAFIN, - Species.IRON_VALIANT, - Species.ARCHALUDON, - Species.TERAPAGOS, - Species.HISUI_DECIDUEYE, + [MoveId.AURA_SPHERE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.RAIKOU, + SpeciesId.CELEBI, + SpeciesId.BLAZIKEN, + SpeciesId.GARDEVOIR, + SpeciesId.MEDICHAM, + SpeciesId.ZANGOOSE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.INFERNAPE, + SpeciesId.LOPUNNY, + SpeciesId.LUCARIO, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.KELDEO, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.KOMMO_O, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.URSHIFU, + SpeciesId.MEOWSCARADA, + SpeciesId.ARMAROUGE, + SpeciesId.PALAFIN, + SpeciesId.IRON_VALIANT, + SpeciesId.ARCHALUDON, + SpeciesId.TERAPAGOS, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.ROCK_POLISH]: [ - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.ONIX, - Species.RHYHORN, - Species.RHYDON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.MEW, - Species.SUDOWOODO, - Species.FORRETRESS, - Species.GLIGAR, - Species.STEELIX, - Species.SHUCKLE, - Species.MAGCARGO, - Species.CORSOLA, - Species.DONPHAN, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.NOSEPASS, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.CAMERUPT, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.RELICANTH, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.TORTERRA, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.RHYPERIOR, - Species.GLISCOR, - Species.PROBOPASS, - Species.REGIGIGAS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DWEBBLE, - Species.CRUSTLE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.GARBODOR, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.COBALION, - Species.TERRAKION, - Species.LANDORUS, - Species.GENESECT, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.BERGMITE, - Species.AVALUGG, - Species.DIANCIE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.KOMMO_O, - Species.NECROZMA, - Species.STAKATAKA, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.STONJOURNER, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.GLIMMET, - Species.GLIMMORA, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, + [MoveId.ROCK_POLISH]: [ + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SHUCKLE, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.DONPHAN, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.NOSEPASS, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.CAMERUPT, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.RELICANTH, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.TORTERRA, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.PROBOPASS, + SpeciesId.REGIGIGAS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.GARBODOR, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.LANDORUS, + SpeciesId.GENESECT, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.DIANCIE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.KOMMO_O, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.STONJOURNER, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, ], - [Moves.POISON_JAB]: [ - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.RAPIDASH, - Species.FARFETCHD, - Species.GRIMER, - Species.MUK, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.HITMONLEE, - Species.RHYHORN, - Species.RHYDON, - Species.GOLDEEN, - Species.SEAKING, - Species.MEWTWO, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.QWILFISH, - Species.SNEASEL, - Species.DONPHAN, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.SHARPEDO, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.ROSERADE, - Species.STUNKY, - Species.SKUNTANK, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.GLISCOR, - Species.GALLADE, - Species.DARKRAI, - Species.ARCEUS, - Species.PIGNITE, - Species.EMBOAR, - Species.DRILBUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CRYOGONAL, - Species.MIENFOO, - Species.MIENSHAO, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.KELDEO, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.PHANTUMP, - Species.TREVENANT, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.GOLISOPOD, - Species.TOGEDEMARU, - Species.KOMMO_O, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.GUZZLORD, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.CHEWTLE, - Species.DREDNAW, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.SIRFETCHD, - Species.FALINKS, - Species.PINCURCHIN, - Species.ZACIAN, - Species.ETERNATUS, - Species.URSHIFU, - Species.SNEASLER, - Species.OVERQWIL, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.CERULEDGE, - Species.SHROODLE, - Species.GRAFAIAI, - Species.VAROOM, - Species.REVAVROOM, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.IRON_VALIANT, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.IRON_BOULDER, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_SLOWKING, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_LILLIGANT, - Species.PALDEA_WOOPER, + [MoveId.POISON_JAB]: [ + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.RAPIDASH, + SpeciesId.FARFETCHD, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.HITMONLEE, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.DONPHAN, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SHARPEDO, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.ROSERADE, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CRYOGONAL, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.KELDEO, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.GOLISOPOD, + SpeciesId.TOGEDEMARU, + SpeciesId.KOMMO_O, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.GUZZLORD, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.ZACIAN, + SpeciesId.ETERNATUS, + SpeciesId.URSHIFU, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.CERULEDGE, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_VALIANT, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.IRON_BOULDER, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.PALDEA_WOOPER, ], - [Moves.DARK_PULSE]: [ - Species.BLASTOISE, - Species.EKANS, - Species.ARBOK, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.GYARADOS, - Species.MEWTWO, - Species.MEW, - Species.CROBAT, - Species.UMBREON, - Species.MURKROW, - Species.MISDREAVUS, - Species.GLIGAR, - Species.STEELIX, - Species.SNEASEL, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.CARVANHA, - Species.SHARPEDO, - Species.CACNEA, - Species.CACTURNE, - Species.SEVIPER, - Species.CRAWDAUNT, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.GLALIE, - Species.DEOXYS, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.SPIRITOMB, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.GLISCOR, - Species.PORYGON_Z, - Species.DUSKNOIR, - Species.ROTOM, - Species.HEATRAN, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.PURRLOIN, - Species.LIEPARD, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.FRILLISH, - Species.JELLICENT, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.GENESECT, - Species.FROGADIER, - Species.GRENINJA, - Species.LITLEO, - Species.PYROAR, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.INKAY, - Species.MALAMAR, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.HOOPA, - Species.INCINEROAR, - Species.GOLISOPOD, - Species.MIMIKYU, - Species.GUZZLORD, - Species.NECROZMA, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.INTELEON, - Species.THIEVUL, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.RUNERIGUS, - Species.MORPEKO, - Species.DURALUDON, - Species.ZARUDE, - Species.SPECTRIER, - Species.OVERQWIL, - Species.MEOWSCARADA, - Species.LOKIX, - Species.ARMAROUGE, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.BOMBIRDIER, - Species.KINGAMBIT, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.IRON_JUGULIS, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.FEZANDIPITI, - Species.ARCHALUDON, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_WEEZING, - Species.GALAR_MOLTRES, - Species.GALAR_YAMASK, + [MoveId.DARK_PULSE]: [ + SpeciesId.BLASTOISE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.GYARADOS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CROBAT, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNEASEL, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SEVIPER, + SpeciesId.CRAWDAUNT, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.GLALIE, + SpeciesId.DEOXYS, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SPIRITOMB, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.GLISCOR, + SpeciesId.PORYGON_Z, + SpeciesId.DUSKNOIR, + SpeciesId.ROTOM, + SpeciesId.HEATRAN, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.GENESECT, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.GOLISOPOD, + SpeciesId.MIMIKYU, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.INTELEON, + SpeciesId.THIEVUL, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.RUNERIGUS, + SpeciesId.MORPEKO, + SpeciesId.DURALUDON, + SpeciesId.ZARUDE, + SpeciesId.SPECTRIER, + SpeciesId.OVERQWIL, + SpeciesId.MEOWSCARADA, + SpeciesId.LOKIX, + SpeciesId.ARMAROUGE, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.BOMBIRDIER, + SpeciesId.KINGAMBIT, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_JUGULIS, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.FEZANDIPITI, + SpeciesId.ARCHALUDON, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_YAMASK, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "single-strike", ], [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.AQUA_TAIL]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.EKANS, - Species.ARBOK, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.PSYDUCK, - Species.GOLDUCK, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.KANGASKHAN, - Species.GOLDEEN, - Species.SEAKING, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.KABUTOPS, - Species.AERODACTYL, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.QWILFISH, - Species.MANTINE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.AGGRON, - Species.SEVIPER, - Species.BARBOACH, - Species.WHISCASH, - Species.ARMALDO, - Species.MILOTIC, - Species.KECLEON, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.SALAMENCE, - Species.KYOGRE, - Species.RAYQUAZA, - Species.BIDOOF, - Species.BIBAREL, - Species.BUIZEL, - Species.FLOATZEL, - Species.GARCHOMP, - Species.SKORUPI, - Species.DRAPION, - Species.FINNEON, - Species.LUMINEON, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.GLACEON, - Species.GLISCOR, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.PANPOUR, - Species.SIMIPOUR, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.MINCCINO, - Species.CINCCINO, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.STUNFISK, - Species.DRUDDIGON, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.KELDEO, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.GOODRA, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.BRUXISH, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.BASCULEGION, - Species.OVERQWIL, - Species.FINIZEN, - Species.PALAFIN, - Species.CYCLIZAR, - Species.DONDOZO, - Species.DUDUNSPARCE, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, + [MoveId.AQUA_TAIL]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.QWILFISH, + SpeciesId.MANTINE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.AGGRON, + SpeciesId.SEVIPER, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.ARMALDO, + SpeciesId.MILOTIC, + SpeciesId.KECLEON, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.SALAMENCE, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.GARCHOMP, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.KELDEO, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.GOODRA, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.BRUXISH, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.CYCLIZAR, + SpeciesId.DONDOZO, + SpeciesId.DUDUNSPARCE, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.SEED_BOMB]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.EKANS, - Species.ARBOK, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.SNORLAX, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.SENTRET, - Species.FURRET, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.PINECO, - Species.FORRETRESS, - Species.TEDDIURSA, - Species.URSARING, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.PHANPY, - Species.DONPHAN, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.PELIPPER, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LILEEP, - Species.CRADILY, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.PACHIRISU, - Species.CHERUBI, - Species.CHERRIM, - Species.AMBIPOM, - Species.MUNCHLAX, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.LEAFEON, - Species.SHAYMIN, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PATRAT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROSEED, - Species.FERROTHORN, - Species.VIRIZION, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.DEDENNE, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.PASSIMIAN, - Species.KOMALA, - Species.TAPU_BULU, - Species.CELESTEELA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MORPEKO, - Species.ZARUDE, - Species.CALYREX, - Species.URSALUNA, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.FLITTLE, - Species.ESPATHRA, - Species.ANNIHILAPE, - Species.BRUTE_BONNET, - Species.WO_CHIEN, - Species.DIPPLIN, - Species.OGERPON, - Species.HYDRAPPLE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + [MoveId.SEED_BOMB]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.PELIPPER, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.PACHIRISU, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.AMBIPOM, + SpeciesId.MUNCHLAX, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.SHAYMIN, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.VIRIZION, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.DEDENNE, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.PASSIMIAN, + SpeciesId.KOMALA, + SpeciesId.TAPU_BULU, + SpeciesId.CELESTEELA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MORPEKO, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.URSALUNA, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.ANNIHILAPE, + SpeciesId.BRUTE_BONNET, + SpeciesId.WO_CHIEN, + SpeciesId.DIPPLIN, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.AIR_SLASH]: [ - Species.CHARIZARD, - Species.BUTTERFREE, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.ZUBAT, - Species.GOLBAT, - Species.VENOMOTH, - Species.FARFETCHD, - Species.SCYTHER, - Species.ARTICUNO, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.NATU, - Species.XATU, - Species.YANMA, - Species.MURKROW, - Species.DUNSPARCE, - Species.SCIZOR, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.SUICUNE, - Species.LUGIA, - Species.HO_OH, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.VIBRAVA, - Species.FLYGON, - Species.TROPIUS, - Species.ABSOL, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.MOTHIM, - Species.VESPIQUEN, - Species.DRIFBLIM, - Species.HONCHKROW, - Species.LUMINEON, - Species.MANTYKE, - Species.TOGEKISS, - Species.YANMEGA, - Species.GALLADE, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.SIGILYPH, - Species.ARCHEOPS, - Species.DUCKLETT, - Species.SWANNA, - Species.EMOLGA, - Species.PAWNIARD, - Species.BISHARP, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.KELDEO, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.AEGISLASH, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.VIKAVOLT, - Species.ORICORIO, - Species.TYPE_NULL, - Species.SILVALLY, - Species.LUNALA, - Species.CELESTEELA, - Species.KARTANA, - Species.NAGANADEL, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.FLAPPLE, - Species.CRAMORANT, - Species.FROSMOTH, - Species.ZACIAN, - Species.KLEAVOR, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.ROARING_MOON, - Species.IRON_LEAVES, - Species.FEZANDIPITI, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.SHAYMIN, + [MoveId.AIR_SLASH]: [ + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENOMOTH, + SpeciesId.FARFETCHD, + SpeciesId.SCYTHER, + SpeciesId.ARTICUNO, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.DUNSPARCE, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.DRIFBLIM, + SpeciesId.HONCHKROW, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GALLADE, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEOPS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.KELDEO, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.AEGISLASH, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.VIKAVOLT, + SpeciesId.ORICORIO, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.LUNALA, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.NAGANADEL, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.FLAPPLE, + SpeciesId.CRAMORANT, + SpeciesId.FROSMOTH, + SpeciesId.ZACIAN, + SpeciesId.KLEAVOR, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_LEAVES, + SpeciesId.FEZANDIPITI, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.SHAYMIN, [ - Species.ROTOM, + SpeciesId.ROTOM, "fan", ], - Species.GALAR_ARTICUNO, - Species.GALAR_MOLTRES, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.X_SCISSOR]: [ - Species.BEEDRILL, - Species.SANDSHREW, - Species.SANDSLASH, - Species.PARAS, - Species.PARASECT, - Species.KRABBY, - Species.KINGLER, - Species.SCYTHER, - Species.PINSIR, - Species.KABUTOPS, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.GLIGAR, - Species.SCIZOR, - Species.SNEASEL, - Species.SKARMORY, - Species.GROVYLE, - Species.SCEPTILE, - Species.SHIFTRY, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.ABSOL, - Species.KRICKETUNE, - Species.VESPIQUEN, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.LEAFEON, - Species.GLISCOR, - Species.GALLADE, - Species.DARKRAI, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.DRILBUR, - Species.EXCADRILL, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.GENESECT, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.TREVENANT, - Species.NOIBAT, - Species.NOIVERN, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MIMIKYU, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.KARTANA, - Species.NECROZMA, - Species.NAGANADEL, - Species.CENTISKORCH, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.KLEAVOR, - Species.SNEASLER, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.CERULEDGE, - Species.GRAFAIAI, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.KINGAMBIT, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.GALAR_MEOWTH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, + [MoveId.X_SCISSOR]: [ + SpeciesId.BEEDRILL, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.SNEASEL, + SpeciesId.SKARMORY, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.SHIFTRY, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.ABSOL, + SpeciesId.KRICKETUNE, + SpeciesId.VESPIQUEN, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.LEAFEON, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.GENESECT, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.TREVENANT, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MIMIKYU, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.CENTISKORCH, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.KLEAVOR, + SpeciesId.SNEASLER, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.CERULEDGE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.KINGAMBIT, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.GALAR_MEOWTH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.BUG_BUZZ]: [ - Species.BUTTERFREE, - Species.VENONAT, - Species.VENOMOTH, - Species.SCYTHER, - Species.MEW, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.SCIZOR, - Species.HERACROSS, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.VOLBEAT, - Species.ILLUMISE, - Species.VIBRAVA, - Species.FLYGON, - Species.KRICKETUNE, - Species.WORMADAM, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.SKORUPI, - Species.DRAPION, - Species.YANMEGA, - Species.ARCEUS, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.SHELMET, - Species.ACCELGOR, - Species.LARVESTA, - Species.VOLCARONA, - Species.GENESECT, - Species.VIVILLON, - Species.VIKAVOLT, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.WIMPOD, - Species.GOLISOPOD, - Species.PHEROMOSA, - Species.DOTTLER, - Species.ORBEETLE, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.SNOM, - Species.FROSMOTH, - Species.KLEAVOR, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.RELLOR, - Species.RABSCA, - Species.SLITHER_WING, - Species.IRON_MOTH, - Species.TERAPAGOS, + [MoveId.BUG_BUZZ]: [ + SpeciesId.BUTTERFREE, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.SCYTHER, + SpeciesId.MEW, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.KRICKETUNE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.YANMEGA, + SpeciesId.ARCEUS, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.GENESECT, + SpeciesId.VIVILLON, + SpeciesId.VIKAVOLT, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.PHEROMOSA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_MOTH, + SpeciesId.TERAPAGOS, ], - [Moves.DRAGON_PULSE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.ARCANINE, - Species.ONIX, - Species.RHYHORN, - Species.RHYDON, - Species.HORSEA, - Species.SEADRA, - Species.GYARADOS, - Species.LAPRAS, - Species.AERODACTYL, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.FERALIGATR, - Species.AMPHAROS, - Species.STEELIX, - Species.KINGDRA, - Species.TYRANITAR, - Species.LUGIA, - Species.SCEPTILE, - Species.AGGRON, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.FEEBAS, - Species.MILOTIC, - Species.TROPIUS, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.LUCARIO, - Species.RHYPERIOR, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.GIRATINA, - Species.ARCEUS, - Species.SERPERIOR, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.NOIBAT, - Species.NOIVERN, - Species.ZYGARDE, - Species.SALANDIT, - Species.SALAZZLE, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.GUZZLORD, - Species.NECROZMA, - Species.POIPOLE, - Species.NAGANADEL, - Species.FLAPPLE, - Species.APPLETUN, - Species.RUNERIGUS, - Species.DRACOZOLT, - Species.DRACOVISH, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.REGIDRAGO, - Species.ARMAROUGE, - Species.CYCLIZAR, - Species.TATSUGIRI, - Species.IRON_JUGULIS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.DIPPLIN, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_ARCANINE, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.DRAGON_PULSE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.ARCANINE, + SpeciesId.ONIX, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.AERODACTYL, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.FERALIGATR, + SpeciesId.AMPHAROS, + SpeciesId.STEELIX, + SpeciesId.KINGDRA, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.SCEPTILE, + SpeciesId.AGGRON, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.TROPIUS, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.LUCARIO, + SpeciesId.RHYPERIOR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.SERPERIOR, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.ZYGARDE, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.RUNERIGUS, + SpeciesId.DRACOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.REGIDRAGO, + SpeciesId.ARMAROUGE, + SpeciesId.CYCLIZAR, + SpeciesId.TATSUGIRI, + SpeciesId.IRON_JUGULIS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.DIPPLIN, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.POWER_GEM]: [ - Species.MEOWTH, - Species.PERSIAN, - Species.GOLDUCK, - Species.STARYU, - Species.STARMIE, - Species.MEWTWO, - Species.MEW, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.SUDOWOODO, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.SLUGMA, - Species.MAGCARGO, - Species.CORSOLA, - Species.TYRANITAR, - Species.NOSEPASS, - Species.SABLEYE, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.VESPIQUEN, - Species.MISMAGIUS, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.GABITE, - Species.GARCHOMP, - Species.PROBOPASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.CRESSELIA, - Species.ARCEUS, - Species.BOLDORE, - Species.GIGALITH, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.CARBINK, - Species.DIANCIE, - Species.MINIOR, - Species.NIHILEGO, - Species.NECROZMA, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.CURSOLA, - Species.STONJOURNER, - Species.MEOWSCARADA, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.RABSCA, - Species.BOMBIRDIER, - Species.GLIMMET, - Species.GLIMMORA, - Species.FLUTTER_MANE, - Species.SANDY_SHOCKS, - Species.IRON_THORNS, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.MIRAIDON, - Species.TERAPAGOS, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, + [MoveId.POWER_GEM]: [ + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.GOLDUCK, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.SUDOWOODO, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.CORSOLA, + SpeciesId.TYRANITAR, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.VESPIQUEN, + SpeciesId.MISMAGIUS, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.CARBINK, + SpeciesId.DIANCIE, + SpeciesId.MINIOR, + SpeciesId.NIHILEGO, + SpeciesId.NECROZMA, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CURSOLA, + SpeciesId.STONJOURNER, + SpeciesId.MEOWSCARADA, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.RABSCA, + SpeciesId.BOMBIRDIER, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.FLUTTER_MANE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_THORNS, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.MIRAIDON, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, ], - [Moves.DRAIN_PUNCH]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GLOOM, - Species.VILEPLUME, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.HITMONCHAN, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.LEDYBA, - Species.LEDIAN, - Species.TOGETIC, - Species.BELLOSSOM, - Species.SUDOWOODO, - Species.QUAGSIRE, - Species.SLOWKING, - Species.BLISSEY, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LOMBRE, - Species.LUDICOLO, - Species.SHROOMISH, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.GRUMPIG, - Species.SPINDA, - Species.CACNEA, - Species.CACTURNE, - Species.KECLEON, - Species.REGIROCK, - Species.JIRACHI, - Species.DEOXYS, - Species.MONFERNO, - Species.INFERNAPE, - Species.BUNEARY, - Species.LOPUNNY, - Species.MIME_JR, - Species.HAPPINY, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.TOGEKISS, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.DARKRAI, - Species.PIGNITE, - Species.EMBOAR, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.MARACTUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TRUBBISH, - Species.GARBODOR, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.HEATMOR, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.PANCHAM, - Species.PANGORO, - Species.AROMATISSE, - Species.SLURPUFF, - Species.HAWLUCHA, - Species.TREVENANT, - Species.HOOPA, - Species.INCINEROAR, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.SHIINOTIC, - Species.BEWEAR, - Species.PASSIMIAN, - Species.MIMIKYU, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.BUZZWOLE, - Species.GUZZLORD, - Species.MARSHADOW, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.TOXTRICITY, - Species.GRAPPLOCT, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.MR_RIME, - Species.ALCREMIE, - Species.INDEEDEE, - Species.URSHIFU, - Species.ZARUDE, - Species.URSALUNA, - Species.PALAFIN, - Species.ANNIHILAPE, - Species.SCREAM_TAIL, - Species.IRON_HANDS, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.OKIDOGI, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, + [MoveId.DRAIN_PUNCH]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.HITMONCHAN, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.TOGETIC, + SpeciesId.BELLOSSOM, + SpeciesId.SUDOWOODO, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.BLISSEY, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.KECLEON, + SpeciesId.REGIROCK, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.MARACTUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HEATMOR, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.AROMATISSE, + SpeciesId.SLURPUFF, + SpeciesId.HAWLUCHA, + SpeciesId.TREVENANT, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.SHIINOTIC, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.MIMIKYU, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.BUZZWOLE, + SpeciesId.GUZZLORD, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.TOXTRICITY, + SpeciesId.GRAPPLOCT, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.MR_RIME, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.URSALUNA, + SpeciesId.PALAFIN, + SpeciesId.ANNIHILAPE, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, ], - [Moves.VACUUM_WAVE]: [ - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.SCYTHER, - Species.MEW, - Species.SCIZOR, - Species.HERACROSS, - Species.TYROGUE, - Species.HITMONTOP, - Species.GROVYLE, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SHIFTRY, - Species.GARDEVOIR, - Species.BRELOOM, - Species.MAKUHITA, - Species.HARIYAMA, - Species.MEDITITE, - Species.MEDICHAM, - Species.FLYGON, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.EMPOLEON, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.GALLADE, - Species.DEWOTT, - Species.SAMUROTT, - Species.MIENSHAO, - Species.COBALION, - Species.VIRIZION, - Species.KELDEO, - Species.PASSIMIAN, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.KARTANA, - Species.INTELEON, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.CERULEDGE, - Species.ANNIHILAPE, - Species.IRON_VALIANT, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, - Species.BLOODMOON_URSALUNA, + [MoveId.VACUUM_WAVE]: [ + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.SCYTHER, + SpeciesId.MEW, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SHIFTRY, + SpeciesId.GARDEVOIR, + SpeciesId.BRELOOM, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.FLYGON, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.GALLADE, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.MIENSHAO, + SpeciesId.COBALION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.PASSIMIAN, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.KARTANA, + SpeciesId.INTELEON, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.CERULEDGE, + SpeciesId.ANNIHILAPE, + SpeciesId.IRON_VALIANT, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.FOCUS_BLAST]: [ - Species.CHARMANDER, - Species.CHARIZARD, - Species.BLASTOISE, - Species.RAICHU, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFABLE, - Species.WIGGLYTUFF, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.MUK, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.FURRET, - Species.LEDIAN, - Species.AMPHAROS, - Species.AZUMARILL, - Species.POLITOED, - Species.QUAGSIRE, - Species.SLOWKING, - Species.GRANBULL, - Species.HERACROSS, - Species.URSARING, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.TYRANITAR, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.LUDICOLO, - Species.SHIFTRY, - Species.GARDEVOIR, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.GRUMPIG, - Species.CACTURNE, - Species.ZANGOOSE, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.MONFERNO, - Species.INFERNAPE, - Species.RAMPARDOS, - Species.FLOATZEL, - Species.LOPUNNY, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GALLADE, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.REGIGIGAS, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.PIGNITE, - Species.EMBOAR, - Species.WATCHOG, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.CARRACOSTA, - Species.ARCHEOPS, - Species.GARBODOR, - Species.ZOROARK, - Species.CINCCINO, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.ESCAVALIER, - Species.HAXORUS, - Species.BEARTIC, - Species.ACCELGOR, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BISHARP, - Species.HEATMOR, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.PANGORO, - Species.BARBARACLE, - Species.DRAGALGE, - Species.CLAWITZER, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.GOODRA, - Species.TREVENANT, - Species.GOURGEIST, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.HOOPA, - Species.VOLCANION, - Species.INCINEROAR, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.LUNALA, - Species.PHEROMOSA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.ZERAORA, - Species.RILLABOOM, - Species.CINDERACE, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.MR_RIME, - Species.FALINKS, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.URSHIFU, - Species.SNEASLER, - Species.ENAMORUS, - Species.PAWMOT, - Species.ARMAROUGE, - Species.PALAFIN, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.SCREAM_TAIL, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.IRON_LEAVES, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSLASH, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_DARMANITAN, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + [MoveId.FOCUS_BLAST]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.RAICHU, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFABLE, + SpeciesId.WIGGLYTUFF, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.MUK, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.FURRET, + SpeciesId.LEDIAN, + SpeciesId.AMPHAROS, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.URSARING, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TYRANITAR, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.LUDICOLO, + SpeciesId.SHIFTRY, + SpeciesId.GARDEVOIR, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GRUMPIG, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.RAMPARDOS, + SpeciesId.FLOATZEL, + SpeciesId.LOPUNNY, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.WATCHOG, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEOPS, + SpeciesId.GARBODOR, + SpeciesId.ZOROARK, + SpeciesId.CINCCINO, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.ESCAVALIER, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.ACCELGOR, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BISHARP, + SpeciesId.HEATMOR, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.PANGORO, + SpeciesId.BARBARACLE, + SpeciesId.DRAGALGE, + SpeciesId.CLAWITZER, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.GOODRA, + SpeciesId.TREVENANT, + SpeciesId.GOURGEIST, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.PHEROMOSA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.MR_RIME, + SpeciesId.FALINKS, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.URSHIFU, + SpeciesId.SNEASLER, + SpeciesId.ENAMORUS, + SpeciesId.PAWMOT, + SpeciesId.ARMAROUGE, + SpeciesId.PALAFIN, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.ENERGY_BALL]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BUTTERFREE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.OCTILLERY, - Species.STANTLER, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.GARDEVOIR, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SABLEYE, - Species.MEDICHAM, - Species.ROSELIA, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.LILEEP, - Species.CRADILY, - Species.CASTFORM, - Species.TROPIUS, - Species.CHIMECHO, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, + [MoveId.ENERGY_BALL]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BUTTERFREE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.OCTILLERY, + SpeciesId.STANTLER, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.GARDEVOIR, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SABLEYE, + SpeciesId.MEDICHAM, + SpeciesId.ROSELIA, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.CASTFORM, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "plant", ], - Species.MOTHIM, - Species.CHERUBI, - Species.CHERRIM, - Species.MISMAGIUS, - Species.CHINGLING, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.LEAFEON, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.GIRATINA, - Species.CRESSELIA, - Species.MANAPHY, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.SHELMET, - Species.ACCELGOR, - Species.DURANT, - Species.VIRIZION, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PRIMARINA, - Species.VIKAVOLT, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.DRAMPA, - Species.DHELMISE, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.XURKITREE, - Species.CELESTEELA, - Species.MAGEARNA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.DOTTLER, - Species.ORBEETLE, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.INDEEDEE, - Species.ZARUDE, - Species.CALYREX, - Species.WYRDEER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.OINKOLOGNE, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.ARMAROUGE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RABSCA, - Species.ESPATHRA, - Species.GLIMMORA, - Species.FARIGIRAF, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.IRON_MOTH, - Species.WO_CHIEN, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OGERPON, - Species.HYDRAPPLE, - Species.TERAPAGOS, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_MR_MIME, - Species.GALAR_YAMASK, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + SpeciesId.MOTHIM, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.DURANT, + SpeciesId.VIRIZION, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PRIMARINA, + SpeciesId.VIKAVOLT, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.MAGEARNA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.OINKOLOGNE, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.ARMAROUGE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RABSCA, + SpeciesId.ESPATHRA, + SpeciesId.GLIMMORA, + SpeciesId.FARIGIRAF, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_MOTH, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.BRAVE_BIRD]: [ - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.ZUBAT, - Species.GOLBAT, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.MURKROW, - Species.DELIBIRD, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.BLAZIKEN, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.SWABLU, - Species.ALTARIA, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.HONCHKROW, - Species.UNFEZANT, - Species.DUCKLETT, - Species.SWANNA, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.HAWLUCHA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.TAPU_KOKO, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CRAMORANT, - Species.SIRFETCHD, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.ESPATHRA, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.FEZANDIPITI, - Species.GALAR_FARFETCHD, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.BRAVE_BIRD]: [ + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.MURKROW, + SpeciesId.DELIBIRD, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.BLAZIKEN, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.HONCHKROW, + SpeciesId.UNFEZANT, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.HAWLUCHA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.TAPU_KOKO, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CRAMORANT, + SpeciesId.SIRFETCHD, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.ESPATHRA, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.FEZANDIPITI, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.EARTH_POWER]: [ - Species.VENUSAUR, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.RHYHORN, - Species.RHYDON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.MEWTWO, - Species.MEW, - Species.SUDOWOODO, - Species.POLITOED, - Species.SUNKERN, - Species.SUNFLORA, - Species.WOOPER, - Species.QUAGSIRE, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SHUCKLE, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.NOSEPASS, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.GRUMPIG, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.RELICANTH, - Species.REGIROCK, - Species.GROUDON, - Species.RAYQUAZA, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.SHELLOS, - Species.GASTRODON, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.ABOMASNOW, - Species.RHYPERIOR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.SHAYMIN, - Species.ARCEUS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.STUNFISK, - Species.GOLETT, - Species.GOLURK, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TERRAKION, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.DIGGERSBY, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.ZYGARDE, - Species.DIANCIE, - Species.VOLCANION, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.NECROZMA, - Species.RILLABOOM, - Species.DREDNAW, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.DRACOVISH, - Species.REGIDRAGO, - Species.WYRDEER, - Species.URSALUNA, - Species.ENAMORUS, - Species.SKELEDIRGE, - Species.OINKOLOGNE, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.RABSCA, - Species.WIGLETT, - Species.WUGTRIO, - Species.ORTHWORM, - Species.GLIMMORA, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.BRUTE_BONNET, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.TING_LU, - Species.HYDRAPPLE, - Species.TERAPAGOS, + [MoveId.EARTH_POWER]: [ + SpeciesId.VENUSAUR, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SHUCKLE, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.NOSEPASS, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GRUMPIG, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.RELICANTH, + SpeciesId.REGIROCK, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.ABOMASNOW, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.STUNFISK, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TERRAKION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.DIGGERSBY, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.NECROZMA, + SpeciesId.RILLABOOM, + SpeciesId.DREDNAW, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.REGIDRAGO, + SpeciesId.WYRDEER, + SpeciesId.URSALUNA, + SpeciesId.ENAMORUS, + SpeciesId.SKELEDIRGE, + SpeciesId.OINKOLOGNE, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.RABSCA, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.BRUTE_BONNET, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.TING_LU, + SpeciesId.HYDRAPPLE, + SpeciesId.TERAPAGOS, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", ], - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, - Species.GALAR_CORSOLA, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.GIGA_IMPACT]: [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEOT, - Species.RATICATE, - Species.FEAROW, - Species.ARBOK, - Species.RAICHU, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFABLE, - Species.NINETALES, - Species.WIGGLYTUFF, - Species.GOLBAT, - Species.VILEPLUME, - Species.PARASECT, - Species.VENOMOTH, - Species.DUGTRIO, - Species.PERSIAN, - Species.GOLDUCK, - Species.PRIMEAPE, - Species.ARCANINE, - Species.POLIWRATH, - Species.ALAKAZAM, - Species.MACHAMP, - Species.VICTREEBEL, - Species.TENTACRUEL, - Species.GOLEM, - Species.RAPIDASH, - Species.SLOWBRO, - Species.MAGNETON, - Species.DODRIO, - Species.DEWGONG, - Species.MUK, - Species.CLOYSTER, - Species.GENGAR, - Species.HYPNO, - Species.KINGLER, - Species.ELECTRODE, - Species.EXEGGUTOR, - Species.MAROWAK, - Species.LICKITUNG, - Species.WEEZING, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.SEADRA, - Species.SEAKING, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMASTAR, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.FURRET, - Species.NOCTOWL, - Species.LEDIAN, - Species.ARIADOS, - Species.CROBAT, - Species.LANTURN, - Species.TOGETIC, - Species.XATU, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.JUMPLUFF, - Species.SUNFLORA, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.STEELIX, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.URSARING, - Species.MAGCARGO, - Species.PILOSWINE, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.HOUNDOOM, - Species.KINGDRA, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.MIGHTYENA, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LUDICOLO, - Species.SHIFTRY, - Species.SWELLOW, - Species.PELIPPER, - Species.GARDEVOIR, - Species.MASQUERAIN, - Species.BRELOOM, - Species.SLAKING, - Species.NINJASK, - Species.SHEDINJA, - Species.EXPLOUD, - Species.HARIYAMA, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDICHAM, - Species.MANECTRIC, - Species.SWALOT, - Species.SHARPEDO, - Species.WAILORD, - Species.CAMERUPT, - Species.TORKOAL, - Species.GRUMPIG, - Species.FLYGON, - Species.CACTURNE, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.WHISCASH, - Species.CRAWDAUNT, - Species.CLAYDOL, - Species.CRADILY, - Species.ARMALDO, - Species.MILOTIC, - Species.BANETTE, - Species.DUSCLOPS, - Species.TROPIUS, - Species.ABSOL, - Species.GLALIE, - Species.WALREIN, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.STARAPTOR, - Species.BIBAREL, - Species.KRICKETUNE, - Species.LUXRAY, - Species.ROSERADE, - Species.RAMPARDOS, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.FLOATZEL, - Species.CHERRIM, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFBLIM, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.PURUGLY, - Species.SKUNTANK, - Species.BRONZONG, - Species.SPIRITOMB, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.LUCARIO, - Species.HIPPOWDON, - Species.DRAPION, - Species.TOXICROAK, - Species.CARNIVINE, - Species.LUMINEON, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SERPERIOR, - Species.EMBOAR, - Species.SAMUROTT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.LIEPARD, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.MUSHARNA, - Species.UNFEZANT, - Species.ZEBSTRIKA, - Species.GIGALITH, - Species.SWOOBAT, - Species.EXCADRILL, - Species.AUDINO, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.WHIMSICOTT, - Species.LILLIGANT, - Species.KROOKODILE, - Species.DARMANITAN, - Species.CRUSTLE, - Species.SCRAFTY, - Species.SIGILYPH, - Species.COFAGRIGUS, - Species.CARRACOSTA, - Species.ARCHEOPS, - Species.GARBODOR, - Species.ZOROARK, - Species.CINCCINO, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.SWANNA, - Species.VANILLUXE, - Species.SAWSBUCK, - Species.ESCAVALIER, - Species.AMOONGUSS, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.GALVANTULA, - Species.FERROTHORN, - Species.KLINKLANG, - Species.EELEKTROSS, - Species.BEHEEYEM, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.BEARTIC, - Species.CRYOGONAL, - Species.ACCELGOR, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLURK, - Species.BISHARP, - Species.BOUFFALANT, - Species.BRAVIARY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.HYDREIGON, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.GRENINJA, - Species.DIGGERSBY, - Species.TALONFLAME, - Species.VIVILLON, - Species.PYROAR, - Species.FLORGES, - Species.GOGOAT, - Species.PANGORO, - Species.FURFROU, - Species.MEOWSTIC, - Species.AEGISLASH, - Species.AROMATISSE, - Species.SLURPUFF, - Species.MALAMAR, - Species.BARBARACLE, - Species.DRAGALGE, - Species.CLAWITZER, - Species.HELIOLISK, - Species.TYRANTRUM, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOODRA, - Species.KLEFKI, - Species.TREVENANT, - Species.GOURGEIST, - Species.AVALUGG, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.PRIMARINA, - Species.GUMSHOOS, - Species.VIKAVOLT, - Species.CRABOMINABLE, - Species.RIBOMBEE, - Species.LYCANROC, - Species.TOXAPEX, - Species.MUDSDALE, - Species.LURANTIS, - Species.SHIINOTIC, - Species.SALAZZLE, - Species.BEWEAR, - Species.TSAREENA, - Species.ORANGURU, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.STAKATAKA, - Species.ZERAORA, - Species.MELMETAL, - Species.RILLABOOM, - Species.CINDERACE, - Species.INTELEON, - Species.GREEDENT, - Species.CORVIKNIGHT, - Species.ORBEETLE, - Species.THIEVUL, - Species.ELDEGOSS, - Species.DUBWOOL, - Species.DREDNAW, - Species.BOLTUND, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SANDACONDA, - Species.CRAMORANT, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.CENTISKORCH, - Species.GRAPPLOCT, - Species.POLTEAGEIST, - Species.HATTERENE, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.QUAQUAVAL, - Species.OINKOLOGNE, - Species.SPIDOPS, - Species.LOKIX, - Species.PAWMOT, - Species.MAUSHOLD, - Species.DACHSBUN, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLSTACK, - Species.GARGANACL, - Species.BELLIBOLT, - Species.KILOWATTREL, - Species.MABOSSTIFF, - Species.GRAFAIAI, - Species.BRAMBLEGHAST, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.SCOVILLAIN, - Species.RABSCA, - Species.ESPATHRA, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.PALAFIN, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMORA, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSLASH, - Species.ALOLA_NINETALES, - Species.ALOLA_DUGTRIO, - Species.ALOLA_PERSIAN, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_LINOONE, - Species.GALAR_DARMANITAN, - Species.HISUI_ARCANINE, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.BLOODMOON_URSALUNA, + [MoveId.GIGA_IMPACT]: [ + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEOT, + SpeciesId.RATICATE, + SpeciesId.FEAROW, + SpeciesId.ARBOK, + SpeciesId.RAICHU, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.WIGGLYTUFF, + SpeciesId.GOLBAT, + SpeciesId.VILEPLUME, + SpeciesId.PARASECT, + SpeciesId.VENOMOTH, + SpeciesId.DUGTRIO, + SpeciesId.PERSIAN, + SpeciesId.GOLDUCK, + SpeciesId.PRIMEAPE, + SpeciesId.ARCANINE, + SpeciesId.POLIWRATH, + SpeciesId.ALAKAZAM, + SpeciesId.MACHAMP, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACRUEL, + SpeciesId.GOLEM, + SpeciesId.RAPIDASH, + SpeciesId.SLOWBRO, + SpeciesId.MAGNETON, + SpeciesId.DODRIO, + SpeciesId.DEWGONG, + SpeciesId.MUK, + SpeciesId.CLOYSTER, + SpeciesId.GENGAR, + SpeciesId.HYPNO, + SpeciesId.KINGLER, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGUTOR, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.WEEZING, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.SEADRA, + SpeciesId.SEAKING, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMASTAR, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.FURRET, + SpeciesId.NOCTOWL, + SpeciesId.LEDIAN, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.LANTURN, + SpeciesId.TOGETIC, + SpeciesId.XATU, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.JUMPLUFF, + SpeciesId.SUNFLORA, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.URSARING, + SpeciesId.MAGCARGO, + SpeciesId.PILOSWINE, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.MIGHTYENA, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LUDICOLO, + SpeciesId.SHIFTRY, + SpeciesId.SWELLOW, + SpeciesId.PELIPPER, + SpeciesId.GARDEVOIR, + SpeciesId.MASQUERAIN, + SpeciesId.BRELOOM, + SpeciesId.SLAKING, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.EXPLOUD, + SpeciesId.HARIYAMA, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDICHAM, + SpeciesId.MANECTRIC, + SpeciesId.SWALOT, + SpeciesId.SHARPEDO, + SpeciesId.WAILORD, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GRUMPIG, + SpeciesId.FLYGON, + SpeciesId.CACTURNE, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.WHISCASH, + SpeciesId.CRAWDAUNT, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ARMALDO, + SpeciesId.MILOTIC, + SpeciesId.BANETTE, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.GLALIE, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.STARAPTOR, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.LUXRAY, + SpeciesId.ROSERADE, + SpeciesId.RAMPARDOS, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.FLOATZEL, + SpeciesId.CHERRIM, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFBLIM, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.PURUGLY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZONG, + SpeciesId.SPIRITOMB, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.LUCARIO, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.LUMINEON, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SERPERIOR, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.LIEPARD, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.MUSHARNA, + SpeciesId.UNFEZANT, + SpeciesId.ZEBSTRIKA, + SpeciesId.GIGALITH, + SpeciesId.SWOOBAT, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.WHIMSICOTT, + SpeciesId.LILLIGANT, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.CRUSTLE, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.COFAGRIGUS, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEOPS, + SpeciesId.GARBODOR, + SpeciesId.ZOROARK, + SpeciesId.CINCCINO, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.SWANNA, + SpeciesId.VANILLUXE, + SpeciesId.SAWSBUCK, + SpeciesId.ESCAVALIER, + SpeciesId.AMOONGUSS, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.GALVANTULA, + SpeciesId.FERROTHORN, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTROSS, + SpeciesId.BEHEEYEM, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.ACCELGOR, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLURK, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.BRAVIARY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.GRENINJA, + SpeciesId.DIGGERSBY, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.PYROAR, + SpeciesId.FLORGES, + SpeciesId.GOGOAT, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.MEOWSTIC, + SpeciesId.AEGISLASH, + SpeciesId.AROMATISSE, + SpeciesId.SLURPUFF, + SpeciesId.MALAMAR, + SpeciesId.BARBARACLE, + SpeciesId.DRAGALGE, + SpeciesId.CLAWITZER, + SpeciesId.HELIOLISK, + SpeciesId.TYRANTRUM, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.TREVENANT, + SpeciesId.GOURGEIST, + SpeciesId.AVALUGG, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.PRIMARINA, + SpeciesId.GUMSHOOS, + SpeciesId.VIKAVOLT, + SpeciesId.CRABOMINABLE, + SpeciesId.RIBOMBEE, + SpeciesId.LYCANROC, + SpeciesId.TOXAPEX, + SpeciesId.MUDSDALE, + SpeciesId.LURANTIS, + SpeciesId.SHIINOTIC, + SpeciesId.SALAZZLE, + SpeciesId.BEWEAR, + SpeciesId.TSAREENA, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.GREEDENT, + SpeciesId.CORVIKNIGHT, + SpeciesId.ORBEETLE, + SpeciesId.THIEVUL, + SpeciesId.ELDEGOSS, + SpeciesId.DUBWOOL, + SpeciesId.DREDNAW, + SpeciesId.BOLTUND, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.CENTISKORCH, + SpeciesId.GRAPPLOCT, + SpeciesId.POLTEAGEIST, + SpeciesId.HATTERENE, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAQUAVAL, + SpeciesId.OINKOLOGNE, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.PAWMOT, + SpeciesId.MAUSHOLD, + SpeciesId.DACHSBUN, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.BELLIBOLT, + SpeciesId.KILOWATTREL, + SpeciesId.MABOSSTIFF, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.SCOVILLAIN, + SpeciesId.RABSCA, + SpeciesId.ESPATHRA, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.PALAFIN, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMORA, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.BLOODMOON_URSALUNA, [ - Species.BASCULIN, + SpeciesId.BASCULIN, "blue-striped", "red-striped", ], ], - [Moves.NASTY_PLOT]: [ - Species.PIKACHU, - Species.RAICHU, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ALAKAZAM, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.PICHU, - Species.TOGEPI, - Species.TOGETIC, - Species.AIPOM, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.SMOOCHUM, - Species.CELEBI, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.PLUSLE, - Species.MINUN, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.LUNATONE, - Species.CRAWDAUNT, - Species.CLAYDOL, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.AMBIPOM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.MIME_JR, - Species.CHATOT, - Species.SPIRITOMB, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.TOGEKISS, - Species.PORYGON_Z, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DARKRAI, - Species.PATRAT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.WOOBAT, - Species.SWOOBAT, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.ELGYEM, - Species.BEHEEYEM, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.DELPHOX, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.INKAY, - Species.MALAMAR, - Species.GOURGEIST, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SALANDIT, - Species.SALAZZLE, - Species.ORANGURU, - Species.POIPOLE, - Species.NAGANADEL, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MORPEKO, - Species.ZARUDE, - Species.SPECTRIER, - Species.SNEASLER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BOMBIRDIER, - Species.TATSUGIRI, - Species.FARIGIRAF, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.CHI_YU, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.HYDRAPPLE, - Species.PECHARUNT, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_YAMASK, + [MoveId.NASTY_PLOT]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.PICHU, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.AIPOM, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.SMOOCHUM, + SpeciesId.CELEBI, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.LUNATONE, + SpeciesId.CRAWDAUNT, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.AMBIPOM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.MIME_JR, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DARKRAI, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.GOURGEIST, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.ORANGURU, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MORPEKO, + SpeciesId.ZARUDE, + SpeciesId.SPECTRIER, + SpeciesId.SNEASLER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BOMBIRDIER, + SpeciesId.TATSUGIRI, + SpeciesId.FARIGIRAF, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.CHI_YU, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.HYDRAPPLE, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_YAMASK, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.AVALANCHE]: [ - Species.BLASTOISE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.RHYDON, - Species.KANGASKHAN, - Species.STARMIE, - Species.JYNX, - Species.GYARADOS, - Species.LAPRAS, - Species.ARTICUNO, - Species.MEWTWO, - Species.MEW, - Species.FERALIGATR, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.DELIBIRD, - Species.SMOOCHUM, - Species.BLISSEY, - Species.SUICUNE, - Species.TYRANITAR, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.EXPLOUD, - Species.AGGRON, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.CRAWDAUNT, - Species.MILOTIC, - Species.CASTFORM, - Species.SNORUNT, - Species.GLALIE, - Species.WALREIN, - Species.REGICE, - Species.KYOGRE, - Species.RAYQUAZA, - Species.DEOXYS, - Species.EMPOLEON, - Species.RAMPARDOS, - Species.BASTIODON, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.RHYPERIOR, - Species.GLACEON, - Species.MAMOSWINE, - Species.FROSLASS, - Species.PALKIA, - Species.REGIGIGAS, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.AMAURA, - Species.AURORUS, - Species.BERGMITE, - Species.AVALUGG, - Species.CRABOMINABLE, - Species.MR_RIME, - Species.FROSMOTH, - Species.EISCUE, - Species.ARCTOZOLT, - Species.ARCTOVISH, - Species.GLASTRIER, - Species.URSALUNA, - Species.GARGANACL, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.IRON_BUNDLE, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_NINETALES, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, + [MoveId.AVALANCHE]: [ + SpeciesId.BLASTOISE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.STARMIE, + SpeciesId.JYNX, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.ARTICUNO, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.FERALIGATR, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.DELIBIRD, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.EXPLOUD, + SpeciesId.AGGRON, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.CRAWDAUNT, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.WALREIN, + SpeciesId.REGICE, + SpeciesId.KYOGRE, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.EMPOLEON, + SpeciesId.RAMPARDOS, + SpeciesId.BASTIODON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.RHYPERIOR, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.FROSLASS, + SpeciesId.PALKIA, + SpeciesId.REGIGIGAS, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.CRABOMINABLE, + SpeciesId.MR_RIME, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.ARCTOZOLT, + SpeciesId.ARCTOVISH, + SpeciesId.GLASTRIER, + SpeciesId.URSALUNA, + SpeciesId.GARGANACL, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.IRON_BUNDLE, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_SAMUROTT, - Species.HISUI_AVALUGG, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_AVALUGG, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SHADOW_CLAW]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.HAUNTER, - Species.GENGAR, - Species.RHYDON, - Species.KANGASKHAN, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.AIPOM, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.TYRANITAR, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.LINOONE, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.SHEDINJA, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.ZANGOOSE, - Species.ARMALDO, - Species.KECLEON, - Species.BANETTE, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METAGROSS, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PRINPLUP, - Species.EMPOLEON, - Species.AMBIPOM, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.RHYPERIOR, - Species.GALLADE, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.DRILBUR, - Species.EXCADRILL, - Species.LEAVANNY, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.COFAGRIGUS, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.FERROTHORN, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.RUFFLET, - Species.BRAVIARY, - Species.HEATMOR, - Species.DURANT, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.BINACLE, - Species.BARBARACLE, - Species.PHANTUMP, - Species.TREVENANT, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SALANDIT, - Species.SALAZZLE, - Species.BEWEAR, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.KOMALA, - Species.MIMIKYU, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.LUNALA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.THIEVUL, - Species.HATTERENE, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.RUNERIGUS, - Species.URSALUNA, - Species.SNEASLER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.CERULEDGE, - Species.GRAFAIAI, - Species.KLAWF, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, + [MoveId.SHADOW_CLAW]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.RHYDON, + SpeciesId.KANGASKHAN, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.AIPOM, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.TYRANITAR, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.LINOONE, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.ZANGOOSE, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.BANETTE, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METAGROSS, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.AMBIPOM, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.RHYPERIOR, + SpeciesId.GALLADE, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.LEAVANNY, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.COFAGRIGUS, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.FERROTHORN, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BEWEAR, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.LUNALA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.THIEVUL, + SpeciesId.HATTERENE, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.RUNERIGUS, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.CERULEDGE, + SpeciesId.GRAFAIAI, + SpeciesId.KLAWF, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_LINOONE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.THUNDER_FANG]: [ - Species.ARBOK, - Species.GROWLITHE, - Species.ARCANINE, - Species.RHYHORN, - Species.RHYDON, - Species.JOLTEON, - Species.AERODACTYL, - Species.MEW, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.DONPHAN, - Species.RAIKOU, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.EXPLOUD, - Species.MAWILE, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.SEVIPER, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.RHYPERIOR, - Species.GLISCOR, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.DRUDDIGON, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.ZEKROM, - Species.LITLEO, - Species.PYROAR, - Species.TYRUNT, - Species.TYRANTRUM, - Species.VOLCANION, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ROCKRUFF, - Species.LYCANROC, - Species.SILVALLY, - Species.GREEDENT, - Species.THIEVUL, - Species.YAMPER, - Species.BOLTUND, - Species.SANDACONDA, - Species.TOXTRICITY, - Species.CENTISKORCH, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.REGIDRAGO, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.CYCLIZAR, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.IRON_TREADS, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.OKIDOGI, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, + [MoveId.THUNDER_FANG]: [ + SpeciesId.ARBOK, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.JOLTEON, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.DONPHAN, + SpeciesId.RAIKOU, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.EXPLOUD, + SpeciesId.MAWILE, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.SEVIPER, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.DRUDDIGON, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.ZEKROM, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.VOLCANION, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.SILVALLY, + SpeciesId.GREEDENT, + SpeciesId.THIEVUL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.SANDACONDA, + SpeciesId.TOXTRICITY, + SpeciesId.CENTISKORCH, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.REGIDRAGO, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.CYCLIZAR, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, ], - [Moves.ICE_FANG]: [ - Species.ARBOK, - Species.RHYHORN, - Species.RHYDON, - Species.GYARADOS, - Species.AERODACTYL, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SWINUB, - Species.PILOSWINE, - Species.DONPHAN, - Species.SUICUNE, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.EXPLOUD, - Species.MAWILE, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.CARVANHA, - Species.SHARPEDO, - Species.SEVIPER, - Species.SNORUNT, - Species.GLALIE, - Species.WALREIN, - Species.HUNTAIL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUIZEL, - Species.FLOATZEL, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.RHYPERIOR, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.FROSLASS, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.BASCULIN, - Species.CUBCHOO, - Species.BEARTIC, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TYRUNT, - Species.TYRANTRUM, - Species.BERGMITE, - Species.AVALUGG, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.SILVALLY, - Species.BRUXISH, - Species.GREEDENT, - Species.THIEVUL, - Species.CHEWTLE, - Species.DREDNAW, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.MORPEKO, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.REGIDRAGO, - Species.BASCULEGION, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.IRON_TREADS, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.KORAIDON, - Species.OKIDOGI, - Species.GALAR_SLOWBRO, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_STUNFISK, - Species.HISUI_AVALUGG, + [MoveId.ICE_FANG]: [ + SpeciesId.ARBOK, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.GYARADOS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.DONPHAN, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.EXPLOUD, + SpeciesId.MAWILE, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SEVIPER, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.WALREIN, + SpeciesId.HUNTAIL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.RHYPERIOR, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.FROSLASS, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.BASCULIN, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.GREEDENT, + SpeciesId.THIEVUL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.MORPEKO, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.REGIDRAGO, + SpeciesId.BASCULEGION, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_AVALUGG, ], - [Moves.FIRE_FANG]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.EKANS, - Species.ARBOK, - Species.GROWLITHE, - Species.ARCANINE, - Species.RHYHORN, - Species.RHYDON, - Species.FLAREON, - Species.AERODACTYL, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.DONPHAN, - Species.ENTEI, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.EXPLOUD, - Species.MAWILE, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.SEVIPER, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.GROUDON, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.RHYPERIOR, - Species.GLISCOR, - Species.HEATRAN, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.DRUDDIGON, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.LITLEO, - Species.PYROAR, - Species.TYRUNT, - Species.TYRANTRUM, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ROCKRUFF, - Species.LYCANROC, - Species.SALANDIT, - Species.SALAZZLE, - Species.SILVALLY, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.GREEDENT, - Species.THIEVUL, - Species.YAMPER, - Species.BOLTUND, - Species.SANDACONDA, - Species.CENTISKORCH, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.REGIDRAGO, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SCOVILLAIN, - Species.CYCLIZAR, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.ROARING_MOON, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.OKIDOGI, - Species.GOUGING_FIRE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, + [MoveId.FIRE_FANG]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.DONPHAN, + SpeciesId.ENTEI, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.EXPLOUD, + SpeciesId.MAWILE, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.SEVIPER, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.HEATRAN, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.DRUDDIGON, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.SILVALLY, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.GREEDENT, + SpeciesId.THIEVUL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.SANDACONDA, + SpeciesId.CENTISKORCH, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.REGIDRAGO, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SCOVILLAIN, + SpeciesId.CYCLIZAR, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.OKIDOGI, + SpeciesId.GOUGING_FIRE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, ], - [Moves.PSYCHO_CUT]: [ - Species.KADABRA, - Species.ALAKAZAM, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGUTOR, - Species.STARMIE, - Species.SCYTHER, - Species.JYNX, - Species.KABUTOPS, - Species.MEWTWO, - Species.MEW, - Species.SCIZOR, - Species.SNEASEL, - Species.CELEBI, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPINDA, - Species.ABSOL, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.WEAVILE, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.LIEPARD, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.HAXORUS, - Species.PAWNIARD, - Species.BISHARP, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.INKAY, - Species.MALAMAR, - Species.DECIDUEYE, - Species.LURANTIS, - Species.TAPU_LELE, - Species.LUNALA, - Species.KARTANA, - Species.NECROZMA, - Species.ORBEETLE, - Species.HATTERENE, - Species.ZACIAN, - Species.SPECTRIER, - Species.KLEAVOR, - Species.CERULEDGE, - Species.VELUZA, - Species.IRON_VALIANT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.GALAR_RAPIDASH, - Species.GALAR_ARTICUNO, + [MoveId.PSYCHO_CUT]: [ + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGUTOR, + SpeciesId.STARMIE, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.KABUTOPS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SCIZOR, + SpeciesId.SNEASEL, + SpeciesId.CELEBI, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPINDA, + SpeciesId.ABSOL, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.WEAVILE, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.LIEPARD, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.HAXORUS, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.DECIDUEYE, + SpeciesId.LURANTIS, + SpeciesId.TAPU_LELE, + SpeciesId.LUNALA, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.ORBEETLE, + SpeciesId.HATTERENE, + SpeciesId.ZACIAN, + SpeciesId.SPECTRIER, + SpeciesId.KLEAVOR, + SpeciesId.CERULEDGE, + SpeciesId.VELUZA, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_ARTICUNO, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_SAMUROTT, - Species.HISUI_DECIDUEYE, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.ZEN_HEADBUTT]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.RATTATA, - Species.RATICATE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.VENONAT, - Species.VENOMOTH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGUTOR, - Species.LICKITUNG, - Species.CHANSEY, - Species.MR_MIME, - Species.JYNX, - Species.TAUROS, - Species.LAPRAS, - Species.PORYGON, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.CLEFFA, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.RELICANTH, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.BELDUM, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.HAPPINY, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.LICKILICKY, - Species.TOGEKISS, - Species.PORYGON_Z, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.CRESSELIA, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PATRAT, - Species.WATCHOG, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.THROH, - Species.SAWK, - Species.BASCULIN, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.ALOMOMOLA, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.GOLURK, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BRAIXEN, - Species.DELPHOX, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.HAWLUCHA, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.HOOPA, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.ORANGURU, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TOGEDEMARU, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.NIHILEGO, - Species.CELESTEELA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.CINDERACE, - Species.DOTTLER, - Species.ORBEETLE, - Species.DUBWOOL, - Species.APPLETUN, - Species.SANDACONDA, - Species.MR_RIME, - Species.RUNERIGUS, - Species.FALINKS, - Species.EISCUE, - Species.INDEEDEE, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.KUBFU, - Species.URSHIFU, - Species.GLASTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.ENAMORUS, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.LECHONK, - Species.OINKOLOGNE, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.VELUZA, - Species.DONDOZO, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.IRON_TREADS, - Species.IRON_JUGULIS, - Species.BAXCALIBUR, - Species.WO_CHIEN, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.OGERPON, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.HISUI_TYPHLOSION, - Species.HISUI_BRAVIARY, - Species.PALDEA_TAUROS, + [MoveId.ZEN_HEADBUTT]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGUTOR, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.TAUROS, + SpeciesId.LAPRAS, + SpeciesId.PORYGON, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.CLEFFA, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.RELICANTH, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.BELDUM, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.HAPPINY, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.CRESSELIA, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.BASCULIN, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.ALOMOMOLA, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.HAWLUCHA, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.HOOPA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.ORANGURU, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.NIHILEGO, + SpeciesId.CELESTEELA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.CINDERACE, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.DUBWOOL, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.GLASTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ENAMORUS, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_JUGULIS, + SpeciesId.BAXCALIBUR, + SpeciesId.WO_CHIEN, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.OGERPON, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.PALDEA_TAUROS, ], - [Moves.FLASH_CANNON]: [ - Species.BLASTOISE, - Species.MAGNEMITE, - Species.MAGNETON, - Species.ONIX, - Species.HORSEA, - Species.SEADRA, - Species.STARYU, - Species.STARMIE, - Species.MEW, - Species.FORRETRESS, - Species.STEELIX, - Species.SCIZOR, - Species.OCTILLERY, - Species.SKARMORY, - Species.KINGDRA, - Species.NOSEPASS, - Species.MAWILE, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.SPOINK, - Species.GRUMPIG, - Species.ARMALDO, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.JIRACHI, - Species.DEOXYS, - Species.EMPOLEON, - Species.SHIELDON, - Species.BASTIODON, - Species.BRONZOR, - Species.BRONZONG, - Species.LUCARIO, - Species.MAGNEZONE, - Species.RHYPERIOR, - Species.PROBOPASS, - Species.DIALGA, - Species.HEATRAN, - Species.ARCEUS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.SIGILYPH, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.BEHEEYEM, - Species.CRYOGONAL, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.HYDREIGON, - Species.COBALION, - Species.THUNDURUS, - Species.ZEKROM, - Species.KYUREM, - Species.GENESECT, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.KLEFKI, - Species.BERGMITE, - Species.AVALUGG, - Species.XERNEAS, - Species.DIANCIE, - Species.VOLCANION, - Species.TOUCANNON, - Species.VIKAVOLT, - Species.SANDYGAST, - Species.PALOSSAND, - Species.SILVALLY, - Species.TURTONATOR, - Species.DHELMISE, - Species.KOMMO_O, - Species.SOLGALEO, - Species.CELESTEELA, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.MELTAN, - Species.MELMETAL, - Species.CORVIKNIGHT, - Species.PERRSERKER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.ARMAROUGE, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.VAROOM, - Species.REVAVROOM, - Species.ORTHWORM, - Species.GLIMMORA, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.GHOLDENGO, - Species.MIRAIDON, - Species.ARCHALUDON, - Species.IRON_CROWN, + [MoveId.FLASH_CANNON]: [ + SpeciesId.BLASTOISE, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.ONIX, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MEW, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.OCTILLERY, + SpeciesId.SKARMORY, + SpeciesId.KINGDRA, + SpeciesId.NOSEPASS, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.ARMALDO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.EMPOLEON, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.LUCARIO, + SpeciesId.MAGNEZONE, + SpeciesId.RHYPERIOR, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.SIGILYPH, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.BEHEEYEM, + SpeciesId.CRYOGONAL, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.GENESECT, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.TOUCANNON, + SpeciesId.VIKAVOLT, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DHELMISE, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.CORVIKNIGHT, + SpeciesId.PERRSERKER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.ARMAROUGE, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMORA, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.GHOLDENGO, + SpeciesId.MIRAIDON, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_CROWN, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "trash", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.GALAR_MEOWTH, - Species.GALAR_STUNFISK, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.ROCK_CLIMB]: [ - Species.VENUSAUR, - Species.BLASTOISE, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.ARCANINE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.OMASTAR, - Species.KABUTOPS, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.AMPHAROS, - Species.GLIGAR, - Species.STEELIX, - Species.GRANBULL, - Species.URSARING, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.TYRANITAR, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LUDICOLO, - Species.VIGOROTH, - Species.SLAKING, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AGGRON, - Species.ZANGOOSE, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.LUCARIO, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.ABOMASNOW, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.DARKRAI, - Species.ARCEUS, - Species.DRILBUR, - Species.EXCADRILL, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.DRUDDIGON, - Species.BOUFFALANT, - Species.DURANT, - Species.ROCKRUFF, - Species.LYCANROC, - Species.OBSTAGOON, - Species.URSALUNA, - Species.ANNIHILAPE, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.PALDEA_TAUROS, - Species.BLOODMOON_URSALUNA, + [MoveId.ROCK_CLIMB]: [ + SpeciesId.VENUSAUR, + SpeciesId.BLASTOISE, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.ARCANINE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.OMASTAR, + SpeciesId.KABUTOPS, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.AMPHAROS, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.URSARING, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.TYRANITAR, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LUDICOLO, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AGGRON, + SpeciesId.ZANGOOSE, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.LUCARIO, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.ABOMASNOW, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.DRUDDIGON, + SpeciesId.BOUFFALANT, + SpeciesId.DURANT, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.OBSTAGOON, + SpeciesId.URSALUNA, + SpeciesId.ANNIHILAPE, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.PALDEA_TAUROS, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.DEFOG]: [ - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.SPEAROW, - Species.FEAROW, - Species.ZUBAT, - Species.GOLBAT, - Species.VENOMOTH, - Species.FARFETCHD, - Species.SCYTHER, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDIAN, - Species.CROBAT, - Species.TOGETIC, - Species.XATU, - Species.YANMA, - Species.MURKROW, - Species.GLIGAR, - Species.SCIZOR, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.CASTFORM, - Species.TROPIUS, - Species.CHIMECHO, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.MOTHIM, - Species.VESPIQUEN, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.CHATOT, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.TOGEKISS, - Species.YANMEGA, - Species.GLISCOR, - Species.ROTOM, - Species.GIRATINA, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.DUCKLETT, - Species.SWANNA, - Species.EMOLGA, - Species.CRYOGONAL, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.FLORGES, - Species.HAWLUCHA, - Species.KLEFKI, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.FOMANTIS, - Species.LURANTIS, - Species.COMFEY, - Species.SILVALLY, - Species.DRAMPA, - Species.TAPU_KOKO, - Species.TAPU_FINI, - Species.LUNALA, - Species.KARTANA, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CRAMORANT, - Species.SIRFETCHD, - Species.FROSMOTH, - Species.KLEAVOR, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.DEFOG]: [ + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENOMOTH, + SpeciesId.FARFETCHD, + SpeciesId.SCYTHER, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.XATU, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.CASTFORM, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.CHATOT, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.ROTOM, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.CRYOGONAL, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.FLORGES, + SpeciesId.HAWLUCHA, + SpeciesId.KLEFKI, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.COMFEY, + SpeciesId.SILVALLY, + SpeciesId.DRAMPA, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.KARTANA, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CRAMORANT, + SpeciesId.SIRFETCHD, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.TRICK_ROOM]: [ - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.JIRACHI, - Species.DEOXYS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.CRESSELIA, - Species.ARCEUS, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.WHIMSICOTT, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FRILLISH, - Species.JELLICENT, - Species.KLINKLANG, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.INKAY, - Species.MALAMAR, - Species.CARBINK, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DIANCIE, - Species.HOOPA, - Species.COMFEY, - Species.ORANGURU, - Species.MIMIKYU, - Species.BRUXISH, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.NECROZMA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MR_RIME, - Species.RUNERIGUS, - Species.INDEEDEE, - Species.CALYREX, - Species.WYRDEER, - Species.MEOWSCARADA, - Species.ARMAROUGE, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_VALIANT, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.GALAR_YAMASK, + [MoveId.TRICK_ROOM]: [ + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.WHIMSICOTT, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.KLINKLANG, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.MEOWSCARADA, + SpeciesId.ARMAROUGE, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_VALIANT, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_YAMASK, ], - [Moves.DRACO_METEOR]: [ - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.KINGDRA, - Species.VIBRAVA, - Species.FLYGON, - Species.ALTARIA, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.DRAGALGE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.NOIBAT, - Species.NOIVERN, - Species.ZYGARDE, - Species.SILVALLY, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.GUZZLORD, - Species.NAGANADEL, - Species.APPLIN, - Species.FLAPPLE, - Species.APPLETUN, - Species.DRACOZOLT, - Species.DRACOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.REGIDRAGO, - Species.CYCLIZAR, - Species.TATSUGIRI, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.DIPPLIN, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.DRACO_METEOR]: [ + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.KINGDRA, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.DRAGALGE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.ZYGARDE, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.GUZZLORD, + SpeciesId.NAGANADEL, + SpeciesId.APPLIN, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.DRACOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.REGIDRAGO, + SpeciesId.CYCLIZAR, + SpeciesId.TATSUGIRI, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.DIPPLIN, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.LEAF_STORM]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, + [MoveId.LEAF_STORM]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "plant", ], - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.LEAFEON, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.LEAVANNY, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.VIRIZION, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.SKIDDO, - Species.GOGOAT, - Species.TREVENANT, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.FOMANTIS, - Species.LURANTIS, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.ZARUDE, - Species.CALYREX, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.BRUTE_BONNET, - Species.WO_CHIEN, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OGERPON, - Species.HYDRAPPLE, - Species.SHAYMIN, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.LEAVANNY, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.VIRIZION, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.TREVENANT, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.BRUTE_BONNET, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.SHAYMIN, [ - Species.ROTOM, + SpeciesId.ROTOM, "mow", ], - Species.ALOLA_EXEGGUTOR, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.POWER_WHIP]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGUTOR, - Species.LICKITUNG, - Species.TANGELA, - Species.GYARADOS, - Species.MEW, - Species.ROSELIA, - Species.CRADILY, - Species.ROSERADE, - Species.CARNIVINE, - Species.LICKILICKY, - Species.TANGROWTH, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.FERROTHORN, - Species.GOODRA, - Species.GOURGEIST, - Species.TSAREENA, - Species.DHELMISE, - Species.XURKITREE, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.HATTERENE, - Species.GRIMMSNARL, - Species.CUFANT, - Species.COPPERAJAH, - Species.ZARUDE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CYCLIZAR, - Species.WO_CHIEN, - Species.OGERPON, - Species.ALOLA_EXEGGUTOR, + [MoveId.POWER_WHIP]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGUTOR, + SpeciesId.LICKITUNG, + SpeciesId.TANGELA, + SpeciesId.GYARADOS, + SpeciesId.MEW, + SpeciesId.ROSELIA, + SpeciesId.CRADILY, + SpeciesId.ROSERADE, + SpeciesId.CARNIVINE, + SpeciesId.LICKILICKY, + SpeciesId.TANGROWTH, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.FERROTHORN, + SpeciesId.GOODRA, + SpeciesId.GOURGEIST, + SpeciesId.TSAREENA, + SpeciesId.DHELMISE, + SpeciesId.XURKITREE, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.HATTERENE, + SpeciesId.GRIMMSNARL, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.ZARUDE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CYCLIZAR, + SpeciesId.WO_CHIEN, + SpeciesId.OGERPON, + SpeciesId.ALOLA_EXEGGUTOR, ], - [Moves.CROSS_POISON]: [ - Species.PARAS, - Species.PARASECT, - Species.MACHAMP, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SCYTHER, - Species.KABUTOPS, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.GLIGAR, - Species.SCIZOR, - Species.SCEPTILE, - Species.ANORITH, - Species.ARMALDO, - Species.VESPIQUEN, - Species.SKORUPI, - Species.DRAPION, - Species.TOXICROAK, - Species.GLISCOR, - Species.SCOLIPEDE, - Species.GARBODOR, - Species.JOLTIK, - Species.GALVANTULA, - Species.TOXAPEX, - Species.LURANTIS, - Species.SALAZZLE, - Species.NIHILEGO, - Species.NAGANADEL, - Species.OBSTAGOON, - Species.ETERNATUS, - Species.KLEAVOR, - Species.SHROODLE, - Species.GRAFAIAI, - Species.FEZANDIPITI, + [MoveId.CROSS_POISON]: [ + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.MACHAMP, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SCYTHER, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.SCEPTILE, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.VESPIQUEN, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.TOXICROAK, + SpeciesId.GLISCOR, + SpeciesId.SCOLIPEDE, + SpeciesId.GARBODOR, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.TOXAPEX, + SpeciesId.LURANTIS, + SpeciesId.SALAZZLE, + SpeciesId.NIHILEGO, + SpeciesId.NAGANADEL, + SpeciesId.OBSTAGOON, + SpeciesId.ETERNATUS, + SpeciesId.KLEAVOR, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.FEZANDIPITI, ], - [Moves.GUNK_SHOT]: [ - Species.EKANS, - Species.ARBOK, - Species.SANDSLASH, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.SNORLAX, - Species.MEW, - Species.AIPOM, - Species.GLIGAR, - Species.QWILFISH, - Species.TEDDIURSA, - Species.URSARING, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.PHANPY, - Species.DONPHAN, - Species.ZIGZAGOON, - Species.LINOONE, - Species.PELIPPER, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.GULPIN, - Species.SWALOT, - Species.ZANGOOSE, - Species.SEVIPER, - Species.SHUPPET, - Species.BANETTE, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PACHIRISU, - Species.AMBIPOM, - Species.STUNKY, - Species.SKUNTANK, - Species.MUNCHLAX, - Species.CROAGUNK, - Species.TOXICROAK, - Species.GLISCOR, - Species.ARCEUS, - Species.PATRAT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.KROOKODILE, - Species.TRUBBISH, - Species.GARBODOR, - Species.MINCCINO, - Species.CINCCINO, - Species.DRUDDIGON, - Species.GENESECT, - Species.FROGADIER, - Species.GRENINJA, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.SKRELP, - Species.DRAGALGE, - Species.HOOPA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MAREANIE, - Species.TOXAPEX, - Species.SALANDIT, - Species.SALAZZLE, - Species.PASSIMIAN, - Species.KOMALA, - Species.NIHILEGO, - Species.POIPOLE, - Species.NAGANADEL, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.TOXTRICITY, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.ETERNATUS, - Species.URSALUNA, - Species.SNEASLER, - Species.OVERQWIL, - Species.SHROODLE, - Species.GRAFAIAI, - Species.RELLOR, - Species.RABSCA, - Species.VAROOM, - Species.REVAVROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.PECHARUNT, + [MoveId.GUNK_SHOT]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSLASH, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.AIPOM, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.PELIPPER, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.MUNCHLAX, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.GLISCOR, + SpeciesId.ARCEUS, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.KROOKODILE, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DRUDDIGON, + SpeciesId.GENESECT, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.HOOPA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.PASSIMIAN, + SpeciesId.KOMALA, + SpeciesId.NIHILEGO, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.TOXTRICITY, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.ETERNATUS, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.PECHARUNT, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "trash", ], - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_MEOWTH, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.IRON_HEAD]: [ - Species.ARCANINE, - Species.GRAVELER, - Species.GOLEM, - Species.MAGNEMITE, - Species.MAGNETON, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.AERODACTYL, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.FORRETRESS, - Species.STEELIX, - Species.SCIZOR, - Species.MANTINE, - Species.SKARMORY, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.HARIYAMA, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.MILOTIC, - Species.GLALIE, - Species.WALREIN, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.BELDUM, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BRONZOR, - Species.BRONZONG, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOWDON, - Species.MAGNEZONE, - Species.RHYPERIOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.DIALGA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.ARCEUS, - Species.EMBOAR, - Species.STOUTLAND, - Species.GIGALITH, - Species.EXCADRILL, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.CARRACOSTA, - Species.ESCAVALIER, - Species.FERROSEED, - Species.FERROTHORN, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.BRAVIARY, - Species.DURANT, - Species.COBALION, - Species.TERRAKION, - Species.KYUREM, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.HAWLUCHA, - Species.CARBINK, - Species.AVALUGG, - Species.INCINEROAR, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.PASSIMIAN, - Species.GOLISOPOD, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.SOLGALEO, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.STAKATAKA, - Species.MELMETAL, - Species.CINDERACE, - Species.CORVIKNIGHT, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.SANDACONDA, - Species.PERRSERKER, - Species.FALINKS, - Species.EISCUE, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.ENAMORUS, - Species.LECHONK, - Species.OINKOLOGNE, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CERULEDGE, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GHOLDENGO, - Species.ROARING_MOON, - Species.KORAIDON, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.GOUGING_FIRE, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.TERAPAGOS, + [MoveId.IRON_HEAD]: [ + SpeciesId.ARCANINE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.HARIYAMA, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.MILOTIC, + SpeciesId.GLALIE, + SpeciesId.WALREIN, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.BELDUM, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOWDON, + SpeciesId.MAGNEZONE, + SpeciesId.RHYPERIOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.EMBOAR, + SpeciesId.STOUTLAND, + SpeciesId.GIGALITH, + SpeciesId.EXCADRILL, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.CARRACOSTA, + SpeciesId.ESCAVALIER, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.BRAVIARY, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.KYUREM, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.HAWLUCHA, + SpeciesId.CARBINK, + SpeciesId.AVALUGG, + SpeciesId.INCINEROAR, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.GOLISOPOD, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.SOLGALEO, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.CINDERACE, + SpeciesId.CORVIKNIGHT, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.PERRSERKER, + SpeciesId.FALINKS, + SpeciesId.EISCUE, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ENAMORUS, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CERULEDGE, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GHOLDENGO, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "trash", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GOLEM, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_DARMANITAN, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, ], - [Moves.STONE_EDGE]: [ - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.ONIX, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.RHYHORN, - Species.RHYDON, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.GRANBULL, - Species.SHUCKLE, - Species.HERACROSS, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.PHANPY, - Species.DONPHAN, - Species.HITMONTOP, - Species.ENTEI, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.BRELOOM, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.MAWILE, - Species.LAIRON, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CLAYDOL, - Species.CRADILY, - Species.ARMALDO, - Species.ABSOL, - Species.RELICANTH, - Species.SALAMENCE, - Species.METAGROSS, - Species.REGIROCK, - Species.GROUDON, - Species.RAYQUAZA, - Species.TORTERRA, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.SHELLOS, - Species.GASTRODON, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.TOXICROAK, - Species.RHYPERIOR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.ARCEUS, - Species.PIGNITE, - Species.EMBOAR, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.BEARTIC, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.DURANT, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.HAWLUCHA, - Species.CARBINK, - Species.BERGMITE, - Species.AVALUGG, - Species.ZYGARDE, - Species.DIANCIE, - Species.VOLCANION, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.TURTONATOR, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MARSHADOW, - Species.STAKATAKA, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.ZAMAZENTA, - Species.URSHIFU, - Species.KLEAVOR, - Species.URSALUNA, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.BOMBIRDIER, - Species.GLIMMET, - Species.GLIMMORA, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.IRON_THORNS, - Species.TING_LU, - Species.ROARING_MOON, - Species.ARCHALUDON, - Species.GOUGING_FIRE, - Species.IRON_BOULDER, - Species.TERAPAGOS, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_CORSOLA, - Species.GALAR_DARMANITAN, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.STONE_EDGE]: [ + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.HITMONTOP, + SpeciesId.ENTEI, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.BRELOOM, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.MAWILE, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ARMALDO, + SpeciesId.ABSOL, + SpeciesId.RELICANTH, + SpeciesId.SALAMENCE, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.TOXICROAK, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.DURANT, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.HAWLUCHA, + SpeciesId.CARBINK, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.TURTONATOR, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.ZAMAZENTA, + SpeciesId.URSHIFU, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.BOMBIRDIER, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_THORNS, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.ARCHALUDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.IRON_BOULDER, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.STEALTH_ROCK]: [ - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DIGLETT, - Species.DUGTRIO, - Species.PRIMEAPE, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.PINSIR, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.MEW, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SHUCKLE, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.SKARMORY, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.CELEBI, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.NOSEPASS, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.RELICANTH, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGISTEEL, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.SHELLOS, - Species.GASTRODON, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.RHYPERIOR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.HEATRAN, - Species.ARCEUS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.FERROSEED, - Species.FERROTHORN, - Species.STUNFISK, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.ZEKROM, - Species.LANDORUS, - Species.BINACLE, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.DIANCIE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.KOMMO_O, - Species.NIHILEGO, - Species.NECROZMA, - Species.STAKATAKA, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.PERRSERKER, - Species.CURSOLA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.KLEAVOR, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.BOMBIRDIER, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_THORNS, - Species.TING_LU, - Species.ARCHALUDON, - Species.TERAPAGOS, + [MoveId.STEALTH_ROCK]: [ + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.PRIMEAPE, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.PINSIR, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SHUCKLE, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.SKARMORY, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.CELEBI, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.NOSEPASS, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.RELICANTH, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.DIANCIE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.KOMMO_O, + SpeciesId.NIHILEGO, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.KLEAVOR, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.BOMBIRDIER, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_THORNS, + SpeciesId.TING_LU, + SpeciesId.ARCHALUDON, + SpeciesId.TERAPAGOS, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", "trash", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_CORSOLA, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_AVALUGG, - Species.PALDEA_WOOPER, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_WOOPER, ], - [Moves.GRASS_KNOT]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.TANGELA, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.SENTRET, - Species.FURRET, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.SMOOCHUM, - Species.BLISSEY, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHROOMISH, - Species.BRELOOM, - Species.SKITTY, - Species.DELCATTY, - Species.MAWILE, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.ROSELIA, - Species.SPOINK, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.KECLEON, - Species.TROPIUS, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIDOOF, - Species.BIBAREL, - Species.BUDEW, - Species.ROSERADE, + [MoveId.GRASS_KNOT]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MAWILE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.ROSELIA, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.KECLEON, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "plant", ], - Species.PACHIRISU, - Species.CHERUBI, - Species.CHERRIM, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CARNIVINE, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.TOGEKISS, - Species.LEAFEON, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.BINACLE, - Species.BARBARACLE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.DEDENNE, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.XERNEAS, - Species.ZYGARDE, - Species.HOOPA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.PASSIMIAN, - Species.TOGEDEMARU, - Species.DRAMPA, - Species.DHELMISE, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.NIHILEGO, - Species.XURKITREE, - Species.CELESTEELA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.OBSTAGOON, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ZARUDE, - Species.CALYREX, - Species.SNEASLER, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.PALAFIN, - Species.FARIGIRAF, - Species.KINGAMBIT, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.WO_CHIEN, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.MUNKIDORI, - Species.OGERPON, - Species.HYDRAPPLE, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, + SpeciesId.PACHIRISU, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CARNIVINE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.XERNEAS, + SpeciesId.ZYGARDE, + SpeciesId.HOOPA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.PASSIMIAN, + SpeciesId.TOGEDEMARU, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.OBSTAGOON, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.SNEASLER, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.PALAFIN, + SpeciesId.FARIGIRAF, + SpeciesId.KINGAMBIT, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.MUNKIDORI, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.BUG_BITE]: [ - Species.CATERPIE, - Species.METAPOD, - Species.BUTTERFREE, - Species.WEEDLE, - Species.KAKUNA, - Species.BEEDRILL, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.SCYTHER, - Species.PINSIR, - Species.MEW, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.WURMPLE, - Species.SILCOON, - Species.BEAUTIFLY, - Species.CASCOON, - Species.DUSTOX, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.VOLBEAT, - Species.ILLUMISE, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.ANORITH, - Species.ARMALDO, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.BURMY, - Species.WORMADAM, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.SKORUPI, - Species.DRAPION, - Species.CARNIVINE, - Species.YANMEGA, - Species.GLISCOR, - Species.HEATRAN, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.SHELMET, - Species.ACCELGOR, - Species.HEATMOR, - Species.DURANT, - Species.LARVESTA, - Species.VOLCARONA, - Species.GENESECT, - Species.SCATTERBUG, - Species.SPEWPA, - Species.VIVILLON, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.GOLISOPOD, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.SNOM, - Species.FROSMOTH, - Species.KLEAVOR, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.RELLOR, - Species.RABSCA, - Species.SLITHER_WING, - Species.DIPPLIN, - Species.HYDRAPPLE, + [MoveId.BUG_BITE]: [ + SpeciesId.CATERPIE, + SpeciesId.METAPOD, + SpeciesId.BUTTERFREE, + SpeciesId.WEEDLE, + SpeciesId.KAKUNA, + SpeciesId.BEEDRILL, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.MEW, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.WURMPLE, + SpeciesId.SILCOON, + SpeciesId.BEAUTIFLY, + SpeciesId.CASCOON, + SpeciesId.DUSTOX, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.BURMY, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CARNIVINE, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.HEATRAN, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.GENESECT, + SpeciesId.SCATTERBUG, + SpeciesId.SPEWPA, + SpeciesId.VIVILLON, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.GOLISOPOD, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.SLITHER_WING, + SpeciesId.DIPPLIN, + SpeciesId.HYDRAPPLE, ], - [Moves.CHARGE_BEAM]: [ - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.CHANSEY, - Species.MR_MIME, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.PORYGON, - Species.ZAPDOS, - Species.MEWTWO, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.REMORAID, - Species.OCTILLERY, - Species.PORYGON2, - Species.STANTLER, - Species.ELEKID, - Species.BLISSEY, - Species.RAIKOU, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.ZIGZAGOON, - Species.LINOONE, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SKITTY, - Species.DELCATTY, - Species.MAWILE, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.ABSOL, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.BIDOOF, - Species.BIBAREL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.GIRATINA, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.TYNAMO, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.DRUDDIGON, - Species.GOLURK, - Species.HYDREIGON, - Species.THUNDURUS, - Species.ZEKROM, - Species.MELOETTA, - Species.GENESECT, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.AMAURA, - Species.AURORUS, - Species.DEDENNE, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.HOOPA, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.SHIINOTIC, - Species.ORANGURU, - Species.MINIOR, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.TAPU_LELE, - Species.LUNALA, - Species.NIHILEGO, - Species.XURKITREE, - Species.NECROZMA, - Species.MAGEARNA, - Species.TOXTRICITY, - Species.PINCURCHIN, - Species.MORPEKO, - Species.REGIELEKI, - Species.WYRDEER, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.FARIGIRAF, - Species.FLUTTER_MANE, - Species.SANDY_SHOCKS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.RAGING_BOLT, - Species.ALOLA_RAICHU, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.CHARGE_BEAM]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.CHANSEY, + SpeciesId.MR_MIME, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.ZAPDOS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.ELEKID, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MAWILE, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.TYNAMO, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.DRUDDIGON, + SpeciesId.GOLURK, + SpeciesId.HYDREIGON, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.DEDENNE, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.HOOPA, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.SHIINOTIC, + SpeciesId.ORANGURU, + SpeciesId.MINIOR, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.TAPU_LELE, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.TOXTRICITY, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.REGIELEKI, + SpeciesId.WYRDEER, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.FARIGIRAF, + SpeciesId.FLUTTER_MANE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.HONE_CLAWS]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.PARAS, - Species.PARASECT, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.KRABBY, - Species.KINGLER, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.SPINARAK, - Species.ARIADOS, - Species.AIPOM, - Species.GLIGAR, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.TYRANITAR, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOMBRE, - Species.LUDICOLO, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.FLYGON, - Species.ALTARIA, - Species.ZANGOOSE, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ANORITH, - Species.ARMALDO, - Species.KECLEON, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.GROUDON, - Species.RAYQUAZA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PRINPLUP, - Species.EMPOLEON, - Species.KRICKETUNE, - Species.VESPIQUEN, - Species.AMBIPOM, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.LUCARIO, - Species.SKORUPI, - Species.DRAPION, - Species.WEAVILE, - Species.GLISCOR, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.DRILBUR, - Species.EXCADRILL, - Species.LEAVANNY, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.FERROSEED, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.RUFFLET, - Species.BRAVIARY, - Species.HEATMOR, - Species.DURANT, - Species.COBALION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.GENESECT, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.TALONFLAME, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.TYRUNT, - Species.TYRANTRUM, - Species.HAWLUCHA, - Species.TREVENANT, - Species.NOIVERN, - Species.YVELTAL, - Species.MIMIKYU, - Species.ZERAORA, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.NICKIT, - Species.THIEVUL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.DURALUDON, - Species.URSALUNA, - Species.SNEASLER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.BOMBIRDIER, - Species.KINGAMBIT, - Species.WALKING_WAKE, - Species.ARCHALUDON, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.GALAR_MEOWTH, - Species.GALAR_LINOONE, - Species.HISUI_SNEASEL, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, + [MoveId.HONE_CLAWS]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.AIPOM, + SpeciesId.GLIGAR, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.TYRANITAR, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.KECLEON, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.KRICKETUNE, + SpeciesId.VESPIQUEN, + SpeciesId.AMBIPOM, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.LUCARIO, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.WEAVILE, + SpeciesId.GLISCOR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.LEAVANNY, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.TALONFLAME, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.HAWLUCHA, + SpeciesId.TREVENANT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.MIMIKYU, + SpeciesId.ZERAORA, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.DURALUDON, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.BOMBIRDIER, + SpeciesId.KINGAMBIT, + SpeciesId.WALKING_WAKE, + SpeciesId.ARCHALUDON, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.WONDER_ROOM]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.CLEFFA, - Species.UMBREON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.PORYGON2, - Species.SMOOCHUM, - Species.LUGIA, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SABLEYE, - Species.ALTARIA, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.KECLEON, - Species.DUSKULL, - Species.DUSCLOPS, - Species.LATIOS, - Species.DEOXYS, - Species.MISMAGIUS, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.PORYGON_Z, - Species.GALLADE, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DARKRAI, - Species.MUNNA, - Species.MUSHARNA, - Species.YAMASK, - Species.COFAGRIGUS, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.MELOETTA, - Species.BRAIXEN, - Species.DELPHOX, - Species.ESPURR, - Species.MEOWSTIC, - Species.CARBINK, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.MORELULL, - Species.SHIINOTIC, - Species.ORANGURU, - Species.BRUXISH, - Species.TAPU_LELE, - Species.TAPU_FINI, - Species.LUNALA, - Species.NIHILEGO, - Species.STAKATAKA, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATTERENE, - Species.GRIMMSNARL, - Species.MR_RIME, - Species.RUNERIGUS, - Species.ALCREMIE, - Species.STONJOURNER, - Species.INDEEDEE, - Species.CALYREX, - Species.ALOLA_NINETALES, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.GALAR_YAMASK, + [MoveId.WONDER_ROOM]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CLEFFA, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.PORYGON2, + SpeciesId.SMOOCHUM, + SpeciesId.LUGIA, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SABLEYE, + SpeciesId.ALTARIA, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.KECLEON, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.LATIOS, + SpeciesId.DEOXYS, + SpeciesId.MISMAGIUS, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DARKRAI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.MELOETTA, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.CARBINK, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.ORANGURU, + SpeciesId.BRUXISH, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.STAKATAKA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATTERENE, + SpeciesId.GRIMMSNARL, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.ALCREMIE, + SpeciesId.STONJOURNER, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_YAMASK, ], - [Moves.PSYSHOCK]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.CLEFFA, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PORYGON2, - Species.STANTLER, - Species.SMOOCHUM, - Species.LUGIA, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.TOGEKISS, - Species.PORYGON_Z, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.ESPURR, - Species.MEOWSTIC, - Species.AROMATISSE, - Species.INKAY, - Species.MALAMAR, - Species.SYLVEON, - Species.KLEFKI, - Species.XERNEAS, - Species.DIANCIE, - Species.HOOPA, - Species.ORANGURU, - Species.BRUXISH, - Species.TAPU_LELE, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.NECROZMA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MR_RIME, - Species.ALCREMIE, - Species.INDEEDEE, - Species.CALYREX, - Species.WYRDEER, - Species.ARMAROUGE, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.FARIGIRAF, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.MUNKIDORI, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.ALOLA_NINETALES, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.HISUI_BRAVIARY, + [MoveId.PSYSHOCK]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CLEFFA, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.LUGIA, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.AROMATISSE, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SYLVEON, + SpeciesId.KLEFKI, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.ORANGURU, + SpeciesId.BRUXISH, + SpeciesId.TAPU_LELE, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ARMAROUGE, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.FARIGIRAF, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.MUNKIDORI, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.VENOSHOCK]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.BELLOSSOM, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SHROOMISH, - Species.BRELOOM, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CACNEA, - Species.CACTURNE, - Species.SEVIPER, - Species.BUDEW, - Species.ROSERADE, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.STUNKY, - Species.SKUNTANK, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.GLISCOR, - Species.SEISMITOAD, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.TRUBBISH, - Species.GARBODOR, - Species.FOONGUS, - Species.AMOONGUSS, - Species.SHELMET, - Species.ACCELGOR, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.MAREANIE, - Species.TOXAPEX, - Species.SALANDIT, - Species.SALAZZLE, - Species.GOLISOPOD, - Species.TURTONATOR, - Species.BRUXISH, - Species.NIHILEGO, - Species.POIPOLE, - Species.NAGANADEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.PINCURCHIN, - Species.ETERNATUS, - Species.SNEASLER, - Species.OVERQWIL, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.VAROOM, - Species.REVAVROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.CLODSIRE, - Species.BRUTE_BONNET, - Species.IRON_MOTH, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.PECHARUNT, - Species.ALOLA_RATICATE, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.PALDEA_WOOPER, + [MoveId.VENOSHOCK]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.BELLOSSOM, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SEVIPER, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.GLISCOR, + SpeciesId.SEISMITOAD, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.GOLISOPOD, + SpeciesId.TURTONATOR, + SpeciesId.BRUXISH, + SpeciesId.NIHILEGO, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.PINCURCHIN, + SpeciesId.ETERNATUS, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.BRUTE_BONNET, + SpeciesId.IRON_MOTH, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.PALDEA_WOOPER, ], - [Moves.MAGIC_ROOM]: [ - Species.WIGGLYTUFF, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.DROWZEE, - Species.HYPNO, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.MISDREAVUS, - Species.STANTLER, - Species.SMOOCHUM, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.LUNATONE, - Species.SHUPPET, - Species.BANETTE, - Species.LATIAS, - Species.JIRACHI, - Species.MISMAGIUS, - Species.MIME_JR, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.ESPURR, - Species.MEOWSTIC, - Species.KLEFKI, - Species.HOOPA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.MORELULL, - Species.SHIINOTIC, - Species.ORANGURU, - Species.MIMIKYU, - Species.BRUXISH, - Species.TAPU_LELE, - Species.TAPU_FINI, - Species.LUNALA, - Species.STAKATAKA, - Species.DOTTLER, - Species.ORBEETLE, - Species.HATTERENE, - Species.MR_RIME, - Species.ALCREMIE, - Species.INDEEDEE, - Species.CALYREX, - Species.ALOLA_RAICHU, - Species.GALAR_RAPIDASH, - Species.GALAR_MR_MIME, + [MoveId.MAGIC_ROOM]: [ + SpeciesId.WIGGLYTUFF, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.MISDREAVUS, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.LUNATONE, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.LATIAS, + SpeciesId.JIRACHI, + SpeciesId.MISMAGIUS, + SpeciesId.MIME_JR, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.KLEFKI, + SpeciesId.HOOPA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.ORANGURU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.STAKATAKA, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.ALOLA_RAICHU, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_MR_MIME, ], - [Moves.SMACK_DOWN]: [ - Species.BLASTOISE, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.RHYHORN, - Species.RHYDON, - Species.PINSIR, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.MEW, - Species.SUDOWOODO, - Species.AIPOM, - Species.STEELIX, - Species.SHUCKLE, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.REMORAID, - Species.OCTILLERY, - Species.PHANPY, - Species.DONPHAN, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.AGGRON, - Species.CAMERUPT, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.RELICANTH, - Species.REGIROCK, - Species.GROUDON, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.MONFERNO, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.AMBIPOM, - Species.BONSLY, - Species.RHYPERIOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.REGIGIGAS, - Species.EMBOAR, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.KROOKODILE, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.GARBODOR, - Species.DRUDDIGON, - Species.TERRAKION, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.BINACLE, - Species.BARBARACLE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.CARBINK, - Species.DIANCIE, - Species.VOLCANION, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.PASSIMIAN, - Species.TURTONATOR, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.MARSHADOW, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.CINDERACE, - Species.INTELEON, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.STONJOURNER, - Species.COPPERAJAH, - Species.KLEAVOR, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.TINKATON, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.ANNIHILAPE, - Species.GREAT_TUSK, - Species.IRON_THORNS, - Species.ARCHALUDON, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWBRO, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_DECIDUEYE, - Species.BLOODMOON_URSALUNA, + [MoveId.SMACK_DOWN]: [ + SpeciesId.BLASTOISE, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.PINSIR, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.AIPOM, + SpeciesId.STEELIX, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.AGGRON, + SpeciesId.CAMERUPT, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.RELICANTH, + SpeciesId.REGIROCK, + SpeciesId.GROUDON, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.AMBIPOM, + SpeciesId.BONSLY, + SpeciesId.RHYPERIOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.REGIGIGAS, + SpeciesId.EMBOAR, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.GARBODOR, + SpeciesId.DRUDDIGON, + SpeciesId.TERRAKION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.CARBINK, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.MARSHADOW, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.STONJOURNER, + SpeciesId.COPPERAJAH, + SpeciesId.KLEAVOR, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.TINKATON, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.ANNIHILAPE, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_THORNS, + SpeciesId.ARCHALUDON, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SLUDGE_WAVE]: [ - Species.EKANS, - Species.ARBOK, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.VILEPLUME, - Species.VENOMOTH, - Species.DUGTRIO, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.WOOPER, - Species.QUAGSIRE, - Species.QWILFISH, - Species.SHUCKLE, - Species.OCTILLERY, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.GULPIN, - Species.SWALOT, - Species.SEVIPER, - Species.CRAWDAUNT, - Species.CRADILY, - Species.GASTRODON, - Species.STUNKY, - Species.SKUNTANK, - Species.CROAGUNK, - Species.TOXICROAK, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.TRUBBISH, - Species.GARBODOR, - Species.FRILLISH, - Species.JELLICENT, - Species.STUNFISK, - Species.TORNADUS, - Species.THUNDURUS, - Species.LANDORUS, - Species.GRENINJA, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.ZYGARDE, - Species.VOLCANION, - Species.MAREANIE, - Species.TOXAPEX, - Species.SALANDIT, - Species.SALAZZLE, - Species.GOLISOPOD, - Species.DHELMISE, - Species.NIHILEGO, - Species.GUZZLORD, - Species.POIPOLE, - Species.NAGANADEL, - Species.TOXTRICITY, - Species.ETERNATUS, - Species.SNEASLER, - Species.OVERQWIL, - Species.SHROODLE, - Species.GRAFAIAI, - Species.VAROOM, - Species.REVAVROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.CLODSIRE, - Species.IRON_MOTH, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.PECHARUNT, - Species.ALOLA_RATICATE, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_STUNFISK, - Species.HISUI_SNEASEL, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.PALDEA_WOOPER, + [MoveId.SLUDGE_WAVE]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.VILEPLUME, + SpeciesId.VENOMOTH, + SpeciesId.DUGTRIO, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.QWILFISH, + SpeciesId.SHUCKLE, + SpeciesId.OCTILLERY, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SEVIPER, + SpeciesId.CRAWDAUNT, + SpeciesId.CRADILY, + SpeciesId.GASTRODON, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.STUNFISK, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.LANDORUS, + SpeciesId.GRENINJA, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.GOLISOPOD, + SpeciesId.DHELMISE, + SpeciesId.NIHILEGO, + SpeciesId.GUZZLORD, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.TOXTRICITY, + SpeciesId.ETERNATUS, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.IRON_MOTH, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.PALDEA_WOOPER, ], - [Moves.HEAVY_SLAM]: [ - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GRAVELER, - Species.GOLEM, - Species.MAGNEMITE, - Species.MAGNETON, - Species.ONIX, - Species.RHYHORN, - Species.RHYDON, - Species.SNORLAX, - Species.MEW, - Species.FORRETRESS, - Species.STEELIX, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.TYRANITAR, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.WALREIN, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.KYOGRE, - Species.GROUDON, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BRONZOR, - Species.BRONZONG, - Species.HIPPOWDON, - Species.MAGNEZONE, - Species.RHYPERIOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.ARCEUS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.CRUSTLE, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.CUBCHOO, - Species.BEARTIC, - Species.GOLETT, - Species.GOLURK, - Species.COBALION, - Species.CARBINK, - Species.AVALUGG, - Species.VOLCANION, - Species.MUDBRAY, - Species.MUDSDALE, - Species.TURTONATOR, - Species.DHELMISE, - Species.SOLGALEO, - Species.CELESTEELA, - Species.GUZZLORD, - Species.MAGEARNA, - Species.STAKATAKA, - Species.MELMETAL, - Species.CORVIKNIGHT, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.PERRSERKER, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ZAMAZENTA, - Species.GLASTRIER, - Species.URSALUNA, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.TINKATON, - Species.REVAVROOM, - Species.ORTHWORM, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.TING_LU, - Species.KORAIDON, - Species.MIRAIDON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.RAGING_BOLT, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_GOLEM, + [MoveId.HEAVY_SLAM]: [ + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.ONIX, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.TYRANITAR, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.WALREIN, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.HIPPOWDON, + SpeciesId.MAGNEZONE, + SpeciesId.RHYPERIOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.ARCEUS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.CRUSTLE, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.COBALION, + SpeciesId.CARBINK, + SpeciesId.AVALUGG, + SpeciesId.VOLCANION, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.TURTONATOR, + SpeciesId.DHELMISE, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.CORVIKNIGHT, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.PERRSERKER, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ZAMAZENTA, + SpeciesId.GLASTRIER, + SpeciesId.URSALUNA, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.TINKATON, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.TING_LU, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_GOLEM, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.ELECTRO_BALL]: [ - Species.PIKACHU, - Species.RAICHU, - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.ZAPDOS, - Species.MEWTWO, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.ELEKID, - Species.RAIKOU, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.ROTOM, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.THUNDURUS, - Species.ZEKROM, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.XURKITREE, - Species.MAGEARNA, - Species.ZERAORA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.WOOLOO, - Species.DUBWOOL, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.PINCURCHIN, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.REGIELEKI, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.RABSCA, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_THORNS, - Species.GHOLDENGO, - Species.MIRAIDON, - Species.RAGING_BOLT, - Species.ALOLA_RAICHU, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.ELECTRO_BALL]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.ZAPDOS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.ELEKID, + SpeciesId.RAIKOU, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.ROTOM, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.XURKITREE, + SpeciesId.MAGEARNA, + SpeciesId.ZERAORA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.REGIELEKI, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.RABSCA, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_THORNS, + SpeciesId.GHOLDENGO, + SpeciesId.MIRAIDON, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.FLAME_CHARGE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.VULPIX, - Species.NINETALES, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.MAGMAR, - Species.FLAREON, - Species.MOLTRES, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SLUGMA, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.ENTEI, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.MAGMORTAR, - Species.HEATRAN, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.DARUMAKA, - Species.DARMANITAN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.LARVESTA, - Species.VOLCARONA, - Species.RESHIRAM, - Species.GENESECT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.VOLCANION, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.SALANDIT, - Species.SALAZZLE, - Species.TYPE_NULL, - Species.SILVALLY, - Species.TURTONATOR, - Species.SOLGALEO, - Species.CELESTEELA, - Species.BLACEPHALON, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.YAMPER, - Species.CARKOL, - Species.COALOSSAL, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.SLITHER_WING, - Species.IRON_MOTH, - Species.CHI_YU, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.ALOLA_MAROWAK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, + [MoveId.FLAME_CHARGE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.MAGMORTAR, + SpeciesId.HEATRAN, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.GENESECT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.VOLCANION, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.TURTONATOR, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.BLACEPHALON, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.YAMPER, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_MOTH, + SpeciesId.CHI_YU, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.LOW_SWEEP]: [ - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.DROWZEE, - Species.HYPNO, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.MEWTWO, - Species.MEW, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.SNEASEL, - Species.TYROGUE, - Species.HITMONTOP, - Species.GROVYLE, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.GRUMPIG, - Species.ZANGOOSE, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GALLADE, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZOROARK, - Species.GOTHITELLE, - Species.HAXORUS, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.GRENINJA, - Species.PANCHAM, - Species.PANGORO, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.GUMSHOOS, - Species.MUDBRAY, - Species.MUDSDALE, - Species.LURANTIS, - Species.STUFFUL, - Species.BEWEAR, - Species.STEENEE, - Species.TSAREENA, - Species.PASSIMIAN, - Species.KOMALA, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.ZERAORA, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.GRIMMSNARL, - Species.STONJOURNER, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.SNEASLER, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LOKIX, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.GRAFAIAI, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.SLITHER_WING, - Species.IRON_HANDS, - Species.GHOLDENGO, - Species.KORAIDON, - Species.OKIDOGI, - Species.OGERPON, + [MoveId.LOW_SWEEP]: [ + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.SNEASEL, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.GRUMPIG, + SpeciesId.ZANGOOSE, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZOROARK, + SpeciesId.GOTHITELLE, + SpeciesId.HAXORUS, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.GRENINJA, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.GUMSHOOS, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.LURANTIS, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.PASSIMIAN, + SpeciesId.KOMALA, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.GRIMMSNARL, + SpeciesId.STONJOURNER, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.SNEASLER, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LOKIX, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.GRAFAIAI, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_HANDS, + SpeciesId.GHOLDENGO, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_ZAPDOS, - Species.GALAR_SLOWKING, - Species.HISUI_SNEASEL, - Species.HISUI_LILLIGANT, - Species.HISUI_ZOROARK, - Species.HISUI_DECIDUEYE, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.ACID_SPRAY]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.EKANS, - Species.ARBOK, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.VENONAT, - Species.VENOMOTH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.MAGMAR, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.BELLOSSOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.QWILFISH, - Species.REMORAID, - Species.OCTILLERY, - Species.MAGBY, - Species.GULPIN, - Species.SWALOT, - Species.SEVIPER, - Species.STUNKY, - Species.SKUNTANK, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.MAGMORTAR, - Species.ARCEUS, - Species.SCRAGGY, - Species.SCRAFTY, - Species.TRUBBISH, - Species.GARBODOR, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FERROSEED, - Species.FERROTHORN, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ACCELGOR, - Species.SKRELP, - Species.DRAGALGE, - Species.SLIGGOO, - Species.GOODRA, - Species.MAREANIE, - Species.TOXAPEX, - Species.SALANDIT, - Species.SALAZZLE, - Species.NIHILEGO, - Species.FLAPPLE, - Species.TOXTRICITY, - Species.SNEASLER, - Species.OVERQWIL, - Species.ARMAROUGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.VAROOM, - Species.REVAVROOM, - Species.GLIMMET, - Species.GLIMMORA, - Species.CLODSIRE, - Species.IRON_MOTH, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.PECHARUNT, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.PALDEA_WOOPER, + [MoveId.ACID_SPRAY]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MAGMAR, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.BELLOSSOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.QWILFISH, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MAGBY, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SEVIPER, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.MAGMORTAR, + SpeciesId.ARCEUS, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ACCELGOR, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.NIHILEGO, + SpeciesId.FLAPPLE, + SpeciesId.TOXTRICITY, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ARMAROUGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.CLODSIRE, + SpeciesId.IRON_MOTH, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.PALDEA_WOOPER, ], - [Moves.FOUL_PLAY]: [ - Species.VULPIX, - Species.NINETALES, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.VOLTORB, - Species.ELECTRODE, - Species.MR_MIME, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.XATU, - Species.SUDOWOODO, - Species.AIPOM, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.SNEASEL, - Species.DELIBIRD, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PORYGON2, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.MASQUERAIN, - Species.SABLEYE, - Species.MAWILE, - Species.CACNEA, - Species.CACTURNE, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.ABSOL, - Species.GLALIE, - Species.AMBIPOM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.BONSLY, - Species.SPIRITOMB, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.PORYGON_Z, - Species.ROTOM, - Species.UXIE, - Species.DARKRAI, - Species.ARCEUS, - Species.PURRLOIN, - Species.LIEPARD, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZORUA, - Species.ZOROARK, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.FOONGUS, - Species.AMOONGUSS, - Species.STUNFISK, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.TORNADUS, - Species.THUNDURUS, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.INKAY, - Species.MALAMAR, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.YVELTAL, - Species.HOOPA, - Species.SALANDIT, - Species.SALAZZLE, - Species.ORANGURU, - Species.NIHILEGO, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.BLACEPHALON, - Species.NICKIT, - Species.THIEVUL, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.MR_RIME, - Species.MORPEKO, - Species.DURALUDON, - Species.SPECTRIER, - Species.MEOWSCARADA, - Species.SQUAWKABILLY, - Species.SHROODLE, - Species.GRAFAIAI, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FARIGIRAF, - Species.KINGAMBIT, - Species.WO_CHIEN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.ARCHALUDON, - Species.PECHARUNT, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_MUK, + [MoveId.FOUL_PLAY]: [ + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.MR_MIME, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.XATU, + SpeciesId.SUDOWOODO, + SpeciesId.AIPOM, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.SNEASEL, + SpeciesId.DELIBIRD, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PORYGON2, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.MASQUERAIN, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.ABSOL, + SpeciesId.GLALIE, + SpeciesId.AMBIPOM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BONSLY, + SpeciesId.SPIRITOMB, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.PORYGON_Z, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.STUNFISK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.ORANGURU, + SpeciesId.NIHILEGO, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.BLACEPHALON, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.MR_RIME, + SpeciesId.MORPEKO, + SpeciesId.DURALUDON, + SpeciesId.SPECTRIER, + SpeciesId.MEOWSCARADA, + SpeciesId.SQUAWKABILLY, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FARIGIRAF, + SpeciesId.KINGAMBIT, + SpeciesId.WO_CHIEN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.ARCHALUDON, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MUK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_STUNFISK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_STUNFISK, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "single-strike", ], [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.ROUND]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, + [MoveId.ROUND]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, ], - [Moves.ECHOED_VOICE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SPEAROW, - Species.FEAROW, - Species.PIKACHU, - Species.RAICHU, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.CUBONE, - Species.MAROWAK, - Species.CHANSEY, - Species.JYNX, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.POLITOED, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PHANPY, - Species.DONPHAN, - Species.SMOOCHUM, - Species.MILTANK, - Species.BLISSEY, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.SKITTY, - Species.DELCATTY, - Species.PLUSLE, - Species.MINUN, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.SWABLU, - Species.ALTARIA, - Species.CHIMECHO, - Species.ABSOL, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.RAYQUAZA, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.MISMAGIUS, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.HAPPINY, - Species.CHATOT, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PURRLOIN, - Species.LIEPARD, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.AUDINO, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.ELGYEM, - Species.BEHEEYEM, - Species.CUBCHOO, - Species.BEARTIC, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.MELOETTA, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ROCKRUFF, - Species.LYCANROC, - Species.COMFEY, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.NIHILEGO, - Species.PHEROMOSA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.ZERAORA, - Species.ARCTOZOLT, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.CETODDLE, - Species.CETITAN, - Species.ALOLA_RAICHU, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, + [MoveId.ECHOED_VOICE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.CHANSEY, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.POLITOED, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.SMOOCHUM, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.RAYQUAZA, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.MISMAGIUS, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.AUDINO, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.MELOETTA, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.COMFEY, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.NIHILEGO, + SpeciesId.PHEROMOSA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.ARCTOZOLT, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, ], - [Moves.STORED_POWER]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CHANSEY, - Species.MR_MIME, - Species.JYNX, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CLEFFA, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.UMBREON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.STANTLER, - Species.SMOOCHUM, - Species.BLISSEY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.SOLROCK, - Species.CLAYDOL, - Species.CHIMECHO, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.HAPPINY, - Species.SPIRITOMB, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.MANAPHY, - Species.ARCEUS, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.MEOWSTIC, - Species.INKAY, - Species.MALAMAR, - Species.SYLVEON, - Species.KLEFKI, - Species.DIANCIE, - Species.PRIMARINA, - Species.RIBOMBEE, - Species.COMFEY, - Species.ORANGURU, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.NECROZMA, - Species.MAGEARNA, - Species.BLACEPHALON, - Species.DOTTLER, - Species.ORBEETLE, - Species.TOXTRICITY, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MR_RIME, - Species.MILCERY, - Species.ALCREMIE, - Species.INDEEDEE, - Species.CALYREX, - Species.WYRDEER, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.VELUZA, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_VALIANT, - Species.MUNKIDORI, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ETERNAL_FLOETTE, - Species.ALOLA_NINETALES, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.HISUI_BRAVIARY, + [MoveId.STORED_POWER]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CHANSEY, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CLEFFA, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.STANTLER, + SpeciesId.SMOOCHUM, + SpeciesId.BLISSEY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.CLAYDOL, + SpeciesId.CHIMECHO, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.SPIRITOMB, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.MEOWSTIC, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SYLVEON, + SpeciesId.KLEFKI, + SpeciesId.DIANCIE, + SpeciesId.PRIMARINA, + SpeciesId.RIBOMBEE, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.BLACEPHALON, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.TOXTRICITY, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.VELUZA, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_VALIANT, + SpeciesId.MUNKIDORI, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.ALLY_SWITCH]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DIGLETT, - Species.DUGTRIO, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.PONYTA, - Species.RAPIDASH, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.MAROWAK, - Species.CHANSEY, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.FORRETRESS, - Species.PORYGON2, - Species.TYROGUE, - Species.BLISSEY, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SHEDINJA, - Species.SABLEYE, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.LATIAS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.WORMADAM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.SPIRITOMB, - Species.MAGNEZONE, - Species.TOGEKISS, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.MUNNA, - Species.MUSHARNA, - Species.ZEBSTRIKA, - Species.WOOBAT, - Species.SWOOBAT, - Species.AUDINO, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ARCHEN, - Species.ARCHEOPS, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.KLANG, - Species.KLINKLANG, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.MIENFOO, - Species.MIENSHAO, - Species.GOLETT, - Species.GOLURK, - Species.MELOETTA, - Species.GENESECT, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.INKAY, - Species.MALAMAR, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DIANCIE, - Species.HOOPA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.COMFEY, - Species.ORANGURU, - Species.BRUXISH, - Species.DHELMISE, - Species.TAPU_LELE, - Species.NIHILEGO, - Species.NECROZMA, - Species.NAGANADEL, - Species.STAKATAKA, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.DOTTLER, - Species.ORBEETLE, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.MR_RIME, - Species.RUNERIGUS, - Species.INDEEDEE, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.CALYREX, - Species.SPRIGATITO, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.FLITTLE, - Species.GREAVARD, - Species.IRON_LEAVES, - Species.ALOLA_RAICHU, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_YAMASK, + [MoveId.ALLY_SWITCH]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.MAROWAK, + SpeciesId.CHANSEY, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.FORRETRESS, + SpeciesId.PORYGON2, + SpeciesId.TYROGUE, + SpeciesId.BLISSEY, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.WORMADAM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.MAGNEZONE, + SpeciesId.TOGEKISS, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.ZEBSTRIKA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.AUDINO, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.TAPU_LELE, + SpeciesId.NIHILEGO, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.INDEEDEE, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.CALYREX, + SpeciesId.SPRIGATITO, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.FLITTLE, + SpeciesId.GREAVARD, + SpeciesId.IRON_LEAVES, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_YAMASK, ], - [Moves.SCALD]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.KRABBY, - Species.KINGLER, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.GYARADOS, - Species.VAPOREON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.RAIKOU, - Species.SUICUNE, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.AZURILL, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.KYOGRE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.PHIONE, - Species.MANAPHY, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.STUNFISK, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.GOODRA, - Species.VOLCANION, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.WIMPOD, - Species.GOLISOPOD, - Species.BRUXISH, - Species.TAPU_FINI, - Species.INTELEON, - Species.DREDNAW, - Species.CARKOL, - Species.COALOSSAL, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CURSOLA, - Species.PINCURCHIN, - Species.DRACOVISH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.WALKING_WAKE, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_STUNFISK, + [MoveId.SCALD]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.GYARADOS, + SpeciesId.VAPOREON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.RAIKOU, + SpeciesId.SUICUNE, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.AZURILL, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.KYOGRE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.STUNFISK, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.GOODRA, + SpeciesId.VOLCANION, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.BRUXISH, + SpeciesId.TAPU_FINI, + SpeciesId.INTELEON, + SpeciesId.DREDNAW, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CURSOLA, + SpeciesId.PINCURCHIN, + SpeciesId.DRACOVISH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.WALKING_WAKE, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_STUNFISK, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], ], - [Moves.HEX]: [ - Species.NIDOQUEEN, - Species.NIDOKING, - Species.VULPIX, - Species.NINETALES, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.HYPNO, - Species.MEWTWO, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.MURKROW, - Species.MISDREAVUS, - Species.DUNSPARCE, - Species.QWILFISH, - Species.SHIFTRY, - Species.SHEDINJA, - Species.SABLEYE, - Species.BALTOY, - Species.CLAYDOL, - Species.CASTFORM, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.VESPIQUEN, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.SPIRITOMB, - Species.GALLADE, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.GIRATINA, - Species.ARCEUS, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.YAMASK, - Species.COFAGRIGUS, - Species.ZORUA, - Species.ZOROARK, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.EELEKTROSS, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.DELPHOX, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DECIDUEYE, - Species.TOXAPEX, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MIMIKYU, - Species.DHELMISE, - Species.LUNALA, - Species.NIHILEGO, - Species.MARSHADOW, - Species.NAGANADEL, - Species.TOXTRICITY, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.CURSOLA, - Species.RUNERIGUS, - Species.PINCURCHIN, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.SPECTRIER, - Species.BASCULEGION, - Species.SKELEDIRGE, - Species.CERULEDGE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.ESPATHRA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.DUDUNSPARCE, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.IRON_VALIANT, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.PECHARUNT, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.MAROWAK, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_YAMASK, + [MoveId.HEX]: [ + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.HYPNO, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.MURKROW, + SpeciesId.MISDREAVUS, + SpeciesId.DUNSPARCE, + SpeciesId.QWILFISH, + SpeciesId.SHIFTRY, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CASTFORM, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.VESPIQUEN, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.SPIRITOMB, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.EELEKTROSS, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.DELPHOX, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DECIDUEYE, + SpeciesId.TOXAPEX, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MIMIKYU, + SpeciesId.DHELMISE, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.TOXTRICITY, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.PINCURCHIN, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.SPECTRIER, + SpeciesId.BASCULEGION, + SpeciesId.SKELEDIRGE, + SpeciesId.CERULEDGE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.ESPATHRA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.DUDUNSPARCE, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.IRON_VALIANT, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.MAROWAK, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_YAMASK, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.SKY_DROP]: [ - Species.CHARIZARD, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.PELIPPER, - Species.RAYQUAZA, - Species.RUFFLET, - Species.BRAVIARY, - Species.TORNADUS, - Species.THUNDURUS, - Species.HAWLUCHA, - Species.YVELTAL, - Species.VIKAVOLT, - Species.TAPU_KOKO, - Species.LUNALA, - Species.NAGANADEL, + [MoveId.SKY_DROP]: [ + SpeciesId.CHARIZARD, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.PELIPPER, + SpeciesId.RAYQUAZA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.HAWLUCHA, + SpeciesId.YVELTAL, + SpeciesId.VIKAVOLT, + SpeciesId.TAPU_KOKO, + SpeciesId.LUNALA, + SpeciesId.NAGANADEL, ], - [Moves.INCINERATE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GROWLITHE, - Species.ARCANINE, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.GRIMER, - Species.MUK, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MAGMAR, - Species.TAUROS, - Species.GYARADOS, - Species.FLAREON, - Species.AERODACTYL, - Species.SNORLAX, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.SLOWKING, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.SLUGMA, - Species.MAGCARGO, - Species.REMORAID, - Species.OCTILLERY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.BLISSEY, - Species.ENTEI, - Species.HO_OH, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.FLYGON, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SOLROCK, - Species.CASTFORM, - Species.KECLEON, - Species.ABSOL, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.GROUDON, - Species.RAYQUAZA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.HAPPINY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.DARKRAI, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.AUDINO, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZORUA, - Species.ZOROARK, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.GOODRA, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.VOLCANION, - Species.SALANDIT, - Species.SALAZZLE, - Species.TURTONATOR, - Species.BLACEPHALON, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.DUDUNSPARCE, - Species.CHI_YU, - Species.ROARING_MOON, - Species.GOUGING_FIRE, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_GOODRA, - Species.PALDEA_TAUROS, + [MoveId.INCINERATE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MAGMAR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.FLAREON, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.BLISSEY, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SOLROCK, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.ABSOL, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.HAPPINY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.AUDINO, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.GOODRA, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.VOLCANION, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.BLACEPHALON, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.DUDUNSPARCE, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.GOUGING_FIRE, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_GOODRA, + SpeciesId.PALDEA_TAUROS, ], - [Moves.QUASH]: [ - Species.NIDOQUEEN, - Species.NIDOKING, - Species.KINGLER, - Species.MEW, - Species.MURKROW, - Species.SLOWKING, - Species.KINGDRA, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.SLAKING, - Species.SABLEYE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.VESPIQUEN, - Species.HONCHKROW, - Species.SPIRITOMB, - Species.ARCEUS, - Species.PANCHAM, - Species.PANGORO, - Species.HOOPA, - Species.INCINEROAR, - Species.ORICORIO, - Species.ORANGURU, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.KOMALA, - Species.BLACEPHALON, - Species.HATENNA, - Species.MORPEKO, - Species.TINKATINK, - Species.IRON_LEAVES, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, + [MoveId.QUASH]: [ + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.KINGLER, + SpeciesId.MEW, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.KINGDRA, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.SLAKING, + SpeciesId.SABLEYE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.VESPIQUEN, + SpeciesId.HONCHKROW, + SpeciesId.SPIRITOMB, + SpeciesId.ARCEUS, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.ORICORIO, + SpeciesId.ORANGURU, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.KOMALA, + SpeciesId.BLACEPHALON, + SpeciesId.HATENNA, + SpeciesId.MORPEKO, + SpeciesId.TINKATINK, + SpeciesId.IRON_LEAVES, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, ], - [Moves.ACROBATICS]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.ZUBAT, - Species.GOLBAT, - Species.VENOMOTH, - Species.MANKEY, - Species.PRIMEAPE, - Species.FARFETCHD, - Species.SCYTHER, - Species.ZAPDOS, - Species.MOLTRES, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.CROBAT, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.MURKROW, - Species.GLIGAR, - Species.SCIZOR, - Species.DELIBIRD, - Species.MANTINE, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SWABLU, - Species.ALTARIA, - Species.LUNATONE, - Species.SOLROCK, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.MOTHIM, - Species.VESPIQUEN, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.LOPUNNY, - Species.HONCHKROW, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.GLISCOR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.WOOBAT, - Species.SWOOBAT, - Species.ARCHEN, - Species.ARCHEOPS, - Species.SWANNA, - Species.EMOLGA, - Species.ALOMOMOLA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.CRYOGONAL, - Species.MIENFOO, - Species.MIENSHAO, - Species.RUFFLET, - Species.BRAVIARY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.TORNADUS, - Species.THUNDURUS, - Species.MELOETTA, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.SALAZZLE, - Species.TSAREENA, - Species.COMFEY, - Species.PASSIMIAN, - Species.MINIOR, - Species.KOMALA, - Species.TAPU_KOKO, - Species.LUNALA, - Species.CELESTEELA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.INTELEON, - Species.THIEVUL, - Species.FLAPPLE, - Species.CRAMORANT, - Species.FROSMOTH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.KLEAVOR, - Species.SNEASLER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.WATTREL, - Species.KILOWATTREL, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.CYCLIZAR, - Species.FLAMIGO, - Species.ANNIHILAPE, - Species.SLITHER_WING, - Species.IRON_BUNDLE, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.CHIEN_PAO, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.FEZANDIPITI, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, + [MoveId.ACROBATICS]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.VENOMOTH, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.FARFETCHD, + SpeciesId.SCYTHER, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.CROBAT, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.MURKROW, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.LOPUNNY, + SpeciesId.HONCHKROW, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.GLISCOR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.SWANNA, + SpeciesId.EMOLGA, + SpeciesId.ALOMOMOLA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.CRYOGONAL, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.MELOETTA, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.SALAZZLE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.PASSIMIAN, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TAPU_KOKO, + SpeciesId.LUNALA, + SpeciesId.CELESTEELA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.THIEVUL, + SpeciesId.FLAPPLE, + SpeciesId.CRAMORANT, + SpeciesId.FROSMOTH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.KLEAVOR, + SpeciesId.SNEASLER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.CYCLIZAR, + SpeciesId.FLAMIGO, + SpeciesId.ANNIHILAPE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.CHIEN_PAO, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.FEZANDIPITI, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.RETALIATE]: [ - Species.RATTATA, - Species.RATICATE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.FARFETCHD, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.CHANSEY, - Species.KANGASKHAN, - Species.TAUROS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.TOGETIC, - Species.AIPOM, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MEDITITE, - Species.MEDICHAM, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPINDA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CRAWDAUNT, - Species.CASTFORM, - Species.KECLEON, - Species.ABSOL, - Species.LATIAS, - Species.LATIOS, - Species.MONFERNO, - Species.INFERNAPE, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.SPIRITOMB, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.LICKILICKY, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.REGIGIGAS, - Species.DARKRAI, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.LEAVANNY, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DURANT, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.INKAY, - Species.MALAMAR, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.ZYGARDE, - Species.PASSIMIAN, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.DUBWOOL, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.FALINKS, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.MASCHIFF, - Species.KINGAMBIT, - Species.IRON_LEAVES, - Species.OGERPON, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_MAROWAK, - Species.GALAR_MEOWTH, - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_SAMUROTT, + [MoveId.RETALIATE]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.FARFETCHD, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.TAUROS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.TOGETIC, + SpeciesId.AIPOM, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPINDA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CRAWDAUNT, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.ABSOL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.SPIRITOMB, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.LEAVANNY, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.ZYGARDE, + SpeciesId.PASSIMIAN, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.DUBWOOL, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.MASCHIFF, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_LEAVES, + SpeciesId.OGERPON, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.WATER_PLEDGE]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PANPOUR, - Species.SIMIPOUR, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.SILVALLY, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.HISUI_SAMUROTT, + [MoveId.WATER_PLEDGE]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.SILVALLY, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.FIRE_PLEDGE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.PANSEAR, - Species.SIMISEAR, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.SILVALLY, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.HISUI_TYPHLOSION, + [MoveId.FIRE_PLEDGE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.SILVALLY, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.HISUI_TYPHLOSION, ], - [Moves.GRASS_PLEDGE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.PANSAGE, - Species.SIMISAGE, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.SILVALLY, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.HISUI_DECIDUEYE, + [MoveId.GRASS_PLEDGE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.SILVALLY, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.VOLT_SWITCH]: [ - Species.PIKACHU, - Species.RAICHU, - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.ZAPDOS, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.FORRETRESS, - Species.ELEKID, - Species.RAIKOU, - Species.NOSEPASS, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.PROBOPASS, - Species.ROTOM, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.COBALION, - Species.THUNDURUS, - Species.ZEKROM, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.XURKITREE, - Species.MAGEARNA, - Species.ZERAORA, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.MORPEKO, - Species.REGIELEKI, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.MIRAIDON, - Species.RAGING_BOLT, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.VOLT_SWITCH]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.FORRETRESS, + SpeciesId.ELEKID, + SpeciesId.RAIKOU, + SpeciesId.NOSEPASS, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.PROBOPASS, + SpeciesId.ROTOM, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.COBALION, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.XURKITREE, + SpeciesId.MAGEARNA, + SpeciesId.ZERAORA, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.MORPEKO, + SpeciesId.REGIELEKI, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.MIRAIDON, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.STRUGGLE_BUG]: [ - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.SCYTHER, - Species.PINSIR, - Species.MEW, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.GLIGAR, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.VOLBEAT, - Species.ILLUMISE, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.ANORITH, - Species.ARMALDO, - Species.STARAPTOR, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.WORMADAM, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.SKORUPI, - Species.DRAPION, - Species.YANMEGA, - Species.GLISCOR, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.SHELMET, - Species.ACCELGOR, - Species.DURANT, - Species.LARVESTA, - Species.VOLCARONA, - Species.GENESECT, - Species.SCATTERBUG, - Species.SPEWPA, - Species.VIVILLON, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.WIMPOD, - Species.GOLISOPOD, - Species.BLIPBUG, - Species.DOTTLER, - Species.ORBEETLE, - Species.SIZZLIPEDE, - Species.SNOM, - Species.FROSMOTH, - Species.KLEAVOR, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.RELLOR, - Species.RABSCA, - Species.IRON_MOTH, + [MoveId.STRUGGLE_BUG]: [ + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.MEW, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.STARAPTOR, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.DURANT, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.GENESECT, + SpeciesId.SCATTERBUG, + SpeciesId.SPEWPA, + SpeciesId.VIVILLON, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.BLIPBUG, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.SIZZLIPEDE, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.IRON_MOTH, ], - [Moves.BULLDOZE]: [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.EKANS, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.ONIX, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.AERODACTYL, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.SHUCKLE, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.MANTINE, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.BRELOOM, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.SWALOT, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.GRUMPIG, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.ALTARIA, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.BALTOY, - Species.CLAYDOL, - Species.CRADILY, - Species.ARMALDO, - Species.MILOTIC, - Species.DUSCLOPS, - Species.TROPIUS, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.RELICANTH, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.BIBAREL, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.SHELLOS, - Species.GASTRODON, - Species.PURUGLY, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.MANTYKE, - Species.ABOMASNOW, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.ARCEUS, - Species.PIGNITE, - Species.EMBOAR, - Species.SAMUROTT, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DRILBUR, - Species.EXCADRILL, - Species.CONKELDURR, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.DWEBBLE, - Species.CRUSTLE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.STUNFISK, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.HYDREIGON, - Species.TERRAKION, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.GOODRA, - Species.PHANTUMP, - Species.TREVENANT, - Species.BERGMITE, - Species.AVALUGG, - Species.ZYGARDE, - Species.DIANCIE, - Species.VOLCANION, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.SOLGALEO, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.STAKATAKA, - Species.RILLABOOM, - Species.GREEDENT, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CURSOLA, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.GLASTRIER, - Species.SPECTRIER, - Species.WYRDEER, - Species.URSALUNA, - Species.LECHONK, - Species.OINKOLOGNE, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.VAROOM, - Species.REVAVROOM, - Species.ORTHWORM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.TING_LU, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.IRON_BOULDER, - Species.IRON_CROWN, + [MoveId.BULLDOZE]: [ + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.ONIX, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.MANTINE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.BRELOOM, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.SWALOT, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GRUMPIG, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ALTARIA, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CRADILY, + SpeciesId.ARMALDO, + SpeciesId.MILOTIC, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.RELICANTH, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.PURUGLY, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.MANTYKE, + SpeciesId.ABOMASNOW, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.CONKELDURR, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.HYDREIGON, + SpeciesId.TERRAKION, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.GOODRA, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.SOLGALEO, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.RILLABOOM, + SpeciesId.GREEDENT, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.WYRDEER, + SpeciesId.URSALUNA, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.TING_LU, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, [ - Species.WORMADAM, + SpeciesId.WORMADAM, "sandy", ], - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_DARMANITAN, - Species.GALAR_STUNFISK, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_STUNFISK, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, - Species.HISUI_SAMUROTT, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.FROST_BREATH]: [ - Species.DEWGONG, - Species.CLOYSTER, - Species.JYNX, - Species.LAPRAS, - Species.ARTICUNO, - Species.MEW, - Species.DELIBIRD, - Species.SMOOCHUM, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.REGICE, - Species.SNOVER, - Species.ABOMASNOW, - Species.GLACEON, - Species.FROSLASS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.AMAURA, - Species.AURORUS, - Species.BERGMITE, - Species.AVALUGG, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.BRUXISH, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, + [MoveId.FROST_BREATH]: [ + SpeciesId.DEWGONG, + SpeciesId.CLOYSTER, + SpeciesId.JYNX, + SpeciesId.LAPRAS, + SpeciesId.ARTICUNO, + SpeciesId.MEW, + SpeciesId.DELIBIRD, + SpeciesId.SMOOCHUM, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.REGICE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.GLACEON, + SpeciesId.FROSLASS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.BRUXISH, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, ], - [Moves.DRAGON_TAIL]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.BLASTOISE, - Species.ARBOK, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.ONIX, - Species.LICKITUNG, - Species.RHYDON, - Species.GYARADOS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.MEGANIUM, - Species.FERALIGATR, - Species.AMPHAROS, - Species.SLOWKING, - Species.STEELIX, - Species.TYRANITAR, - Species.LUGIA, - Species.AGGRON, - Species.VIBRAVA, - Species.FLYGON, - Species.SEVIPER, - Species.MILOTIC, - Species.TROPIUS, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.GROUDON, - Species.RAYQUAZA, - Species.RAMPARDOS, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.ARCEUS, - Species.SERPERIOR, - Species.SAMUROTT, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEOPS, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.SKRELP, - Species.DRAGALGE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.GOODRA, - Species.NOIVERN, - Species.ZYGARDE, - Species.SALAZZLE, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.GUZZLORD, - Species.NAGANADEL, - Species.CHEWTLE, - Species.APPLETUN, - Species.DRACOZOLT, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ETERNATUS, - Species.CYCLIZAR, - Species.DUDUNSPARCE, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.DIPPLIN, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.RAGING_BOLT, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_GOODRA, + [MoveId.DRAGON_TAIL]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.ARBOK, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.ONIX, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.GYARADOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.FERALIGATR, + SpeciesId.AMPHAROS, + SpeciesId.SLOWKING, + SpeciesId.STEELIX, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.AGGRON, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SEVIPER, + SpeciesId.MILOTIC, + SpeciesId.TROPIUS, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.RAMPARDOS, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.SERPERIOR, + SpeciesId.SAMUROTT, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEOPS, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.GOODRA, + SpeciesId.NOIVERN, + SpeciesId.ZYGARDE, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.GUZZLORD, + SpeciesId.NAGANADEL, + SpeciesId.CHEWTLE, + SpeciesId.APPLETUN, + SpeciesId.DRACOZOLT, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ETERNATUS, + SpeciesId.CYCLIZAR, + SpeciesId.DUDUNSPARCE, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.DIPPLIN, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_GOODRA, ], - [Moves.WORK_UP]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.SANDSHREW, - Species.SANDSLASH, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.CHANSEY, - Species.KANGASKHAN, - Species.TAUROS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MARILL, - Species.AZUMARILL, - Species.AIPOM, - Species.ESPEON, - Species.UMBREON, - Species.GIRAFARIG, - Species.SNUBBULL, - Species.GRANBULL, - Species.HERACROSS, - Species.TEDDIURSA, - Species.URSARING, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.MILTANK, - Species.BLISSEY, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.ZIGZAGOON, - Species.LINOONE, - Species.TAILLOW, - Species.SWELLOW, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.SKITTY, - Species.DELCATTY, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPINDA, - Species.ZANGOOSE, - Species.CASTFORM, - Species.KECLEON, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.GLAMEOW, - Species.PURUGLY, - Species.HAPPINY, - Species.CHATOT, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.LICKILICKY, - Species.TOGEKISS, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.MIENFOO, - Species.MIENSHAO, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.SYLVEON, - Species.HAWLUCHA, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.TYPE_NULL, - Species.SILVALLY, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.LUNALA, - Species.BUZZWOLE, - Species.MARSHADOW, - Species.ZERAORA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.SIRFETCHD, - Species.CUFANT, - Species.COPPERAJAH, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.IRON_JUGULIS, - Species.IRON_LEAVES, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, + [MoveId.WORK_UP]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.TAUROS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.AIPOM, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.GIRAFARIG, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HERACROSS, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPINDA, + SpeciesId.ZANGOOSE, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.LICKILICKY, + SpeciesId.TOGEKISS, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.BUZZWOLE, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.SIRFETCHD, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_LEAVES, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "dusk", ], - Species.GALAR_MEOWTH, - Species.GALAR_FARFETCHD, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.PALDEA_TAUROS, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.PALDEA_TAUROS, ], - [Moves.ELECTROWEB]: [ - Species.CATERPIE, - Species.METAPOD, - Species.BUTTERFREE, - Species.WEEDLE, - Species.KAKUNA, - Species.BEEDRILL, - Species.PIKACHU, - Species.RAICHU, - Species.MAGNEMITE, - Species.MAGNETON, - Species.ELECTABUZZ, - Species.PORYGON, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.PORYGON2, - Species.ELEKID, - Species.WURMPLE, - Species.SILCOON, - Species.BEAUTIFLY, - Species.CASCOON, - Species.DUSTOX, - Species.PLUSLE, - Species.MINUN, - Species.BURMY, - Species.WORMADAM, - Species.MOTHIM, - Species.PACHIRISU, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.PORYGON_Z, - Species.ROTOM, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.STUNFISK, - Species.THUNDURUS, - Species.GENESECT, - Species.SPEWPA, - Species.VIVILLON, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.PASSIMIAN, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.PHEROMOSA, - Species.XURKITREE, - Species.MAGEARNA, - Species.ZERAORA, - Species.MORPEKO, - Species.REGIELEKI, - Species.SPIDOPS, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.SANDY_SHOCKS, - Species.IRON_THORNS, - Species.RAGING_BOLT, - Species.ALOLA_RAICHU, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, + [MoveId.ELECTROWEB]: [ + SpeciesId.CATERPIE, + SpeciesId.METAPOD, + SpeciesId.BUTTERFREE, + SpeciesId.WEEDLE, + SpeciesId.KAKUNA, + SpeciesId.BEEDRILL, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.ELECTABUZZ, + SpeciesId.PORYGON, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.PORYGON2, + SpeciesId.ELEKID, + SpeciesId.WURMPLE, + SpeciesId.SILCOON, + SpeciesId.BEAUTIFLY, + SpeciesId.CASCOON, + SpeciesId.DUSTOX, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.BURMY, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.PACHIRISU, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.PORYGON_Z, + SpeciesId.ROTOM, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.STUNFISK, + SpeciesId.THUNDURUS, + SpeciesId.GENESECT, + SpeciesId.SPEWPA, + SpeciesId.VIVILLON, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.PASSIMIAN, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.MAGEARNA, + SpeciesId.ZERAORA, + SpeciesId.MORPEKO, + SpeciesId.REGIELEKI, + SpeciesId.SPIDOPS, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_THORNS, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, ], - [Moves.WILD_CHARGE]: [ - Species.RATTATA, - Species.RATICATE, - Species.PIKACHU, - Species.RAICHU, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.CHANSEY, - Species.ELECTABUZZ, - Species.TAUROS, - Species.JOLTEON, - Species.SNORLAX, - Species.ZAPDOS, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.IGGLYBUFF, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.DUNSPARCE, - Species.SNUBBULL, - Species.GRANBULL, - Species.STANTLER, - Species.ELEKID, - Species.BLISSEY, - Species.RAIKOU, - Species.SLAKING, - Species.SKITTY, - Species.DELCATTY, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.SPINDA, - Species.RAYQUAZA, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.ARCEUS, - Species.VICTINI, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.AUDINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.BOUFFALANT, - Species.LARVESTA, - Species.VOLCARONA, - Species.THUNDURUS, - Species.ZEKROM, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.LITLEO, - Species.PYROAR, - Species.SKIDDO, - Species.GOGOAT, - Species.FURFROU, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.NOIBAT, - Species.NOIVERN, - Species.VOLCANION, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.SOLGALEO, - Species.XURKITREE, - Species.ZERAORA, - Species.GREEDENT, - Species.WOOLOO, - Species.DUBWOOL, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.PINCURCHIN, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.REGIELEKI, - Species.WYRDEER, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MABOSSTIFF, - Species.CYCLIZAR, - Species.DUDUNSPARCE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.KORAIDON, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.TERAPAGOS, - Species.ALOLA_RAICHU, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.PALDEA_TAUROS, + [MoveId.WILD_CHARGE]: [ + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.CHANSEY, + SpeciesId.ELECTABUZZ, + SpeciesId.TAUROS, + SpeciesId.JOLTEON, + SpeciesId.SNORLAX, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.IGGLYBUFF, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.DUNSPARCE, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.STANTLER, + SpeciesId.ELEKID, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.SLAKING, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.SPINDA, + SpeciesId.RAYQUAZA, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.AUDINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.BOUFFALANT, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.FURFROU, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.VOLCANION, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.SOLGALEO, + SpeciesId.XURKITREE, + SpeciesId.ZERAORA, + SpeciesId.GREEDENT, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.REGIELEKI, + SpeciesId.WYRDEER, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MABOSSTIFF, + SpeciesId.CYCLIZAR, + SpeciesId.DUDUNSPARCE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.PALDEA_TAUROS, ], - [Moves.DRILL_RUN]: [ - Species.BEEDRILL, - Species.SPEAROW, - Species.FEAROW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.RAPIDASH, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.CLOYSTER, - Species.ONIX, - Species.RHYHORN, - Species.RHYDON, - Species.GOLDEEN, - Species.SEAKING, - Species.LAPRAS, - Species.MEW, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.STEELIX, - Species.SKARMORY, - Species.DELIBIRD, - Species.HITMONTOP, - Species.BALTOY, - Species.CLAYDOL, - Species.RHYPERIOR, - Species.SAMUROTT, - Species.DRILBUR, - Species.EXCADRILL, - Species.KARRABLAST, - Species.ESCAVALIER, + [MoveId.DRILL_RUN]: [ + SpeciesId.BEEDRILL, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.RAPIDASH, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.CLOYSTER, + SpeciesId.ONIX, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.LAPRAS, + SpeciesId.MEW, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.STEELIX, + SpeciesId.SKARMORY, + SpeciesId.DELIBIRD, + SpeciesId.HITMONTOP, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.RHYPERIOR, + SpeciesId.SAMUROTT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midday", "dusk", ], - Species.GOLISOPOD, - Species.PHEROMOSA, - Species.SILICOBRA, - Species.SANDACONDA, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.BOMBIRDIER, - Species.VELUZA, - Species.DUDUNSPARCE, - Species.ALOLA_SANDSLASH, - Species.GALAR_RAPIDASH, - Species.HISUI_SAMUROTT, - Species.PALDEA_TAUROS, + SpeciesId.GOLISOPOD, + SpeciesId.PHEROMOSA, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.BOMBIRDIER, + SpeciesId.VELUZA, + SpeciesId.DUDUNSPARCE, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.PALDEA_TAUROS, ], - [Moves.RAZOR_SHELL]: [ - Species.SLOWBRO, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.KABUTOPS, - Species.MEW, - Species.SLOWKING, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.CARRACOSTA, - Species.ESCAVALIER, - Species.BINACLE, - Species.BARBARACLE, - Species.GOLISOPOD, - Species.DREDNAW, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.HISUI_SAMUROTT, + [MoveId.RAZOR_SHELL]: [ + SpeciesId.SLOWBRO, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.SLOWKING, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.CARRACOSTA, + SpeciesId.ESCAVALIER, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.GOLISOPOD, + SpeciesId.DREDNAW, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.HEAT_CRASH]: [ - Species.CHARIZARD, - Species.ARCANINE, - Species.RHYDON, - Species.SNORLAX, - Species.MEW, - Species.SLUGMA, - Species.MAGCARGO, - Species.BLAZIKEN, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.GROUDON, - Species.RHYPERIOR, - Species.MAGMORTAR, - Species.HEATRAN, - Species.REGIGIGAS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.GOLURK, - Species.RESHIRAM, - Species.VOLCANION, - Species.INCINEROAR, - Species.TURTONATOR, - Species.SOLGALEO, - Species.GUZZLORD, - Species.STAKATAKA, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.STONJOURNER, - Species.COPPERAJAH, - Species.SKELEDIRGE, - Species.SLITHER_WING, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.TERAPAGOS, - Species.HISUI_ARCANINE, + [MoveId.HEAT_CRASH]: [ + SpeciesId.CHARIZARD, + SpeciesId.ARCANINE, + SpeciesId.RHYDON, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.BLAZIKEN, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GROUDON, + SpeciesId.RHYPERIOR, + SpeciesId.MAGMORTAR, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.GOLURK, + SpeciesId.RESHIRAM, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.TURTONATOR, + SpeciesId.SOLGALEO, + SpeciesId.GUZZLORD, + SpeciesId.STAKATAKA, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.STONJOURNER, + SpeciesId.COPPERAJAH, + SpeciesId.SKELEDIRGE, + SpeciesId.SLITHER_WING, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.TERAPAGOS, + SpeciesId.HISUI_ARCANINE, ], - [Moves.TAIL_SLAP]: [ - Species.VULPIX, - Species.NINETALES, - Species.MEW, - Species.AIPOM, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.STUNKY, - Species.SKUNTANK, - Species.MINCCINO, - Species.CINCCINO, - Species.MEOWSTIC, + [MoveId.TAIL_SLAP]: [ + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.MEW, + SpeciesId.AIPOM, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.MEOWSTIC, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midday", "dusk", ], - Species.SKWOVET, - Species.GREEDENT, - Species.NICKIT, - Species.THIEVUL, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.FEZANDIPITI, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, ], - [Moves.HURRICANE]: [ - Species.CHARIZARD, - Species.BUTTERFREE, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.GYARADOS, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.MURKROW, - Species.MANTINE, - Species.KINGDRA, - Species.LUGIA, - Species.SHIFTRY, - Species.TAILLOW, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.SWABLU, - Species.ALTARIA, - Species.CASTFORM, - Species.TROPIUS, - Species.SALAMENCE, - Species.RAYQUAZA, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.VESPIQUEN, - Species.HONCHKROW, - Species.ARCEUS, - Species.UNFEZANT, - Species.WHIMSICOTT, - Species.DUCKLETT, - Species.SWANNA, - Species.RUFFLET, - Species.BRAVIARY, - Species.MANDIBUZZ, - Species.VOLCARONA, - Species.TORNADUS, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.DECIDUEYE, - Species.ORICORIO, - Species.DRAMPA, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.SANDACONDA, - Species.CRAMORANT, - Species.FROSMOTH, - Species.QUAQUAVAL, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.DUDUNSPARCE, - Species.SLITHER_WING, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.ROARING_MOON, - Species.WALKING_WAKE, - Species.FEZANDIPITI, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_LILLIGANT, - Species.HISUI_BRAVIARY, + [MoveId.HURRICANE]: [ + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.GYARADOS, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.MURKROW, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.LUGIA, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.CASTFORM, + SpeciesId.TROPIUS, + SpeciesId.SALAMENCE, + SpeciesId.RAYQUAZA, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.VESPIQUEN, + SpeciesId.HONCHKROW, + SpeciesId.ARCEUS, + SpeciesId.UNFEZANT, + SpeciesId.WHIMSICOTT, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.MANDIBUZZ, + SpeciesId.VOLCARONA, + SpeciesId.TORNADUS, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.DECIDUEYE, + SpeciesId.ORICORIO, + SpeciesId.DRAMPA, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.FROSMOTH, + SpeciesId.QUAQUAVAL, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.DUDUNSPARCE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.ROARING_MOON, + SpeciesId.WALKING_WAKE, + SpeciesId.FEZANDIPITI, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.SNARL]: [ - Species.EKANS, - Species.ARBOK, - Species.VULPIX, - Species.NINETALES, - Species.MEOWTH, - Species.PERSIAN, - Species.GROWLITHE, - Species.ARCANINE, - Species.MEW, - Species.UMBREON, - Species.MURKROW, - Species.SNUBBULL, - Species.GRANBULL, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SABLEYE, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.CARVANHA, - Species.SHARPEDO, - Species.SPOINK, - Species.GRUMPIG, - Species.SEVIPER, - Species.CRAWDAUNT, - Species.CHIMECHO, - Species.ABSOL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.FLOATZEL, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.SPIRITOMB, - Species.DRAPION, - Species.WEAVILE, - Species.DARKRAI, - Species.ARCEUS, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ZORUA, - Species.ZOROARK, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.VULLABY, - Species.MANDIBUZZ, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.THUNDURUS, - Species.LITLEO, - Species.PYROAR, - Species.PANGORO, - Species.FURFROU, - Species.YVELTAL, - Species.INCINEROAR, - Species.ROCKRUFF, - Species.LYCANROC, - Species.GOLISOPOD, - Species.SILVALLY, - Species.DRAMPA, - Species.TAPU_BULU, - Species.SOLGALEO, - Species.GUZZLORD, - Species.NAGANADEL, - Species.ZERAORA, - Species.RILLABOOM, - Species.CINDERACE, - Species.NICKIT, - Species.THIEVUL, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.OBSTAGOON, - Species.MORPEKO, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.BOMBIRDIER, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.KINGAMBIT, - Species.IRON_JUGULIS, - Species.IRON_THORNS, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.HISUI_ARCANINE, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.BLOODMOON_URSALUNA, + [MoveId.SNARL]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.MEW, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SABLEYE, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SEVIPER, + SpeciesId.CRAWDAUNT, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.FLOATZEL, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SPIRITOMB, + SpeciesId.DRAPION, + SpeciesId.WEAVILE, + SpeciesId.DARKRAI, + SpeciesId.ARCEUS, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.THUNDURUS, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.YVELTAL, + SpeciesId.INCINEROAR, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.GOLISOPOD, + SpeciesId.SILVALLY, + SpeciesId.DRAMPA, + SpeciesId.TAPU_BULU, + SpeciesId.SOLGALEO, + SpeciesId.GUZZLORD, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.OBSTAGOON, + SpeciesId.MORPEKO, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.BOMBIRDIER, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_THORNS, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.BLOODMOON_URSALUNA, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "single-strike", ], ], - [Moves.PHANTOM_FORCE]: [ - Species.HAUNTER, - Species.GENGAR, - Species.MEW, - Species.MISDREAVUS, - Species.SHEDINJA, - Species.SABLEYE, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.MISMAGIUS, - Species.SPIRITOMB, - Species.DUSKNOIR, - Species.GIRATINA, - Species.ARCEUS, - Species.COFAGRIGUS, - Species.GOLETT, - Species.GOLURK, - Species.PHANTUMP, - Species.TREVENANT, - Species.GOURGEIST, - Species.YVELTAL, - Species.HOOPA, - Species.DECIDUEYE, - Species.MIMIKYU, - Species.DHELMISE, - Species.LUNALA, - Species.MARSHADOW, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.RUNERIGUS, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.SPECTRIER, - Species.BASCULEGION, - Species.CERULEDGE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.ANNIHILAPE, - Species.FLUTTER_MANE, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.PECHARUNT, + [MoveId.PHANTOM_FORCE]: [ + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.MEW, + SpeciesId.MISDREAVUS, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.MISMAGIUS, + SpeciesId.SPIRITOMB, + SpeciesId.DUSKNOIR, + SpeciesId.GIRATINA, + SpeciesId.ARCEUS, + SpeciesId.COFAGRIGUS, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.GOURGEIST, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.DECIDUEYE, + SpeciesId.MIMIKYU, + SpeciesId.DHELMISE, + SpeciesId.LUNALA, + SpeciesId.MARSHADOW, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.RUNERIGUS, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.SPECTRIER, + SpeciesId.BASCULEGION, + SpeciesId.CERULEDGE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.ANNIHILAPE, + SpeciesId.FLUTTER_MANE, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.PECHARUNT, [ - Species.CALYREX, + SpeciesId.CALYREX, "shadow", ], - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.PETAL_BLIZZARD]: [ - Species.VENUSAUR, - Species.GLOOM, - Species.VILEPLUME, - Species.MEW, - Species.MEGANIUM, - Species.BELLOSSOM, - Species.SUNFLORA, - Species.SHIFTRY, - Species.ROSELIA, - Species.TROPIUS, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.SHAYMIN, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.LILLIGANT, - Species.MARACTUS, - Species.SAWSBUCK, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.FOMANTIS, - Species.LURANTIS, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ZARUDE, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.ARBOLIVA, - Species.ETERNAL_FLOETTE, - Species.HISUI_LILLIGANT, + [MoveId.PETAL_BLIZZARD]: [ + SpeciesId.VENUSAUR, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.BELLOSSOM, + SpeciesId.SUNFLORA, + SpeciesId.SHIFTRY, + SpeciesId.ROSELIA, + SpeciesId.TROPIUS, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHAYMIN, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.SAWSBUCK, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ZARUDE, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.ARBOLIVA, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.HISUI_LILLIGANT, ], - [Moves.DISARMING_VOICE]: [ - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.CHANSEY, - Species.MEW, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.MARILL, - Species.AZUMARILL, - Species.BLISSEY, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.WHISMUR, - Species.SKITTY, - Species.DELCATTY, - Species.ILLUMISE, - Species.SWABLU, - Species.ALTARIA, - Species.MILOTIC, - Species.CHIMECHO, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.HAPPINY, - Species.GALLADE, - Species.PANSAGE, - Species.PANSEAR, - Species.PANPOUR, - Species.AUDINO, - Species.DUCKLETT, - Species.SWANNA, - Species.MELOETTA, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SYLVEON, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.TOGEDEMARU, - Species.TAPU_FINI, - Species.MAGEARNA, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.INDEEDEE, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.FLITTLE, - Species.ESPATHRA, - Species.FINIZEN, - Species.PALAFIN, - Species.FLUTTER_MANE, - Species.FEZANDIPITI, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ETERNAL_FLOETTE, + [MoveId.DISARMING_VOICE]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.CHANSEY, + SpeciesId.MEW, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.BLISSEY, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.WHISMUR, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.ILLUMISE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.MILOTIC, + SpeciesId.CHIMECHO, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.HAPPINY, + SpeciesId.GALLADE, + SpeciesId.PANSAGE, + SpeciesId.PANSEAR, + SpeciesId.PANPOUR, + SpeciesId.AUDINO, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.MELOETTA, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SYLVEON, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_FINI, + SpeciesId.MAGEARNA, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.INDEEDEE, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.FLUTTER_MANE, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ETERNAL_FLOETTE, ], - [Moves.DRAINING_KISS]: [ - Species.BUTTERFREE, - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DROWZEE, - Species.HYPNO, - Species.JYNX, - Species.MEW, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.MARILL, - Species.AZUMARILL, - Species.ESPEON, - Species.MISDREAVUS, - Species.SMOOCHUM, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.AZURILL, - Species.MAWILE, - Species.ILLUMISE, - Species.MILOTIC, - Species.CHIMECHO, - Species.GOREBYSS, - Species.LUVDISC, - Species.LATIAS, - Species.CHERUBI, - Species.CHERRIM, - Species.MISMAGIUS, - Species.TOGEKISS, - Species.GALLADE, - Species.FROSLASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.AUDINO, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.SYLVEON, - Species.DEDENNE, - Species.KLEFKI, - Species.XERNEAS, - Species.DIANCIE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.MIMIKYU, - Species.TAPU_LELE, - Species.TAPU_FINI, - Species.MAGEARNA, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.MILCERY, - Species.ALCREMIE, - Species.INDEEDEE, - Species.SPECTRIER, - Species.CALYREX, - Species.ENAMORUS, - Species.DACHSBUN, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.FINIZEN, - Species.PALAFIN, - Species.FLUTTER_MANE, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ETERNAL_FLOETTE, + [MoveId.DRAINING_KISS]: [ + SpeciesId.BUTTERFREE, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.JYNX, + SpeciesId.MEW, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.ESPEON, + SpeciesId.MISDREAVUS, + SpeciesId.SMOOCHUM, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.AZURILL, + SpeciesId.MAWILE, + SpeciesId.ILLUMISE, + SpeciesId.MILOTIC, + SpeciesId.CHIMECHO, + SpeciesId.GOREBYSS, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.MISMAGIUS, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.FROSLASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.AUDINO, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.KLEFKI, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.MIMIKYU, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_FINI, + SpeciesId.MAGEARNA, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.ENAMORUS, + SpeciesId.DACHSBUN, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.FLUTTER_MANE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ETERNAL_FLOETTE, ], - [Moves.GRASSY_TERRAIN]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MEW, - Species.CHIKORITA, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNKERN, - Species.SUNFLORA, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.SHROOMISH, - Species.BRELOOM, - Species.CACNEA, - Species.CACTURNE, - Species.CRADILY, - Species.TROPIUS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.TANGROWTH, - Species.ARCEUS, - Species.SNIVY, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.LILLIGANT, - Species.MARACTUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.FOONGUS, - Species.AMOONGUSS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PHANTUMP, - Species.TREVENANT, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.FOMANTIS, - Species.LURANTIS, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.TAPU_BULU, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.FLAPPLE, - Species.APPLETUN, - Species.ZARUDE, - Species.CALYREX, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.BRUTE_BONNET, - Species.WO_CHIEN, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OGERPON, - Species.HYDRAPPLE, - Species.ALOLA_EXEGGUTOR, - Species.ETERNAL_FLOETTE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + [MoveId.GRASSY_TERRAIN]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.CRADILY, + SpeciesId.TROPIUS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.TANGROWTH, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.TAPU_BULU, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.BRUTE_BONNET, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.MISTY_TERRAIN]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MR_MIME, - Species.MEW, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.MARILL, - Species.AZUMARILL, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MAWILE, - Species.MIME_JR, - Species.GALLADE, - Species.ARCEUS, - Species.AUDINO, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.ALOMOMOLA, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, + [MoveId.MISTY_TERRAIN]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MR_MIME, + SpeciesId.MEW, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MAWILE, + SpeciesId.MIME_JR, + SpeciesId.GALLADE, + SpeciesId.ARCEUS, + SpeciesId.AUDINO, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.ALOMOMOLA, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, [ - Species.MEOWSTIC, + SpeciesId.MEOWSTIC, "male", ], - Species.SPRITZEE, - Species.AROMATISSE, - Species.SYLVEON, - Species.DEDENNE, - Species.CARBINK, - Species.KLEFKI, - Species.XERNEAS, - Species.VOLCANION, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.MIMIKYU, - Species.TAPU_FINI, - Species.MAGEARNA, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.MR_RIME, - Species.MILCERY, - Species.ALCREMIE, - Species.ZACIAN, - Species.ENAMORUS, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_VALIANT, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ETERNAL_FLOETTE, - Species.GALAR_RAPIDASH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.XERNEAS, + SpeciesId.VOLCANION, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.MIMIKYU, + SpeciesId.TAPU_FINI, + SpeciesId.MAGEARNA, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.MR_RIME, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.ZACIAN, + SpeciesId.ENAMORUS, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_VALIANT, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, ], - [Moves.PLAY_ROUGH]: [ - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.GROWLITHE, - Species.ARCANINE, - Species.PONYTA, - Species.RAPIDASH, - Species.DEWGONG, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SENTRET, - Species.FURRET, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SNUBBULL, - Species.GRANBULL, - Species.TEDDIURSA, - Species.URSARING, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.LINOONE, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.SKITTY, - Species.DELCATTY, - Species.MAWILE, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SWABLU, - Species.ALTARIA, - Species.ABSOL, - Species.JIRACHI, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.CHERRIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.GLAMEOW, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.TOGEKISS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.SHAYMIN, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.WHIMSICOTT, - Species.MINCCINO, - Species.CINCCINO, - Species.DEERLING, - Species.SAWSBUCK, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.MELOETTA, - Species.SKIDDO, - Species.GOGOAT, - Species.ESPURR, - Species.MEOWSTIC, - Species.SWIRLIX, - Species.SLURPUFF, - Species.SKRELP, - Species.DRAGALGE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.SYLVEON, - Species.DEDENNE, - Species.KLEFKI, - Species.XERNEAS, - Species.DIANCIE, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.KOMALA, - Species.MIMIKYU, - Species.DRAMPA, - Species.TAPU_LELE, - Species.TAPU_FINI, - Species.MAGEARNA, - Species.ZERAORA, - Species.NICKIT, - Species.THIEVUL, - Species.YAMPER, - Species.BOLTUND, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.ALCREMIE, - Species.FROSMOTH, - Species.INDEEDEE, - Species.CUFANT, - Species.COPPERAJAH, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.URSALUNA, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.LECHONK, - Species.OINKOLOGNE, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ALOLA_RAICHU, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_WEEZING, - Species.HISUI_TYPHLOSION, + [MoveId.PLAY_ROUGH]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.DEWGONG, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.LINOONE, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.MAWILE, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ABSOL, + SpeciesId.JIRACHI, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.CHERRIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.TOGEKISS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.SHAYMIN, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.WHIMSICOTT, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MELOETTA, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.KLEFKI, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_FINI, + SpeciesId.MAGEARNA, + SpeciesId.ZERAORA, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.ALCREMIE, + SpeciesId.FROSMOTH, + SpeciesId.INDEEDEE, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.URSALUNA, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_WEEZING, + SpeciesId.HISUI_TYPHLOSION, ], - [Moves.CONFIDE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.BUTTERFREE, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.PYUKUMUKU, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.BLACEPHALON, - Species.ZERAORA, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, + [MoveId.CONFIDE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.PYUKUMUKU, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, ], - [Moves.MYSTICAL_FIRE]: [ - Species.CHARIZARD, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.PONYTA, - Species.RAPIDASH, - Species.MR_MIME, - Species.FLAREON, - Species.MOLTRES, - Species.MEW, - Species.TOGEPI, - Species.TOGETIC, - Species.HO_OH, - Species.RALTS, - Species.GARDEVOIR, - Species.LATIAS, - Species.LATIOS, - Species.MISMAGIUS, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.VICTINI, - Species.DARMANITAN, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.VOLCARONA, - Species.RESHIRAM, - Species.DELPHOX, - Species.SYLVEON, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DIANCIE, - Species.SOLGALEO, - Species.BLACEPHALON, - Species.CENTISKORCH, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.ALCREMIE, - Species.INDEEDEE, - Species.ETERNATUS, - Species.ENAMORUS, - Species.ARMAROUGE, - Species.FLUTTER_MANE, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, + [MoveId.MYSTICAL_FIRE]: [ + SpeciesId.CHARIZARD, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.MR_MIME, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.HO_OH, + SpeciesId.RALTS, + SpeciesId.GARDEVOIR, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.MISMAGIUS, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.VICTINI, + SpeciesId.DARMANITAN, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.DELPHOX, + SpeciesId.SYLVEON, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DIANCIE, + SpeciesId.SOLGALEO, + SpeciesId.BLACEPHALON, + SpeciesId.CENTISKORCH, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.ALCREMIE, + SpeciesId.INDEEDEE, + SpeciesId.ETERNATUS, + SpeciesId.ENAMORUS, + SpeciesId.ARMAROUGE, + SpeciesId.FLUTTER_MANE, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, ], - [Moves.EERIE_IMPULSE]: [ - Species.PIKACHU, - Species.RAICHU, - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.JOLTEON, - Species.PORYGON, - Species.ZAPDOS, - Species.MEW, - Species.LANTURN, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.WOOPER, - Species.QUAGSIRE, - Species.PORYGON2, - Species.RAIKOU, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.BALTOY, - Species.CLAYDOL, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.MAGNEZONE, - Species.PORYGON_Z, - Species.ROTOM, - Species.EMOLGA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.STUNFISK, - Species.THUNDURUS, - Species.HELIOLISK, - Species.DEDENNE, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.XURKITREE, - Species.MAGEARNA, - Species.BOLTUND, - Species.TOXTRICITY, - Species.MORPEKO, - Species.REGIELEKI, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.SANDY_SHOCKS, - Species.IRON_THORNS, - Species.MIRAIDON, - Species.RAGING_BOLT, - Species.ALOLA_RAICHU, + [MoveId.EERIE_IMPULSE]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.JOLTEON, + SpeciesId.PORYGON, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.LANTURN, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.PORYGON2, + SpeciesId.RAIKOU, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.MAGNEZONE, + SpeciesId.PORYGON_Z, + SpeciesId.ROTOM, + SpeciesId.EMOLGA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.STUNFISK, + SpeciesId.THUNDURUS, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.XURKITREE, + SpeciesId.MAGEARNA, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.MORPEKO, + SpeciesId.REGIELEKI, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_THORNS, + SpeciesId.MIRAIDON, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RAICHU, ], - [Moves.VENOM_DRENCH]: [ - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.ZUBAT, - Species.GOLBAT, - Species.TENTACRUEL, - Species.KOFFING, - Species.WEEZING, - Species.MEW, - Species.CROBAT, - Species.QWILFISH, - Species.ROSERADE, - Species.STUNKY, - Species.SKUNTANK, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WOOBAT, - Species.SWOOBAT, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.TRUBBISH, - Species.GARBODOR, - Species.ACCELGOR, - Species.SKRELP, - Species.DRAGALGE, - Species.PHANTUMP, - Species.TREVENANT, - Species.MAREANIE, - Species.TOXAPEX, - Species.SALANDIT, - Species.SALAZZLE, - Species.PYUKUMUKU, - Species.NIHILEGO, - Species.POIPOLE, - Species.NAGANADEL, - Species.PINCURCHIN, - Species.ETERNATUS, - Species.GALAR_WEEZING, - Species.GALAR_SLOWKING, + [MoveId.VENOM_DRENCH]: [ + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.TENTACRUEL, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MEW, + SpeciesId.CROBAT, + SpeciesId.QWILFISH, + SpeciesId.ROSERADE, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ACCELGOR, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.PYUKUMUKU, + SpeciesId.NIHILEGO, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.PINCURCHIN, + SpeciesId.ETERNATUS, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_SLOWKING, [ - Species.TOXTRICITY, + SpeciesId.TOXTRICITY, "low-key", ], ], - [Moves.ELECTRIC_TERRAIN]: [ - Species.PIKACHU, - Species.RAICHU, - Species.MAGNEMITE, - Species.MAGNETON, - Species.VOLTORB, - Species.ELECTRODE, - Species.CHANSEY, - Species.JOLTEON, - Species.ZAPDOS, - Species.MEW, - Species.PICHU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BLISSEY, - Species.RAIKOU, - Species.MANECTRIC, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.PACHIRISU, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.ROTOM, - Species.ARCEUS, - Species.KLINKLANG, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.STUNFISK, - Species.THUNDURUS, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.TOGEDEMARU, - Species.TAPU_KOKO, - Species.XURKITREE, - Species.ZERAORA, - Species.MELMETAL, - Species.BOLTUND, - Species.TOXTRICITY, - Species.PINCURCHIN, - Species.MORPEKO, - Species.REGIELEKI, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, + [MoveId.ELECTRIC_TERRAIN]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.CHANSEY, + SpeciesId.JOLTEON, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.PICHU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.MANECTRIC, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.PACHIRISU, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.ROTOM, + SpeciesId.ARCEUS, + SpeciesId.KLINKLANG, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.STUNFISK, + SpeciesId.THUNDURUS, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.TOGEDEMARU, + SpeciesId.TAPU_KOKO, + SpeciesId.XURKITREE, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.REGIELEKI, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.DAZZLING_GLEAM]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CHANSEY, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.SUNFLORA, - Species.ESPEON, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.SNUBBULL, - Species.GRANBULL, - Species.BLISSEY, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.NOSEPASS, - Species.SABLEYE, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.SPOINK, - Species.GRUMPIG, - Species.SWABLU, - Species.ALTARIA, - Species.BALTOY, - Species.CLAYDOL, - Species.SHUPPET, - Species.BANETTE, - Species.CHIMECHO, - Species.JIRACHI, - Species.BUDEW, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.MISMAGIUS, - Species.CHINGLING, - Species.MIME_JR, - Species.FINNEON, - Species.LUMINEON, - Species.TOGEKISS, - Species.GALLADE, - Species.PROBOPASS, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.AUDINO, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.SIGILYPH, - Species.MINCCINO, - Species.CINCCINO, - Species.FRILLISH, - Species.JELLICENT, - Species.MELOETTA, - Species.DELPHOX, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.SYLVEON, - Species.DEDENNE, - Species.CARBINK, - Species.KLEFKI, - Species.XERNEAS, - Species.DIANCIE, - Species.PRIMARINA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.MORELULL, - Species.SHIINOTIC, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.MINIOR, - Species.MIMIKYU, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.LUNALA, - Species.NIHILEGO, - Species.XURKITREE, - Species.MAGEARNA, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.MR_RIME, - Species.MILCERY, - Species.ALCREMIE, - Species.FROSMOTH, - Species.INDEEDEE, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ENAMORUS, - Species.FIDOUGH, - Species.DACHSBUN, - Species.ARBOLIVA, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.RABSCA, - Species.ESPATHRA, - Species.GLIMMET, - Species.GLIMMORA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.FLUTTER_MANE, - Species.IRON_MOTH, - Species.GHOLDENGO, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.FEZANDIPITI, - Species.TERAPAGOS, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ETERNAL_FLOETTE, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.HISUI_BRAVIARY, + [MoveId.DAZZLING_GLEAM]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CHANSEY, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.SUNFLORA, + SpeciesId.ESPEON, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.BLISSEY, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.NOSEPASS, + SpeciesId.SABLEYE, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.CHIMECHO, + SpeciesId.JIRACHI, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.MISMAGIUS, + SpeciesId.CHINGLING, + SpeciesId.MIME_JR, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.TOGEKISS, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.AUDINO, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.SIGILYPH, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.MELOETTA, + SpeciesId.DELPHOX, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.SYLVEON, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.KLEFKI, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.PRIMARINA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.MINIOR, + SpeciesId.MIMIKYU, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.MAGEARNA, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.MR_RIME, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FROSMOTH, + SpeciesId.INDEEDEE, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ENAMORUS, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.ARBOLIVA, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.RABSCA, + SpeciesId.ESPATHRA, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.FLUTTER_MANE, + SpeciesId.IRON_MOTH, + SpeciesId.GHOLDENGO, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.FEZANDIPITI, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.INFESTATION]: [ - Species.BUTTERFREE, - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.VENONAT, - Species.VENOMOTH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GRIMER, - Species.MUK, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.KOFFING, - Species.WEEZING, - Species.TANGELA, - Species.MR_MIME, - Species.MEW, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.WOOPER, - Species.QUAGSIRE, - Species.SHUCKLE, - Species.SLUGMA, - Species.MAGCARGO, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.SURSKIT, - Species.MASQUERAIN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.SEVIPER, - Species.LILEEP, - Species.CRADILY, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.HUNTAIL, - Species.GOREBYSS, - Species.KRICKETUNE, - Species.WORMADAM, - Species.MOTHIM, - Species.VESPIQUEN, - Species.SHELLOS, - Species.GASTRODON, - Species.MIME_JR, - Species.SPIRITOMB, - Species.SKORUPI, - Species.DRAPION, - Species.CARNIVINE, - Species.TANGROWTH, - Species.DUSKNOIR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TRUBBISH, - Species.GARBODOR, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.JOLTIK, - Species.GALVANTULA, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.DURANT, - Species.GENESECT, - Species.VIVILLON, - Species.PANGORO, - Species.BINACLE, - Species.BARBARACLE, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MIMIKYU, - Species.STAKATAKA, - Species.BLIPBUG, - Species.FROSMOTH, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.DIPPLIN, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, + [MoveId.INFESTATION]: [ + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.TANGELA, + SpeciesId.MR_MIME, + SpeciesId.MEW, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SHUCKLE, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.SEVIPER, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.KRICKETUNE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.VESPIQUEN, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.MIME_JR, + SpeciesId.SPIRITOMB, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CARNIVINE, + SpeciesId.TANGROWTH, + SpeciesId.DUSKNOIR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.DURANT, + SpeciesId.GENESECT, + SpeciesId.VIVILLON, + SpeciesId.PANGORO, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MIMIKYU, + SpeciesId.STAKATAKA, + SpeciesId.BLIPBUG, + SpeciesId.FROSMOTH, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.DIPPLIN, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, ], - [Moves.POWER_UP_PUNCH]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.GRIMER, - Species.MUK, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.RHYDON, - Species.CHANSEY, - Species.KANGASKHAN, - Species.MR_MIME, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.LEDYBA, - Species.LEDIAN, - Species.FLAAFFY, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.SNUBBULL, - Species.GRANBULL, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.DELIBIRD, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.SABLEYE, - Species.MAWILE, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.VOLBEAT, - Species.ILLUMISE, - Species.GULPIN, - Species.SWALOT, - Species.GRUMPIG, - Species.SPINDA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.ZANGOOSE, - Species.KECLEON, - Species.DUSCLOPS, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.JIRACHI, - Species.DEOXYS, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.KRICKETUNE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.BUIZEL, - Species.FLOATZEL, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.GALLADE, - Species.DUSKNOIR, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.REGIGIGAS, - Species.DARKRAI, - Species.VICTINI, - Species.PIGNITE, - Species.EMBOAR, - Species.WATCHOG, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.EELEKTROSS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.HEATMOR, - Species.MELOETTA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.PANCHAM, - Species.PANGORO, - Species.MEOWSTIC, - Species.BINACLE, - Species.BARBARACLE, - Species.HAWLUCHA, - Species.PHANTUMP, - Species.TREVENANT, - Species.HOOPA, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.BUZZWOLE, - Species.ZERAORA, - Species.TOXEL, - Species.TOXTRICITY, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.URSALUNA, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_MAROWAK, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, + [MoveId.POWER_UP_PUNCH]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.KANGASKHAN, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.DELIBIRD, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.ZANGOOSE, + SpeciesId.KECLEON, + SpeciesId.DUSCLOPS, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.KRICKETUNE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.GALLADE, + SpeciesId.DUSKNOIR, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.REGIGIGAS, + SpeciesId.DARKRAI, + SpeciesId.VICTINI, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.WATCHOG, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.EELEKTROSS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.HEATMOR, + SpeciesId.MELOETTA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.MEOWSTIC, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.HAWLUCHA, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.HOOPA, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.BUZZWOLE, + SpeciesId.ZERAORA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.URSALUNA, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, ], - [Moves.DARKEST_LARIAT]: [ - Species.POLIWRATH, - Species.MACHAMP, - Species.SNORLAX, - Species.MEW, - Species.SWAMPERT, - Species.ELECTIVIRE, - Species.DUSKNOIR, - Species.REGIGIGAS, - Species.KROOKODILE, - Species.GOLURK, - Species.PANGORO, - Species.INCINEROAR, - Species.BEWEAR, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.MELMETAL, - Species.RILLABOOM, - Species.GRIMMSNARL, - Species.URSHIFU, - Species.ZARUDE, + [MoveId.DARKEST_LARIAT]: [ + SpeciesId.POLIWRATH, + SpeciesId.MACHAMP, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.SWAMPERT, + SpeciesId.ELECTIVIRE, + SpeciesId.DUSKNOIR, + SpeciesId.REGIGIGAS, + SpeciesId.KROOKODILE, + SpeciesId.GOLURK, + SpeciesId.PANGORO, + SpeciesId.INCINEROAR, + SpeciesId.BEWEAR, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.GRIMMSNARL, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, ], - [Moves.HIGH_HORSEPOWER]: [ - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.DUGTRIO, - Species.POLIWRATH, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.ONIX, - Species.KINGLER, - Species.RHYHORN, - Species.RHYDON, - Species.PINSIR, - Species.TAUROS, - Species.SNORLAX, - Species.MEW, - Species.SUDOWOODO, - Species.QUAGSIRE, - Species.GIRAFARIG, - Species.GLIGAR, - Species.STEELIX, - Species.HERACROSS, - Species.URSARING, - Species.SLUGMA, - Species.SWINUB, - Species.PILOSWINE, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.PUPITAR, - Species.TYRANITAR, - Species.SWAMPERT, - Species.SLAKING, - Species.NOSEPASS, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.BARBOACH, - Species.WHISCASH, - Species.GROUDON, - Species.TORTERRA, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.RHYPERIOR, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.REGIGIGAS, - Species.PIGNITE, - Species.EMBOAR, - Species.ZEBSTRIKA, - Species.DRILBUR, - Species.EXCADRILL, - Species.GURDURR, - Species.CONKELDURR, - Species.KROOKODILE, - Species.SAWSBUCK, - Species.GOLURK, - Species.BOUFFALANT, - Species.TERRAKION, - Species.CHESNAUGHT, - Species.DIGGERSBY, - Species.GOGOAT, - Species.TYRANTRUM, - Species.AVALUGG, - Species.ZYGARDE, - Species.MUDBRAY, - Species.MUDSDALE, - Species.BEWEAR, - Species.TAPU_BULU, - Species.BUZZWOLE, - Species.GUZZLORD, - Species.STAKATAKA, - Species.MELMETAL, - Species.RILLABOOM, - Species.GREEDENT, - Species.DREDNAW, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.SANDACONDA, - Species.FALINKS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.GLASTRIER, - Species.WYRDEER, - Species.URSALUNA, - Species.OINKOLOGNE, - Species.KLAWF, - Species.REVAVROOM, - Species.ORTHWORM, - Species.CETODDLE, - Species.CETITAN, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.GREAT_TUSK, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.OKIDOGI, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, + [MoveId.HIGH_HORSEPOWER]: [ + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.DUGTRIO, + SpeciesId.POLIWRATH, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.ONIX, + SpeciesId.KINGLER, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.SUDOWOODO, + SpeciesId.QUAGSIRE, + SpeciesId.GIRAFARIG, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.HERACROSS, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.SWAMPERT, + SpeciesId.SLAKING, + SpeciesId.NOSEPASS, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.GROUDON, + SpeciesId.TORTERRA, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.REGIGIGAS, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.ZEBSTRIKA, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.KROOKODILE, + SpeciesId.SAWSBUCK, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.TERRAKION, + SpeciesId.CHESNAUGHT, + SpeciesId.DIGGERSBY, + SpeciesId.GOGOAT, + SpeciesId.TYRANTRUM, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.BEWEAR, + SpeciesId.TAPU_BULU, + SpeciesId.BUZZWOLE, + SpeciesId.GUZZLORD, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.GREEDENT, + SpeciesId.DREDNAW, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.GLASTRIER, + SpeciesId.WYRDEER, + SpeciesId.URSALUNA, + SpeciesId.OINKOLOGNE, + SpeciesId.KLAWF, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.GREAT_TUSK, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.SOLAR_BLADE]: [ - Species.PONYTA, - Species.RAPIDASH, - Species.FARFETCHD, - Species.MEW, - Species.CELEBI, - Species.GROVYLE, - Species.SCEPTILE, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TROPIUS, - Species.CHERRIM, - Species.TANGROWTH, - Species.LEAFEON, - Species.GALLADE, - Species.LILLIGANT, - Species.CRUSTLE, - Species.VIRIZION, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.DECIDUEYE, - Species.LURANTIS, - Species.TSAREENA, - Species.DHELMISE, - Species.KARTANA, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SIRFETCHD, - Species.ZACIAN, - Species.ZARUDE, - Species.CALYREX, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.CERULEDGE, - Species.WO_CHIEN, - Species.IRON_LEAVES, - Species.OGERPON, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.GALAR_FARFETCHD, - Species.HISUI_LILLIGANT, + [MoveId.SOLAR_BLADE]: [ + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.FARFETCHD, + SpeciesId.MEW, + SpeciesId.CELEBI, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TROPIUS, + SpeciesId.CHERRIM, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.GALLADE, + SpeciesId.LILLIGANT, + SpeciesId.CRUSTLE, + SpeciesId.VIRIZION, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.DECIDUEYE, + SpeciesId.LURANTIS, + SpeciesId.TSAREENA, + SpeciesId.DHELMISE, + SpeciesId.KARTANA, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SIRFETCHD, + SpeciesId.ZACIAN, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.CERULEDGE, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_LEAVES, + SpeciesId.OGERPON, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.HISUI_LILLIGANT, ], - [Moves.THROAT_CHOP]: [ - Species.BEEDRILL, - Species.RATICATE, - Species.FEAROW, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.PARASECT, - Species.MEOWTH, - Species.PERSIAN, - Species.PRIMEAPE, - Species.POLIWRATH, - Species.MACHAMP, - Species.RAPIDASH, - Species.FARFETCHD, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.GOLDEEN, - Species.SEAKING, - Species.PINSIR, - Species.TAUROS, - Species.MEW, - Species.TYPHLOSION, - Species.ARIADOS, - Species.UMBREON, - Species.GLIGAR, - Species.QWILFISH, - Species.HERACROSS, - Species.SNEASEL, - Species.URSARING, - Species.CORSOLA, - Species.HOUNDOOM, - Species.STANTLER, - Species.RAIKOU, - Species.SCEPTILE, - Species.MIGHTYENA, - Species.LINOONE, - Species.SHIFTRY, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.HARIYAMA, - Species.VIBRAVA, - Species.FLYGON, - Species.ZANGOOSE, - Species.SEVIPER, - Species.BANETTE, - Species.ABSOL, - Species.DEOXYS, - Species.EMPOLEON, - Species.KRICKETUNE, - Species.LUXRAY, - Species.PURUGLY, - Species.STUNKY, - Species.SKUNTANK, - Species.DRAPION, - Species.TOXICROAK, - Species.CARNIVINE, - Species.WEAVILE, - Species.GLISCOR, - Species.GALLADE, - Species.DARKRAI, - Species.LIEPARD, - Species.SIMISAGE, - Species.SIMISEAR, - Species.SIMIPOUR, - Species.GIGALITH, - Species.AUDINO, - Species.SAWK, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.KROOKODILE, - Species.MARACTUS, - Species.SCRAFTY, - Species.ZOROARK, - Species.GALVANTULA, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.BEARTIC, - Species.BISHARP, - Species.BOUFFALANT, - Species.HEATMOR, - Species.HYDREIGON, - Species.PANGORO, - Species.MALAMAR, - Species.HAWLUCHA, - Species.HOOPA, - Species.INCINEROAR, - Species.GOLISOPOD, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.NAGANADEL, - Species.ZERAORA, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXTRICITY, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.FALINKS, - Species.PINCURCHIN, - Species.ZARUDE, - Species.GLASTRIER, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.LOKIX, - Species.WIGLETT, - Species.WUGTRIO, - Species.FLAMIGO, - Species.CHIEN_PAO, - Species.TING_LU, - Species.ROARING_MOON, - Species.OGERPON, - Species.IRON_BOULDER, - Species.ALOLA_RATICATE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_MAROWAK, + [MoveId.THROAT_CHOP]: [ + SpeciesId.BEEDRILL, + SpeciesId.RATICATE, + SpeciesId.FEAROW, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.PARASECT, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PRIMEAPE, + SpeciesId.POLIWRATH, + SpeciesId.MACHAMP, + SpeciesId.RAPIDASH, + SpeciesId.FARFETCHD, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.ARIADOS, + SpeciesId.UMBREON, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.URSARING, + SpeciesId.CORSOLA, + SpeciesId.HOUNDOOM, + SpeciesId.STANTLER, + SpeciesId.RAIKOU, + SpeciesId.SCEPTILE, + SpeciesId.MIGHTYENA, + SpeciesId.LINOONE, + SpeciesId.SHIFTRY, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.HARIYAMA, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.BANETTE, + SpeciesId.ABSOL, + SpeciesId.DEOXYS, + SpeciesId.EMPOLEON, + SpeciesId.KRICKETUNE, + SpeciesId.LUXRAY, + SpeciesId.PURUGLY, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.DRAPION, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.WEAVILE, + SpeciesId.GLISCOR, + SpeciesId.GALLADE, + SpeciesId.DARKRAI, + SpeciesId.LIEPARD, + SpeciesId.SIMISAGE, + SpeciesId.SIMISEAR, + SpeciesId.SIMIPOUR, + SpeciesId.GIGALITH, + SpeciesId.AUDINO, + SpeciesId.SAWK, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.KROOKODILE, + SpeciesId.MARACTUS, + SpeciesId.SCRAFTY, + SpeciesId.ZOROARK, + SpeciesId.GALVANTULA, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.BEARTIC, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.HEATMOR, + SpeciesId.HYDREIGON, + SpeciesId.PANGORO, + SpeciesId.MALAMAR, + SpeciesId.HAWLUCHA, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.GOLISOPOD, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.NAGANADEL, + SpeciesId.ZERAORA, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXTRICITY, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FLAMIGO, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.OGERPON, + SpeciesId.IRON_BOULDER, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MAROWAK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_RAPIDASH, - Species.GALAR_FARFETCHD, - Species.GALAR_ZAPDOS, - Species.GALAR_CORSOLA, - Species.GALAR_LINOONE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_LINOONE, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "single-strike", ], [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], ], - [Moves.POLLEN_PUFF]: [ - Species.BUTTERFREE, - Species.GLOOM, - Species.VILEPLUME, - Species.MEW, - Species.BELLOSSOM, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.CELEBI, - Species.VESPIQUEN, - Species.CHERUBI, - Species.CHERRIM, - Species.LEAVANNY, - Species.PETILIL, - Species.LILLIGANT, - Species.FOONGUS, - Species.AMOONGUSS, - Species.VIVILLON, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.COMFEY, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.CALYREX, - Species.MEOWSCARADA, - Species.ARBOLIVA, - Species.BRUTE_BONNET, - Species.WO_CHIEN, - Species.DIPPLIN, - Species.HYDRAPPLE, - Species.ETERNAL_FLOETTE, - Species.HISUI_LILLIGANT, + [MoveId.POLLEN_PUFF]: [ + SpeciesId.BUTTERFREE, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.MEW, + SpeciesId.BELLOSSOM, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.CELEBI, + SpeciesId.VESPIQUEN, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.LEAVANNY, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.VIVILLON, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.COMFEY, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.CALYREX, + SpeciesId.MEOWSCARADA, + SpeciesId.ARBOLIVA, + SpeciesId.BRUTE_BONNET, + SpeciesId.WO_CHIEN, + SpeciesId.DIPPLIN, + SpeciesId.HYDRAPPLE, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.HISUI_LILLIGANT, ], - [Moves.PSYCHIC_TERRAIN]: [ - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.ESPEON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.LUNATONE, - Species.SOLROCK, - Species.BALTOY, - Species.CLAYDOL, - Species.BRONZOR, - Species.BRONZONG, - Species.MIME_JR, - Species.GALLADE, - Species.CRESSELIA, - Species.ARCEUS, - Species.MUSHARNA, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.BEHEEYEM, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.MEOWSTIC, - Species.HOOPA, - Species.ORANGURU, - Species.BRUXISH, - Species.TAPU_LELE, - Species.DOTTLER, - Species.ORBEETLE, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MR_RIME, - Species.INDEEDEE, - Species.CALYREX, - Species.ARMAROUGE, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.VELUZA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.MUNKIDORI, - Species.ALOLA_RAICHU, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_SLOWKING, - Species.HISUI_BRAVIARY, + [MoveId.PSYCHIC_TERRAIN]: [ + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MIME_JR, + SpeciesId.GALLADE, + SpeciesId.CRESSELIA, + SpeciesId.ARCEUS, + SpeciesId.MUSHARNA, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.BEHEEYEM, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.MEOWSTIC, + SpeciesId.HOOPA, + SpeciesId.ORANGURU, + SpeciesId.BRUXISH, + SpeciesId.TAPU_LELE, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.ARMAROUGE, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.VELUZA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.MUNKIDORI, + SpeciesId.ALOLA_RAICHU, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.LUNGE]: [ - Species.VENONAT, - Species.VENOMOTH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.DODUO, - Species.DODRIO, - Species.MUK, - Species.SCYTHER, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SCIZOR, - Species.HERACROSS, - Species.STANTLER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.VOLBEAT, - Species.SPOINK, - Species.GRUMPIG, - Species.CACTURNE, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.YANMEGA, - Species.GLISCOR, - Species.HEATRAN, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.JOLTIK, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.LARVESTA, - Species.VOLCARONA, - Species.HAWLUCHA, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.RIBOMBEE, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.FALINKS, - Species.SNOM, - Species.FROSMOTH, - Species.WYRDEER, - Species.KLEAVOR, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.LOKIX, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.RELLOR, - Species.RABSCA, - Species.FLAMIGO, - Species.TATSUGIRI, - Species.DUDUNSPARCE, - Species.SLITHER_WING, - Species.IRON_MOTH, + [MoveId.LUNGE]: [ + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.MUK, + SpeciesId.SCYTHER, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.STANTLER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.VOLBEAT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.CACTURNE, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.HEATRAN, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.JOLTIK, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.HAWLUCHA, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.RIBOMBEE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.FALINKS, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLAMIGO, + SpeciesId.TATSUGIRI, + SpeciesId.DUDUNSPARCE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_MOTH, ], - [Moves.SPEED_SWAP]: [ - Species.RAICHU, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.PORYGON, - Species.MEWTWO, - Species.MEW, - Species.PORYGON2, - Species.BRONZOR, - Species.BRONZONG, - Species.PORYGON_Z, - Species.VICTINI, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.TAPU_LELE, - Species.PHEROMOSA, - Species.MAGEARNA, - Species.CALYREX, - Species.RABSCA, - Species.ALOLA_RAICHU, + [MoveId.SPEED_SWAP]: [ + SpeciesId.RAICHU, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.PORYGON, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.PORYGON2, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.PORYGON_Z, + SpeciesId.VICTINI, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.TAPU_LELE, + SpeciesId.PHEROMOSA, + SpeciesId.MAGEARNA, + SpeciesId.CALYREX, + SpeciesId.RABSCA, + SpeciesId.ALOLA_RAICHU, ], - [Moves.SMART_STRIKE]: [ - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.RAPIDASH, - Species.SEEL, - Species.DEWGONG, - Species.CLOYSTER, - Species.RHYHORN, - Species.RHYDON, - Species.GOLDEEN, - Species.SEAKING, - Species.TAUROS, - Species.LAPRAS, - Species.MEW, - Species.ARIADOS, - Species.TOGETIC, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.HERACROSS, - Species.DONPHAN, - Species.AGGRON, - Species.RHYPERIOR, - Species.TOGEKISS, - Species.SAMUROTT, - Species.EXCADRILL, - Species.SCOLIPEDE, - Species.SAWSBUCK, - Species.ESCAVALIER, - Species.BOUFFALANT, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.THUNDURUS, - Species.KELDEO, - Species.XERNEAS, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.CELESTEELA, - Species.KARTANA, - Species.NECROZMA, - Species.NAGANADEL, - Species.DREDNAW, - Species.FALINKS, - Species.GLASTRIER, - Species.OVERQWIL, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.IRON_LEAVES, - Species.GOUGING_FIRE, - Species.IRON_CROWN, - Species.GALAR_RAPIDASH, + [MoveId.SMART_STRIKE]: [ + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.RAPIDASH, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.CLOYSTER, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.TAUROS, + SpeciesId.LAPRAS, + SpeciesId.MEW, + SpeciesId.ARIADOS, + SpeciesId.TOGETIC, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.HERACROSS, + SpeciesId.DONPHAN, + SpeciesId.AGGRON, + SpeciesId.RHYPERIOR, + SpeciesId.TOGEKISS, + SpeciesId.SAMUROTT, + SpeciesId.EXCADRILL, + SpeciesId.SCOLIPEDE, + SpeciesId.SAWSBUCK, + SpeciesId.ESCAVALIER, + SpeciesId.BOUFFALANT, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.THUNDURUS, + SpeciesId.KELDEO, + SpeciesId.XERNEAS, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.DREDNAW, + SpeciesId.FALINKS, + SpeciesId.GLASTRIER, + SpeciesId.OVERQWIL, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_LEAVES, + SpeciesId.GOUGING_FIRE, + SpeciesId.IRON_CROWN, + SpeciesId.GALAR_RAPIDASH, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_SAMUROTT, - Species.PALDEA_TAUROS, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.PALDEA_TAUROS, ], - [Moves.BRUTAL_SWING]: [ - Species.CHARIZARD, - Species.BEEDRILL, - Species.EKANS, - Species.ARBOK, - Species.RAICHU, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.FARFETCHD, - Species.ONIX, - Species.KINGLER, - Species.CUBONE, - Species.MAROWAK, - Species.LICKITUNG, - Species.RHYDON, - Species.SCYTHER, - Species.PINSIR, - Species.GYARADOS, - Species.AERODACTYL, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.SENTRET, - Species.FURRET, - Species.AMPHAROS, - Species.MARILL, - Species.AZUMARILL, - Species.STEELIX, - Species.SCIZOR, - Species.HERACROSS, - Species.DELIBIRD, - Species.DONPHAN, - Species.HITMONTOP, - Species.TYRANITAR, - Species.SCEPTILE, - Species.SHIFTRY, - Species.AZURILL, - Species.MAWILE, - Species.AGGRON, - Species.FLYGON, - Species.SEVIPER, - Species.ARMALDO, - Species.MILOTIC, - Species.TROPIUS, - Species.ABSOL, - Species.SALAMENCE, - Species.METAGROSS, - Species.GROUDON, - Species.RAYQUAZA, - Species.DEOXYS, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.LOPUNNY, - Species.GARCHOMP, - Species.DRAPION, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.GLISCOR, - Species.GIRATINA, - Species.SERPERIOR, - Species.EXCADRILL, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.KROKOROK, - Species.KROOKODILE, - Species.ESCAVALIER, - Species.FERROTHORN, - Species.HAXORUS, - Species.MIENSHAO, - Species.HEATMOR, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.GRENINJA, - Species.DIGGERSBY, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.MALAMAR, - Species.BARBARACLE, - Species.HELIOLISK, - Species.TYRANTRUM, - Species.GOODRA, - Species.TREVENANT, - Species.GOURGEIST, - Species.INCINEROAR, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.STUFFUL, - Species.BEWEAR, - Species.ORANGURU, - Species.PASSIMIAN, - Species.TURTONATOR, - Species.DHELMISE, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_BULU, - Species.NIHILEGO, - Species.XURKITREE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.NECROZMA, - Species.STAKATAKA, - Species.ZERAORA, - Species.MELMETAL, - Species.RILLABOOM, - Species.SKWOVET, - Species.GREEDENT, - Species.SILICOBRA, - Species.SANDACONDA, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.GRAPPLOCT, - Species.HATTREM, - Species.HATTERENE, - Species.SIRFETCHD, - Species.RUNERIGUS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.DRACOVISH, - Species.ZACIAN, - Species.ETERNATUS, - Species.ZARUDE, - Species.KLEAVOR, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.OKIDOGI, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_YAMASK, + [MoveId.BRUTAL_SWING]: [ + SpeciesId.CHARIZARD, + SpeciesId.BEEDRILL, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.RAICHU, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.FARFETCHD, + SpeciesId.ONIX, + SpeciesId.KINGLER, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.LICKITUNG, + SpeciesId.RHYDON, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.GYARADOS, + SpeciesId.AERODACTYL, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.AMPHAROS, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.DELIBIRD, + SpeciesId.DONPHAN, + SpeciesId.HITMONTOP, + SpeciesId.TYRANITAR, + SpeciesId.SCEPTILE, + SpeciesId.SHIFTRY, + SpeciesId.AZURILL, + SpeciesId.MAWILE, + SpeciesId.AGGRON, + SpeciesId.FLYGON, + SpeciesId.SEVIPER, + SpeciesId.ARMALDO, + SpeciesId.MILOTIC, + SpeciesId.TROPIUS, + SpeciesId.ABSOL, + SpeciesId.SALAMENCE, + SpeciesId.METAGROSS, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.DEOXYS, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.LOPUNNY, + SpeciesId.GARCHOMP, + SpeciesId.DRAPION, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.GLISCOR, + SpeciesId.GIRATINA, + SpeciesId.SERPERIOR, + SpeciesId.EXCADRILL, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.ESCAVALIER, + SpeciesId.FERROTHORN, + SpeciesId.HAXORUS, + SpeciesId.MIENSHAO, + SpeciesId.HEATMOR, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.GRENINJA, + SpeciesId.DIGGERSBY, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.MALAMAR, + SpeciesId.BARBARACLE, + SpeciesId.HELIOLISK, + SpeciesId.TYRANTRUM, + SpeciesId.GOODRA, + SpeciesId.TREVENANT, + SpeciesId.GOURGEIST, + SpeciesId.INCINEROAR, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.TURTONATOR, + SpeciesId.DHELMISE, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_BULU, + SpeciesId.NIHILEGO, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.ZERAORA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.GRAPPLOCT, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.SIRFETCHD, + SpeciesId.RUNERIGUS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ZACIAN, + SpeciesId.ETERNATUS, + SpeciesId.ZARUDE, + SpeciesId.KLEAVOR, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_YAMASK, ], - [Moves.AURORA_VEIL]: [ - Species.JYNX, - Species.ARTICUNO, - Species.MEW, - Species.DELIBIRD, - Species.SMOOCHUM, - Species.REGICE, - Species.ABOMASNOW, - Species.GLACEON, - Species.FROSLASS, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.CRYOGONAL, - Species.AMAURA, - Species.AURORUS, - Species.BERGMITE, - Species.AVALUGG, - Species.EISCUE, - Species.ARCTOVISH, - Species.IRON_BUNDLE, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.HISUI_AVALUGG, + [MoveId.AURORA_VEIL]: [ + SpeciesId.JYNX, + SpeciesId.ARTICUNO, + SpeciesId.MEW, + SpeciesId.DELIBIRD, + SpeciesId.SMOOCHUM, + SpeciesId.REGICE, + SpeciesId.ABOMASNOW, + SpeciesId.GLACEON, + SpeciesId.FROSLASS, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.CRYOGONAL, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.EISCUE, + SpeciesId.ARCTOVISH, + SpeciesId.IRON_BUNDLE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.HISUI_AVALUGG, ], - [Moves.PSYCHIC_FANGS]: [ - Species.EKANS, - Species.ARBOK, - Species.GROWLITHE, - Species.ARCANINE, - Species.AERODACTYL, - Species.MEW, - Species.CROCONAW, - Species.FERALIGATR, - Species.ESPEON, - Species.GIRAFARIG, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.MAWILE, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.CARVANHA, - Species.SHARPEDO, - Species.SEVIPER, - Species.SALAMENCE, - Species.METAGROSS, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.GLISCOR, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.SWOOBAT, - Species.BASCULIN, - Species.LITLEO, - Species.PYROAR, - Species.TYRUNT, - Species.TYRANTRUM, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ROCKRUFF, - Species.LYCANROC, - Species.SILVALLY, - Species.BRUXISH, - Species.SOLGALEO, - Species.NECROZMA, - Species.GREEDENT, - Species.BOLTUND, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.MORPEKO, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.BASCULEGION, - Species.FIDOUGH, - Species.DACHSBUN, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.VELUZA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.CHIEN_PAO, - Species.OKIDOGI, - Species.GOUGING_FIRE, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, + [MoveId.PSYCHIC_FANGS]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.ESPEON, + SpeciesId.GIRAFARIG, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.MAWILE, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.SEVIPER, + SpeciesId.SALAMENCE, + SpeciesId.METAGROSS, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.GLISCOR, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.SWOOBAT, + SpeciesId.BASCULIN, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.SILVALLY, + SpeciesId.BRUXISH, + SpeciesId.SOLGALEO, + SpeciesId.NECROZMA, + SpeciesId.GREEDENT, + SpeciesId.BOLTUND, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.MORPEKO, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.BASCULEGION, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.VELUZA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.CHIEN_PAO, + SpeciesId.OKIDOGI, + SpeciesId.GOUGING_FIRE, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, ], - [Moves.STOMPING_TANTRUM]: [ - Species.VENUSAUR, - Species.RATICATE, - Species.ARBOK, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORINO, - Species.NIDOKING, - Species.DIGLETT, - Species.DUGTRIO, - Species.MANKEY, - Species.PRIMEAPE, - Species.MACHOKE, - Species.MACHAMP, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.DODRIO, - Species.ONIX, - Species.KINGLER, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TAUROS, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.ARIADOS, - Species.AMPHAROS, - Species.SUDOWOODO, - Species.WOOPER, - Species.QUAGSIRE, - Species.GIRAFARIG, - Species.DUNSPARCE, - Species.STEELIX, - Species.GRANBULL, - Species.URSARING, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.PHANPY, - Species.DONPHAN, - Species.MILTANK, - Species.BLISSEY, - Species.ENTEI, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.SWAMPERT, - Species.LINOONE, - Species.VIGOROTH, - Species.SLAKING, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.DELCATTY, - Species.LAIRON, - Species.AGGRON, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.GRUMPIG, - Species.SPINDA, - Species.CACTURNE, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.ARMALDO, - Species.TROPIUS, - Species.WALREIN, - Species.RELICANTH, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.GROUDON, - Species.DEOXYS, - Species.TORTERRA, - Species.BIBAREL, - Species.RAMPARDOS, - Species.BASTIODON, - Species.GASTRODON, - Species.PURUGLY, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.DRAPION, - Species.ABOMASNOW, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.ARCEUS, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.WATCHOG, - Species.STOUTLAND, - Species.BOLDORE, - Species.GIGALITH, - Species.EXCADRILL, - Species.AUDINO, - Species.CONKELDURR, - Species.SEISMITOAD, - Species.THROH, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.CRUSTLE, - Species.GARBODOR, - Species.SAWSBUCK, - Species.AMOONGUSS, - Species.EELEKTROSS, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.STUNFISK, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.BOUFFALANT, - Species.HEATMOR, - Species.DURANT, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TERRAKION, - Species.LANDORUS, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.DIGGERSBY, - Species.SKIDDO, - Species.GOGOAT, - Species.PANGORO, - Species.TYRUNT, - Species.TYRANTRUM, - Species.CARBINK, - Species.GOODRA, - Species.AVALUGG, - Species.ZYGARDE, - Species.VOLCANION, - Species.INCINEROAR, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.MUDBRAY, - Species.MUDSDALE, - Species.STUFFUL, - Species.BEWEAR, - Species.KOMALA, - Species.TURTONATOR, - Species.DRAMPA, - Species.KOMMO_O, - Species.BUZZWOLE, - Species.CELESTEELA, - Species.GUZZLORD, - Species.STAKATAKA, - Species.RILLABOOM, - Species.GREEDENT, - Species.CHEWTLE, - Species.DREDNAW, - Species.APPLETUN, - Species.GRAPPLOCT, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.CURSOLA, - Species.MR_RIME, - Species.STONJOURNER, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.DURALUDON, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, - Species.URSALUNA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.OINKOLOGNE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.WIGLETT, - Species.WUGTRIO, - Species.ORTHWORM, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.TING_LU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.OKIDOGI, - Species.OGERPON, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.ALOLA_RATICATE, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.GALAR_MR_MIME, - Species.GALAR_ZAPDOS, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_LINOONE, - Species.GALAR_STUNFISK, + [MoveId.STOMPING_TANTRUM]: [ + SpeciesId.VENUSAUR, + SpeciesId.RATICATE, + SpeciesId.ARBOK, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.DODRIO, + SpeciesId.ONIX, + SpeciesId.KINGLER, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TAUROS, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.ARIADOS, + SpeciesId.AMPHAROS, + SpeciesId.SUDOWOODO, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.GIRAFARIG, + SpeciesId.DUNSPARCE, + SpeciesId.STEELIX, + SpeciesId.GRANBULL, + SpeciesId.URSARING, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.ENTEI, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.SWAMPERT, + SpeciesId.LINOONE, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.DELCATTY, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.CACTURNE, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.ARMALDO, + SpeciesId.TROPIUS, + SpeciesId.WALREIN, + SpeciesId.RELICANTH, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.DEOXYS, + SpeciesId.TORTERRA, + SpeciesId.BIBAREL, + SpeciesId.RAMPARDOS, + SpeciesId.BASTIODON, + SpeciesId.GASTRODON, + SpeciesId.PURUGLY, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.DRAPION, + SpeciesId.ABOMASNOW, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.ARCEUS, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.WATCHOG, + SpeciesId.STOUTLAND, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.CONKELDURR, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.CRUSTLE, + SpeciesId.GARBODOR, + SpeciesId.SAWSBUCK, + SpeciesId.AMOONGUSS, + SpeciesId.EELEKTROSS, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.BOUFFALANT, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TERRAKION, + SpeciesId.LANDORUS, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.DIGGERSBY, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANGORO, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.CARBINK, + SpeciesId.GOODRA, + SpeciesId.AVALUGG, + SpeciesId.ZYGARDE, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.KOMMO_O, + SpeciesId.BUZZWOLE, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.STAKATAKA, + SpeciesId.RILLABOOM, + SpeciesId.GREEDENT, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.APPLETUN, + SpeciesId.GRAPPLOCT, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.CURSOLA, + SpeciesId.MR_RIME, + SpeciesId.STONJOURNER, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.DURALUDON, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.URSALUNA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.OINKOLOGNE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.ORTHWORM, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.OGERPON, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_STUNFISK, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.HISUI_TYPHLOSION, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.LIQUIDATION]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.KRABBY, - Species.KINGLER, - Species.HORSEA, - Species.SEADRA, - Species.LAPRAS, - Species.VAPOREON, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.QWILFISH, - Species.CORSOLA, - Species.OCTILLERY, - Species.MANTINE, - Species.KINGDRA, - Species.SUICUNE, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILORD, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.ARMALDO, - Species.WALREIN, - Species.RELICANTH, - Species.LUVDISC, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BIBAREL, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.GARCHOMP, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.SEISMITOAD, - Species.BASCULIN, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.DUCKLETT, - Species.SWANNA, - Species.ALOMOMOLA, - Species.EELEKTROSS, - Species.CUBCHOO, - Species.BEARTIC, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.VOLCANION, - Species.PRIMARINA, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.GOLISOPOD, - Species.BRUXISH, - Species.DHELMISE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.CURSOLA, - Species.PINCURCHIN, - Species.EISCUE, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.BASCULEGION, - Species.OVERQWIL, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.CLODSIRE, - Species.IRON_VALIANT, - Species.WALKING_WAKE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, + [MoveId.LIQUIDATION]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.QWILFISH, + SpeciesId.CORSOLA, + SpeciesId.OCTILLERY, + SpeciesId.MANTINE, + SpeciesId.KINGDRA, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILORD, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.ARMALDO, + SpeciesId.WALREIN, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BIBAREL, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.GARCHOMP, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.SEISMITOAD, + SpeciesId.BASCULIN, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.ALOMOMOLA, + SpeciesId.EELEKTROSS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.VOLCANION, + SpeciesId.PRIMARINA, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.GOLISOPOD, + SpeciesId.BRUXISH, + SpeciesId.DHELMISE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.CURSOLA, + SpeciesId.PINCURCHIN, + SpeciesId.EISCUE, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.CLODSIRE, + SpeciesId.IRON_VALIANT, + SpeciesId.WALKING_WAKE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "aqua", ], - Species.PALDEA_WOOPER, + SpeciesId.PALDEA_WOOPER, ], - [Moves.BODY_PRESS]: [ - Species.BLASTOISE, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.GRAVELER, - Species.GOLEM, - Species.SLOWBRO, - Species.ONIX, - Species.HYPNO, - Species.LICKITUNG, - Species.RHYHORN, - Species.RHYDON, - Species.LAPRAS, - Species.SNORLAX, - Species.DRAGONITE, - Species.MEW, - Species.MEGANIUM, - Species.SUDOWOODO, - Species.QUAGSIRE, - Species.FORRETRESS, - Species.STEELIX, - Species.MANTINE, - Species.SKARMORY, - Species.DONPHAN, - Species.MILTANK, - Species.TYRANITAR, - Species.SWAMPERT, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.NOSEPASS, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.SWALOT, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.GRUMPIG, - Species.CLAYDOL, - Species.TROPIUS, - Species.WALREIN, - Species.RELICANTH, - Species.METAGROSS, - Species.REGIROCK, - Species.REGISTEEL, - Species.GROUDON, - Species.TORTERRA, - Species.RAMPARDOS, - Species.BASTIODON, - Species.BRONZONG, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.ABOMASNOW, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.ARCEUS, - Species.EMBOAR, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.DARMANITAN, - Species.CRUSTLE, - Species.COFAGRIGUS, - Species.GARBODOR, - Species.FERROTHORN, - Species.EELEKTROSS, - Species.CUBCHOO, - Species.BEARTIC, - Species.GOLURK, - Species.COBALION, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.CHESNAUGHT, - Species.HAWLUCHA, - Species.CARBINK, - Species.GOODRA, - Species.AVALUGG, - Species.DIANCIE, - Species.VOLCANION, - Species.CRABOMINABLE, - Species.MUDSDALE, - Species.BEWEAR, - Species.TURTONATOR, - Species.DHELMISE, - Species.KOMMO_O, - Species.GUZZLORD, - Species.STAKATAKA, - Species.MELMETAL, - Species.RILLABOOM, - Species.GREEDENT, - Species.CORVIKNIGHT, - Species.DOTTLER, - Species.ORBEETLE, - Species.DUBWOOL, - Species.DREDNAW, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLETUN, - Species.SANDACONDA, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.RUNERIGUS, - Species.FALINKS, - Species.STONJOURNER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ZAMAZENTA, - Species.URSHIFU, - Species.GLASTRIER, + [MoveId.BODY_PRESS]: [ + SpeciesId.BLASTOISE, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SLOWBRO, + SpeciesId.ONIX, + SpeciesId.HYPNO, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.LAPRAS, + SpeciesId.SNORLAX, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.MEGANIUM, + SpeciesId.SUDOWOODO, + SpeciesId.QUAGSIRE, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.DONPHAN, + SpeciesId.MILTANK, + SpeciesId.TYRANITAR, + SpeciesId.SWAMPERT, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.NOSEPASS, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.SWALOT, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.GRUMPIG, + SpeciesId.CLAYDOL, + SpeciesId.TROPIUS, + SpeciesId.WALREIN, + SpeciesId.RELICANTH, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.GROUDON, + SpeciesId.TORTERRA, + SpeciesId.RAMPARDOS, + SpeciesId.BASTIODON, + SpeciesId.BRONZONG, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.ABOMASNOW, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.ARCEUS, + SpeciesId.EMBOAR, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.DARMANITAN, + SpeciesId.CRUSTLE, + SpeciesId.COFAGRIGUS, + SpeciesId.GARBODOR, + SpeciesId.FERROTHORN, + SpeciesId.EELEKTROSS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.GOLURK, + SpeciesId.COBALION, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.CHESNAUGHT, + SpeciesId.HAWLUCHA, + SpeciesId.CARBINK, + SpeciesId.GOODRA, + SpeciesId.AVALUGG, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.CRABOMINABLE, + SpeciesId.MUDSDALE, + SpeciesId.BEWEAR, + SpeciesId.TURTONATOR, + SpeciesId.DHELMISE, + SpeciesId.KOMMO_O, + SpeciesId.GUZZLORD, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.RILLABOOM, + SpeciesId.GREEDENT, + SpeciesId.CORVIKNIGHT, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.DUBWOOL, + SpeciesId.DREDNAW, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLETUN, + SpeciesId.SANDACONDA, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.RUNERIGUS, + SpeciesId.FALINKS, + SpeciesId.STONJOURNER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ZAMAZENTA, + SpeciesId.URSHIFU, + SpeciesId.GLASTRIER, [ - Species.CALYREX, + SpeciesId.CALYREX, "", "ice", ], - Species.URSALUNA, - Species.OINKOLOGNE, - Species.PAWMOT, - Species.DACHSBUN, - Species.NACLSTACK, - Species.GARGANACL, - Species.ORTHWORM, - Species.HOUNDSTONE, - Species.CETODDLE, - Species.CETITAN, - Species.DONDOZO, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.WO_CHIEN, - Species.TING_LU, - Species.ROARING_MOON, - Species.KORAIDON, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.RAGING_BOLT, - Species.TERAPAGOS, - Species.ALOLA_GOLEM, - Species.GALAR_SLOWBRO, - Species.GALAR_LINOONE, - Species.GALAR_DARMANITAN, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.URSALUNA, + SpeciesId.OINKOLOGNE, + SpeciesId.PAWMOT, + SpeciesId.DACHSBUN, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.ORTHWORM, + SpeciesId.HOUNDSTONE, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DONDOZO, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.WO_CHIEN, + SpeciesId.TING_LU, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.RAGING_BOLT, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_GOLEM, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.BREAKING_SWIPE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.ARBOK, - Species.ONIX, - Species.RHYDON, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.AMPHAROS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.KINGDRA, - Species.TYRANITAR, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.FLYGON, - Species.ALTARIA, - Species.SEVIPER, - Species.MILOTIC, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.RAMPARDOS, - Species.GABITE, - Species.GARCHOMP, - Species.RHYPERIOR, - Species.GLISCOR, - Species.DIALGA, - Species.PALKIA, - Species.GIRATINA, - Species.SERPERIOR, - Species.KROKOROK, - Species.KROOKODILE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.HELIOLISK, - Species.TYRANTRUM, - Species.GOODRA, - Species.NOIVERN, - Species.ZYGARDE, - Species.SALAZZLE, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.NECROZMA, - Species.NAGANADEL, - Species.INTELEON, - Species.DRACOZOLT, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.REGIDRAGO, - Species.CYCLIZAR, - Species.DUDUNSPARCE, - Species.IRON_THORNS, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_GOODRA, + [MoveId.BREAKING_SWIPE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.ARBOK, + SpeciesId.ONIX, + SpeciesId.RHYDON, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.AMPHAROS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.KINGDRA, + SpeciesId.TYRANITAR, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.SEVIPER, + SpeciesId.MILOTIC, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.RAMPARDOS, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.RHYPERIOR, + SpeciesId.GLISCOR, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.SERPERIOR, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.HELIOLISK, + SpeciesId.TYRANTRUM, + SpeciesId.GOODRA, + SpeciesId.NOIVERN, + SpeciesId.ZYGARDE, + SpeciesId.SALAZZLE, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.NECROZMA, + SpeciesId.NAGANADEL, + SpeciesId.INTELEON, + SpeciesId.DRACOZOLT, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.REGIDRAGO, + SpeciesId.CYCLIZAR, + SpeciesId.DUDUNSPARCE, + SpeciesId.IRON_THORNS, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_GOODRA, ], - [Moves.STEEL_BEAM]: [ - Species.MAGNEMITE, - Species.MAGNETON, - Species.MEW, - Species.FORRETRESS, - Species.STEELIX, - Species.SCIZOR, - Species.SKARMORY, - Species.NOSEPASS, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.BELDUM, - Species.METANG, - Species.METAGROSS, - Species.REGISTEEL, - Species.JIRACHI, - Species.EMPOLEON, - Species.BRONZOR, - Species.BRONZONG, - Species.LUCARIO, - Species.MAGNEZONE, - Species.PROBOPASS, - Species.DIALGA, - Species.HEATRAN, - Species.ARCEUS, - Species.EXCADRILL, - Species.ESCAVALIER, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.PAWNIARD, - Species.BISHARP, - Species.DURANT, - Species.COBALION, - Species.GENESECT, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.KLEFKI, - Species.SILVALLY, - Species.TOGEDEMARU, - Species.SOLGALEO, - Species.CELESTEELA, - Species.KARTANA, - Species.MAGEARNA, - Species.STAKATAKA, - Species.MELTAN, - Species.MELMETAL, - Species.CORVIKNIGHT, - Species.PERRSERKER, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.VAROOM, - Species.REVAVROOM, - Species.ORTHWORM, - Species.KINGAMBIT, - Species.IRON_TREADS, - Species.GHOLDENGO, - Species.ARCHALUDON, - Species.IRON_CROWN, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.GALAR_MEOWTH, - Species.GALAR_STUNFISK, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.STEEL_BEAM]: [ + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.MEW, + SpeciesId.FORRETRESS, + SpeciesId.STEELIX, + SpeciesId.SCIZOR, + SpeciesId.SKARMORY, + SpeciesId.NOSEPASS, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.BELDUM, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGISTEEL, + SpeciesId.JIRACHI, + SpeciesId.EMPOLEON, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.LUCARIO, + SpeciesId.MAGNEZONE, + SpeciesId.PROBOPASS, + SpeciesId.DIALGA, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.EXCADRILL, + SpeciesId.ESCAVALIER, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.DURANT, + SpeciesId.COBALION, + SpeciesId.GENESECT, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.KLEFKI, + SpeciesId.SILVALLY, + SpeciesId.TOGEDEMARU, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.CORVIKNIGHT, + SpeciesId.PERRSERKER, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.ORTHWORM, + SpeciesId.KINGAMBIT, + SpeciesId.IRON_TREADS, + SpeciesId.GHOLDENGO, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.EXPANDING_FORCE]: [ - Species.WIGGLYTUFF, - Species.KADABRA, - Species.ALAKAZAM, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGUTOR, - Species.STARMIE, - Species.MR_MIME, - Species.JYNX, - Species.MEWTWO, - Species.MEW, - Species.NATU, - Species.XATU, - Species.ESPEON, - Species.SLOWKING, - Species.GIRAFARIG, - Species.CELEBI, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MEDITITE, - Species.MEDICHAM, - Species.SPOINK, - Species.GRUMPIG, - Species.BALTOY, - Species.CLAYDOL, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.JIRACHI, - Species.DEOXYS, - Species.BRONZOR, - Species.BRONZONG, - Species.GALLADE, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.CRESSELIA, - Species.VICTINI, - Species.MUNNA, - Species.MUSHARNA, - Species.WOOBAT, - Species.SWOOBAT, - Species.DARMANITAN, - Species.SIGILYPH, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.DELPHOX, - Species.ESPURR, - Species.MEOWSTIC, - Species.INKAY, - Species.MALAMAR, - Species.HOOPA, - Species.ORANGURU, - Species.BRUXISH, - Species.SOLGALEO, - Species.LUNALA, - Species.NECROZMA, - Species.BLACEPHALON, - Species.DOTTLER, - Species.ORBEETLE, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.MR_RIME, - Species.INDEEDEE, - Species.CALYREX, - Species.WYRDEER, - Species.ARMAROUGE, - Species.RABSCA, - Species.ESPATHRA, - Species.VELUZA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.IRON_VALIANT, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.HISUI_BRAVIARY, + [MoveId.EXPANDING_FORCE]: [ + SpeciesId.WIGGLYTUFF, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGUTOR, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.JYNX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.ESPEON, + SpeciesId.SLOWKING, + SpeciesId.GIRAFARIG, + SpeciesId.CELEBI, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.GALLADE, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.CRESSELIA, + SpeciesId.VICTINI, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DARMANITAN, + SpeciesId.SIGILYPH, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.DELPHOX, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.HOOPA, + SpeciesId.ORANGURU, + SpeciesId.BRUXISH, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NECROZMA, + SpeciesId.BLACEPHALON, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.MR_RIME, + SpeciesId.INDEEDEE, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.ARMAROUGE, + SpeciesId.RABSCA, + SpeciesId.ESPATHRA, + SpeciesId.VELUZA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.STEEL_ROLLER]: [ - Species.SANDSHREW, - Species.SANDSLASH, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.CLOYSTER, - Species.LICKITUNG, - Species.SNORLAX, - Species.MEW, - Species.MARILL, - Species.AZUMARILL, - Species.STEELIX, - Species.QWILFISH, - Species.SHUCKLE, - Species.MILTANK, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.WAILMER, - Species.WAILORD, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.METANG, - Species.METAGROSS, - Species.REGISTEEL, - Species.BRONZOR, - Species.BRONZONG, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.HEATRAN, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.TOGEDEMARU, - Species.DHELMISE, - Species.SOLGALEO, - Species.CELESTEELA, - Species.GUZZLORD, - Species.MAGEARNA, - Species.STAKATAKA, - Species.MELMETAL, - Species.CUFANT, - Species.COPPERAJAH, - Species.DURALUDON, - Species.IRON_TREADS, - Species.ARCHALUDON, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, + [MoveId.STEEL_ROLLER]: [ + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.CLOYSTER, + SpeciesId.LICKITUNG, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.STEELIX, + SpeciesId.QWILFISH, + SpeciesId.SHUCKLE, + SpeciesId.MILTANK, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGISTEEL, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.HEATRAN, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.TOGEDEMARU, + SpeciesId.DHELMISE, + SpeciesId.SOLGALEO, + SpeciesId.CELESTEELA, + SpeciesId.GUZZLORD, + SpeciesId.MAGEARNA, + SpeciesId.STAKATAKA, + SpeciesId.MELMETAL, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DURALUDON, + SpeciesId.IRON_TREADS, + SpeciesId.ARCHALUDON, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, ], - [Moves.SCALE_SHOT]: [ - Species.CHARIZARD, - Species.EKANS, - Species.ARBOK, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.GYARADOS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.DUNSPARCE, - Species.GLIGAR, - Species.QWILFISH, - Species.KINGDRA, - Species.LUGIA, - Species.SCEPTILE, - Species.CARVANHA, - Species.SHARPEDO, - Species.FLYGON, - Species.FEEBAS, - Species.MILOTIC, - Species.RELICANTH, - Species.LUVDISC, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.DIALGA, - Species.PALKIA, - Species.BASCULIN, - Species.KROKOROK, - Species.KROOKODILE, - Species.ALOMOMOLA, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DRUDDIGON, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.SKRELP, - Species.DRAGALGE, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.ZYGARDE, - Species.WISHIWASHI, - Species.SALANDIT, - Species.SALAZZLE, - Species.TURTONATOR, - Species.DRAMPA, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.NAGANADEL, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.SILICOBRA, - Species.SANDACONDA, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.REGIDRAGO, - Species.BASCULEGION, - Species.OVERQWIL, - Species.CYCLIZAR, - Species.VELUZA, - Species.DUDUNSPARCE, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.HISUI_QWILFISH, + [MoveId.SCALE_SHOT]: [ + SpeciesId.CHARIZARD, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.GYARADOS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.QWILFISH, + SpeciesId.KINGDRA, + SpeciesId.LUGIA, + SpeciesId.SCEPTILE, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.FLYGON, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.BASCULIN, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.ALOMOMOLA, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DRUDDIGON, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.ZYGARDE, + SpeciesId.WISHIWASHI, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.NAGANADEL, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.REGIDRAGO, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.CYCLIZAR, + SpeciesId.VELUZA, + SpeciesId.DUDUNSPARCE, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.HISUI_QWILFISH, ], - [Moves.METEOR_BEAM]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.ONIX, - Species.RHYDON, - Species.STARMIE, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.MEW, - Species.AMPHAROS, - Species.SUDOWOODO, - Species.STEELIX, - Species.SHUCKLE, - Species.CORSOLA, - Species.NOSEPASS, - Species.AGGRON, - Species.LUNATONE, - Species.SOLROCK, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.RELICANTH, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGISTEEL, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.BASTIODON, - Species.BRONZONG, - Species.RHYPERIOR, - Species.PROBOPASS, - Species.ARCEUS, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.CRUSTLE, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.BARBARACLE, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.CARBINK, - Species.DIANCIE, - Species.MINIOR, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.CELESTEELA, - Species.NECROZMA, - Species.STAKATAKA, - Species.DREDNAW, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.CURSOLA, - Species.STONJOURNER, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.ETERNATUS, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.ARMAROUGE, - Species.KLAWF, - Species.GLIMMET, - Species.GLIMMORA, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.KORAIDON, - Species.ARCHALUDON, - Species.IRON_BOULDER, - Species.TERAPAGOS, - Species.ALOLA_GOLEM, - Species.GALAR_CORSOLA, - Species.HISUI_AVALUGG, + [MoveId.METEOR_BEAM]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.ONIX, + SpeciesId.RHYDON, + SpeciesId.STARMIE, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.MEW, + SpeciesId.AMPHAROS, + SpeciesId.SUDOWOODO, + SpeciesId.STEELIX, + SpeciesId.SHUCKLE, + SpeciesId.CORSOLA, + SpeciesId.NOSEPASS, + SpeciesId.AGGRON, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.RELICANTH, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.BASTIODON, + SpeciesId.BRONZONG, + SpeciesId.RHYPERIOR, + SpeciesId.PROBOPASS, + SpeciesId.ARCEUS, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.CRUSTLE, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.BARBARACLE, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.CARBINK, + SpeciesId.DIANCIE, + SpeciesId.MINIOR, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.CELESTEELA, + SpeciesId.NECROZMA, + SpeciesId.STAKATAKA, + SpeciesId.DREDNAW, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.CURSOLA, + SpeciesId.STONJOURNER, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.ETERNATUS, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.ARMAROUGE, + SpeciesId.KLAWF, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.KORAIDON, + SpeciesId.ARCHALUDON, + SpeciesId.IRON_BOULDER, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_GOLEM, + SpeciesId.GALAR_CORSOLA, + SpeciesId.HISUI_AVALUGG, ], - [Moves.MISTY_EXPLOSION]: [ - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEW, - Species.MARILL, - Species.AZUMARILL, - Species.GARDEVOIR, - Species.MUSHARNA, - Species.FLORGES, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.SYLVEON, - Species.CARBINK, - Species.XERNEAS, - Species.DIANCIE, - Species.PRIMARINA, - Species.MAGEARNA, - Species.HATTERENE, - Species.ALCREMIE, - Species.ENAMORUS, - Species.SCREAM_TAIL, - Species.GALAR_WEEZING, + [MoveId.MISTY_EXPLOSION]: [ + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEW, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.GARDEVOIR, + SpeciesId.MUSHARNA, + SpeciesId.FLORGES, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.SYLVEON, + SpeciesId.CARBINK, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.PRIMARINA, + SpeciesId.MAGEARNA, + SpeciesId.HATTERENE, + SpeciesId.ALCREMIE, + SpeciesId.ENAMORUS, + SpeciesId.SCREAM_TAIL, + SpeciesId.GALAR_WEEZING, ], - [Moves.GRASSY_GLIDE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.TANGELA, - Species.MEW, - Species.BELLOSSOM, - Species.SUNFLORA, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.ROSELIA, - Species.CACNEA, - Species.CACTURNE, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.BUDEW, - Species.ROSERADE, - Species.CHERUBI, - Species.CHERRIM, - Species.SNOVER, - Species.ABOMASNOW, - Species.TANGROWTH, - Species.LEAFEON, - Species.SHAYMIN, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.MARACTUS, - Species.DEERLING, - Species.SAWSBUCK, - Species.VIRIZION, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.SKIDDO, - Species.GOGOAT, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.FOMANTIS, - Species.LURANTIS, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.DHELMISE, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.APPLIN, - Species.FLAPPLE, - Species.APPLETUN, - Species.SIRFETCHD, - Species.ZARUDE, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.DIPPLIN, - Species.OGERPON, - Species.HYDRAPPLE, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + [MoveId.GRASSY_GLIDE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.TANGELA, + SpeciesId.MEW, + SpeciesId.BELLOSSOM, + SpeciesId.SUNFLORA, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.ROSELIA, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.TANGROWTH, + SpeciesId.LEAFEON, + SpeciesId.SHAYMIN, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.MARACTUS, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.VIRIZION, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.DHELMISE, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.APPLIN, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SIRFETCHD, + SpeciesId.ZARUDE, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.DIPPLIN, + SpeciesId.OGERPON, + SpeciesId.HYDRAPPLE, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.RISING_VOLTAGE]: [ - Species.PIKACHU, - Species.RAICHU, - Species.MAGNEMITE, - Species.MAGNETON, - Species.ELECTABUZZ, - Species.JOLTEON, - Species.ZAPDOS, - Species.MEW, - Species.CHINCHOU, - Species.LANTURN, - Species.RAIKOU, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.MAGNEZONE, - Species.ELECTIVIRE, - Species.ROTOM, - Species.EMOLGA, - Species.JOLTIK, - Species.GALVANTULA, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.THUNDURUS, - Species.ZEKROM, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.DEDENNE, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.TOGEDEMARU, - Species.XURKITREE, - Species.ZERAORA, - Species.YAMPER, - Species.BOLTUND, - Species.TOXTRICITY, - Species.PINCURCHIN, - Species.MORPEKO, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.REGIELEKI, - Species.RAGING_BOLT, - Species.ALOLA_RAICHU, + [MoveId.RISING_VOLTAGE]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.ELECTABUZZ, + SpeciesId.JOLTEON, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.RAIKOU, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.MAGNEZONE, + SpeciesId.ELECTIVIRE, + SpeciesId.ROTOM, + SpeciesId.EMOLGA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.DEDENNE, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.TOGEDEMARU, + SpeciesId.XURKITREE, + SpeciesId.ZERAORA, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.TOXTRICITY, + SpeciesId.PINCURCHIN, + SpeciesId.MORPEKO, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.REGIELEKI, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_RAICHU, ], - [Moves.TERRAIN_PULSE]: [ - Species.VENUSAUR, - Species.BLASTOISE, - Species.EXEGGUTOR, - Species.LICKITUNG, - Species.KANGASKHAN, - Species.SNORLAX, - Species.MEW, - Species.DUNSPARCE, - Species.EXPLOUD, - Species.LUCARIO, - Species.LICKILICKY, - Species.REGIGIGAS, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.CARBINK, - Species.XERNEAS, - Species.DIANCIE, - Species.ORANGURU, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.INDEEDEE, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.DUDUNSPARCE, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_STUNFISK, + [MoveId.TERRAIN_PULSE]: [ + SpeciesId.VENUSAUR, + SpeciesId.BLASTOISE, + SpeciesId.EXEGGUTOR, + SpeciesId.LICKITUNG, + SpeciesId.KANGASKHAN, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.DUNSPARCE, + SpeciesId.EXPLOUD, + SpeciesId.LUCARIO, + SpeciesId.LICKILICKY, + SpeciesId.REGIGIGAS, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.CARBINK, + SpeciesId.XERNEAS, + SpeciesId.DIANCIE, + SpeciesId.ORANGURU, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.INDEEDEE, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.DUDUNSPARCE, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_STUNFISK, ], - [Moves.SKITTER_SMACK]: [ - Species.EKANS, - Species.ARBOK, - Species.VENONAT, - Species.VENOMOTH, - Species.PERSIAN, - Species.TENTACRUEL, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.SCYTHER, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.YANMA, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.OCTILLERY, - Species.SURSKIT, - Species.MASQUERAIN, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.SABLEYE, - Species.VOLBEAT, - Species.ILLUMISE, - Species.CACNEA, - Species.CACTURNE, - Species.SEVIPER, - Species.MILOTIC, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.COMBEE, - Species.VESPIQUEN, - Species.SHELLOS, - Species.GASTRODON, - Species.SKORUPI, - Species.DRAPION, - Species.YANMEGA, - Species.GLISCOR, - Species.DUSKNOIR, - Species.GIRATINA, - Species.LIEPARD, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DWEBBLE, - Species.CRUSTLE, - Species.ZORUA, - Species.ZOROARK, - Species.JOLTIK, - Species.GALVANTULA, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.SHELMET, - Species.ACCELGOR, - Species.DURANT, - Species.LARVESTA, - Species.VOLCARONA, - Species.VIVILLON, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.ZYGARDE, - Species.HOOPA, - Species.DECIDUEYE, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.WIMPOD, - Species.GOLISOPOD, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.SILICOBRA, - Species.SANDACONDA, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.GRAPPLOCT, - Species.SNOM, - Species.FROSMOTH, - Species.KLEAVOR, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.RELLOR, - Species.RABSCA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.DUDUNSPARCE, - Species.SLITHER_WING, - Species.ALOLA_PERSIAN, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, + [MoveId.SKITTER_SMACK]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PERSIAN, + SpeciesId.TENTACRUEL, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.SCYTHER, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.YANMA, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.OCTILLERY, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SEVIPER, + SpeciesId.MILOTIC, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.DUSKNOIR, + SpeciesId.GIRATINA, + SpeciesId.LIEPARD, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.DURANT, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.VIVILLON, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.ZYGARDE, + SpeciesId.HOOPA, + SpeciesId.DECIDUEYE, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.GRAPPLOCT, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.DUDUNSPARCE, + SpeciesId.SLITHER_WING, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, ], - [Moves.BURNING_JEALOUSY]: [ - Species.VULPIX, - Species.NINETALES, - Species.MAGMAR, - Species.FLAREON, - Species.MOLTRES, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.MISDREAVUS, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.TORKOAL, - Species.BANETTE, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.MISMAGIUS, - Species.SKUNTANK, - Species.SPIRITOMB, - Species.MAGMORTAR, - Species.HEATRAN, - Species.LIEPARD, - Species.DARMANITAN, - Species.ZORUA, - Species.ZOROARK, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.HEATMOR, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.PYROAR, - Species.TREVENANT, - Species.INCINEROAR, - Species.SALANDIT, - Species.SALAZZLE, - Species.TURTONATOR, - Species.MIMIKYU, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.THIEVUL, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.CURSOLA, - Species.SCOVILLAIN, - Species.CHI_YU, - Species.ALOLA_PERSIAN, - Species.ALOLA_MAROWAK, - Species.GALAR_DARMANITAN, - Species.HISUI_TYPHLOSION, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, + [MoveId.BURNING_JEALOUSY]: [ + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.MISDREAVUS, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.TORKOAL, + SpeciesId.BANETTE, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.MISMAGIUS, + SpeciesId.SKUNTANK, + SpeciesId.SPIRITOMB, + SpeciesId.MAGMORTAR, + SpeciesId.HEATRAN, + SpeciesId.LIEPARD, + SpeciesId.DARMANITAN, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.HEATMOR, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.PYROAR, + SpeciesId.TREVENANT, + SpeciesId.INCINEROAR, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.TURTONATOR, + SpeciesId.MIMIKYU, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.THIEVUL, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.CURSOLA, + SpeciesId.SCOVILLAIN, + SpeciesId.CHI_YU, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, ], - [Moves.LASH_OUT]: [ - Species.EKANS, - Species.ARBOK, - Species.MEOWTH, - Species.PERSIAN, - Species.MANKEY, - Species.PRIMEAPE, - Species.MUK, - Species.TAUROS, - Species.GYARADOS, - Species.MEWTWO, - Species.MEW, - Species.UMBREON, - Species.MURKROW, - Species.SNEASEL, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PUPITAR, - Species.TYRANITAR, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.NUZLEAF, - Species.SHIFTRY, - Species.VIGOROTH, - Species.SLAKING, - Species.HARIYAMA, - Species.SABLEYE, - Species.NUMEL, - Species.CAMERUPT, - Species.CACTURNE, - Species.SEVIPER, - Species.CRAWDAUNT, - Species.SHUPPET, - Species.BANETTE, - Species.MONFERNO, - Species.INFERNAPE, - Species.EMPOLEON, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.STUNKY, - Species.SKUNTANK, - Species.SPIRITOMB, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.DARKRAI, - Species.PURRLOIN, - Species.LIEPARD, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARMANITAN, - Species.SCRAGGY, - Species.SCRAFTY, - Species.ARCHEN, - Species.ARCHEOPS, - Species.ZORUA, - Species.ZOROARK, - Species.LAMPENT, - Species.CHANDELURE, - Species.STUNFISK, - Species.DRUDDIGON, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.VULLABY, - Species.MANDIBUZZ, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.TORNADUS, - Species.THUNDURUS, - Species.PANCHAM, - Species.PANGORO, - Species.INKAY, - Species.MALAMAR, - Species.TYRUNT, - Species.TYRANTRUM, - Species.PHANTUMP, - Species.TREVENANT, - Species.YVELTAL, - Species.HOOPA, - Species.INCINEROAR, - Species.MUDSDALE, - Species.TURTONATOR, - Species.DRAMPA, - Species.GUZZLORD, - Species.NICKIT, - Species.THIEVUL, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.MORPEKO, - Species.ZARUDE, - Species.GLASTRIER, - Species.SPECTRIER, - Species.SNEASLER, - Species.OVERQWIL, - Species.MEOWSCARADA, - Species.OINKOLOGNE, - Species.LOKIX, - Species.SQUAWKABILLY, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SCOVILLAIN, - Species.BOMBIRDIER, - Species.REVAVROOM, - Species.ANNIHILAPE, - Species.KINGAMBIT, - Species.BRUTE_BONNET, - Species.IRON_JUGULIS, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.PECHARUNT, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_MUK, + [MoveId.LASH_OUT]: [ + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.MUK, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SNEASEL, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.HARIYAMA, + SpeciesId.SABLEYE, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.CACTURNE, + SpeciesId.SEVIPER, + SpeciesId.CRAWDAUNT, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.SPIRITOMB, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.DARKRAI, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARMANITAN, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.STUNFISK, + SpeciesId.DRUDDIGON, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.YVELTAL, + SpeciesId.HOOPA, + SpeciesId.INCINEROAR, + SpeciesId.MUDSDALE, + SpeciesId.TURTONATOR, + SpeciesId.DRAMPA, + SpeciesId.GUZZLORD, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.MORPEKO, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.MEOWSCARADA, + SpeciesId.OINKOLOGNE, + SpeciesId.LOKIX, + SpeciesId.SQUAWKABILLY, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SCOVILLAIN, + SpeciesId.BOMBIRDIER, + SpeciesId.REVAVROOM, + SpeciesId.ANNIHILAPE, + SpeciesId.KINGAMBIT, + SpeciesId.BRUTE_BONNET, + SpeciesId.IRON_JUGULIS, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_MUK, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.GALAR_MEOWTH, - Species.GALAR_MOLTRES, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARMANITAN, - Species.GALAR_STUNFISK, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_STUNFISK, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "single-strike", ], [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", "shadow", ], - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_GOODRA, - Species.PALDEA_TAUROS, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_GOODRA, + SpeciesId.PALDEA_TAUROS, ], - [Moves.POLTERGEIST]: [ - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.MEW, - Species.MISDREAVUS, - Species.SHEDINJA, - Species.SABLEYE, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.MISMAGIUS, - Species.SPIRITOMB, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.GIRATINA, - Species.YAMASK, - Species.COFAGRIGUS, - Species.FRILLISH, - Species.JELLICENT, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.GOLETT, - Species.GOLURK, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.DECIDUEYE, - Species.SANDYGAST, - Species.PALOSSAND, - Species.DHELMISE, - Species.LUNALA, - Species.MARSHADOW, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.CURSOLA, - Species.RUNERIGUS, - Species.SPECTRIER, - Species.SKELEDIRGE, - Species.CERULEDGE, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.RABSCA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLUTTER_MANE, - Species.GHOLDENGO, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.MUNKIDORI, - Species.PECHARUNT, - Species.ALOLA_MAROWAK, - Species.GALAR_YAMASK, - Species.HISUI_TYPHLOSION, - Species.HISUI_ZOROARK, + [MoveId.POLTERGEIST]: [ + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.MEW, + SpeciesId.MISDREAVUS, + SpeciesId.SHEDINJA, + SpeciesId.SABLEYE, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.MISMAGIUS, + SpeciesId.SPIRITOMB, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.GIRATINA, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.DECIDUEYE, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.DHELMISE, + SpeciesId.LUNALA, + SpeciesId.MARSHADOW, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.CURSOLA, + SpeciesId.RUNERIGUS, + SpeciesId.SPECTRIER, + SpeciesId.SKELEDIRGE, + SpeciesId.CERULEDGE, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.RABSCA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLUTTER_MANE, + SpeciesId.GHOLDENGO, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.MUNKIDORI, + SpeciesId.PECHARUNT, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.GALAR_YAMASK, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_ZOROARK, ], - [Moves.CORROSIVE_GAS]: [ - Species.VILEPLUME, - Species.TENTACRUEL, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.KOFFING, - Species.WEEZING, - Species.MEW, - Species.STUNKY, - Species.SKUNTANK, - Species.TOXICROAK, - Species.TRUBBISH, - Species.GARBODOR, - Species.SALAZZLE, - Species.NIHILEGO, - Species.GUZZLORD, - Species.GALAR_WEEZING, + [MoveId.CORROSIVE_GAS]: [ + SpeciesId.VILEPLUME, + SpeciesId.TENTACRUEL, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.MEW, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.TOXICROAK, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.SALAZZLE, + SpeciesId.NIHILEGO, + SpeciesId.GUZZLORD, + SpeciesId.GALAR_WEEZING, ], - [Moves.COACHING]: [ - Species.POLIWRATH, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.MEW, - Species.HERACROSS, - Species.HITMONTOP, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MAKUHITA, - Species.HARIYAMA, - Species.INFERNAPE, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.GALLADE, - Species.PIGNITE, - Species.EMBOAR, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.THROH, - Species.SAWK, - Species.SCRAGGY, - Species.SCRAFTY, - Species.MIENFOO, - Species.MIENSHAO, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.MELOETTA, - Species.CHESNAUGHT, - Species.PANCHAM, - Species.PANGORO, - Species.HAWLUCHA, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.STUFFUL, - Species.BEWEAR, - Species.PASSIMIAN, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.MARSHADOW, - Species.ZERAORA, - Species.CINDERACE, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SIRFETCHD, - Species.FALINKS, - Species.ZAMAZENTA, - Species.KUBFU, - Species.URSHIFU, - Species.SNEASLER, - Species.QUAQUAVAL, - Species.PAWMO, - Species.PAWMOT, - Species.ANNIHILAPE, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.GALAR_ZAPDOS, - Species.HISUI_SNEASEL, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + [MoveId.COACHING]: [ + SpeciesId.POLIWRATH, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.MEW, + SpeciesId.HERACROSS, + SpeciesId.HITMONTOP, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.INFERNAPE, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.GALLADE, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.CHESNAUGHT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.HAWLUCHA, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.PASSIMIAN, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.CINDERACE, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SIRFETCHD, + SpeciesId.FALINKS, + SpeciesId.ZAMAZENTA, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.SNEASLER, + SpeciesId.QUAQUAVAL, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.ANNIHILAPE, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.FLIP_TURN]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.PSYDUCK, - Species.GOLDUCK, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SEEL, - Species.DEWGONG, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.VAPOREON, - Species.KABUTOPS, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.CHINCHOU, - Species.LANTURN, - Species.QWILFISH, - Species.KINGDRA, - Species.SWAMPERT, - Species.CARVANHA, - Species.SHARPEDO, - Species.MILOTIC, - Species.LUVDISC, - Species.LATIOS, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BUIZEL, - Species.FLOATZEL, - Species.FINNEON, - Species.LUMINEON, - Species.PHIONE, - Species.MANAPHY, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.BASCULIN, - Species.SWANNA, - Species.ALOMOMOLA, - Species.KELDEO, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.WISHIWASHI, - Species.BRUXISH, - Species.INTELEON, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.EISCUE, - Species.BASCULEGION, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.PALAFIN, - Species.VELUZA, - Species.IRON_BUNDLE, - Species.WALKING_WAKE, - Species.HISUI_SAMUROTT, + [MoveId.FLIP_TURN]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.VAPOREON, + SpeciesId.KABUTOPS, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.QWILFISH, + SpeciesId.KINGDRA, + SpeciesId.SWAMPERT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.MILOTIC, + SpeciesId.LUVDISC, + SpeciesId.LATIOS, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.BASCULIN, + SpeciesId.SWANNA, + SpeciesId.ALOMOMOLA, + SpeciesId.KELDEO, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.WISHIWASHI, + SpeciesId.BRUXISH, + SpeciesId.INTELEON, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.EISCUE, + SpeciesId.BASCULEGION, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.PALAFIN, + SpeciesId.VELUZA, + SpeciesId.IRON_BUNDLE, + SpeciesId.WALKING_WAKE, + SpeciesId.HISUI_SAMUROTT, ], - [Moves.TRIPLE_AXEL]: [ - Species.SEEL, - Species.DEWGONG, - Species.JYNX, - Species.ARTICUNO, - Species.MEW, - Species.BELLOSSOM, - Species.SNEASEL, - Species.DELIBIRD, - Species.HITMONTOP, - Species.KIRLIA, - Species.GARDEVOIR, - Species.MILOTIC, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.AMBIPOM, - Species.BUNEARY, - Species.LOPUNNY, - Species.WEAVILE, - Species.GLACEON, - Species.GALLADE, - Species.FROSLASS, - Species.LEAVANNY, - Species.MINCCINO, - Species.CINCCINO, - Species.CRYOGONAL, - Species.MIENSHAO, - Species.MELOETTA, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.STEENEE, - Species.TSAREENA, - Species.PHEROMOSA, - Species.MR_RIME, - Species.FROSMOTH, - Species.MEOWSCARADA, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_NINETALES, - Species.GALAR_MR_MIME, - Species.HISUI_LILLIGANT, + [MoveId.TRIPLE_AXEL]: [ + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.JYNX, + SpeciesId.ARTICUNO, + SpeciesId.MEW, + SpeciesId.BELLOSSOM, + SpeciesId.SNEASEL, + SpeciesId.DELIBIRD, + SpeciesId.HITMONTOP, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.MILOTIC, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.AMBIPOM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.WEAVILE, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.FROSLASS, + SpeciesId.LEAVANNY, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.CRYOGONAL, + SpeciesId.MIENSHAO, + SpeciesId.MELOETTA, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.PHEROMOSA, + SpeciesId.MR_RIME, + SpeciesId.FROSMOTH, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_MR_MIME, + SpeciesId.HISUI_LILLIGANT, ], - [Moves.DUAL_WINGBEAT]: [ - Species.CHARIZARD, - Species.BUTTERFREE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.ZUBAT, - Species.GOLBAT, - Species.FARFETCHD, - Species.SCYTHER, - Species.AERODACTYL, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRAGONITE, - Species.MEW, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.CROBAT, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MURKROW, - Species.DUNSPARCE, - Species.GLIGAR, - Species.SCIZOR, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.WINGULL, - Species.PELIPPER, - Species.MASQUERAIN, - Species.NINJASK, - Species.VIBRAVA, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.TROPIUS, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.COMBEE, - Species.VESPIQUEN, - Species.HONCHKROW, - Species.TOGEKISS, - Species.YANMEGA, - Species.GLISCOR, - Species.PALKIA, - Species.GIRATINA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.WOOBAT, - Species.SWOOBAT, - Species.SIGILYPH, - Species.ARCHEN, - Species.ARCHEOPS, - Species.EMOLGA, - Species.DRUDDIGON, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HYDREIGON, - Species.VOLCARONA, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.HAWLUCHA, - Species.NOIBAT, - Species.NOIVERN, - Species.YVELTAL, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.VIKAVOLT, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.LUNALA, - Species.BUZZWOLE, - Species.NAGANADEL, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.FLAPPLE, - Species.CRAMORANT, - Species.SIRFETCHD, - Species.FROSMOTH, - Species.KLEAVOR, - Species.SQUAWKABILLY, - Species.WATTREL, - Species.KILOWATTREL, - Species.BOMBIRDIER, - Species.FLAMIGO, - Species.DUDUNSPARCE, - Species.SLITHER_WING, - Species.IRON_JUGULIS, - Species.KORAIDON, - Species.FEZANDIPITI, - Species.GALAR_FARFETCHD, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.HISUI_BRAVIARY, - Species.HISUI_DECIDUEYE, + [MoveId.DUAL_WINGBEAT]: [ + SpeciesId.CHARIZARD, + SpeciesId.BUTTERFREE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.FARFETCHD, + SpeciesId.SCYTHER, + SpeciesId.AERODACTYL, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.CROBAT, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MURKROW, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.SCIZOR, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.TROPIUS, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.HONCHKROW, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.GLISCOR, + SpeciesId.PALKIA, + SpeciesId.GIRATINA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.SIGILYPH, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.EMOLGA, + SpeciesId.DRUDDIGON, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HYDREIGON, + SpeciesId.VOLCARONA, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.HAWLUCHA, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.YVELTAL, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.VIKAVOLT, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.LUNALA, + SpeciesId.BUZZWOLE, + SpeciesId.NAGANADEL, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.FLAPPLE, + SpeciesId.CRAMORANT, + SpeciesId.SIRFETCHD, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, + SpeciesId.SQUAWKABILLY, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.BOMBIRDIER, + SpeciesId.FLAMIGO, + SpeciesId.DUDUNSPARCE, + SpeciesId.SLITHER_WING, + SpeciesId.IRON_JUGULIS, + SpeciesId.KORAIDON, + SpeciesId.FEZANDIPITI, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_DECIDUEYE, ], - [Moves.SCORCHING_SANDS]: [ - Species.CHARIZARD, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDOQUEEN, - Species.NIDOKING, - Species.NINETALES, - Species.DIGLETT, - Species.DUGTRIO, - Species.ARCANINE, - Species.RAPIDASH, - Species.ONIX, - Species.CUBONE, - Species.MAROWAK, - Species.RHYHORN, - Species.RHYDON, - Species.MAGMAR, - Species.FLAREON, - Species.MOLTRES, - Species.MEW, - Species.TYPHLOSION, - Species.STEELIX, - Species.MAGCARGO, - Species.ENTEI, - Species.HO_OH, - Species.BLAZIKEN, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.BALTOY, - Species.CLAYDOL, - Species.GROUDON, - Species.INFERNAPE, - Species.TORTERRA, - Species.SHIELDON, - Species.BASTIODON, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.RHYPERIOR, - Species.MAGMORTAR, - Species.HEATRAN, - Species.ARCEUS, - Species.VICTINI, - Species.DRILBUR, - Species.EXCADRILL, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.GOLETT, - Species.GOLURK, - Species.HEATMOR, - Species.RESHIRAM, - Species.LANDORUS, - Species.DELPHOX, - Species.DIGGERSBY, - Species.ZYGARDE, - Species.DIANCIE, - Species.VOLCANION, - Species.INCINEROAR, - Species.SANDYGAST, - Species.PALOSSAND, - Species.MINIOR, - Species.TURTONATOR, - Species.CINDERACE, - Species.CARKOL, - Species.COALOSSAL, - Species.SILICOBRA, - Species.SANDACONDA, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.SKELEDIRGE, - Species.ARMAROUGE, - Species.SANDY_SHOCKS, - Species.GOUGING_FIRE, - Species.TERAPAGOS, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MAROWAK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, + [MoveId.SCORCHING_SANDS]: [ + SpeciesId.CHARIZARD, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDOKING, + SpeciesId.NINETALES, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.ARCANINE, + SpeciesId.RAPIDASH, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.MAGMAR, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.TYPHLOSION, + SpeciesId.STEELIX, + SpeciesId.MAGCARGO, + SpeciesId.ENTEI, + SpeciesId.HO_OH, + SpeciesId.BLAZIKEN, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.GROUDON, + SpeciesId.INFERNAPE, + SpeciesId.TORTERRA, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.RHYPERIOR, + SpeciesId.MAGMORTAR, + SpeciesId.HEATRAN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.HEATMOR, + SpeciesId.RESHIRAM, + SpeciesId.LANDORUS, + SpeciesId.DELPHOX, + SpeciesId.DIGGERSBY, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.VOLCANION, + SpeciesId.INCINEROAR, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.MINIOR, + SpeciesId.TURTONATOR, + SpeciesId.CINDERACE, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.SKELEDIRGE, + SpeciesId.ARMAROUGE, + SpeciesId.SANDY_SHOCKS, + SpeciesId.GOUGING_FIRE, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, ], - [Moves.TERA_BLAST]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.CATERPIE, - Species.METAPOD, - Species.BUTTERFREE, - Species.WEEDLE, - Species.KAKUNA, - Species.BEEDRILL, - Species.PIDGEY, - Species.PIDGEOTTO, - Species.PIDGEOT, - Species.RATTATA, - Species.RATICATE, - Species.SPEAROW, - Species.FEAROW, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.SANDSHREW, - Species.SANDSLASH, - Species.NIDORAN_F, - Species.NIDORINA, - Species.NIDOQUEEN, - Species.NIDORAN_M, - Species.NIDORINO, - Species.NIDOKING, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.VULPIX, - Species.NINETALES, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ZUBAT, - Species.GOLBAT, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.PARAS, - Species.PARASECT, - Species.VENONAT, - Species.VENOMOTH, - Species.DIGLETT, - Species.DUGTRIO, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.MANKEY, - Species.PRIMEAPE, - Species.GROWLITHE, - Species.ARCANINE, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.ABRA, - Species.KADABRA, - Species.ALAKAZAM, - Species.MACHOP, - Species.MACHOKE, - Species.MACHAMP, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.GEODUDE, - Species.GRAVELER, - Species.GOLEM, - Species.PONYTA, - Species.RAPIDASH, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.MAGNEMITE, - Species.MAGNETON, - Species.FARFETCHD, - Species.DODUO, - Species.DODRIO, - Species.SEEL, - Species.DEWGONG, - Species.GRIMER, - Species.MUK, - Species.SHELLDER, - Species.CLOYSTER, - Species.GASTLY, - Species.HAUNTER, - Species.GENGAR, - Species.ONIX, - Species.DROWZEE, - Species.HYPNO, - Species.KRABBY, - Species.KINGLER, - Species.VOLTORB, - Species.ELECTRODE, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.CUBONE, - Species.MAROWAK, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.LICKITUNG, - Species.KOFFING, - Species.WEEZING, - Species.RHYHORN, - Species.RHYDON, - Species.CHANSEY, - Species.TANGELA, - Species.KANGASKHAN, - Species.HORSEA, - Species.SEADRA, - Species.GOLDEEN, - Species.SEAKING, - Species.STARYU, - Species.STARMIE, - Species.MR_MIME, - Species.SCYTHER, - Species.JYNX, - Species.ELECTABUZZ, - Species.MAGMAR, - Species.PINSIR, - Species.TAUROS, - Species.GYARADOS, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.PORYGON, - Species.OMANYTE, - Species.OMASTAR, - Species.KABUTO, - Species.KABUTOPS, - Species.AERODACTYL, - Species.SNORLAX, - Species.ARTICUNO, - Species.ZAPDOS, - Species.MOLTRES, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.HOOTHOOT, - Species.NOCTOWL, - Species.LEDYBA, - Species.LEDIAN, - Species.SPINARAK, - Species.ARIADOS, - Species.CROBAT, - Species.CHINCHOU, - Species.LANTURN, - Species.PICHU, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.TOGEPI, - Species.TOGETIC, - Species.NATU, - Species.XATU, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.POLITOED, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.YANMA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.GLIGAR, - Species.STEELIX, - Species.SNUBBULL, - Species.GRANBULL, - Species.QWILFISH, - Species.SCIZOR, - Species.SHUCKLE, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SLUGMA, - Species.MAGCARGO, - Species.SWINUB, - Species.PILOSWINE, - Species.CORSOLA, - Species.REMORAID, - Species.OCTILLERY, - Species.DELIBIRD, - Species.MANTINE, - Species.SKARMORY, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.KINGDRA, - Species.PHANPY, - Species.DONPHAN, - Species.PORYGON2, - Species.STANTLER, - Species.TYROGUE, - Species.HITMONTOP, - Species.SMOOCHUM, - Species.ELEKID, - Species.MAGBY, - Species.MILTANK, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.LARVITAR, - Species.PUPITAR, - Species.TYRANITAR, - Species.LUGIA, - Species.HO_OH, - Species.CELEBI, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.ZIGZAGOON, - Species.LINOONE, - Species.WURMPLE, - Species.SILCOON, - Species.BEAUTIFLY, - Species.CASCOON, - Species.DUSTOX, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.TAILLOW, - Species.SWELLOW, - Species.WINGULL, - Species.PELIPPER, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.NINCADA, - Species.NINJASK, - Species.SHEDINJA, - Species.WHISMUR, - Species.LOUDRED, - Species.EXPLOUD, - Species.MAKUHITA, - Species.HARIYAMA, - Species.AZURILL, - Species.NOSEPASS, - Species.SKITTY, - Species.DELCATTY, - Species.SABLEYE, - Species.MAWILE, - Species.ARON, - Species.LAIRON, - Species.AGGRON, - Species.MEDITITE, - Species.MEDICHAM, - Species.ELECTRIKE, - Species.MANECTRIC, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ROSELIA, - Species.GULPIN, - Species.SWALOT, - Species.CARVANHA, - Species.SHARPEDO, - Species.WAILMER, - Species.WAILORD, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SPOINK, - Species.GRUMPIG, - Species.SPINDA, - Species.TRAPINCH, - Species.VIBRAVA, - Species.FLYGON, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.ZANGOOSE, - Species.SEVIPER, - Species.LUNATONE, - Species.SOLROCK, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.BALTOY, - Species.CLAYDOL, - Species.LILEEP, - Species.CRADILY, - Species.ANORITH, - Species.ARMALDO, - Species.FEEBAS, - Species.MILOTIC, - Species.CASTFORM, - Species.KECLEON, - Species.SHUPPET, - Species.BANETTE, - Species.DUSKULL, - Species.DUSCLOPS, - Species.TROPIUS, - Species.CHIMECHO, - Species.ABSOL, - Species.SNORUNT, - Species.GLALIE, - Species.SPHEAL, - Species.SEALEO, - Species.WALREIN, - Species.CLAMPERL, - Species.HUNTAIL, - Species.GOREBYSS, - Species.RELICANTH, - Species.LUVDISC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.BELDUM, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGICE, - Species.REGISTEEL, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.JIRACHI, - Species.DEOXYS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.STARLY, - Species.STARAVIA, - Species.STARAPTOR, - Species.BIDOOF, - Species.BIBAREL, - Species.KRICKETOT, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.BUDEW, - Species.ROSERADE, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.BURMY, - Species.WORMADAM, - Species.MOTHIM, - Species.COMBEE, - Species.VESPIQUEN, - Species.PACHIRISU, - Species.BUIZEL, - Species.FLOATZEL, - Species.CHERUBI, - Species.CHERRIM, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.BUNEARY, - Species.LOPUNNY, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.GLAMEOW, - Species.PURUGLY, - Species.CHINGLING, - Species.STUNKY, - Species.SKUNTANK, - Species.BRONZOR, - Species.BRONZONG, - Species.BONSLY, - Species.MIME_JR, - Species.HAPPINY, - Species.CHATOT, - Species.SPIRITOMB, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.HIPPOPOTAS, - Species.HIPPOWDON, - Species.SKORUPI, - Species.DRAPION, - Species.CROAGUNK, - Species.TOXICROAK, - Species.CARNIVINE, - Species.FINNEON, - Species.LUMINEON, - Species.MANTYKE, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.MAGNEZONE, - Species.LICKILICKY, - Species.RHYPERIOR, - Species.TANGROWTH, - Species.ELECTIVIRE, - Species.MAGMORTAR, - Species.TOGEKISS, - Species.YANMEGA, - Species.LEAFEON, - Species.GLACEON, - Species.GLISCOR, - Species.MAMOSWINE, - Species.PORYGON_Z, - Species.GALLADE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.FROSLASS, - Species.ROTOM, - Species.UXIE, - Species.MESPRIT, - Species.AZELF, - Species.DIALGA, - Species.PALKIA, - Species.HEATRAN, - Species.REGIGIGAS, - Species.GIRATINA, - Species.CRESSELIA, - Species.PHIONE, - Species.MANAPHY, - Species.DARKRAI, - Species.SHAYMIN, - Species.ARCEUS, - Species.VICTINI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.PATRAT, - Species.WATCHOG, - Species.LILLIPUP, - Species.HERDIER, - Species.STOUTLAND, - Species.PURRLOIN, - Species.LIEPARD, - Species.PANSAGE, - Species.SIMISAGE, - Species.PANSEAR, - Species.SIMISEAR, - Species.PANPOUR, - Species.SIMIPOUR, - Species.MUNNA, - Species.MUSHARNA, - Species.PIDOVE, - Species.TRANQUILL, - Species.UNFEZANT, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.ROGGENROLA, - Species.BOLDORE, - Species.GIGALITH, - Species.WOOBAT, - Species.SWOOBAT, - Species.DRILBUR, - Species.EXCADRILL, - Species.AUDINO, - Species.TIMBURR, - Species.GURDURR, - Species.CONKELDURR, - Species.TYMPOLE, - Species.PALPITOAD, - Species.SEISMITOAD, - Species.THROH, - Species.SAWK, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.VENIPEDE, - Species.WHIRLIPEDE, - Species.SCOLIPEDE, - Species.COTTONEE, - Species.WHIMSICOTT, - Species.PETILIL, - Species.LILLIGANT, - Species.BASCULIN, - Species.SANDILE, - Species.KROKOROK, - Species.KROOKODILE, - Species.DARUMAKA, - Species.DARMANITAN, - Species.MARACTUS, - Species.DWEBBLE, - Species.CRUSTLE, - Species.SCRAGGY, - Species.SCRAFTY, - Species.SIGILYPH, - Species.YAMASK, - Species.COFAGRIGUS, - Species.TIRTOUGA, - Species.CARRACOSTA, - Species.ARCHEN, - Species.ARCHEOPS, - Species.TRUBBISH, - Species.GARBODOR, - Species.ZORUA, - Species.ZOROARK, - Species.MINCCINO, - Species.CINCCINO, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.SOLOSIS, - Species.DUOSION, - Species.REUNICLUS, - Species.DUCKLETT, - Species.SWANNA, - Species.VANILLITE, - Species.VANILLISH, - Species.VANILLUXE, - Species.DEERLING, - Species.SAWSBUCK, - Species.EMOLGA, - Species.KARRABLAST, - Species.ESCAVALIER, - Species.FOONGUS, - Species.AMOONGUSS, - Species.FRILLISH, - Species.JELLICENT, - Species.ALOMOMOLA, - Species.JOLTIK, - Species.GALVANTULA, - Species.FERROSEED, - Species.FERROTHORN, - Species.KLINK, - Species.KLANG, - Species.KLINKLANG, - Species.TYNAMO, - Species.EELEKTRIK, - Species.EELEKTROSS, - Species.ELGYEM, - Species.BEHEEYEM, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.SHELMET, - Species.ACCELGOR, - Species.STUNFISK, - Species.MIENFOO, - Species.MIENSHAO, - Species.DRUDDIGON, - Species.GOLETT, - Species.GOLURK, - Species.PAWNIARD, - Species.BISHARP, - Species.BOUFFALANT, - Species.RUFFLET, - Species.BRAVIARY, - Species.VULLABY, - Species.MANDIBUZZ, - Species.HEATMOR, - Species.DURANT, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.LARVESTA, - Species.VOLCARONA, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.TORNADUS, - Species.THUNDURUS, - Species.RESHIRAM, - Species.ZEKROM, - Species.LANDORUS, - Species.KYUREM, - Species.KELDEO, - Species.MELOETTA, - Species.GENESECT, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FENNEKIN, - Species.BRAIXEN, - Species.DELPHOX, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.BUNNELBY, - Species.DIGGERSBY, - Species.FLETCHLING, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.SCATTERBUG, - Species.SPEWPA, - Species.VIVILLON, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.PANCHAM, - Species.PANGORO, - Species.FURFROU, - Species.ESPURR, - Species.MEOWSTIC, - Species.HONEDGE, - Species.DOUBLADE, - Species.AEGISLASH, - Species.SPRITZEE, - Species.AROMATISSE, - Species.SWIRLIX, - Species.SLURPUFF, - Species.INKAY, - Species.MALAMAR, - Species.BINACLE, - Species.BARBARACLE, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.HELIOPTILE, - Species.HELIOLISK, - Species.TYRUNT, - Species.TYRANTRUM, - Species.AMAURA, - Species.AURORUS, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.CARBINK, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.KLEFKI, - Species.PHANTUMP, - Species.TREVENANT, - Species.PUMPKABOO, - Species.GOURGEIST, - Species.BERGMITE, - Species.AVALUGG, - Species.NOIBAT, - Species.NOIVERN, - Species.XERNEAS, - Species.YVELTAL, - Species.ZYGARDE, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.PIKIPEK, - Species.TRUMBEAK, - Species.TOUCANNON, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.WISHIWASHI, - Species.MAREANIE, - Species.TOXAPEX, - Species.MUDBRAY, - Species.MUDSDALE, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.MORELULL, - Species.SHIINOTIC, - Species.SALANDIT, - Species.SALAZZLE, - Species.STUFFUL, - Species.BEWEAR, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.WIMPOD, - Species.GOLISOPOD, - Species.SANDYGAST, - Species.PALOSSAND, - Species.TYPE_NULL, - Species.SILVALLY, - Species.MINIOR, - Species.KOMALA, - Species.TURTONATOR, - Species.TOGEDEMARU, - Species.MIMIKYU, - Species.BRUXISH, - Species.DRAMPA, - Species.DHELMISE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.TAPU_KOKO, - Species.TAPU_LELE, - Species.TAPU_BULU, - Species.TAPU_FINI, - Species.SOLGALEO, - Species.LUNALA, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.ZERAORA, - Species.MELTAN, - Species.MELMETAL, - Species.ALOLA_RATTATA, - Species.ALOLA_RATICATE, - Species.ALOLA_RAICHU, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_DIGLETT, - Species.ALOLA_DUGTRIO, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.ALOLA_GRIMER, - Species.ALOLA_MUK, - Species.ALOLA_EXEGGUTOR, - Species.ALOLA_MAROWAK, - Species.ETERNAL_FLOETTE, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.SKWOVET, - Species.GREEDENT, - Species.ROOKIDEE, - Species.CORVISQUIRE, - Species.CORVIKNIGHT, - Species.BLIPBUG, - Species.DOTTLER, - Species.ORBEETLE, - Species.NICKIT, - Species.THIEVUL, - Species.GOSSIFLEUR, - Species.ELDEGOSS, - Species.WOOLOO, - Species.DUBWOOL, - Species.CHEWTLE, - Species.DREDNAW, - Species.YAMPER, - Species.BOLTUND, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.APPLIN, - Species.FLAPPLE, - Species.APPLETUN, - Species.SILICOBRA, - Species.SANDACONDA, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.TOXEL, - Species.TOXTRICITY, - Species.SIZZLIPEDE, - Species.CENTISKORCH, - Species.CLOBBOPUS, - Species.GRAPPLOCT, - Species.SINISTEA, - Species.POLTEAGEIST, - Species.HATENNA, - Species.HATTREM, - Species.HATTERENE, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.OBSTAGOON, - Species.PERRSERKER, - Species.CURSOLA, - Species.SIRFETCHD, - Species.MR_RIME, - Species.RUNERIGUS, - Species.MILCERY, - Species.ALCREMIE, - Species.FALINKS, - Species.PINCURCHIN, - Species.SNOM, - Species.FROSMOTH, - Species.STONJOURNER, - Species.EISCUE, - Species.INDEEDEE, - Species.MORPEKO, - Species.CUFANT, - Species.COPPERAJAH, - Species.DRACOZOLT, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.ARCTOVISH, - Species.DURALUDON, - Species.DREEPY, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.ETERNATUS, - Species.KUBFU, - Species.URSHIFU, - Species.ZARUDE, - Species.REGIELEKI, - Species.REGIDRAGO, - Species.GLASTRIER, - Species.SPECTRIER, - Species.CALYREX, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.BASCULEGION, - Species.SNEASLER, - Species.OVERQWIL, - Species.ENAMORUS, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.PAWMI, - Species.PAWMO, - Species.PAWMOT, - Species.TANDEMAUS, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.SQUAWKABILLY, - Species.NACLI, - Species.NACLSTACK, - Species.GARGANACL, - Species.CHARCADET, - Species.ARMAROUGE, - Species.CERULEDGE, - Species.TADBULB, - Species.BELLIBOLT, - Species.WATTREL, - Species.KILOWATTREL, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.WIGLETT, - Species.WUGTRIO, - Species.BOMBIRDIER, - Species.FINIZEN, - Species.PALAFIN, - Species.VAROOM, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.ORTHWORM, - Species.GLIMMET, - Species.GLIMMORA, - Species.GREAVARD, - Species.HOUNDSTONE, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.ANNIHILAPE, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.DUDUNSPARCE, - Species.KINGAMBIT, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.GIMMIGHOUL, - Species.GHOLDENGO, - Species.WO_CHIEN, - Species.CHIEN_PAO, - Species.TING_LU, - Species.CHI_YU, - Species.ROARING_MOON, - Species.IRON_VALIANT, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.IRON_LEAVES, - Species.DIPPLIN, - Species.POLTCHAGEIST, - Species.SINISTCHA, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, - Species.OGERPON, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.PECHARUNT, - Species.GALAR_MEOWTH, - Species.GALAR_PONYTA, - Species.GALAR_RAPIDASH, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_FARFETCHD, - Species.GALAR_WEEZING, - Species.GALAR_MR_MIME, - Species.GALAR_ARTICUNO, - Species.GALAR_ZAPDOS, - Species.GALAR_MOLTRES, - Species.GALAR_SLOWKING, - Species.GALAR_CORSOLA, - Species.GALAR_ZIGZAGOON, - Species.GALAR_LINOONE, - Species.GALAR_DARUMAKA, - Species.GALAR_DARMANITAN, - Species.GALAR_YAMASK, - Species.GALAR_STUNFISK, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_VOLTORB, - Species.HISUI_ELECTRODE, - Species.HISUI_TYPHLOSION, - Species.HISUI_QWILFISH, - Species.HISUI_SNEASEL, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_BRAVIARY, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + [MoveId.TERA_BLAST]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.CATERPIE, + SpeciesId.METAPOD, + SpeciesId.BUTTERFREE, + SpeciesId.WEEDLE, + SpeciesId.KAKUNA, + SpeciesId.BEEDRILL, + SpeciesId.PIDGEY, + SpeciesId.PIDGEOTTO, + SpeciesId.PIDGEOT, + SpeciesId.RATTATA, + SpeciesId.RATICATE, + SpeciesId.SPEAROW, + SpeciesId.FEAROW, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.SANDSHREW, + SpeciesId.SANDSLASH, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORINA, + SpeciesId.NIDOQUEEN, + SpeciesId.NIDORAN_M, + SpeciesId.NIDORINO, + SpeciesId.NIDOKING, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.VULPIX, + SpeciesId.NINETALES, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ZUBAT, + SpeciesId.GOLBAT, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.PARAS, + SpeciesId.PARASECT, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.DIGLETT, + SpeciesId.DUGTRIO, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.MANKEY, + SpeciesId.PRIMEAPE, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.ABRA, + SpeciesId.KADABRA, + SpeciesId.ALAKAZAM, + SpeciesId.MACHOP, + SpeciesId.MACHOKE, + SpeciesId.MACHAMP, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.GEODUDE, + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.PONYTA, + SpeciesId.RAPIDASH, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.MAGNEMITE, + SpeciesId.MAGNETON, + SpeciesId.FARFETCHD, + SpeciesId.DODUO, + SpeciesId.DODRIO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.GRIMER, + SpeciesId.MUK, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.GASTLY, + SpeciesId.HAUNTER, + SpeciesId.GENGAR, + SpeciesId.ONIX, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.KRABBY, + SpeciesId.KINGLER, + SpeciesId.VOLTORB, + SpeciesId.ELECTRODE, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.CUBONE, + SpeciesId.MAROWAK, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.LICKITUNG, + SpeciesId.KOFFING, + SpeciesId.WEEZING, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.CHANSEY, + SpeciesId.TANGELA, + SpeciesId.KANGASKHAN, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GOLDEEN, + SpeciesId.SEAKING, + SpeciesId.STARYU, + SpeciesId.STARMIE, + SpeciesId.MR_MIME, + SpeciesId.SCYTHER, + SpeciesId.JYNX, + SpeciesId.ELECTABUZZ, + SpeciesId.MAGMAR, + SpeciesId.PINSIR, + SpeciesId.TAUROS, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.OMASTAR, + SpeciesId.KABUTO, + SpeciesId.KABUTOPS, + SpeciesId.AERODACTYL, + SpeciesId.SNORLAX, + SpeciesId.ARTICUNO, + SpeciesId.ZAPDOS, + SpeciesId.MOLTRES, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.HOOTHOOT, + SpeciesId.NOCTOWL, + SpeciesId.LEDYBA, + SpeciesId.LEDIAN, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.CROBAT, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.PICHU, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.TOGEPI, + SpeciesId.TOGETIC, + SpeciesId.NATU, + SpeciesId.XATU, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.POLITOED, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.YANMA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.GLIGAR, + SpeciesId.STEELIX, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.QWILFISH, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.CORSOLA, + SpeciesId.REMORAID, + SpeciesId.OCTILLERY, + SpeciesId.DELIBIRD, + SpeciesId.MANTINE, + SpeciesId.SKARMORY, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.KINGDRA, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.PORYGON2, + SpeciesId.STANTLER, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.SMOOCHUM, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.MILTANK, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.LARVITAR, + SpeciesId.PUPITAR, + SpeciesId.TYRANITAR, + SpeciesId.LUGIA, + SpeciesId.HO_OH, + SpeciesId.CELEBI, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.LINOONE, + SpeciesId.WURMPLE, + SpeciesId.SILCOON, + SpeciesId.BEAUTIFLY, + SpeciesId.CASCOON, + SpeciesId.DUSTOX, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.TAILLOW, + SpeciesId.SWELLOW, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.NINCADA, + SpeciesId.NINJASK, + SpeciesId.SHEDINJA, + SpeciesId.WHISMUR, + SpeciesId.LOUDRED, + SpeciesId.EXPLOUD, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.AZURILL, + SpeciesId.NOSEPASS, + SpeciesId.SKITTY, + SpeciesId.DELCATTY, + SpeciesId.SABLEYE, + SpeciesId.MAWILE, + SpeciesId.ARON, + SpeciesId.LAIRON, + SpeciesId.AGGRON, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ELECTRIKE, + SpeciesId.MANECTRIC, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ROSELIA, + SpeciesId.GULPIN, + SpeciesId.SWALOT, + SpeciesId.CARVANHA, + SpeciesId.SHARPEDO, + SpeciesId.WAILMER, + SpeciesId.WAILORD, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.SPINDA, + SpeciesId.TRAPINCH, + SpeciesId.VIBRAVA, + SpeciesId.FLYGON, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.SOLROCK, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.BALTOY, + SpeciesId.CLAYDOL, + SpeciesId.LILEEP, + SpeciesId.CRADILY, + SpeciesId.ANORITH, + SpeciesId.ARMALDO, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.CASTFORM, + SpeciesId.KECLEON, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.DUSKULL, + SpeciesId.DUSCLOPS, + SpeciesId.TROPIUS, + SpeciesId.CHIMECHO, + SpeciesId.ABSOL, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.SPHEAL, + SpeciesId.SEALEO, + SpeciesId.WALREIN, + SpeciesId.CLAMPERL, + SpeciesId.HUNTAIL, + SpeciesId.GOREBYSS, + SpeciesId.RELICANTH, + SpeciesId.LUVDISC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.BELDUM, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.STARLY, + SpeciesId.STARAVIA, + SpeciesId.STARAPTOR, + SpeciesId.BIDOOF, + SpeciesId.BIBAREL, + SpeciesId.KRICKETOT, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.BUDEW, + SpeciesId.ROSERADE, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BURMY, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.COMBEE, + SpeciesId.VESPIQUEN, + SpeciesId.PACHIRISU, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.CHERUBI, + SpeciesId.CHERRIM, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.BUNEARY, + SpeciesId.LOPUNNY, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.GLAMEOW, + SpeciesId.PURUGLY, + SpeciesId.CHINGLING, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.BONSLY, + SpeciesId.MIME_JR, + SpeciesId.HAPPINY, + SpeciesId.CHATOT, + SpeciesId.SPIRITOMB, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.HIPPOPOTAS, + SpeciesId.HIPPOWDON, + SpeciesId.SKORUPI, + SpeciesId.DRAPION, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.CARNIVINE, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.MANTYKE, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.MAGNEZONE, + SpeciesId.LICKILICKY, + SpeciesId.RHYPERIOR, + SpeciesId.TANGROWTH, + SpeciesId.ELECTIVIRE, + SpeciesId.MAGMORTAR, + SpeciesId.TOGEKISS, + SpeciesId.YANMEGA, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GLISCOR, + SpeciesId.MAMOSWINE, + SpeciesId.PORYGON_Z, + SpeciesId.GALLADE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.FROSLASS, + SpeciesId.ROTOM, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.AZELF, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.GIRATINA, + SpeciesId.CRESSELIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.DARKRAI, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.VICTINI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.PATRAT, + SpeciesId.WATCHOG, + SpeciesId.LILLIPUP, + SpeciesId.HERDIER, + SpeciesId.STOUTLAND, + SpeciesId.PURRLOIN, + SpeciesId.LIEPARD, + SpeciesId.PANSAGE, + SpeciesId.SIMISAGE, + SpeciesId.PANSEAR, + SpeciesId.SIMISEAR, + SpeciesId.PANPOUR, + SpeciesId.SIMIPOUR, + SpeciesId.MUNNA, + SpeciesId.MUSHARNA, + SpeciesId.PIDOVE, + SpeciesId.TRANQUILL, + SpeciesId.UNFEZANT, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.ROGGENROLA, + SpeciesId.BOLDORE, + SpeciesId.GIGALITH, + SpeciesId.WOOBAT, + SpeciesId.SWOOBAT, + SpeciesId.DRILBUR, + SpeciesId.EXCADRILL, + SpeciesId.AUDINO, + SpeciesId.TIMBURR, + SpeciesId.GURDURR, + SpeciesId.CONKELDURR, + SpeciesId.TYMPOLE, + SpeciesId.PALPITOAD, + SpeciesId.SEISMITOAD, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.VENIPEDE, + SpeciesId.WHIRLIPEDE, + SpeciesId.SCOLIPEDE, + SpeciesId.COTTONEE, + SpeciesId.WHIMSICOTT, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.BASCULIN, + SpeciesId.SANDILE, + SpeciesId.KROKOROK, + SpeciesId.KROOKODILE, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.MARACTUS, + SpeciesId.DWEBBLE, + SpeciesId.CRUSTLE, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.COFAGRIGUS, + SpeciesId.TIRTOUGA, + SpeciesId.CARRACOSTA, + SpeciesId.ARCHEN, + SpeciesId.ARCHEOPS, + SpeciesId.TRUBBISH, + SpeciesId.GARBODOR, + SpeciesId.ZORUA, + SpeciesId.ZOROARK, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.SOLOSIS, + SpeciesId.DUOSION, + SpeciesId.REUNICLUS, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.VANILLITE, + SpeciesId.VANILLISH, + SpeciesId.VANILLUXE, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.EMOLGA, + SpeciesId.KARRABLAST, + SpeciesId.ESCAVALIER, + SpeciesId.FOONGUS, + SpeciesId.AMOONGUSS, + SpeciesId.FRILLISH, + SpeciesId.JELLICENT, + SpeciesId.ALOMOMOLA, + SpeciesId.JOLTIK, + SpeciesId.GALVANTULA, + SpeciesId.FERROSEED, + SpeciesId.FERROTHORN, + SpeciesId.KLINK, + SpeciesId.KLANG, + SpeciesId.KLINKLANG, + SpeciesId.TYNAMO, + SpeciesId.EELEKTRIK, + SpeciesId.EELEKTROSS, + SpeciesId.ELGYEM, + SpeciesId.BEHEEYEM, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.SHELMET, + SpeciesId.ACCELGOR, + SpeciesId.STUNFISK, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.DRUDDIGON, + SpeciesId.GOLETT, + SpeciesId.GOLURK, + SpeciesId.PAWNIARD, + SpeciesId.BISHARP, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.BRAVIARY, + SpeciesId.VULLABY, + SpeciesId.MANDIBUZZ, + SpeciesId.HEATMOR, + SpeciesId.DURANT, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.TORNADUS, + SpeciesId.THUNDURUS, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.LANDORUS, + SpeciesId.KYUREM, + SpeciesId.KELDEO, + SpeciesId.MELOETTA, + SpeciesId.GENESECT, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FENNEKIN, + SpeciesId.BRAIXEN, + SpeciesId.DELPHOX, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.BUNNELBY, + SpeciesId.DIGGERSBY, + SpeciesId.FLETCHLING, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.SCATTERBUG, + SpeciesId.SPEWPA, + SpeciesId.VIVILLON, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.PANCHAM, + SpeciesId.PANGORO, + SpeciesId.FURFROU, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.HONEDGE, + SpeciesId.DOUBLADE, + SpeciesId.AEGISLASH, + SpeciesId.SPRITZEE, + SpeciesId.AROMATISSE, + SpeciesId.SWIRLIX, + SpeciesId.SLURPUFF, + SpeciesId.INKAY, + SpeciesId.MALAMAR, + SpeciesId.BINACLE, + SpeciesId.BARBARACLE, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.HELIOPTILE, + SpeciesId.HELIOLISK, + SpeciesId.TYRUNT, + SpeciesId.TYRANTRUM, + SpeciesId.AMAURA, + SpeciesId.AURORUS, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.CARBINK, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.KLEFKI, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.PUMPKABOO, + SpeciesId.GOURGEIST, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.NOIBAT, + SpeciesId.NOIVERN, + SpeciesId.XERNEAS, + SpeciesId.YVELTAL, + SpeciesId.ZYGARDE, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.PIKIPEK, + SpeciesId.TRUMBEAK, + SpeciesId.TOUCANNON, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.WISHIWASHI, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MUDBRAY, + SpeciesId.MUDSDALE, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.MORELULL, + SpeciesId.SHIINOTIC, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.STUFFUL, + SpeciesId.BEWEAR, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.WIMPOD, + SpeciesId.GOLISOPOD, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.TYPE_NULL, + SpeciesId.SILVALLY, + SpeciesId.MINIOR, + SpeciesId.KOMALA, + SpeciesId.TURTONATOR, + SpeciesId.TOGEDEMARU, + SpeciesId.MIMIKYU, + SpeciesId.BRUXISH, + SpeciesId.DRAMPA, + SpeciesId.DHELMISE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.TAPU_KOKO, + SpeciesId.TAPU_LELE, + SpeciesId.TAPU_BULU, + SpeciesId.TAPU_FINI, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.ZERAORA, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_RATICATE, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_DUGTRIO, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.ALOLA_MUK, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.ALOLA_MAROWAK, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.ROOKIDEE, + SpeciesId.CORVISQUIRE, + SpeciesId.CORVIKNIGHT, + SpeciesId.BLIPBUG, + SpeciesId.DOTTLER, + SpeciesId.ORBEETLE, + SpeciesId.NICKIT, + SpeciesId.THIEVUL, + SpeciesId.GOSSIFLEUR, + SpeciesId.ELDEGOSS, + SpeciesId.WOOLOO, + SpeciesId.DUBWOOL, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.YAMPER, + SpeciesId.BOLTUND, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.APPLIN, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.TOXEL, + SpeciesId.TOXTRICITY, + SpeciesId.SIZZLIPEDE, + SpeciesId.CENTISKORCH, + SpeciesId.CLOBBOPUS, + SpeciesId.GRAPPLOCT, + SpeciesId.SINISTEA, + SpeciesId.POLTEAGEIST, + SpeciesId.HATENNA, + SpeciesId.HATTREM, + SpeciesId.HATTERENE, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.OBSTAGOON, + SpeciesId.PERRSERKER, + SpeciesId.CURSOLA, + SpeciesId.SIRFETCHD, + SpeciesId.MR_RIME, + SpeciesId.RUNERIGUS, + SpeciesId.MILCERY, + SpeciesId.ALCREMIE, + SpeciesId.FALINKS, + SpeciesId.PINCURCHIN, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.STONJOURNER, + SpeciesId.EISCUE, + SpeciesId.INDEEDEE, + SpeciesId.MORPEKO, + SpeciesId.CUFANT, + SpeciesId.COPPERAJAH, + SpeciesId.DRACOZOLT, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.ARCTOVISH, + SpeciesId.DURALUDON, + SpeciesId.DREEPY, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.ETERNATUS, + SpeciesId.KUBFU, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.REGIELEKI, + SpeciesId.REGIDRAGO, + SpeciesId.GLASTRIER, + SpeciesId.SPECTRIER, + SpeciesId.CALYREX, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.BASCULEGION, + SpeciesId.SNEASLER, + SpeciesId.OVERQWIL, + SpeciesId.ENAMORUS, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.PAWMI, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.TANDEMAUS, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.SQUAWKABILLY, + SpeciesId.NACLI, + SpeciesId.NACLSTACK, + SpeciesId.GARGANACL, + SpeciesId.CHARCADET, + SpeciesId.ARMAROUGE, + SpeciesId.CERULEDGE, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WATTREL, + SpeciesId.KILOWATTREL, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.BOMBIRDIER, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.VAROOM, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.ORTHWORM, + SpeciesId.GLIMMET, + SpeciesId.GLIMMORA, + SpeciesId.GREAVARD, + SpeciesId.HOUNDSTONE, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.ANNIHILAPE, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.DUDUNSPARCE, + SpeciesId.KINGAMBIT, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.GIMMIGHOUL, + SpeciesId.GHOLDENGO, + SpeciesId.WO_CHIEN, + SpeciesId.CHIEN_PAO, + SpeciesId.TING_LU, + SpeciesId.CHI_YU, + SpeciesId.ROARING_MOON, + SpeciesId.IRON_VALIANT, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.IRON_LEAVES, + SpeciesId.DIPPLIN, + SpeciesId.POLTCHAGEIST, + SpeciesId.SINISTCHA, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, + SpeciesId.OGERPON, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.PECHARUNT, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_RAPIDASH, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_WEEZING, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_ZAPDOS, + SpeciesId.GALAR_MOLTRES, + SpeciesId.GALAR_SLOWKING, + SpeciesId.GALAR_CORSOLA, + SpeciesId.GALAR_ZIGZAGOON, + SpeciesId.GALAR_LINOONE, + SpeciesId.GALAR_DARUMAKA, + SpeciesId.GALAR_DARMANITAN, + SpeciesId.GALAR_YAMASK, + SpeciesId.GALAR_STUNFISK, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_VOLTORB, + SpeciesId.HISUI_ELECTRODE, + SpeciesId.HISUI_TYPHLOSION, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_BRAVIARY, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.ICE_SPINNER]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.ARTICUNO, - Species.DRAGONITE, - Species.MEW, - Species.MARILL, - Species.AZUMARILL, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.DELIBIRD, - Species.DONPHAN, - Species.HITMONTOP, - Species.LUDICOLO, - Species.SNORUNT, - Species.GLALIE, - Species.REGICE, - Species.REGISTEEL, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BUIZEL, - Species.FLOATZEL, - Species.BRONZOR, - Species.BRONZONG, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.FROSLASS, - Species.CINCCINO, - Species.CRYOGONAL, - Species.MIENSHAO, - Species.BERGMITE, - Species.AVALUGG, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.CRABOMINABLE, - Species.MAREANIE, - Species.TOXAPEX, - Species.KOMALA, - Species.MAGEARNA, - Species.DREDNAW, - Species.FROSMOTH, - Species.EISCUE, - Species.QUAQUAVAL, - Species.CYCLIZAR, - Species.CETODDLE, - Species.CETITAN, - Species.DUDUNSPARCE, - Species.GREAT_TUSK, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.CHIEN_PAO, - Species.TERAPAGOS, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, + [MoveId.ICE_SPINNER]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.ARTICUNO, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.DELIBIRD, + SpeciesId.DONPHAN, + SpeciesId.HITMONTOP, + SpeciesId.LUDICOLO, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.REGICE, + SpeciesId.REGISTEEL, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.FROSLASS, + SpeciesId.CINCCINO, + SpeciesId.CRYOGONAL, + SpeciesId.MIENSHAO, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.CRABOMINABLE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.KOMALA, + SpeciesId.MAGEARNA, + SpeciesId.DREDNAW, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.QUAQUAVAL, + SpeciesId.CYCLIZAR, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.DUDUNSPARCE, + SpeciesId.GREAT_TUSK, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.CHIEN_PAO, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], - Species.HISUI_LILLIGANT, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, ], - [Moves.SNOWSCAPE]: [ - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.CHANSEY, - Species.LAPRAS, - Species.ARTICUNO, - Species.DRAGONITE, - Species.MEW, - Species.MARILL, - Species.AZUMARILL, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.MISDREAVUS, - Species.SNEASEL, - Species.SWINUB, - Species.PILOSWINE, - Species.DELIBIRD, - Species.BLISSEY, - Species.SUICUNE, - Species.WINGULL, - Species.PELIPPER, - Species.SPOINK, - Species.GRUMPIG, - Species.ALTARIA, - Species.SNORUNT, - Species.GLALIE, - Species.LUVDISC, - Species.REGICE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.SHELLOS, - Species.GASTRODON, - Species.MISMAGIUS, - Species.HAPPINY, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.GLACEON, - Species.MAMOSWINE, - Species.FROSLASS, - Species.PALKIA, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.BASCULIN, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.TORNADUS, - Species.KYUREM, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.SKRELP, - Species.DRAGALGE, - Species.BERGMITE, - Species.AVALUGG, - Species.DIANCIE, - Species.PRIMARINA, - Species.CRABOMINABLE, - Species.MAGEARNA, - Species.INTELEON, - Species.FROSMOTH, - Species.EISCUE, - Species.GLASTRIER, - Species.BASCULEGION, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.SCREAM_TAIL, - Species.IRON_BUNDLE, - Species.FRIGIBAX, - Species.ARCTIBAX, - Species.BAXCALIBUR, - Species.CHIEN_PAO, - Species.ALOLA_SANDSHREW, - Species.ALOLA_SANDSLASH, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_ARTICUNO, + [MoveId.SNOWSCAPE]: [ + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.CHANSEY, + SpeciesId.LAPRAS, + SpeciesId.ARTICUNO, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.DELIBIRD, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.ALTARIA, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.LUVDISC, + SpeciesId.REGICE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.MISMAGIUS, + SpeciesId.HAPPINY, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.FROSLASS, + SpeciesId.PALKIA, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.BASCULIN, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.TORNADUS, + SpeciesId.KYUREM, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.DIANCIE, + SpeciesId.PRIMARINA, + SpeciesId.CRABOMINABLE, + SpeciesId.MAGEARNA, + SpeciesId.INTELEON, + SpeciesId.FROSMOTH, + SpeciesId.EISCUE, + SpeciesId.GLASTRIER, + SpeciesId.BASCULEGION, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.SCREAM_TAIL, + SpeciesId.IRON_BUNDLE, + SpeciesId.FRIGIBAX, + SpeciesId.ARCTIBAX, + SpeciesId.BAXCALIBUR, + SpeciesId.CHIEN_PAO, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_SANDSLASH, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_ARTICUNO, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_SAMUROTT, - Species.HISUI_ZORUA, - Species.HISUI_ZOROARK, - Species.HISUI_AVALUGG, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_ZORUA, + SpeciesId.HISUI_ZOROARK, + SpeciesId.HISUI_AVALUGG, ], - [Moves.POUNCE]: [ - Species.VENONAT, - Species.VENOMOTH, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.SCYTHER, - Species.MEW, - Species.SPINARAK, - Species.ARIADOS, - Species.YANMA, - Species.PINECO, - Species.FORRETRESS, - Species.DUNSPARCE, - Species.SCIZOR, - Species.HERACROSS, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SHROOMISH, - Species.BRELOOM, - Species.SLAKING, - Species.VOLBEAT, - Species.ILLUMISE, - Species.SEVIPER, - Species.SHUPPET, - Species.BANETTE, - Species.KRICKETUNE, - Species.VESPIQUEN, - Species.YANMEGA, - Species.HEATRAN, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.LARVESTA, - Species.VOLCARONA, - Species.SCATTERBUG, - Species.SPEWPA, - Species.VIVILLON, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.GRUBBIN, - Species.CHARJABUG, - Species.VIKAVOLT, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.MAREANIE, - Species.TOXAPEX, - Species.MIMIKYU, - Species.APPLIN, - Species.FLAPPLE, - Species.APPLETUN, - Species.CRAMORANT, - Species.SNOM, - Species.FROSMOTH, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.KLEAVOR, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.SQUAWKABILLY, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.RELLOR, - Species.RABSCA, - Species.FLITTLE, - Species.ESPATHRA, - Species.TINKATINK, - Species.TINKATUFF, - Species.TINKATON, - Species.FLAMIGO, - Species.DUDUNSPARCE, - Species.IRON_MOTH, - Species.DIPPLIN, - Species.HYDRAPPLE, + [MoveId.POUNCE]: [ + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.SCYTHER, + SpeciesId.MEW, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.YANMA, + SpeciesId.PINECO, + SpeciesId.FORRETRESS, + SpeciesId.DUNSPARCE, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SHROOMISH, + SpeciesId.BRELOOM, + SpeciesId.SLAKING, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.SEVIPER, + SpeciesId.SHUPPET, + SpeciesId.BANETTE, + SpeciesId.KRICKETUNE, + SpeciesId.VESPIQUEN, + SpeciesId.YANMEGA, + SpeciesId.HEATRAN, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.SCATTERBUG, + SpeciesId.SPEWPA, + SpeciesId.VIVILLON, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.GRUBBIN, + SpeciesId.CHARJABUG, + SpeciesId.VIKAVOLT, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.MIMIKYU, + SpeciesId.APPLIN, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.CRAMORANT, + SpeciesId.SNOM, + SpeciesId.FROSMOTH, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.KLEAVOR, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.SQUAWKABILLY, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.RELLOR, + SpeciesId.RABSCA, + SpeciesId.FLITTLE, + SpeciesId.ESPATHRA, + SpeciesId.TINKATINK, + SpeciesId.TINKATUFF, + SpeciesId.TINKATON, + SpeciesId.FLAMIGO, + SpeciesId.DUDUNSPARCE, + SpeciesId.IRON_MOTH, + SpeciesId.DIPPLIN, + SpeciesId.HYDRAPPLE, ], - [Moves.TRAILBLAZE]: [ - Species.BULBASAUR, - Species.IVYSAUR, - Species.VENUSAUR, - Species.EKANS, - Species.ARBOK, - Species.PIKACHU, - Species.RAICHU, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.ODDISH, - Species.GLOOM, - Species.VILEPLUME, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.BELLSPROUT, - Species.WEEPINBELL, - Species.VICTREEBEL, - Species.DODRIO, - Species.DROWZEE, - Species.HYPNO, - Species.HITMONCHAN, - Species.CHANSEY, - Species.SCYTHER, - Species.TAUROS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.SNORLAX, - Species.MEWTWO, - Species.MEW, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.SPINARAK, - Species.ARIADOS, - Species.PICHU, - Species.IGGLYBUFF, - Species.MAREEP, - Species.FLAAFFY, - Species.AMPHAROS, - Species.BELLOSSOM, - Species.MARILL, - Species.AZUMARILL, - Species.SUDOWOODO, - Species.HOPPIP, - Species.SKIPLOOM, - Species.JUMPLUFF, - Species.AIPOM, - Species.SUNKERN, - Species.SUNFLORA, - Species.WOOPER, - Species.QUAGSIRE, - Species.ESPEON, - Species.UMBREON, - Species.GIRAFARIG, - Species.SNUBBULL, - Species.GRANBULL, - Species.SCIZOR, - Species.HERACROSS, - Species.SNEASEL, - Species.TEDDIURSA, - Species.URSARING, - Species.SWINUB, - Species.PILOSWINE, - Species.DELIBIRD, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.PHANPY, - Species.DONPHAN, - Species.STANTLER, - Species.ELEKID, - Species.BLISSEY, - Species.RAIKOU, - Species.ENTEI, - Species.SUICUNE, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.POOCHYENA, - Species.MIGHTYENA, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.SEEDOT, - Species.NUZLEAF, - Species.SHIFTRY, - Species.VIGOROTH, - Species.SLAKING, - Species.MEDITITE, - Species.MEDICHAM, - Species.PLUSLE, - Species.MINUN, - Species.VOLBEAT, - Species.ILLUMISE, - Species.NUMEL, - Species.CAMERUPT, - Species.SPOINK, - Species.GRUMPIG, - Species.CACNEA, - Species.CACTURNE, - Species.SWABLU, - Species.ALTARIA, - Species.SEVIPER, - Species.BANETTE, - Species.TROPIUS, - Species.SNORUNT, - Species.GLALIE, - Species.METANG, - Species.METAGROSS, - Species.TURTWIG, - Species.GROTLE, - Species.TORTERRA, - Species.KRICKETUNE, - Species.SHINX, - Species.LUXIO, - Species.LUXRAY, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.SHIELDON, - Species.BASTIODON, - Species.PACHIRISU, - Species.AMBIPOM, - Species.STUNKY, - Species.SKUNTANK, - Species.BONSLY, - Species.MUNCHLAX, - Species.RIOLU, - Species.LUCARIO, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.ELECTIVIRE, - Species.LEAFEON, - Species.GLACEON, - Species.MAMOSWINE, - Species.FROSLASS, - Species.SHAYMIN, - Species.ARCEUS, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.SEWADDLE, - Species.SWADLOON, - Species.LEAVANNY, - Species.PETILIL, - Species.LILLIGANT, - Species.SCRAGGY, - Species.SCRAFTY, - Species.DUCKLETT, - Species.MINCCINO, - Species.CINCCINO, - Species.SWANNA, - Species.DEERLING, - Species.SAWSBUCK, - Species.CHANDELURE, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.CUBCHOO, - Species.BEARTIC, - Species.MIENFOO, - Species.MIENSHAO, - Species.LARVESTA, - Species.VOLCARONA, - Species.CHESPIN, - Species.QUILLADIN, - Species.CHESNAUGHT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.LITLEO, - Species.PYROAR, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKIDDO, - Species.GOGOAT, - Species.MEOWSTIC, - Species.MALAMAR, - Species.SYLVEON, - Species.HAWLUCHA, - Species.DEDENNE, - Species.PHANTUMP, - Species.TREVENANT, - Species.ROWLET, - Species.DARTRIX, - Species.DECIDUEYE, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.ORICORIO, - Species.CUTIEFLY, - Species.RIBOMBEE, - Species.ROCKRUFF, - Species.LYCANROC, - Species.DEWPIDER, - Species.ARAQUANID, - Species.FOMANTIS, - Species.LURANTIS, - Species.SALANDIT, - Species.SALAZZLE, - Species.BOUNSWEET, - Species.STEENEE, - Species.TSAREENA, - Species.COMFEY, - Species.ORANGURU, - Species.PASSIMIAN, - Species.KOMALA, - Species.MIMIKYU, - Species.GROOKEY, - Species.THWACKEY, - Species.RILLABOOM, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.SKWOVET, - Species.GREEDENT, - Species.FLAPPLE, - Species.APPLETUN, - Species.TOXTRICITY, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.FALINKS, - Species.ZACIAN, - Species.ZAMAZENTA, - Species.URSHIFU, - Species.ZARUDE, - Species.GLASTRIER, - Species.WYRDEER, - Species.KLEAVOR, - Species.URSALUNA, - Species.SNEASLER, - Species.SPRIGATITO, - Species.FLORAGATO, - Species.MEOWSCARADA, - Species.LECHONK, - Species.OINKOLOGNE, - Species.TAROUNTULA, - Species.SPIDOPS, - Species.NYMBLE, - Species.LOKIX, - Species.MAUSHOLD, - Species.FIDOUGH, - Species.DACHSBUN, - Species.SMOLIV, - Species.DOLLIV, - Species.ARBOLIVA, - Species.MASCHIFF, - Species.MABOSSTIFF, - Species.SHROODLE, - Species.GRAFAIAI, - Species.BRAMBLIN, - Species.BRAMBLEGHAST, - Species.TOEDSCOOL, - Species.TOEDSCRUEL, - Species.KLAWF, - Species.CAPSAKID, - Species.SCOVILLAIN, - Species.CYCLIZAR, - Species.CLODSIRE, - Species.FARIGIRAF, - Species.BRUTE_BONNET, - Species.SLITHER_WING, - Species.WO_CHIEN, - Species.IRON_LEAVES, - Species.MUNKIDORI, - Species.OGERPON, - Species.ALOLA_RAICHU, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ETERNAL_FLOETTE, - Species.GALAR_MEOWTH, - Species.GALAR_ZAPDOS, + [MoveId.TRAILBLAZE]: [ + SpeciesId.BULBASAUR, + SpeciesId.IVYSAUR, + SpeciesId.VENUSAUR, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.ODDISH, + SpeciesId.GLOOM, + SpeciesId.VILEPLUME, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.BELLSPROUT, + SpeciesId.WEEPINBELL, + SpeciesId.VICTREEBEL, + SpeciesId.DODRIO, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.HITMONCHAN, + SpeciesId.CHANSEY, + SpeciesId.SCYTHER, + SpeciesId.TAUROS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.SNORLAX, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.SPINARAK, + SpeciesId.ARIADOS, + SpeciesId.PICHU, + SpeciesId.IGGLYBUFF, + SpeciesId.MAREEP, + SpeciesId.FLAAFFY, + SpeciesId.AMPHAROS, + SpeciesId.BELLOSSOM, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.SUDOWOODO, + SpeciesId.HOPPIP, + SpeciesId.SKIPLOOM, + SpeciesId.JUMPLUFF, + SpeciesId.AIPOM, + SpeciesId.SUNKERN, + SpeciesId.SUNFLORA, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.GIRAFARIG, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SCIZOR, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.SWINUB, + SpeciesId.PILOSWINE, + SpeciesId.DELIBIRD, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.PHANPY, + SpeciesId.DONPHAN, + SpeciesId.STANTLER, + SpeciesId.ELEKID, + SpeciesId.BLISSEY, + SpeciesId.RAIKOU, + SpeciesId.ENTEI, + SpeciesId.SUICUNE, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.POOCHYENA, + SpeciesId.MIGHTYENA, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.SEEDOT, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.CACNEA, + SpeciesId.CACTURNE, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.SEVIPER, + SpeciesId.BANETTE, + SpeciesId.TROPIUS, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.TURTWIG, + SpeciesId.GROTLE, + SpeciesId.TORTERRA, + SpeciesId.KRICKETUNE, + SpeciesId.SHINX, + SpeciesId.LUXIO, + SpeciesId.LUXRAY, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.PACHIRISU, + SpeciesId.AMBIPOM, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.BONSLY, + SpeciesId.MUNCHLAX, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.ELECTIVIRE, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.MAMOSWINE, + SpeciesId.FROSLASS, + SpeciesId.SHAYMIN, + SpeciesId.ARCEUS, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.SEWADDLE, + SpeciesId.SWADLOON, + SpeciesId.LEAVANNY, + SpeciesId.PETILIL, + SpeciesId.LILLIGANT, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.DUCKLETT, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.SWANNA, + SpeciesId.DEERLING, + SpeciesId.SAWSBUCK, + SpeciesId.CHANDELURE, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.LARVESTA, + SpeciesId.VOLCARONA, + SpeciesId.CHESPIN, + SpeciesId.QUILLADIN, + SpeciesId.CHESNAUGHT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.LITLEO, + SpeciesId.PYROAR, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKIDDO, + SpeciesId.GOGOAT, + SpeciesId.MEOWSTIC, + SpeciesId.MALAMAR, + SpeciesId.SYLVEON, + SpeciesId.HAWLUCHA, + SpeciesId.DEDENNE, + SpeciesId.PHANTUMP, + SpeciesId.TREVENANT, + SpeciesId.ROWLET, + SpeciesId.DARTRIX, + SpeciesId.DECIDUEYE, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.RIBOMBEE, + SpeciesId.ROCKRUFF, + SpeciesId.LYCANROC, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.FOMANTIS, + SpeciesId.LURANTIS, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.BOUNSWEET, + SpeciesId.STEENEE, + SpeciesId.TSAREENA, + SpeciesId.COMFEY, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.KOMALA, + SpeciesId.MIMIKYU, + SpeciesId.GROOKEY, + SpeciesId.THWACKEY, + SpeciesId.RILLABOOM, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.SKWOVET, + SpeciesId.GREEDENT, + SpeciesId.FLAPPLE, + SpeciesId.APPLETUN, + SpeciesId.TOXTRICITY, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.FALINKS, + SpeciesId.ZACIAN, + SpeciesId.ZAMAZENTA, + SpeciesId.URSHIFU, + SpeciesId.ZARUDE, + SpeciesId.GLASTRIER, + SpeciesId.WYRDEER, + SpeciesId.KLEAVOR, + SpeciesId.URSALUNA, + SpeciesId.SNEASLER, + SpeciesId.SPRIGATITO, + SpeciesId.FLORAGATO, + SpeciesId.MEOWSCARADA, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.TAROUNTULA, + SpeciesId.SPIDOPS, + SpeciesId.NYMBLE, + SpeciesId.LOKIX, + SpeciesId.MAUSHOLD, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.SMOLIV, + SpeciesId.DOLLIV, + SpeciesId.ARBOLIVA, + SpeciesId.MASCHIFF, + SpeciesId.MABOSSTIFF, + SpeciesId.SHROODLE, + SpeciesId.GRAFAIAI, + SpeciesId.BRAMBLIN, + SpeciesId.BRAMBLEGHAST, + SpeciesId.TOEDSCOOL, + SpeciesId.TOEDSCRUEL, + SpeciesId.KLAWF, + SpeciesId.CAPSAKID, + SpeciesId.SCOVILLAIN, + SpeciesId.CYCLIZAR, + SpeciesId.CLODSIRE, + SpeciesId.FARIGIRAF, + SpeciesId.BRUTE_BONNET, + SpeciesId.SLITHER_WING, + SpeciesId.WO_CHIEN, + SpeciesId.IRON_LEAVES, + SpeciesId.MUNKIDORI, + SpeciesId.OGERPON, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ZAPDOS, [ - Species.CALYREX, + SpeciesId.CALYREX, "ice", ], - Species.HISUI_SNEASEL, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, - Species.PALDEA_TAUROS, - Species.PALDEA_WOOPER, - Species.BLOODMOON_URSALUNA, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, + SpeciesId.PALDEA_TAUROS, + SpeciesId.PALDEA_WOOPER, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.CHILLING_WATER]: [ - Species.SQUIRTLE, - Species.WARTORTLE, - Species.BLASTOISE, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.MEOWTH, - Species.PERSIAN, - Species.PSYDUCK, - Species.GOLDUCK, - Species.POLIWAG, - Species.POLIWHIRL, - Species.POLIWRATH, - Species.TENTACOOL, - Species.TENTACRUEL, - Species.SLOWPOKE, - Species.SLOWBRO, - Species.SEEL, - Species.DEWGONG, - Species.SHELLDER, - Species.CLOYSTER, - Species.CHANSEY, - Species.HORSEA, - Species.SEADRA, - Species.GYARADOS, - Species.LAPRAS, - Species.VAPOREON, - Species.SNORLAX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEWTWO, - Species.MEW, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.SENTRET, - Species.FURRET, - Species.CHINCHOU, - Species.LANTURN, - Species.CLEFFA, - Species.MARILL, - Species.AZUMARILL, - Species.POLITOED, - Species.AIPOM, - Species.WOOPER, - Species.QUAGSIRE, - Species.SLOWKING, - Species.DUNSPARCE, - Species.QWILFISH, - Species.DELIBIRD, - Species.KINGDRA, - Species.BLISSEY, - Species.SUICUNE, - Species.LUGIA, - Species.MUDKIP, - Species.MARSHTOMP, - Species.SWAMPERT, - Species.LOTAD, - Species.LOMBRE, - Species.LUDICOLO, - Species.NUZLEAF, - Species.SHIFTRY, - Species.WINGULL, - Species.PELIPPER, - Species.SURSKIT, - Species.MASQUERAIN, - Species.SLAKOTH, - Species.VIGOROTH, - Species.SLAKING, - Species.MAKUHITA, - Species.HARIYAMA, - Species.VOLBEAT, - Species.SPOINK, - Species.GRUMPIG, - Species.BARBOACH, - Species.WHISCASH, - Species.CORPHISH, - Species.CRAWDAUNT, - Species.FEEBAS, - Species.MILOTIC, - Species.SNORUNT, - Species.GLALIE, - Species.LATIAS, - Species.LATIOS, - Species.KYOGRE, - Species.PIPLUP, - Species.PRINPLUP, - Species.EMPOLEON, - Species.BUIZEL, - Species.FLOATZEL, - Species.SHELLOS, - Species.GASTRODON, - Species.AMBIPOM, - Species.HONCHKROW, - Species.MUNCHLAX, - Species.CROAGUNK, - Species.TOXICROAK, - Species.FINNEON, - Species.LUMINEON, - Species.SNOVER, - Species.ABOMASNOW, - Species.WEAVILE, - Species.GLACEON, - Species.FROSLASS, - Species.PALKIA, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.OSHAWOTT, - Species.DEWOTT, - Species.SAMUROTT, - Species.BASCULIN, - Species.MINCCINO, - Species.CINCCINO, - Species.DUCKLETT, - Species.SWANNA, - Species.ALOMOMOLA, - Species.CUBCHOO, - Species.BEARTIC, - Species.CRYOGONAL, - Species.TORNADUS, - Species.KELDEO, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.SKRELP, - Species.DRAGALGE, - Species.CLAUNCHER, - Species.CLAWITZER, - Species.GOOMY, - Species.SLIGGOO, - Species.GOODRA, - Species.BERGMITE, - Species.AVALUGG, - Species.POPPLIO, - Species.BRIONNE, - Species.PRIMARINA, - Species.YUNGOOS, - Species.GUMSHOOS, - Species.CRABRAWLER, - Species.CRABOMINABLE, - Species.MAREANIE, - Species.TOXAPEX, - Species.DEWPIDER, - Species.ARAQUANID, - Species.ORANGURU, - Species.PASSIMIAN, - Species.SANDYGAST, - Species.PALOSSAND, - Species.BRUXISH, - Species.SOBBLE, - Species.DRIZZILE, - Species.INTELEON, - Species.CHEWTLE, - Species.DREDNAW, - Species.CRAMORANT, - Species.ARROKUDA, - Species.BARRASKEWDA, - Species.IMPIDIMP, - Species.MORGREM, - Species.GRIMMSNARL, - Species.PERRSERKER, - Species.PINCURCHIN, - Species.EISCUE, - Species.BASCULEGION, - Species.OVERQWIL, - Species.MEOWSCARADA, - Species.QUAXLY, - Species.QUAXWELL, - Species.QUAQUAVAL, - Species.LECHONK, - Species.OINKOLOGNE, - Species.MAUSHOLD, - Species.TADBULB, - Species.BELLIBOLT, - Species.WIGLETT, - Species.WUGTRIO, - Species.FINIZEN, - Species.PALAFIN, - Species.FLAMIGO, - Species.CETODDLE, - Species.CETITAN, - Species.VELUZA, - Species.DONDOZO, - Species.TATSUGIRI, - Species.CLODSIRE, - Species.DUDUNSPARCE, - Species.IRON_BUNDLE, - Species.WALKING_WAKE, - Species.ALOLA_VULPIX, - Species.ALOLA_NINETALES, - Species.ALOLA_MEOWTH, - Species.ALOLA_PERSIAN, - Species.ETERNAL_FLOETTE, - Species.GALAR_SLOWPOKE, - Species.GALAR_SLOWBRO, - Species.GALAR_SLOWKING, + [MoveId.CHILLING_WATER]: [ + SpeciesId.SQUIRTLE, + SpeciesId.WARTORTLE, + SpeciesId.BLASTOISE, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.MEOWTH, + SpeciesId.PERSIAN, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.POLIWAG, + SpeciesId.POLIWHIRL, + SpeciesId.POLIWRATH, + SpeciesId.TENTACOOL, + SpeciesId.TENTACRUEL, + SpeciesId.SLOWPOKE, + SpeciesId.SLOWBRO, + SpeciesId.SEEL, + SpeciesId.DEWGONG, + SpeciesId.SHELLDER, + SpeciesId.CLOYSTER, + SpeciesId.CHANSEY, + SpeciesId.HORSEA, + SpeciesId.SEADRA, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.VAPOREON, + SpeciesId.SNORLAX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.SENTRET, + SpeciesId.FURRET, + SpeciesId.CHINCHOU, + SpeciesId.LANTURN, + SpeciesId.CLEFFA, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.POLITOED, + SpeciesId.AIPOM, + SpeciesId.WOOPER, + SpeciesId.QUAGSIRE, + SpeciesId.SLOWKING, + SpeciesId.DUNSPARCE, + SpeciesId.QWILFISH, + SpeciesId.DELIBIRD, + SpeciesId.KINGDRA, + SpeciesId.BLISSEY, + SpeciesId.SUICUNE, + SpeciesId.LUGIA, + SpeciesId.MUDKIP, + SpeciesId.MARSHTOMP, + SpeciesId.SWAMPERT, + SpeciesId.LOTAD, + SpeciesId.LOMBRE, + SpeciesId.LUDICOLO, + SpeciesId.NUZLEAF, + SpeciesId.SHIFTRY, + SpeciesId.WINGULL, + SpeciesId.PELIPPER, + SpeciesId.SURSKIT, + SpeciesId.MASQUERAIN, + SpeciesId.SLAKOTH, + SpeciesId.VIGOROTH, + SpeciesId.SLAKING, + SpeciesId.MAKUHITA, + SpeciesId.HARIYAMA, + SpeciesId.VOLBEAT, + SpeciesId.SPOINK, + SpeciesId.GRUMPIG, + SpeciesId.BARBOACH, + SpeciesId.WHISCASH, + SpeciesId.CORPHISH, + SpeciesId.CRAWDAUNT, + SpeciesId.FEEBAS, + SpeciesId.MILOTIC, + SpeciesId.SNORUNT, + SpeciesId.GLALIE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.KYOGRE, + SpeciesId.PIPLUP, + SpeciesId.PRINPLUP, + SpeciesId.EMPOLEON, + SpeciesId.BUIZEL, + SpeciesId.FLOATZEL, + SpeciesId.SHELLOS, + SpeciesId.GASTRODON, + SpeciesId.AMBIPOM, + SpeciesId.HONCHKROW, + SpeciesId.MUNCHLAX, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.SNOVER, + SpeciesId.ABOMASNOW, + SpeciesId.WEAVILE, + SpeciesId.GLACEON, + SpeciesId.FROSLASS, + SpeciesId.PALKIA, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.OSHAWOTT, + SpeciesId.DEWOTT, + SpeciesId.SAMUROTT, + SpeciesId.BASCULIN, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.DUCKLETT, + SpeciesId.SWANNA, + SpeciesId.ALOMOMOLA, + SpeciesId.CUBCHOO, + SpeciesId.BEARTIC, + SpeciesId.CRYOGONAL, + SpeciesId.TORNADUS, + SpeciesId.KELDEO, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.SKRELP, + SpeciesId.DRAGALGE, + SpeciesId.CLAUNCHER, + SpeciesId.CLAWITZER, + SpeciesId.GOOMY, + SpeciesId.SLIGGOO, + SpeciesId.GOODRA, + SpeciesId.BERGMITE, + SpeciesId.AVALUGG, + SpeciesId.POPPLIO, + SpeciesId.BRIONNE, + SpeciesId.PRIMARINA, + SpeciesId.YUNGOOS, + SpeciesId.GUMSHOOS, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, + SpeciesId.MAREANIE, + SpeciesId.TOXAPEX, + SpeciesId.DEWPIDER, + SpeciesId.ARAQUANID, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.SANDYGAST, + SpeciesId.PALOSSAND, + SpeciesId.BRUXISH, + SpeciesId.SOBBLE, + SpeciesId.DRIZZILE, + SpeciesId.INTELEON, + SpeciesId.CHEWTLE, + SpeciesId.DREDNAW, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.BARRASKEWDA, + SpeciesId.IMPIDIMP, + SpeciesId.MORGREM, + SpeciesId.GRIMMSNARL, + SpeciesId.PERRSERKER, + SpeciesId.PINCURCHIN, + SpeciesId.EISCUE, + SpeciesId.BASCULEGION, + SpeciesId.OVERQWIL, + SpeciesId.MEOWSCARADA, + SpeciesId.QUAXLY, + SpeciesId.QUAXWELL, + SpeciesId.QUAQUAVAL, + SpeciesId.LECHONK, + SpeciesId.OINKOLOGNE, + SpeciesId.MAUSHOLD, + SpeciesId.TADBULB, + SpeciesId.BELLIBOLT, + SpeciesId.WIGLETT, + SpeciesId.WUGTRIO, + SpeciesId.FINIZEN, + SpeciesId.PALAFIN, + SpeciesId.FLAMIGO, + SpeciesId.CETODDLE, + SpeciesId.CETITAN, + SpeciesId.VELUZA, + SpeciesId.DONDOZO, + SpeciesId.TATSUGIRI, + SpeciesId.CLODSIRE, + SpeciesId.DUDUNSPARCE, + SpeciesId.IRON_BUNDLE, + SpeciesId.WALKING_WAKE, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_NINETALES, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_PERSIAN, + SpeciesId.ETERNAL_FLOETTE, + SpeciesId.GALAR_SLOWPOKE, + SpeciesId.GALAR_SLOWBRO, + SpeciesId.GALAR_SLOWKING, [ - Species.URSHIFU, + SpeciesId.URSHIFU, "rapid-strike", ], - Species.HISUI_QWILFISH, - Species.HISUI_SAMUROTT, - Species.HISUI_SLIGGOO, - Species.HISUI_GOODRA, - Species.HISUI_AVALUGG, + SpeciesId.HISUI_QWILFISH, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_SLIGGOO, + SpeciesId.HISUI_GOODRA, + SpeciesId.HISUI_AVALUGG, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "aqua", ], - Species.PALDEA_WOOPER, + SpeciesId.PALDEA_WOOPER, ], - [Moves.HARD_PRESS]: [ - Species.GRAVELER, - Species.GOLEM, - Species.SNORLAX, - Species.MEW, - Species.FORRETRESS, - Species.SCIZOR, - Species.TYRANITAR, - Species.SWAMPERT, - Species.SLAKING, - Species.CRAWDAUNT, - Species.METANG, - Species.METAGROSS, - Species.REGIROCK, - Species.REGISTEEL, - Species.TORTERRA, - Species.SHIELDON, - Species.BASTIODON, - Species.BRONZONG, - Species.HIPPOWDON, - Species.ABOMASNOW, - Species.MAGNEZONE, - Species.MAMOSWINE, - Species.PROBOPASS, - Species.DUSKNOIR, - Species.HEATRAN, - Species.REGIGIGAS, - Species.EMBOAR, - Species.CONKELDURR, - Species.BEARTIC, - Species.GOLURK, - Species.CRABOMINABLE, - Species.STONJOURNER, - Species.COPPERAJAH, - Species.URSALUNA, - Species.GARGANACL, - Species.TINKATON, - Species.PALAFIN, - Species.REVAVROOM, - Species.CETITAN, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.OKIDOGI, - Species.ARCHALUDON, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.HISUI_AVALUGG, - Species.BLOODMOON_URSALUNA, + [MoveId.HARD_PRESS]: [ + SpeciesId.GRAVELER, + SpeciesId.GOLEM, + SpeciesId.SNORLAX, + SpeciesId.MEW, + SpeciesId.FORRETRESS, + SpeciesId.SCIZOR, + SpeciesId.TYRANITAR, + SpeciesId.SWAMPERT, + SpeciesId.SLAKING, + SpeciesId.CRAWDAUNT, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.REGIROCK, + SpeciesId.REGISTEEL, + SpeciesId.TORTERRA, + SpeciesId.SHIELDON, + SpeciesId.BASTIODON, + SpeciesId.BRONZONG, + SpeciesId.HIPPOWDON, + SpeciesId.ABOMASNOW, + SpeciesId.MAGNEZONE, + SpeciesId.MAMOSWINE, + SpeciesId.PROBOPASS, + SpeciesId.DUSKNOIR, + SpeciesId.HEATRAN, + SpeciesId.REGIGIGAS, + SpeciesId.EMBOAR, + SpeciesId.CONKELDURR, + SpeciesId.BEARTIC, + SpeciesId.GOLURK, + SpeciesId.CRABOMINABLE, + SpeciesId.STONJOURNER, + SpeciesId.COPPERAJAH, + SpeciesId.URSALUNA, + SpeciesId.GARGANACL, + SpeciesId.TINKATON, + SpeciesId.PALAFIN, + SpeciesId.REVAVROOM, + SpeciesId.CETITAN, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.OKIDOGI, + SpeciesId.ARCHALUDON, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.HISUI_AVALUGG, + SpeciesId.BLOODMOON_URSALUNA, ], - [Moves.DRAGON_CHEER]: [ - Species.CHARIZARD, - Species.GYARADOS, - Species.LAPRAS, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.MEW, - Species.AMPHAROS, - Species.SCEPTILE, - Species.FLYGON, - Species.SWABLU, - Species.ALTARIA, - Species.MILOTIC, - Species.BAGON, - Species.SHELGON, - Species.SALAMENCE, - Species.LATIAS, - Species.LATIOS, - Species.RAYQUAZA, - Species.CRANIDOS, - Species.RAMPARDOS, - Species.GIBLE, - Species.GABITE, - Species.GARCHOMP, - Species.AXEW, - Species.FRAXURE, - Species.HAXORUS, - Species.DEINO, - Species.ZWEILOUS, - Species.HYDREIGON, - Species.RESHIRAM, - Species.ZEKROM, - Species.KYUREM, - Species.GOODRA, - Species.NOIVERN, - Species.SALAZZLE, - Species.JANGMO_O, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.DURALUDON, - Species.DRAKLOAK, - Species.DRAGAPULT, - Species.REGIDRAGO, - Species.CYCLIZAR, - Species.TATSUGIRI, - Species.IRON_JUGULIS, - Species.BAXCALIBUR, - Species.ROARING_MOON, - Species.KORAIDON, - Species.MIRAIDON, - Species.WALKING_WAKE, - Species.DIPPLIN, - Species.ARCHALUDON, - Species.HYDRAPPLE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.ALOLA_EXEGGUTOR, - Species.HISUI_GOODRA, + [MoveId.DRAGON_CHEER]: [ + SpeciesId.CHARIZARD, + SpeciesId.GYARADOS, + SpeciesId.LAPRAS, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.MEW, + SpeciesId.AMPHAROS, + SpeciesId.SCEPTILE, + SpeciesId.FLYGON, + SpeciesId.SWABLU, + SpeciesId.ALTARIA, + SpeciesId.MILOTIC, + SpeciesId.BAGON, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.LATIAS, + SpeciesId.LATIOS, + SpeciesId.RAYQUAZA, + SpeciesId.CRANIDOS, + SpeciesId.RAMPARDOS, + SpeciesId.GIBLE, + SpeciesId.GABITE, + SpeciesId.GARCHOMP, + SpeciesId.AXEW, + SpeciesId.FRAXURE, + SpeciesId.HAXORUS, + SpeciesId.DEINO, + SpeciesId.ZWEILOUS, + SpeciesId.HYDREIGON, + SpeciesId.RESHIRAM, + SpeciesId.ZEKROM, + SpeciesId.KYUREM, + SpeciesId.GOODRA, + SpeciesId.NOIVERN, + SpeciesId.SALAZZLE, + SpeciesId.JANGMO_O, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.DURALUDON, + SpeciesId.DRAKLOAK, + SpeciesId.DRAGAPULT, + SpeciesId.REGIDRAGO, + SpeciesId.CYCLIZAR, + SpeciesId.TATSUGIRI, + SpeciesId.IRON_JUGULIS, + SpeciesId.BAXCALIBUR, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.DIPPLIN, + SpeciesId.ARCHALUDON, + SpeciesId.HYDRAPPLE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.HISUI_GOODRA, ], - [Moves.ALLURING_VOICE]: [ - Species.PIKACHU, - Species.RAICHU, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.DEWGONG, - Species.LAPRAS, - Species.EEVEE, - Species.VAPOREON, - Species.JOLTEON, - Species.FLAREON, - Species.MEW, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.MARILL, - Species.AZUMARILL, - Species.ESPEON, - Species.UMBREON, - Species.BLISSEY, - Species.RALTS, - Species.KIRLIA, - Species.GARDEVOIR, - Species.AZURILL, - Species.PLUSLE, - Species.MINUN, - Species.FLYGON, - Species.ALTARIA, - Species.MILOTIC, - Species.LATIAS, - Species.PACHIRISU, - Species.FINNEON, - Species.LUMINEON, - Species.LEAFEON, - Species.GLACEON, - Species.GALLADE, - Species.PHIONE, - Species.MANAPHY, - Species.LILLIGANT, - Species.MINCCINO, - Species.CINCCINO, - Species.SWANNA, - Species.ALOMOMOLA, - Species.MELOETTA, - Species.FLABEBE, - Species.FLOETTE, - Species.FLORGES, - Species.MEOWSTIC, - Species.SYLVEON, - Species.PRIMARINA, - Species.ORICORIO, - Species.RIBOMBEE, - Species.COMFEY, - Species.ALCREMIE, - Species.ENAMORUS, - Species.SKELEDIRGE, - Species.FIDOUGH, - Species.DACHSBUN, - Species.ARBOLIVA, - Species.FEZANDIPITI, - Species.ALOLA_RAICHU, - Species.ETERNAL_FLOETTE, + [MoveId.ALLURING_VOICE]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.DEWGONG, + SpeciesId.LAPRAS, + SpeciesId.EEVEE, + SpeciesId.VAPOREON, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.MEW, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.MARILL, + SpeciesId.AZUMARILL, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.BLISSEY, + SpeciesId.RALTS, + SpeciesId.KIRLIA, + SpeciesId.GARDEVOIR, + SpeciesId.AZURILL, + SpeciesId.PLUSLE, + SpeciesId.MINUN, + SpeciesId.FLYGON, + SpeciesId.ALTARIA, + SpeciesId.MILOTIC, + SpeciesId.LATIAS, + SpeciesId.PACHIRISU, + SpeciesId.FINNEON, + SpeciesId.LUMINEON, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.GALLADE, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.LILLIGANT, + SpeciesId.MINCCINO, + SpeciesId.CINCCINO, + SpeciesId.SWANNA, + SpeciesId.ALOMOMOLA, + SpeciesId.MELOETTA, + SpeciesId.FLABEBE, + SpeciesId.FLOETTE, + SpeciesId.FLORGES, + SpeciesId.MEOWSTIC, + SpeciesId.SYLVEON, + SpeciesId.PRIMARINA, + SpeciesId.ORICORIO, + SpeciesId.RIBOMBEE, + SpeciesId.COMFEY, + SpeciesId.ALCREMIE, + SpeciesId.ENAMORUS, + SpeciesId.SKELEDIRGE, + SpeciesId.FIDOUGH, + SpeciesId.DACHSBUN, + SpeciesId.ARBOLIVA, + SpeciesId.FEZANDIPITI, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ETERNAL_FLOETTE, [ - Species.INDEEDEE, + SpeciesId.INDEEDEE, "female", ], ], - [Moves.TEMPER_FLARE]: [ - Species.CHARMANDER, - Species.CHARMELEON, - Species.CHARIZARD, - Species.GROWLITHE, - Species.ARCANINE, - Species.MAGMAR, - Species.GYARADOS, - Species.FLAREON, - Species.MOLTRES, - Species.MEW, - Species.CYNDAQUIL, - Species.QUILAVA, - Species.TYPHLOSION, - Species.SNUBBULL, - Species.GRANBULL, - Species.SLUGMA, - Species.MAGCARGO, - Species.HOUNDOUR, - Species.HOUNDOOM, - Species.MAGBY, - Species.TORCHIC, - Species.COMBUSKEN, - Species.BLAZIKEN, - Species.NUMEL, - Species.CAMERUPT, - Species.TORKOAL, - Species.SHELGON, - Species.SALAMENCE, - Species.CHIMCHAR, - Species.MONFERNO, - Species.INFERNAPE, - Species.DRIFLOON, - Species.DRIFBLIM, - Species.STUNKY, - Species.SKUNTANK, - Species.RHYPERIOR, - Species.MAGMORTAR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.LITWICK, - Species.LAMPENT, - Species.CHANDELURE, - Species.FLETCHINDER, - Species.TALONFLAME, - Species.PYROAR, - Species.LITTEN, - Species.TORRACAT, - Species.INCINEROAR, - Species.TOUCANNON, - Species.SALANDIT, - Species.SALAZZLE, - Species.SCORBUNNY, - Species.RABOOT, - Species.CINDERACE, - Species.ROLYCOLY, - Species.CARKOL, - Species.COALOSSAL, - Species.FUECOCO, - Species.CROCALOR, - Species.SKELEDIRGE, - Species.KLAWF, - Species.SCOVILLAIN, - Species.REVAVROOM, - Species.CYCLIZAR, - Species.GREAT_TUSK, - Species.SLITHER_WING, - Species.CHI_YU, - Species.KORAIDON, - Species.GOUGING_FIRE, - Species.HISUI_GROWLITHE, - Species.HISUI_ARCANINE, - Species.HISUI_TYPHLOSION, + [MoveId.TEMPER_FLARE]: [ + SpeciesId.CHARMANDER, + SpeciesId.CHARMELEON, + SpeciesId.CHARIZARD, + SpeciesId.GROWLITHE, + SpeciesId.ARCANINE, + SpeciesId.MAGMAR, + SpeciesId.GYARADOS, + SpeciesId.FLAREON, + SpeciesId.MOLTRES, + SpeciesId.MEW, + SpeciesId.CYNDAQUIL, + SpeciesId.QUILAVA, + SpeciesId.TYPHLOSION, + SpeciesId.SNUBBULL, + SpeciesId.GRANBULL, + SpeciesId.SLUGMA, + SpeciesId.MAGCARGO, + SpeciesId.HOUNDOUR, + SpeciesId.HOUNDOOM, + SpeciesId.MAGBY, + SpeciesId.TORCHIC, + SpeciesId.COMBUSKEN, + SpeciesId.BLAZIKEN, + SpeciesId.NUMEL, + SpeciesId.CAMERUPT, + SpeciesId.TORKOAL, + SpeciesId.SHELGON, + SpeciesId.SALAMENCE, + SpeciesId.CHIMCHAR, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.DRIFLOON, + SpeciesId.DRIFBLIM, + SpeciesId.STUNKY, + SpeciesId.SKUNTANK, + SpeciesId.RHYPERIOR, + SpeciesId.MAGMORTAR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.LITWICK, + SpeciesId.LAMPENT, + SpeciesId.CHANDELURE, + SpeciesId.FLETCHINDER, + SpeciesId.TALONFLAME, + SpeciesId.PYROAR, + SpeciesId.LITTEN, + SpeciesId.TORRACAT, + SpeciesId.INCINEROAR, + SpeciesId.TOUCANNON, + SpeciesId.SALANDIT, + SpeciesId.SALAZZLE, + SpeciesId.SCORBUNNY, + SpeciesId.RABOOT, + SpeciesId.CINDERACE, + SpeciesId.ROLYCOLY, + SpeciesId.CARKOL, + SpeciesId.COALOSSAL, + SpeciesId.FUECOCO, + SpeciesId.CROCALOR, + SpeciesId.SKELEDIRGE, + SpeciesId.KLAWF, + SpeciesId.SCOVILLAIN, + SpeciesId.REVAVROOM, + SpeciesId.CYCLIZAR, + SpeciesId.GREAT_TUSK, + SpeciesId.SLITHER_WING, + SpeciesId.CHI_YU, + SpeciesId.KORAIDON, + SpeciesId.GOUGING_FIRE, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_ARCANINE, + SpeciesId.HISUI_TYPHLOSION, [ - Species.PALDEA_TAUROS, + SpeciesId.PALDEA_TAUROS, "blaze", ], ], - [Moves.SUPERCELL_SLAM]:[ - Species.ELECTRODE, - Species.RHYHORN, - Species.RHYDON, - Species.ELECTABUZZ, - Species.SNORLAX, - Species.ZAPDOS, - Species.MEW, - Species.AMPHAROS, - Species.ELEKID, - Species.RAIKOU, - Species.MANECTRIC, - Species.LUXRAY, - Species.RAMPARDOS, - Species.MAGNEZONE, - Species.RHYPERIOR, - Species.ELECTIVIRE, - Species.PROBOPASS, - Species.ARCEUS, - Species.BLITZLE, - Species.ZEBSTRIKA, - Species.EELEKTROSS, - Species.THUNDURUS, - Species.ZEKROM, - Species.VIKAVOLT, - Species.PINCURCHIN, - Species.COPPERAJAH, - Species.REGIELEKI, - Species.URSALUNA, - Species.PAWMOT, - Species.BELLIBOLT, - Species.KILOWATTREL, - Species.CYCLIZAR, - Species.GREAT_TUSK, - Species.SANDY_SHOCKS, - Species.IRON_TREADS, - Species.IRON_HANDS, - Species.IRON_THORNS, - Species.MIRAIDON, - Species.RAGING_BOLT, - Species.IRON_CROWN, - Species.TERAPAGOS, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRAVELER, - Species.ALOLA_GOLEM, - Species.HISUI_ELECTRODE, + [MoveId.SUPERCELL_SLAM]:[ + SpeciesId.ELECTRODE, + SpeciesId.RHYHORN, + SpeciesId.RHYDON, + SpeciesId.ELECTABUZZ, + SpeciesId.SNORLAX, + SpeciesId.ZAPDOS, + SpeciesId.MEW, + SpeciesId.AMPHAROS, + SpeciesId.ELEKID, + SpeciesId.RAIKOU, + SpeciesId.MANECTRIC, + SpeciesId.LUXRAY, + SpeciesId.RAMPARDOS, + SpeciesId.MAGNEZONE, + SpeciesId.RHYPERIOR, + SpeciesId.ELECTIVIRE, + SpeciesId.PROBOPASS, + SpeciesId.ARCEUS, + SpeciesId.BLITZLE, + SpeciesId.ZEBSTRIKA, + SpeciesId.EELEKTROSS, + SpeciesId.THUNDURUS, + SpeciesId.ZEKROM, + SpeciesId.VIKAVOLT, + SpeciesId.PINCURCHIN, + SpeciesId.COPPERAJAH, + SpeciesId.REGIELEKI, + SpeciesId.URSALUNA, + SpeciesId.PAWMOT, + SpeciesId.BELLIBOLT, + SpeciesId.KILOWATTREL, + SpeciesId.CYCLIZAR, + SpeciesId.GREAT_TUSK, + SpeciesId.SANDY_SHOCKS, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_THORNS, + SpeciesId.MIRAIDON, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_CROWN, + SpeciesId.TERAPAGOS, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRAVELER, + SpeciesId.ALOLA_GOLEM, + SpeciesId.HISUI_ELECTRODE, ], - [Moves.PSYCHIC_NOISE]: [ - Species.JIGGLYPUFF, - Species.WIGGLYTUFF, - Species.VENONAT, - Species.VENOMOTH, - Species.PSYDUCK, - Species.GOLDUCK, - Species.SLOWBRO, - Species.GENGAR, - Species.DROWZEE, - Species.HYPNO, - Species.EXEGGCUTE, - Species.EXEGGUTOR, - Species.LAPRAS, - Species.MEWTWO, - Species.MEW, - Species.NOCTOWL, - Species.YANMA, - Species.ESPEON, - Species.MURKROW, - Species.SLOWKING, - Species.MISDREAVUS, - Species.GIRAFARIG, - Species.LUGIA, - Species.GARDEVOIR, - Species.GRUMPIG, - Species.FLYGON, - Species.CHIMECHO, - Species.METANG, - Species.METAGROSS, - Species.LATIOS, - Species.JIRACHI, - Species.DEOXYS, - Species.VESPIQUEN, - Species.MISMAGIUS, - Species.HONCHKROW, - Species.CHINGLING, - Species.BRONZOR, - Species.BRONZONG, - Species.YANMEGA, - Species.UXIE, - Species.MESPRIT, - Species.GOTHITA, - Species.GOTHORITA, - Species.GOTHITELLE, - Species.REUNICLUS, - Species.DELPHOX, - Species.FLORGES, - Species.ESPURR, - Species.MEOWSTIC, - Species.MALAMAR, - Species.TREVENANT, - Species.NOIVERN, - Species.HOOPA, - Species.PRIMARINA, - Species.RIBOMBEE, - Species.ORANGURU, - Species.BRUXISH, - Species.TOXTRICITY, - Species.HATTERENE, - Species.INDEEDEE, - Species.WYRDEER, - Species.RABSCA, - Species.FARIGIRAF, - Species.SCREAM_TAIL, - Species.MUNKIDORI, - Species.IRON_CROWN, - Species.ALOLA_RAICHU, - Species.ALOLA_EXEGGUTOR, - Species.GALAR_ARTICUNO, - Species.GALAR_SLOWKING, - Species.HISUI_BRAVIARY, + [MoveId.PSYCHIC_NOISE]: [ + SpeciesId.JIGGLYPUFF, + SpeciesId.WIGGLYTUFF, + SpeciesId.VENONAT, + SpeciesId.VENOMOTH, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.SLOWBRO, + SpeciesId.GENGAR, + SpeciesId.DROWZEE, + SpeciesId.HYPNO, + SpeciesId.EXEGGCUTE, + SpeciesId.EXEGGUTOR, + SpeciesId.LAPRAS, + SpeciesId.MEWTWO, + SpeciesId.MEW, + SpeciesId.NOCTOWL, + SpeciesId.YANMA, + SpeciesId.ESPEON, + SpeciesId.MURKROW, + SpeciesId.SLOWKING, + SpeciesId.MISDREAVUS, + SpeciesId.GIRAFARIG, + SpeciesId.LUGIA, + SpeciesId.GARDEVOIR, + SpeciesId.GRUMPIG, + SpeciesId.FLYGON, + SpeciesId.CHIMECHO, + SpeciesId.METANG, + SpeciesId.METAGROSS, + SpeciesId.LATIOS, + SpeciesId.JIRACHI, + SpeciesId.DEOXYS, + SpeciesId.VESPIQUEN, + SpeciesId.MISMAGIUS, + SpeciesId.HONCHKROW, + SpeciesId.CHINGLING, + SpeciesId.BRONZOR, + SpeciesId.BRONZONG, + SpeciesId.YANMEGA, + SpeciesId.UXIE, + SpeciesId.MESPRIT, + SpeciesId.GOTHITA, + SpeciesId.GOTHORITA, + SpeciesId.GOTHITELLE, + SpeciesId.REUNICLUS, + SpeciesId.DELPHOX, + SpeciesId.FLORGES, + SpeciesId.ESPURR, + SpeciesId.MEOWSTIC, + SpeciesId.MALAMAR, + SpeciesId.TREVENANT, + SpeciesId.NOIVERN, + SpeciesId.HOOPA, + SpeciesId.PRIMARINA, + SpeciesId.RIBOMBEE, + SpeciesId.ORANGURU, + SpeciesId.BRUXISH, + SpeciesId.TOXTRICITY, + SpeciesId.HATTERENE, + SpeciesId.INDEEDEE, + SpeciesId.WYRDEER, + SpeciesId.RABSCA, + SpeciesId.FARIGIRAF, + SpeciesId.SCREAM_TAIL, + SpeciesId.MUNKIDORI, + SpeciesId.IRON_CROWN, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_EXEGGUTOR, + SpeciesId.GALAR_ARTICUNO, + SpeciesId.GALAR_SLOWKING, + SpeciesId.HISUI_BRAVIARY, ], - [Moves.UPPER_HAND]: [ - Species.PIKACHU, - Species.RAICHU, - Species.POLIWRATH, - Species.HITMONLEE, - Species.HITMONCHAN, - Species.MEW, - Species.AIPOM, - Species.HERACROSS, - Species.SNEASEL, - Species.TYROGUE, - Species.HITMONTOP, - Species.TREECKO, - Species.GROVYLE, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SHIFTRY, - Species.HARIYAMA, - Species.MEDITITE, - Species.MEDICHAM, - Species.ZANGOOSE, - Species.MONFERNO, - Species.INFERNAPE, - Species.AMBIPOM, - Species.RIOLU, - Species.LUCARIO, - Species.CROAGUNK, - Species.TOXICROAK, - Species.WEAVILE, - Species.GALLADE, - Species.SAMUROTT, - Species.CONKELDURR, - Species.SCRAGGY, - Species.SCRAFTY, - Species.MIENFOO, - Species.MIENSHAO, - Species.COBALION, - Species.TERRAKION, - Species.VIRIZION, - Species.KELDEO, - Species.GRENINJA, - Species.TALONFLAME, - Species.HAWLUCHA, - Species.CRABRAWLER, - Species.CRABOMINABLE, + [MoveId.UPPER_HAND]: [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.POLIWRATH, + SpeciesId.HITMONLEE, + SpeciesId.HITMONCHAN, + SpeciesId.MEW, + SpeciesId.AIPOM, + SpeciesId.HERACROSS, + SpeciesId.SNEASEL, + SpeciesId.TYROGUE, + SpeciesId.HITMONTOP, + SpeciesId.TREECKO, + SpeciesId.GROVYLE, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SHIFTRY, + SpeciesId.HARIYAMA, + SpeciesId.MEDITITE, + SpeciesId.MEDICHAM, + SpeciesId.ZANGOOSE, + SpeciesId.MONFERNO, + SpeciesId.INFERNAPE, + SpeciesId.AMBIPOM, + SpeciesId.RIOLU, + SpeciesId.LUCARIO, + SpeciesId.CROAGUNK, + SpeciesId.TOXICROAK, + SpeciesId.WEAVILE, + SpeciesId.GALLADE, + SpeciesId.SAMUROTT, + SpeciesId.CONKELDURR, + SpeciesId.SCRAGGY, + SpeciesId.SCRAFTY, + SpeciesId.MIENFOO, + SpeciesId.MIENSHAO, + SpeciesId.COBALION, + SpeciesId.TERRAKION, + SpeciesId.VIRIZION, + SpeciesId.KELDEO, + SpeciesId.GRENINJA, + SpeciesId.TALONFLAME, + SpeciesId.HAWLUCHA, + SpeciesId.CRABRAWLER, + SpeciesId.CRABOMINABLE, [ - Species.LYCANROC, + SpeciesId.LYCANROC, "midnight", ], - Species.PASSIMIAN, - Species.HAKAMO_O, - Species.KOMMO_O, - Species.FALINKS, - Species.SNEASLER, - Species.QUAQUAVAL, - Species.SPIDOPS, - Species.PAWMO, - Species.PAWMOT, - Species.FLAMIGO, - Species.OKIDOGI, - Species.ALOLA_RAICHU, - Species.HISUI_SAMUROTT, - Species.HISUI_LILLIGANT, - Species.HISUI_DECIDUEYE, + SpeciesId.PASSIMIAN, + SpeciesId.HAKAMO_O, + SpeciesId.KOMMO_O, + SpeciesId.FALINKS, + SpeciesId.SNEASLER, + SpeciesId.QUAQUAVAL, + SpeciesId.SPIDOPS, + SpeciesId.PAWMO, + SpeciesId.PAWMOT, + SpeciesId.FLAMIGO, + SpeciesId.OKIDOGI, + SpeciesId.ALOLA_RAICHU, + SpeciesId.HISUI_SAMUROTT, + SpeciesId.HISUI_LILLIGANT, + SpeciesId.HISUI_DECIDUEYE, ], }; interface SpeciesTmMoves { - [key: number]: (Moves | [string | Species, Moves])[]; + [key: number]: (MoveId | [string | SpeciesId, MoveId])[]; } function transposeTmSpecies(): SpeciesTmMoves { @@ -68588,320 +68588,320 @@ interface TmPoolTiers { } export const tmPoolTiers: TmPoolTiers = { - [Moves.MEGA_PUNCH]: ModifierTier.GREAT, - [Moves.PAY_DAY]: ModifierTier.ULTRA, - [Moves.FIRE_PUNCH]: ModifierTier.GREAT, - [Moves.ICE_PUNCH]: ModifierTier.GREAT, - [Moves.THUNDER_PUNCH]: ModifierTier.GREAT, - [Moves.SWORDS_DANCE]: ModifierTier.COMMON, - [Moves.CUT]: ModifierTier.COMMON, - [Moves.FLY]: ModifierTier.COMMON, - [Moves.MEGA_KICK]: ModifierTier.GREAT, - [Moves.BODY_SLAM]: ModifierTier.GREAT, - [Moves.TAKE_DOWN]: ModifierTier.GREAT, - [Moves.DOUBLE_EDGE]: ModifierTier.ULTRA, - [Moves.PIN_MISSILE]: ModifierTier.COMMON, - [Moves.ROAR]: ModifierTier.COMMON, - [Moves.FLAMETHROWER]: ModifierTier.ULTRA, - [Moves.HYDRO_PUMP]: ModifierTier.ULTRA, - [Moves.SURF]: ModifierTier.ULTRA, - [Moves.ICE_BEAM]: ModifierTier.ULTRA, - [Moves.BLIZZARD]: ModifierTier.ULTRA, - [Moves.PSYBEAM]: ModifierTier.GREAT, - [Moves.HYPER_BEAM]: ModifierTier.ULTRA, - [Moves.LOW_KICK]: ModifierTier.COMMON, - [Moves.COUNTER]: ModifierTier.COMMON, - [Moves.STRENGTH]: ModifierTier.GREAT, - [Moves.SOLAR_BEAM]: ModifierTier.ULTRA, - [Moves.FIRE_SPIN]: ModifierTier.COMMON, - [Moves.THUNDERBOLT]: ModifierTier.ULTRA, - [Moves.THUNDER_WAVE]: ModifierTier.COMMON, - [Moves.THUNDER]: ModifierTier.ULTRA, - [Moves.EARTHQUAKE]: ModifierTier.ULTRA, - [Moves.DIG]: ModifierTier.GREAT, - [Moves.TOXIC]: ModifierTier.GREAT, - [Moves.PSYCHIC]: ModifierTier.ULTRA, - [Moves.AGILITY]: ModifierTier.COMMON, - [Moves.NIGHT_SHADE]: ModifierTier.COMMON, - [Moves.SCREECH]: ModifierTier.COMMON, - [Moves.DOUBLE_TEAM]: ModifierTier.COMMON, - [Moves.CONFUSE_RAY]: ModifierTier.COMMON, - [Moves.LIGHT_SCREEN]: ModifierTier.COMMON, - [Moves.HAZE]: ModifierTier.COMMON, - [Moves.REFLECT]: ModifierTier.COMMON, - [Moves.FOCUS_ENERGY]: ModifierTier.COMMON, - [Moves.METRONOME]: ModifierTier.COMMON, - [Moves.SELF_DESTRUCT]: ModifierTier.GREAT, - [Moves.FIRE_BLAST]: ModifierTier.ULTRA, - [Moves.WATERFALL]: ModifierTier.GREAT, - [Moves.SWIFT]: ModifierTier.COMMON, - [Moves.AMNESIA]: ModifierTier.COMMON, - [Moves.DREAM_EATER]: ModifierTier.GREAT, - [Moves.LEECH_LIFE]: ModifierTier.ULTRA, - [Moves.FLASH]: ModifierTier.COMMON, - [Moves.EXPLOSION]: ModifierTier.GREAT, - [Moves.REST]: ModifierTier.COMMON, - [Moves.ROCK_SLIDE]: ModifierTier.GREAT, - [Moves.TRI_ATTACK]: ModifierTier.ULTRA, - [Moves.SUPER_FANG]: ModifierTier.COMMON, - [Moves.SUBSTITUTE]: ModifierTier.COMMON, - [Moves.THIEF]: ModifierTier.GREAT, - [Moves.SNORE]: ModifierTier.COMMON, - [Moves.CURSE]: ModifierTier.COMMON, - [Moves.REVERSAL]: ModifierTier.COMMON, - [Moves.SPITE]: ModifierTier.COMMON, - [Moves.PROTECT]: ModifierTier.COMMON, - [Moves.SCARY_FACE]: ModifierTier.COMMON, - [Moves.SLUDGE_BOMB]: ModifierTier.GREAT, - [Moves.MUD_SLAP]: ModifierTier.COMMON, - [Moves.SPIKES]: ModifierTier.COMMON, - [Moves.ICY_WIND]: ModifierTier.GREAT, - [Moves.OUTRAGE]: ModifierTier.ULTRA, - [Moves.SANDSTORM]: ModifierTier.COMMON, - [Moves.GIGA_DRAIN]: ModifierTier.ULTRA, - [Moves.ENDURE]: ModifierTier.COMMON, - [Moves.CHARM]: ModifierTier.COMMON, - [Moves.FALSE_SWIPE]: ModifierTier.COMMON, - [Moves.SWAGGER]: ModifierTier.COMMON, - [Moves.STEEL_WING]: ModifierTier.GREAT, - [Moves.ATTRACT]: ModifierTier.COMMON, - [Moves.SLEEP_TALK]: ModifierTier.COMMON, - [Moves.HEAL_BELL]: ModifierTier.COMMON, - [Moves.RETURN]: ModifierTier.ULTRA, - [Moves.FRUSTRATION]: ModifierTier.COMMON, - [Moves.SAFEGUARD]: ModifierTier.COMMON, - [Moves.PAIN_SPLIT]: ModifierTier.COMMON, - [Moves.MEGAHORN]: ModifierTier.ULTRA, - [Moves.BATON_PASS]: ModifierTier.COMMON, - [Moves.ENCORE]: ModifierTier.COMMON, - [Moves.IRON_TAIL]: ModifierTier.GREAT, - [Moves.METAL_CLAW]: ModifierTier.COMMON, - [Moves.SYNTHESIS]: ModifierTier.GREAT, - [Moves.HIDDEN_POWER]: ModifierTier.GREAT, - [Moves.RAIN_DANCE]: ModifierTier.COMMON, - [Moves.SUNNY_DAY]: ModifierTier.COMMON, - [Moves.CRUNCH]: ModifierTier.GREAT, - [Moves.PSYCH_UP]: ModifierTier.COMMON, - [Moves.SHADOW_BALL]: ModifierTier.ULTRA, - [Moves.FUTURE_SIGHT]: ModifierTier.GREAT, - [Moves.ROCK_SMASH]: ModifierTier.COMMON, - [Moves.WHIRLPOOL]: ModifierTier.COMMON, - [Moves.BEAT_UP]: ModifierTier.COMMON, - [Moves.UPROAR]: ModifierTier.GREAT, - [Moves.HEAT_WAVE]: ModifierTier.ULTRA, - [Moves.HAIL]: ModifierTier.COMMON, - [Moves.TORMENT]: ModifierTier.COMMON, - [Moves.WILL_O_WISP]: ModifierTier.COMMON, - [Moves.FACADE]: ModifierTier.GREAT, - [Moves.FOCUS_PUNCH]: ModifierTier.COMMON, - [Moves.NATURE_POWER]: ModifierTier.COMMON, - [Moves.CHARGE]: ModifierTier.COMMON, - [Moves.TAUNT]: ModifierTier.COMMON, - [Moves.HELPING_HAND]: ModifierTier.COMMON, - [Moves.TRICK]: ModifierTier.COMMON, - [Moves.SUPERPOWER]: ModifierTier.ULTRA, - [Moves.RECYCLE]: ModifierTier.COMMON, - [Moves.REVENGE]: ModifierTier.GREAT, - [Moves.BRICK_BREAK]: ModifierTier.GREAT, - [Moves.KNOCK_OFF]: ModifierTier.GREAT, - [Moves.ENDEAVOR]: ModifierTier.COMMON, - [Moves.SKILL_SWAP]: ModifierTier.COMMON, - [Moves.IMPRISON]: ModifierTier.COMMON, - [Moves.SECRET_POWER]: ModifierTier.COMMON, - [Moves.DIVE]: ModifierTier.GREAT, - [Moves.FEATHER_DANCE]: ModifierTier.COMMON, - [Moves.BLAZE_KICK]: ModifierTier.GREAT, - [Moves.HYPER_VOICE]: ModifierTier.ULTRA, - [Moves.BLAST_BURN]: ModifierTier.ULTRA, - [Moves.HYDRO_CANNON]: ModifierTier.ULTRA, - [Moves.WEATHER_BALL]: ModifierTier.COMMON, - [Moves.FAKE_TEARS]: ModifierTier.COMMON, - [Moves.AIR_CUTTER]: ModifierTier.GREAT, - [Moves.OVERHEAT]: ModifierTier.ULTRA, - [Moves.ROCK_TOMB]: ModifierTier.GREAT, - [Moves.METAL_SOUND]: ModifierTier.COMMON, - [Moves.COSMIC_POWER]: ModifierTier.COMMON, - [Moves.SIGNAL_BEAM]: ModifierTier.GREAT, - [Moves.SAND_TOMB]: ModifierTier.COMMON, - [Moves.MUDDY_WATER]: ModifierTier.GREAT, - [Moves.BULLET_SEED]: ModifierTier.GREAT, - [Moves.AERIAL_ACE]: ModifierTier.GREAT, - [Moves.ICICLE_SPEAR]: ModifierTier.GREAT, - [Moves.IRON_DEFENSE]: ModifierTier.GREAT, - [Moves.DRAGON_CLAW]: ModifierTier.ULTRA, - [Moves.FRENZY_PLANT]: ModifierTier.ULTRA, - [Moves.BULK_UP]: ModifierTier.COMMON, - [Moves.BOUNCE]: ModifierTier.GREAT, - [Moves.MUD_SHOT]: ModifierTier.GREAT, - [Moves.POISON_TAIL]: ModifierTier.GREAT, - [Moves.COVET]: ModifierTier.GREAT, - [Moves.MAGICAL_LEAF]: ModifierTier.GREAT, - [Moves.CALM_MIND]: ModifierTier.GREAT, - [Moves.LEAF_BLADE]: ModifierTier.ULTRA, - [Moves.DRAGON_DANCE]: ModifierTier.GREAT, - [Moves.ROCK_BLAST]: ModifierTier.GREAT, - [Moves.WATER_PULSE]: ModifierTier.GREAT, - [Moves.ROOST]: ModifierTier.GREAT, - [Moves.GRAVITY]: ModifierTier.COMMON, - [Moves.GYRO_BALL]: ModifierTier.COMMON, - [Moves.BRINE]: ModifierTier.GREAT, - [Moves.PLUCK]: ModifierTier.GREAT, - [Moves.TAILWIND]: ModifierTier.GREAT, - [Moves.U_TURN]: ModifierTier.GREAT, - [Moves.CLOSE_COMBAT]: ModifierTier.ULTRA, - [Moves.PAYBACK]: ModifierTier.COMMON, - [Moves.ASSURANCE]: ModifierTier.COMMON, - [Moves.EMBARGO]: ModifierTier.COMMON, - [Moves.FLING]: ModifierTier.COMMON, - [Moves.GASTRO_ACID]: ModifierTier.GREAT, - [Moves.POWER_SWAP]: ModifierTier.COMMON, - [Moves.GUARD_SWAP]: ModifierTier.COMMON, - [Moves.WORRY_SEED]: ModifierTier.GREAT, - [Moves.TOXIC_SPIKES]: ModifierTier.GREAT, - [Moves.FLARE_BLITZ]: ModifierTier.ULTRA, - [Moves.AURA_SPHERE]: ModifierTier.GREAT, - [Moves.ROCK_POLISH]: ModifierTier.COMMON, - [Moves.POISON_JAB]: ModifierTier.GREAT, - [Moves.DARK_PULSE]: ModifierTier.GREAT, - [Moves.AQUA_TAIL]: ModifierTier.GREAT, - [Moves.SEED_BOMB]: ModifierTier.GREAT, - [Moves.AIR_SLASH]: ModifierTier.GREAT, - [Moves.X_SCISSOR]: ModifierTier.GREAT, - [Moves.BUG_BUZZ]: ModifierTier.GREAT, - [Moves.DRAGON_PULSE]: ModifierTier.GREAT, - [Moves.POWER_GEM]: ModifierTier.GREAT, - [Moves.DRAIN_PUNCH]: ModifierTier.GREAT, - [Moves.VACUUM_WAVE]: ModifierTier.COMMON, - [Moves.FOCUS_BLAST]: ModifierTier.GREAT, - [Moves.ENERGY_BALL]: ModifierTier.GREAT, - [Moves.BRAVE_BIRD]: ModifierTier.ULTRA, - [Moves.EARTH_POWER]: ModifierTier.ULTRA, - [Moves.GIGA_IMPACT]: ModifierTier.GREAT, - [Moves.NASTY_PLOT]: ModifierTier.COMMON, - [Moves.AVALANCHE]: ModifierTier.GREAT, - [Moves.SHADOW_CLAW]: ModifierTier.GREAT, - [Moves.THUNDER_FANG]: ModifierTier.GREAT, - [Moves.ICE_FANG]: ModifierTier.GREAT, - [Moves.FIRE_FANG]: ModifierTier.GREAT, - [Moves.PSYCHO_CUT]: ModifierTier.GREAT, - [Moves.ZEN_HEADBUTT]: ModifierTier.GREAT, - [Moves.FLASH_CANNON]: ModifierTier.GREAT, - [Moves.ROCK_CLIMB]: ModifierTier.GREAT, - [Moves.DEFOG]: ModifierTier.COMMON, - [Moves.TRICK_ROOM]: ModifierTier.COMMON, - [Moves.DRACO_METEOR]: ModifierTier.ULTRA, - [Moves.LEAF_STORM]: ModifierTier.ULTRA, - [Moves.POWER_WHIP]: ModifierTier.ULTRA, - [Moves.CROSS_POISON]: ModifierTier.GREAT, - [Moves.GUNK_SHOT]: ModifierTier.ULTRA, - [Moves.IRON_HEAD]: ModifierTier.GREAT, - [Moves.STONE_EDGE]: ModifierTier.ULTRA, - [Moves.STEALTH_ROCK]: ModifierTier.COMMON, - [Moves.GRASS_KNOT]: ModifierTier.ULTRA, - [Moves.BUG_BITE]: ModifierTier.GREAT, - [Moves.CHARGE_BEAM]: ModifierTier.GREAT, - [Moves.HONE_CLAWS]: ModifierTier.COMMON, - [Moves.WONDER_ROOM]: ModifierTier.COMMON, - [Moves.PSYSHOCK]: ModifierTier.GREAT, - [Moves.VENOSHOCK]: ModifierTier.GREAT, - [Moves.MAGIC_ROOM]: ModifierTier.COMMON, - [Moves.SMACK_DOWN]: ModifierTier.COMMON, - [Moves.SLUDGE_WAVE]: ModifierTier.GREAT, - [Moves.HEAVY_SLAM]: ModifierTier.GREAT, - [Moves.ELECTRO_BALL]: ModifierTier.GREAT, - [Moves.FLAME_CHARGE]: ModifierTier.GREAT, - [Moves.LOW_SWEEP]: ModifierTier.GREAT, - [Moves.ACID_SPRAY]: ModifierTier.COMMON, - [Moves.FOUL_PLAY]: ModifierTier.ULTRA, - [Moves.ROUND]: ModifierTier.COMMON, - [Moves.ECHOED_VOICE]: ModifierTier.COMMON, - [Moves.STORED_POWER]: ModifierTier.COMMON, - [Moves.ALLY_SWITCH]: ModifierTier.COMMON, - [Moves.SCALD]: ModifierTier.GREAT, - [Moves.HEX]: ModifierTier.GREAT, - [Moves.SKY_DROP]: ModifierTier.GREAT, - [Moves.INCINERATE]: ModifierTier.GREAT, - [Moves.QUASH]: ModifierTier.COMMON, - [Moves.ACROBATICS]: ModifierTier.GREAT, - [Moves.RETALIATE]: ModifierTier.GREAT, - [Moves.WATER_PLEDGE]: ModifierTier.GREAT, - [Moves.FIRE_PLEDGE]: ModifierTier.GREAT, - [Moves.GRASS_PLEDGE]: ModifierTier.GREAT, - [Moves.VOLT_SWITCH]: ModifierTier.GREAT, - [Moves.STRUGGLE_BUG]: ModifierTier.COMMON, - [Moves.BULLDOZE]: ModifierTier.GREAT, - [Moves.FROST_BREATH]: ModifierTier.GREAT, - [Moves.DRAGON_TAIL]: ModifierTier.GREAT, - [Moves.WORK_UP]: ModifierTier.COMMON, - [Moves.ELECTROWEB]: ModifierTier.GREAT, - [Moves.WILD_CHARGE]: ModifierTier.GREAT, - [Moves.DRILL_RUN]: ModifierTier.GREAT, - [Moves.RAZOR_SHELL]: ModifierTier.GREAT, - [Moves.HEAT_CRASH]: ModifierTier.GREAT, - [Moves.TAIL_SLAP]: ModifierTier.GREAT, - [Moves.HURRICANE]: ModifierTier.ULTRA, - [Moves.SNARL]: ModifierTier.COMMON, - [Moves.PHANTOM_FORCE]: ModifierTier.ULTRA, - [Moves.PETAL_BLIZZARD]: ModifierTier.GREAT, - [Moves.DISARMING_VOICE]: ModifierTier.GREAT, - [Moves.DRAINING_KISS]: ModifierTier.GREAT, - [Moves.GRASSY_TERRAIN]: ModifierTier.COMMON, - [Moves.MISTY_TERRAIN]: ModifierTier.COMMON, - [Moves.PLAY_ROUGH]: ModifierTier.GREAT, - [Moves.CONFIDE]: ModifierTier.COMMON, - [Moves.MYSTICAL_FIRE]: ModifierTier.GREAT, - [Moves.EERIE_IMPULSE]: ModifierTier.COMMON, - [Moves.VENOM_DRENCH]: ModifierTier.COMMON, - [Moves.ELECTRIC_TERRAIN]: ModifierTier.COMMON, - [Moves.DAZZLING_GLEAM]: ModifierTier.ULTRA, - [Moves.INFESTATION]: ModifierTier.COMMON, - [Moves.POWER_UP_PUNCH]: ModifierTier.GREAT, - [Moves.DARKEST_LARIAT]: ModifierTier.GREAT, - [Moves.HIGH_HORSEPOWER]: ModifierTier.ULTRA, - [Moves.SOLAR_BLADE]: ModifierTier.GREAT, - [Moves.THROAT_CHOP]: ModifierTier.GREAT, - [Moves.POLLEN_PUFF]: ModifierTier.GREAT, - [Moves.PSYCHIC_TERRAIN]: ModifierTier.COMMON, - [Moves.LUNGE]: ModifierTier.GREAT, - [Moves.SPEED_SWAP]: ModifierTier.COMMON, - [Moves.SMART_STRIKE]: ModifierTier.GREAT, - [Moves.BRUTAL_SWING]: ModifierTier.GREAT, - [Moves.AURORA_VEIL]: ModifierTier.COMMON, - [Moves.PSYCHIC_FANGS]: ModifierTier.GREAT, - [Moves.STOMPING_TANTRUM]: ModifierTier.GREAT, - [Moves.LIQUIDATION]: ModifierTier.ULTRA, - [Moves.BODY_PRESS]: ModifierTier.ULTRA, - [Moves.BREAKING_SWIPE]: ModifierTier.GREAT, - [Moves.STEEL_BEAM]: ModifierTier.ULTRA, - [Moves.EXPANDING_FORCE]: ModifierTier.GREAT, - [Moves.STEEL_ROLLER]: ModifierTier.COMMON, - [Moves.SCALE_SHOT]: ModifierTier.ULTRA, - [Moves.METEOR_BEAM]: ModifierTier.GREAT, - [Moves.MISTY_EXPLOSION]: ModifierTier.COMMON, - [Moves.GRASSY_GLIDE]: ModifierTier.COMMON, - [Moves.RISING_VOLTAGE]: ModifierTier.COMMON, - [Moves.TERRAIN_PULSE]: ModifierTier.COMMON, - [Moves.SKITTER_SMACK]: ModifierTier.GREAT, - [Moves.BURNING_JEALOUSY]: ModifierTier.GREAT, - [Moves.LASH_OUT]: ModifierTier.GREAT, - [Moves.POLTERGEIST]: ModifierTier.ULTRA, - [Moves.CORROSIVE_GAS]: ModifierTier.COMMON, - [Moves.COACHING]: ModifierTier.COMMON, - [Moves.FLIP_TURN]: ModifierTier.COMMON, - [Moves.TRIPLE_AXEL]: ModifierTier.COMMON, - [Moves.DUAL_WINGBEAT]: ModifierTier.COMMON, - [Moves.SCORCHING_SANDS]: ModifierTier.GREAT, - [Moves.TERA_BLAST]: ModifierTier.GREAT, - [Moves.ICE_SPINNER]: ModifierTier.GREAT, - [Moves.SNOWSCAPE]: ModifierTier.COMMON, - [Moves.POUNCE]: ModifierTier.COMMON, - [Moves.TRAILBLAZE]: ModifierTier.COMMON, - [Moves.CHILLING_WATER]: ModifierTier.COMMON, - [Moves.HARD_PRESS]: ModifierTier.GREAT, - [Moves.DRAGON_CHEER]: ModifierTier.COMMON, - [Moves.ALLURING_VOICE]: ModifierTier.GREAT, - [Moves.TEMPER_FLARE]: ModifierTier.GREAT, - [Moves.SUPERCELL_SLAM]: ModifierTier.GREAT, - [Moves.PSYCHIC_NOISE]: ModifierTier.GREAT, - [Moves.UPPER_HAND]: ModifierTier.COMMON, + [MoveId.MEGA_PUNCH]: ModifierTier.GREAT, + [MoveId.PAY_DAY]: ModifierTier.ULTRA, + [MoveId.FIRE_PUNCH]: ModifierTier.GREAT, + [MoveId.ICE_PUNCH]: ModifierTier.GREAT, + [MoveId.THUNDER_PUNCH]: ModifierTier.GREAT, + [MoveId.SWORDS_DANCE]: ModifierTier.COMMON, + [MoveId.CUT]: ModifierTier.COMMON, + [MoveId.FLY]: ModifierTier.COMMON, + [MoveId.MEGA_KICK]: ModifierTier.GREAT, + [MoveId.BODY_SLAM]: ModifierTier.GREAT, + [MoveId.TAKE_DOWN]: ModifierTier.GREAT, + [MoveId.DOUBLE_EDGE]: ModifierTier.ULTRA, + [MoveId.PIN_MISSILE]: ModifierTier.COMMON, + [MoveId.ROAR]: ModifierTier.COMMON, + [MoveId.FLAMETHROWER]: ModifierTier.ULTRA, + [MoveId.HYDRO_PUMP]: ModifierTier.ULTRA, + [MoveId.SURF]: ModifierTier.ULTRA, + [MoveId.ICE_BEAM]: ModifierTier.ULTRA, + [MoveId.BLIZZARD]: ModifierTier.ULTRA, + [MoveId.PSYBEAM]: ModifierTier.GREAT, + [MoveId.HYPER_BEAM]: ModifierTier.ULTRA, + [MoveId.LOW_KICK]: ModifierTier.COMMON, + [MoveId.COUNTER]: ModifierTier.COMMON, + [MoveId.STRENGTH]: ModifierTier.GREAT, + [MoveId.SOLAR_BEAM]: ModifierTier.ULTRA, + [MoveId.FIRE_SPIN]: ModifierTier.COMMON, + [MoveId.THUNDERBOLT]: ModifierTier.ULTRA, + [MoveId.THUNDER_WAVE]: ModifierTier.COMMON, + [MoveId.THUNDER]: ModifierTier.ULTRA, + [MoveId.EARTHQUAKE]: ModifierTier.ULTRA, + [MoveId.DIG]: ModifierTier.GREAT, + [MoveId.TOXIC]: ModifierTier.GREAT, + [MoveId.PSYCHIC]: ModifierTier.ULTRA, + [MoveId.AGILITY]: ModifierTier.COMMON, + [MoveId.NIGHT_SHADE]: ModifierTier.COMMON, + [MoveId.SCREECH]: ModifierTier.COMMON, + [MoveId.DOUBLE_TEAM]: ModifierTier.COMMON, + [MoveId.CONFUSE_RAY]: ModifierTier.COMMON, + [MoveId.LIGHT_SCREEN]: ModifierTier.COMMON, + [MoveId.HAZE]: ModifierTier.COMMON, + [MoveId.REFLECT]: ModifierTier.COMMON, + [MoveId.FOCUS_ENERGY]: ModifierTier.COMMON, + [MoveId.METRONOME]: ModifierTier.COMMON, + [MoveId.SELF_DESTRUCT]: ModifierTier.GREAT, + [MoveId.FIRE_BLAST]: ModifierTier.ULTRA, + [MoveId.WATERFALL]: ModifierTier.GREAT, + [MoveId.SWIFT]: ModifierTier.COMMON, + [MoveId.AMNESIA]: ModifierTier.COMMON, + [MoveId.DREAM_EATER]: ModifierTier.GREAT, + [MoveId.LEECH_LIFE]: ModifierTier.ULTRA, + [MoveId.FLASH]: ModifierTier.COMMON, + [MoveId.EXPLOSION]: ModifierTier.GREAT, + [MoveId.REST]: ModifierTier.COMMON, + [MoveId.ROCK_SLIDE]: ModifierTier.GREAT, + [MoveId.TRI_ATTACK]: ModifierTier.ULTRA, + [MoveId.SUPER_FANG]: ModifierTier.COMMON, + [MoveId.SUBSTITUTE]: ModifierTier.COMMON, + [MoveId.THIEF]: ModifierTier.GREAT, + [MoveId.SNORE]: ModifierTier.COMMON, + [MoveId.CURSE]: ModifierTier.COMMON, + [MoveId.REVERSAL]: ModifierTier.COMMON, + [MoveId.SPITE]: ModifierTier.COMMON, + [MoveId.PROTECT]: ModifierTier.COMMON, + [MoveId.SCARY_FACE]: ModifierTier.COMMON, + [MoveId.SLUDGE_BOMB]: ModifierTier.GREAT, + [MoveId.MUD_SLAP]: ModifierTier.COMMON, + [MoveId.SPIKES]: ModifierTier.COMMON, + [MoveId.ICY_WIND]: ModifierTier.GREAT, + [MoveId.OUTRAGE]: ModifierTier.ULTRA, + [MoveId.SANDSTORM]: ModifierTier.COMMON, + [MoveId.GIGA_DRAIN]: ModifierTier.ULTRA, + [MoveId.ENDURE]: ModifierTier.COMMON, + [MoveId.CHARM]: ModifierTier.COMMON, + [MoveId.FALSE_SWIPE]: ModifierTier.COMMON, + [MoveId.SWAGGER]: ModifierTier.COMMON, + [MoveId.STEEL_WING]: ModifierTier.GREAT, + [MoveId.ATTRACT]: ModifierTier.COMMON, + [MoveId.SLEEP_TALK]: ModifierTier.COMMON, + [MoveId.HEAL_BELL]: ModifierTier.COMMON, + [MoveId.RETURN]: ModifierTier.ULTRA, + [MoveId.FRUSTRATION]: ModifierTier.COMMON, + [MoveId.SAFEGUARD]: ModifierTier.COMMON, + [MoveId.PAIN_SPLIT]: ModifierTier.COMMON, + [MoveId.MEGAHORN]: ModifierTier.ULTRA, + [MoveId.BATON_PASS]: ModifierTier.COMMON, + [MoveId.ENCORE]: ModifierTier.COMMON, + [MoveId.IRON_TAIL]: ModifierTier.GREAT, + [MoveId.METAL_CLAW]: ModifierTier.COMMON, + [MoveId.SYNTHESIS]: ModifierTier.GREAT, + [MoveId.HIDDEN_POWER]: ModifierTier.GREAT, + [MoveId.RAIN_DANCE]: ModifierTier.COMMON, + [MoveId.SUNNY_DAY]: ModifierTier.COMMON, + [MoveId.CRUNCH]: ModifierTier.GREAT, + [MoveId.PSYCH_UP]: ModifierTier.COMMON, + [MoveId.SHADOW_BALL]: ModifierTier.ULTRA, + [MoveId.FUTURE_SIGHT]: ModifierTier.GREAT, + [MoveId.ROCK_SMASH]: ModifierTier.COMMON, + [MoveId.WHIRLPOOL]: ModifierTier.COMMON, + [MoveId.BEAT_UP]: ModifierTier.COMMON, + [MoveId.UPROAR]: ModifierTier.GREAT, + [MoveId.HEAT_WAVE]: ModifierTier.ULTRA, + [MoveId.HAIL]: ModifierTier.COMMON, + [MoveId.TORMENT]: ModifierTier.COMMON, + [MoveId.WILL_O_WISP]: ModifierTier.COMMON, + [MoveId.FACADE]: ModifierTier.GREAT, + [MoveId.FOCUS_PUNCH]: ModifierTier.COMMON, + [MoveId.NATURE_POWER]: ModifierTier.COMMON, + [MoveId.CHARGE]: ModifierTier.COMMON, + [MoveId.TAUNT]: ModifierTier.COMMON, + [MoveId.HELPING_HAND]: ModifierTier.COMMON, + [MoveId.TRICK]: ModifierTier.COMMON, + [MoveId.SUPERPOWER]: ModifierTier.ULTRA, + [MoveId.RECYCLE]: ModifierTier.COMMON, + [MoveId.REVENGE]: ModifierTier.GREAT, + [MoveId.BRICK_BREAK]: ModifierTier.GREAT, + [MoveId.KNOCK_OFF]: ModifierTier.GREAT, + [MoveId.ENDEAVOR]: ModifierTier.COMMON, + [MoveId.SKILL_SWAP]: ModifierTier.COMMON, + [MoveId.IMPRISON]: ModifierTier.COMMON, + [MoveId.SECRET_POWER]: ModifierTier.COMMON, + [MoveId.DIVE]: ModifierTier.GREAT, + [MoveId.FEATHER_DANCE]: ModifierTier.COMMON, + [MoveId.BLAZE_KICK]: ModifierTier.GREAT, + [MoveId.HYPER_VOICE]: ModifierTier.ULTRA, + [MoveId.BLAST_BURN]: ModifierTier.ULTRA, + [MoveId.HYDRO_CANNON]: ModifierTier.ULTRA, + [MoveId.WEATHER_BALL]: ModifierTier.COMMON, + [MoveId.FAKE_TEARS]: ModifierTier.COMMON, + [MoveId.AIR_CUTTER]: ModifierTier.GREAT, + [MoveId.OVERHEAT]: ModifierTier.ULTRA, + [MoveId.ROCK_TOMB]: ModifierTier.GREAT, + [MoveId.METAL_SOUND]: ModifierTier.COMMON, + [MoveId.COSMIC_POWER]: ModifierTier.COMMON, + [MoveId.SIGNAL_BEAM]: ModifierTier.GREAT, + [MoveId.SAND_TOMB]: ModifierTier.COMMON, + [MoveId.MUDDY_WATER]: ModifierTier.GREAT, + [MoveId.BULLET_SEED]: ModifierTier.GREAT, + [MoveId.AERIAL_ACE]: ModifierTier.GREAT, + [MoveId.ICICLE_SPEAR]: ModifierTier.GREAT, + [MoveId.IRON_DEFENSE]: ModifierTier.GREAT, + [MoveId.DRAGON_CLAW]: ModifierTier.ULTRA, + [MoveId.FRENZY_PLANT]: ModifierTier.ULTRA, + [MoveId.BULK_UP]: ModifierTier.COMMON, + [MoveId.BOUNCE]: ModifierTier.GREAT, + [MoveId.MUD_SHOT]: ModifierTier.GREAT, + [MoveId.POISON_TAIL]: ModifierTier.GREAT, + [MoveId.COVET]: ModifierTier.GREAT, + [MoveId.MAGICAL_LEAF]: ModifierTier.GREAT, + [MoveId.CALM_MIND]: ModifierTier.GREAT, + [MoveId.LEAF_BLADE]: ModifierTier.ULTRA, + [MoveId.DRAGON_DANCE]: ModifierTier.GREAT, + [MoveId.ROCK_BLAST]: ModifierTier.GREAT, + [MoveId.WATER_PULSE]: ModifierTier.GREAT, + [MoveId.ROOST]: ModifierTier.GREAT, + [MoveId.GRAVITY]: ModifierTier.COMMON, + [MoveId.GYRO_BALL]: ModifierTier.COMMON, + [MoveId.BRINE]: ModifierTier.GREAT, + [MoveId.PLUCK]: ModifierTier.GREAT, + [MoveId.TAILWIND]: ModifierTier.GREAT, + [MoveId.U_TURN]: ModifierTier.GREAT, + [MoveId.CLOSE_COMBAT]: ModifierTier.ULTRA, + [MoveId.PAYBACK]: ModifierTier.COMMON, + [MoveId.ASSURANCE]: ModifierTier.COMMON, + [MoveId.EMBARGO]: ModifierTier.COMMON, + [MoveId.FLING]: ModifierTier.COMMON, + [MoveId.GASTRO_ACID]: ModifierTier.GREAT, + [MoveId.POWER_SWAP]: ModifierTier.COMMON, + [MoveId.GUARD_SWAP]: ModifierTier.COMMON, + [MoveId.WORRY_SEED]: ModifierTier.GREAT, + [MoveId.TOXIC_SPIKES]: ModifierTier.GREAT, + [MoveId.FLARE_BLITZ]: ModifierTier.ULTRA, + [MoveId.AURA_SPHERE]: ModifierTier.GREAT, + [MoveId.ROCK_POLISH]: ModifierTier.COMMON, + [MoveId.POISON_JAB]: ModifierTier.GREAT, + [MoveId.DARK_PULSE]: ModifierTier.GREAT, + [MoveId.AQUA_TAIL]: ModifierTier.GREAT, + [MoveId.SEED_BOMB]: ModifierTier.GREAT, + [MoveId.AIR_SLASH]: ModifierTier.GREAT, + [MoveId.X_SCISSOR]: ModifierTier.GREAT, + [MoveId.BUG_BUZZ]: ModifierTier.GREAT, + [MoveId.DRAGON_PULSE]: ModifierTier.GREAT, + [MoveId.POWER_GEM]: ModifierTier.GREAT, + [MoveId.DRAIN_PUNCH]: ModifierTier.GREAT, + [MoveId.VACUUM_WAVE]: ModifierTier.COMMON, + [MoveId.FOCUS_BLAST]: ModifierTier.GREAT, + [MoveId.ENERGY_BALL]: ModifierTier.GREAT, + [MoveId.BRAVE_BIRD]: ModifierTier.ULTRA, + [MoveId.EARTH_POWER]: ModifierTier.ULTRA, + [MoveId.GIGA_IMPACT]: ModifierTier.GREAT, + [MoveId.NASTY_PLOT]: ModifierTier.COMMON, + [MoveId.AVALANCHE]: ModifierTier.GREAT, + [MoveId.SHADOW_CLAW]: ModifierTier.GREAT, + [MoveId.THUNDER_FANG]: ModifierTier.GREAT, + [MoveId.ICE_FANG]: ModifierTier.GREAT, + [MoveId.FIRE_FANG]: ModifierTier.GREAT, + [MoveId.PSYCHO_CUT]: ModifierTier.GREAT, + [MoveId.ZEN_HEADBUTT]: ModifierTier.GREAT, + [MoveId.FLASH_CANNON]: ModifierTier.GREAT, + [MoveId.ROCK_CLIMB]: ModifierTier.GREAT, + [MoveId.DEFOG]: ModifierTier.COMMON, + [MoveId.TRICK_ROOM]: ModifierTier.COMMON, + [MoveId.DRACO_METEOR]: ModifierTier.ULTRA, + [MoveId.LEAF_STORM]: ModifierTier.ULTRA, + [MoveId.POWER_WHIP]: ModifierTier.ULTRA, + [MoveId.CROSS_POISON]: ModifierTier.GREAT, + [MoveId.GUNK_SHOT]: ModifierTier.ULTRA, + [MoveId.IRON_HEAD]: ModifierTier.GREAT, + [MoveId.STONE_EDGE]: ModifierTier.ULTRA, + [MoveId.STEALTH_ROCK]: ModifierTier.COMMON, + [MoveId.GRASS_KNOT]: ModifierTier.ULTRA, + [MoveId.BUG_BITE]: ModifierTier.GREAT, + [MoveId.CHARGE_BEAM]: ModifierTier.GREAT, + [MoveId.HONE_CLAWS]: ModifierTier.COMMON, + [MoveId.WONDER_ROOM]: ModifierTier.COMMON, + [MoveId.PSYSHOCK]: ModifierTier.GREAT, + [MoveId.VENOSHOCK]: ModifierTier.GREAT, + [MoveId.MAGIC_ROOM]: ModifierTier.COMMON, + [MoveId.SMACK_DOWN]: ModifierTier.COMMON, + [MoveId.SLUDGE_WAVE]: ModifierTier.GREAT, + [MoveId.HEAVY_SLAM]: ModifierTier.GREAT, + [MoveId.ELECTRO_BALL]: ModifierTier.GREAT, + [MoveId.FLAME_CHARGE]: ModifierTier.GREAT, + [MoveId.LOW_SWEEP]: ModifierTier.GREAT, + [MoveId.ACID_SPRAY]: ModifierTier.COMMON, + [MoveId.FOUL_PLAY]: ModifierTier.ULTRA, + [MoveId.ROUND]: ModifierTier.COMMON, + [MoveId.ECHOED_VOICE]: ModifierTier.COMMON, + [MoveId.STORED_POWER]: ModifierTier.COMMON, + [MoveId.ALLY_SWITCH]: ModifierTier.COMMON, + [MoveId.SCALD]: ModifierTier.GREAT, + [MoveId.HEX]: ModifierTier.GREAT, + [MoveId.SKY_DROP]: ModifierTier.GREAT, + [MoveId.INCINERATE]: ModifierTier.GREAT, + [MoveId.QUASH]: ModifierTier.COMMON, + [MoveId.ACROBATICS]: ModifierTier.GREAT, + [MoveId.RETALIATE]: ModifierTier.GREAT, + [MoveId.WATER_PLEDGE]: ModifierTier.GREAT, + [MoveId.FIRE_PLEDGE]: ModifierTier.GREAT, + [MoveId.GRASS_PLEDGE]: ModifierTier.GREAT, + [MoveId.VOLT_SWITCH]: ModifierTier.GREAT, + [MoveId.STRUGGLE_BUG]: ModifierTier.COMMON, + [MoveId.BULLDOZE]: ModifierTier.GREAT, + [MoveId.FROST_BREATH]: ModifierTier.GREAT, + [MoveId.DRAGON_TAIL]: ModifierTier.GREAT, + [MoveId.WORK_UP]: ModifierTier.COMMON, + [MoveId.ELECTROWEB]: ModifierTier.GREAT, + [MoveId.WILD_CHARGE]: ModifierTier.GREAT, + [MoveId.DRILL_RUN]: ModifierTier.GREAT, + [MoveId.RAZOR_SHELL]: ModifierTier.GREAT, + [MoveId.HEAT_CRASH]: ModifierTier.GREAT, + [MoveId.TAIL_SLAP]: ModifierTier.GREAT, + [MoveId.HURRICANE]: ModifierTier.ULTRA, + [MoveId.SNARL]: ModifierTier.COMMON, + [MoveId.PHANTOM_FORCE]: ModifierTier.ULTRA, + [MoveId.PETAL_BLIZZARD]: ModifierTier.GREAT, + [MoveId.DISARMING_VOICE]: ModifierTier.GREAT, + [MoveId.DRAINING_KISS]: ModifierTier.GREAT, + [MoveId.GRASSY_TERRAIN]: ModifierTier.COMMON, + [MoveId.MISTY_TERRAIN]: ModifierTier.COMMON, + [MoveId.PLAY_ROUGH]: ModifierTier.GREAT, + [MoveId.CONFIDE]: ModifierTier.COMMON, + [MoveId.MYSTICAL_FIRE]: ModifierTier.GREAT, + [MoveId.EERIE_IMPULSE]: ModifierTier.COMMON, + [MoveId.VENOM_DRENCH]: ModifierTier.COMMON, + [MoveId.ELECTRIC_TERRAIN]: ModifierTier.COMMON, + [MoveId.DAZZLING_GLEAM]: ModifierTier.ULTRA, + [MoveId.INFESTATION]: ModifierTier.COMMON, + [MoveId.POWER_UP_PUNCH]: ModifierTier.GREAT, + [MoveId.DARKEST_LARIAT]: ModifierTier.GREAT, + [MoveId.HIGH_HORSEPOWER]: ModifierTier.ULTRA, + [MoveId.SOLAR_BLADE]: ModifierTier.GREAT, + [MoveId.THROAT_CHOP]: ModifierTier.GREAT, + [MoveId.POLLEN_PUFF]: ModifierTier.GREAT, + [MoveId.PSYCHIC_TERRAIN]: ModifierTier.COMMON, + [MoveId.LUNGE]: ModifierTier.GREAT, + [MoveId.SPEED_SWAP]: ModifierTier.COMMON, + [MoveId.SMART_STRIKE]: ModifierTier.GREAT, + [MoveId.BRUTAL_SWING]: ModifierTier.GREAT, + [MoveId.AURORA_VEIL]: ModifierTier.COMMON, + [MoveId.PSYCHIC_FANGS]: ModifierTier.GREAT, + [MoveId.STOMPING_TANTRUM]: ModifierTier.GREAT, + [MoveId.LIQUIDATION]: ModifierTier.ULTRA, + [MoveId.BODY_PRESS]: ModifierTier.ULTRA, + [MoveId.BREAKING_SWIPE]: ModifierTier.GREAT, + [MoveId.STEEL_BEAM]: ModifierTier.ULTRA, + [MoveId.EXPANDING_FORCE]: ModifierTier.GREAT, + [MoveId.STEEL_ROLLER]: ModifierTier.COMMON, + [MoveId.SCALE_SHOT]: ModifierTier.ULTRA, + [MoveId.METEOR_BEAM]: ModifierTier.GREAT, + [MoveId.MISTY_EXPLOSION]: ModifierTier.COMMON, + [MoveId.GRASSY_GLIDE]: ModifierTier.COMMON, + [MoveId.RISING_VOLTAGE]: ModifierTier.COMMON, + [MoveId.TERRAIN_PULSE]: ModifierTier.COMMON, + [MoveId.SKITTER_SMACK]: ModifierTier.GREAT, + [MoveId.BURNING_JEALOUSY]: ModifierTier.GREAT, + [MoveId.LASH_OUT]: ModifierTier.GREAT, + [MoveId.POLTERGEIST]: ModifierTier.ULTRA, + [MoveId.CORROSIVE_GAS]: ModifierTier.COMMON, + [MoveId.COACHING]: ModifierTier.COMMON, + [MoveId.FLIP_TURN]: ModifierTier.COMMON, + [MoveId.TRIPLE_AXEL]: ModifierTier.COMMON, + [MoveId.DUAL_WINGBEAT]: ModifierTier.COMMON, + [MoveId.SCORCHING_SANDS]: ModifierTier.GREAT, + [MoveId.TERA_BLAST]: ModifierTier.GREAT, + [MoveId.ICE_SPINNER]: ModifierTier.GREAT, + [MoveId.SNOWSCAPE]: ModifierTier.COMMON, + [MoveId.POUNCE]: ModifierTier.COMMON, + [MoveId.TRAILBLAZE]: ModifierTier.COMMON, + [MoveId.CHILLING_WATER]: ModifierTier.COMMON, + [MoveId.HARD_PRESS]: ModifierTier.GREAT, + [MoveId.DRAGON_CHEER]: ModifierTier.COMMON, + [MoveId.ALLURING_VOICE]: ModifierTier.GREAT, + [MoveId.TEMPER_FLARE]: ModifierTier.GREAT, + [MoveId.SUPERCELL_SLAM]: ModifierTier.GREAT, + [MoveId.PSYCHIC_NOISE]: ModifierTier.GREAT, + [MoveId.UPPER_HAND]: ModifierTier.COMMON, }; diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts index f395c3bb832..321d9938b2f 100644 --- a/src/data/battle-anims.ts +++ b/src/data/battle-anims.ts @@ -5,7 +5,7 @@ import { MoveFlags } from "#enums/MoveFlags"; import type Pokemon from "../field/pokemon"; import { type nil, getFrameMs, getEnumKeys, getEnumValues, animationFileName } from "../utils/common"; import type { BattlerIndex } from "../battle"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { SubstituteTag } from "./battler-tags"; import { isNullOrUndefined } from "../utils/common"; import Phaser from "phaser"; @@ -498,7 +498,7 @@ class AnimTimedAddBgEvent extends AnimTimedBgEvent { } } -export const moveAnims = new Map(); +export const moveAnims = new Map(); export const chargeAnims = new Map(); export const commonAnims = new Map(); export const encounterAnims = new Map(); @@ -521,7 +521,7 @@ export function initCommonAnims(): Promise { }); } -export function initMoveAnim(move: Moves): Promise { +export function initMoveAnim(move: MoveId): Promise { return new Promise(resolve => { if (moveAnims.has(move)) { if (moveAnims.get(move) !== null) { @@ -544,12 +544,12 @@ export function initMoveAnim(move: Moves): Promise { moveAnims.set(move, null); const defaultMoveAnim = allMoves[move] instanceof AttackMove - ? Moves.TACKLE + ? MoveId.TACKLE : allMoves[move] instanceof SelfStatusMove - ? Moves.FOCUS_ENERGY - : Moves.TAIL_WHIP; + ? MoveId.FOCUS_ENERGY + : MoveId.TAIL_WHIP; - const fetchAnimAndResolve = (move: Moves) => { + const fetchAnimAndResolve = (move: MoveId) => { globalScene .cachedFetch(`./battle-anims/${animationFileName(move)}.json`) .then(response => { @@ -594,7 +594,7 @@ export function initMoveAnim(move: Moves): Promise { * @param move the move to populate an animation for * @param defaultMoveAnim the move to use as the default animation */ -function useDefaultAnim(move: Moves, defaultMoveAnim: Moves) { +function useDefaultAnim(move: MoveId, defaultMoveAnim: MoveId) { populateMoveAnim(move, moveAnims.get(defaultMoveAnim)); } @@ -606,7 +606,7 @@ function useDefaultAnim(move: Moves, defaultMoveAnim: Moves) { * * @remarks use {@linkcode useDefaultAnim} to use a default animation */ -function logMissingMoveAnim(move: Moves, ...optionalParams: any[]) { +function logMissingMoveAnim(move: MoveId, ...optionalParams: any[]) { const moveName = animationFileName(move); console.warn(`Could not load animation file for move '${moveName}'`, ...optionalParams); } @@ -664,7 +664,7 @@ export function initMoveChargeAnim(chargeAnim: ChargeAnim): Promise { }); } -function populateMoveAnim(move: Moves, animSource: any): void { +function populateMoveAnim(move: MoveId, animSource: any): void { const moveAnim = new AnimConfig(animSource); if (moveAnims.get(move) === null) { moveAnims.set(move, moveAnim); @@ -697,7 +697,7 @@ export async function loadEncounterAnimAssets(startLoad?: boolean): Promise { +export function loadMoveAnimAssets(moveIds: MoveId[], startLoad?: boolean): Promise { return new Promise(resolve => { const moveAnimations = moveIds.flatMap(m => moveAnims.get(m) as AnimConfig); for (const moveId of moveIds) { @@ -1425,9 +1425,9 @@ export class CommonBattleAnim extends BattleAnim { } export class MoveAnim extends BattleAnim { - public move: Moves; + public move: MoveId; - constructor(move: Moves, user: Pokemon, target: BattlerIndex, playOnEmptyField = false) { + constructor(move: MoveId, user: Pokemon, target: BattlerIndex, playOnEmptyField = false) { // Set target to the user pokemon if no target is found to avoid crashes super(user, globalScene.getField()[target] ?? user, playOnEmptyField); @@ -1456,7 +1456,7 @@ export class MoveAnim extends BattleAnim { export class MoveChargeAnim extends MoveAnim { private chargeAnim: ChargeAnim; - constructor(chargeAnim: ChargeAnim, move: Moves, user: Pokemon) { + constructor(chargeAnim: ChargeAnim, move: MoveId, user: Pokemon) { super(move, user, 0); this.chargeAnim = chargeAnim; @@ -1502,8 +1502,8 @@ export async function populateAnims() { const chargeAnimIds = getEnumValues(ChargeAnim) as ChargeAnim[]; const commonNamePattern = /name: (?:Common:)?(Opp )?(.*)/; const moveNameToId = {}; - for (const move of getEnumValues(Moves).slice(1)) { - const moveName = Moves[move].toUpperCase().replace(/\_/g, ""); + for (const move of getEnumValues(MoveId).slice(1)) { + const moveName = MoveId[move].toUpperCase().replace(/\_/g, ""); moveNameToId[moveName] = move; } diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index c284fcd5130..4f263fc152b 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -35,11 +35,11 @@ import type { StatStageChangeCallback } from "#app/phases/stat-stage-change-phas import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import i18next from "#app/plugins/i18n"; import { BooleanHolder, getFrameMs, NumberHolder, toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { PokemonAnimType } from "#enums/pokemon-anim-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { EFFECTIVE_STATS, getStatKey, Stat, type BattleStat, type EffectiveStat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; @@ -62,7 +62,7 @@ export class BattlerTag { public tagType: BattlerTagType; public lapseTypes: BattlerTagLapseType[]; public turnCount: number; - public sourceMove: Moves; + public sourceMove: MoveId; public sourceId?: number; public isBatonPassable: boolean; @@ -70,7 +70,7 @@ export class BattlerTag { tagType: BattlerTagType, lapseType: BattlerTagLapseType | BattlerTagLapseType[], turnCount: number, - sourceMove?: Moves, + sourceMove?: MoveId, sourceId?: number, isBatonPassable = false, ) { @@ -143,7 +143,7 @@ export interface TerrainBattlerTag { /** * Base class for tags that restrict the usage of moves. This effect is generally referred to as "disabling" a move - * in-game. This is not to be confused with {@linkcode Moves.DISABLE}. + * in-game. This is not to be confused with {@linkcode MoveId.DISABLE}. * * Descendants can override {@linkcode isMoveRestricted} to restrict moves that * match a condition. A restricted move gets cancelled before it is used. @@ -154,7 +154,7 @@ export abstract class MoveRestrictionBattlerTag extends BattlerTag { tagType: BattlerTagType, lapseType: BattlerTagLapseType | BattlerTagLapseType[], turnCount: number, - sourceMove?: Moves, + sourceMove?: MoveId, sourceId?: number, ) { super(tagType, lapseType, turnCount, sourceMove, sourceId); @@ -183,21 +183,21 @@ export abstract class MoveRestrictionBattlerTag extends BattlerTag { /** * Gets whether this tag is restricting a move. * - * @param move - {@linkcode Moves} ID to check restriction for. + * @param move - {@linkcode MoveId} ID to check restriction for. * @param user - The {@linkcode Pokemon} involved * @returns `true` if the move is restricted by this tag, otherwise `false`. */ - public abstract isMoveRestricted(move: Moves, user?: Pokemon): boolean; + public abstract isMoveRestricted(move: MoveId, user?: Pokemon): boolean; /** * Checks if this tag is restricting a move based on a user's decisions during the target selection phase * - * @param {Moves} _move {@linkcode Moves} move ID to check restriction for + * @param {MoveId} _move {@linkcode MoveId} move ID to check restriction for * @param {Pokemon} _user {@linkcode Pokemon} the user of the above move * @param {Pokemon} _target {@linkcode Pokemon} the target of the above move * @returns {boolean} `false` unless overridden by the child tag */ - isMoveTargetRestricted(_move: Moves, _user: Pokemon, _target: Pokemon): boolean { + isMoveTargetRestricted(_move: MoveId, _user: Pokemon, _target: Pokemon): boolean { return false; } @@ -205,10 +205,10 @@ export abstract class MoveRestrictionBattlerTag extends BattlerTag { * Gets the text to display when the player attempts to select a move that is restricted by this tag. * * @param {Pokemon} pokemon {@linkcode Pokemon} for which the player is attempting to select the restricted move - * @param {Moves} move {@linkcode Moves} ID of the move that is having its selection denied + * @param {MoveId} move {@linkcode MoveId} ID of the move that is having its selection denied * @returns {string} text to display when the player attempts to select the restricted move */ - abstract selectionDeniedText(pokemon: Pokemon, move: Moves): string; + abstract selectionDeniedText(pokemon: Pokemon, move: MoveId): string; /** * Gets the text to display when a move's execution is prevented as a result of the restriction. @@ -216,10 +216,10 @@ export abstract class MoveRestrictionBattlerTag extends BattlerTag { * pokemon first selects a move, then gets outsped by a pokemon using a move that restricts the selected move. * * @param {Pokemon} _pokemon {@linkcode Pokemon} attempting to use the restricted move - * @param {Moves} _move {@linkcode Moves} ID of the move being interrupted + * @param {MoveId} _move {@linkcode MoveId} ID of the move being interrupted * @returns {string} text to display when the move is interrupted */ - interruptedText(_pokemon: Pokemon, _move: Moves): string { + interruptedText(_pokemon: Pokemon, _move: MoveId): string { return ""; } } @@ -235,17 +235,17 @@ export class ThroatChoppedTag extends MoveRestrictionBattlerTag { BattlerTagType.THROAT_CHOPPED, [BattlerTagLapseType.TURN_END, BattlerTagLapseType.PRE_MOVE], 2, - Moves.THROAT_CHOP, + MoveId.THROAT_CHOP, ); } /** - * Checks if a {@linkcode Moves | move} is restricted by Throat Chop. + * Checks if a {@linkcode MoveId | move} is restricted by Throat Chop. * @override - * @param {Moves} move the {@linkcode Moves | move} to check for sound-based restriction + * @param {MoveId} move the {@linkcode MoveId | move} to check for sound-based restriction * @returns true if the move is sound-based */ - override isMoveRestricted(move: Moves): boolean { + override isMoveRestricted(move: MoveId): boolean { return allMoves[move].hasFlag(MoveFlags.SOUND_BASED); } @@ -253,10 +253,10 @@ export class ThroatChoppedTag extends MoveRestrictionBattlerTag { * Shows a message when the player attempts to select a move that is restricted by Throat Chop. * @override * @param {Pokemon} _pokemon the {@linkcode Pokemon} that is attempting to select the restricted move - * @param {Moves} move the {@linkcode Moves | move} that is being restricted + * @param {MoveId} move the {@linkcode MoveId | move} that is being restricted * @returns the message to display when the player attempts to select the restricted move */ - override selectionDeniedText(_pokemon: Pokemon, move: Moves): string { + override selectionDeniedText(_pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveCannotBeSelected", { moveName: allMoves[move].name, }); @@ -266,10 +266,10 @@ export class ThroatChoppedTag extends MoveRestrictionBattlerTag { * Shows a message when a move is interrupted by Throat Chop. * @override * @param {Pokemon} pokemon the interrupted {@linkcode Pokemon} - * @param {Moves} _move the {@linkcode Moves | move} that was interrupted + * @param {MoveId} _move the {@linkcode MoveId | move} that was interrupted * @returns the message to display when the move is interrupted */ - override interruptedText(pokemon: Pokemon, _move: Moves): string { + override interruptedText(pokemon: Pokemon, _move: MoveId): string { return i18next.t("battle:throatChopInterruptedMove", { pokemonName: getPokemonNameWithAffix(pokemon), }); @@ -277,25 +277,25 @@ export class ThroatChoppedTag extends MoveRestrictionBattlerTag { } /** - * Tag representing the "disabling" effect performed by {@linkcode Moves.DISABLE} and {@linkcode Abilities.CURSED_BODY}. + * Tag representing the "disabling" effect performed by {@linkcode MoveId.DISABLE} and {@linkcode AbilityId.CURSED_BODY}. * When the tag is added, the last-used move of the tag holder is set as the disabled move. */ export class DisabledTag extends MoveRestrictionBattlerTag { /** The move being disabled. Gets set when {@linkcode onAdd} is called for this tag. */ - private moveId: Moves = Moves.NONE; + private moveId: MoveId = MoveId.NONE; constructor(sourceId: number) { super( BattlerTagType.DISABLED, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.TURN_END], 4, - Moves.DISABLE, + MoveId.DISABLE, sourceId, ); } /** @override */ - override isMoveRestricted(move: Moves): boolean { + override isMoveRestricted(move: MoveId): boolean { return move === this.moveId; } @@ -309,7 +309,7 @@ export class DisabledTag extends MoveRestrictionBattlerTag { super.onAdd(pokemon); const move = pokemon.getLastXMoves(-1).find(m => !m.virtual); - if (isNullOrUndefined(move) || move.move === Moves.STRUGGLE || move.move === Moves.NONE) { + if (isNullOrUndefined(move) || move.move === MoveId.STRUGGLE || move.move === MoveId.NONE) { return; } @@ -336,17 +336,17 @@ export class DisabledTag extends MoveRestrictionBattlerTag { } /** @override */ - override selectionDeniedText(_pokemon: Pokemon, move: Moves): string { + override selectionDeniedText(_pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabled", { moveName: allMoves[move].name }); } /** * @override * @param {Pokemon} pokemon {@linkcode Pokemon} attempting to use the restricted move - * @param {Moves} move {@linkcode Moves} ID of the move being interrupted + * @param {MoveId} move {@linkcode MoveId} ID of the move being interrupted * @returns {string} text to display when the move is interrupted */ - override interruptedText(pokemon: Pokemon, move: Moves): string { + override interruptedText(pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:disableInterruptedMove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: allMoves[move].name, @@ -365,14 +365,14 @@ export class DisabledTag extends MoveRestrictionBattlerTag { * @extends MoveRestrictionBattlerTag */ export class GorillaTacticsTag extends MoveRestrictionBattlerTag { - private moveId = Moves.NONE; + private moveId = MoveId.NONE; constructor() { super(BattlerTagType.GORILLA_TACTICS, BattlerTagLapseType.CUSTOM, 0); } /** @override */ - override isMoveRestricted(move: Moves): boolean { + override isMoveRestricted(move: MoveId): boolean { return move !== this.moveId; } @@ -416,10 +416,10 @@ export class GorillaTacticsTag extends MoveRestrictionBattlerTag { * * @override * @param {Pokemon} pokemon n/a - * @param {Moves} _move {@linkcode Moves} ID of the move being denied + * @param {MoveId} _move {@linkcode MoveId} ID of the move being denied * @returns {string} text to display when the move is denied */ - override selectionDeniedText(pokemon: Pokemon, _move: Moves): string { + override selectionDeniedText(pokemon: Pokemon, _move: MoveId): string { return i18next.t("battle:canOnlyUseMove", { moveName: allMoves[this.moveId].name, pokemonName: getPokemonNameWithAffix(pokemon), @@ -429,10 +429,10 @@ export class GorillaTacticsTag extends MoveRestrictionBattlerTag { /** * Gets the last valid move from the pokemon's move history. * @param {Pokemon} pokemon {@linkcode Pokemon} to get the last valid move from - * @returns {Moves | undefined} the last valid move from the pokemon's move history + * @returns {MoveId | undefined} the last valid move from the pokemon's move history */ - getLastValidMove(pokemon: Pokemon): Moves | undefined { - const move = pokemon.getLastXMoves().find(m => m.move !== Moves.NONE && m.move !== Moves.STRUGGLE && !m.virtual); + getLastValidMove(pokemon: Pokemon): MoveId | undefined { + const move = pokemon.getLastXMoves().find(m => m.move !== MoveId.NONE && m.move !== MoveId.STRUGGLE && !m.virtual); return move?.move; } @@ -442,7 +442,7 @@ export class GorillaTacticsTag extends MoveRestrictionBattlerTag { * BattlerTag that represents the "recharge" effects of moves like Hyper Beam. */ export class RechargingTag extends BattlerTag { - constructor(sourceMove: Moves) { + constructor(sourceMove: MoveId) { super(BattlerTagType.RECHARGING, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.TURN_END], 2, sourceMove); } @@ -450,7 +450,7 @@ export class RechargingTag extends BattlerTag { super.onAdd(pokemon); // Queue a placeholder move for the Pokemon to "use" next turn - pokemon.getMoveQueue().push({ move: Moves.NONE, targets: [] }); + pokemon.getMoveQueue().push({ move: MoveId.NONE, targets: [] }); } /** Cancels the source's move this turn and queues a "__ must recharge!" message */ @@ -479,7 +479,7 @@ export class BeakBlastChargingTag extends BattlerTag { BattlerTagType.BEAK_BLAST_CHARGING, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.TURN_END, BattlerTagLapseType.AFTER_HIT], 1, - Moves.BEAK_BLAST, + MoveId.BEAK_BLAST, ); } @@ -578,7 +578,7 @@ export class TrappedTag extends BattlerTag { tagType: BattlerTagType, lapseType: BattlerTagLapseType, turnCount: number, - sourceMove: Moves, + sourceMove: MoveId, sourceId: number, ) { super(tagType, lapseType, turnCount, sourceMove, sourceId, true); @@ -635,7 +635,7 @@ export class TrappedTag extends BattlerTag { */ class NoRetreatTag extends TrappedTag { constructor(sourceId: number) { - super(BattlerTagType.NO_RETREAT, BattlerTagLapseType.CUSTOM, 0, Moves.NO_RETREAT, sourceId); + super(BattlerTagType.NO_RETREAT, BattlerTagLapseType.CUSTOM, 0, MoveId.NO_RETREAT, sourceId); } /** overrides {@linkcode TrappedTag.apply}, removing the Ghost-type condition */ @@ -648,7 +648,7 @@ class NoRetreatTag extends TrappedTag { * BattlerTag that represents the {@link https://bulbapedia.bulbagarden.net/wiki/Flinch Flinch} status condition */ export class FlinchedTag extends BattlerTag { - constructor(sourceMove: Moves) { + constructor(sourceMove: MoveId) { super(BattlerTagType.FLINCHED, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.TURN_END], 0, sourceMove); } @@ -683,7 +683,7 @@ export class FlinchedTag extends BattlerTag { } export class InterruptedTag extends BattlerTag { - constructor(sourceMove: Moves) { + constructor(sourceMove: MoveId) { super(BattlerTagType.INTERRUPTED, BattlerTagLapseType.PRE_MOVE, 0, sourceMove); } @@ -696,7 +696,7 @@ export class InterruptedTag extends BattlerTag { pokemon.getMoveQueue().shift(); pokemon.pushMoveHistory({ - move: Moves.NONE, + move: MoveId.NONE, result: MoveResult.OTHER, targets: [], }); @@ -712,7 +712,7 @@ export class InterruptedTag extends BattlerTag { * BattlerTag that represents the {@link https://bulbapedia.bulbagarden.net/wiki/Confusion_(status_condition) Confusion} status condition */ export class ConfusedTag extends BattlerTag { - constructor(turnCount: number, sourceMove: Moves) { + constructor(turnCount: number, sourceMove: MoveId) { super(BattlerTagType.CONFUSED, BattlerTagLapseType.MOVE, turnCount, sourceMove, undefined, true); } @@ -792,7 +792,7 @@ export class ConfusedTag extends BattlerTag { * @see {@linkcode apply} */ export class DestinyBondTag extends BattlerTag { - constructor(sourceMove: Moves, sourceId: number) { + constructor(sourceMove: MoveId, sourceId: number) { super(BattlerTagType.DESTINY_BOND, BattlerTagLapseType.PRE_MOVE, 1, sourceMove, sourceId, true); } @@ -926,7 +926,7 @@ export class SeedTag extends BattlerTag { private sourceIndex: number; constructor(sourceId: number) { - super(BattlerTagType.SEEDED, BattlerTagLapseType.TURN_END, 1, Moves.LEECH_SEED, sourceId, true); + super(BattlerTagType.SEEDED, BattlerTagLapseType.TURN_END, 1, MoveId.LEECH_SEED, sourceId, true); } /** @@ -1059,7 +1059,7 @@ export class PowderTag extends BattlerTag { export class NightmareTag extends BattlerTag { constructor() { - super(BattlerTagType.NIGHTMARE, BattlerTagLapseType.TURN_END, 1, Moves.NIGHTMARE); + super(BattlerTagType.NIGHTMARE, BattlerTagLapseType.TURN_END, 1, MoveId.NIGHTMARE); } onAdd(pokemon: Pokemon): void { @@ -1110,7 +1110,7 @@ export class NightmareTag extends BattlerTag { } export class FrenzyTag extends BattlerTag { - constructor(turnCount: number, sourceMove: Moves, sourceId: number) { + constructor(turnCount: number, sourceMove: MoveId, sourceId: number) { super(BattlerTagType.FRENZY, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId); } @@ -1125,25 +1125,25 @@ export class FrenzyTag extends BattlerTag { } /** - * Applies the effects of {@linkcode Moves.ENCORE} onto the target Pokemon. + * Applies the effects of {@linkcode MoveId.ENCORE} onto the target Pokemon. * Encore forces the target Pokemon to use its most-recent move for 3 turns. */ export class EncoreTag extends MoveRestrictionBattlerTag { - public moveId: Moves; + public moveId: MoveId; constructor(sourceId: number) { super( BattlerTagType.ENCORE, [BattlerTagLapseType.CUSTOM, BattlerTagLapseType.AFTER_MOVE], 3, - Moves.ENCORE, + MoveId.ENCORE, sourceId, ); } loadTag(source: BattlerTag | any): void { super.loadTag(source); - this.moveId = source.moveId as Moves; + this.moveId = source.moveId as MoveId; } canAdd(pokemon: Pokemon): boolean { @@ -1159,13 +1159,13 @@ export class EncoreTag extends MoveRestrictionBattlerTag { } switch (repeatableMove.move) { - case Moves.MIMIC: - case Moves.MIRROR_MOVE: - case Moves.TRANSFORM: - case Moves.STRUGGLE: - case Moves.SKETCH: - case Moves.SLEEP_TALK: - case Moves.ENCORE: + case MoveId.MIMIC: + case MoveId.MIRROR_MOVE: + case MoveId.TRANSFORM: + case MoveId.STRUGGLE: + case MoveId.SKETCH: + case MoveId.SLEEP_TALK: + case MoveId.ENCORE: return false; } @@ -1213,18 +1213,18 @@ export class EncoreTag extends MoveRestrictionBattlerTag { /** * Checks if the move matches the moveId stored within the tag and returns a boolean value - * @param move {@linkcode Moves} the move selected + * @param move {@linkcode MoveId} the move selected * @param user N/A * @returns `true` if the move does not match with the moveId stored and as a result, restricted */ - override isMoveRestricted(move: Moves, _user?: Pokemon): boolean { + override isMoveRestricted(move: MoveId, _user?: Pokemon): boolean { if (move !== this.moveId) { return true; } return false; } - override selectionDeniedText(_pokemon: Pokemon, move: Moves): string { + override selectionDeniedText(_pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabled", { moveName: allMoves[move].name }); } @@ -1241,7 +1241,7 @@ export class EncoreTag extends MoveRestrictionBattlerTag { export class HelpingHandTag extends BattlerTag { constructor(sourceId: number) { - super(BattlerTagType.HELPING_HAND, BattlerTagLapseType.TURN_END, 1, Moves.HELPING_HAND, sourceId); + super(BattlerTagType.HELPING_HAND, BattlerTagLapseType.TURN_END, 1, MoveId.HELPING_HAND, sourceId); } onAdd(pokemon: Pokemon): void { @@ -1260,7 +1260,7 @@ export class HelpingHandTag extends BattlerTag { */ export class IngrainTag extends TrappedTag { constructor(sourceId: number) { - super(BattlerTagType.INGRAIN, BattlerTagLapseType.TURN_END, 1, Moves.INGRAIN, sourceId); + super(BattlerTagType.INGRAIN, BattlerTagLapseType.TURN_END, 1, MoveId.INGRAIN, sourceId); } /** @@ -1310,7 +1310,7 @@ export class IngrainTag extends TrappedTag { */ export class OctolockTag extends TrappedTag { constructor(sourceId: number) { - super(BattlerTagType.OCTOLOCK, BattlerTagLapseType.TURN_END, 1, Moves.OCTOLOCK, sourceId); + super(BattlerTagType.OCTOLOCK, BattlerTagLapseType.TURN_END, 1, MoveId.OCTOLOCK, sourceId); } lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { @@ -1327,7 +1327,7 @@ export class OctolockTag extends TrappedTag { export class AquaRingTag extends BattlerTag { constructor() { - super(BattlerTagType.AQUA_RING, BattlerTagLapseType.TURN_END, 1, Moves.AQUA_RING, undefined, true); + super(BattlerTagType.AQUA_RING, BattlerTagLapseType.TURN_END, 1, MoveId.AQUA_RING, undefined, true); } onAdd(pokemon: Pokemon): void { @@ -1361,10 +1361,10 @@ export class AquaRingTag extends BattlerTag { } } -/** Tag used to allow moves that interact with {@link Moves.MINIMIZE} to function */ +/** Tag used to allow moves that interact with {@link MoveId.MINIMIZE} to function */ export class MinimizeTag extends BattlerTag { constructor() { - super(BattlerTagType.MINIMIZED, BattlerTagLapseType.TURN_END, 1, Moves.MINIMIZE); + super(BattlerTagType.MINIMIZED, BattlerTagLapseType.TURN_END, 1, MoveId.MINIMIZE); } onAdd(pokemon: Pokemon): void { @@ -1382,7 +1382,7 @@ export class MinimizeTag extends BattlerTag { export class DrowsyTag extends BattlerTag { constructor() { - super(BattlerTagType.DROWSY, BattlerTagLapseType.TURN_END, 2, Moves.YAWN); + super(BattlerTagType.DROWSY, BattlerTagLapseType.TURN_END, 2, MoveId.YAWN); } canAdd(pokemon: Pokemon): boolean { @@ -1416,7 +1416,13 @@ export class DrowsyTag extends BattlerTag { export abstract class DamagingTrapTag extends TrappedTag { private commonAnim: CommonAnim; - constructor(tagType: BattlerTagType, commonAnim: CommonAnim, turnCount: number, sourceMove: Moves, sourceId: number) { + constructor( + tagType: BattlerTagType, + commonAnim: CommonAnim, + turnCount: number, + sourceMove: MoveId, + sourceId: number, + ) { super(tagType, BattlerTagLapseType.TURN_END, turnCount, sourceMove, sourceId); this.commonAnim = commonAnim; @@ -1461,7 +1467,7 @@ export abstract class DamagingTrapTag extends TrappedTag { export class BindTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.BIND, CommonAnim.BIND, turnCount, Moves.BIND, sourceId); + super(BattlerTagType.BIND, CommonAnim.BIND, turnCount, MoveId.BIND, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1475,7 +1481,7 @@ export class BindTag extends DamagingTrapTag { export class WrapTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.WRAP, CommonAnim.WRAP, turnCount, Moves.WRAP, sourceId); + super(BattlerTagType.WRAP, CommonAnim.WRAP, turnCount, MoveId.WRAP, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1487,7 +1493,13 @@ export class WrapTag extends DamagingTrapTag { } export abstract class VortexTrapTag extends DamagingTrapTag { - constructor(tagType: BattlerTagType, commonAnim: CommonAnim, turnCount: number, sourceMove: Moves, sourceId: number) { + constructor( + tagType: BattlerTagType, + commonAnim: CommonAnim, + turnCount: number, + sourceMove: MoveId, + sourceId: number, + ) { super(tagType, commonAnim, turnCount, sourceMove, sourceId); } @@ -1500,19 +1512,19 @@ export abstract class VortexTrapTag extends DamagingTrapTag { export class FireSpinTag extends VortexTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.FIRE_SPIN, CommonAnim.FIRE_SPIN, turnCount, Moves.FIRE_SPIN, sourceId); + super(BattlerTagType.FIRE_SPIN, CommonAnim.FIRE_SPIN, turnCount, MoveId.FIRE_SPIN, sourceId); } } export class WhirlpoolTag extends VortexTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.WHIRLPOOL, CommonAnim.WHIRLPOOL, turnCount, Moves.WHIRLPOOL, sourceId); + super(BattlerTagType.WHIRLPOOL, CommonAnim.WHIRLPOOL, turnCount, MoveId.WHIRLPOOL, sourceId); } } export class ClampTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.CLAMP, CommonAnim.CLAMP, turnCount, Moves.CLAMP, sourceId); + super(BattlerTagType.CLAMP, CommonAnim.CLAMP, turnCount, MoveId.CLAMP, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1525,7 +1537,7 @@ export class ClampTag extends DamagingTrapTag { export class SandTombTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.SAND_TOMB, CommonAnim.SAND_TOMB, turnCount, Moves.SAND_TOMB, sourceId); + super(BattlerTagType.SAND_TOMB, CommonAnim.SAND_TOMB, turnCount, MoveId.SAND_TOMB, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1538,7 +1550,7 @@ export class SandTombTag extends DamagingTrapTag { export class MagmaStormTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.MAGMA_STORM, CommonAnim.MAGMA_STORM, turnCount, Moves.MAGMA_STORM, sourceId); + super(BattlerTagType.MAGMA_STORM, CommonAnim.MAGMA_STORM, turnCount, MoveId.MAGMA_STORM, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1550,7 +1562,7 @@ export class MagmaStormTag extends DamagingTrapTag { export class SnapTrapTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.SNAP_TRAP, CommonAnim.SNAP_TRAP, turnCount, Moves.SNAP_TRAP, sourceId); + super(BattlerTagType.SNAP_TRAP, CommonAnim.SNAP_TRAP, turnCount, MoveId.SNAP_TRAP, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1562,7 +1574,7 @@ export class SnapTrapTag extends DamagingTrapTag { export class ThunderCageTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.THUNDER_CAGE, CommonAnim.THUNDER_CAGE, turnCount, Moves.THUNDER_CAGE, sourceId); + super(BattlerTagType.THUNDER_CAGE, CommonAnim.THUNDER_CAGE, turnCount, MoveId.THUNDER_CAGE, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1575,7 +1587,7 @@ export class ThunderCageTag extends DamagingTrapTag { export class InfestationTag extends DamagingTrapTag { constructor(turnCount: number, sourceId: number) { - super(BattlerTagType.INFESTATION, CommonAnim.INFESTATION, turnCount, Moves.INFESTATION, sourceId); + super(BattlerTagType.INFESTATION, CommonAnim.INFESTATION, turnCount, MoveId.INFESTATION, sourceId); } getTrapMessage(pokemon: Pokemon): string { @@ -1587,7 +1599,7 @@ export class InfestationTag extends DamagingTrapTag { } export class ProtectedTag extends BattlerTag { - constructor(sourceMove: Moves, tagType: BattlerTagType = BattlerTagType.PROTECTED) { + constructor(sourceMove: MoveId, tagType: BattlerTagType = BattlerTagType.PROTECTED) { super(tagType, BattlerTagLapseType.TURN_END, 0, sourceMove); } @@ -1659,12 +1671,12 @@ export class ContactProtectedTag extends ProtectedTag { /** * `BattlerTag` class for moves that block damaging moves damage the enemy if the enemy's move makes contact - * Used by {@linkcode Moves.SPIKY_SHIELD} + * Used by {@linkcode MoveId.SPIKY_SHIELD} */ export class ContactDamageProtectedTag extends ContactProtectedTag { private damageRatio: number; - constructor(sourceMove: Moves, damageRatio: number) { + constructor(sourceMove: MoveId, damageRatio: number) { super(sourceMove, BattlerTagType.SPIKY_SHIELD); this.damageRatio = damageRatio; } @@ -1704,7 +1716,7 @@ export class ContactSetStatusProtectedTag extends DamageProtectedTag { * @param statusEffect The status effect to apply to the attacker */ constructor( - sourceMove: Moves, + sourceMove: MoveId, tagType: BattlerTagType, private statusEffect: StatusEffect, ) { @@ -1723,13 +1735,13 @@ export class ContactSetStatusProtectedTag extends DamageProtectedTag { /** * `BattlerTag` class for moves that block damaging moves and lower enemy stats if the enemy's move makes contact - * Used by {@linkcode Moves.KINGS_SHIELD}, {@linkcode Moves.OBSTRUCT}, {@linkcode Moves.SILK_TRAP} + * Used by {@linkcode MoveId.KINGS_SHIELD}, {@linkcode MoveId.OBSTRUCT}, {@linkcode MoveId.SILK_TRAP} */ export class ContactStatStageChangeProtectedTag extends DamageProtectedTag { private stat: BattleStat; private levels: number; - constructor(sourceMove: Moves, tagType: BattlerTagType, stat: BattleStat, levels: number) { + constructor(sourceMove: MoveId, tagType: BattlerTagType, stat: BattleStat, levels: number) { super(sourceMove, tagType); this.stat = stat; @@ -1762,7 +1774,7 @@ export class ContactStatStageChangeProtectedTag extends DamageProtectedTag { * Endure Tokens. */ export class EnduringTag extends BattlerTag { - constructor(tagType: BattlerTagType, lapseType: BattlerTagLapseType, sourceMove: Moves) { + constructor(tagType: BattlerTagType, lapseType: BattlerTagLapseType, sourceMove: MoveId) { super(tagType, lapseType, 0, sourceMove); } @@ -1791,7 +1803,7 @@ export class EnduringTag extends BattlerTag { } export class SturdyTag extends BattlerTag { - constructor(sourceMove: Moves) { + constructor(sourceMove: MoveId) { super(BattlerTagType.STURDY, BattlerTagLapseType.TURN_END, 0, sourceMove); } @@ -1811,7 +1823,7 @@ export class SturdyTag extends BattlerTag { export class PerishSongTag extends BattlerTag { constructor(turnCount: number) { - super(BattlerTagType.PERISH_SONG, BattlerTagLapseType.TURN_END, turnCount, Moves.PERISH_SONG, undefined, true); + super(BattlerTagType.PERISH_SONG, BattlerTagLapseType.TURN_END, turnCount, MoveId.PERISH_SONG, undefined, true); } canAdd(pokemon: Pokemon): boolean { @@ -1843,10 +1855,10 @@ export class PerishSongTag extends BattlerTag { export class CenterOfAttentionTag extends BattlerTag { public powder: boolean; - constructor(sourceMove: Moves) { + constructor(sourceMove: MoveId) { super(BattlerTagType.CENTER_OF_ATTENTION, BattlerTagLapseType.TURN_END, 1, sourceMove); - this.powder = this.sourceMove === Moves.RAGE_POWDER; + this.powder = this.sourceMove === MoveId.RAGE_POWDER; } /** "Center of Attention" can't be added if an ally is already the Center of Attention. */ @@ -1868,9 +1880,9 @@ export class CenterOfAttentionTag extends BattlerTag { } export class AbilityBattlerTag extends BattlerTag { - public ability: Abilities; + public ability: AbilityId; - constructor(tagType: BattlerTagType, ability: Abilities, lapseType: BattlerTagLapseType, turnCount: number) { + constructor(tagType: BattlerTagType, ability: AbilityId, lapseType: BattlerTagLapseType, turnCount: number) { super(tagType, lapseType, turnCount); this.ability = ability; @@ -1882,7 +1894,7 @@ export class AbilityBattlerTag extends BattlerTag { */ loadTag(source: BattlerTag | any): void { super.loadTag(source); - this.ability = source.ability as Abilities; + this.ability = source.ability as AbilityId; } } @@ -1892,7 +1904,7 @@ export class AbilityBattlerTag extends BattlerTag { */ export class UnburdenTag extends AbilityBattlerTag { constructor() { - super(BattlerTagType.UNBURDEN, Abilities.UNBURDEN, BattlerTagLapseType.CUSTOM, 1); + super(BattlerTagType.UNBURDEN, AbilityId.UNBURDEN, BattlerTagLapseType.CUSTOM, 1); } onAdd(pokemon: Pokemon): void { super.onAdd(pokemon); @@ -1904,18 +1916,18 @@ export class UnburdenTag extends AbilityBattlerTag { export class TruantTag extends AbilityBattlerTag { constructor() { - super(BattlerTagType.TRUANT, Abilities.TRUANT, BattlerTagLapseType.MOVE, 1); + super(BattlerTagType.TRUANT, AbilityId.TRUANT, BattlerTagLapseType.MOVE, 1); } lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { - if (!pokemon.hasAbility(Abilities.TRUANT)) { + if (!pokemon.hasAbility(AbilityId.TRUANT)) { return super.lapse(pokemon, lapseType); } - const passive = pokemon.getAbility().id !== Abilities.TRUANT; + const passive = pokemon.getAbility().id !== AbilityId.TRUANT; const lastMove = pokemon.getLastXMoves().find(() => true); - if (lastMove && lastMove.move !== Moves.NONE) { + if (lastMove && lastMove.move !== MoveId.NONE) { (globalScene.getCurrentPhase() as MovePhase).cancel(); // TODO: Ability displays should be handled by the ability globalScene.queueAbilityDisplay(pokemon, passive, true); @@ -1933,7 +1945,7 @@ export class TruantTag extends AbilityBattlerTag { export class SlowStartTag extends AbilityBattlerTag { constructor() { - super(BattlerTagType.SLOW_START, Abilities.SLOW_START, BattlerTagLapseType.TURN_END, 5); + super(BattlerTagType.SLOW_START, AbilityId.SLOW_START, BattlerTagLapseType.TURN_END, 5); } onAdd(pokemon: Pokemon): void { @@ -1972,7 +1984,7 @@ export class HighestStatBoostTag extends AbilityBattlerTag { public stat: Stat; public multiplier: number; - constructor(tagType: BattlerTagType, ability: Abilities) { + constructor(tagType: BattlerTagType, ability: AbilityId) { super(tagType, ability, BattlerTagLapseType.CUSTOM, 1); } @@ -2031,7 +2043,7 @@ export class HighestStatBoostTag extends AbilityBattlerTag { export class WeatherHighestStatBoostTag extends HighestStatBoostTag implements WeatherBattlerTag { public weatherTypes: WeatherType[]; - constructor(tagType: BattlerTagType, ability: Abilities, ...weatherTypes: WeatherType[]) { + constructor(tagType: BattlerTagType, ability: AbilityId, ...weatherTypes: WeatherType[]) { super(tagType, ability); this.weatherTypes = weatherTypes; } @@ -2049,7 +2061,7 @@ export class WeatherHighestStatBoostTag extends HighestStatBoostTag implements W export class TerrainHighestStatBoostTag extends HighestStatBoostTag implements TerrainBattlerTag { public terrainTypes: TerrainType[]; - constructor(tagType: BattlerTagType, ability: Abilities, ...terrainTypes: TerrainType[]) { + constructor(tagType: BattlerTagType, ability: AbilityId, ...terrainTypes: TerrainType[]) { super(tagType, ability); this.terrainTypes = terrainTypes; } @@ -2065,7 +2077,7 @@ export class TerrainHighestStatBoostTag extends HighestStatBoostTag implements T } export class SemiInvulnerableTag extends BattlerTag { - constructor(tagType: BattlerTagType, turnCount: number, sourceMove: Moves) { + constructor(tagType: BattlerTagType, turnCount: number, sourceMove: MoveId) { super(tagType, BattlerTagLapseType.MOVE_EFFECT, turnCount, sourceMove); } @@ -2087,7 +2099,7 @@ export class SemiInvulnerableTag extends BattlerTag { export class TypeImmuneTag extends BattlerTag { public immuneType: PokemonType; - constructor(tagType: BattlerTagType, sourceMove: Moves, immuneType: PokemonType, length = 1) { + constructor(tagType: BattlerTagType, sourceMove: MoveId, immuneType: PokemonType, length = 1) { super(tagType, BattlerTagLapseType.TURN_END, length, sourceMove, undefined, true); this.immuneType = immuneType; @@ -2105,18 +2117,18 @@ export class TypeImmuneTag extends BattlerTag { /** * Battler Tag that lifts the affected Pokemon into the air and provides immunity to Ground type moves. - * @see {@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Rise_(move) | Moves.MAGNET_RISE} - * @see {@link https://bulbapedia.bulbagarden.net/wiki/Telekinesis_(move) | Moves.TELEKINESIS} + * @see {@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Rise_(move) | MoveId.MAGNET_RISE} + * @see {@link https://bulbapedia.bulbagarden.net/wiki/Telekinesis_(move) | MoveId.TELEKINESIS} */ export class FloatingTag extends TypeImmuneTag { - constructor(tagType: BattlerTagType, sourceMove: Moves, turnCount: number) { + constructor(tagType: BattlerTagType, sourceMove: MoveId, turnCount: number) { super(tagType, sourceMove, PokemonType.GROUND, turnCount); } onAdd(pokemon: Pokemon): void { super.onAdd(pokemon); - if (this.sourceMove === Moves.MAGNET_RISE) { + if (this.sourceMove === MoveId.MAGNET_RISE) { globalScene.queueMessage( i18next.t("battlerTags:magnetRisenOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), @@ -2127,7 +2139,7 @@ export class FloatingTag extends TypeImmuneTag { onRemove(pokemon: Pokemon): void { super.onRemove(pokemon); - if (this.sourceMove === Moves.MAGNET_RISE) { + if (this.sourceMove === MoveId.MAGNET_RISE) { globalScene.queueMessage( i18next.t("battlerTags:magnetRisenOnRemove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), @@ -2144,7 +2156,7 @@ export class TypeBoostTag extends BattlerTag { constructor( tagType: BattlerTagType, - sourceMove: Moves, + sourceMove: MoveId, boostedType: PokemonType, boostValue: number, oneUse: boolean, @@ -2188,7 +2200,7 @@ export class TypeBoostTag extends BattlerTag { } export class CritBoostTag extends BattlerTag { - constructor(tagType: BattlerTagType, sourceMove: Moves) { + constructor(tagType: BattlerTagType, sourceMove: MoveId) { super(tagType, BattlerTagLapseType.TURN_END, 1, sourceMove, undefined, true); } @@ -2226,7 +2238,7 @@ export class DragonCheerTag extends CritBoostTag { public typesOnAdd: PokemonType[]; constructor() { - super(BattlerTagType.CRIT_BOOST, Moves.DRAGON_CHEER); + super(BattlerTagType.CRIT_BOOST, MoveId.DRAGON_CHEER); } onAdd(pokemon: Pokemon): void { @@ -2240,7 +2252,7 @@ export class SaltCuredTag extends BattlerTag { private sourceIndex: number; constructor(sourceId: number) { - super(BattlerTagType.SALT_CURED, BattlerTagLapseType.TURN_END, 1, Moves.SALT_CURE, sourceId); + super(BattlerTagType.SALT_CURED, BattlerTagLapseType.TURN_END, 1, MoveId.SALT_CURE, sourceId); } /** @@ -2297,7 +2309,7 @@ export class CursedTag extends BattlerTag { private sourceIndex: number; constructor(sourceId: number) { - super(BattlerTagType.CURSED, BattlerTagLapseType.TURN_END, 1, Moves.CURSE, sourceId, true); + super(BattlerTagType.CURSED, BattlerTagLapseType.TURN_END, 1, MoveId.CURSE, sourceId, true); } /** @@ -2342,7 +2354,7 @@ export class CursedTag extends BattlerTag { * Battler tag for attacks that remove a type post use. */ export class RemovedTypeTag extends BattlerTag { - constructor(tagType: BattlerTagType, lapseType: BattlerTagLapseType, sourceMove: Moves) { + constructor(tagType: BattlerTagType, lapseType: BattlerTagLapseType, sourceMove: MoveId) { super(tagType, lapseType, 1, sourceMove); } } @@ -2352,7 +2364,7 @@ export class RemovedTypeTag extends BattlerTag { * @description `IGNORE_FLYING`: Persistent grounding effects (i.e. from Smack Down and Thousand Waves) */ export class GroundedTag extends BattlerTag { - constructor(tagType: BattlerTagType, lapseType: BattlerTagLapseType, sourceMove: Moves) { + constructor(tagType: BattlerTagType, lapseType: BattlerTagLapseType, sourceMove: MoveId) { super(tagType, lapseType, 1, sourceMove); } } @@ -2367,7 +2379,7 @@ export class RoostedTag extends BattlerTag { private isBasePureFlying: boolean; constructor() { - super(BattlerTagType.ROOSTED, BattlerTagLapseType.TURN_END, 1, Moves.ROOST); + super(BattlerTagType.ROOSTED, BattlerTagLapseType.TURN_END, 1, MoveId.ROOST); } onRemove(pokemon: Pokemon): void { @@ -2485,7 +2497,7 @@ export class CommandedTag extends BattlerTag { private _tatsugiriFormKey: string; constructor(sourceId: number) { - super(BattlerTagType.COMMANDED, BattlerTagLapseType.CUSTOM, 0, Moves.NONE, sourceId); + super(BattlerTagType.COMMANDED, BattlerTagLapseType.CUSTOM, 0, MoveId.NONE, sourceId); } public get tatsugiriFormKey(): string { @@ -2535,7 +2547,7 @@ export class StockpilingTag extends BattlerTag { [Stat.SPDEF]: 0, }; - constructor(sourceMove: Moves = Moves.NONE) { + constructor(sourceMove: MoveId = MoveId.NONE) { super(BattlerTagType.STOCKPILING, BattlerTagLapseType.CUSTOM, 1, sourceMove); } @@ -2624,7 +2636,7 @@ export class StockpilingTag extends BattlerTag { * @extends BattlerTag */ export class GulpMissileTag extends BattlerTag { - constructor(tagType: BattlerTagType, sourceMove: Moves) { + constructor(tagType: BattlerTagType, sourceMove: MoveId) { super(tagType, BattlerTagLapseType.HIT, 0, sourceMove); } @@ -2667,12 +2679,12 @@ export class GulpMissileTag extends BattlerTag { * @returns Whether the BattlerTag can be added. */ canAdd(pokemon: Pokemon): boolean { - const isSurfOrDive = [Moves.SURF, Moves.DIVE].includes(this.sourceMove); + const isSurfOrDive = [MoveId.SURF, MoveId.DIVE].includes(this.sourceMove); const isNormalForm = pokemon.formIndex === 0 && !pokemon.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA) && !pokemon.getTag(BattlerTagType.GULP_MISSILE_PIKACHU); - const isCramorant = pokemon.species.speciesId === Species.CRAMORANT; + const isCramorant = pokemon.species.speciesId === SpeciesId.CRAMORANT; return isSurfOrDive && isNormalForm && isCramorant; } @@ -2692,8 +2704,8 @@ export class GulpMissileTag extends BattlerTag { * Tag that makes the target drop all of it type immunities * and all accuracy checks ignore its evasiveness stat. * - * Applied by moves: {@linkcode Moves.ODOR_SLEUTH | Odor Sleuth}, - * {@linkcode Moves.MIRACLE_EYE | Miracle Eye} and {@linkcode Moves.FORESIGHT | Foresight}. + * Applied by moves: {@linkcode MoveId.ODOR_SLEUTH | Odor Sleuth}, + * {@linkcode MoveId.MIRACLE_EYE | Miracle Eye} and {@linkcode MoveId.FORESIGHT | Foresight}. * * @extends BattlerTag * @see {@linkcode ignoreImmunity} @@ -2702,7 +2714,7 @@ export class ExposedTag extends BattlerTag { private defenderType: PokemonType; private allowedTypes: PokemonType[]; - constructor(tagType: BattlerTagType, sourceMove: Moves, defenderType: PokemonType, allowedTypes: PokemonType[]) { + constructor(tagType: BattlerTagType, sourceMove: MoveId, defenderType: PokemonType, allowedTypes: PokemonType[]) { super(tagType, BattlerTagLapseType.CUSTOM, 1, sourceMove); this.defenderType = defenderType; this.allowedTypes = allowedTypes; @@ -2730,12 +2742,12 @@ export class ExposedTag extends BattlerTag { /** * Tag that prevents HP recovery from held items and move effects. It also blocks the usage of recovery moves. - * Applied by moves: {@linkcode Moves.HEAL_BLOCK | Heal Block (5 turns)}, {@linkcode Moves.PSYCHIC_NOISE | Psychic Noise (2 turns)} + * Applied by moves: {@linkcode MoveId.HEAL_BLOCK | Heal Block (5 turns)}, {@linkcode MoveId.PSYCHIC_NOISE | Psychic Noise (2 turns)} * * @extends MoveRestrictionBattlerTag */ export class HealBlockTag extends MoveRestrictionBattlerTag { - constructor(turnCount: number, sourceMove: Moves) { + constructor(turnCount: number, sourceMove: MoveId) { super( BattlerTagType.HEAL_BLOCK, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.TURN_END], @@ -2752,10 +2764,10 @@ export class HealBlockTag extends MoveRestrictionBattlerTag { /** * Checks if a move is disabled under Heal Block - * @param {Moves} move {@linkcode Moves} the move ID + * @param {MoveId} move {@linkcode MoveId} the move ID * @returns `true` if the move has a TRIAGE_MOVE flag and is a status move */ - override isMoveRestricted(move: Moves): boolean { + override isMoveRestricted(move: MoveId): boolean { if (allMoves[move].hasFlag(MoveFlags.TRIAGE_MOVE) && allMoves[move].category === MoveCategory.STATUS) { return true; } @@ -2765,12 +2777,12 @@ export class HealBlockTag extends MoveRestrictionBattlerTag { /** * Checks if a move is disabled under Heal Block because of its choice of target * Implemented b/c of Pollen Puff - * @param {Moves} move {@linkcode Moves} the move ID + * @param {MoveId} move {@linkcode MoveId} the move ID * @param {Pokemon} user {@linkcode Pokemon} the move user * @param {Pokemon} target {@linkcode Pokemon} the target of the move * @returns `true` if the move cannot be used because the target is an ally */ - override isMoveTargetRestricted(move: Moves, user: Pokemon, target: Pokemon) { + override isMoveTargetRestricted(move: MoveId, user: Pokemon, target: Pokemon) { const moveCategory = new NumberHolder(allMoves[move].category); applyMoveAttrs(StatusCategoryOnAllyAttr, user, target, allMoves[move], moveCategory); if (allMoves[move].hasAttr(HealOnAllyAttr) && moveCategory.value === MoveCategory.STATUS) { @@ -2782,25 +2794,25 @@ export class HealBlockTag extends MoveRestrictionBattlerTag { /** * Uses its own unique selectionDeniedText() message */ - override selectionDeniedText(pokemon: Pokemon, move: Moves): string { + override selectionDeniedText(pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabledHealBlock", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: allMoves[move].name, - healBlockName: allMoves[Moves.HEAL_BLOCK].name, + healBlockName: allMoves[MoveId.HEAL_BLOCK].name, }); } /** * @override * @param {Pokemon} pokemon {@linkcode Pokemon} attempting to use the restricted move - * @param {Moves} move {@linkcode Moves} ID of the move being interrupted + * @param {MoveId} move {@linkcode MoveId} ID of the move being interrupted * @returns {string} text to display when the move is interrupted */ - override interruptedText(pokemon: Pokemon, move: Moves): string { + override interruptedText(pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabledHealBlock", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: allMoves[move].name, - healBlockName: allMoves[Moves.HEAL_BLOCK].name, + healBlockName: allMoves[MoveId.HEAL_BLOCK].name, }); } @@ -2851,7 +2863,7 @@ export class TarShotTag extends BattlerTag { */ export class ElectrifiedTag extends BattlerTag { constructor() { - super(BattlerTagType.ELECTRIFIED, BattlerTagLapseType.TURN_END, 1, Moves.ELECTRIFY); + super(BattlerTagType.ELECTRIFIED, BattlerTagLapseType.TURN_END, 1, MoveId.ELECTRIFY); } override onAdd(pokemon: Pokemon): void { @@ -2870,7 +2882,7 @@ export class ElectrifiedTag extends BattlerTag { */ export class AutotomizedTag extends BattlerTag { public autotomizeCount = 0; - constructor(sourceMove: Moves = Moves.AUTOTOMIZE) { + constructor(sourceMove: MoveId = MoveId.AUTOTOMIZE) { super(BattlerTagType.AUTOTOMIZED, BattlerTagLapseType.CUSTOM, 1, sourceMove); } @@ -2909,7 +2921,7 @@ export class SubstituteTag extends BattlerTag { /** Is the source Pokemon "in focus," i.e. is it fully visible on the field? */ public sourceInFocus: boolean; - constructor(sourceMove: Moves, sourceId: number) { + constructor(sourceMove: MoveId, sourceId: number) { super( BattlerTagType.SUBSTITUTE, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.AFTER_MOVE, BattlerTagLapseType.HIT], @@ -2927,7 +2939,7 @@ export class SubstituteTag extends BattlerTag { // Queue battle animation and message globalScene.triggerPokemonBattleAnim(pokemon, PokemonAnimType.SUBSTITUTE_ADD); - if (this.sourceMove === Moves.SHED_TAIL) { + if (this.sourceMove === MoveId.SHED_TAIL) { globalScene.queueMessage( i18next.t("battlerTags:shedTailOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), @@ -3068,7 +3080,7 @@ export class MysteryEncounterPostSummonTag extends BattlerTag { */ export class TormentTag extends MoveRestrictionBattlerTag { constructor(sourceId: number) { - super(BattlerTagType.TORMENT, BattlerTagLapseType.AFTER_MOVE, 1, Moves.TORMENT, sourceId); + super(BattlerTagType.TORMENT, BattlerTagLapseType.AFTER_MOVE, 1, MoveId.TORMENT, sourceId); } /** @@ -3098,10 +3110,10 @@ export class TormentTag extends MoveRestrictionBattlerTag { /** * This checks if the current move used is identical to the last used move with a {@linkcode MoveResult} of `SUCCESS`/`MISS` - * @param {Moves} move the move under investigation + * @param {MoveId} move the move under investigation * @returns `true` if there is valid consecutive usage | `false` if the moves are different from each other */ - public override isMoveRestricted(move: Moves, user: Pokemon): boolean { + public override isMoveRestricted(move: MoveId, user: Pokemon): boolean { if (!user) { return false; } @@ -3114,13 +3126,13 @@ export class TormentTag extends MoveRestrictionBattlerTag { const moveObj = allMoves[lastMove.move]; const isUnaffected = moveObj.hasAttr(ConsecutiveUseDoublePowerAttr) || user.getTag(BattlerTagType.FRENZY); const validLastMoveResult = lastMove.result === MoveResult.SUCCESS || lastMove.result === MoveResult.MISS; - if (lastMove.move === move && validLastMoveResult && lastMove.move !== Moves.STRUGGLE && !isUnaffected) { + if (lastMove.move === move && validLastMoveResult && lastMove.move !== MoveId.STRUGGLE && !isUnaffected) { return true; } return false; } - override selectionDeniedText(pokemon: Pokemon, _move: Moves): string { + override selectionDeniedText(pokemon: Pokemon, _move: MoveId): string { return i18next.t("battle:moveDisabledTorment", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), }); @@ -3134,7 +3146,7 @@ export class TormentTag extends MoveRestrictionBattlerTag { */ export class TauntTag extends MoveRestrictionBattlerTag { constructor() { - super(BattlerTagType.TAUNT, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.AFTER_MOVE], 4, Moves.TAUNT); + super(BattlerTagType.TAUNT, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.AFTER_MOVE], 4, MoveId.TAUNT); } override onAdd(pokemon: Pokemon) { @@ -3159,21 +3171,21 @@ export class TauntTag extends MoveRestrictionBattlerTag { /** * Checks if a move is a status move and determines its restriction status on that basis - * @param {Moves} move the move under investigation + * @param {MoveId} move the move under investigation * @returns `true` if the move is a status move */ - override isMoveRestricted(move: Moves): boolean { + override isMoveRestricted(move: MoveId): boolean { return allMoves[move].category === MoveCategory.STATUS; } - override selectionDeniedText(pokemon: Pokemon, move: Moves): string { + override selectionDeniedText(pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabledTaunt", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: allMoves[move].name, }); } - override interruptedText(pokemon: Pokemon, move: Moves): string { + override interruptedText(pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabledTaunt", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: allMoves[move].name, @@ -3192,7 +3204,7 @@ export class ImprisonTag extends MoveRestrictionBattlerTag { BattlerTagType.IMPRISON, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.AFTER_MOVE], 1, - Moves.IMPRISON, + MoveId.IMPRISON, sourceId, ); } @@ -3217,10 +3229,10 @@ export class ImprisonTag extends MoveRestrictionBattlerTag { /** * Checks if the source of the tag has the parameter move in its moveset and that the source is still active * @override - * @param {Moves} move the move under investigation + * @param {MoveId} move the move under investigation * @returns `false` if either condition is not met */ - public override isMoveRestricted(move: Moves, _user: Pokemon): boolean { + public override isMoveRestricted(move: MoveId, _user: Pokemon): boolean { const source = this.getSourcePokemon(); if (source) { const sourceMoveset = source.getMoveset().map(m => m.moveId); @@ -3229,14 +3241,14 @@ export class ImprisonTag extends MoveRestrictionBattlerTag { return false; } - override selectionDeniedText(pokemon: Pokemon, move: Moves): string { + override selectionDeniedText(pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabledImprison", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: allMoves[move].name, }); } - override interruptedText(pokemon: Pokemon, move: Moves): string { + override interruptedText(pokemon: Pokemon, move: MoveId): string { return i18next.t("battle:moveDisabledImprison", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: allMoves[move].name, @@ -3251,7 +3263,7 @@ export class ImprisonTag extends MoveRestrictionBattlerTag { */ export class SyrupBombTag extends BattlerTag { constructor(sourceId: number) { - super(BattlerTagType.SYRUP_BOMB, BattlerTagLapseType.TURN_END, 3, Moves.SYRUP_BOMB, sourceId); + super(BattlerTagType.SYRUP_BOMB, BattlerTagLapseType.TURN_END, 3, MoveId.SYRUP_BOMB, sourceId); } /** @@ -3294,10 +3306,10 @@ export class SyrupBombTag extends BattlerTag { * Telekinesis raises the target into the air for three turns and causes all moves used against the target (aside from OHKO moves) to hit the target unless the target is in a semi-invulnerable state from Fly/Dig. * The first effect is provided by {@linkcode FloatingTag}, the accuracy-bypass effect is provided by TelekinesisTag * The effects of Telekinesis can be baton passed to a teammate. - * @see {@link https://bulbapedia.bulbagarden.net/wiki/Telekinesis_(move) | Moves.TELEKINESIS} + * @see {@link https://bulbapedia.bulbagarden.net/wiki/Telekinesis_(move) | MoveId.TELEKINESIS} */ export class TelekinesisTag extends BattlerTag { - constructor(sourceMove: Moves) { + constructor(sourceMove: MoveId) { super( BattlerTagType.TELEKINESIS, [BattlerTagLapseType.PRE_MOVE, BattlerTagLapseType.AFTER_MOVE], @@ -3322,7 +3334,7 @@ export class TelekinesisTag extends BattlerTag { * @extends BattlerTag */ export class PowerTrickTag extends BattlerTag { - constructor(sourceMove: Moves, sourceId: number) { + constructor(sourceMove: MoveId, sourceId: number) { super(BattlerTagType.POWER_TRICK, BattlerTagLapseType.CUSTOM, 0, sourceMove, sourceId, true); } @@ -3370,7 +3382,7 @@ export class PowerTrickTag extends BattlerTag { */ export class GrudgeTag extends BattlerTag { constructor() { - super(BattlerTagType.GRUDGE, [BattlerTagLapseType.CUSTOM, BattlerTagLapseType.PRE_MOVE], 1, Moves.GRUDGE); + super(BattlerTagType.GRUDGE, [BattlerTagLapseType.CUSTOM, BattlerTagLapseType.PRE_MOVE], 1, MoveId.GRUDGE); } onAdd(pokemon: Pokemon) { @@ -3394,7 +3406,7 @@ export class GrudgeTag extends BattlerTag { if (sourcePokemon.isActive() && pokemon.isOpponent(sourcePokemon)) { const lastMove = pokemon.turnData.attacksReceived[0]; const lastMoveData = sourcePokemon.getMoveset().find(m => m.moveId === lastMove.move); - if (lastMoveData && lastMove.move !== Moves.STRUGGLE) { + if (lastMoveData && lastMove.move !== MoveId.STRUGGLE) { lastMoveData.ppUsed = lastMoveData.getMovePp(); globalScene.queueMessage( i18next.t("battlerTags:grudgeLapse", { @@ -3415,7 +3427,7 @@ export class GrudgeTag extends BattlerTag { */ export class PsychoShiftTag extends BattlerTag { constructor() { - super(BattlerTagType.PSYCHO_SHIFT, BattlerTagLapseType.AFTER_MOVE, 1, Moves.PSYCHO_SHIFT); + super(BattlerTagType.PSYCHO_SHIFT, BattlerTagLapseType.AFTER_MOVE, 1, MoveId.PSYCHO_SHIFT); } /** @@ -3437,7 +3449,7 @@ export class PsychoShiftTag extends BattlerTag { */ export class MagicCoatTag extends BattlerTag { constructor() { - super(BattlerTagType.MAGIC_COAT, BattlerTagLapseType.TURN_END, 1, Moves.MAGIC_COAT); + super(BattlerTagType.MAGIC_COAT, BattlerTagLapseType.TURN_END, 1, MoveId.MAGIC_COAT); } /** @@ -3462,7 +3474,7 @@ export class MagicCoatTag extends BattlerTag { export function getBattlerTag( tagType: BattlerTagType, turnCount: number, - sourceMove: Moves, + sourceMove: MoveId, sourceId: number, ): BattlerTag { switch (tagType) { @@ -3555,12 +3567,12 @@ export function getBattlerTag( case BattlerTagType.PROTOSYNTHESIS: return new WeatherHighestStatBoostTag( tagType, - Abilities.PROTOSYNTHESIS, + AbilityId.PROTOSYNTHESIS, WeatherType.SUNNY, WeatherType.HARSH_SUN, ); case BattlerTagType.QUARK_DRIVE: - return new TerrainHighestStatBoostTag(tagType, Abilities.QUARK_DRIVE, TerrainType.ELECTRIC); + return new TerrainHighestStatBoostTag(tagType, AbilityId.QUARK_DRIVE, TerrainType.ELECTRIC); case BattlerTagType.FLYING: case BattlerTagType.UNDERGROUND: case BattlerTagType.UNDERWATER: diff --git a/src/data/challenge.ts b/src/data/challenge.ts index b4b8db2cc10..8dd303c34fd 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -15,10 +15,10 @@ import { BattleType } from "#enums/battle-type"; import Trainer, { TrainerVariant } from "#app/field/trainer"; import { PokemonType } from "#enums/pokemon-type"; import { Challenges } from "#enums/challenges"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TrainerType } from "#enums/trainer-type"; import { Nature } from "#enums/nature"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import { TypeColor, TypeShadow } from "#enums/color"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { globalScene } from "#app/global-scene"; @@ -305,11 +305,11 @@ export abstract class Challenge { /** * An apply function for STARTER_COST challenges. Derived classes should alter this. - * @param _species {@link Species} The pokemon to change the cost of. + * @param _species {@link SpeciesId} The pokemon to change the cost of. * @param _cost {@link NumberHolder} The cost of the starter. * @returns {@link boolean} Whether this function did anything. */ - applyStarterCost(_species: Species, _cost: NumberHolder): boolean { + applyStarterCost(_species: SpeciesId, _cost: NumberHolder): boolean { return false; } @@ -395,11 +395,11 @@ export abstract class Challenge { * An apply function for MOVE_ACCESS. Derived classes should alter this. * @param _pokemon {@link Pokemon} What pokemon would learn the move. * @param _moveSource {@link MoveSourceType} What source the pokemon would get the move from. - * @param _move {@link Moves} The move in question. + * @param _move {@link MoveId} The move in question. * @param _level {@link NumberHolder} The level threshold for access. * @returns {@link boolean} Whether this function did anything. */ - applyMoveAccessLevel(_pokemon: Pokemon, _moveSource: MoveSourceType, _move: Moves, _level: NumberHolder): boolean { + applyMoveAccessLevel(_pokemon: Pokemon, _moveSource: MoveSourceType, _move: MoveId, _level: NumberHolder): boolean { return false; } @@ -407,11 +407,11 @@ export abstract class Challenge { * An apply function for MOVE_WEIGHT. Derived classes should alter this. * @param _pokemon {@link Pokemon} What pokemon would learn the move. * @param _moveSource {@link MoveSourceType} What source the pokemon would get the move from. - * @param _move {@link Moves} The move in question. + * @param _move {@link MoveId} The move in question. * @param _weight {@link NumberHolder} The base weight of the move * @returns {@link boolean} Whether this function did anything. */ - applyMoveWeight(_pokemon: Pokemon, _moveSource: MoveSourceType, _move: Moves, _level: NumberHolder): boolean { + applyMoveWeight(_pokemon: Pokemon, _moveSource: MoveSourceType, _move: MoveId, _level: NumberHolder): boolean { return false; } @@ -696,7 +696,7 @@ export class SingleGenerationChallenge extends Challenge { interface monotypeOverride { /** The species to override */ - species: Species; + species: SpeciesId; /** The type to count as */ type: PokemonType; /** If part of a fusion, should we check the fused species instead of the base species? */ @@ -708,7 +708,7 @@ interface monotypeOverride { */ export class SingleTypeChallenge extends Challenge { private static TYPE_OVERRIDES: monotypeOverride[] = [ - { species: Species.CASTFORM, type: PokemonType.NORMAL, fusion: false }, + { species: SpeciesId.CASTFORM, type: PokemonType.NORMAL, fusion: false }, ]; // TODO: Find a solution for all Pokemon with this ssui issue, including Basculin and Burmy @@ -804,7 +804,7 @@ export class FreshStartChallenge extends Challenge { return false; } - applyStarterCost(species: Species, cost: NumberHolder): boolean { + applyStarterCost(species: SpeciesId, cost: NumberHolder): boolean { if (defaultStarterSpecies.includes(species)) { cost.value = speciesStarterCosts[species]; return true; @@ -992,13 +992,13 @@ export function applyChallenges(challengeType: ChallengeType.STARTER_POINTS, poi /** * Apply all challenges that modify the cost of a starter. * @param challengeType {@link ChallengeType} ChallengeType.STARTER_COST - * @param species {@link Species} The pokemon to change the cost of. + * @param species {@link SpeciesId} The pokemon to change the cost of. * @param points {@link NumberHolder} The cost of the pokemon. * @returns True if any challenge was successfully applied. */ export function applyChallenges( challengeType: ChallengeType.STARTER_COST, - species: Species, + species: SpeciesId, cost: NumberHolder, ): boolean; /** @@ -1090,7 +1090,7 @@ export function applyChallenges(challengeType: ChallengeType.GAME_MODE_MODIFY): * @param challengeType {@link ChallengeType} ChallengeType.MOVE_ACCESS * @param pokemon {@link Pokemon} What pokemon would learn the move. * @param moveSource {@link MoveSourceType} What source the pokemon would get the move from. - * @param move {@link Moves} The move in question. + * @param move {@link MoveId} The move in question. * @param level {@link NumberHolder} The level threshold for access. * @returns True if any challenge was successfully applied. */ @@ -1098,7 +1098,7 @@ export function applyChallenges( challengeType: ChallengeType.MOVE_ACCESS, pokemon: Pokemon, moveSource: MoveSourceType, - move: Moves, + move: MoveId, level: NumberHolder, ): boolean; /** @@ -1106,7 +1106,7 @@ export function applyChallenges( * @param challengeType {@link ChallengeType} ChallengeType.MOVE_WEIGHT * @param pokemon {@link Pokemon} What pokemon would learn the move. * @param moveSource {@link MoveSourceType} What source the pokemon would get the move from. - * @param move {@link Moves} The move in question. + * @param move {@link MoveId} The move in question. * @param weight {@link NumberHolder} The weight of the move. * @returns True if any challenge was successfully applied. */ @@ -1114,7 +1114,7 @@ export function applyChallenges( challengeType: ChallengeType.MOVE_WEIGHT, pokemon: Pokemon, moveSource: MoveSourceType, - move: Moves, + move: MoveId, weight: NumberHolder, ): boolean; diff --git a/src/data/custom-pokemon-data.ts b/src/data/custom-pokemon-data.ts index 20f6ea96174..252e302ccf3 100644 --- a/src/data/custom-pokemon-data.ts +++ b/src/data/custom-pokemon-data.ts @@ -1,4 +1,4 @@ -import type { Abilities } from "#enums/abilities"; +import type { AbilityId } from "#enums/ability-id"; import type { PokemonType } from "#enums/pokemon-type"; import type { Nature } from "#enums/nature"; @@ -12,8 +12,8 @@ export class CustomPokemonData { * The scale at which to render this Pokemon's sprite. */ public spriteScale = -1; - public ability: Abilities | -1; - public passive: Abilities | -1; + public ability: AbilityId | -1; + public passive: AbilityId | -1; public nature: Nature | -1; public types: PokemonType[]; /** Deprecated but needed for session save migration */ diff --git a/src/data/daily-run.ts b/src/data/daily-run.ts index 8a1632ce160..fc60e5795dc 100644 --- a/src/data/daily-run.ts +++ b/src/data/daily-run.ts @@ -1,5 +1,5 @@ import { PartyMemberStrength } from "#enums/party-member-strength"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import { globalScene } from "#app/global-scene"; import { PlayerPokemon } from "#app/field/pokemon"; import type { Starter } from "#app/ui/starter-select-ui-handler"; @@ -8,7 +8,7 @@ import type { PokemonSpeciesForm } from "#app/data/pokemon-species"; import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; export interface DailyRunConfig { seed: number; @@ -34,7 +34,7 @@ export function getDailyRunStarters(seed: string): Starter[] { for (let s = 0; s < 3; s++) { const offset = 6 + s * 6; const starterSpeciesForm = getPokemonSpeciesForm( - Number.parseInt(seed.slice(offset, offset + 4)) as Species, + Number.parseInt(seed.slice(offset, offset + 4)) as SpeciesId, Number.parseInt(seed.slice(offset + 4, offset + 6)), ); starters.push(getDailyRunStarter(starterSpeciesForm, startingLevel)); @@ -50,7 +50,7 @@ export function getDailyRunStarters(seed: string): Starter[] { for (let c = 0; c < starterCosts.length; c++) { const cost = starterCosts[c]; const costSpecies = Object.keys(speciesStarterCosts) - .map(s => Number.parseInt(s) as Species) + .map(s => Number.parseInt(s) as SpeciesId) .filter(s => speciesStarterCosts[s] === cost); const randPkmSpecies = getPokemonSpecies(randSeedItem(costSpecies)); const starterSpecies = getPokemonSpecies( @@ -102,48 +102,48 @@ interface BiomeWeights { // Town and End are set to 0 however // And some other biomes were balanced +1/-1 based on average size of the total daily. const dailyBiomeWeights: BiomeWeights = { - [Biome.CAVE]: 3, - [Biome.LAKE]: 3, - [Biome.PLAINS]: 3, - [Biome.SNOWY_FOREST]: 3, - [Biome.SWAMP]: 3, // 2 -> 3 - [Biome.TALL_GRASS]: 3, // 2 -> 3 + [BiomeId.CAVE]: 3, + [BiomeId.LAKE]: 3, + [BiomeId.PLAINS]: 3, + [BiomeId.SNOWY_FOREST]: 3, + [BiomeId.SWAMP]: 3, // 2 -> 3 + [BiomeId.TALL_GRASS]: 3, // 2 -> 3 - [Biome.ABYSS]: 2, // 3 -> 2 - [Biome.RUINS]: 2, - [Biome.BADLANDS]: 2, - [Biome.BEACH]: 2, - [Biome.CONSTRUCTION_SITE]: 2, - [Biome.DESERT]: 2, - [Biome.DOJO]: 2, // 3 -> 2 - [Biome.FACTORY]: 2, - [Biome.FAIRY_CAVE]: 2, - [Biome.FOREST]: 2, - [Biome.GRASS]: 2, // 1 -> 2 - [Biome.MEADOW]: 2, - [Biome.MOUNTAIN]: 2, // 3 -> 2 - [Biome.SEA]: 2, - [Biome.SEABED]: 2, - [Biome.SLUM]: 2, - [Biome.TEMPLE]: 2, // 3 -> 2 - [Biome.VOLCANO]: 2, + [BiomeId.ABYSS]: 2, // 3 -> 2 + [BiomeId.RUINS]: 2, + [BiomeId.BADLANDS]: 2, + [BiomeId.BEACH]: 2, + [BiomeId.CONSTRUCTION_SITE]: 2, + [BiomeId.DESERT]: 2, + [BiomeId.DOJO]: 2, // 3 -> 2 + [BiomeId.FACTORY]: 2, + [BiomeId.FAIRY_CAVE]: 2, + [BiomeId.FOREST]: 2, + [BiomeId.GRASS]: 2, // 1 -> 2 + [BiomeId.MEADOW]: 2, + [BiomeId.MOUNTAIN]: 2, // 3 -> 2 + [BiomeId.SEA]: 2, + [BiomeId.SEABED]: 2, + [BiomeId.SLUM]: 2, + [BiomeId.TEMPLE]: 2, // 3 -> 2 + [BiomeId.VOLCANO]: 2, - [Biome.GRAVEYARD]: 1, - [Biome.ICE_CAVE]: 1, - [Biome.ISLAND]: 1, - [Biome.JUNGLE]: 1, - [Biome.LABORATORY]: 1, - [Biome.METROPOLIS]: 1, - [Biome.POWER_PLANT]: 1, - [Biome.SPACE]: 1, - [Biome.WASTELAND]: 1, + [BiomeId.GRAVEYARD]: 1, + [BiomeId.ICE_CAVE]: 1, + [BiomeId.ISLAND]: 1, + [BiomeId.JUNGLE]: 1, + [BiomeId.LABORATORY]: 1, + [BiomeId.METROPOLIS]: 1, + [BiomeId.POWER_PLANT]: 1, + [BiomeId.SPACE]: 1, + [BiomeId.WASTELAND]: 1, - [Biome.TOWN]: 0, - [Biome.END]: 0, + [BiomeId.TOWN]: 0, + [BiomeId.END]: 0, }; -export function getDailyStartingBiome(): Biome { - const biomes = getEnumValues(Biome).filter(b => b !== Biome.TOWN && b !== Biome.END); +export function getDailyStartingBiome(): BiomeId { + const biomes = getEnumValues(BiomeId).filter(b => b !== BiomeId.TOWN && b !== BiomeId.END); let totalWeight = 0; const biomeThresholds: number[] = []; diff --git a/src/data/egg.ts b/src/data/egg.ts index 0b7733bf199..67cdb7b1344 100644 --- a/src/data/egg.ts +++ b/src/data/egg.ts @@ -10,7 +10,7 @@ import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import type { PlayerPokemon } from "#app/field/pokemon"; import i18next from "i18next"; import { EggTier } from "#enums/egg-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { EggSourceType } from "#enums/egg-source-types"; import { MANAPHY_EGG_MANAPHY_RATE, @@ -67,7 +67,7 @@ export interface IEggOptions { /** Sets how many waves it will take till this egg hatches. */ hatchWaves?: number; /** Sets the exact species that will hatch from this egg. */ - species?: Species; + species?: SpeciesId; /** Defines if the hatched pokemon will be a shiny. */ isShiny?: boolean; /** Defines the variant of the pokemon that will hatch from this egg. If no `variantTier` is given the normal variant rates will apply. */ @@ -94,7 +94,7 @@ export class Egg { private _hatchWaves: number; private _timestamp: number; - private _species: Species; + private _species: SpeciesId; private _isShiny: boolean; private _variantTier: VariantTier; private _eggMoveIndex: number; @@ -134,7 +134,7 @@ export class Egg { return this._timestamp; } - get species(): Species { + get species(): SpeciesId { return this._species; } @@ -221,8 +221,8 @@ export class Egg { public isManaphyEgg(): boolean { return ( - this._species === Species.PHIONE || - this._species === Species.MANAPHY || + this._species === SpeciesId.PHIONE || + this._species === SpeciesId.MANAPHY || (this._tier === EggTier.COMMON && !(this._id % 204) && !this._species) ); } @@ -247,8 +247,10 @@ export class Egg { let pokemonSpecies = getPokemonSpecies(this._species); // Special condition to have Phione eggs also have a chance of generating Manaphy - if (this._species === Species.PHIONE && this._sourceType === EggSourceType.SAME_SPECIES_EGG) { - pokemonSpecies = getPokemonSpecies(randSeedInt(MANAPHY_EGG_MANAPHY_RATE) ? Species.PHIONE : Species.MANAPHY); + if (this._species === SpeciesId.PHIONE && this._sourceType === EggSourceType.SAME_SPECIES_EGG) { + pokemonSpecies = getPokemonSpecies( + randSeedInt(MANAPHY_EGG_MANAPHY_RATE) ? SpeciesId.PHIONE : SpeciesId.MANAPHY, + ); } // Sets the hidden ability if a hidden ability exists and @@ -371,7 +373,7 @@ export class Egg { } private getEggTierDefaultHatchWaves(eggTier?: EggTier): number { - if (this._species === Species.PHIONE || this._species === Species.MANAPHY) { + if (this._species === SpeciesId.PHIONE || this._species === SpeciesId.MANAPHY) { return HATCH_WAVES_MANAPHY_EGG; } @@ -399,7 +401,7 @@ export class Egg { : EggTier.LEGENDARY; } - private rollSpecies(): Species | null { + private rollSpecies(): SpeciesId | null { if (!globalScene) { return null; } @@ -415,7 +417,7 @@ export class Egg { * check pass when Utils.randSeedInt(8) = 0, we can tell them apart during tests. */ const rand = randSeedInt(MANAPHY_EGG_MANAPHY_RATE) !== 1; - return rand ? Species.PHIONE : Species.MANAPHY; + return rand ? SpeciesId.PHIONE : SpeciesId.MANAPHY; } if (this.tier === EggTier.LEGENDARY && this._sourceType === EggSourceType.GACHA_LEGENDARY) { if (!randSeedInt(2)) { @@ -445,11 +447,11 @@ export class Egg { break; } - const ignoredSpecies = [Species.PHIONE, Species.MANAPHY, Species.ETERNATUS]; + const ignoredSpecies = [SpeciesId.PHIONE, SpeciesId.MANAPHY, SpeciesId.ETERNATUS]; let speciesPool = Object.keys(speciesEggTiers) .filter(s => speciesEggTiers[s] === this.tier) - .map(s => Number.parseInt(s) as Species) + .map(s => Number.parseInt(s) as SpeciesId) .filter( s => !pokemonPrevolutions.hasOwnProperty(s) && @@ -496,7 +498,7 @@ export class Egg { totalWeight += weight; } - let species: Species; + let species: SpeciesId; const rand = randSeedInt(totalWeight); for (let s = 0; s < speciesWeights.length; s++) { @@ -606,17 +608,17 @@ export class Egg { //// } -export function getValidLegendaryGachaSpecies(): Species[] { +export function getValidLegendaryGachaSpecies(): SpeciesId[] { return Object.entries(speciesEggTiers) .filter(s => s[1] === EggTier.LEGENDARY) .map(s => Number.parseInt(s[0])) - .filter(s => getPokemonSpecies(s).isObtainable() && s !== Species.ETERNATUS); + .filter(s => getPokemonSpecies(s).isObtainable() && s !== SpeciesId.ETERNATUS); } -export function getLegendaryGachaSpeciesForTimestamp(timestamp: number): Species { +export function getLegendaryGachaSpeciesForTimestamp(timestamp: number): SpeciesId { const legendarySpecies = getValidLegendaryGachaSpecies(); - let ret: Species; + let ret: SpeciesId; // 86400000 is the number of miliseconds in one day const timeDate = new Date(timestamp); diff --git a/src/data/moves/invalid-moves.ts b/src/data/moves/invalid-moves.ts index 025c0383f43..559b679752d 100644 --- a/src/data/moves/invalid-moves.ts +++ b/src/data/moves/invalid-moves.ts @@ -1,257 +1,257 @@ -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; -/** Set of moves that cannot be called by {@linkcode Moves.METRONOME Metronome} */ -export const invalidMetronomeMoves: ReadonlySet = new Set([ - Moves.AFTER_YOU, - Moves.ASSIST, - Moves.BANEFUL_BUNKER, - Moves.BEAK_BLAST, - Moves.BELCH, - Moves.BESTOW, - Moves.COMEUPPANCE, - Moves.COPYCAT, - Moves.COUNTER, - Moves.CRAFTY_SHIELD, - Moves.DESTINY_BOND, - Moves.DETECT, - Moves.ENDURE, - Moves.FEINT, - Moves.FOCUS_PUNCH, - Moves.FOLLOW_ME, - Moves.HELPING_HAND, - Moves.INSTRUCT, - Moves.KINGS_SHIELD, - Moves.MAT_BLOCK, - Moves.ME_FIRST, - Moves.METRONOME, - Moves.MIMIC, - Moves.MIRROR_COAT, - Moves.MIRROR_MOVE, - Moves.OBSTRUCT, - Moves.PROTECT, - Moves.QUASH, - Moves.QUICK_GUARD, - Moves.RAGE_POWDER, - Moves.REVIVAL_BLESSING, - Moves.SHELL_TRAP, - Moves.SILK_TRAP, - Moves.SKETCH, - Moves.SLEEP_TALK, - Moves.SNATCH, - Moves.SNORE, - Moves.SPIKY_SHIELD, - Moves.SPOTLIGHT, - Moves.STRUGGLE, - Moves.TRANSFORM, - Moves.WIDE_GUARD, +/** Set of moves that cannot be called by {@linkcode MoveId.METRONOME Metronome} */ +export const invalidMetronomeMoves: ReadonlySet = new Set([ + MoveId.AFTER_YOU, + MoveId.ASSIST, + MoveId.BANEFUL_BUNKER, + MoveId.BEAK_BLAST, + MoveId.BELCH, + MoveId.BESTOW, + MoveId.COMEUPPANCE, + MoveId.COPYCAT, + MoveId.COUNTER, + MoveId.CRAFTY_SHIELD, + MoveId.DESTINY_BOND, + MoveId.DETECT, + MoveId.ENDURE, + MoveId.FEINT, + MoveId.FOCUS_PUNCH, + MoveId.FOLLOW_ME, + MoveId.HELPING_HAND, + MoveId.INSTRUCT, + MoveId.KINGS_SHIELD, + MoveId.MAT_BLOCK, + MoveId.ME_FIRST, + MoveId.METRONOME, + MoveId.MIMIC, + MoveId.MIRROR_COAT, + MoveId.MIRROR_MOVE, + MoveId.OBSTRUCT, + MoveId.PROTECT, + MoveId.QUASH, + MoveId.QUICK_GUARD, + MoveId.RAGE_POWDER, + MoveId.REVIVAL_BLESSING, + MoveId.SHELL_TRAP, + MoveId.SILK_TRAP, + MoveId.SKETCH, + MoveId.SLEEP_TALK, + MoveId.SNATCH, + MoveId.SNORE, + MoveId.SPIKY_SHIELD, + MoveId.SPOTLIGHT, + MoveId.STRUGGLE, + MoveId.TRANSFORM, + MoveId.WIDE_GUARD, ]); -/** Set of moves that cannot be called by {@linkcode Moves.ASSIST Assist} */ -export const invalidAssistMoves: ReadonlySet = new Set([ - Moves.ASSIST, - Moves.BANEFUL_BUNKER, - Moves.BEAK_BLAST, - Moves.BELCH, - Moves.BESTOW, - Moves.BOUNCE, - Moves.CELEBRATE, - Moves.CHATTER, - Moves.CIRCLE_THROW, - Moves.COPYCAT, - Moves.COUNTER, - Moves.DESTINY_BOND, - Moves.DETECT, - Moves.DIG, - Moves.DIVE, - Moves.DRAGON_TAIL, - Moves.ENDURE, - Moves.FEINT, - Moves.FLY, - Moves.FOCUS_PUNCH, - Moves.FOLLOW_ME, - Moves.HELPING_HAND, - Moves.HOLD_HANDS, - Moves.KINGS_SHIELD, - Moves.MAT_BLOCK, - Moves.ME_FIRST, - Moves.METRONOME, - Moves.MIMIC, - Moves.MIRROR_COAT, - Moves.MIRROR_MOVE, - Moves.NATURE_POWER, - Moves.PHANTOM_FORCE, - Moves.PROTECT, - Moves.RAGE_POWDER, - Moves.ROAR, - Moves.SHADOW_FORCE, - Moves.SHELL_TRAP, - Moves.SKETCH, - Moves.SKY_DROP, - Moves.SLEEP_TALK, - Moves.SNATCH, - Moves.SPIKY_SHIELD, - Moves.SPOTLIGHT, - Moves.STRUGGLE, - Moves.SWITCHEROO, - Moves.TRANSFORM, - Moves.TRICK, - Moves.WHIRLWIND, +/** Set of moves that cannot be called by {@linkcode MoveId.ASSIST Assist} */ +export const invalidAssistMoves: ReadonlySet = new Set([ + MoveId.ASSIST, + MoveId.BANEFUL_BUNKER, + MoveId.BEAK_BLAST, + MoveId.BELCH, + MoveId.BESTOW, + MoveId.BOUNCE, + MoveId.CELEBRATE, + MoveId.CHATTER, + MoveId.CIRCLE_THROW, + MoveId.COPYCAT, + MoveId.COUNTER, + MoveId.DESTINY_BOND, + MoveId.DETECT, + MoveId.DIG, + MoveId.DIVE, + MoveId.DRAGON_TAIL, + MoveId.ENDURE, + MoveId.FEINT, + MoveId.FLY, + MoveId.FOCUS_PUNCH, + MoveId.FOLLOW_ME, + MoveId.HELPING_HAND, + MoveId.HOLD_HANDS, + MoveId.KINGS_SHIELD, + MoveId.MAT_BLOCK, + MoveId.ME_FIRST, + MoveId.METRONOME, + MoveId.MIMIC, + MoveId.MIRROR_COAT, + MoveId.MIRROR_MOVE, + MoveId.NATURE_POWER, + MoveId.PHANTOM_FORCE, + MoveId.PROTECT, + MoveId.RAGE_POWDER, + MoveId.ROAR, + MoveId.SHADOW_FORCE, + MoveId.SHELL_TRAP, + MoveId.SKETCH, + MoveId.SKY_DROP, + MoveId.SLEEP_TALK, + MoveId.SNATCH, + MoveId.SPIKY_SHIELD, + MoveId.SPOTLIGHT, + MoveId.STRUGGLE, + MoveId.SWITCHEROO, + MoveId.TRANSFORM, + MoveId.TRICK, + MoveId.WHIRLWIND, ]); -/** Set of moves that cannot be called by {@linkcode Moves.SLEEP_TALK Sleep Talk} */ -export const invalidSleepTalkMoves: ReadonlySet = new Set([ - Moves.ASSIST, - Moves.BELCH, - Moves.BEAK_BLAST, - Moves.BIDE, - Moves.BOUNCE, - Moves.COPYCAT, - Moves.DIG, - Moves.DIVE, - Moves.FREEZE_SHOCK, - Moves.FLY, - Moves.FOCUS_PUNCH, - Moves.GEOMANCY, - Moves.ICE_BURN, - Moves.ME_FIRST, - Moves.METRONOME, - Moves.MIRROR_MOVE, - Moves.MIMIC, - Moves.PHANTOM_FORCE, - Moves.RAZOR_WIND, - Moves.SHADOW_FORCE, - Moves.SHELL_TRAP, - Moves.SKETCH, - Moves.SKULL_BASH, - Moves.SKY_ATTACK, - Moves.SKY_DROP, - Moves.SLEEP_TALK, - Moves.SOLAR_BLADE, - Moves.SOLAR_BEAM, - Moves.STRUGGLE, - Moves.UPROAR, +/** Set of moves that cannot be called by {@linkcode MoveId.SLEEP_TALK Sleep Talk} */ +export const invalidSleepTalkMoves: ReadonlySet = new Set([ + MoveId.ASSIST, + MoveId.BELCH, + MoveId.BEAK_BLAST, + MoveId.BIDE, + MoveId.BOUNCE, + MoveId.COPYCAT, + MoveId.DIG, + MoveId.DIVE, + MoveId.FREEZE_SHOCK, + MoveId.FLY, + MoveId.FOCUS_PUNCH, + MoveId.GEOMANCY, + MoveId.ICE_BURN, + MoveId.ME_FIRST, + MoveId.METRONOME, + MoveId.MIRROR_MOVE, + MoveId.MIMIC, + MoveId.PHANTOM_FORCE, + MoveId.RAZOR_WIND, + MoveId.SHADOW_FORCE, + MoveId.SHELL_TRAP, + MoveId.SKETCH, + MoveId.SKULL_BASH, + MoveId.SKY_ATTACK, + MoveId.SKY_DROP, + MoveId.SLEEP_TALK, + MoveId.SOLAR_BLADE, + MoveId.SOLAR_BEAM, + MoveId.STRUGGLE, + MoveId.UPROAR, ]); -/** Set of moves that cannot be copied by {@linkcode Moves.COPYCAT Copycat} */ -export const invalidCopycatMoves: ReadonlySet = new Set([ - Moves.ASSIST, - Moves.BANEFUL_BUNKER, - Moves.BEAK_BLAST, - Moves.BESTOW, - Moves.CELEBRATE, - Moves.CHATTER, - Moves.CIRCLE_THROW, - Moves.COPYCAT, - Moves.COUNTER, - Moves.DESTINY_BOND, - Moves.DETECT, - Moves.DRAGON_TAIL, - Moves.ENDURE, - Moves.FEINT, - Moves.FOCUS_PUNCH, - Moves.FOLLOW_ME, - Moves.HELPING_HAND, - Moves.HOLD_HANDS, - Moves.KINGS_SHIELD, - Moves.MAT_BLOCK, - Moves.ME_FIRST, - Moves.METRONOME, - Moves.MIMIC, - Moves.MIRROR_COAT, - Moves.MIRROR_MOVE, - Moves.PROTECT, - Moves.RAGE_POWDER, - Moves.ROAR, - Moves.SHELL_TRAP, - Moves.SKETCH, - Moves.SLEEP_TALK, - Moves.SNATCH, - Moves.SPIKY_SHIELD, - Moves.SPOTLIGHT, - Moves.STRUGGLE, - Moves.SWITCHEROO, - Moves.TRANSFORM, - Moves.TRICK, - Moves.WHIRLWIND, +/** Set of moves that cannot be copied by {@linkcode MoveId.COPYCAT Copycat} */ +export const invalidCopycatMoves: ReadonlySet = new Set([ + MoveId.ASSIST, + MoveId.BANEFUL_BUNKER, + MoveId.BEAK_BLAST, + MoveId.BESTOW, + MoveId.CELEBRATE, + MoveId.CHATTER, + MoveId.CIRCLE_THROW, + MoveId.COPYCAT, + MoveId.COUNTER, + MoveId.DESTINY_BOND, + MoveId.DETECT, + MoveId.DRAGON_TAIL, + MoveId.ENDURE, + MoveId.FEINT, + MoveId.FOCUS_PUNCH, + MoveId.FOLLOW_ME, + MoveId.HELPING_HAND, + MoveId.HOLD_HANDS, + MoveId.KINGS_SHIELD, + MoveId.MAT_BLOCK, + MoveId.ME_FIRST, + MoveId.METRONOME, + MoveId.MIMIC, + MoveId.MIRROR_COAT, + MoveId.MIRROR_MOVE, + MoveId.PROTECT, + MoveId.RAGE_POWDER, + MoveId.ROAR, + MoveId.SHELL_TRAP, + MoveId.SKETCH, + MoveId.SLEEP_TALK, + MoveId.SNATCH, + MoveId.SPIKY_SHIELD, + MoveId.SPOTLIGHT, + MoveId.STRUGGLE, + MoveId.SWITCHEROO, + MoveId.TRANSFORM, + MoveId.TRICK, + MoveId.WHIRLWIND, ]); -export const invalidMirrorMoveMoves: ReadonlySet = new Set([ - Moves.ACUPRESSURE, - Moves.AFTER_YOU, - Moves.AROMATIC_MIST, - Moves.BEAK_BLAST, - Moves.BELCH, - Moves.CHILLY_RECEPTION, - Moves.COACHING, - Moves.CONVERSION_2, - Moves.COUNTER, - Moves.CRAFTY_SHIELD, - Moves.CURSE, - Moves.DECORATE, - Moves.DOODLE, - Moves.DOOM_DESIRE, - Moves.DRAGON_CHEER, - Moves.ELECTRIC_TERRAIN, - Moves.FINAL_GAMBIT, - Moves.FLORAL_HEALING, - Moves.FLOWER_SHIELD, - Moves.FOCUS_PUNCH, - Moves.FUTURE_SIGHT, - Moves.GEAR_UP, - Moves.GRASSY_TERRAIN, - Moves.GRAVITY, - Moves.GUARD_SPLIT, - Moves.HAIL, - Moves.HAZE, - Moves.HEAL_PULSE, - Moves.HELPING_HAND, - Moves.HOLD_HANDS, - Moves.INSTRUCT, - Moves.ION_DELUGE, - Moves.MAGNETIC_FLUX, - Moves.MAT_BLOCK, - Moves.ME_FIRST, - Moves.MIMIC, - Moves.MIRROR_COAT, - Moves.MIRROR_MOVE, - Moves.MIST, - Moves.MISTY_TERRAIN, - Moves.MUD_SPORT, - Moves.PERISH_SONG, - Moves.POWER_SPLIT, - Moves.PSYCH_UP, - Moves.PSYCHIC_TERRAIN, - Moves.PURIFY, - Moves.QUICK_GUARD, - Moves.RAIN_DANCE, - Moves.REFLECT_TYPE, - Moves.ROLE_PLAY, - Moves.ROTOTILLER, - Moves.SANDSTORM, - Moves.SHELL_TRAP, - Moves.SKETCH, - Moves.SNOWSCAPE, - Moves.SPIT_UP, - Moves.SPOTLIGHT, - Moves.STRUGGLE, - Moves.SUNNY_DAY, - Moves.TEATIME, - Moves.TRANSFORM, - Moves.WATER_SPORT, - Moves.WIDE_GUARD, +export const invalidMirrorMoveMoves: ReadonlySet = new Set([ + MoveId.ACUPRESSURE, + MoveId.AFTER_YOU, + MoveId.AROMATIC_MIST, + MoveId.BEAK_BLAST, + MoveId.BELCH, + MoveId.CHILLY_RECEPTION, + MoveId.COACHING, + MoveId.CONVERSION_2, + MoveId.COUNTER, + MoveId.CRAFTY_SHIELD, + MoveId.CURSE, + MoveId.DECORATE, + MoveId.DOODLE, + MoveId.DOOM_DESIRE, + MoveId.DRAGON_CHEER, + MoveId.ELECTRIC_TERRAIN, + MoveId.FINAL_GAMBIT, + MoveId.FLORAL_HEALING, + MoveId.FLOWER_SHIELD, + MoveId.FOCUS_PUNCH, + MoveId.FUTURE_SIGHT, + MoveId.GEAR_UP, + MoveId.GRASSY_TERRAIN, + MoveId.GRAVITY, + MoveId.GUARD_SPLIT, + MoveId.HAIL, + MoveId.HAZE, + MoveId.HEAL_PULSE, + MoveId.HELPING_HAND, + MoveId.HOLD_HANDS, + MoveId.INSTRUCT, + MoveId.ION_DELUGE, + MoveId.MAGNETIC_FLUX, + MoveId.MAT_BLOCK, + MoveId.ME_FIRST, + MoveId.MIMIC, + MoveId.MIRROR_COAT, + MoveId.MIRROR_MOVE, + MoveId.MIST, + MoveId.MISTY_TERRAIN, + MoveId.MUD_SPORT, + MoveId.PERISH_SONG, + MoveId.POWER_SPLIT, + MoveId.PSYCH_UP, + MoveId.PSYCHIC_TERRAIN, + MoveId.PURIFY, + MoveId.QUICK_GUARD, + MoveId.RAIN_DANCE, + MoveId.REFLECT_TYPE, + MoveId.ROLE_PLAY, + MoveId.ROTOTILLER, + MoveId.SANDSTORM, + MoveId.SHELL_TRAP, + MoveId.SKETCH, + MoveId.SNOWSCAPE, + MoveId.SPIT_UP, + MoveId.SPOTLIGHT, + MoveId.STRUGGLE, + MoveId.SUNNY_DAY, + MoveId.TEATIME, + MoveId.TRANSFORM, + MoveId.WATER_SPORT, + MoveId.WIDE_GUARD, ]); /** Set of moves that can never have their type overridden by an ability like Pixilate or Normalize * * Excludes tera blast and tera starstorm, as these are only conditionally forbidden */ -export const noAbilityTypeOverrideMoves: ReadonlySet = new Set([ - Moves.WEATHER_BALL, - Moves.JUDGMENT, - Moves.REVELATION_DANCE, - Moves.MULTI_ATTACK, - Moves.TERRAIN_PULSE, - Moves.NATURAL_GIFT, - Moves.TECHNO_BLAST, - Moves.HIDDEN_POWER, +export const noAbilityTypeOverrideMoves: ReadonlySet = new Set([ + MoveId.WEATHER_BALL, + MoveId.JUDGMENT, + MoveId.REVELATION_DANCE, + MoveId.MULTI_ATTACK, + MoveId.TERRAIN_PULSE, + MoveId.NATURAL_GIFT, + MoveId.TECHNO_BLAST, + MoveId.HIDDEN_POWER, ]); diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 8a0da5f35c2..7e9f99e28c1 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -83,12 +83,12 @@ import { Command } from "../../ui/command-ui-handler"; import i18next from "i18next"; import type { Localizable } from "#app/interfaces/locales"; import { getBerryEffectFunc } from "../berry"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveUsedEvent } from "#app/events/battle-scene"; import { BATTLE_STATS, @@ -128,7 +128,7 @@ type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean type UserMoveConditionFunc = (user: Pokemon, move: Move) => boolean; export default class Move implements Localizable { - public id: Moves; + public id: MoveId; public name: string; private _type: PokemonType; private _category: MoveCategory; @@ -147,7 +147,7 @@ export default class Move implements Localizable { private flags: number = 0; private nameAppend: string = ""; - constructor(id: Moves, type: PokemonType, category: MoveCategory, defaultMoveTarget: MoveTarget, power: number, accuracy: number, pp: number, chance: number, priority: number, generation: number) { + constructor(id: MoveId, type: PokemonType, category: MoveCategory, defaultMoveTarget: MoveTarget, power: number, accuracy: number, pp: number, chance: number, priority: number, generation: number) { this.id = id; this._type = type; this._category = category; @@ -177,7 +177,7 @@ export default class Move implements Localizable { } localize(): void { - const i18nKey = Moves[this.id].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join("") as unknown as string; + const i18nKey = MoveId[this.id].split("_").filter(f => f).map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join("") as unknown as string; this.name = this.id ? `${i18next.t(`move:${i18nKey}.name`)}${this.nameAppend}` : ""; this.effect = this.id ? `${i18next.t(`move:${i18nKey}.effect`)}${this.nameAppend}` : ""; @@ -332,7 +332,7 @@ export default class Move implements Localizable { } break; case PokemonType.DARK: - if (user.hasAbility(Abilities.PRANKSTER) && this.category === MoveCategory.STATUS && (user.isPlayer() !== target.isPlayer())) { + if (user.hasAbility(AbilityId.PRANKSTER) && this.category === MoveCategory.STATUS && (user.isPlayer() !== target.isPlayer())) { return true; } break; @@ -418,7 +418,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.MAKES_CONTACT} flag for the calling Move * @param setFlag Default `true`, set to `false` if the move doesn't make contact - * @see {@linkcode Abilities.STATIC} + * @see {@linkcode AbilityId.STATIC} * @returns The {@linkcode Move} that called this function */ makesContact(setFlag: boolean = true): this { @@ -428,7 +428,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.IGNORE_PROTECT} flag for the calling Move - * @see {@linkcode Moves.CURSE} + * @see {@linkcode MoveId.CURSE} * @returns The {@linkcode Move} that called this function */ ignoresProtect(): this { @@ -438,7 +438,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.SOUND_BASED} flag for the calling Move - * @see {@linkcode Moves.UPROAR} + * @see {@linkcode MoveId.UPROAR} * @returns The {@linkcode Move} that called this function */ soundBased(): this { @@ -448,7 +448,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.HIDE_USER} flag for the calling Move - * @see {@linkcode Moves.TELEPORT} + * @see {@linkcode MoveId.TELEPORT} * @returns The {@linkcode Move} that called this function */ hidesUser(): this { @@ -458,7 +458,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.HIDE_TARGET} flag for the calling Move - * @see {@linkcode Moves.WHIRLWIND} + * @see {@linkcode MoveId.WHIRLWIND} * @returns The {@linkcode Move} that called this function */ hidesTarget(): this { @@ -468,7 +468,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.BITING_MOVE} flag for the calling Move - * @see {@linkcode Moves.BITE} + * @see {@linkcode MoveId.BITE} * @returns The {@linkcode Move} that called this function */ bitingMove(): this { @@ -478,7 +478,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.PULSE_MOVE} flag for the calling Move - * @see {@linkcode Moves.WATER_PULSE} + * @see {@linkcode MoveId.WATER_PULSE} * @returns The {@linkcode Move} that called this function */ pulseMove(): this { @@ -488,7 +488,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.PUNCHING_MOVE} flag for the calling Move - * @see {@linkcode Moves.DRAIN_PUNCH} + * @see {@linkcode MoveId.DRAIN_PUNCH} * @returns The {@linkcode Move} that called this function */ punchingMove(): this { @@ -498,7 +498,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.SLICING_MOVE} flag for the calling Move - * @see {@linkcode Moves.X_SCISSOR} + * @see {@linkcode MoveId.X_SCISSOR} * @returns The {@linkcode Move} that called this function */ slicingMove(): this { @@ -508,7 +508,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.RECKLESS_MOVE} flag for the calling Move - * @see {@linkcode Abilities.RECKLESS} + * @see {@linkcode AbilityId.RECKLESS} * @returns The {@linkcode Move} that called this function */ recklessMove(): this { @@ -518,7 +518,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.BALLBOMB_MOVE} flag for the calling Move - * @see {@linkcode Moves.ELECTRO_BALL} + * @see {@linkcode MoveId.ELECTRO_BALL} * @returns The {@linkcode Move} that called this function */ ballBombMove(): this { @@ -528,7 +528,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.POWDER_MOVE} flag for the calling Move - * @see {@linkcode Moves.STUN_SPORE} + * @see {@linkcode MoveId.STUN_SPORE} * @returns The {@linkcode Move} that called this function */ powderMove(): this { @@ -538,7 +538,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.DANCE_MOVE} flag for the calling Move - * @see {@linkcode Moves.PETAL_DANCE} + * @see {@linkcode MoveId.PETAL_DANCE} * @returns The {@linkcode Move} that called this function */ danceMove(): this { @@ -548,7 +548,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.WIND_MOVE} flag for the calling Move - * @see {@linkcode Moves.HURRICANE} + * @see {@linkcode MoveId.HURRICANE} * @returns The {@linkcode Move} that called this function */ windMove(): this { @@ -558,7 +558,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.TRIAGE_MOVE} flag for the calling Move - * @see {@linkcode Moves.ABSORB} + * @see {@linkcode MoveId.ABSORB} * @returns The {@linkcode Move} that called this function */ triageMove(): this { @@ -568,7 +568,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.IGNORE_ABILITIES} flag for the calling Move - * @see {@linkcode Moves.SUNSTEEL_STRIKE} + * @see {@linkcode MoveId.SUNSTEEL_STRIKE} * @returns The {@linkcode Move} that called this function */ ignoresAbilities(): this { @@ -578,7 +578,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.CHECK_ALL_HITS} flag for the calling Move - * @see {@linkcode Moves.TRIPLE_AXEL} + * @see {@linkcode MoveId.TRIPLE_AXEL} * @returns The {@linkcode Move} that called this function */ checkAllHits(): this { @@ -588,7 +588,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.IGNORE_SUBSTITUTE} flag for the calling Move - * @see {@linkcode Moves.WHIRLWIND} + * @see {@linkcode MoveId.WHIRLWIND} * @returns The {@linkcode Move} that called this function */ ignoresSubstitute(): this { @@ -598,7 +598,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.REDIRECT_COUNTER} flag for the calling Move - * @see {@linkcode Moves.METAL_BURST} + * @see {@linkcode MoveId.METAL_BURST} * @returns The {@linkcode Move} that called this function */ redirectCounter(): this { @@ -608,7 +608,7 @@ export default class Move implements Localizable { /** * Sets the {@linkcode MoveFlags.REFLECTABLE} flag for the calling Move - * @see {@linkcode Moves.ATTRACT} + * @see {@linkcode MoveId.ATTRACT} * @returns The {@linkcode Move} that called this function */ reflectable(): this { @@ -621,12 +621,12 @@ export default class Move implements Localizable { * * This method will take the `user`'s ability into account when reporting flags, e.g. * calling this method for {@linkcode MoveFlags.MAKES_CONTACT | MAKES_CONTACT} - * will return `false` if the user has a {@linkcode Abilities.LONG_REACH} that is not being suppressed. + * will return `false` if the user has a {@linkcode AbilityId.LONG_REACH} that is not being suppressed. * * **Note:** This method only checks if the move should have effectively have the flag applied to its use. * It does *not* check whether the flag will trigger related effects. * For example using this method to check {@linkcode MoveFlags.WIND_MOVE} - * will not consider {@linkcode Abilities.WIND_RIDER | Wind Rider }. + * will not consider {@linkcode AbilityId.WIND_RIDER | Wind Rider }. * * To simply check whether the move has a flag, use {@linkcode hasFlag}. * @param flag {@linkcode MoveFlags} MoveFlag to check on user and/or target @@ -880,9 +880,9 @@ export default class Move implements Localizable { calculateEffectivePower(): number { let effectivePower: number; // Triple axel and triple kick are easier to special case. - if (this.id === Moves.TRIPLE_AXEL) { + if (this.id === MoveId.TRIPLE_AXEL) { effectivePower = 94.14; - } else if (this.id === Moves.TRIPLE_KICK) { + } else if (this.id === MoveId.TRIPLE_KICK) { effectivePower = 47.07; } else { const multiHitAttr = this.getAttrs(MultiHitAttr)[0]; @@ -934,17 +934,17 @@ export default class Move implements Localizable { ]; // ...and cannot enhance these specific moves - const exceptMoves: Moves[] = [ - Moves.FLING, - Moves.UPROAR, - Moves.ROLLOUT, - Moves.ICE_BALL, - Moves.ENDEAVOR + const exceptMoves: MoveId[] = [ + MoveId.FLING, + MoveId.UPROAR, + MoveId.ROLLOUT, + MoveId.ICE_BALL, + MoveId.ENDEAVOR ]; // ...and cannot enhance Pollen Puff when targeting an ally. const ally = user.getAlly(); - const exceptPollenPuffAlly: boolean = this.id === Moves.POLLEN_PUFF && !isNullOrUndefined(ally) && targets.includes(ally.getBattlerIndex()) + const exceptPollenPuffAlly: boolean = this.id === MoveId.POLLEN_PUFF && !isNullOrUndefined(ally) && targets.includes(ally.getBattlerIndex()) return (!restrictSpread || !isMultiTarget) && !this.isChargingMove() @@ -956,7 +956,7 @@ export default class Move implements Localizable { } export class AttackMove extends Move { - constructor(id: Moves, type: PokemonType, category: MoveCategory, power: number, accuracy: number, pp: number, chance: number, priority: number, generation: number) { + constructor(id: MoveId, type: PokemonType, category: MoveCategory, power: number, accuracy: number, pp: number, chance: number, priority: number, generation: number) { super(id, type, category, MoveTarget.NEAR_OTHER, power, accuracy, pp, chance, priority, generation); /** @@ -1003,13 +1003,13 @@ export class AttackMove extends Move { } export class StatusMove extends Move { - constructor(id: Moves, type: PokemonType, accuracy: number, pp: number, chance: number, priority: number, generation: number) { + constructor(id: MoveId, type: PokemonType, accuracy: number, pp: number, chance: number, priority: number, generation: number) { super(id, type, MoveCategory.STATUS, MoveTarget.NEAR_OTHER, -1, accuracy, pp, chance, priority, generation); } } export class SelfStatusMove extends Move { - constructor(id: Moves, type: PokemonType, accuracy: number, pp: number, chance: number, priority: number, generation: number) { + constructor(id: MoveId, type: PokemonType, accuracy: number, pp: number, chance: number, priority: number, generation: number) { super(id, type, MoveCategory.STATUS, MoveTarget.USER, -1, accuracy, pp, chance, priority, generation); } } @@ -1019,7 +1019,7 @@ type SubMove = new (...args: any[]) => Move; function ChargeMove(Base: TBase) { return class extends Base { /** The animation to play during the move's charging phase */ - public readonly chargeAnim: ChargeAnim = ChargeAnim[`${Moves[this.id]}_CHARGING`]; + public readonly chargeAnim: ChargeAnim = ChargeAnim[`${MoveId[this.id]}_CHARGING`]; /** The message to show during the move's charging phase */ private _chargeText: string; @@ -1909,9 +1909,9 @@ export class PartyStatusCureAttr extends MoveEffectAttr { /** Message to display after using move */ private message: string | null; /** Skips mons with this ability, ie. Soundproof */ - private abilityCondition: Abilities; + private abilityCondition: AbilityId; - constructor(message: string | null, abilityCondition: Abilities) { + constructor(message: string | null, abilityCondition: AbilityId) { super(); this.message = message; @@ -2385,9 +2385,9 @@ export class MultiHitAttr extends MoveAttr { * the move's accuracy, and a number of situational parameters. * * @param move - The move that this attribtue is applied to - * @param partySize - The size of the user's party, used for {@linkcode Moves.BEAT_UP | Beat Up} (default: `1`) - * @param maxMultiHit - Whether the move should always hit the maximum number of times, e.g. due to {@linkcode Abilities.SKILL_LINK | Skill Link} (default: `false`) - * @param ignoreAcc - `true` if the move should ignore accuracy checks, e.g. due to {@linkcode Abilities.NO_GUARD | No Guard} (default: `false`) + * @param partySize - The size of the user's party, used for {@linkcode MoveId.BEAT_UP | Beat Up} (default: `1`) + * @param maxMultiHit - Whether the move should always hit the maximum number of times, e.g. due to {@linkcode AbilityId.SKILL_LINK | Skill Link} (default: `false`) + * @param ignoreAcc - `true` if the move should ignore accuracy checks, e.g. due to {@linkcode AbilityId.NO_GUARD | No Guard} (default: `false`) */ calculateExpectedHitCount(move: Move, { ignoreAcc = false, maxMultiHit = false, partySize = 1 }: {ignoreAcc?: boolean, maxMultiHit?: boolean, partySize?: number} = {}): number { let expectedHits: number; @@ -2430,7 +2430,7 @@ export class ChangeMultiHitTypeAttr extends MoveAttr { export class WaterShurikenMultiHitTypeAttr extends ChangeMultiHitTypeAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (user.species.speciesId === Species.GRENINJA && user.hasAbility(Abilities.BATTLE_BOND) && user.formIndex === 2) { + if (user.species.speciesId === SpeciesId.GRENINJA && user.hasAbility(AbilityId.BATTLE_BOND) && user.formIndex === 2) { (args[0] as NumberHolder).value = MultiHitType._3; return true; } @@ -2512,7 +2512,7 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { * @returns `true` if Psycho Shift's effect is able to be applied to the target */ apply(user: Pokemon, target: Pokemon, _move: Move, _args: any[]): boolean { - const statusToApply: StatusEffect | undefined = user.status?.effect ?? (user.hasAbility(Abilities.COMATOSE) ? StatusEffect.SLEEP : undefined); + const statusToApply: StatusEffect | undefined = user.status?.effect ?? (user.hasAbility(AbilityId.COMATOSE) ? StatusEffect.SLEEP : undefined); if (target.status) { return false; @@ -2536,7 +2536,7 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { /** * Attribute to steal items upon this move's use. - * Used for {@linkcode Moves.THIEF} and {@linkcode Moves.COVET}. + * Used for {@linkcode MoveId.THIEF} and {@linkcode MoveId.COVET}. */ export class StealHeldItemChanceAttr extends MoveEffectAttr { private chance: number; @@ -2743,7 +2743,7 @@ export class EatBerryAttr extends MoveEffectAttr { /** * Attribute used for moves that steal and eat a random berry from the target. - * Used for {@linkcode Moves.PLUCK} & {@linkcode Moves.BUG_BITE}. + * Used for {@linkcode MoveId.PLUCK} & {@linkcode MoveId.BUG_BITE}. */ export class StealEatBerryAttr extends EatBerryAttr { constructor() { @@ -2816,7 +2816,7 @@ export class HealStatusEffectAttr extends MoveEffectAttr { // Special edge case for shield dust blocking Sparkling Aria curing burn const moveTargets = getMoveTargets(user, move.id); - if (target.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && move.id === Moves.SPARKLING_ARIA && moveTargets.targets.length === 1) { + if (target.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && move.id === MoveId.SPARKLING_ARIA && moveTargets.targets.length === 1) { return false; } @@ -3334,65 +3334,65 @@ export class SecretPowerAttr extends MoveEffectAttr { * Cave, Wasteland, Graveyard, Abyss, Space | Flinch * End | Def -1 * ``` - * @param biome - The current {@linkcode Biome} the battle is set in + * @param biome - The current {@linkcode BiomeId} the battle is set in * @returns the chosen secondary effect {@linkcode MoveEffectAttr} */ - private determineBiomeEffect(biome: Biome): MoveEffectAttr { + private determineBiomeEffect(biome: BiomeId): MoveEffectAttr { let secondaryEffect: MoveEffectAttr; switch (biome) { - case Biome.PLAINS: - case Biome.GRASS: - case Biome.TALL_GRASS: - case Biome.FOREST: - case Biome.JUNGLE: - case Biome.MEADOW: + case BiomeId.PLAINS: + case BiomeId.GRASS: + case BiomeId.TALL_GRASS: + case BiomeId.FOREST: + case BiomeId.JUNGLE: + case BiomeId.MEADOW: secondaryEffect = new StatusEffectAttr(StatusEffect.SLEEP, false); break; - case Biome.SWAMP: - case Biome.MOUNTAIN: - case Biome.TEMPLE: - case Biome.RUINS: + case BiomeId.SWAMP: + case BiomeId.MOUNTAIN: + case BiomeId.TEMPLE: + case BiomeId.RUINS: secondaryEffect = new StatStageChangeAttr([ Stat.SPD ], -1, false); break; - case Biome.ICE_CAVE: - case Biome.SNOWY_FOREST: + case BiomeId.ICE_CAVE: + case BiomeId.SNOWY_FOREST: secondaryEffect = new StatusEffectAttr(StatusEffect.FREEZE, false); break; - case Biome.VOLCANO: + case BiomeId.VOLCANO: secondaryEffect = new StatusEffectAttr(StatusEffect.BURN, false); break; - case Biome.FAIRY_CAVE: + case BiomeId.FAIRY_CAVE: secondaryEffect = new StatStageChangeAttr([ Stat.SPATK ], -1, false); break; - case Biome.DESERT: - case Biome.CONSTRUCTION_SITE: - case Biome.BEACH: - case Biome.ISLAND: - case Biome.BADLANDS: + case BiomeId.DESERT: + case BiomeId.CONSTRUCTION_SITE: + case BiomeId.BEACH: + case BiomeId.ISLAND: + case BiomeId.BADLANDS: secondaryEffect = new StatStageChangeAttr([ Stat.ACC ], -1, false); break; - case Biome.SEA: - case Biome.LAKE: - case Biome.SEABED: + case BiomeId.SEA: + case BiomeId.LAKE: + case BiomeId.SEABED: secondaryEffect = new StatStageChangeAttr([ Stat.ATK ], -1, false); break; - case Biome.CAVE: - case Biome.WASTELAND: - case Biome.GRAVEYARD: - case Biome.ABYSS: - case Biome.SPACE: + case BiomeId.CAVE: + case BiomeId.WASTELAND: + case BiomeId.GRAVEYARD: + case BiomeId.ABYSS: + case BiomeId.SPACE: secondaryEffect = new AddBattlerTagAttr(BattlerTagType.FLINCHED, false, true); break; - case Biome.END: + case BiomeId.END: secondaryEffect = new StatStageChangeAttr([ Stat.DEF ], -1, false); break; - case Biome.TOWN: - case Biome.METROPOLIS: - case Biome.SLUM: - case Biome.DOJO: - case Biome.FACTORY: - case Biome.LABORATORY: - case Biome.POWER_PLANT: + case BiomeId.TOWN: + case BiomeId.METROPOLIS: + case BiomeId.SLUM: + case BiomeId.DOJO: + case BiomeId.FACTORY: + case BiomeId.LABORATORY: + case BiomeId.POWER_PLANT: default: secondaryEffect = new StatusEffectAttr(StatusEffect.PARALYSIS, false); break; @@ -3800,7 +3800,7 @@ export class DoublePowerChanceAttr extends VariablePowerAttr { } export abstract class ConsecutiveUsePowerMultiplierAttr extends MovePowerMultiplierAttr { - constructor(limit: number, resetOnFail: boolean, resetOnLimit?: boolean, ...comboMoves: Moves[]) { + constructor(limit: number, resetOnFail: boolean, resetOnLimit?: boolean, ...comboMoves: MoveId[]) { super((user: Pokemon, target: Pokemon, move: Move): number => { const moveHistory = user.getLastXMoves(limit + 1).slice(1); @@ -3810,7 +3810,7 @@ export abstract class ConsecutiveUsePowerMultiplierAttr extends MovePowerMultipl while ( ( (turnMove = moveHistory.shift())?.move === move.id - || (comboMoves.length && comboMoves.includes(turnMove?.move ?? Moves.NONE)) + || (comboMoves.length && comboMoves.includes(turnMove?.move ?? MoveId.NONE)) ) && (!resetOnFail || turnMove?.result === MoveResult.SUCCESS) ) { @@ -4133,7 +4133,7 @@ export class FriendshipPowerAttr extends VariablePowerAttr { } /** - * This Attribute calculates the current power of {@linkcode Moves.RAGE_FIST}. + * This Attribute calculates the current power of {@linkcode MoveId.RAGE_FIST}. * The counter for power calculation does not reset on every wave but on every new arena encounter. * Self-inflicted confusion damage and hits taken by a Subsitute are ignored. */ @@ -4237,7 +4237,7 @@ export class PresentPowerAttr extends VariablePowerAttr { export class WaterShurikenPowerAttr extends VariablePowerAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (user.species.speciesId === Species.GRENINJA && user.hasAbility(Abilities.BATTLE_BOND) && user.formIndex === 2) { + if (user.species.speciesId === SpeciesId.GRENINJA && user.hasAbility(AbilityId.BATTLE_BOND) && user.formIndex === 2) { (args[0] as NumberHolder).value = 20; return true; } @@ -4350,9 +4350,9 @@ export class MultiHitPowerIncrementAttr extends VariablePowerAttr { */ export class LastMoveDoublePowerAttr extends VariablePowerAttr { /** The move that must precede the current move */ - private move: Moves; + private move: MoveId; - constructor(move: Moves) { + constructor(move: MoveId) { super(); this.move = move; @@ -4477,7 +4477,7 @@ export class CueNextRoundAttr extends MoveEffectAttr { override apply(user: Pokemon, target: Pokemon, move: Move, args?: any[]): boolean { const nextRoundPhase = globalScene.findPhase(phase => - phase instanceof MovePhase && phase.move.moveId === Moves.ROUND + phase instanceof MovePhase && phase.move.moveId === MoveId.ROUND ); if (!nextRoundPhase) { @@ -4518,7 +4518,7 @@ export class StatChangeBeforeDmgCalcAttr extends MoveAttr { /** * Steals the postitive Stat stages of the target before damage calculation so stat changes - * apply to damage calculation (e.g. {@linkcode Moves.SPECTRAL_THIEF}) + * apply to damage calculation (e.g. {@linkcode MoveId.SPECTRAL_THIEF}) * {@link https://bulbapedia.bulbagarden.net/wiki/Spectral_Thief_(move) | Spectral Thief} */ export class SpectralThiefAttr extends StatChangeBeforeDmgCalcAttr { @@ -4844,8 +4844,8 @@ export class FormChangeItemTypeAttr extends VariableMoveTypeAttr { return false; } - if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(Species.ARCEUS) || [ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(Species.SILVALLY)) { - const form = user.species.speciesId === Species.ARCEUS || user.species.speciesId === Species.SILVALLY ? user.formIndex : user.fusionSpecies?.formIndex!; + if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(SpeciesId.ARCEUS) || [ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(SpeciesId.SILVALLY)) { + const form = user.species.speciesId === SpeciesId.ARCEUS || user.species.speciesId === SpeciesId.SILVALLY ? user.formIndex : user.fusionSpecies?.formIndex!; moveType.value = PokemonType[PokemonType[form]]; return true; @@ -4867,8 +4867,8 @@ export class TechnoBlastTypeAttr extends VariableMoveTypeAttr { return false; } - if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(Species.GENESECT)) { - const form = user.species.speciesId === Species.GENESECT ? user.formIndex : user.fusionSpecies?.formIndex; + if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(SpeciesId.GENESECT)) { + const form = user.species.speciesId === SpeciesId.GENESECT ? user.formIndex : user.fusionSpecies?.formIndex; switch (form) { case 1: // Shock Drive @@ -4901,8 +4901,8 @@ export class AuraWheelTypeAttr extends VariableMoveTypeAttr { return false; } - if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(Species.MORPEKO)) { - const form = user.species.speciesId === Species.MORPEKO ? user.formIndex : user.fusionSpecies?.formIndex; + if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(SpeciesId.MORPEKO)) { + const form = user.species.speciesId === SpeciesId.MORPEKO ? user.formIndex : user.fusionSpecies?.formIndex; switch (form) { case 1: // Hangry Mode @@ -4926,8 +4926,8 @@ export class RagingBullTypeAttr extends VariableMoveTypeAttr { return false; } - if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(Species.PALDEA_TAUROS)) { - const form = user.species.speciesId === Species.PALDEA_TAUROS ? user.formIndex : user.fusionSpecies?.formIndex; + if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(SpeciesId.PALDEA_TAUROS)) { + const form = user.species.speciesId === SpeciesId.PALDEA_TAUROS ? user.formIndex : user.fusionSpecies?.formIndex; switch (form) { case 1: // Blaze breed @@ -4954,8 +4954,8 @@ export class IvyCudgelTypeAttr extends VariableMoveTypeAttr { return false; } - if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(Species.OGERPON)) { - const form = user.species.speciesId === Species.OGERPON ? user.formIndex : user.fusionSpecies?.formIndex; + if ([ user.species.speciesId, user.fusionSpecies?.speciesId ].includes(SpeciesId.OGERPON)) { + const form = user.species.speciesId === SpeciesId.OGERPON ? user.formIndex : user.fusionSpecies?.formIndex; switch (form) { case 1: // Wellspring Mask @@ -5139,7 +5139,7 @@ export class TeraStarstormTypeAttr extends VariableMoveTypeAttr { * @returns `true` if the move type is changed to {@linkcode PokemonType.STELLAR}, `false` otherwise */ override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (user.isTerastallized && user.hasSpecies(Species.TERAPAGOS)) { + if (user.isTerastallized && user.hasSpecies(SpeciesId.TERAPAGOS)) { const moveType = args[0] as NumberHolder; moveType.value = PokemonType.STELLAR; @@ -5188,20 +5188,20 @@ export class CombinedPledgeTypeAttr extends VariableMoveTypeAttr { } switch (move.id) { - case Moves.FIRE_PLEDGE: - if (combinedPledgeMove === Moves.WATER_PLEDGE) { + case MoveId.FIRE_PLEDGE: + if (combinedPledgeMove === MoveId.WATER_PLEDGE) { moveType.value = PokemonType.WATER; return true; } return false; - case Moves.WATER_PLEDGE: - if (combinedPledgeMove === Moves.GRASS_PLEDGE) { + case MoveId.WATER_PLEDGE: + if (combinedPledgeMove === MoveId.GRASS_PLEDGE) { moveType.value = PokemonType.GRASS; return true; } return false; - case Moves.GRASS_PLEDGE: - if (combinedPledgeMove === Moves.FIRE_PLEDGE) { + case MoveId.GRASS_PLEDGE: + if (combinedPledgeMove === MoveId.FIRE_PLEDGE) { moveType.value = PokemonType.FIRE; return true; } @@ -5616,7 +5616,7 @@ export class GulpMissileTagAttr extends MoveEffectAttr { return false; } - if (user.hasAbility(Abilities.GULP_MISSILE) && user.species.speciesId === Species.CRAMORANT) { + if (user.hasAbility(AbilityId.GULP_MISSILE) && user.species.speciesId === SpeciesId.CRAMORANT) { if (user.getHpRatio() >= .5) { user.addTag(BattlerTagType.GULP_MISSILE_ARROKUDA, 0, move.id); } else { @@ -5629,7 +5629,7 @@ export class GulpMissileTagAttr extends MoveEffectAttr { } getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number { - const isCramorant = user.hasAbility(Abilities.GULP_MISSILE) && user.species.speciesId === Species.CRAMORANT; + const isCramorant = user.hasAbility(AbilityId.GULP_MISSILE) && user.species.speciesId === SpeciesId.CRAMORANT; return isCramorant && !user.getTag(GulpMissileTag) ? 10 : 0; } } @@ -5786,7 +5786,7 @@ export class ProtectAttr extends AddBattlerTagAttr { while (moveHistory.length) { turnMove = moveHistory.shift(); - if (!allMoves[turnMove?.move ?? Moves.NONE].hasAttr(ProtectAttr) || turnMove?.result !== MoveResult.SUCCESS) { + if (!allMoves[turnMove?.move ?? MoveId.NONE].hasAttr(ProtectAttr) || turnMove?.result !== MoveResult.SUCCESS) { break; } timesUsed++; @@ -6119,9 +6119,9 @@ export class SwapArenaTagsAttr extends MoveEffectAttr { * are combined. The effect added varies based on the two Pledge moves combined. */ export class AddPledgeEffectAttr extends AddArenaTagAttr { - private readonly requiredPledge: Moves; + private readonly requiredPledge: MoveId; - constructor(tagType: ArenaTagType, requiredPledge: Moves, selfSideTarget: boolean = false) { + constructor(tagType: ArenaTagType, requiredPledge: MoveId, selfSideTarget: boolean = false) { super(tagType, 4, false, selfSideTarget); this.requiredPledge = requiredPledge; @@ -6241,7 +6241,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { * If it did, the user of U-turn or Volt Switch will not be switched out. */ if (target.getAbility().hasAttr(PostDamageForceSwitchAbAttr) - && [ Moves.U_TURN, Moves.VOLT_SWITCH, Moves.FLIP_TURN ].includes(move.id) + && [ MoveId.U_TURN, MoveId.VOLT_SWITCH, MoveId.FLIP_TURN ].includes(move.id) ) { if (this.hpDroppedBelowHalf(target)) { return false; @@ -6337,7 +6337,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr { * If it did, the user of U-turn or Volt Switch will not be switched out. */ if (target.getAbility().hasAttr(PostDamageForceSwitchAbAttr) - && [ Moves.U_TURN, Moves.VOLT_SWITCH, Moves.FLIP_TURN ].includes(move.id) + && [ MoveId.U_TURN, MoveId.VOLT_SWITCH, MoveId.FLIP_TURN ].includes(move.id) ) { if (this.hpDroppedBelowHalf(target)) { return false; @@ -6593,63 +6593,63 @@ export class CopyBiomeTypeAttr extends MoveEffectAttr { /** * Retrieves a type from the current biome - * @param biomeType {@linkcode Biome} + * @param biomeType {@linkcode BiomeId} * @returns {@linkcode Type} */ - private getTypeForBiome(biomeType: Biome): PokemonType { + private getTypeForBiome(biomeType: BiomeId): PokemonType { switch (biomeType) { - case Biome.TOWN: - case Biome.PLAINS: - case Biome.METROPOLIS: + case BiomeId.TOWN: + case BiomeId.PLAINS: + case BiomeId.METROPOLIS: return PokemonType.NORMAL; - case Biome.GRASS: - case Biome.TALL_GRASS: + case BiomeId.GRASS: + case BiomeId.TALL_GRASS: return PokemonType.GRASS; - case Biome.FOREST: - case Biome.JUNGLE: + case BiomeId.FOREST: + case BiomeId.JUNGLE: return PokemonType.BUG; - case Biome.SLUM: - case Biome.SWAMP: + case BiomeId.SLUM: + case BiomeId.SWAMP: return PokemonType.POISON; - case Biome.SEA: - case Biome.BEACH: - case Biome.LAKE: - case Biome.SEABED: + case BiomeId.SEA: + case BiomeId.BEACH: + case BiomeId.LAKE: + case BiomeId.SEABED: return PokemonType.WATER; - case Biome.MOUNTAIN: + case BiomeId.MOUNTAIN: return PokemonType.FLYING; - case Biome.BADLANDS: + case BiomeId.BADLANDS: return PokemonType.GROUND; - case Biome.CAVE: - case Biome.DESERT: + case BiomeId.CAVE: + case BiomeId.DESERT: return PokemonType.ROCK; - case Biome.ICE_CAVE: - case Biome.SNOWY_FOREST: + case BiomeId.ICE_CAVE: + case BiomeId.SNOWY_FOREST: return PokemonType.ICE; - case Biome.MEADOW: - case Biome.FAIRY_CAVE: - case Biome.ISLAND: + case BiomeId.MEADOW: + case BiomeId.FAIRY_CAVE: + case BiomeId.ISLAND: return PokemonType.FAIRY; - case Biome.POWER_PLANT: + case BiomeId.POWER_PLANT: return PokemonType.ELECTRIC; - case Biome.VOLCANO: + case BiomeId.VOLCANO: return PokemonType.FIRE; - case Biome.GRAVEYARD: - case Biome.TEMPLE: + case BiomeId.GRAVEYARD: + case BiomeId.TEMPLE: return PokemonType.GHOST; - case Biome.DOJO: - case Biome.CONSTRUCTION_SITE: + case BiomeId.DOJO: + case BiomeId.CONSTRUCTION_SITE: return PokemonType.FIGHTING; - case Biome.FACTORY: - case Biome.LABORATORY: + case BiomeId.FACTORY: + case BiomeId.LABORATORY: return PokemonType.STEEL; - case Biome.RUINS: - case Biome.SPACE: + case BiomeId.RUINS: + case BiomeId.SPACE: return PokemonType.PSYCHIC; - case Biome.WASTELAND: - case Biome.END: + case BiomeId.WASTELAND: + case BiomeId.END: return PokemonType.DRAGON; - case Biome.ABYSS: + case BiomeId.ABYSS: return PokemonType.DARK; default: return PokemonType.UNKNOWN; @@ -6676,7 +6676,7 @@ export class ChangeTypeAttr extends MoveEffectAttr { } getCondition(): MoveConditionFunc { - return (user, target, move) => !target.isTerastallized && !target.hasAbility(Abilities.MULTITYPE) && !target.hasAbility(Abilities.RKS_SYSTEM) && !(target.getTypes().length === 1 && target.getTypes()[0] === this.type); + return (user, target, move) => !target.isTerastallized && !target.hasAbility(AbilityId.MULTITYPE) && !target.hasAbility(AbilityId.RKS_SYSTEM) && !(target.getTypes().length === 1 && target.getTypes()[0] === this.type); } } @@ -6728,7 +6728,7 @@ export class FirstMoveTypeAttr extends MoveEffectAttr { * @extends OverrideMoveEffectAttr */ class CallMoveAttr extends OverrideMoveEffectAttr { - protected invalidMoves: ReadonlySet; + protected invalidMoves: ReadonlySet; protected hasTarget: boolean; apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const replaceMoveTarget = move.moveTarget === MoveTarget.NEAR_OTHER ? MoveTarget.NEAR_ENEMY : undefined; @@ -6750,12 +6750,12 @@ class CallMoveAttr extends OverrideMoveEffectAttr { /** * Attribute used to call a random move. - * Used for {@linkcode Moves.METRONOME} + * Used for {@linkcode MoveId.METRONOME} * @see {@linkcode apply} for move selection and move call * @extends CallMoveAttr to call a selected move */ export class RandomMoveAttr extends CallMoveAttr { - constructor(invalidMoves: ReadonlySet) { + constructor(invalidMoves: ReadonlySet) { super(); this.invalidMoves = invalidMoves; } @@ -6763,7 +6763,7 @@ export class RandomMoveAttr extends CallMoveAttr { /** * This function exists solely to allow tests to override the randomly selected move by mocking this function. */ - public getMoveOverride(): Moves | null { + public getMoveOverride(): MoveId | null { return null; } @@ -6777,19 +6777,19 @@ export class RandomMoveAttr extends CallMoveAttr { * @param args Unused */ override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - const moveIds = getEnumValues(Moves).map(m => !this.invalidMoves.has(m) && !allMoves[m].name.endsWith(" (N)") ? m : Moves.NONE); - let moveId: Moves = Moves.NONE; + const moveIds = getEnumValues(MoveId).map(m => !this.invalidMoves.has(m) && !allMoves[m].name.endsWith(" (N)") ? m : MoveId.NONE); + let moveId: MoveId = MoveId.NONE; do { moveId = this.getMoveOverride() ?? moveIds[user.randBattleSeedInt(moveIds.length)]; } - while (moveId === Moves.NONE); + while (moveId === MoveId.NONE); return super.apply(user, target, allMoves[moveId], args); } } /** * Attribute used to call a random move in the user or party's moveset. - * Used for {@linkcode Moves.ASSIST} and {@linkcode Moves.SLEEP_TALK} + * Used for {@linkcode MoveId.ASSIST} and {@linkcode MoveId.SLEEP_TALK} * * Fails if the user has no callable moves. * @@ -6800,7 +6800,7 @@ export class RandomMoveAttr extends CallMoveAttr { export class RandomMovesetMoveAttr extends CallMoveAttr { private includeParty: boolean; private moveId: number; - constructor(invalidMoves: ReadonlySet, includeParty: boolean = false) { + constructor(invalidMoves: ReadonlySet, includeParty: boolean = false) { super(); this.includeParty = includeParty; this.invalidMoves = invalidMoves; @@ -6845,128 +6845,128 @@ export class NaturePowerAttr extends OverrideMoveEffectAttr { // this allows terrains to 'override' the biome move case TerrainType.NONE: switch (globalScene.arena.biomeType) { - case Biome.TOWN: - moveId = Moves.ROUND; + case BiomeId.TOWN: + moveId = MoveId.ROUND; break; - case Biome.METROPOLIS: - moveId = Moves.TRI_ATTACK; + case BiomeId.METROPOLIS: + moveId = MoveId.TRI_ATTACK; break; - case Biome.SLUM: - moveId = Moves.SLUDGE_BOMB; + case BiomeId.SLUM: + moveId = MoveId.SLUDGE_BOMB; break; - case Biome.PLAINS: - moveId = Moves.SILVER_WIND; + case BiomeId.PLAINS: + moveId = MoveId.SILVER_WIND; break; - case Biome.GRASS: - moveId = Moves.GRASS_KNOT; + case BiomeId.GRASS: + moveId = MoveId.GRASS_KNOT; break; - case Biome.TALL_GRASS: - moveId = Moves.POLLEN_PUFF; + case BiomeId.TALL_GRASS: + moveId = MoveId.POLLEN_PUFF; break; - case Biome.MEADOW: - moveId = Moves.GIGA_DRAIN; + case BiomeId.MEADOW: + moveId = MoveId.GIGA_DRAIN; break; - case Biome.FOREST: - moveId = Moves.BUG_BUZZ; + case BiomeId.FOREST: + moveId = MoveId.BUG_BUZZ; break; - case Biome.JUNGLE: - moveId = Moves.LEAF_STORM; + case BiomeId.JUNGLE: + moveId = MoveId.LEAF_STORM; break; - case Biome.SEA: - moveId = Moves.HYDRO_PUMP; + case BiomeId.SEA: + moveId = MoveId.HYDRO_PUMP; break; - case Biome.SWAMP: - moveId = Moves.MUD_BOMB; + case BiomeId.SWAMP: + moveId = MoveId.MUD_BOMB; break; - case Biome.BEACH: - moveId = Moves.SCALD; + case BiomeId.BEACH: + moveId = MoveId.SCALD; break; - case Biome.LAKE: - moveId = Moves.BUBBLE_BEAM; + case BiomeId.LAKE: + moveId = MoveId.BUBBLE_BEAM; break; - case Biome.SEABED: - moveId = Moves.BRINE; + case BiomeId.SEABED: + moveId = MoveId.BRINE; break; - case Biome.ISLAND: - moveId = Moves.LEAF_TORNADO; + case BiomeId.ISLAND: + moveId = MoveId.LEAF_TORNADO; break; - case Biome.MOUNTAIN: - moveId = Moves.AIR_SLASH; + case BiomeId.MOUNTAIN: + moveId = MoveId.AIR_SLASH; break; - case Biome.BADLANDS: - moveId = Moves.EARTH_POWER; + case BiomeId.BADLANDS: + moveId = MoveId.EARTH_POWER; break; - case Biome.DESERT: - moveId = Moves.SCORCHING_SANDS; + case BiomeId.DESERT: + moveId = MoveId.SCORCHING_SANDS; break; - case Biome.WASTELAND: - moveId = Moves.DRAGON_PULSE; + case BiomeId.WASTELAND: + moveId = MoveId.DRAGON_PULSE; break; - case Biome.CONSTRUCTION_SITE: - moveId = Moves.STEEL_BEAM; + case BiomeId.CONSTRUCTION_SITE: + moveId = MoveId.STEEL_BEAM; break; - case Biome.CAVE: - moveId = Moves.POWER_GEM; + case BiomeId.CAVE: + moveId = MoveId.POWER_GEM; break; - case Biome.ICE_CAVE: - moveId = Moves.ICE_BEAM; + case BiomeId.ICE_CAVE: + moveId = MoveId.ICE_BEAM; break; - case Biome.SNOWY_FOREST: - moveId = Moves.FROST_BREATH; + case BiomeId.SNOWY_FOREST: + moveId = MoveId.FROST_BREATH; break; - case Biome.VOLCANO: - moveId = Moves.LAVA_PLUME; + case BiomeId.VOLCANO: + moveId = MoveId.LAVA_PLUME; break; - case Biome.GRAVEYARD: - moveId = Moves.SHADOW_BALL; + case BiomeId.GRAVEYARD: + moveId = MoveId.SHADOW_BALL; break; - case Biome.RUINS: - moveId = Moves.ANCIENT_POWER; + case BiomeId.RUINS: + moveId = MoveId.ANCIENT_POWER; break; - case Biome.TEMPLE: - moveId = Moves.EXTRASENSORY; + case BiomeId.TEMPLE: + moveId = MoveId.EXTRASENSORY; break; - case Biome.DOJO: - moveId = Moves.FOCUS_BLAST; + case BiomeId.DOJO: + moveId = MoveId.FOCUS_BLAST; break; - case Biome.FAIRY_CAVE: - moveId = Moves.ALLURING_VOICE; + case BiomeId.FAIRY_CAVE: + moveId = MoveId.ALLURING_VOICE; break; - case Biome.ABYSS: - moveId = Moves.OMINOUS_WIND; + case BiomeId.ABYSS: + moveId = MoveId.OMINOUS_WIND; break; - case Biome.SPACE: - moveId = Moves.DRACO_METEOR; + case BiomeId.SPACE: + moveId = MoveId.DRACO_METEOR; break; - case Biome.FACTORY: - moveId = Moves.FLASH_CANNON; + case BiomeId.FACTORY: + moveId = MoveId.FLASH_CANNON; break; - case Biome.LABORATORY: - moveId = Moves.ZAP_CANNON; + case BiomeId.LABORATORY: + moveId = MoveId.ZAP_CANNON; break; - case Biome.POWER_PLANT: - moveId = Moves.CHARGE_BEAM; + case BiomeId.POWER_PLANT: + moveId = MoveId.CHARGE_BEAM; break; - case Biome.END: - moveId = Moves.ETERNABEAM; + case BiomeId.END: + moveId = MoveId.ETERNABEAM; break; } break; case TerrainType.MISTY: - moveId = Moves.MOONBLAST; + moveId = MoveId.MOONBLAST; break; case TerrainType.ELECTRIC: - moveId = Moves.THUNDERBOLT; + moveId = MoveId.THUNDERBOLT; break; case TerrainType.GRASSY: - moveId = Moves.ENERGY_BALL; + moveId = MoveId.ENERGY_BALL; break; case TerrainType.PSYCHIC: - moveId = Moves.PSYCHIC; + moveId = MoveId.PSYCHIC; break; default: // Just in case there's no match - moveId = Moves.TRI_ATTACK; + moveId = MoveId.TRI_ATTACK; break; } @@ -6979,13 +6979,13 @@ export class NaturePowerAttr extends OverrideMoveEffectAttr { /** * Attribute used to copy a previously-used move. - * Used for {@linkcode Moves.COPYCAT} and {@linkcode Moves.MIRROR_MOVE} + * Used for {@linkcode MoveId.COPYCAT} and {@linkcode MoveId.MIRROR_MOVE} * @see {@linkcode apply} for move selection and move call * @extends CallMoveAttr to call a selected move */ export class CopyMoveAttr extends CallMoveAttr { private mirrorMove: boolean; - constructor(mirrorMove: boolean, invalidMoves: ReadonlySet = new Set()) { + constructor(mirrorMove: boolean, invalidMoves: ReadonlySet = new Set()) { super(); this.mirrorMove = mirrorMove; this.invalidMoves = invalidMoves; @@ -7031,7 +7031,7 @@ export class RepeatMoveAttr extends MoveEffectAttr { */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { // get the last move used (excluding status based failures) as well as the corresponding moveset slot - const lastMove = target.getLastXMoves(-1).find(m => m.move !== Moves.NONE)!; + const lastMove = target.getLastXMoves(-1).find(m => m.move !== MoveId.NONE)!; const movesetMove = target.getMoveset().find(m => m.moveId === lastMove.move)!; // If the last move used can hit more than one target or has variable targets, // re-compute the targets for the attack @@ -7065,60 +7065,60 @@ export class RepeatMoveAttr extends MoveEffectAttr { getCondition(): MoveConditionFunc { return (user, target, move) => { - const lastMove = target.getLastXMoves(-1).find(m => m.move !== Moves.NONE); + const lastMove = target.getLastXMoves(-1).find(m => m.move !== MoveId.NONE); const movesetMove = target.getMoveset().find(m => m.moveId === lastMove?.move); const uninstructableMoves = [ // Locking/Continually Executed moves - Moves.OUTRAGE, - Moves.RAGING_FURY, - Moves.ROLLOUT, - Moves.PETAL_DANCE, - Moves.THRASH, - Moves.ICE_BALL, + MoveId.OUTRAGE, + MoveId.RAGING_FURY, + MoveId.ROLLOUT, + MoveId.PETAL_DANCE, + MoveId.THRASH, + MoveId.ICE_BALL, // Multi-turn Moves - Moves.BIDE, - Moves.SHELL_TRAP, - Moves.BEAK_BLAST, - Moves.FOCUS_PUNCH, + MoveId.BIDE, + MoveId.SHELL_TRAP, + MoveId.BEAK_BLAST, + MoveId.FOCUS_PUNCH, // "First Turn Only" moves - Moves.FAKE_OUT, - Moves.FIRST_IMPRESSION, - Moves.MAT_BLOCK, + MoveId.FAKE_OUT, + MoveId.FIRST_IMPRESSION, + MoveId.MAT_BLOCK, // Moves with a recharge turn - Moves.HYPER_BEAM, - Moves.ETERNABEAM, - Moves.FRENZY_PLANT, - Moves.BLAST_BURN, - Moves.HYDRO_CANNON, - Moves.GIGA_IMPACT, - Moves.PRISMATIC_LASER, - Moves.ROAR_OF_TIME, - Moves.ROCK_WRECKER, - Moves.METEOR_ASSAULT, + MoveId.HYPER_BEAM, + MoveId.ETERNABEAM, + MoveId.FRENZY_PLANT, + MoveId.BLAST_BURN, + MoveId.HYDRO_CANNON, + MoveId.GIGA_IMPACT, + MoveId.PRISMATIC_LASER, + MoveId.ROAR_OF_TIME, + MoveId.ROCK_WRECKER, + MoveId.METEOR_ASSAULT, // Charging & 2-turn moves - Moves.DIG, - Moves.FLY, - Moves.BOUNCE, - Moves.SHADOW_FORCE, - Moves.PHANTOM_FORCE, - Moves.DIVE, - Moves.ELECTRO_SHOT, - Moves.ICE_BURN, - Moves.GEOMANCY, - Moves.FREEZE_SHOCK, - Moves.SKY_DROP, - Moves.SKY_ATTACK, - Moves.SKULL_BASH, - Moves.SOLAR_BEAM, - Moves.SOLAR_BLADE, - Moves.METEOR_BEAM, + MoveId.DIG, + MoveId.FLY, + MoveId.BOUNCE, + MoveId.SHADOW_FORCE, + MoveId.PHANTOM_FORCE, + MoveId.DIVE, + MoveId.ELECTRO_SHOT, + MoveId.ICE_BURN, + MoveId.GEOMANCY, + MoveId.FREEZE_SHOCK, + MoveId.SKY_DROP, + MoveId.SKY_ATTACK, + MoveId.SKULL_BASH, + MoveId.SOLAR_BEAM, + MoveId.SOLAR_BLADE, + MoveId.METEOR_BEAM, // Other moves - Moves.INSTRUCT, - Moves.KINGS_SHIELD, - Moves.SKETCH, - Moves.TRANSFORM, - Moves.MIMIC, - Moves.STRUGGLE, + MoveId.INSTRUCT, + MoveId.KINGS_SHIELD, + MoveId.SKETCH, + MoveId.TRANSFORM, + MoveId.MIMIC, + MoveId.STRUGGLE, // TODO: Add Max/G-Move blockage if or when they are implemented ]; @@ -7296,7 +7296,7 @@ export class MovesetCopyMoveAttr extends OverrideMoveEffectAttr { } /** - * Attribute for {@linkcode Moves.SKETCH} that causes the user to copy the opponent's last used move + * Attribute for {@linkcode MoveId.SKETCH} that causes the user to copy the opponent's last used move * This move copies the last used non-virtual move * e.g. if Metronome is used, it copies Metronome itself, not the virtual move called by Metronome * Fails if the opponent has not yet used a move. @@ -7322,7 +7322,7 @@ export class SketchAttr extends MoveEffectAttr { } const targetMove = target.getLastXMoves(-1) - .find(m => m.move !== Moves.NONE && m.move !== Moves.STRUGGLE && !m.virtual); + .find(m => m.move !== MoveId.NONE && m.move !== MoveId.STRUGGLE && !m.virtual); if (!targetMove) { return false; } @@ -7352,15 +7352,15 @@ export class SketchAttr extends MoveEffectAttr { } const unsketchableMoves = [ - Moves.CHATTER, - Moves.MIRROR_MOVE, - Moves.SLEEP_TALK, - Moves.STRUGGLE, - Moves.SKETCH, - Moves.REVIVAL_BLESSING, - Moves.TERA_STARSTORM, - Moves.BREAKNECK_BLITZ__PHYSICAL, - Moves.BREAKNECK_BLITZ__SPECIAL + MoveId.CHATTER, + MoveId.MIRROR_MOVE, + MoveId.SLEEP_TALK, + MoveId.STRUGGLE, + MoveId.SKETCH, + MoveId.REVIVAL_BLESSING, + MoveId.TERA_STARSTORM, + MoveId.BREAKNECK_BLITZ__PHYSICAL, + MoveId.BREAKNECK_BLITZ__SPECIAL ]; if (unsketchableMoves.includes(targetMove.move)) { @@ -7377,9 +7377,9 @@ export class SketchAttr extends MoveEffectAttr { } export class AbilityChangeAttr extends MoveEffectAttr { - public ability: Abilities; + public ability: AbilityId; - constructor(ability: Abilities, selfTarget?: boolean) { + constructor(ability: AbilityId, selfTarget?: boolean) { super(selfTarget); this.ability = ability; @@ -7496,7 +7496,7 @@ export class SwitchAbilitiesAttr extends MoveEffectAttr { } /** - * Attribute used for moves that suppress abilities like {@linkcode Moves.GASTRO_ACID}. + * Attribute used for moves that suppress abilities like {@linkcode MoveId.GASTRO_ACID}. * A suppressed ability cannot be activated. * * @extends MoveEffectAttr @@ -7528,7 +7528,7 @@ export class SuppressAbilitiesAttr extends MoveEffectAttr { /** * Applies the effects of {@linkcode SuppressAbilitiesAttr} if the target has already moved this turn. * @extends MoveEffectAttr - * @see {@linkcode Moves.CORE_ENFORCER} (the move which uses this effect) + * @see {@linkcode MoveId.CORE_ENFORCER} (the move which uses this effect) */ export class SuppressAbilitiesIfActedAttr extends MoveEffectAttr { /** @@ -7805,13 +7805,13 @@ export class StatusIfBoostedAttr extends MoveEffectAttr { /** * Attribute to fail move usage unless all of the user's other moves have been used at least once. - * Used by {@linkcode Moves.LAST_RESORT}. + * Used by {@linkcode MoveId.LAST_RESORT}. */ export class LastResortAttr extends MoveAttr { // TODO: Verify behavior as Bulbapedia page is _extremely_ poorly documented getCondition(): MoveConditionFunc { return (user: Pokemon, _target: Pokemon, move: Move) => { - const movesInMoveset = new Set(user.getMoveset().map(m => m.moveId)); + const movesInMoveset = new Set(user.getMoveset().map(m => m.moveId)); if (!movesInMoveset.delete(move.id) || !movesInMoveset.size) { return false; // Last resort fails if used when not in user's moveset or no other moves exist } @@ -7845,7 +7845,7 @@ export class VariableTargetAttr extends MoveAttr { } /** - * Attribute for {@linkcode Moves.AFTER_YOU} + * Attribute for {@linkcode MoveId.AFTER_YOU} * * [After You - Move | Bulbapedia](https://bulbapedia.bulbagarden.net/wiki/After_You_(move)) */ @@ -7855,7 +7855,7 @@ export class AfterYouAttr extends MoveEffectAttr { * * @param user {@linkcode Pokemon} that is using the move. * @param target {@linkcode Pokemon} that will move right after this move is used. - * @param move {@linkcode Move} {@linkcode Moves.AFTER_YOU} + * @param move {@linkcode Move} {@linkcode MoveId.AFTER_YOU} * @param _args N/A * @returns true */ @@ -7883,7 +7883,7 @@ export class ForceLastAttr extends MoveEffectAttr { * * @param user {@linkcode Pokemon} that is using the move. * @param target {@linkcode Pokemon} that will be forced to move last. - * @param move {@linkcode Move} {@linkcode Moves.QUASH} + * @param move {@linkcode Move} {@linkcode MoveId.QUASH} * @param _args N/A * @returns true */ @@ -7938,9 +7938,9 @@ const failIfDampCondition: MoveConditionFunc = (user, target, move) => { return !cancelled.value; }; -const userSleptOrComatoseCondition: MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => user.status?.effect === StatusEffect.SLEEP || user.hasAbility(Abilities.COMATOSE); +const userSleptOrComatoseCondition: MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => user.status?.effect === StatusEffect.SLEEP || user.hasAbility(AbilityId.COMATOSE); -const targetSleptOrComatoseCondition: MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => target.status?.effect === StatusEffect.SLEEP || target.hasAbility(Abilities.COMATOSE); +const targetSleptOrComatoseCondition: MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => target.status?.effect === StatusEffect.SLEEP || target.hasAbility(AbilityId.COMATOSE); const failIfLastCondition: MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => globalScene.phaseQueue.find(phase => phase instanceof MovePhase) !== undefined; @@ -8085,7 +8085,7 @@ export class HitsSameTypeAttr extends VariableMoveTypeMultiplierAttr { * Fails if the type is unknown or stellar * * TODO: - * If a move has its type changed (e.g. {@linkcode Moves.HIDDEN_POWER}), it will check the new type. + * If a move has its type changed (e.g. {@linkcode MoveId.HIDDEN_POWER}), it will check the new type. */ export class ResistLastMoveTypeAttr extends MoveEffectAttr { constructor() { @@ -8156,7 +8156,7 @@ export class ResistLastMoveTypeAttr extends MoveEffectAttr { /** * Drops the target's immunity to types it is immune to * and makes its evasiveness be ignored during accuracy - * checks. Used by: {@linkcode Moves.ODOR_SLEUTH | Odor Sleuth}, {@linkcode Moves.MIRACLE_EYE | Miracle Eye} and {@linkcode Moves.FORESIGHT | Foresight} + * checks. Used by: {@linkcode MoveId.ODOR_SLEUTH | Odor Sleuth}, {@linkcode MoveId.MIRACLE_EYE | Miracle Eye} and {@linkcode MoveId.FORESIGHT | Foresight} * * @extends AddBattlerTagAttr * @see {@linkcode apply} @@ -8193,7 +8193,7 @@ export type MoveTargetSet = { multiple: boolean; }; -export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveTarget): MoveTargetSet { +export function getMoveTargets(user: Pokemon, move: MoveId, replaceTarget?: MoveTarget): MoveTargetSet { const variableTarget = new NumberHolder(0); user.getOpponents(false).forEach(p => applyMoveAttrs(VariableTargetAttr, user, p, allMoves[move], variableTarget)); @@ -8261,420 +8261,420 @@ export function getMoveTargets(user: Pokemon, move: Moves, replaceTarget?: MoveT return { targets: set.filter(p => p?.isActive(true)).map(p => p.getBattlerIndex()).filter(t => t !== undefined), multiple }; } -export const selfStatLowerMoves: Moves[] = []; +export const selfStatLowerMoves: MoveId[] = []; export function initMoves() { allMoves.push( - new SelfStatusMove(Moves.NONE, PokemonType.NORMAL, MoveCategory.STATUS, -1, -1, 0, 1), - new AttackMove(Moves.POUND, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), - new AttackMove(Moves.KARATE_CHOP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 50, 100, 25, -1, 0, 1) + new SelfStatusMove(MoveId.NONE, PokemonType.NORMAL, MoveCategory.STATUS, -1, -1, 0, 1), + new AttackMove(MoveId.POUND, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), + new AttackMove(MoveId.KARATE_CHOP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 50, 100, 25, -1, 0, 1) .attr(HighCritAttr), - new AttackMove(Moves.DOUBLE_SLAP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 10, -1, 0, 1) + new AttackMove(MoveId.DOUBLE_SLAP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 10, -1, 0, 1) .attr(MultiHitAttr), - new AttackMove(Moves.COMET_PUNCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 18, 85, 15, -1, 0, 1) + new AttackMove(MoveId.COMET_PUNCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 18, 85, 15, -1, 0, 1) .attr(MultiHitAttr) .punchingMove(), - new AttackMove(Moves.MEGA_PUNCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 85, 20, -1, 0, 1) + new AttackMove(MoveId.MEGA_PUNCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 85, 20, -1, 0, 1) .punchingMove(), - new AttackMove(Moves.PAY_DAY, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 20, -1, 0, 1) + new AttackMove(MoveId.PAY_DAY, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 20, -1, 0, 1) .attr(MoneyAttr) .makesContact(false), - new AttackMove(Moves.FIRE_PUNCH, PokemonType.FIRE, MoveCategory.PHYSICAL, 75, 100, 15, 10, 0, 1) + new AttackMove(MoveId.FIRE_PUNCH, PokemonType.FIRE, MoveCategory.PHYSICAL, 75, 100, 15, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.BURN) .punchingMove(), - new AttackMove(Moves.ICE_PUNCH, PokemonType.ICE, MoveCategory.PHYSICAL, 75, 100, 15, 10, 0, 1) + new AttackMove(MoveId.ICE_PUNCH, PokemonType.ICE, MoveCategory.PHYSICAL, 75, 100, 15, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.FREEZE) .punchingMove(), - new AttackMove(Moves.THUNDER_PUNCH, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 75, 100, 15, 10, 0, 1) + new AttackMove(MoveId.THUNDER_PUNCH, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 75, 100, 15, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .punchingMove(), - new AttackMove(Moves.SCRATCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), - new AttackMove(Moves.VISE_GRIP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 55, 100, 30, -1, 0, 1), - new AttackMove(Moves.GUILLOTINE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) + new AttackMove(MoveId.SCRATCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), + new AttackMove(MoveId.VISE_GRIP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 55, 100, 30, -1, 0, 1), + new AttackMove(MoveId.GUILLOTINE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) .attr(OneHitKOAttr) .attr(OneHitKOAccuracyAttr), - new ChargingAttackMove(Moves.RAZOR_WIND, PokemonType.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 1) + new ChargingAttackMove(MoveId.RAZOR_WIND, PokemonType.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 1) .chargeText(i18next.t("moveTriggers:whippedUpAWhirlwind", { pokemonName: "{USER}" })) .attr(HighCritAttr) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new SelfStatusMove(Moves.SWORDS_DANCE, PokemonType.NORMAL, -1, 20, -1, 0, 1) + new SelfStatusMove(MoveId.SWORDS_DANCE, PokemonType.NORMAL, -1, 20, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ATK ], 2, true) .danceMove(), - new AttackMove(Moves.CUT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 50, 95, 30, -1, 0, 1) + new AttackMove(MoveId.CUT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 50, 95, 30, -1, 0, 1) .slicingMove(), - new AttackMove(Moves.GUST, PokemonType.FLYING, MoveCategory.SPECIAL, 40, 100, 35, -1, 0, 1) + new AttackMove(MoveId.GUST, PokemonType.FLYING, MoveCategory.SPECIAL, 40, 100, 35, -1, 0, 1) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.FLYING) .windMove(), - new AttackMove(Moves.WING_ATTACK, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, 100, 35, -1, 0, 1), - new StatusMove(Moves.WHIRLWIND, PokemonType.NORMAL, -1, 20, -1, -6, 1) + new AttackMove(MoveId.WING_ATTACK, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, 100, 35, -1, 0, 1), + new StatusMove(MoveId.WHIRLWIND, PokemonType.NORMAL, -1, 20, -1, -6, 1) .attr(ForceSwitchOutAttr, false, SwitchType.FORCE_SWITCH) .ignoresSubstitute() .hidesTarget() .windMove() .reflectable(), - new ChargingAttackMove(Moves.FLY, PokemonType.FLYING, MoveCategory.PHYSICAL, 90, 95, 15, -1, 0, 1) + new ChargingAttackMove(MoveId.FLY, PokemonType.FLYING, MoveCategory.PHYSICAL, 90, 95, 15, -1, 0, 1) .chargeText(i18next.t("moveTriggers:flewUpHigh", { pokemonName: "{USER}" })) .chargeAttr(SemiInvulnerableAttr, BattlerTagType.FLYING) .condition(failOnGravityCondition), - new AttackMove(Moves.BIND, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1) + new AttackMove(MoveId.BIND, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1) .attr(TrapAttr, BattlerTagType.BIND), - new AttackMove(Moves.SLAM, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 75, 20, -1, 0, 1), - new AttackMove(Moves.VINE_WHIP, PokemonType.GRASS, MoveCategory.PHYSICAL, 45, 100, 25, -1, 0, 1), - new AttackMove(Moves.STOMP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 1) + new AttackMove(MoveId.SLAM, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 75, 20, -1, 0, 1), + new AttackMove(MoveId.VINE_WHIP, PokemonType.GRASS, MoveCategory.PHYSICAL, 45, 100, 25, -1, 0, 1), + new AttackMove(MoveId.STOMP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 1) .attr(AlwaysHitMinimizeAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED) .attr(FlinchAttr), - new AttackMove(Moves.DOUBLE_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 30, 100, 30, -1, 0, 1) + new AttackMove(MoveId.DOUBLE_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 30, 100, 30, -1, 0, 1) .attr(MultiHitAttr, MultiHitType._2), - new AttackMove(Moves.MEGA_KICK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 75, 5, -1, 0, 1), - new AttackMove(Moves.JUMP_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, -1, 0, 1) + new AttackMove(MoveId.MEGA_KICK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 75, 5, -1, 0, 1), + new AttackMove(MoveId.JUMP_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, -1, 0, 1) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) .condition(failOnGravityCondition) .recklessMove(), - new AttackMove(Moves.ROLLING_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 85, 15, 30, 0, 1) + new AttackMove(MoveId.ROLLING_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 85, 15, 30, 0, 1) .attr(FlinchAttr), - new StatusMove(Moves.SAND_ATTACK, PokemonType.GROUND, 100, 15, -1, 0, 1) + new StatusMove(MoveId.SAND_ATTACK, PokemonType.GROUND, 100, 15, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ACC ], -1) .reflectable(), - new AttackMove(Moves.HEADBUTT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 15, 30, 0, 1) + new AttackMove(MoveId.HEADBUTT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 15, 30, 0, 1) .attr(FlinchAttr), - new AttackMove(Moves.HORN_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 65, 100, 25, -1, 0, 1), - new AttackMove(Moves.FURY_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1) + new AttackMove(MoveId.HORN_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 65, 100, 25, -1, 0, 1), + new AttackMove(MoveId.FURY_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1) .attr(MultiHitAttr), - new AttackMove(Moves.HORN_DRILL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) + new AttackMove(MoveId.HORN_DRILL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) .attr(OneHitKOAttr) .attr(OneHitKOAccuracyAttr), - new AttackMove(Moves.TACKLE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), - new AttackMove(Moves.BODY_SLAM, PokemonType.NORMAL, MoveCategory.PHYSICAL, 85, 100, 15, 30, 0, 1) + new AttackMove(MoveId.TACKLE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, -1, 0, 1), + new AttackMove(MoveId.BODY_SLAM, PokemonType.NORMAL, MoveCategory.PHYSICAL, 85, 100, 15, 30, 0, 1) .attr(AlwaysHitMinimizeAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.WRAP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, -1, 0, 1) + new AttackMove(MoveId.WRAP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, -1, 0, 1) .attr(TrapAttr, BattlerTagType.WRAP), - new AttackMove(Moves.TAKE_DOWN, PokemonType.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, -1, 0, 1) + new AttackMove(MoveId.TAKE_DOWN, PokemonType.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, -1, 0, 1) .attr(RecoilAttr) .recklessMove(), - new AttackMove(Moves.THRASH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 1) + new AttackMove(MoveId.THRASH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 1) .attr(FrenzyAttr) .attr(MissEffectAttr, frenzyMissFunc) .attr(NoEffectAttr, frenzyMissFunc) .target(MoveTarget.RANDOM_NEAR_ENEMY), - new AttackMove(Moves.DOUBLE_EDGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 1) + new AttackMove(MoveId.DOUBLE_EDGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 1) .attr(RecoilAttr, false, 0.33) .recklessMove(), - new StatusMove(Moves.TAIL_WHIP, PokemonType.NORMAL, 100, 30, -1, 0, 1) + new StatusMove(MoveId.TAIL_WHIP, PokemonType.NORMAL, 100, 30, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.POISON_STING, PokemonType.POISON, MoveCategory.PHYSICAL, 15, 100, 35, 30, 0, 1) + new AttackMove(MoveId.POISON_STING, PokemonType.POISON, MoveCategory.PHYSICAL, 15, 100, 35, 30, 0, 1) .attr(StatusEffectAttr, StatusEffect.POISON) .makesContact(false), - new AttackMove(Moves.TWINEEDLE, PokemonType.BUG, MoveCategory.PHYSICAL, 25, 100, 20, 20, 0, 1) + new AttackMove(MoveId.TWINEEDLE, PokemonType.BUG, MoveCategory.PHYSICAL, 25, 100, 20, 20, 0, 1) .attr(MultiHitAttr, MultiHitType._2) .attr(StatusEffectAttr, StatusEffect.POISON) .makesContact(false), - new AttackMove(Moves.PIN_MISSILE, PokemonType.BUG, MoveCategory.PHYSICAL, 25, 95, 20, -1, 0, 1) + new AttackMove(MoveId.PIN_MISSILE, PokemonType.BUG, MoveCategory.PHYSICAL, 25, 95, 20, -1, 0, 1) .attr(MultiHitAttr) .makesContact(false), - new StatusMove(Moves.LEER, PokemonType.NORMAL, 100, 30, -1, 0, 1) + new StatusMove(MoveId.LEER, PokemonType.NORMAL, 100, 30, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.BITE, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 25, 30, 0, 1) + new AttackMove(MoveId.BITE, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 25, 30, 0, 1) .attr(FlinchAttr) .bitingMove(), - new StatusMove(Moves.GROWL, PokemonType.NORMAL, 100, 40, -1, 0, 1) + new StatusMove(MoveId.GROWL, PokemonType.NORMAL, 100, 40, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ATK ], -1) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new StatusMove(Moves.ROAR, PokemonType.NORMAL, -1, 20, -1, -6, 1) + new StatusMove(MoveId.ROAR, PokemonType.NORMAL, -1, 20, -1, -6, 1) .attr(ForceSwitchOutAttr, false, SwitchType.FORCE_SWITCH) .soundBased() .hidesTarget() .reflectable(), - new StatusMove(Moves.SING, PokemonType.NORMAL, 55, 15, -1, 0, 1) + new StatusMove(MoveId.SING, PokemonType.NORMAL, 55, 15, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.SLEEP) .soundBased() .reflectable(), - new StatusMove(Moves.SUPERSONIC, PokemonType.NORMAL, 55, 20, -1, 0, 1) + new StatusMove(MoveId.SUPERSONIC, PokemonType.NORMAL, 55, 20, -1, 0, 1) .attr(ConfuseAttr) .soundBased() .reflectable(), - new AttackMove(Moves.SONIC_BOOM, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, 90, 20, -1, 0, 1) + new AttackMove(MoveId.SONIC_BOOM, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, 90, 20, -1, 0, 1) .attr(FixedDamageAttr, 20), - new StatusMove(Moves.DISABLE, PokemonType.NORMAL, 100, 20, -1, 0, 1) + new StatusMove(MoveId.DISABLE, PokemonType.NORMAL, 100, 20, -1, 0, 1) .attr(AddBattlerTagAttr, BattlerTagType.DISABLED, false, true) .condition((user, target, move) => { const lastRealMove = target.getLastXMoves(-1).find(m => !m.virtual); - return !isNullOrUndefined(lastRealMove) && lastRealMove.move !== Moves.NONE && lastRealMove.move !== Moves.STRUGGLE; + return !isNullOrUndefined(lastRealMove) && lastRealMove.move !== MoveId.NONE && lastRealMove.move !== MoveId.STRUGGLE; }) .ignoresSubstitute() .reflectable(), - new AttackMove(Moves.ACID, PokemonType.POISON, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1) + new AttackMove(MoveId.ACID, PokemonType.POISON, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.EMBER, PokemonType.FIRE, MoveCategory.SPECIAL, 40, 100, 25, 10, 0, 1) + new AttackMove(MoveId.EMBER, PokemonType.FIRE, MoveCategory.SPECIAL, 40, 100, 25, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.FLAMETHROWER, PokemonType.FIRE, MoveCategory.SPECIAL, 90, 100, 15, 10, 0, 1) + new AttackMove(MoveId.FLAMETHROWER, PokemonType.FIRE, MoveCategory.SPECIAL, 90, 100, 15, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.BURN), - new StatusMove(Moves.MIST, PokemonType.ICE, -1, 30, -1, 0, 1) + new StatusMove(MoveId.MIST, PokemonType.ICE, -1, 30, -1, 0, 1) .attr(AddArenaTagAttr, ArenaTagType.MIST, 5, true) .target(MoveTarget.USER_SIDE), - new AttackMove(Moves.WATER_GUN, PokemonType.WATER, MoveCategory.SPECIAL, 40, 100, 25, -1, 0, 1), - new AttackMove(Moves.HYDRO_PUMP, PokemonType.WATER, MoveCategory.SPECIAL, 110, 80, 5, -1, 0, 1), - new AttackMove(Moves.SURF, PokemonType.WATER, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 1) + new AttackMove(MoveId.WATER_GUN, PokemonType.WATER, MoveCategory.SPECIAL, 40, 100, 25, -1, 0, 1), + new AttackMove(MoveId.HYDRO_PUMP, PokemonType.WATER, MoveCategory.SPECIAL, 110, 80, 5, -1, 0, 1), + new AttackMove(MoveId.SURF, PokemonType.WATER, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 1) .target(MoveTarget.ALL_NEAR_OTHERS) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.UNDERWATER) .attr(GulpMissileTagAttr), - new AttackMove(Moves.ICE_BEAM, PokemonType.ICE, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 1) + new AttackMove(MoveId.ICE_BEAM, PokemonType.ICE, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.FREEZE), - new AttackMove(Moves.BLIZZARD, PokemonType.ICE, MoveCategory.SPECIAL, 110, 70, 5, 10, 0, 1) + new AttackMove(MoveId.BLIZZARD, PokemonType.ICE, MoveCategory.SPECIAL, 110, 70, 5, 10, 0, 1) .attr(BlizzardAccuracyAttr) .attr(StatusEffectAttr, StatusEffect.FREEZE) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.PSYBEAM, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 65, 100, 20, 10, 0, 1) + new AttackMove(MoveId.PSYBEAM, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 65, 100, 20, 10, 0, 1) .attr(ConfuseAttr), - new AttackMove(Moves.BUBBLE_BEAM, PokemonType.WATER, MoveCategory.SPECIAL, 65, 100, 20, 10, 0, 1) + new AttackMove(MoveId.BUBBLE_BEAM, PokemonType.WATER, MoveCategory.SPECIAL, 65, 100, 20, 10, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPD ], -1), - new AttackMove(Moves.AURORA_BEAM, PokemonType.ICE, MoveCategory.SPECIAL, 65, 100, 20, 10, 0, 1) + new AttackMove(MoveId.AURORA_BEAM, PokemonType.ICE, MoveCategory.SPECIAL, 65, 100, 20, 10, 0, 1) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new AttackMove(Moves.HYPER_BEAM, PokemonType.NORMAL, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 1) + new AttackMove(MoveId.HYPER_BEAM, PokemonType.NORMAL, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 1) .attr(RechargeAttr), - new AttackMove(Moves.PECK, PokemonType.FLYING, MoveCategory.PHYSICAL, 35, 100, 35, -1, 0, 1), - new AttackMove(Moves.DRILL_PECK, PokemonType.FLYING, MoveCategory.PHYSICAL, 80, 100, 20, -1, 0, 1), - new AttackMove(Moves.SUBMISSION, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 80, 80, 20, -1, 0, 1) + new AttackMove(MoveId.PECK, PokemonType.FLYING, MoveCategory.PHYSICAL, 35, 100, 35, -1, 0, 1), + new AttackMove(MoveId.DRILL_PECK, PokemonType.FLYING, MoveCategory.PHYSICAL, 80, 100, 20, -1, 0, 1), + new AttackMove(MoveId.SUBMISSION, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 80, 80, 20, -1, 0, 1) .attr(RecoilAttr) .recklessMove(), - new AttackMove(Moves.LOW_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 1) + new AttackMove(MoveId.LOW_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 1) .attr(WeightPowerAttr), - new AttackMove(Moves.COUNTER, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, -1, -5, 1) + new AttackMove(MoveId.COUNTER, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, -1, -5, 1) .attr(CounterDamageAttr, (move: Move) => move.category === MoveCategory.PHYSICAL, 2) .target(MoveTarget.ATTACKER), - new AttackMove(Moves.SEISMIC_TOSS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 1) + new AttackMove(MoveId.SEISMIC_TOSS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 1) .attr(LevelDamageAttr), - new AttackMove(Moves.STRENGTH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 1), - new AttackMove(Moves.ABSORB, PokemonType.GRASS, MoveCategory.SPECIAL, 20, 100, 25, -1, 0, 1) + new AttackMove(MoveId.STRENGTH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 1), + new AttackMove(MoveId.ABSORB, PokemonType.GRASS, MoveCategory.SPECIAL, 20, 100, 25, -1, 0, 1) .attr(HitHealAttr) .triageMove(), - new AttackMove(Moves.MEGA_DRAIN, PokemonType.GRASS, MoveCategory.SPECIAL, 40, 100, 15, -1, 0, 1) + new AttackMove(MoveId.MEGA_DRAIN, PokemonType.GRASS, MoveCategory.SPECIAL, 40, 100, 15, -1, 0, 1) .attr(HitHealAttr) .triageMove(), - new StatusMove(Moves.LEECH_SEED, PokemonType.GRASS, 90, 10, -1, 0, 1) + new StatusMove(MoveId.LEECH_SEED, PokemonType.GRASS, 90, 10, -1, 0, 1) .attr(LeechSeedAttr) .condition((user, target, move) => !target.getTag(BattlerTagType.SEEDED) && !target.isOfType(PokemonType.GRASS)) .reflectable(), - new SelfStatusMove(Moves.GROWTH, PokemonType.NORMAL, -1, 20, -1, 0, 1) + new SelfStatusMove(MoveId.GROWTH, PokemonType.NORMAL, -1, 20, -1, 0, 1) .attr(GrowthStatStageChangeAttr), - new AttackMove(Moves.RAZOR_LEAF, PokemonType.GRASS, MoveCategory.PHYSICAL, 55, 95, 25, -1, 0, 1) + new AttackMove(MoveId.RAZOR_LEAF, PokemonType.GRASS, MoveCategory.PHYSICAL, 55, 95, 25, -1, 0, 1) .attr(HighCritAttr) .makesContact(false) .slicingMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new ChargingAttackMove(Moves.SOLAR_BEAM, PokemonType.GRASS, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 1) + new ChargingAttackMove(MoveId.SOLAR_BEAM, PokemonType.GRASS, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 1) .chargeText(i18next.t("moveTriggers:tookInSunlight", { pokemonName: "{USER}" })) .chargeAttr(WeatherInstantChargeAttr, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]) .attr(AntiSunlightPowerDecreaseAttr), - new StatusMove(Moves.POISON_POWDER, PokemonType.POISON, 75, 35, -1, 0, 1) + new StatusMove(MoveId.POISON_POWDER, PokemonType.POISON, 75, 35, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.POISON) .powderMove() .reflectable(), - new StatusMove(Moves.STUN_SPORE, PokemonType.GRASS, 75, 30, -1, 0, 1) + new StatusMove(MoveId.STUN_SPORE, PokemonType.GRASS, 75, 30, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .powderMove() .reflectable(), - new StatusMove(Moves.SLEEP_POWDER, PokemonType.GRASS, 75, 15, -1, 0, 1) + new StatusMove(MoveId.SLEEP_POWDER, PokemonType.GRASS, 75, 15, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.SLEEP) .powderMove() .reflectable(), - new AttackMove(Moves.PETAL_DANCE, PokemonType.GRASS, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 1) + new AttackMove(MoveId.PETAL_DANCE, PokemonType.GRASS, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 1) .attr(FrenzyAttr) .attr(MissEffectAttr, frenzyMissFunc) .attr(NoEffectAttr, frenzyMissFunc) .makesContact() .danceMove() .target(MoveTarget.RANDOM_NEAR_ENEMY), - new StatusMove(Moves.STRING_SHOT, PokemonType.BUG, 95, 40, -1, 0, 1) + new StatusMove(MoveId.STRING_SHOT, PokemonType.BUG, 95, 40, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPD ], -2) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.DRAGON_RAGE, PokemonType.DRAGON, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 1) + new AttackMove(MoveId.DRAGON_RAGE, PokemonType.DRAGON, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 1) .attr(FixedDamageAttr, 40), - new AttackMove(Moves.FIRE_SPIN, PokemonType.FIRE, MoveCategory.SPECIAL, 35, 85, 15, -1, 0, 1) + new AttackMove(MoveId.FIRE_SPIN, PokemonType.FIRE, MoveCategory.SPECIAL, 35, 85, 15, -1, 0, 1) .attr(TrapAttr, BattlerTagType.FIRE_SPIN), - new AttackMove(Moves.THUNDER_SHOCK, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1) + new AttackMove(MoveId.THUNDER_SHOCK, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.THUNDERBOLT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 90, 100, 15, 10, 0, 1) + new AttackMove(MoveId.THUNDERBOLT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 90, 100, 15, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new StatusMove(Moves.THUNDER_WAVE, PokemonType.ELECTRIC, 90, 20, -1, 0, 1) + new StatusMove(MoveId.THUNDER_WAVE, PokemonType.ELECTRIC, 90, 20, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .attr(RespectAttackTypeImmunityAttr) .reflectable(), - new AttackMove(Moves.THUNDER, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 110, 70, 10, 30, 0, 1) + new AttackMove(MoveId.THUNDER, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 110, 70, 10, 30, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .attr(ThunderAccuracyAttr) .attr(HitsTagAttr, BattlerTagType.FLYING), - new AttackMove(Moves.ROCK_THROW, PokemonType.ROCK, MoveCategory.PHYSICAL, 50, 90, 15, -1, 0, 1) + new AttackMove(MoveId.ROCK_THROW, PokemonType.ROCK, MoveCategory.PHYSICAL, 50, 90, 15, -1, 0, 1) .makesContact(false), - new AttackMove(Moves.EARTHQUAKE, PokemonType.GROUND, MoveCategory.PHYSICAL, 100, 100, 10, -1, 0, 1) + new AttackMove(MoveId.EARTHQUAKE, PokemonType.GROUND, MoveCategory.PHYSICAL, 100, 100, 10, -1, 0, 1) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.UNDERGROUND) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.GRASSY && target.isGrounded() ? 0.5 : 1) .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.FISSURE, PokemonType.GROUND, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) + new AttackMove(MoveId.FISSURE, PokemonType.GROUND, MoveCategory.PHYSICAL, 200, 30, 5, -1, 0, 1) .attr(OneHitKOAttr) .attr(OneHitKOAccuracyAttr) .attr(HitsTagAttr, BattlerTagType.UNDERGROUND) .makesContact(false), - new ChargingAttackMove(Moves.DIG, PokemonType.GROUND, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 1) + new ChargingAttackMove(MoveId.DIG, PokemonType.GROUND, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 1) .chargeText(i18next.t("moveTriggers:dugAHole", { pokemonName: "{USER}" })) .chargeAttr(SemiInvulnerableAttr, BattlerTagType.UNDERGROUND), - new StatusMove(Moves.TOXIC, PokemonType.POISON, 90, 10, -1, 0, 1) + new StatusMove(MoveId.TOXIC, PokemonType.POISON, 90, 10, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.TOXIC) .attr(ToxicAccuracyAttr) .reflectable(), - new AttackMove(Moves.CONFUSION, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 50, 100, 25, 10, 0, 1) + new AttackMove(MoveId.CONFUSION, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 50, 100, 25, 10, 0, 1) .attr(ConfuseAttr), - new AttackMove(Moves.PSYCHIC, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 1) + new AttackMove(MoveId.PSYCHIC, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1), - new StatusMove(Moves.HYPNOSIS, PokemonType.PSYCHIC, 60, 20, -1, 0, 1) + new StatusMove(MoveId.HYPNOSIS, PokemonType.PSYCHIC, 60, 20, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.SLEEP) .reflectable(), - new SelfStatusMove(Moves.MEDITATE, PokemonType.PSYCHIC, -1, 40, -1, 0, 1) + new SelfStatusMove(MoveId.MEDITATE, PokemonType.PSYCHIC, -1, 40, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ATK ], 1, true), - new SelfStatusMove(Moves.AGILITY, PokemonType.PSYCHIC, -1, 30, -1, 0, 1) + new SelfStatusMove(MoveId.AGILITY, PokemonType.PSYCHIC, -1, 30, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPD ], 2, true), - new AttackMove(Moves.QUICK_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 1), - new AttackMove(Moves.RAGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 20, 100, 20, -1, 0, 1) + new AttackMove(MoveId.QUICK_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 1), + new AttackMove(MoveId.RAGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 20, 100, 20, -1, 0, 1) .partial(), // No effect implemented - new SelfStatusMove(Moves.TELEPORT, PokemonType.PSYCHIC, -1, 20, -1, -6, 1) + new SelfStatusMove(MoveId.TELEPORT, PokemonType.PSYCHIC, -1, 20, -1, -6, 1) .attr(ForceSwitchOutAttr, true) .hidesUser(), - new AttackMove(Moves.NIGHT_SHADE, PokemonType.GHOST, MoveCategory.SPECIAL, -1, 100, 15, -1, 0, 1) + new AttackMove(MoveId.NIGHT_SHADE, PokemonType.GHOST, MoveCategory.SPECIAL, -1, 100, 15, -1, 0, 1) .attr(LevelDamageAttr), - new StatusMove(Moves.MIMIC, PokemonType.NORMAL, -1, 10, -1, 0, 1) + new StatusMove(MoveId.MIMIC, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(MovesetCopyMoveAttr) .ignoresSubstitute(), - new StatusMove(Moves.SCREECH, PokemonType.NORMAL, 85, 40, -1, 0, 1) + new StatusMove(MoveId.SCREECH, PokemonType.NORMAL, 85, 40, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], -2) .soundBased() .reflectable(), - new SelfStatusMove(Moves.DOUBLE_TEAM, PokemonType.NORMAL, -1, 15, -1, 0, 1) + new SelfStatusMove(MoveId.DOUBLE_TEAM, PokemonType.NORMAL, -1, 15, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.EVA ], 1, true), - new SelfStatusMove(Moves.RECOVER, PokemonType.NORMAL, -1, 5, -1, 0, 1) + new SelfStatusMove(MoveId.RECOVER, PokemonType.NORMAL, -1, 5, -1, 0, 1) .attr(HealAttr, 0.5) .triageMove(), - new SelfStatusMove(Moves.HARDEN, PokemonType.NORMAL, -1, 30, -1, 0, 1) + new SelfStatusMove(MoveId.HARDEN, PokemonType.NORMAL, -1, 30, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], 1, true), - new SelfStatusMove(Moves.MINIMIZE, PokemonType.NORMAL, -1, 10, -1, 0, 1) + new SelfStatusMove(MoveId.MINIMIZE, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(AddBattlerTagAttr, BattlerTagType.MINIMIZED, true, false) .attr(StatStageChangeAttr, [ Stat.EVA ], 2, true), - new StatusMove(Moves.SMOKESCREEN, PokemonType.NORMAL, 100, 20, -1, 0, 1) + new StatusMove(MoveId.SMOKESCREEN, PokemonType.NORMAL, 100, 20, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ACC ], -1) .reflectable(), - new StatusMove(Moves.CONFUSE_RAY, PokemonType.GHOST, 100, 10, -1, 0, 1) + new StatusMove(MoveId.CONFUSE_RAY, PokemonType.GHOST, 100, 10, -1, 0, 1) .attr(ConfuseAttr) .reflectable(), - new SelfStatusMove(Moves.WITHDRAW, PokemonType.WATER, -1, 40, -1, 0, 1) + new SelfStatusMove(MoveId.WITHDRAW, PokemonType.WATER, -1, 40, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], 1, true), - new SelfStatusMove(Moves.DEFENSE_CURL, PokemonType.NORMAL, -1, 40, -1, 0, 1) + new SelfStatusMove(MoveId.DEFENSE_CURL, PokemonType.NORMAL, -1, 40, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], 1, true), - new SelfStatusMove(Moves.BARRIER, PokemonType.PSYCHIC, -1, 20, -1, 0, 1) + new SelfStatusMove(MoveId.BARRIER, PokemonType.PSYCHIC, -1, 20, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true), - new StatusMove(Moves.LIGHT_SCREEN, PokemonType.PSYCHIC, -1, 30, -1, 0, 1) + new StatusMove(MoveId.LIGHT_SCREEN, PokemonType.PSYCHIC, -1, 30, -1, 0, 1) .attr(AddArenaTagAttr, ArenaTagType.LIGHT_SCREEN, 5, true) .target(MoveTarget.USER_SIDE), - new SelfStatusMove(Moves.HAZE, PokemonType.ICE, -1, 30, -1, 0, 1) + new SelfStatusMove(MoveId.HAZE, PokemonType.ICE, -1, 30, -1, 0, 1) .ignoresSubstitute() .attr(ResetStatsAttr, true), - new StatusMove(Moves.REFLECT, PokemonType.PSYCHIC, -1, 20, -1, 0, 1) + new StatusMove(MoveId.REFLECT, PokemonType.PSYCHIC, -1, 20, -1, 0, 1) .attr(AddArenaTagAttr, ArenaTagType.REFLECT, 5, true) .target(MoveTarget.USER_SIDE), - new SelfStatusMove(Moves.FOCUS_ENERGY, PokemonType.NORMAL, -1, 30, -1, 0, 1) + new SelfStatusMove(MoveId.FOCUS_ENERGY, PokemonType.NORMAL, -1, 30, -1, 0, 1) .attr(AddBattlerTagAttr, BattlerTagType.CRIT_BOOST, true, true), - new AttackMove(Moves.BIDE, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, -1, 10, -1, 1, 1) + new AttackMove(MoveId.BIDE, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, -1, 10, -1, 1, 1) .target(MoveTarget.USER) .unimplemented(), - new SelfStatusMove(Moves.METRONOME, PokemonType.NORMAL, -1, 10, -1, 0, 1) + new SelfStatusMove(MoveId.METRONOME, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(RandomMoveAttr, invalidMetronomeMoves), - new StatusMove(Moves.MIRROR_MOVE, PokemonType.FLYING, -1, 20, -1, 0, 1) + new StatusMove(MoveId.MIRROR_MOVE, PokemonType.FLYING, -1, 20, -1, 0, 1) .attr(CopyMoveAttr, true, invalidMirrorMoveMoves), - new AttackMove(Moves.SELF_DESTRUCT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 100, 5, -1, 0, 1) + new AttackMove(MoveId.SELF_DESTRUCT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 100, 5, -1, 0, 1) .attr(SacrificialAttr) .makesContact(false) .condition(failIfDampCondition) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.EGG_BOMB, PokemonType.NORMAL, MoveCategory.PHYSICAL, 100, 75, 10, -1, 0, 1) + new AttackMove(MoveId.EGG_BOMB, PokemonType.NORMAL, MoveCategory.PHYSICAL, 100, 75, 10, -1, 0, 1) .makesContact(false) .ballBombMove(), - new AttackMove(Moves.LICK, PokemonType.GHOST, MoveCategory.PHYSICAL, 30, 100, 30, 30, 0, 1) + new AttackMove(MoveId.LICK, PokemonType.GHOST, MoveCategory.PHYSICAL, 30, 100, 30, 30, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.SMOG, PokemonType.POISON, MoveCategory.SPECIAL, 30, 70, 20, 40, 0, 1) + new AttackMove(MoveId.SMOG, PokemonType.POISON, MoveCategory.SPECIAL, 30, 70, 20, 40, 0, 1) .attr(StatusEffectAttr, StatusEffect.POISON), - new AttackMove(Moves.SLUDGE, PokemonType.POISON, MoveCategory.SPECIAL, 65, 100, 20, 30, 0, 1) + new AttackMove(MoveId.SLUDGE, PokemonType.POISON, MoveCategory.SPECIAL, 65, 100, 20, 30, 0, 1) .attr(StatusEffectAttr, StatusEffect.POISON), - new AttackMove(Moves.BONE_CLUB, PokemonType.GROUND, MoveCategory.PHYSICAL, 65, 85, 20, 10, 0, 1) + new AttackMove(MoveId.BONE_CLUB, PokemonType.GROUND, MoveCategory.PHYSICAL, 65, 85, 20, 10, 0, 1) .attr(FlinchAttr) .makesContact(false), - new AttackMove(Moves.FIRE_BLAST, PokemonType.FIRE, MoveCategory.SPECIAL, 110, 85, 5, 10, 0, 1) + new AttackMove(MoveId.FIRE_BLAST, PokemonType.FIRE, MoveCategory.SPECIAL, 110, 85, 5, 10, 0, 1) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.WATERFALL, PokemonType.WATER, MoveCategory.PHYSICAL, 80, 100, 15, 20, 0, 1) + new AttackMove(MoveId.WATERFALL, PokemonType.WATER, MoveCategory.PHYSICAL, 80, 100, 15, 20, 0, 1) .attr(FlinchAttr), - new AttackMove(Moves.CLAMP, PokemonType.WATER, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 1) + new AttackMove(MoveId.CLAMP, PokemonType.WATER, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 1) .attr(TrapAttr, BattlerTagType.CLAMP), - new AttackMove(Moves.SWIFT, PokemonType.NORMAL, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 1) + new AttackMove(MoveId.SWIFT, PokemonType.NORMAL, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 1) .target(MoveTarget.ALL_NEAR_ENEMIES), - new ChargingAttackMove(Moves.SKULL_BASH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 130, 100, 10, -1, 0, 1) + new ChargingAttackMove(MoveId.SKULL_BASH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 130, 100, 10, -1, 0, 1) .chargeText(i18next.t("moveTriggers:loweredItsHead", { pokemonName: "{USER}" })) .chargeAttr(StatStageChangeAttr, [ Stat.DEF ], 1, true), - new AttackMove(Moves.SPIKE_CANNON, PokemonType.NORMAL, MoveCategory.PHYSICAL, 20, 100, 15, -1, 0, 1) + new AttackMove(MoveId.SPIKE_CANNON, PokemonType.NORMAL, MoveCategory.PHYSICAL, 20, 100, 15, -1, 0, 1) .attr(MultiHitAttr) .makesContact(false), - new AttackMove(Moves.CONSTRICT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 10, 100, 35, 10, 0, 1) + new AttackMove(MoveId.CONSTRICT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 10, 100, 35, 10, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPD ], -1), - new SelfStatusMove(Moves.AMNESIA, PokemonType.PSYCHIC, -1, 20, -1, 0, 1) + new SelfStatusMove(MoveId.AMNESIA, PokemonType.PSYCHIC, -1, 20, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPDEF ], 2, true), - new StatusMove(Moves.KINESIS, PokemonType.PSYCHIC, 80, 15, -1, 0, 1) + new StatusMove(MoveId.KINESIS, PokemonType.PSYCHIC, 80, 15, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ACC ], -1) .reflectable(), - new SelfStatusMove(Moves.SOFT_BOILED, PokemonType.NORMAL, -1, 5, -1, 0, 1) + new SelfStatusMove(MoveId.SOFT_BOILED, PokemonType.NORMAL, -1, 5, -1, 0, 1) .attr(HealAttr, 0.5) .triageMove(), - new AttackMove(Moves.HIGH_JUMP_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 130, 90, 10, -1, 0, 1) + new AttackMove(MoveId.HIGH_JUMP_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 130, 90, 10, -1, 0, 1) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) .condition(failOnGravityCondition) .recklessMove(), - new StatusMove(Moves.GLARE, PokemonType.NORMAL, 100, 30, -1, 0, 1) + new StatusMove(MoveId.GLARE, PokemonType.NORMAL, 100, 30, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .reflectable(), - new AttackMove(Moves.DREAM_EATER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 15, -1, 0, 1) + new AttackMove(MoveId.DREAM_EATER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 15, -1, 0, 1) .attr(HitHealAttr) .condition(targetSleptOrComatoseCondition) .triageMove(), - new StatusMove(Moves.POISON_GAS, PokemonType.POISON, 90, 40, -1, 0, 1) + new StatusMove(MoveId.POISON_GAS, PokemonType.POISON, 90, 40, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.POISON) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.BARRAGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1) + new AttackMove(MoveId.BARRAGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1) .attr(MultiHitAttr) .makesContact(false) .ballBombMove(), - new AttackMove(Moves.LEECH_LIFE, PokemonType.BUG, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 1) + new AttackMove(MoveId.LEECH_LIFE, PokemonType.BUG, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 1) .attr(HitHealAttr) .triageMove(), - new StatusMove(Moves.LOVELY_KISS, PokemonType.NORMAL, 75, 10, -1, 0, 1) + new StatusMove(MoveId.LOVELY_KISS, PokemonType.NORMAL, 75, 10, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.SLEEP) .reflectable(), - new ChargingAttackMove(Moves.SKY_ATTACK, PokemonType.FLYING, MoveCategory.PHYSICAL, 140, 90, 5, 30, 0, 1) + new ChargingAttackMove(MoveId.SKY_ATTACK, PokemonType.FLYING, MoveCategory.PHYSICAL, 140, 90, 5, 30, 0, 1) .chargeText(i18next.t("moveTriggers:isGlowing", { pokemonName: "{USER}" })) .attr(HighCritAttr) .attr(FlinchAttr) .makesContact(false), - new StatusMove(Moves.TRANSFORM, PokemonType.NORMAL, -1, 10, -1, 0, 1) + new StatusMove(MoveId.TRANSFORM, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(TransformAttr) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE)) .condition((user, target, move) => !target.summonData.illusion && !user.summonData.illusion) @@ -8683,160 +8683,160 @@ export function initMoves() { .ignoresProtect() // Transforming should copy the target's rage fist hit count .edgeCase(), - new AttackMove(Moves.BUBBLE, PokemonType.WATER, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1) + new AttackMove(MoveId.BUBBLE, PokemonType.WATER, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.DIZZY_PUNCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, 20, 0, 1) + new AttackMove(MoveId.DIZZY_PUNCH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, 20, 0, 1) .attr(ConfuseAttr) .punchingMove(), - new StatusMove(Moves.SPORE, PokemonType.GRASS, 100, 15, -1, 0, 1) + new StatusMove(MoveId.SPORE, PokemonType.GRASS, 100, 15, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.SLEEP) .powderMove() .reflectable(), - new StatusMove(Moves.FLASH, PokemonType.NORMAL, 100, 20, -1, 0, 1) + new StatusMove(MoveId.FLASH, PokemonType.NORMAL, 100, 20, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ACC ], -1) .reflectable(), - new AttackMove(Moves.PSYWAVE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 15, -1, 0, 1) + new AttackMove(MoveId.PSYWAVE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 15, -1, 0, 1) .attr(RandomLevelDamageAttr), - new SelfStatusMove(Moves.SPLASH, PokemonType.NORMAL, -1, 40, -1, 0, 1) + new SelfStatusMove(MoveId.SPLASH, PokemonType.NORMAL, -1, 40, -1, 0, 1) .attr(SplashAttr) .condition(failOnGravityCondition), - new SelfStatusMove(Moves.ACID_ARMOR, PokemonType.POISON, -1, 20, -1, 0, 1) + new SelfStatusMove(MoveId.ACID_ARMOR, PokemonType.POISON, -1, 20, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true), - new AttackMove(Moves.CRABHAMMER, PokemonType.WATER, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 1) + new AttackMove(MoveId.CRABHAMMER, PokemonType.WATER, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 1) .attr(HighCritAttr), - new AttackMove(Moves.EXPLOSION, PokemonType.NORMAL, MoveCategory.PHYSICAL, 250, 100, 5, -1, 0, 1) + new AttackMove(MoveId.EXPLOSION, PokemonType.NORMAL, MoveCategory.PHYSICAL, 250, 100, 5, -1, 0, 1) .condition(failIfDampCondition) .attr(SacrificialAttr) .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.FURY_SWIPES, PokemonType.NORMAL, MoveCategory.PHYSICAL, 18, 80, 15, -1, 0, 1) + new AttackMove(MoveId.FURY_SWIPES, PokemonType.NORMAL, MoveCategory.PHYSICAL, 18, 80, 15, -1, 0, 1) .attr(MultiHitAttr), - new AttackMove(Moves.BONEMERANG, PokemonType.GROUND, MoveCategory.PHYSICAL, 50, 90, 10, -1, 0, 1) + new AttackMove(MoveId.BONEMERANG, PokemonType.GROUND, MoveCategory.PHYSICAL, 50, 90, 10, -1, 0, 1) .attr(MultiHitAttr, MultiHitType._2) .makesContact(false), - new SelfStatusMove(Moves.REST, PokemonType.PSYCHIC, -1, 5, -1, 0, 1) + new SelfStatusMove(MoveId.REST, PokemonType.PSYCHIC, -1, 5, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.SLEEP, true, 3, true) .attr(HealAttr, 1, true) .condition((user, target, move) => !user.isFullHp() && user.canSetStatus(StatusEffect.SLEEP, true, true, user)) .triageMove(), - new AttackMove(Moves.ROCK_SLIDE, PokemonType.ROCK, MoveCategory.PHYSICAL, 75, 90, 10, 30, 0, 1) + new AttackMove(MoveId.ROCK_SLIDE, PokemonType.ROCK, MoveCategory.PHYSICAL, 75, 90, 10, 30, 0, 1) .attr(FlinchAttr) .makesContact(false) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.HYPER_FANG, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 90, 15, 10, 0, 1) + new AttackMove(MoveId.HYPER_FANG, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 90, 15, 10, 0, 1) .attr(FlinchAttr) .bitingMove(), - new SelfStatusMove(Moves.SHARPEN, PokemonType.NORMAL, -1, 30, -1, 0, 1) + new SelfStatusMove(MoveId.SHARPEN, PokemonType.NORMAL, -1, 30, -1, 0, 1) .attr(StatStageChangeAttr, [ Stat.ATK ], 1, true), - new SelfStatusMove(Moves.CONVERSION, PokemonType.NORMAL, -1, 30, -1, 0, 1) + new SelfStatusMove(MoveId.CONVERSION, PokemonType.NORMAL, -1, 30, -1, 0, 1) .attr(FirstMoveTypeAttr), - new AttackMove(Moves.TRI_ATTACK, PokemonType.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, 20, 0, 1) + new AttackMove(MoveId.TRI_ATTACK, PokemonType.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, 20, 0, 1) .attr(MultiStatusEffectAttr, [ StatusEffect.BURN, StatusEffect.FREEZE, StatusEffect.PARALYSIS ]), - new AttackMove(Moves.SUPER_FANG, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 90, 10, -1, 0, 1) + new AttackMove(MoveId.SUPER_FANG, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 90, 10, -1, 0, 1) .attr(TargetHalfHpDamageAttr), - new AttackMove(Moves.SLASH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 1) + new AttackMove(MoveId.SLASH, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 1) .attr(HighCritAttr) .slicingMove(), - new SelfStatusMove(Moves.SUBSTITUTE, PokemonType.NORMAL, -1, 10, -1, 0, 1) + new SelfStatusMove(MoveId.SUBSTITUTE, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(AddSubstituteAttr, 0.25, false), - new AttackMove(Moves.STRUGGLE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 50, -1, 1, -1, 0, 1) + new AttackMove(MoveId.STRUGGLE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 50, -1, 1, -1, 0, 1) .attr(RecoilAttr, true, 0.25, true) .attr(TypelessAttr) .target(MoveTarget.RANDOM_NEAR_ENEMY), - new StatusMove(Moves.SKETCH, PokemonType.NORMAL, -1, 1, -1, 0, 2) + new StatusMove(MoveId.SKETCH, PokemonType.NORMAL, -1, 1, -1, 0, 2) .ignoresSubstitute() .attr(SketchAttr), - new AttackMove(Moves.TRIPLE_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 10, 90, 10, -1, 0, 2) + new AttackMove(MoveId.TRIPLE_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 10, 90, 10, -1, 0, 2) .attr(MultiHitAttr, MultiHitType._3) .attr(MultiHitPowerIncrementAttr, 3) .checkAllHits(), - new AttackMove(Moves.THIEF, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 2) + new AttackMove(MoveId.THIEF, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 2) .attr(StealHeldItemChanceAttr, 0.3) .edgeCase(), // Should not be able to steal held item if user faints due to Rough Skin, Iron Barbs, etc. // Should be able to steal items from pokemon with Sticky Hold if the damage causes them to faint - new StatusMove(Moves.SPIDER_WEB, PokemonType.BUG, -1, 10, -1, 0, 2) + new StatusMove(MoveId.SPIDER_WEB, PokemonType.BUG, -1, 10, -1, 0, 2) .condition(failIfGhostTypeCondition) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1) .reflectable(), - new StatusMove(Moves.MIND_READER, PokemonType.NORMAL, -1, 5, -1, 0, 2) + new StatusMove(MoveId.MIND_READER, PokemonType.NORMAL, -1, 5, -1, 0, 2) .attr(IgnoreAccuracyAttr), - new StatusMove(Moves.NIGHTMARE, PokemonType.GHOST, 100, 15, -1, 0, 2) + new StatusMove(MoveId.NIGHTMARE, PokemonType.GHOST, 100, 15, -1, 0, 2) .attr(AddBattlerTagAttr, BattlerTagType.NIGHTMARE) .condition(targetSleptOrComatoseCondition), - new AttackMove(Moves.FLAME_WHEEL, PokemonType.FIRE, MoveCategory.PHYSICAL, 60, 100, 25, 10, 0, 2) + new AttackMove(MoveId.FLAME_WHEEL, PokemonType.FIRE, MoveCategory.PHYSICAL, 60, 100, 25, 10, 0, 2) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.SNORE, PokemonType.NORMAL, MoveCategory.SPECIAL, 50, 100, 15, 30, 0, 2) + new AttackMove(MoveId.SNORE, PokemonType.NORMAL, MoveCategory.SPECIAL, 50, 100, 15, 30, 0, 2) .attr(BypassSleepAttr) .attr(FlinchAttr) .condition(userSleptOrComatoseCondition) .soundBased(), - new StatusMove(Moves.CURSE, PokemonType.GHOST, -1, 10, -1, 0, 2) + new StatusMove(MoveId.CURSE, PokemonType.GHOST, -1, 10, -1, 0, 2) .attr(CurseAttr) .ignoresSubstitute() .ignoresProtect() .target(MoveTarget.CURSE), - new AttackMove(Moves.FLAIL, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 2) + new AttackMove(MoveId.FLAIL, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 2) .attr(LowHpPowerAttr), - new StatusMove(Moves.CONVERSION_2, PokemonType.NORMAL, -1, 30, -1, 0, 2) + new StatusMove(MoveId.CONVERSION_2, PokemonType.NORMAL, -1, 30, -1, 0, 2) .attr(ResistLastMoveTypeAttr) .ignoresSubstitute() .partial(), // Checks the move's original typing and not if its type is changed through some other means - new AttackMove(Moves.AEROBLAST, PokemonType.FLYING, MoveCategory.SPECIAL, 100, 95, 5, -1, 0, 2) + new AttackMove(MoveId.AEROBLAST, PokemonType.FLYING, MoveCategory.SPECIAL, 100, 95, 5, -1, 0, 2) .windMove() .attr(HighCritAttr), - new StatusMove(Moves.COTTON_SPORE, PokemonType.GRASS, 100, 40, -1, 0, 2) + new StatusMove(MoveId.COTTON_SPORE, PokemonType.GRASS, 100, 40, -1, 0, 2) .attr(StatStageChangeAttr, [ Stat.SPD ], -2) .powderMove() .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.REVERSAL, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 2) + new AttackMove(MoveId.REVERSAL, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 2) .attr(LowHpPowerAttr), - new StatusMove(Moves.SPITE, PokemonType.GHOST, 100, 10, -1, 0, 2) + new StatusMove(MoveId.SPITE, PokemonType.GHOST, 100, 10, -1, 0, 2) .ignoresSubstitute() .attr(ReducePpMoveAttr, 4) .reflectable(), - new AttackMove(Moves.POWDER_SNOW, PokemonType.ICE, MoveCategory.SPECIAL, 40, 100, 25, 10, 0, 2) + new AttackMove(MoveId.POWDER_SNOW, PokemonType.ICE, MoveCategory.SPECIAL, 40, 100, 25, 10, 0, 2) .attr(StatusEffectAttr, StatusEffect.FREEZE) .target(MoveTarget.ALL_NEAR_ENEMIES), - new SelfStatusMove(Moves.PROTECT, PokemonType.NORMAL, -1, 10, -1, 4, 2) + new SelfStatusMove(MoveId.PROTECT, PokemonType.NORMAL, -1, 10, -1, 4, 2) .attr(ProtectAttr) .condition(failIfLastCondition), - new AttackMove(Moves.MACH_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 2) + new AttackMove(MoveId.MACH_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 2) .punchingMove(), - new StatusMove(Moves.SCARY_FACE, PokemonType.NORMAL, 100, 10, -1, 0, 2) + new StatusMove(MoveId.SCARY_FACE, PokemonType.NORMAL, 100, 10, -1, 0, 2) .attr(StatStageChangeAttr, [ Stat.SPD ], -2) .reflectable(), - new AttackMove(Moves.FEINT_ATTACK, PokemonType.DARK, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 2), - new StatusMove(Moves.SWEET_KISS, PokemonType.FAIRY, 75, 10, -1, 0, 2) + new AttackMove(MoveId.FEINT_ATTACK, PokemonType.DARK, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 2), + new StatusMove(MoveId.SWEET_KISS, PokemonType.FAIRY, 75, 10, -1, 0, 2) .attr(ConfuseAttr) .reflectable(), - new SelfStatusMove(Moves.BELLY_DRUM, PokemonType.NORMAL, -1, 10, -1, 0, 2) + new SelfStatusMove(MoveId.BELLY_DRUM, PokemonType.NORMAL, -1, 10, -1, 0, 2) .attr(CutHpStatStageBoostAttr, [ Stat.ATK ], 12, 2, (user) => { globalScene.queueMessage(i18next.t("moveTriggers:cutOwnHpAndMaximizedStat", { pokemonName: getPokemonNameWithAffix(user), statName: i18next.t(getStatKey(Stat.ATK)) })); }), - new AttackMove(Moves.SLUDGE_BOMB, PokemonType.POISON, MoveCategory.SPECIAL, 90, 100, 10, 30, 0, 2) + new AttackMove(MoveId.SLUDGE_BOMB, PokemonType.POISON, MoveCategory.SPECIAL, 90, 100, 10, 30, 0, 2) .attr(StatusEffectAttr, StatusEffect.POISON) .ballBombMove(), - new AttackMove(Moves.MUD_SLAP, PokemonType.GROUND, MoveCategory.SPECIAL, 20, 100, 10, 100, 0, 2) + new AttackMove(MoveId.MUD_SLAP, PokemonType.GROUND, MoveCategory.SPECIAL, 20, 100, 10, 100, 0, 2) .attr(StatStageChangeAttr, [ Stat.ACC ], -1), - new AttackMove(Moves.OCTAZOOKA, PokemonType.WATER, MoveCategory.SPECIAL, 65, 85, 10, 50, 0, 2) + new AttackMove(MoveId.OCTAZOOKA, PokemonType.WATER, MoveCategory.SPECIAL, 65, 85, 10, 50, 0, 2) .attr(StatStageChangeAttr, [ Stat.ACC ], -1) .ballBombMove(), - new StatusMove(Moves.SPIKES, PokemonType.GROUND, -1, 20, -1, 0, 2) + new StatusMove(MoveId.SPIKES, PokemonType.GROUND, -1, 20, -1, 0, 2) .attr(AddArenaTrapTagAttr, ArenaTagType.SPIKES) .target(MoveTarget.ENEMY_SIDE) .reflectable(), - new AttackMove(Moves.ZAP_CANNON, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 120, 50, 5, 100, 0, 2) + new AttackMove(MoveId.ZAP_CANNON, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 120, 50, 5, 100, 0, 2) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .ballBombMove(), - new StatusMove(Moves.FORESIGHT, PokemonType.NORMAL, -1, 40, -1, 0, 2) + new StatusMove(MoveId.FORESIGHT, PokemonType.NORMAL, -1, 40, -1, 0, 2) .attr(ExposedMoveAttr, BattlerTagType.IGNORE_GHOST) .ignoresSubstitute() .reflectable(), - new SelfStatusMove(Moves.DESTINY_BOND, PokemonType.GHOST, -1, 5, -1, 0, 2) + new SelfStatusMove(MoveId.DESTINY_BOND, PokemonType.GHOST, -1, 5, -1, 0, 2) .ignoresProtect() .attr(DestinyBondAttr) .condition((user, target, move) => { @@ -8848,120 +8848,120 @@ export function initMoves() { // - the previous move was unsuccessful return lastTurnMove.length === 0 || lastTurnMove[0].move !== move.id || lastTurnMove[0].result !== MoveResult.SUCCESS; }), - new StatusMove(Moves.PERISH_SONG, PokemonType.NORMAL, -1, 5, -1, 0, 2) + new StatusMove(MoveId.PERISH_SONG, PokemonType.NORMAL, -1, 5, -1, 0, 2) .attr(FaintCountdownAttr) .ignoresProtect() .soundBased() .condition(failOnBossCondition) .target(MoveTarget.ALL), - new AttackMove(Moves.ICY_WIND, PokemonType.ICE, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 2) + new AttackMove(MoveId.ICY_WIND, PokemonType.ICE, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 2) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new SelfStatusMove(Moves.DETECT, PokemonType.FIGHTING, -1, 5, -1, 4, 2) + new SelfStatusMove(MoveId.DETECT, PokemonType.FIGHTING, -1, 5, -1, 4, 2) .attr(ProtectAttr) .condition(failIfLastCondition), - new AttackMove(Moves.BONE_RUSH, PokemonType.GROUND, MoveCategory.PHYSICAL, 25, 90, 10, -1, 0, 2) + new AttackMove(MoveId.BONE_RUSH, PokemonType.GROUND, MoveCategory.PHYSICAL, 25, 90, 10, -1, 0, 2) .attr(MultiHitAttr) .makesContact(false), - new StatusMove(Moves.LOCK_ON, PokemonType.NORMAL, -1, 5, -1, 0, 2) + new StatusMove(MoveId.LOCK_ON, PokemonType.NORMAL, -1, 5, -1, 0, 2) .attr(IgnoreAccuracyAttr), - new AttackMove(Moves.OUTRAGE, PokemonType.DRAGON, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 2) + new AttackMove(MoveId.OUTRAGE, PokemonType.DRAGON, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 2) .attr(FrenzyAttr) .attr(MissEffectAttr, frenzyMissFunc) .attr(NoEffectAttr, frenzyMissFunc) .target(MoveTarget.RANDOM_NEAR_ENEMY), - new StatusMove(Moves.SANDSTORM, PokemonType.ROCK, -1, 10, -1, 0, 2) + new StatusMove(MoveId.SANDSTORM, PokemonType.ROCK, -1, 10, -1, 0, 2) .attr(WeatherChangeAttr, WeatherType.SANDSTORM) .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.GIGA_DRAIN, PokemonType.GRASS, MoveCategory.SPECIAL, 75, 100, 10, -1, 0, 2) + new AttackMove(MoveId.GIGA_DRAIN, PokemonType.GRASS, MoveCategory.SPECIAL, 75, 100, 10, -1, 0, 2) .attr(HitHealAttr) .triageMove(), - new SelfStatusMove(Moves.ENDURE, PokemonType.NORMAL, -1, 10, -1, 4, 2) + new SelfStatusMove(MoveId.ENDURE, PokemonType.NORMAL, -1, 10, -1, 4, 2) .attr(ProtectAttr, BattlerTagType.ENDURING) .condition(failIfLastCondition), - new StatusMove(Moves.CHARM, PokemonType.FAIRY, 100, 20, -1, 0, 2) + new StatusMove(MoveId.CHARM, PokemonType.FAIRY, 100, 20, -1, 0, 2) .attr(StatStageChangeAttr, [ Stat.ATK ], -2) .reflectable(), - new AttackMove(Moves.ROLLOUT, PokemonType.ROCK, MoveCategory.PHYSICAL, 30, 90, 20, -1, 0, 2) + new AttackMove(MoveId.ROLLOUT, PokemonType.ROCK, MoveCategory.PHYSICAL, 30, 90, 20, -1, 0, 2) .partial() // Does not lock the user, also does not increase damage properly - .attr(ConsecutiveUseDoublePowerAttr, 5, true, true, Moves.DEFENSE_CURL), - new AttackMove(Moves.FALSE_SWIPE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 2) + .attr(ConsecutiveUseDoublePowerAttr, 5, true, true, MoveId.DEFENSE_CURL), + new AttackMove(MoveId.FALSE_SWIPE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 2) .attr(SurviveDamageAttr), - new StatusMove(Moves.SWAGGER, PokemonType.NORMAL, 85, 15, -1, 0, 2) + new StatusMove(MoveId.SWAGGER, PokemonType.NORMAL, 85, 15, -1, 0, 2) .attr(StatStageChangeAttr, [ Stat.ATK ], 2) .attr(ConfuseAttr) .reflectable(), - new SelfStatusMove(Moves.MILK_DRINK, PokemonType.NORMAL, -1, 5, -1, 0, 2) + new SelfStatusMove(MoveId.MILK_DRINK, PokemonType.NORMAL, -1, 5, -1, 0, 2) .attr(HealAttr, 0.5) .triageMove(), - new AttackMove(Moves.SPARK, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 2) + new AttackMove(MoveId.SPARK, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 2) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.FURY_CUTTER, PokemonType.BUG, MoveCategory.PHYSICAL, 40, 95, 20, -1, 0, 2) + new AttackMove(MoveId.FURY_CUTTER, PokemonType.BUG, MoveCategory.PHYSICAL, 40, 95, 20, -1, 0, 2) .attr(ConsecutiveUseDoublePowerAttr, 3, true) .slicingMove(), - new AttackMove(Moves.STEEL_WING, PokemonType.STEEL, MoveCategory.PHYSICAL, 70, 90, 25, 10, 0, 2) + new AttackMove(MoveId.STEEL_WING, PokemonType.STEEL, MoveCategory.PHYSICAL, 70, 90, 25, 10, 0, 2) .attr(StatStageChangeAttr, [ Stat.DEF ], 1, true), - new StatusMove(Moves.MEAN_LOOK, PokemonType.NORMAL, -1, 5, -1, 0, 2) + new StatusMove(MoveId.MEAN_LOOK, PokemonType.NORMAL, -1, 5, -1, 0, 2) .condition(failIfGhostTypeCondition) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1) .reflectable(), - new StatusMove(Moves.ATTRACT, PokemonType.NORMAL, 100, 15, -1, 0, 2) + new StatusMove(MoveId.ATTRACT, PokemonType.NORMAL, 100, 15, -1, 0, 2) .attr(AddBattlerTagAttr, BattlerTagType.INFATUATED) .ignoresSubstitute() .condition((user, target, move) => user.isOppositeGender(target)) .reflectable(), - new SelfStatusMove(Moves.SLEEP_TALK, PokemonType.NORMAL, -1, 10, -1, 0, 2) + new SelfStatusMove(MoveId.SLEEP_TALK, PokemonType.NORMAL, -1, 10, -1, 0, 2) .attr(BypassSleepAttr) .attr(RandomMovesetMoveAttr, invalidSleepTalkMoves, false) .condition(userSleptOrComatoseCondition) .target(MoveTarget.NEAR_ENEMY), - new StatusMove(Moves.HEAL_BELL, PokemonType.NORMAL, -1, 5, -1, 0, 2) - .attr(PartyStatusCureAttr, i18next.t("moveTriggers:bellChimed"), Abilities.SOUNDPROOF) + new StatusMove(MoveId.HEAL_BELL, PokemonType.NORMAL, -1, 5, -1, 0, 2) + .attr(PartyStatusCureAttr, i18next.t("moveTriggers:bellChimed"), AbilityId.SOUNDPROOF) .soundBased() .target(MoveTarget.PARTY), - new AttackMove(Moves.RETURN, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 2) + new AttackMove(MoveId.RETURN, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 2) .attr(FriendshipPowerAttr), - new AttackMove(Moves.PRESENT, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 90, 15, -1, 0, 2) + new AttackMove(MoveId.PRESENT, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 90, 15, -1, 0, 2) .attr(PresentPowerAttr) .makesContact(false), - new AttackMove(Moves.FRUSTRATION, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 2) + new AttackMove(MoveId.FRUSTRATION, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 2) .attr(FriendshipPowerAttr, true), - new StatusMove(Moves.SAFEGUARD, PokemonType.NORMAL, -1, 25, -1, 0, 2) + new StatusMove(MoveId.SAFEGUARD, PokemonType.NORMAL, -1, 25, -1, 0, 2) .target(MoveTarget.USER_SIDE) .attr(AddArenaTagAttr, ArenaTagType.SAFEGUARD, 5, true, true), - new StatusMove(Moves.PAIN_SPLIT, PokemonType.NORMAL, -1, 20, -1, 0, 2) + new StatusMove(MoveId.PAIN_SPLIT, PokemonType.NORMAL, -1, 20, -1, 0, 2) .attr(HpSplitAttr) .condition(failOnBossCondition), - new AttackMove(Moves.SACRED_FIRE, PokemonType.FIRE, MoveCategory.PHYSICAL, 100, 95, 5, 50, 0, 2) + new AttackMove(MoveId.SACRED_FIRE, PokemonType.FIRE, MoveCategory.PHYSICAL, 100, 95, 5, 50, 0, 2) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN) .makesContact(false), - new AttackMove(Moves.MAGNITUDE, PokemonType.GROUND, MoveCategory.PHYSICAL, -1, 100, 30, -1, 0, 2) + new AttackMove(MoveId.MAGNITUDE, PokemonType.GROUND, MoveCategory.PHYSICAL, -1, 100, 30, -1, 0, 2) .attr(PreMoveMessageAttr, magnitudeMessageFunc) .attr(MagnitudePowerAttr) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.GRASSY && target.isGrounded() ? 0.5 : 1) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.UNDERGROUND) .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.DYNAMIC_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 50, 5, 100, 0, 2) + new AttackMove(MoveId.DYNAMIC_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 50, 5, 100, 0, 2) .attr(ConfuseAttr) .punchingMove(), - new AttackMove(Moves.MEGAHORN, PokemonType.BUG, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 2), - new AttackMove(Moves.DRAGON_BREATH, PokemonType.DRAGON, MoveCategory.SPECIAL, 60, 100, 20, 30, 0, 2) + new AttackMove(MoveId.MEGAHORN, PokemonType.BUG, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 2), + new AttackMove(MoveId.DRAGON_BREATH, PokemonType.DRAGON, MoveCategory.SPECIAL, 60, 100, 20, 30, 0, 2) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new SelfStatusMove(Moves.BATON_PASS, PokemonType.NORMAL, -1, 40, -1, 0, 2) + new SelfStatusMove(MoveId.BATON_PASS, PokemonType.NORMAL, -1, 40, -1, 0, 2) .attr(ForceSwitchOutAttr, true, SwitchType.BATON_PASS) .condition(failIfLastInPartyCondition) .hidesUser(), - new StatusMove(Moves.ENCORE, PokemonType.NORMAL, 100, 5, -1, 0, 2) + new StatusMove(MoveId.ENCORE, PokemonType.NORMAL, 100, 5, -1, 0, 2) .attr(AddBattlerTagAttr, BattlerTagType.ENCORE, false, true) .ignoresSubstitute() .condition((user, target, move) => new EncoreTag(user.id).canAdd(target)) .reflectable(), - new AttackMove(Moves.PURSUIT, PokemonType.DARK, MoveCategory.PHYSICAL, 40, 100, 20, -1, 0, 2) + new AttackMove(MoveId.PURSUIT, PokemonType.DARK, MoveCategory.PHYSICAL, 40, 100, 20, -1, 0, 2) .partial(), // No effect implemented - new AttackMove(Moves.RAPID_SPIN, PokemonType.NORMAL, MoveCategory.PHYSICAL, 50, 100, 40, 100, 0, 2) + new AttackMove(MoveId.RAPID_SPIN, PokemonType.NORMAL, MoveCategory.PHYSICAL, 50, 100, 40, 100, 0, 2) .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true) .attr(RemoveBattlerTagAttr, [ BattlerTagType.BIND, @@ -8977,256 +8977,256 @@ export function initMoves() { BattlerTagType.INFESTATION ], true) .attr(RemoveArenaTrapAttr), - new StatusMove(Moves.SWEET_SCENT, PokemonType.NORMAL, 100, 20, -1, 0, 2) + new StatusMove(MoveId.SWEET_SCENT, PokemonType.NORMAL, 100, 20, -1, 0, 2) .attr(StatStageChangeAttr, [ Stat.EVA ], -2) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.IRON_TAIL, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 75, 15, 30, 0, 2) + new AttackMove(MoveId.IRON_TAIL, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 75, 15, 30, 0, 2) .attr(StatStageChangeAttr, [ Stat.DEF ], -1), - new AttackMove(Moves.METAL_CLAW, PokemonType.STEEL, MoveCategory.PHYSICAL, 50, 95, 35, 10, 0, 2) + new AttackMove(MoveId.METAL_CLAW, PokemonType.STEEL, MoveCategory.PHYSICAL, 50, 95, 35, 10, 0, 2) .attr(StatStageChangeAttr, [ Stat.ATK ], 1, true), - new AttackMove(Moves.VITAL_THROW, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 70, -1, 10, -1, -1, 2), - new SelfStatusMove(Moves.MORNING_SUN, PokemonType.NORMAL, -1, 5, -1, 0, 2) + new AttackMove(MoveId.VITAL_THROW, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 70, -1, 10, -1, -1, 2), + new SelfStatusMove(MoveId.MORNING_SUN, PokemonType.NORMAL, -1, 5, -1, 0, 2) .attr(PlantHealAttr) .triageMove(), - new SelfStatusMove(Moves.SYNTHESIS, PokemonType.GRASS, -1, 5, -1, 0, 2) + new SelfStatusMove(MoveId.SYNTHESIS, PokemonType.GRASS, -1, 5, -1, 0, 2) .attr(PlantHealAttr) .triageMove(), - new SelfStatusMove(Moves.MOONLIGHT, PokemonType.FAIRY, -1, 5, -1, 0, 2) + new SelfStatusMove(MoveId.MOONLIGHT, PokemonType.FAIRY, -1, 5, -1, 0, 2) .attr(PlantHealAttr) .triageMove(), - new AttackMove(Moves.HIDDEN_POWER, PokemonType.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 2) + new AttackMove(MoveId.HIDDEN_POWER, PokemonType.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 2) .attr(HiddenPowerTypeAttr), - new AttackMove(Moves.CROSS_CHOP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 80, 5, -1, 0, 2) + new AttackMove(MoveId.CROSS_CHOP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 80, 5, -1, 0, 2) .attr(HighCritAttr), - new AttackMove(Moves.TWISTER, PokemonType.DRAGON, MoveCategory.SPECIAL, 40, 100, 20, 20, 0, 2) + new AttackMove(MoveId.TWISTER, PokemonType.DRAGON, MoveCategory.SPECIAL, 40, 100, 20, 20, 0, 2) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.FLYING) .attr(FlinchAttr) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new StatusMove(Moves.RAIN_DANCE, PokemonType.WATER, -1, 5, -1, 0, 2) + new StatusMove(MoveId.RAIN_DANCE, PokemonType.WATER, -1, 5, -1, 0, 2) .attr(WeatherChangeAttr, WeatherType.RAIN) .target(MoveTarget.BOTH_SIDES), - new StatusMove(Moves.SUNNY_DAY, PokemonType.FIRE, -1, 5, -1, 0, 2) + new StatusMove(MoveId.SUNNY_DAY, PokemonType.FIRE, -1, 5, -1, 0, 2) .attr(WeatherChangeAttr, WeatherType.SUNNY) .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.CRUNCH, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 15, 20, 0, 2) + new AttackMove(MoveId.CRUNCH, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 15, 20, 0, 2) .attr(StatStageChangeAttr, [ Stat.DEF ], -1) .bitingMove(), - new AttackMove(Moves.MIRROR_COAT, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 20, -1, -5, 2) + new AttackMove(MoveId.MIRROR_COAT, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 20, -1, -5, 2) .attr(CounterDamageAttr, (move: Move) => move.category === MoveCategory.SPECIAL, 2) .target(MoveTarget.ATTACKER), - new StatusMove(Moves.PSYCH_UP, PokemonType.NORMAL, -1, 10, -1, 0, 2) + new StatusMove(MoveId.PSYCH_UP, PokemonType.NORMAL, -1, 10, -1, 0, 2) .ignoresSubstitute() .attr(CopyStatsAttr), - new AttackMove(Moves.EXTREME_SPEED, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 100, 5, -1, 2, 2), - new AttackMove(Moves.ANCIENT_POWER, PokemonType.ROCK, MoveCategory.SPECIAL, 60, 100, 5, 10, 0, 2) + new AttackMove(MoveId.EXTREME_SPEED, PokemonType.NORMAL, MoveCategory.PHYSICAL, 80, 100, 5, -1, 2, 2), + new AttackMove(MoveId.ANCIENT_POWER, PokemonType.ROCK, MoveCategory.SPECIAL, 60, 100, 5, 10, 0, 2) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, true), - new AttackMove(Moves.SHADOW_BALL, PokemonType.GHOST, MoveCategory.SPECIAL, 80, 100, 15, 20, 0, 2) + new AttackMove(MoveId.SHADOW_BALL, PokemonType.GHOST, MoveCategory.SPECIAL, 80, 100, 15, 20, 0, 2) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1) .ballBombMove(), - new AttackMove(Moves.FUTURE_SIGHT, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 2) + new AttackMove(MoveId.FUTURE_SIGHT, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 2) .partial() // cannot be used on multiple Pokemon on the same side in a double battle, hits immediately when called by Metronome/etc, should not apply abilities or held items if user is off the field .ignoresProtect() .attr(DelayedAttackAttr, ArenaTagType.FUTURE_SIGHT, ChargeAnim.FUTURE_SIGHT_CHARGING, i18next.t("moveTriggers:foresawAnAttack", { pokemonName: "{USER}" })), - new AttackMove(Moves.ROCK_SMASH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 15, 50, 0, 2) + new AttackMove(MoveId.ROCK_SMASH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 15, 50, 0, 2) .attr(StatStageChangeAttr, [ Stat.DEF ], -1), - new AttackMove(Moves.WHIRLPOOL, PokemonType.WATER, MoveCategory.SPECIAL, 35, 85, 15, -1, 0, 2) + new AttackMove(MoveId.WHIRLPOOL, PokemonType.WATER, MoveCategory.SPECIAL, 35, 85, 15, -1, 0, 2) .attr(TrapAttr, BattlerTagType.WHIRLPOOL) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.UNDERWATER), - new AttackMove(Moves.BEAT_UP, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 2) + new AttackMove(MoveId.BEAT_UP, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 2) .attr(MultiHitAttr, MultiHitType.BEAT_UP) .attr(BeatUpAttr) .makesContact(false), - new AttackMove(Moves.FAKE_OUT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 10, 100, 3, 3) + new AttackMove(MoveId.FAKE_OUT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 10, 100, 3, 3) .attr(FlinchAttr) .condition(new FirstMoveCondition()), - new AttackMove(Moves.UPROAR, PokemonType.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, -1, 0, 3) + new AttackMove(MoveId.UPROAR, PokemonType.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, -1, 0, 3) .soundBased() .target(MoveTarget.RANDOM_NEAR_ENEMY) .partial(), // Does not lock the user, does not stop Pokemon from sleeping // Likely can make use of FrenzyAttr and an ArenaTag (just without the FrenzyMissFunc) - new SelfStatusMove(Moves.STOCKPILE, PokemonType.NORMAL, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.STOCKPILE, PokemonType.NORMAL, -1, 20, -1, 0, 3) .condition(user => (user.getTag(StockpilingTag)?.stockpiledCount ?? 0) < 3) .attr(AddBattlerTagAttr, BattlerTagType.STOCKPILING, true), - new AttackMove(Moves.SPIT_UP, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, -1, 10, -1, 0, 3) + new AttackMove(MoveId.SPIT_UP, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, -1, 10, -1, 0, 3) .condition(hasStockpileStacksCondition) .attr(SpitUpPowerAttr, 100) .attr(RemoveBattlerTagAttr, [ BattlerTagType.STOCKPILING ], true), - new SelfStatusMove(Moves.SWALLOW, PokemonType.NORMAL, -1, 10, -1, 0, 3) + new SelfStatusMove(MoveId.SWALLOW, PokemonType.NORMAL, -1, 10, -1, 0, 3) .condition(hasStockpileStacksCondition) .attr(SwallowHealAttr) .attr(RemoveBattlerTagAttr, [ BattlerTagType.STOCKPILING ], true) .triageMove(), - new AttackMove(Moves.HEAT_WAVE, PokemonType.FIRE, MoveCategory.SPECIAL, 95, 90, 10, 10, 0, 3) + new AttackMove(MoveId.HEAT_WAVE, PokemonType.FIRE, MoveCategory.SPECIAL, 95, 90, 10, 10, 0, 3) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new StatusMove(Moves.HAIL, PokemonType.ICE, -1, 10, -1, 0, 3) + new StatusMove(MoveId.HAIL, PokemonType.ICE, -1, 10, -1, 0, 3) .attr(WeatherChangeAttr, WeatherType.HAIL) .target(MoveTarget.BOTH_SIDES), - new StatusMove(Moves.TORMENT, PokemonType.DARK, 100, 15, -1, 0, 3) + new StatusMove(MoveId.TORMENT, PokemonType.DARK, 100, 15, -1, 0, 3) .ignoresSubstitute() .edgeCase() // Incomplete implementation because of Uproar's partial implementation .attr(AddBattlerTagAttr, BattlerTagType.TORMENT, false, true, 1) .reflectable(), - new StatusMove(Moves.FLATTER, PokemonType.DARK, 100, 15, -1, 0, 3) + new StatusMove(MoveId.FLATTER, PokemonType.DARK, 100, 15, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPATK ], 1) .attr(ConfuseAttr) .reflectable(), - new StatusMove(Moves.WILL_O_WISP, PokemonType.FIRE, 85, 15, -1, 0, 3) + new StatusMove(MoveId.WILL_O_WISP, PokemonType.FIRE, 85, 15, -1, 0, 3) .attr(StatusEffectAttr, StatusEffect.BURN) .reflectable(), - new StatusMove(Moves.MEMENTO, PokemonType.DARK, 100, 10, -1, 0, 3) + new StatusMove(MoveId.MEMENTO, PokemonType.DARK, 100, 10, -1, 0, 3) .attr(SacrificialAttrOnHit) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], -2), - new AttackMove(Moves.FACADE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 3) + new AttackMove(MoveId.FACADE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 3) .attr(MovePowerMultiplierAttr, (user, target, move) => user.status && (user.status.effect === StatusEffect.BURN || user.status.effect === StatusEffect.POISON || user.status.effect === StatusEffect.TOXIC || user.status.effect === StatusEffect.PARALYSIS) ? 2 : 1) .attr(BypassBurnDamageReductionAttr), - new AttackMove(Moves.FOCUS_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 20, -1, -3, 3) + new AttackMove(MoveId.FOCUS_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 20, -1, -3, 3) .attr(MessageHeaderAttr, (user, move) => i18next.t("moveTriggers:isTighteningFocus", { pokemonName: getPokemonNameWithAffix(user) })) .attr(PreUseInterruptAttr, (user, target, move) => i18next.t("moveTriggers:lostFocus", { pokemonName: getPokemonNameWithAffix(user) }), user => !!user.turnData.attacksReceived.find(r => r.damage)) .punchingMove(), - new AttackMove(Moves.SMELLING_SALTS, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 3) + new AttackMove(MoveId.SMELLING_SALTS, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 3) .attr(MovePowerMultiplierAttr, (user, target, move) => target.status?.effect === StatusEffect.PARALYSIS ? 2 : 1) .attr(HealStatusEffectAttr, true, StatusEffect.PARALYSIS), - new SelfStatusMove(Moves.FOLLOW_ME, PokemonType.NORMAL, -1, 20, -1, 2, 3) + new SelfStatusMove(MoveId.FOLLOW_ME, PokemonType.NORMAL, -1, 20, -1, 2, 3) .attr(AddBattlerTagAttr, BattlerTagType.CENTER_OF_ATTENTION, true), - new StatusMove(Moves.NATURE_POWER, PokemonType.NORMAL, -1, 20, -1, 0, 3) + new StatusMove(MoveId.NATURE_POWER, PokemonType.NORMAL, -1, 20, -1, 0, 3) .attr(NaturePowerAttr), - new SelfStatusMove(Moves.CHARGE, PokemonType.ELECTRIC, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.CHARGE, PokemonType.ELECTRIC, -1, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPDEF ], 1, true) .attr(AddBattlerTagAttr, BattlerTagType.CHARGED, true, false), - new StatusMove(Moves.TAUNT, PokemonType.DARK, 100, 20, -1, 0, 3) + new StatusMove(MoveId.TAUNT, PokemonType.DARK, 100, 20, -1, 0, 3) .ignoresSubstitute() .attr(AddBattlerTagAttr, BattlerTagType.TAUNT, false, true, 4) .reflectable(), - new StatusMove(Moves.HELPING_HAND, PokemonType.NORMAL, -1, 20, -1, 5, 3) + new StatusMove(MoveId.HELPING_HAND, PokemonType.NORMAL, -1, 20, -1, 5, 3) .attr(AddBattlerTagAttr, BattlerTagType.HELPING_HAND) .ignoresSubstitute() .target(MoveTarget.NEAR_ALLY) .condition(failIfSingleBattle), - new StatusMove(Moves.TRICK, PokemonType.PSYCHIC, 100, 10, -1, 0, 3) + new StatusMove(MoveId.TRICK, PokemonType.PSYCHIC, 100, 10, -1, 0, 3) .unimplemented(), - new StatusMove(Moves.ROLE_PLAY, PokemonType.PSYCHIC, -1, 10, -1, 0, 3) + new StatusMove(MoveId.ROLE_PLAY, PokemonType.PSYCHIC, -1, 10, -1, 0, 3) .ignoresSubstitute() .attr(AbilityCopyAttr), - new SelfStatusMove(Moves.WISH, PokemonType.NORMAL, -1, 10, -1, 0, 3) + new SelfStatusMove(MoveId.WISH, PokemonType.NORMAL, -1, 10, -1, 0, 3) .triageMove() .attr(AddArenaTagAttr, ArenaTagType.WISH, 2, true), - new SelfStatusMove(Moves.ASSIST, PokemonType.NORMAL, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.ASSIST, PokemonType.NORMAL, -1, 20, -1, 0, 3) .attr(RandomMovesetMoveAttr, invalidAssistMoves, true), - new SelfStatusMove(Moves.INGRAIN, PokemonType.GRASS, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.INGRAIN, PokemonType.GRASS, -1, 20, -1, 0, 3) .attr(AddBattlerTagAttr, BattlerTagType.INGRAIN, true, true) .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, true, true) .attr(RemoveBattlerTagAttr, [ BattlerTagType.FLOATING ], true), - new AttackMove(Moves.SUPERPOWER, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 3) + new AttackMove(MoveId.SUPERPOWER, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF ], -1, true), - new SelfStatusMove(Moves.MAGIC_COAT, PokemonType.PSYCHIC, -1, 15, -1, 4, 3) + new SelfStatusMove(MoveId.MAGIC_COAT, PokemonType.PSYCHIC, -1, 15, -1, 4, 3) .attr(AddBattlerTagAttr, BattlerTagType.MAGIC_COAT, true, true, 0) .condition(failIfLastCondition) // Interactions with stomping tantrum, instruct, and other moves that // rely on move history // Also will not reflect roar / whirlwind if the target has ForceSwitchOutImmunityAbAttr .edgeCase(), - new SelfStatusMove(Moves.RECYCLE, PokemonType.NORMAL, -1, 10, -1, 0, 3) + new SelfStatusMove(MoveId.RECYCLE, PokemonType.NORMAL, -1, 10, -1, 0, 3) .unimplemented(), - new AttackMove(Moves.REVENGE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, -1, -4, 3) + new AttackMove(MoveId.REVENGE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, -1, -4, 3) .attr(TurnDamagedDoublePowerAttr), - new AttackMove(Moves.BRICK_BREAK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 15, -1, 0, 3) + new AttackMove(MoveId.BRICK_BREAK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 15, -1, 0, 3) .attr(RemoveScreensAttr), - new StatusMove(Moves.YAWN, PokemonType.NORMAL, -1, 10, -1, 0, 3) + new StatusMove(MoveId.YAWN, PokemonType.NORMAL, -1, 10, -1, 0, 3) .attr(AddBattlerTagAttr, BattlerTagType.DROWSY, false, true) .condition((user, target, move) => !target.status && !target.isSafeguarded(user)) .reflectable(), - new AttackMove(Moves.KNOCK_OFF, PokemonType.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3) + new AttackMove(MoveId.KNOCK_OFF, PokemonType.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getHeldItems().filter(i => i.isTransferable).length > 0 ? 1.5 : 1) .attr(RemoveHeldItemAttr, false) .edgeCase(), // Should not be able to remove held item if user faints due to Rough Skin, Iron Barbs, etc. // Should be able to remove items from pokemon with Sticky Hold if the damage causes them to faint - new AttackMove(Moves.ENDEAVOR, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 3) + new AttackMove(MoveId.ENDEAVOR, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 3) .attr(MatchHpAttr) .condition(failOnBossCondition), - new AttackMove(Moves.ERUPTION, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 3) + new AttackMove(MoveId.ERUPTION, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 3) .attr(HpPowerAttr) .target(MoveTarget.ALL_NEAR_ENEMIES), - new StatusMove(Moves.SKILL_SWAP, PokemonType.PSYCHIC, -1, 10, -1, 0, 3) + new StatusMove(MoveId.SKILL_SWAP, PokemonType.PSYCHIC, -1, 10, -1, 0, 3) .ignoresSubstitute() .attr(SwitchAbilitiesAttr), - new StatusMove(Moves.IMPRISON, PokemonType.PSYCHIC, 100, 10, -1, 0, 3) + new StatusMove(MoveId.IMPRISON, PokemonType.PSYCHIC, 100, 10, -1, 0, 3) .ignoresSubstitute() .attr(AddArenaTagAttr, ArenaTagType.IMPRISON, 1, true, false) .target(MoveTarget.ENEMY_SIDE), - new SelfStatusMove(Moves.REFRESH, PokemonType.NORMAL, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.REFRESH, PokemonType.NORMAL, -1, 20, -1, 0, 3) .attr(HealStatusEffectAttr, true, [ StatusEffect.PARALYSIS, StatusEffect.POISON, StatusEffect.TOXIC, StatusEffect.BURN ]) .condition((user, target, move) => !!user.status && (user.status.effect === StatusEffect.PARALYSIS || user.status.effect === StatusEffect.POISON || user.status.effect === StatusEffect.TOXIC || user.status.effect === StatusEffect.BURN)), - new SelfStatusMove(Moves.GRUDGE, PokemonType.GHOST, -1, 5, -1, 0, 3) + new SelfStatusMove(MoveId.GRUDGE, PokemonType.GHOST, -1, 5, -1, 0, 3) .attr(AddBattlerTagAttr, BattlerTagType.GRUDGE, true, undefined, 1), - new SelfStatusMove(Moves.SNATCH, PokemonType.DARK, -1, 10, -1, 4, 3) + new SelfStatusMove(MoveId.SNATCH, PokemonType.DARK, -1, 10, -1, 4, 3) .unimplemented(), - new AttackMove(Moves.SECRET_POWER, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, 30, 0, 3) + new AttackMove(MoveId.SECRET_POWER, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, 30, 0, 3) .makesContact(false) .attr(SecretPowerAttr), - new ChargingAttackMove(Moves.DIVE, PokemonType.WATER, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 3) + new ChargingAttackMove(MoveId.DIVE, PokemonType.WATER, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 3) .chargeText(i18next.t("moveTriggers:hidUnderwater", { pokemonName: "{USER}" })) .chargeAttr(SemiInvulnerableAttr, BattlerTagType.UNDERWATER) .chargeAttr(GulpMissileTagAttr), - new AttackMove(Moves.ARM_THRUST, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 15, 100, 20, -1, 0, 3) + new AttackMove(MoveId.ARM_THRUST, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 15, 100, 20, -1, 0, 3) .attr(MultiHitAttr), - new SelfStatusMove(Moves.CAMOUFLAGE, PokemonType.NORMAL, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.CAMOUFLAGE, PokemonType.NORMAL, -1, 20, -1, 0, 3) .attr(CopyBiomeTypeAttr), - new SelfStatusMove(Moves.TAIL_GLOW, PokemonType.BUG, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.TAIL_GLOW, PokemonType.BUG, -1, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPATK ], 3, true), - new AttackMove(Moves.LUSTER_PURGE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 95, 100, 5, 50, 0, 3) + new AttackMove(MoveId.LUSTER_PURGE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 95, 100, 5, 50, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1), - new AttackMove(Moves.MIST_BALL, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 95, 100, 5, 50, 0, 3) + new AttackMove(MoveId.MIST_BALL, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 95, 100, 5, 50, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1) .ballBombMove(), - new StatusMove(Moves.FEATHER_DANCE, PokemonType.FLYING, 100, 15, -1, 0, 3) + new StatusMove(MoveId.FEATHER_DANCE, PokemonType.FLYING, 100, 15, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK ], -2) .danceMove() .reflectable(), - new StatusMove(Moves.TEETER_DANCE, PokemonType.NORMAL, 100, 20, -1, 0, 3) + new StatusMove(MoveId.TEETER_DANCE, PokemonType.NORMAL, 100, 20, -1, 0, 3) .attr(ConfuseAttr) .danceMove() .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.BLAZE_KICK, PokemonType.FIRE, MoveCategory.PHYSICAL, 85, 90, 10, 10, 0, 3) + new AttackMove(MoveId.BLAZE_KICK, PokemonType.FIRE, MoveCategory.PHYSICAL, 85, 90, 10, 10, 0, 3) .attr(HighCritAttr) .attr(StatusEffectAttr, StatusEffect.BURN), - new StatusMove(Moves.MUD_SPORT, PokemonType.GROUND, -1, 15, -1, 0, 3) + new StatusMove(MoveId.MUD_SPORT, PokemonType.GROUND, -1, 15, -1, 0, 3) .ignoresProtect() .attr(AddArenaTagAttr, ArenaTagType.MUD_SPORT, 5) .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.ICE_BALL, PokemonType.ICE, MoveCategory.PHYSICAL, 30, 90, 20, -1, 0, 3) + new AttackMove(MoveId.ICE_BALL, PokemonType.ICE, MoveCategory.PHYSICAL, 30, 90, 20, -1, 0, 3) .partial() // Does not lock the user properly, does not increase damage correctly - .attr(ConsecutiveUseDoublePowerAttr, 5, true, true, Moves.DEFENSE_CURL) + .attr(ConsecutiveUseDoublePowerAttr, 5, true, true, MoveId.DEFENSE_CURL) .ballBombMove(), - new AttackMove(Moves.NEEDLE_ARM, PokemonType.GRASS, MoveCategory.PHYSICAL, 60, 100, 15, 30, 0, 3) + new AttackMove(MoveId.NEEDLE_ARM, PokemonType.GRASS, MoveCategory.PHYSICAL, 60, 100, 15, 30, 0, 3) .attr(FlinchAttr), - new SelfStatusMove(Moves.SLACK_OFF, PokemonType.NORMAL, -1, 5, -1, 0, 3) + new SelfStatusMove(MoveId.SLACK_OFF, PokemonType.NORMAL, -1, 5, -1, 0, 3) .attr(HealAttr, 0.5) .triageMove(), - new AttackMove(Moves.HYPER_VOICE, PokemonType.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, -1, 0, 3) + new AttackMove(MoveId.HYPER_VOICE, PokemonType.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, -1, 0, 3) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.POISON_FANG, PokemonType.POISON, MoveCategory.PHYSICAL, 50, 100, 15, 50, 0, 3) + new AttackMove(MoveId.POISON_FANG, PokemonType.POISON, MoveCategory.PHYSICAL, 50, 100, 15, 50, 0, 3) .attr(StatusEffectAttr, StatusEffect.TOXIC) .bitingMove(), - new AttackMove(Moves.CRUSH_CLAW, PokemonType.NORMAL, MoveCategory.PHYSICAL, 75, 95, 10, 50, 0, 3) + new AttackMove(MoveId.CRUSH_CLAW, PokemonType.NORMAL, MoveCategory.PHYSICAL, 75, 95, 10, 50, 0, 3) .attr(StatStageChangeAttr, [ Stat.DEF ], -1), - new AttackMove(Moves.BLAST_BURN, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 3) + new AttackMove(MoveId.BLAST_BURN, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 3) .attr(RechargeAttr), - new AttackMove(Moves.HYDRO_CANNON, PokemonType.WATER, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 3) + new AttackMove(MoveId.HYDRO_CANNON, PokemonType.WATER, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 3) .attr(RechargeAttr), - new AttackMove(Moves.METEOR_MASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 90, 90, 10, 20, 0, 3) + new AttackMove(MoveId.METEOR_MASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 90, 90, 10, 20, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK ], 1, true) .punchingMove(), - new AttackMove(Moves.ASTONISH, PokemonType.GHOST, MoveCategory.PHYSICAL, 30, 100, 15, 30, 0, 3) + new AttackMove(MoveId.ASTONISH, PokemonType.GHOST, MoveCategory.PHYSICAL, 30, 100, 15, 30, 0, 3) .attr(FlinchAttr), - new AttackMove(Moves.WEATHER_BALL, PokemonType.NORMAL, MoveCategory.SPECIAL, 50, 100, 10, -1, 0, 3) + new AttackMove(MoveId.WEATHER_BALL, PokemonType.NORMAL, MoveCategory.SPECIAL, 50, 100, 10, -1, 0, 3) .attr(WeatherBallTypeAttr) .attr(MovePowerMultiplierAttr, (user, target, move) => { const weather = globalScene.arena.weather; @@ -9240,163 +9240,163 @@ export function initMoves() { return 1; }) .ballBombMove(), - new StatusMove(Moves.AROMATHERAPY, PokemonType.GRASS, -1, 5, -1, 0, 3) - .attr(PartyStatusCureAttr, i18next.t("moveTriggers:soothingAromaWaftedThroughArea"), Abilities.SAP_SIPPER) + new StatusMove(MoveId.AROMATHERAPY, PokemonType.GRASS, -1, 5, -1, 0, 3) + .attr(PartyStatusCureAttr, i18next.t("moveTriggers:soothingAromaWaftedThroughArea"), AbilityId.SAP_SIPPER) .target(MoveTarget.PARTY), - new StatusMove(Moves.FAKE_TEARS, PokemonType.DARK, 100, 20, -1, 0, 3) + new StatusMove(MoveId.FAKE_TEARS, PokemonType.DARK, 100, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2) .reflectable(), - new AttackMove(Moves.AIR_CUTTER, PokemonType.FLYING, MoveCategory.SPECIAL, 60, 95, 25, -1, 0, 3) + new AttackMove(MoveId.AIR_CUTTER, PokemonType.FLYING, MoveCategory.SPECIAL, 60, 95, 25, -1, 0, 3) .attr(HighCritAttr) .slicingMove() .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.OVERHEAT, PokemonType.FIRE, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 3) + new AttackMove(MoveId.OVERHEAT, PokemonType.FIRE, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPATK ], -2, true) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE), - new StatusMove(Moves.ODOR_SLEUTH, PokemonType.NORMAL, -1, 40, -1, 0, 3) + new StatusMove(MoveId.ODOR_SLEUTH, PokemonType.NORMAL, -1, 40, -1, 0, 3) .attr(ExposedMoveAttr, BattlerTagType.IGNORE_GHOST) .ignoresSubstitute() .reflectable(), - new AttackMove(Moves.ROCK_TOMB, PokemonType.ROCK, MoveCategory.PHYSICAL, 60, 95, 15, 100, 0, 3) + new AttackMove(MoveId.ROCK_TOMB, PokemonType.ROCK, MoveCategory.PHYSICAL, 60, 95, 15, 100, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .makesContact(false), - new AttackMove(Moves.SILVER_WIND, PokemonType.BUG, MoveCategory.SPECIAL, 60, 100, 5, 10, 0, 3) + new AttackMove(MoveId.SILVER_WIND, PokemonType.BUG, MoveCategory.SPECIAL, 60, 100, 5, 10, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, true) .windMove(), - new StatusMove(Moves.METAL_SOUND, PokemonType.STEEL, 85, 40, -1, 0, 3) + new StatusMove(MoveId.METAL_SOUND, PokemonType.STEEL, 85, 40, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2) .soundBased() .reflectable(), - new StatusMove(Moves.GRASS_WHISTLE, PokemonType.GRASS, 55, 15, -1, 0, 3) + new StatusMove(MoveId.GRASS_WHISTLE, PokemonType.GRASS, 55, 15, -1, 0, 3) .attr(StatusEffectAttr, StatusEffect.SLEEP) .soundBased() .reflectable(), - new StatusMove(Moves.TICKLE, PokemonType.NORMAL, 100, 20, -1, 0, 3) + new StatusMove(MoveId.TICKLE, PokemonType.NORMAL, 100, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF ], -1) .reflectable(), - new SelfStatusMove(Moves.COSMIC_POWER, PokemonType.PSYCHIC, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.COSMIC_POWER, PokemonType.PSYCHIC, -1, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], 1, true), - new AttackMove(Moves.WATER_SPOUT, PokemonType.WATER, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 3) + new AttackMove(MoveId.WATER_SPOUT, PokemonType.WATER, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 3) .attr(HpPowerAttr) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.SIGNAL_BEAM, PokemonType.BUG, MoveCategory.SPECIAL, 75, 100, 15, 10, 0, 3) + new AttackMove(MoveId.SIGNAL_BEAM, PokemonType.BUG, MoveCategory.SPECIAL, 75, 100, 15, 10, 0, 3) .attr(ConfuseAttr), - new AttackMove(Moves.SHADOW_PUNCH, PokemonType.GHOST, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 3) + new AttackMove(MoveId.SHADOW_PUNCH, PokemonType.GHOST, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 3) .punchingMove(), - new AttackMove(Moves.EXTRASENSORY, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 20, 10, 0, 3) + new AttackMove(MoveId.EXTRASENSORY, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 20, 10, 0, 3) .attr(FlinchAttr), - new AttackMove(Moves.SKY_UPPERCUT, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 85, 90, 15, -1, 0, 3) + new AttackMove(MoveId.SKY_UPPERCUT, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 85, 90, 15, -1, 0, 3) .attr(HitsTagAttr, BattlerTagType.FLYING) .punchingMove(), - new AttackMove(Moves.SAND_TOMB, PokemonType.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 3) + new AttackMove(MoveId.SAND_TOMB, PokemonType.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 3) .attr(TrapAttr, BattlerTagType.SAND_TOMB) .makesContact(false), - new AttackMove(Moves.SHEER_COLD, PokemonType.ICE, MoveCategory.SPECIAL, 200, 20, 5, -1, 0, 3) + new AttackMove(MoveId.SHEER_COLD, PokemonType.ICE, MoveCategory.SPECIAL, 200, 20, 5, -1, 0, 3) .attr(IceNoEffectTypeAttr) .attr(OneHitKOAttr) .attr(SheerColdAccuracyAttr), - new AttackMove(Moves.MUDDY_WATER, PokemonType.WATER, MoveCategory.SPECIAL, 90, 85, 10, 30, 0, 3) + new AttackMove(MoveId.MUDDY_WATER, PokemonType.WATER, MoveCategory.SPECIAL, 90, 85, 10, 30, 0, 3) .attr(StatStageChangeAttr, [ Stat.ACC ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.BULLET_SEED, PokemonType.GRASS, MoveCategory.PHYSICAL, 25, 100, 30, -1, 0, 3) + new AttackMove(MoveId.BULLET_SEED, PokemonType.GRASS, MoveCategory.PHYSICAL, 25, 100, 30, -1, 0, 3) .attr(MultiHitAttr) .makesContact(false) .ballBombMove(), - new AttackMove(Moves.AERIAL_ACE, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 3) + new AttackMove(MoveId.AERIAL_ACE, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 3) .slicingMove(), - new AttackMove(Moves.ICICLE_SPEAR, PokemonType.ICE, MoveCategory.PHYSICAL, 25, 100, 30, -1, 0, 3) + new AttackMove(MoveId.ICICLE_SPEAR, PokemonType.ICE, MoveCategory.PHYSICAL, 25, 100, 30, -1, 0, 3) .attr(MultiHitAttr) .makesContact(false), - new SelfStatusMove(Moves.IRON_DEFENSE, PokemonType.STEEL, -1, 15, -1, 0, 3) + new SelfStatusMove(MoveId.IRON_DEFENSE, PokemonType.STEEL, -1, 15, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true), - new StatusMove(Moves.BLOCK, PokemonType.NORMAL, -1, 5, -1, 0, 3) + new StatusMove(MoveId.BLOCK, PokemonType.NORMAL, -1, 5, -1, 0, 3) .condition(failIfGhostTypeCondition) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1) .reflectable(), - new StatusMove(Moves.HOWL, PokemonType.NORMAL, -1, 40, -1, 0, 3) + new StatusMove(MoveId.HOWL, PokemonType.NORMAL, -1, 40, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK ], 1) .soundBased() .target(MoveTarget.USER_AND_ALLIES), - new AttackMove(Moves.DRAGON_CLAW, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 3), - new AttackMove(Moves.FRENZY_PLANT, PokemonType.GRASS, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 3) + new AttackMove(MoveId.DRAGON_CLAW, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 3), + new AttackMove(MoveId.FRENZY_PLANT, PokemonType.GRASS, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 3) .attr(RechargeAttr), - new SelfStatusMove(Moves.BULK_UP, PokemonType.FIGHTING, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.BULK_UP, PokemonType.FIGHTING, -1, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF ], 1, true), - new ChargingAttackMove(Moves.BOUNCE, PokemonType.FLYING, MoveCategory.PHYSICAL, 85, 85, 5, 30, 0, 3) + new ChargingAttackMove(MoveId.BOUNCE, PokemonType.FLYING, MoveCategory.PHYSICAL, 85, 85, 5, 30, 0, 3) .chargeText(i18next.t("moveTriggers:sprangUp", { pokemonName: "{USER}" })) .chargeAttr(SemiInvulnerableAttr, BattlerTagType.FLYING) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .condition(failOnGravityCondition), - new AttackMove(Moves.MUD_SHOT, PokemonType.GROUND, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 3) + new AttackMove(MoveId.MUD_SHOT, PokemonType.GROUND, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPD ], -1), - new AttackMove(Moves.POISON_TAIL, PokemonType.POISON, MoveCategory.PHYSICAL, 50, 100, 25, 10, 0, 3) + new AttackMove(MoveId.POISON_TAIL, PokemonType.POISON, MoveCategory.PHYSICAL, 50, 100, 25, 10, 0, 3) .attr(HighCritAttr) .attr(StatusEffectAttr, StatusEffect.POISON), - new AttackMove(Moves.COVET, PokemonType.NORMAL, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 3) + new AttackMove(MoveId.COVET, PokemonType.NORMAL, MoveCategory.PHYSICAL, 60, 100, 25, -1, 0, 3) .attr(StealHeldItemChanceAttr, 0.3) .edgeCase(), // Should not be able to steal held item if user faints due to Rough Skin, Iron Barbs, etc. // Should be able to steal items from pokemon with Sticky Hold if the damage causes them to faint - new AttackMove(Moves.VOLT_TACKLE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 3) + new AttackMove(MoveId.VOLT_TACKLE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 3) .attr(RecoilAttr, false, 0.33) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .recklessMove(), - new AttackMove(Moves.MAGICAL_LEAF, PokemonType.GRASS, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 3), - new StatusMove(Moves.WATER_SPORT, PokemonType.WATER, -1, 15, -1, 0, 3) + new AttackMove(MoveId.MAGICAL_LEAF, PokemonType.GRASS, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 3), + new StatusMove(MoveId.WATER_SPORT, PokemonType.WATER, -1, 15, -1, 0, 3) .ignoresProtect() .attr(AddArenaTagAttr, ArenaTagType.WATER_SPORT, 5) .target(MoveTarget.BOTH_SIDES), - new SelfStatusMove(Moves.CALM_MIND, PokemonType.PSYCHIC, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.CALM_MIND, PokemonType.PSYCHIC, -1, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPATK, Stat.SPDEF ], 1, true), - new AttackMove(Moves.LEAF_BLADE, PokemonType.GRASS, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 3) + new AttackMove(MoveId.LEAF_BLADE, PokemonType.GRASS, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 3) .attr(HighCritAttr) .slicingMove(), - new SelfStatusMove(Moves.DRAGON_DANCE, PokemonType.DRAGON, -1, 20, -1, 0, 3) + new SelfStatusMove(MoveId.DRAGON_DANCE, PokemonType.DRAGON, -1, 20, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPD ], 1, true) .danceMove(), - new AttackMove(Moves.ROCK_BLAST, PokemonType.ROCK, MoveCategory.PHYSICAL, 25, 90, 10, -1, 0, 3) + new AttackMove(MoveId.ROCK_BLAST, PokemonType.ROCK, MoveCategory.PHYSICAL, 25, 90, 10, -1, 0, 3) .attr(MultiHitAttr) .makesContact(false) .ballBombMove(), - new AttackMove(Moves.SHOCK_WAVE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 3), - new AttackMove(Moves.WATER_PULSE, PokemonType.WATER, MoveCategory.SPECIAL, 60, 100, 20, 20, 0, 3) + new AttackMove(MoveId.SHOCK_WAVE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 3), + new AttackMove(MoveId.WATER_PULSE, PokemonType.WATER, MoveCategory.SPECIAL, 60, 100, 20, 20, 0, 3) .attr(ConfuseAttr) .pulseMove(), - new AttackMove(Moves.DOOM_DESIRE, PokemonType.STEEL, MoveCategory.SPECIAL, 140, 100, 5, -1, 0, 3) + new AttackMove(MoveId.DOOM_DESIRE, PokemonType.STEEL, MoveCategory.SPECIAL, 140, 100, 5, -1, 0, 3) .partial() // cannot be used on multiple Pokemon on the same side in a double battle, hits immediately when called by Metronome/etc, should not apply abilities or held items if user is off the field .ignoresProtect() .attr(DelayedAttackAttr, ArenaTagType.DOOM_DESIRE, ChargeAnim.DOOM_DESIRE_CHARGING, i18next.t("moveTriggers:choseDoomDesireAsDestiny", { pokemonName: "{USER}" })), - new AttackMove(Moves.PSYCHO_BOOST, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 140, 90, 5, -1, 0, 3) + new AttackMove(MoveId.PSYCHO_BOOST, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 140, 90, 5, -1, 0, 3) .attr(StatStageChangeAttr, [ Stat.SPATK ], -2, true), - new SelfStatusMove(Moves.ROOST, PokemonType.FLYING, -1, 5, -1, 0, 4) + new SelfStatusMove(MoveId.ROOST, PokemonType.FLYING, -1, 5, -1, 0, 4) .attr(HealAttr, 0.5) .attr(AddBattlerTagAttr, BattlerTagType.ROOSTED, true, false) .triageMove(), - new StatusMove(Moves.GRAVITY, PokemonType.PSYCHIC, -1, 5, -1, 0, 4) + new StatusMove(MoveId.GRAVITY, PokemonType.PSYCHIC, -1, 5, -1, 0, 4) .ignoresProtect() .attr(AddArenaTagAttr, ArenaTagType.GRAVITY, 5) .target(MoveTarget.BOTH_SIDES), - new StatusMove(Moves.MIRACLE_EYE, PokemonType.PSYCHIC, -1, 40, -1, 0, 4) + new StatusMove(MoveId.MIRACLE_EYE, PokemonType.PSYCHIC, -1, 40, -1, 0, 4) .attr(ExposedMoveAttr, BattlerTagType.IGNORE_DARK) .ignoresSubstitute() .reflectable(), - new AttackMove(Moves.WAKE_UP_SLAP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 4) + new AttackMove(MoveId.WAKE_UP_SLAP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 4) .attr(MovePowerMultiplierAttr, (user, target, move) => targetSleptOrComatoseCondition(user, target, move) ? 2 : 1) .attr(HealStatusEffectAttr, false, StatusEffect.SLEEP), - new AttackMove(Moves.HAMMER_ARM, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 4) + new AttackMove(MoveId.HAMMER_ARM, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPD ], -1, true) .punchingMove(), - new AttackMove(Moves.GYRO_BALL, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4) + new AttackMove(MoveId.GYRO_BALL, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4) .attr(GyroBallPowerAttr) .ballBombMove(), - new SelfStatusMove(Moves.HEALING_WISH, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) + new SelfStatusMove(MoveId.HEALING_WISH, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) .attr(SacrificialFullRestoreAttr, false, "moveTriggers:sacrificialFullRestore") .triageMove() .condition(failIfLastInPartyCondition), - new AttackMove(Moves.BRINE, PokemonType.WATER, MoveCategory.SPECIAL, 65, 100, 10, -1, 0, 4) + new AttackMove(MoveId.BRINE, PokemonType.WATER, MoveCategory.SPECIAL, 65, 100, 10, -1, 0, 4) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getHpRatio() < 0.5 ? 2 : 1), - new AttackMove(Moves.NATURAL_GIFT, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 4) + new AttackMove(MoveId.NATURAL_GIFT, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 4) .makesContact(false) .unimplemented(), /* @@ -9404,89 +9404,89 @@ export function initMoves() { and enable the harvest test.. Do NOT push to berriesEatenLast or else cud chew will puke the berry. */ - new AttackMove(Moves.FEINT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 30, 100, 10, -1, 2, 4) + new AttackMove(MoveId.FEINT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 30, 100, 10, -1, 2, 4) .attr(RemoveBattlerTagAttr, [ BattlerTagType.PROTECTED ]) .attr(RemoveArenaTagsAttr, [ ArenaTagType.QUICK_GUARD, ArenaTagType.WIDE_GUARD, ArenaTagType.MAT_BLOCK, ArenaTagType.CRAFTY_SHIELD ], false) .makesContact(false) .ignoresProtect(), - new AttackMove(Moves.PLUCK, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 4) + new AttackMove(MoveId.PLUCK, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 4) .attr(StealEatBerryAttr), - new StatusMove(Moves.TAILWIND, PokemonType.FLYING, -1, 15, -1, 0, 4) + new StatusMove(MoveId.TAILWIND, PokemonType.FLYING, -1, 15, -1, 0, 4) .windMove() .attr(AddArenaTagAttr, ArenaTagType.TAILWIND, 4, true) .target(MoveTarget.USER_SIDE), - new StatusMove(Moves.ACUPRESSURE, PokemonType.NORMAL, -1, 30, -1, 0, 4) + new StatusMove(MoveId.ACUPRESSURE, PokemonType.NORMAL, -1, 30, -1, 0, 4) .attr(AcupressureStatStageChangeAttr) .target(MoveTarget.USER_OR_NEAR_ALLY), - new AttackMove(Moves.METAL_BURST, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 4) + new AttackMove(MoveId.METAL_BURST, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 4) .attr(CounterDamageAttr, (move: Move) => (move.category === MoveCategory.PHYSICAL || move.category === MoveCategory.SPECIAL), 1.5) .redirectCounter() .makesContact(false) .target(MoveTarget.ATTACKER), - new AttackMove(Moves.U_TURN, PokemonType.BUG, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 4) + new AttackMove(MoveId.U_TURN, PokemonType.BUG, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 4) .attr(ForceSwitchOutAttr, true), - new AttackMove(Moves.CLOSE_COMBAT, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 4) + new AttackMove(MoveId.CLOSE_COMBAT, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], -1, true), - new AttackMove(Moves.PAYBACK, PokemonType.DARK, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 4) + new AttackMove(MoveId.PAYBACK, PokemonType.DARK, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 4) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getLastXMoves(1).find(m => m.turn === globalScene.currentBattle.turn) || globalScene.currentBattle.turnCommands[target.getBattlerIndex()]?.command === Command.BALL ? 2 : 1), - new AttackMove(Moves.ASSURANCE, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 4) + new AttackMove(MoveId.ASSURANCE, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 4) .attr(MovePowerMultiplierAttr, (user, target, move) => target.turnData.damageTaken > 0 ? 2 : 1), - new StatusMove(Moves.EMBARGO, PokemonType.DARK, 100, 15, -1, 0, 4) + new StatusMove(MoveId.EMBARGO, PokemonType.DARK, 100, 15, -1, 0, 4) .reflectable() .unimplemented(), - new AttackMove(Moves.FLING, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 4) + new AttackMove(MoveId.FLING, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 4) .makesContact(false) .unimplemented(), - new StatusMove(Moves.PSYCHO_SHIFT, PokemonType.PSYCHIC, 100, 10, -1, 0, 4) + new StatusMove(MoveId.PSYCHO_SHIFT, PokemonType.PSYCHIC, 100, 10, -1, 0, 4) .attr(PsychoShiftEffectAttr) .condition((user, target, move) => { - let statusToApply = user.hasAbility(Abilities.COMATOSE) ? StatusEffect.SLEEP : undefined; + let statusToApply = user.hasAbility(AbilityId.COMATOSE) ? StatusEffect.SLEEP : undefined; if (user.status?.effect && isNonVolatileStatusEffect(user.status.effect)) { statusToApply = user.status.effect; } return !!statusToApply && target.canSetStatus(statusToApply, false, false, user); } ), - new AttackMove(Moves.TRUMP_CARD, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, -1, 5, -1, 0, 4) + new AttackMove(MoveId.TRUMP_CARD, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, -1, 5, -1, 0, 4) .makesContact() .attr(LessPPMorePowerAttr), - new StatusMove(Moves.HEAL_BLOCK, PokemonType.PSYCHIC, 100, 15, -1, 0, 4) + new StatusMove(MoveId.HEAL_BLOCK, PokemonType.PSYCHIC, 100, 15, -1, 0, 4) .attr(AddBattlerTagAttr, BattlerTagType.HEAL_BLOCK, false, true, 5) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.WRING_OUT, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, 100, 5, -1, 0, 4) + new AttackMove(MoveId.WRING_OUT, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, 100, 5, -1, 0, 4) .attr(OpponentHighHpPowerAttr, 120) .makesContact(), - new SelfStatusMove(Moves.POWER_TRICK, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) + new SelfStatusMove(MoveId.POWER_TRICK, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) .attr(AddBattlerTagAttr, BattlerTagType.POWER_TRICK, true), - new StatusMove(Moves.GASTRO_ACID, PokemonType.POISON, 100, 10, -1, 0, 4) + new StatusMove(MoveId.GASTRO_ACID, PokemonType.POISON, 100, 10, -1, 0, 4) .attr(SuppressAbilitiesAttr) .reflectable(), - new StatusMove(Moves.LUCKY_CHANT, PokemonType.NORMAL, -1, 30, -1, 0, 4) + new StatusMove(MoveId.LUCKY_CHANT, PokemonType.NORMAL, -1, 30, -1, 0, 4) .attr(AddArenaTagAttr, ArenaTagType.NO_CRIT, 5, true, true) .target(MoveTarget.USER_SIDE), - new StatusMove(Moves.ME_FIRST, PokemonType.NORMAL, -1, 20, -1, 0, 4) + new StatusMove(MoveId.ME_FIRST, PokemonType.NORMAL, -1, 20, -1, 0, 4) .ignoresSubstitute() .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new SelfStatusMove(Moves.COPYCAT, PokemonType.NORMAL, -1, 20, -1, 0, 4) + new SelfStatusMove(MoveId.COPYCAT, PokemonType.NORMAL, -1, 20, -1, 0, 4) .attr(CopyMoveAttr, false, invalidCopycatMoves), - new StatusMove(Moves.POWER_SWAP, PokemonType.PSYCHIC, -1, 10, 100, 0, 4) + new StatusMove(MoveId.POWER_SWAP, PokemonType.PSYCHIC, -1, 10, 100, 0, 4) .attr(SwapStatStagesAttr, [ Stat.ATK, Stat.SPATK ]) .ignoresSubstitute(), - new StatusMove(Moves.GUARD_SWAP, PokemonType.PSYCHIC, -1, 10, 100, 0, 4) + new StatusMove(MoveId.GUARD_SWAP, PokemonType.PSYCHIC, -1, 10, 100, 0, 4) .attr(SwapStatStagesAttr, [ Stat.DEF, Stat.SPDEF ]) .ignoresSubstitute(), - new AttackMove(Moves.PUNISHMENT, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4) + new AttackMove(MoveId.PUNISHMENT, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4) .makesContact(true) .attr(PunishmentPowerAttr), - new AttackMove(Moves.LAST_RESORT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 140, 100, 5, -1, 0, 4) + new AttackMove(MoveId.LAST_RESORT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 140, 100, 5, -1, 0, 4) .attr(LastResortAttr) .edgeCase(), // May or may not need to ignore remotely called moves depending on how it works - new StatusMove(Moves.WORRY_SEED, PokemonType.GRASS, 100, 10, -1, 0, 4) - .attr(AbilityChangeAttr, Abilities.INSOMNIA) + new StatusMove(MoveId.WORRY_SEED, PokemonType.GRASS, 100, 10, -1, 0, 4) + .attr(AbilityChangeAttr, AbilityId.INSOMNIA) .reflectable(), - new AttackMove(Moves.SUCKER_PUNCH, PokemonType.DARK, MoveCategory.PHYSICAL, 70, 100, 5, -1, 1, 4) + new AttackMove(MoveId.SUCKER_PUNCH, PokemonType.DARK, MoveCategory.PHYSICAL, 70, 100, 5, -1, 1, 4) .condition((user, target, move) => { const turnCommand = globalScene.currentBattle.turnCommands[target.getBattlerIndex()]; if (!turnCommand || !turnCommand.move) { @@ -9494,116 +9494,116 @@ export function initMoves() { } return (turnCommand.command === Command.FIGHT && !target.turnData.acted && allMoves[turnCommand.move.move].category !== MoveCategory.STATUS); }), - new StatusMove(Moves.TOXIC_SPIKES, PokemonType.POISON, -1, 20, -1, 0, 4) + new StatusMove(MoveId.TOXIC_SPIKES, PokemonType.POISON, -1, 20, -1, 0, 4) .attr(AddArenaTrapTagAttr, ArenaTagType.TOXIC_SPIKES) .target(MoveTarget.ENEMY_SIDE) .reflectable(), - new StatusMove(Moves.HEART_SWAP, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) + new StatusMove(MoveId.HEART_SWAP, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) .attr(SwapStatStagesAttr, BATTLE_STATS) .ignoresSubstitute(), - new SelfStatusMove(Moves.AQUA_RING, PokemonType.WATER, -1, 20, -1, 0, 4) + new SelfStatusMove(MoveId.AQUA_RING, PokemonType.WATER, -1, 20, -1, 0, 4) .attr(AddBattlerTagAttr, BattlerTagType.AQUA_RING, true, true), - new SelfStatusMove(Moves.MAGNET_RISE, PokemonType.ELECTRIC, -1, 10, -1, 0, 4) + new SelfStatusMove(MoveId.MAGNET_RISE, PokemonType.ELECTRIC, -1, 10, -1, 0, 4) .attr(AddBattlerTagAttr, BattlerTagType.FLOATING, true, true, 5) .condition((user, target, move) => !globalScene.arena.getTag(ArenaTagType.GRAVITY) && [ BattlerTagType.FLOATING, BattlerTagType.IGNORE_FLYING, BattlerTagType.INGRAIN ].every((tag) => !user.getTag(tag))), - new AttackMove(Moves.FLARE_BLITZ, PokemonType.FIRE, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 4) + new AttackMove(MoveId.FLARE_BLITZ, PokemonType.FIRE, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 4) .attr(RecoilAttr, false, 0.33) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN) .recklessMove(), - new AttackMove(Moves.FORCE_PALM, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, 30, 0, 4) + new AttackMove(MoveId.FORCE_PALM, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, 30, 0, 4) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.AURA_SPHERE, PokemonType.FIGHTING, MoveCategory.SPECIAL, 80, -1, 20, -1, 0, 4) + new AttackMove(MoveId.AURA_SPHERE, PokemonType.FIGHTING, MoveCategory.SPECIAL, 80, -1, 20, -1, 0, 4) .pulseMove() .ballBombMove(), - new SelfStatusMove(Moves.ROCK_POLISH, PokemonType.ROCK, -1, 20, -1, 0, 4) + new SelfStatusMove(MoveId.ROCK_POLISH, PokemonType.ROCK, -1, 20, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPD ], 2, true), - new AttackMove(Moves.POISON_JAB, PokemonType.POISON, MoveCategory.PHYSICAL, 80, 100, 20, 30, 0, 4) + new AttackMove(MoveId.POISON_JAB, PokemonType.POISON, MoveCategory.PHYSICAL, 80, 100, 20, 30, 0, 4) .attr(StatusEffectAttr, StatusEffect.POISON), - new AttackMove(Moves.DARK_PULSE, PokemonType.DARK, MoveCategory.SPECIAL, 80, 100, 15, 20, 0, 4) + new AttackMove(MoveId.DARK_PULSE, PokemonType.DARK, MoveCategory.SPECIAL, 80, 100, 15, 20, 0, 4) .attr(FlinchAttr) .pulseMove(), - new AttackMove(Moves.NIGHT_SLASH, PokemonType.DARK, MoveCategory.PHYSICAL, 70, 100, 15, -1, 0, 4) + new AttackMove(MoveId.NIGHT_SLASH, PokemonType.DARK, MoveCategory.PHYSICAL, 70, 100, 15, -1, 0, 4) .attr(HighCritAttr) .slicingMove(), - new AttackMove(Moves.AQUA_TAIL, PokemonType.WATER, MoveCategory.PHYSICAL, 90, 90, 10, -1, 0, 4), - new AttackMove(Moves.SEED_BOMB, PokemonType.GRASS, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 4) + new AttackMove(MoveId.AQUA_TAIL, PokemonType.WATER, MoveCategory.PHYSICAL, 90, 90, 10, -1, 0, 4), + new AttackMove(MoveId.SEED_BOMB, PokemonType.GRASS, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 4) .makesContact(false) .ballBombMove(), - new AttackMove(Moves.AIR_SLASH, PokemonType.FLYING, MoveCategory.SPECIAL, 75, 95, 15, 30, 0, 4) + new AttackMove(MoveId.AIR_SLASH, PokemonType.FLYING, MoveCategory.SPECIAL, 75, 95, 15, 30, 0, 4) .attr(FlinchAttr) .slicingMove(), - new AttackMove(Moves.X_SCISSOR, PokemonType.BUG, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 4) + new AttackMove(MoveId.X_SCISSOR, PokemonType.BUG, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 4) .slicingMove(), - new AttackMove(Moves.BUG_BUZZ, PokemonType.BUG, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 4) + new AttackMove(MoveId.BUG_BUZZ, PokemonType.BUG, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1) .soundBased(), - new AttackMove(Moves.DRAGON_PULSE, PokemonType.DRAGON, MoveCategory.SPECIAL, 85, 100, 10, -1, 0, 4) + new AttackMove(MoveId.DRAGON_PULSE, PokemonType.DRAGON, MoveCategory.SPECIAL, 85, 100, 10, -1, 0, 4) .pulseMove(), - new AttackMove(Moves.DRAGON_RUSH, PokemonType.DRAGON, MoveCategory.PHYSICAL, 100, 75, 10, 20, 0, 4) + new AttackMove(MoveId.DRAGON_RUSH, PokemonType.DRAGON, MoveCategory.PHYSICAL, 100, 75, 10, 20, 0, 4) .attr(AlwaysHitMinimizeAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED) .attr(FlinchAttr), - new AttackMove(Moves.POWER_GEM, PokemonType.ROCK, MoveCategory.SPECIAL, 80, 100, 20, -1, 0, 4), - new AttackMove(Moves.DRAIN_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 4) + new AttackMove(MoveId.POWER_GEM, PokemonType.ROCK, MoveCategory.SPECIAL, 80, 100, 20, -1, 0, 4), + new AttackMove(MoveId.DRAIN_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 4) .attr(HitHealAttr) .punchingMove() .triageMove(), - new AttackMove(Moves.VACUUM_WAVE, PokemonType.FIGHTING, MoveCategory.SPECIAL, 40, 100, 30, -1, 1, 4), - new AttackMove(Moves.FOCUS_BLAST, PokemonType.FIGHTING, MoveCategory.SPECIAL, 120, 70, 5, 10, 0, 4) + new AttackMove(MoveId.VACUUM_WAVE, PokemonType.FIGHTING, MoveCategory.SPECIAL, 40, 100, 30, -1, 1, 4), + new AttackMove(MoveId.FOCUS_BLAST, PokemonType.FIGHTING, MoveCategory.SPECIAL, 120, 70, 5, 10, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1) .ballBombMove(), - new AttackMove(Moves.ENERGY_BALL, PokemonType.GRASS, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 4) + new AttackMove(MoveId.ENERGY_BALL, PokemonType.GRASS, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1) .ballBombMove(), - new AttackMove(Moves.BRAVE_BIRD, PokemonType.FLYING, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 4) + new AttackMove(MoveId.BRAVE_BIRD, PokemonType.FLYING, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 4) .attr(RecoilAttr, false, 0.33) .recklessMove(), - new AttackMove(Moves.EARTH_POWER, PokemonType.GROUND, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 4) + new AttackMove(MoveId.EARTH_POWER, PokemonType.GROUND, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1), - new StatusMove(Moves.SWITCHEROO, PokemonType.DARK, 100, 10, -1, 0, 4) + new StatusMove(MoveId.SWITCHEROO, PokemonType.DARK, 100, 10, -1, 0, 4) .unimplemented(), - new AttackMove(Moves.GIGA_IMPACT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 150, 90, 5, -1, 0, 4) + new AttackMove(MoveId.GIGA_IMPACT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 150, 90, 5, -1, 0, 4) .attr(RechargeAttr), - new SelfStatusMove(Moves.NASTY_PLOT, PokemonType.DARK, -1, 20, -1, 0, 4) + new SelfStatusMove(MoveId.NASTY_PLOT, PokemonType.DARK, -1, 20, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPATK ], 2, true), - new AttackMove(Moves.BULLET_PUNCH, PokemonType.STEEL, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 4) + new AttackMove(MoveId.BULLET_PUNCH, PokemonType.STEEL, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 4) .punchingMove(), - new AttackMove(Moves.AVALANCHE, PokemonType.ICE, MoveCategory.PHYSICAL, 60, 100, 10, -1, -4, 4) + new AttackMove(MoveId.AVALANCHE, PokemonType.ICE, MoveCategory.PHYSICAL, 60, 100, 10, -1, -4, 4) .attr(TurnDamagedDoublePowerAttr), - new AttackMove(Moves.ICE_SHARD, PokemonType.ICE, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 4) + new AttackMove(MoveId.ICE_SHARD, PokemonType.ICE, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 4) .makesContact(false), - new AttackMove(Moves.SHADOW_CLAW, PokemonType.GHOST, MoveCategory.PHYSICAL, 70, 100, 15, -1, 0, 4) + new AttackMove(MoveId.SHADOW_CLAW, PokemonType.GHOST, MoveCategory.PHYSICAL, 70, 100, 15, -1, 0, 4) .attr(HighCritAttr), - new AttackMove(Moves.THUNDER_FANG, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 65, 95, 15, 10, 0, 4) + new AttackMove(MoveId.THUNDER_FANG, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 65, 95, 15, 10, 0, 4) .attr(FlinchAttr) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .bitingMove(), - new AttackMove(Moves.ICE_FANG, PokemonType.ICE, MoveCategory.PHYSICAL, 65, 95, 15, 10, 0, 4) + new AttackMove(MoveId.ICE_FANG, PokemonType.ICE, MoveCategory.PHYSICAL, 65, 95, 15, 10, 0, 4) .attr(FlinchAttr) .attr(StatusEffectAttr, StatusEffect.FREEZE) .bitingMove(), - new AttackMove(Moves.FIRE_FANG, PokemonType.FIRE, MoveCategory.PHYSICAL, 65, 95, 15, 10, 0, 4) + new AttackMove(MoveId.FIRE_FANG, PokemonType.FIRE, MoveCategory.PHYSICAL, 65, 95, 15, 10, 0, 4) .attr(FlinchAttr) .attr(StatusEffectAttr, StatusEffect.BURN) .bitingMove(), - new AttackMove(Moves.SHADOW_SNEAK, PokemonType.GHOST, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 4), - new AttackMove(Moves.MUD_BOMB, PokemonType.GROUND, MoveCategory.SPECIAL, 65, 85, 10, 30, 0, 4) + new AttackMove(MoveId.SHADOW_SNEAK, PokemonType.GHOST, MoveCategory.PHYSICAL, 40, 100, 30, -1, 1, 4), + new AttackMove(MoveId.MUD_BOMB, PokemonType.GROUND, MoveCategory.SPECIAL, 65, 85, 10, 30, 0, 4) .attr(StatStageChangeAttr, [ Stat.ACC ], -1) .ballBombMove(), - new AttackMove(Moves.PSYCHO_CUT, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 4) + new AttackMove(MoveId.PSYCHO_CUT, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 4) .attr(HighCritAttr) .slicingMove() .makesContact(false), - new AttackMove(Moves.ZEN_HEADBUTT, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 80, 90, 15, 20, 0, 4) + new AttackMove(MoveId.ZEN_HEADBUTT, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 80, 90, 15, 20, 0, 4) .attr(FlinchAttr), - new AttackMove(Moves.MIRROR_SHOT, PokemonType.STEEL, MoveCategory.SPECIAL, 65, 85, 10, 30, 0, 4) + new AttackMove(MoveId.MIRROR_SHOT, PokemonType.STEEL, MoveCategory.SPECIAL, 65, 85, 10, 30, 0, 4) .attr(StatStageChangeAttr, [ Stat.ACC ], -1), - new AttackMove(Moves.FLASH_CANNON, PokemonType.STEEL, MoveCategory.SPECIAL, 80, 100, 10, 10, 0, 4) + new AttackMove(MoveId.FLASH_CANNON, PokemonType.STEEL, MoveCategory.SPECIAL, 80, 100, 10, 10, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1), - new AttackMove(Moves.ROCK_CLIMB, PokemonType.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, 20, 0, 4) + new AttackMove(MoveId.ROCK_CLIMB, PokemonType.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, 20, 0, 4) .attr(ConfuseAttr), - new StatusMove(Moves.DEFOG, PokemonType.FLYING, -1, 15, -1, 0, 4) + new StatusMove(MoveId.DEFOG, PokemonType.FLYING, -1, 15, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.EVA ], -1) .attr(ClearWeatherAttr, WeatherType.FOG) .attr(ClearTerrainAttr) @@ -9611,257 +9611,257 @@ export function initMoves() { .attr(RemoveArenaTrapAttr, true) .attr(RemoveArenaTagsAttr, [ ArenaTagType.MIST, ArenaTagType.SAFEGUARD ], false) .reflectable(), - new StatusMove(Moves.TRICK_ROOM, PokemonType.PSYCHIC, -1, 5, -1, -7, 4) + new StatusMove(MoveId.TRICK_ROOM, PokemonType.PSYCHIC, -1, 5, -1, -7, 4) .attr(AddArenaTagAttr, ArenaTagType.TRICK_ROOM, 5) .ignoresProtect() .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.DRACO_METEOR, PokemonType.DRAGON, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 4) + new AttackMove(MoveId.DRACO_METEOR, PokemonType.DRAGON, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPATK ], -2, true), - new AttackMove(Moves.DISCHARGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 4) + new AttackMove(MoveId.DISCHARGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 4) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.LAVA_PLUME, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 4) + new AttackMove(MoveId.LAVA_PLUME, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 4) .attr(StatusEffectAttr, StatusEffect.BURN) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.LEAF_STORM, PokemonType.GRASS, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 4) + new AttackMove(MoveId.LEAF_STORM, PokemonType.GRASS, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPATK ], -2, true), - new AttackMove(Moves.POWER_WHIP, PokemonType.GRASS, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 4), - new AttackMove(Moves.ROCK_WRECKER, PokemonType.ROCK, MoveCategory.PHYSICAL, 150, 90, 5, -1, 0, 4) + new AttackMove(MoveId.POWER_WHIP, PokemonType.GRASS, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 4), + new AttackMove(MoveId.ROCK_WRECKER, PokemonType.ROCK, MoveCategory.PHYSICAL, 150, 90, 5, -1, 0, 4) .attr(RechargeAttr) .makesContact(false) .ballBombMove(), - new AttackMove(Moves.CROSS_POISON, PokemonType.POISON, MoveCategory.PHYSICAL, 70, 100, 20, 10, 0, 4) + new AttackMove(MoveId.CROSS_POISON, PokemonType.POISON, MoveCategory.PHYSICAL, 70, 100, 20, 10, 0, 4) .attr(HighCritAttr) .attr(StatusEffectAttr, StatusEffect.POISON) .slicingMove(), - new AttackMove(Moves.GUNK_SHOT, PokemonType.POISON, MoveCategory.PHYSICAL, 120, 80, 5, 30, 0, 4) + new AttackMove(MoveId.GUNK_SHOT, PokemonType.POISON, MoveCategory.PHYSICAL, 120, 80, 5, 30, 0, 4) .attr(StatusEffectAttr, StatusEffect.POISON) .makesContact(false), - new AttackMove(Moves.IRON_HEAD, PokemonType.STEEL, MoveCategory.PHYSICAL, 80, 100, 15, 30, 0, 4) + new AttackMove(MoveId.IRON_HEAD, PokemonType.STEEL, MoveCategory.PHYSICAL, 80, 100, 15, 30, 0, 4) .attr(FlinchAttr), - new AttackMove(Moves.MAGNET_BOMB, PokemonType.STEEL, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 4) + new AttackMove(MoveId.MAGNET_BOMB, PokemonType.STEEL, MoveCategory.PHYSICAL, 60, -1, 20, -1, 0, 4) .makesContact(false) .ballBombMove(), - new AttackMove(Moves.STONE_EDGE, PokemonType.ROCK, MoveCategory.PHYSICAL, 100, 80, 5, -1, 0, 4) + new AttackMove(MoveId.STONE_EDGE, PokemonType.ROCK, MoveCategory.PHYSICAL, 100, 80, 5, -1, 0, 4) .attr(HighCritAttr) .makesContact(false), - new StatusMove(Moves.CAPTIVATE, PokemonType.NORMAL, 100, 20, -1, 0, 4) + new StatusMove(MoveId.CAPTIVATE, PokemonType.NORMAL, 100, 20, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPATK ], -2) .condition((user, target, move) => target.isOppositeGender(user)) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new StatusMove(Moves.STEALTH_ROCK, PokemonType.ROCK, -1, 20, -1, 0, 4) + new StatusMove(MoveId.STEALTH_ROCK, PokemonType.ROCK, -1, 20, -1, 0, 4) .attr(AddArenaTrapTagAttr, ArenaTagType.STEALTH_ROCK) .target(MoveTarget.ENEMY_SIDE) .reflectable(), - new AttackMove(Moves.GRASS_KNOT, PokemonType.GRASS, MoveCategory.SPECIAL, -1, 100, 20, -1, 0, 4) + new AttackMove(MoveId.GRASS_KNOT, PokemonType.GRASS, MoveCategory.SPECIAL, -1, 100, 20, -1, 0, 4) .attr(WeightPowerAttr) .makesContact(), - new AttackMove(Moves.CHATTER, PokemonType.FLYING, MoveCategory.SPECIAL, 65, 100, 20, 100, 0, 4) + new AttackMove(MoveId.CHATTER, PokemonType.FLYING, MoveCategory.SPECIAL, 65, 100, 20, 100, 0, 4) .attr(ConfuseAttr) .soundBased(), - new AttackMove(Moves.JUDGMENT, PokemonType.NORMAL, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 4) + new AttackMove(MoveId.JUDGMENT, PokemonType.NORMAL, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 4) .attr(FormChangeItemTypeAttr), - new AttackMove(Moves.BUG_BITE, PokemonType.BUG, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 4) + new AttackMove(MoveId.BUG_BITE, PokemonType.BUG, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 4) .attr(StealEatBerryAttr), - new AttackMove(Moves.CHARGE_BEAM, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 50, 90, 10, 70, 0, 4) + new AttackMove(MoveId.CHARGE_BEAM, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 50, 90, 10, 70, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPATK ], 1, true), - new AttackMove(Moves.WOOD_HAMMER, PokemonType.GRASS, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 4) + new AttackMove(MoveId.WOOD_HAMMER, PokemonType.GRASS, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 4) .attr(RecoilAttr, false, 0.33) .recklessMove(), - new AttackMove(Moves.AQUA_JET, PokemonType.WATER, MoveCategory.PHYSICAL, 40, 100, 20, -1, 1, 4), - new AttackMove(Moves.ATTACK_ORDER, PokemonType.BUG, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 4) + new AttackMove(MoveId.AQUA_JET, PokemonType.WATER, MoveCategory.PHYSICAL, 40, 100, 20, -1, 1, 4), + new AttackMove(MoveId.ATTACK_ORDER, PokemonType.BUG, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 4) .attr(HighCritAttr) .makesContact(false), - new SelfStatusMove(Moves.DEFEND_ORDER, PokemonType.BUG, -1, 10, -1, 0, 4) + new SelfStatusMove(MoveId.DEFEND_ORDER, PokemonType.BUG, -1, 10, -1, 0, 4) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], 1, true), - new SelfStatusMove(Moves.HEAL_ORDER, PokemonType.BUG, -1, 5, -1, 0, 4) + new SelfStatusMove(MoveId.HEAL_ORDER, PokemonType.BUG, -1, 5, -1, 0, 4) .attr(HealAttr, 0.5) .triageMove(), - new AttackMove(Moves.HEAD_SMASH, PokemonType.ROCK, MoveCategory.PHYSICAL, 150, 80, 5, -1, 0, 4) + new AttackMove(MoveId.HEAD_SMASH, PokemonType.ROCK, MoveCategory.PHYSICAL, 150, 80, 5, -1, 0, 4) .attr(RecoilAttr, false, 0.5) .recklessMove(), - new AttackMove(Moves.DOUBLE_HIT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 35, 90, 10, -1, 0, 4) + new AttackMove(MoveId.DOUBLE_HIT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 35, 90, 10, -1, 0, 4) .attr(MultiHitAttr, MultiHitType._2), - new AttackMove(Moves.ROAR_OF_TIME, PokemonType.DRAGON, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 4) + new AttackMove(MoveId.ROAR_OF_TIME, PokemonType.DRAGON, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 4) .attr(RechargeAttr), - new AttackMove(Moves.SPACIAL_REND, PokemonType.DRAGON, MoveCategory.SPECIAL, 100, 95, 5, -1, 0, 4) + new AttackMove(MoveId.SPACIAL_REND, PokemonType.DRAGON, MoveCategory.SPECIAL, 100, 95, 5, -1, 0, 4) .attr(HighCritAttr), - new SelfStatusMove(Moves.LUNAR_DANCE, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) + new SelfStatusMove(MoveId.LUNAR_DANCE, PokemonType.PSYCHIC, -1, 10, -1, 0, 4) .attr(SacrificialFullRestoreAttr, true, "moveTriggers:lunarDanceRestore") .danceMove() .triageMove() .condition(failIfLastInPartyCondition), - new AttackMove(Moves.CRUSH_GRIP, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4) + new AttackMove(MoveId.CRUSH_GRIP, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4) .attr(OpponentHighHpPowerAttr, 120), - new AttackMove(Moves.MAGMA_STORM, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 75, 5, -1, 0, 4) + new AttackMove(MoveId.MAGMA_STORM, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 75, 5, -1, 0, 4) .attr(TrapAttr, BattlerTagType.MAGMA_STORM), - new StatusMove(Moves.DARK_VOID, PokemonType.DARK, 80, 10, -1, 0, 4) //Accuracy from Generations 4-6 + new StatusMove(MoveId.DARK_VOID, PokemonType.DARK, 80, 10, -1, 0, 4) //Accuracy from Generations 4-6 .attr(StatusEffectAttr, StatusEffect.SLEEP) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new AttackMove(Moves.SEED_FLARE, PokemonType.GRASS, MoveCategory.SPECIAL, 120, 85, 5, 40, 0, 4) + new AttackMove(MoveId.SEED_FLARE, PokemonType.GRASS, MoveCategory.SPECIAL, 120, 85, 5, 40, 0, 4) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2), - new AttackMove(Moves.OMINOUS_WIND, PokemonType.GHOST, MoveCategory.SPECIAL, 60, 100, 5, 10, 0, 4) + new AttackMove(MoveId.OMINOUS_WIND, PokemonType.GHOST, MoveCategory.SPECIAL, 60, 100, 5, 10, 0, 4) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, true) .windMove(), - new ChargingAttackMove(Moves.SHADOW_FORCE, PokemonType.GHOST, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 4) + new ChargingAttackMove(MoveId.SHADOW_FORCE, PokemonType.GHOST, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 4) .chargeText(i18next.t("moveTriggers:vanishedInstantly", { pokemonName: "{USER}" })) .chargeAttr(SemiInvulnerableAttr, BattlerTagType.HIDDEN) .ignoresProtect(), - new SelfStatusMove(Moves.HONE_CLAWS, PokemonType.DARK, -1, 15, -1, 0, 5) + new SelfStatusMove(MoveId.HONE_CLAWS, PokemonType.DARK, -1, 15, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.ACC ], 1, true), - new StatusMove(Moves.WIDE_GUARD, PokemonType.ROCK, -1, 10, -1, 3, 5) + new StatusMove(MoveId.WIDE_GUARD, PokemonType.ROCK, -1, 10, -1, 3, 5) .target(MoveTarget.USER_SIDE) .attr(AddArenaTagAttr, ArenaTagType.WIDE_GUARD, 1, true, true) .condition(failIfLastCondition), - new StatusMove(Moves.GUARD_SPLIT, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) + new StatusMove(MoveId.GUARD_SPLIT, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) .attr(AverageStatsAttr, [ Stat.DEF, Stat.SPDEF ], "moveTriggers:sharedGuard"), - new StatusMove(Moves.POWER_SPLIT, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) + new StatusMove(MoveId.POWER_SPLIT, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) .attr(AverageStatsAttr, [ Stat.ATK, Stat.SPATK ], "moveTriggers:sharedPower"), - new StatusMove(Moves.WONDER_ROOM, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) + new StatusMove(MoveId.WONDER_ROOM, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) .ignoresProtect() .target(MoveTarget.BOTH_SIDES) .unimplemented(), - new AttackMove(Moves.PSYSHOCK, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) + new AttackMove(MoveId.PSYSHOCK, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) .attr(DefDefAttr), - new AttackMove(Moves.VENOSHOCK, PokemonType.POISON, MoveCategory.SPECIAL, 65, 100, 10, -1, 0, 5) + new AttackMove(MoveId.VENOSHOCK, PokemonType.POISON, MoveCategory.SPECIAL, 65, 100, 10, -1, 0, 5) .attr(MovePowerMultiplierAttr, (user, target, move) => target.status && (target.status.effect === StatusEffect.POISON || target.status.effect === StatusEffect.TOXIC) ? 2 : 1), - new SelfStatusMove(Moves.AUTOTOMIZE, PokemonType.STEEL, -1, 15, -1, 0, 5) + new SelfStatusMove(MoveId.AUTOTOMIZE, PokemonType.STEEL, -1, 15, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPD ], 2, true) .attr(AddBattlerTagAttr, BattlerTagType.AUTOTOMIZED, true), - new SelfStatusMove(Moves.RAGE_POWDER, PokemonType.BUG, -1, 20, -1, 2, 5) + new SelfStatusMove(MoveId.RAGE_POWDER, PokemonType.BUG, -1, 20, -1, 2, 5) .powderMove() .attr(AddBattlerTagAttr, BattlerTagType.CENTER_OF_ATTENTION, true), - new StatusMove(Moves.TELEKINESIS, PokemonType.PSYCHIC, -1, 15, -1, 0, 5) + new StatusMove(MoveId.TELEKINESIS, PokemonType.PSYCHIC, -1, 15, -1, 0, 5) .condition(failOnGravityCondition) - .condition((_user, target, _move) => ![ Species.DIGLETT, Species.DUGTRIO, Species.ALOLA_DIGLETT, Species.ALOLA_DUGTRIO, Species.SANDYGAST, Species.PALOSSAND, Species.WIGLETT, Species.WUGTRIO ].includes(target.species.speciesId)) - .condition((_user, target, _move) => !(target.species.speciesId === Species.GENGAR && target.getFormKey() === "mega")) + .condition((_user, target, _move) => ![ SpeciesId.DIGLETT, SpeciesId.DUGTRIO, SpeciesId.ALOLA_DIGLETT, SpeciesId.ALOLA_DUGTRIO, SpeciesId.SANDYGAST, SpeciesId.PALOSSAND, SpeciesId.WIGLETT, SpeciesId.WUGTRIO ].includes(target.species.speciesId)) + .condition((_user, target, _move) => !(target.species.speciesId === SpeciesId.GENGAR && target.getFormKey() === "mega")) .condition((_user, target, _move) => isNullOrUndefined(target.getTag(BattlerTagType.INGRAIN)) && isNullOrUndefined(target.getTag(BattlerTagType.IGNORE_FLYING))) .attr(AddBattlerTagAttr, BattlerTagType.TELEKINESIS, false, true, 3) .attr(AddBattlerTagAttr, BattlerTagType.FLOATING, false, true, 3) .reflectable(), - new StatusMove(Moves.MAGIC_ROOM, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) + new StatusMove(MoveId.MAGIC_ROOM, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) .ignoresProtect() .target(MoveTarget.BOTH_SIDES) .unimplemented(), - new AttackMove(Moves.SMACK_DOWN, PokemonType.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, -1, 0, 5) + new AttackMove(MoveId.SMACK_DOWN, PokemonType.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, -1, 0, 5) .attr(FallDownAttr) .attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED) .attr(RemoveBattlerTagAttr, [ BattlerTagType.FLYING, BattlerTagType.FLOATING, BattlerTagType.TELEKINESIS ]) .attr(HitsTagAttr, BattlerTagType.FLYING) .makesContact(false), - new AttackMove(Moves.STORM_THROW, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 5) + new AttackMove(MoveId.STORM_THROW, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 5) .attr(CritOnlyAttr), - new AttackMove(Moves.FLAME_BURST, PokemonType.FIRE, MoveCategory.SPECIAL, 70, 100, 15, -1, 0, 5) + new AttackMove(MoveId.FLAME_BURST, PokemonType.FIRE, MoveCategory.SPECIAL, 70, 100, 15, -1, 0, 5) .attr(FlameBurstAttr), - new AttackMove(Moves.SLUDGE_WAVE, PokemonType.POISON, MoveCategory.SPECIAL, 95, 100, 10, 10, 0, 5) + new AttackMove(MoveId.SLUDGE_WAVE, PokemonType.POISON, MoveCategory.SPECIAL, 95, 100, 10, 10, 0, 5) .attr(StatusEffectAttr, StatusEffect.POISON) .target(MoveTarget.ALL_NEAR_OTHERS), - new SelfStatusMove(Moves.QUIVER_DANCE, PokemonType.BUG, -1, 20, -1, 0, 5) + new SelfStatusMove(MoveId.QUIVER_DANCE, PokemonType.BUG, -1, 20, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, true) .danceMove(), - new AttackMove(Moves.HEAVY_SLAM, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 5) + new AttackMove(MoveId.HEAVY_SLAM, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 5) .attr(AlwaysHitMinimizeAttr) .attr(CompareWeightPowerAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED), - new AttackMove(Moves.SYNCHRONOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 5) + new AttackMove(MoveId.SYNCHRONOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, -1, 0, 5) .target(MoveTarget.ALL_NEAR_OTHERS) .condition(unknownTypeCondition) .attr(HitsSameTypeAttr), - new AttackMove(Moves.ELECTRO_BALL, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 5) + new AttackMove(MoveId.ELECTRO_BALL, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 5) .attr(ElectroBallPowerAttr) .ballBombMove(), - new StatusMove(Moves.SOAK, PokemonType.WATER, 100, 20, -1, 0, 5) + new StatusMove(MoveId.SOAK, PokemonType.WATER, 100, 20, -1, 0, 5) .attr(ChangeTypeAttr, PokemonType.WATER) .reflectable(), - new AttackMove(Moves.FLAME_CHARGE, PokemonType.FIRE, MoveCategory.PHYSICAL, 50, 100, 20, 100, 0, 5) + new AttackMove(MoveId.FLAME_CHARGE, PokemonType.FIRE, MoveCategory.PHYSICAL, 50, 100, 20, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true), - new SelfStatusMove(Moves.COIL, PokemonType.POISON, -1, 20, -1, 0, 5) + new SelfStatusMove(MoveId.COIL, PokemonType.POISON, -1, 20, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.ACC ], 1, true), - new AttackMove(Moves.LOW_SWEEP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 65, 100, 20, 100, 0, 5) + new AttackMove(MoveId.LOW_SWEEP, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 65, 100, 20, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPD ], -1), - new AttackMove(Moves.ACID_SPRAY, PokemonType.POISON, MoveCategory.SPECIAL, 40, 100, 20, 100, 0, 5) + new AttackMove(MoveId.ACID_SPRAY, PokemonType.POISON, MoveCategory.SPECIAL, 40, 100, 20, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2) .ballBombMove(), - new AttackMove(Moves.FOUL_PLAY, PokemonType.DARK, MoveCategory.PHYSICAL, 95, 100, 15, -1, 0, 5) + new AttackMove(MoveId.FOUL_PLAY, PokemonType.DARK, MoveCategory.PHYSICAL, 95, 100, 15, -1, 0, 5) .attr(TargetAtkUserAtkAttr), - new StatusMove(Moves.SIMPLE_BEAM, PokemonType.NORMAL, 100, 15, -1, 0, 5) - .attr(AbilityChangeAttr, Abilities.SIMPLE) + new StatusMove(MoveId.SIMPLE_BEAM, PokemonType.NORMAL, 100, 15, -1, 0, 5) + .attr(AbilityChangeAttr, AbilityId.SIMPLE) .reflectable(), - new StatusMove(Moves.ENTRAINMENT, PokemonType.NORMAL, 100, 15, -1, 0, 5) + new StatusMove(MoveId.ENTRAINMENT, PokemonType.NORMAL, 100, 15, -1, 0, 5) .attr(AbilityGiveAttr) .reflectable(), - new StatusMove(Moves.AFTER_YOU, PokemonType.NORMAL, -1, 15, -1, 0, 5) + new StatusMove(MoveId.AFTER_YOU, PokemonType.NORMAL, -1, 15, -1, 0, 5) .ignoresProtect() .ignoresSubstitute() .target(MoveTarget.NEAR_OTHER) .condition(failIfSingleBattle) .condition((user, target, move) => !target.turnData.acted) .attr(AfterYouAttr), - new AttackMove(Moves.ROUND, PokemonType.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 5) + new AttackMove(MoveId.ROUND, PokemonType.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 5) .attr(CueNextRoundAttr) .attr(RoundPowerAttr) .soundBased(), - new AttackMove(Moves.ECHOED_VOICE, PokemonType.NORMAL, MoveCategory.SPECIAL, 40, 100, 15, -1, 0, 5) + new AttackMove(MoveId.ECHOED_VOICE, PokemonType.NORMAL, MoveCategory.SPECIAL, 40, 100, 15, -1, 0, 5) .attr(ConsecutiveUseMultiBasePowerAttr, 5, false) .soundBased(), - new AttackMove(Moves.CHIP_AWAY, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 5) + new AttackMove(MoveId.CHIP_AWAY, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 5) .attr(IgnoreOpponentStatStagesAttr), - new AttackMove(Moves.CLEAR_SMOG, PokemonType.POISON, MoveCategory.SPECIAL, 50, -1, 15, -1, 0, 5) + new AttackMove(MoveId.CLEAR_SMOG, PokemonType.POISON, MoveCategory.SPECIAL, 50, -1, 15, -1, 0, 5) .attr(ResetStatsAttr, false), - new AttackMove(Moves.STORED_POWER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 20, 100, 10, -1, 0, 5) + new AttackMove(MoveId.STORED_POWER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 20, 100, 10, -1, 0, 5) .attr(PositiveStatStagePowerAttr), - new StatusMove(Moves.QUICK_GUARD, PokemonType.FIGHTING, -1, 15, -1, 3, 5) + new StatusMove(MoveId.QUICK_GUARD, PokemonType.FIGHTING, -1, 15, -1, 3, 5) .target(MoveTarget.USER_SIDE) .attr(AddArenaTagAttr, ArenaTagType.QUICK_GUARD, 1, true, true) .condition(failIfLastCondition), - new SelfStatusMove(Moves.ALLY_SWITCH, PokemonType.PSYCHIC, -1, 15, -1, 2, 5) + new SelfStatusMove(MoveId.ALLY_SWITCH, PokemonType.PSYCHIC, -1, 15, -1, 2, 5) .ignoresProtect() .unimplemented(), - new AttackMove(Moves.SCALD, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 5) + new AttackMove(MoveId.SCALD, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 5) .attr(HealStatusEffectAttr, false, StatusEffect.FREEZE) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN), - new SelfStatusMove(Moves.SHELL_SMASH, PokemonType.NORMAL, -1, 15, -1, 0, 5) + new SelfStatusMove(MoveId.SHELL_SMASH, PokemonType.NORMAL, -1, 15, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK, Stat.SPD ], 2, true) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], -1, true), - new StatusMove(Moves.HEAL_PULSE, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) + new StatusMove(MoveId.HEAL_PULSE, PokemonType.PSYCHIC, -1, 10, -1, 0, 5) .attr(HealAttr, 0.5, false, false) .pulseMove() .triageMove() .reflectable(), - new AttackMove(Moves.HEX, PokemonType.GHOST, MoveCategory.SPECIAL, 65, 100, 10, -1, 0, 5) + new AttackMove(MoveId.HEX, PokemonType.GHOST, MoveCategory.SPECIAL, 65, 100, 10, -1, 0, 5) .attr( MovePowerMultiplierAttr, - (user, target, move) => target.status || target.hasAbility(Abilities.COMATOSE) ? 2 : 1), - new ChargingAttackMove(Moves.SKY_DROP, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 5) + (user, target, move) => target.status || target.hasAbility(AbilityId.COMATOSE) ? 2 : 1), + new ChargingAttackMove(MoveId.SKY_DROP, PokemonType.FLYING, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 5) .chargeText(i18next.t("moveTriggers:tookTargetIntoSky", { pokemonName: "{USER}", targetName: "{TARGET}" })) .chargeAttr(SemiInvulnerableAttr, BattlerTagType.FLYING) .condition(failOnGravityCondition) .condition((user, target, move) => !target.getTag(BattlerTagType.SUBSTITUTE)) .partial(), // Should immobilize the target, Flying types should take no damage. cf https://bulbapedia.bulbagarden.net/wiki/Sky_Drop_(move) and https://www.smogon.com/dex/sv/moves/sky-drop/ - new SelfStatusMove(Moves.SHIFT_GEAR, PokemonType.STEEL, -1, 10, -1, 0, 5) + new SelfStatusMove(MoveId.SHIFT_GEAR, PokemonType.STEEL, -1, 10, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.ATK ], 1, true) .attr(StatStageChangeAttr, [ Stat.SPD ], 2, true), - new AttackMove(Moves.CIRCLE_THROW, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 90, 10, -1, -6, 5) + new AttackMove(MoveId.CIRCLE_THROW, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 60, 90, 10, -1, -6, 5) .attr(ForceSwitchOutAttr, false, SwitchType.FORCE_SWITCH) .hidesTarget(), - new AttackMove(Moves.INCINERATE, PokemonType.FIRE, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 5) + new AttackMove(MoveId.INCINERATE, PokemonType.FIRE, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 5) .target(MoveTarget.ALL_NEAR_ENEMIES) .attr(RemoveHeldItemAttr, true) .edgeCase(), // Should be able to remove items from pokemon with Sticky Hold if the damage causes them to faint - new StatusMove(Moves.QUASH, PokemonType.DARK, 100, 15, -1, 0, 5) + new StatusMove(MoveId.QUASH, PokemonType.DARK, 100, 15, -1, 0, 5) .condition(failIfSingleBattle) .condition((user, target, move) => !target.turnData.acted) .attr(ForceLastAttr), - new AttackMove(Moves.ACROBATICS, PokemonType.FLYING, MoveCategory.PHYSICAL, 55, 100, 15, -1, 0, 5) + new AttackMove(MoveId.ACROBATICS, PokemonType.FLYING, MoveCategory.PHYSICAL, 55, 100, 15, -1, 0, 5) .attr(MovePowerMultiplierAttr, (user, target, move) => Math.max(1, 2 - 0.2 * user.getHeldItems().filter(i => i.isTransferable).reduce((v, m) => v + m.stackCount, 0))), - new StatusMove(Moves.REFLECT_TYPE, PokemonType.NORMAL, -1, 15, -1, 0, 5) + new StatusMove(MoveId.REFLECT_TYPE, PokemonType.NORMAL, -1, 15, -1, 0, 5) .ignoresSubstitute() .attr(CopyTypeAttr), - new AttackMove(Moves.RETALIATE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 5, -1, 0, 5) + new AttackMove(MoveId.RETALIATE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 5, -1, 0, 5) .attr(MovePowerMultiplierAttr, (user, target, move) => { const turn = globalScene.currentBattle.turn; const lastPlayerFaint = globalScene.currentBattle.playerFaintsHistory[globalScene.currentBattle.playerFaintsHistory.length - 1]; @@ -9871,333 +9871,333 @@ export function initMoves() { (lastEnemyFaint !== undefined && turn - lastEnemyFaint.turn === 1 && !user.isPlayer()) ) ? 2 : 1; }), - new AttackMove(Moves.FINAL_GAMBIT, PokemonType.FIGHTING, MoveCategory.SPECIAL, -1, 100, 5, -1, 0, 5) + new AttackMove(MoveId.FINAL_GAMBIT, PokemonType.FIGHTING, MoveCategory.SPECIAL, -1, 100, 5, -1, 0, 5) .attr(UserHpDamageAttr) .attr(SacrificialAttrOnHit), - new StatusMove(Moves.BESTOW, PokemonType.NORMAL, -1, 15, -1, 0, 5) + new StatusMove(MoveId.BESTOW, PokemonType.NORMAL, -1, 15, -1, 0, 5) .ignoresProtect() .ignoresSubstitute() .unimplemented(), - new AttackMove(Moves.INFERNO, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 50, 5, 100, 0, 5) + new AttackMove(MoveId.INFERNO, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 50, 5, 100, 0, 5) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.WATER_PLEDGE, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) + new AttackMove(MoveId.WATER_PLEDGE, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) .attr(AwaitCombinedPledgeAttr) .attr(CombinedPledgeTypeAttr) .attr(CombinedPledgePowerAttr) .attr(CombinedPledgeStabBoostAttr) - .attr(AddPledgeEffectAttr, ArenaTagType.WATER_FIRE_PLEDGE, Moves.FIRE_PLEDGE, true) - .attr(AddPledgeEffectAttr, ArenaTagType.GRASS_WATER_PLEDGE, Moves.GRASS_PLEDGE) + .attr(AddPledgeEffectAttr, ArenaTagType.WATER_FIRE_PLEDGE, MoveId.FIRE_PLEDGE, true) + .attr(AddPledgeEffectAttr, ArenaTagType.GRASS_WATER_PLEDGE, MoveId.GRASS_PLEDGE) .attr(BypassRedirectAttr, true), - new AttackMove(Moves.FIRE_PLEDGE, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) + new AttackMove(MoveId.FIRE_PLEDGE, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) .attr(AwaitCombinedPledgeAttr) .attr(CombinedPledgeTypeAttr) .attr(CombinedPledgePowerAttr) .attr(CombinedPledgeStabBoostAttr) - .attr(AddPledgeEffectAttr, ArenaTagType.FIRE_GRASS_PLEDGE, Moves.GRASS_PLEDGE) - .attr(AddPledgeEffectAttr, ArenaTagType.WATER_FIRE_PLEDGE, Moves.WATER_PLEDGE, true) + .attr(AddPledgeEffectAttr, ArenaTagType.FIRE_GRASS_PLEDGE, MoveId.GRASS_PLEDGE) + .attr(AddPledgeEffectAttr, ArenaTagType.WATER_FIRE_PLEDGE, MoveId.WATER_PLEDGE, true) .attr(BypassRedirectAttr, true), - new AttackMove(Moves.GRASS_PLEDGE, PokemonType.GRASS, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) + new AttackMove(MoveId.GRASS_PLEDGE, PokemonType.GRASS, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 5) .attr(AwaitCombinedPledgeAttr) .attr(CombinedPledgeTypeAttr) .attr(CombinedPledgePowerAttr) .attr(CombinedPledgeStabBoostAttr) - .attr(AddPledgeEffectAttr, ArenaTagType.GRASS_WATER_PLEDGE, Moves.WATER_PLEDGE) - .attr(AddPledgeEffectAttr, ArenaTagType.FIRE_GRASS_PLEDGE, Moves.FIRE_PLEDGE) + .attr(AddPledgeEffectAttr, ArenaTagType.GRASS_WATER_PLEDGE, MoveId.WATER_PLEDGE) + .attr(AddPledgeEffectAttr, ArenaTagType.FIRE_GRASS_PLEDGE, MoveId.FIRE_PLEDGE) .attr(BypassRedirectAttr, true), - new AttackMove(Moves.VOLT_SWITCH, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, -1, 0, 5) + new AttackMove(MoveId.VOLT_SWITCH, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, -1, 0, 5) .attr(ForceSwitchOutAttr, true), - new AttackMove(Moves.STRUGGLE_BUG, PokemonType.BUG, MoveCategory.SPECIAL, 50, 100, 20, 100, 0, 5) + new AttackMove(MoveId.STRUGGLE_BUG, PokemonType.BUG, MoveCategory.SPECIAL, 50, 100, 20, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.BULLDOZE, PokemonType.GROUND, MoveCategory.PHYSICAL, 60, 100, 20, 100, 0, 5) + new AttackMove(MoveId.BULLDOZE, PokemonType.GROUND, MoveCategory.PHYSICAL, 60, 100, 20, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.GRASSY && target.isGrounded() ? 0.5 : 1) .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.FROST_BREATH, PokemonType.ICE, MoveCategory.SPECIAL, 60, 90, 10, -1, 0, 5) + new AttackMove(MoveId.FROST_BREATH, PokemonType.ICE, MoveCategory.SPECIAL, 60, 90, 10, -1, 0, 5) .attr(CritOnlyAttr), - new AttackMove(Moves.DRAGON_TAIL, PokemonType.DRAGON, MoveCategory.PHYSICAL, 60, 90, 10, -1, -6, 5) + new AttackMove(MoveId.DRAGON_TAIL, PokemonType.DRAGON, MoveCategory.PHYSICAL, 60, 90, 10, -1, -6, 5) .attr(ForceSwitchOutAttr, false, SwitchType.FORCE_SWITCH) .hidesTarget(), - new SelfStatusMove(Moves.WORK_UP, PokemonType.NORMAL, -1, 30, -1, 0, 5) + new SelfStatusMove(MoveId.WORK_UP, PokemonType.NORMAL, -1, 30, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 1, true), - new AttackMove(Moves.ELECTROWEB, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 5) + new AttackMove(MoveId.ELECTROWEB, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.WILD_CHARGE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 5) + new AttackMove(MoveId.WILD_CHARGE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 5) .attr(RecoilAttr) .recklessMove(), - new AttackMove(Moves.DRILL_RUN, PokemonType.GROUND, MoveCategory.PHYSICAL, 80, 95, 10, -1, 0, 5) + new AttackMove(MoveId.DRILL_RUN, PokemonType.GROUND, MoveCategory.PHYSICAL, 80, 95, 10, -1, 0, 5) .attr(HighCritAttr), - new AttackMove(Moves.DUAL_CHOP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 40, 90, 15, -1, 0, 5) + new AttackMove(MoveId.DUAL_CHOP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 40, 90, 15, -1, 0, 5) .attr(MultiHitAttr, MultiHitType._2), - new AttackMove(Moves.HEART_STAMP, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 60, 100, 25, 30, 0, 5) + new AttackMove(MoveId.HEART_STAMP, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 60, 100, 25, 30, 0, 5) .attr(FlinchAttr), - new AttackMove(Moves.HORN_LEECH, PokemonType.GRASS, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 5) + new AttackMove(MoveId.HORN_LEECH, PokemonType.GRASS, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 5) .attr(HitHealAttr) .triageMove(), - new AttackMove(Moves.SACRED_SWORD, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 5) + new AttackMove(MoveId.SACRED_SWORD, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 5) .attr(IgnoreOpponentStatStagesAttr) .slicingMove(), - new AttackMove(Moves.RAZOR_SHELL, PokemonType.WATER, MoveCategory.PHYSICAL, 75, 95, 10, 50, 0, 5) + new AttackMove(MoveId.RAZOR_SHELL, PokemonType.WATER, MoveCategory.PHYSICAL, 75, 95, 10, 50, 0, 5) .attr(StatStageChangeAttr, [ Stat.DEF ], -1) .slicingMove(), - new AttackMove(Moves.HEAT_CRASH, PokemonType.FIRE, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 5) + new AttackMove(MoveId.HEAT_CRASH, PokemonType.FIRE, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 5) .attr(AlwaysHitMinimizeAttr) .attr(CompareWeightPowerAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED), - new AttackMove(Moves.LEAF_TORNADO, PokemonType.GRASS, MoveCategory.SPECIAL, 65, 90, 10, 50, 0, 5) + new AttackMove(MoveId.LEAF_TORNADO, PokemonType.GRASS, MoveCategory.SPECIAL, 65, 90, 10, 50, 0, 5) .attr(StatStageChangeAttr, [ Stat.ACC ], -1), - new AttackMove(Moves.STEAMROLLER, PokemonType.BUG, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 5) + new AttackMove(MoveId.STEAMROLLER, PokemonType.BUG, MoveCategory.PHYSICAL, 65, 100, 20, 30, 0, 5) .attr(AlwaysHitMinimizeAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED) .attr(FlinchAttr), - new SelfStatusMove(Moves.COTTON_GUARD, PokemonType.GRASS, -1, 10, -1, 0, 5) + new SelfStatusMove(MoveId.COTTON_GUARD, PokemonType.GRASS, -1, 10, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.DEF ], 3, true), - new AttackMove(Moves.NIGHT_DAZE, PokemonType.DARK, MoveCategory.SPECIAL, 85, 95, 10, 40, 0, 5) + new AttackMove(MoveId.NIGHT_DAZE, PokemonType.DARK, MoveCategory.SPECIAL, 85, 95, 10, 40, 0, 5) .attr(StatStageChangeAttr, [ Stat.ACC ], -1), - new AttackMove(Moves.PSYSTRIKE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 5) + new AttackMove(MoveId.PSYSTRIKE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 5) .attr(DefDefAttr), - new AttackMove(Moves.TAIL_SLAP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 25, 85, 10, -1, 0, 5) + new AttackMove(MoveId.TAIL_SLAP, PokemonType.NORMAL, MoveCategory.PHYSICAL, 25, 85, 10, -1, 0, 5) .attr(MultiHitAttr), - new AttackMove(Moves.HURRICANE, PokemonType.FLYING, MoveCategory.SPECIAL, 110, 70, 10, 30, 0, 5) + new AttackMove(MoveId.HURRICANE, PokemonType.FLYING, MoveCategory.SPECIAL, 110, 70, 10, 30, 0, 5) .attr(ThunderAccuracyAttr) .attr(ConfuseAttr) .attr(HitsTagAttr, BattlerTagType.FLYING) .windMove(), - new AttackMove(Moves.HEAD_CHARGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 5) + new AttackMove(MoveId.HEAD_CHARGE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 5) .attr(RecoilAttr) .recklessMove(), - new AttackMove(Moves.GEAR_GRIND, PokemonType.STEEL, MoveCategory.PHYSICAL, 50, 85, 15, -1, 0, 5) + new AttackMove(MoveId.GEAR_GRIND, PokemonType.STEEL, MoveCategory.PHYSICAL, 50, 85, 15, -1, 0, 5) .attr(MultiHitAttr, MultiHitType._2), - new AttackMove(Moves.SEARING_SHOT, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 100, 5, 30, 0, 5) + new AttackMove(MoveId.SEARING_SHOT, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 100, 5, 30, 0, 5) .attr(StatusEffectAttr, StatusEffect.BURN) .ballBombMove() .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.TECHNO_BLAST, PokemonType.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 5) + new AttackMove(MoveId.TECHNO_BLAST, PokemonType.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 5) .attr(TechnoBlastTypeAttr), - new AttackMove(Moves.RELIC_SONG, PokemonType.NORMAL, MoveCategory.SPECIAL, 75, 100, 10, 10, 0, 5) + new AttackMove(MoveId.RELIC_SONG, PokemonType.NORMAL, MoveCategory.SPECIAL, 75, 100, 10, 10, 0, 5) .attr(StatusEffectAttr, StatusEffect.SLEEP) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.SECRET_SWORD, PokemonType.FIGHTING, MoveCategory.SPECIAL, 85, 100, 10, -1, 0, 5) + new AttackMove(MoveId.SECRET_SWORD, PokemonType.FIGHTING, MoveCategory.SPECIAL, 85, 100, 10, -1, 0, 5) .attr(DefDefAttr) .slicingMove(), - new AttackMove(Moves.GLACIATE, PokemonType.ICE, MoveCategory.SPECIAL, 65, 95, 10, 100, 0, 5) + new AttackMove(MoveId.GLACIATE, PokemonType.ICE, MoveCategory.SPECIAL, 65, 95, 10, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.BOLT_STRIKE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 130, 85, 5, 20, 0, 5) + new AttackMove(MoveId.BOLT_STRIKE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 130, 85, 5, 20, 0, 5) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.BLUE_FLARE, PokemonType.FIRE, MoveCategory.SPECIAL, 130, 85, 5, 20, 0, 5) + new AttackMove(MoveId.BLUE_FLARE, PokemonType.FIRE, MoveCategory.SPECIAL, 130, 85, 5, 20, 0, 5) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.FIERY_DANCE, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 10, 50, 0, 5) + new AttackMove(MoveId.FIERY_DANCE, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 10, 50, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPATK ], 1, true) .danceMove(), - new ChargingAttackMove(Moves.FREEZE_SHOCK, PokemonType.ICE, MoveCategory.PHYSICAL, 140, 90, 5, 30, 0, 5) + new ChargingAttackMove(MoveId.FREEZE_SHOCK, PokemonType.ICE, MoveCategory.PHYSICAL, 140, 90, 5, 30, 0, 5) .chargeText(i18next.t("moveTriggers:becameCloakedInFreezingLight", { pokemonName: "{USER}" })) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .makesContact(false), - new ChargingAttackMove(Moves.ICE_BURN, PokemonType.ICE, MoveCategory.SPECIAL, 140, 90, 5, 30, 0, 5) + new ChargingAttackMove(MoveId.ICE_BURN, PokemonType.ICE, MoveCategory.SPECIAL, 140, 90, 5, 30, 0, 5) .chargeText(i18next.t("moveTriggers:becameCloakedInFreezingAir", { pokemonName: "{USER}" })) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.SNARL, PokemonType.DARK, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 5) + new AttackMove(MoveId.SNARL, PokemonType.DARK, MoveCategory.SPECIAL, 55, 95, 15, 100, 0, 5) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.ICICLE_CRASH, PokemonType.ICE, MoveCategory.PHYSICAL, 85, 90, 10, 30, 0, 5) + new AttackMove(MoveId.ICICLE_CRASH, PokemonType.ICE, MoveCategory.PHYSICAL, 85, 90, 10, 30, 0, 5) .attr(FlinchAttr) .makesContact(false), - new AttackMove(Moves.V_CREATE, PokemonType.FIRE, MoveCategory.PHYSICAL, 180, 95, 5, -1, 0, 5) + new AttackMove(MoveId.V_CREATE, PokemonType.FIRE, MoveCategory.PHYSICAL, 180, 95, 5, -1, 0, 5) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF, Stat.SPD ], -1, true), - new AttackMove(Moves.FUSION_FLARE, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 5) + new AttackMove(MoveId.FUSION_FLARE, PokemonType.FIRE, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 5) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) - .attr(LastMoveDoublePowerAttr, Moves.FUSION_BOLT), - new AttackMove(Moves.FUSION_BOLT, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 5) - .attr(LastMoveDoublePowerAttr, Moves.FUSION_FLARE) + .attr(LastMoveDoublePowerAttr, MoveId.FUSION_BOLT), + new AttackMove(MoveId.FUSION_BOLT, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 5) + .attr(LastMoveDoublePowerAttr, MoveId.FUSION_FLARE) .makesContact(false), - new AttackMove(Moves.FLYING_PRESS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, -1, 0, 6) + new AttackMove(MoveId.FLYING_PRESS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, -1, 0, 6) .attr(AlwaysHitMinimizeAttr) .attr(FlyingTypeMultiplierAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED) .condition(failOnGravityCondition), - new StatusMove(Moves.MAT_BLOCK, PokemonType.FIGHTING, -1, 10, -1, 0, 6) + new StatusMove(MoveId.MAT_BLOCK, PokemonType.FIGHTING, -1, 10, -1, 0, 6) .target(MoveTarget.USER_SIDE) .attr(AddArenaTagAttr, ArenaTagType.MAT_BLOCK, 1, true, true) .condition(new FirstMoveCondition()) .condition(failIfLastCondition), - new AttackMove(Moves.BELCH, PokemonType.POISON, MoveCategory.SPECIAL, 120, 90, 10, -1, 0, 6) + new AttackMove(MoveId.BELCH, PokemonType.POISON, MoveCategory.SPECIAL, 120, 90, 10, -1, 0, 6) .condition((user, target, move) => user.battleData.hasEatenBerry), - new StatusMove(Moves.ROTOTILLER, PokemonType.GROUND, -1, 10, -1, 0, 6) + new StatusMove(MoveId.ROTOTILLER, PokemonType.GROUND, -1, 10, -1, 0, 6) .target(MoveTarget.ALL) .condition((user, target, move) => { // If any fielded pokémon is grass-type and grounded. return [ ...globalScene.getEnemyParty(), ...globalScene.getPlayerParty() ].some((poke) => poke.isOfType(PokemonType.GRASS) && poke.isGrounded()); }) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 1, false, { condition: (user, target, move) => target.isOfType(PokemonType.GRASS) && target.isGrounded() }), - new StatusMove(Moves.STICKY_WEB, PokemonType.BUG, -1, 20, -1, 0, 6) + new StatusMove(MoveId.STICKY_WEB, PokemonType.BUG, -1, 20, -1, 0, 6) .attr(AddArenaTrapTagAttr, ArenaTagType.STICKY_WEB) .target(MoveTarget.ENEMY_SIDE) .reflectable(), - new AttackMove(Moves.FELL_STINGER, PokemonType.BUG, MoveCategory.PHYSICAL, 50, 100, 25, -1, 0, 6) + new AttackMove(MoveId.FELL_STINGER, PokemonType.BUG, MoveCategory.PHYSICAL, 50, 100, 25, -1, 0, 6) .attr(PostVictoryStatStageChangeAttr, [ Stat.ATK ], 3, true ), - new ChargingAttackMove(Moves.PHANTOM_FORCE, PokemonType.GHOST, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) + new ChargingAttackMove(MoveId.PHANTOM_FORCE, PokemonType.GHOST, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) .chargeText(i18next.t("moveTriggers:vanishedInstantly", { pokemonName: "{USER}" })) .chargeAttr(SemiInvulnerableAttr, BattlerTagType.HIDDEN) .ignoresProtect(), - new StatusMove(Moves.TRICK_OR_TREAT, PokemonType.GHOST, 100, 20, -1, 0, 6) + new StatusMove(MoveId.TRICK_OR_TREAT, PokemonType.GHOST, 100, 20, -1, 0, 6) .attr(AddTypeAttr, PokemonType.GHOST) .reflectable(), - new StatusMove(Moves.NOBLE_ROAR, PokemonType.NORMAL, 100, 30, -1, 0, 6) + new StatusMove(MoveId.NOBLE_ROAR, PokemonType.NORMAL, 100, 30, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], -1) .soundBased() .reflectable(), - new StatusMove(Moves.ION_DELUGE, PokemonType.ELECTRIC, -1, 25, -1, 1, 6) + new StatusMove(MoveId.ION_DELUGE, PokemonType.ELECTRIC, -1, 25, -1, 1, 6) .attr(AddArenaTagAttr, ArenaTagType.ION_DELUGE) .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.PARABOLIC_CHARGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 65, 100, 20, -1, 0, 6) + new AttackMove(MoveId.PARABOLIC_CHARGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 65, 100, 20, -1, 0, 6) .attr(HitHealAttr) .target(MoveTarget.ALL_NEAR_OTHERS) .triageMove(), - new StatusMove(Moves.FORESTS_CURSE, PokemonType.GRASS, 100, 20, -1, 0, 6) + new StatusMove(MoveId.FORESTS_CURSE, PokemonType.GRASS, 100, 20, -1, 0, 6) .attr(AddTypeAttr, PokemonType.GRASS) .reflectable(), - new AttackMove(Moves.PETAL_BLIZZARD, PokemonType.GRASS, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 6) + new AttackMove(MoveId.PETAL_BLIZZARD, PokemonType.GRASS, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 6) .windMove() .makesContact(false) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.FREEZE_DRY, PokemonType.ICE, MoveCategory.SPECIAL, 70, 100, 20, 10, 0, 6) + new AttackMove(MoveId.FREEZE_DRY, PokemonType.ICE, MoveCategory.SPECIAL, 70, 100, 20, 10, 0, 6) .attr(StatusEffectAttr, StatusEffect.FREEZE) .attr(FreezeDryAttr), - new AttackMove(Moves.DISARMING_VOICE, PokemonType.FAIRY, MoveCategory.SPECIAL, 40, -1, 15, -1, 0, 6) + new AttackMove(MoveId.DISARMING_VOICE, PokemonType.FAIRY, MoveCategory.SPECIAL, 40, -1, 15, -1, 0, 6) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES), - new StatusMove(Moves.PARTING_SHOT, PokemonType.DARK, 100, 20, -1, 0, 6) + new StatusMove(MoveId.PARTING_SHOT, PokemonType.DARK, 100, 20, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], -1, false, { trigger: MoveEffectTrigger.PRE_APPLY }) .attr(ForceSwitchOutAttr, true) .soundBased() .reflectable(), - new StatusMove(Moves.TOPSY_TURVY, PokemonType.DARK, -1, 20, -1, 0, 6) + new StatusMove(MoveId.TOPSY_TURVY, PokemonType.DARK, -1, 20, -1, 0, 6) .attr(InvertStatsAttr) .reflectable(), - new AttackMove(Moves.DRAINING_KISS, PokemonType.FAIRY, MoveCategory.SPECIAL, 50, 100, 10, -1, 0, 6) + new AttackMove(MoveId.DRAINING_KISS, PokemonType.FAIRY, MoveCategory.SPECIAL, 50, 100, 10, -1, 0, 6) .attr(HitHealAttr, 0.75) .makesContact() .triageMove(), - new StatusMove(Moves.CRAFTY_SHIELD, PokemonType.FAIRY, -1, 10, -1, 3, 6) + new StatusMove(MoveId.CRAFTY_SHIELD, PokemonType.FAIRY, -1, 10, -1, 3, 6) .target(MoveTarget.USER_SIDE) .attr(AddArenaTagAttr, ArenaTagType.CRAFTY_SHIELD, 1, true, true) .condition(failIfLastCondition), - new StatusMove(Moves.FLOWER_SHIELD, PokemonType.FAIRY, -1, 10, -1, 0, 6) + new StatusMove(MoveId.FLOWER_SHIELD, PokemonType.FAIRY, -1, 10, -1, 0, 6) .target(MoveTarget.ALL) .attr(StatStageChangeAttr, [ Stat.DEF ], 1, false, { condition: (user, target, move) => target.getTypes().includes(PokemonType.GRASS) && !target.getTag(SemiInvulnerableTag) }), - new StatusMove(Moves.GRASSY_TERRAIN, PokemonType.GRASS, -1, 10, -1, 0, 6) + new StatusMove(MoveId.GRASSY_TERRAIN, PokemonType.GRASS, -1, 10, -1, 0, 6) .attr(TerrainChangeAttr, TerrainType.GRASSY) .target(MoveTarget.BOTH_SIDES), - new StatusMove(Moves.MISTY_TERRAIN, PokemonType.FAIRY, -1, 10, -1, 0, 6) + new StatusMove(MoveId.MISTY_TERRAIN, PokemonType.FAIRY, -1, 10, -1, 0, 6) .attr(TerrainChangeAttr, TerrainType.MISTY) .target(MoveTarget.BOTH_SIDES), - new StatusMove(Moves.ELECTRIFY, PokemonType.ELECTRIC, -1, 20, -1, 0, 6) + new StatusMove(MoveId.ELECTRIFY, PokemonType.ELECTRIC, -1, 20, -1, 0, 6) .attr(AddBattlerTagAttr, BattlerTagType.ELECTRIFIED, false, true), - new AttackMove(Moves.PLAY_ROUGH, PokemonType.FAIRY, MoveCategory.PHYSICAL, 90, 90, 10, 10, 0, 6) + new AttackMove(MoveId.PLAY_ROUGH, PokemonType.FAIRY, MoveCategory.PHYSICAL, 90, 90, 10, 10, 0, 6) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new AttackMove(Moves.FAIRY_WIND, PokemonType.FAIRY, MoveCategory.SPECIAL, 40, 100, 30, -1, 0, 6) + new AttackMove(MoveId.FAIRY_WIND, PokemonType.FAIRY, MoveCategory.SPECIAL, 40, 100, 30, -1, 0, 6) .windMove(), - new AttackMove(Moves.MOONBLAST, PokemonType.FAIRY, MoveCategory.SPECIAL, 95, 100, 15, 30, 0, 6) + new AttackMove(MoveId.MOONBLAST, PokemonType.FAIRY, MoveCategory.SPECIAL, 95, 100, 15, 30, 0, 6) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1), - new AttackMove(Moves.BOOMBURST, PokemonType.NORMAL, MoveCategory.SPECIAL, 140, 100, 10, -1, 0, 6) + new AttackMove(MoveId.BOOMBURST, PokemonType.NORMAL, MoveCategory.SPECIAL, 140, 100, 10, -1, 0, 6) .soundBased() .target(MoveTarget.ALL_NEAR_OTHERS), - new StatusMove(Moves.FAIRY_LOCK, PokemonType.FAIRY, -1, 10, -1, 0, 6) + new StatusMove(MoveId.FAIRY_LOCK, PokemonType.FAIRY, -1, 10, -1, 0, 6) .ignoresSubstitute() .ignoresProtect() .target(MoveTarget.BOTH_SIDES) .attr(AddArenaTagAttr, ArenaTagType.FAIRY_LOCK, 2, true), - new SelfStatusMove(Moves.KINGS_SHIELD, PokemonType.STEEL, -1, 10, -1, 4, 6) + new SelfStatusMove(MoveId.KINGS_SHIELD, PokemonType.STEEL, -1, 10, -1, 4, 6) .attr(ProtectAttr, BattlerTagType.KINGS_SHIELD) .condition(failIfLastCondition), - new StatusMove(Moves.PLAY_NICE, PokemonType.NORMAL, -1, 20, -1, 0, 6) + new StatusMove(MoveId.PLAY_NICE, PokemonType.NORMAL, -1, 20, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.ATK ], -1) .ignoresSubstitute() .reflectable(), - new StatusMove(Moves.CONFIDE, PokemonType.NORMAL, -1, 20, -1, 0, 6) + new StatusMove(MoveId.CONFIDE, PokemonType.NORMAL, -1, 20, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1) .soundBased() .reflectable(), - new AttackMove(Moves.DIAMOND_STORM, PokemonType.ROCK, MoveCategory.PHYSICAL, 100, 95, 5, 50, 0, 6) + new AttackMove(MoveId.DIAMOND_STORM, PokemonType.ROCK, MoveCategory.PHYSICAL, 100, 95, 5, 50, 0, 6) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true, { firstTargetOnly: true }) .makesContact(false) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.STEAM_ERUPTION, PokemonType.WATER, MoveCategory.SPECIAL, 110, 95, 5, 30, 0, 6) + new AttackMove(MoveId.STEAM_ERUPTION, PokemonType.WATER, MoveCategory.SPECIAL, 110, 95, 5, 30, 0, 6) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(HealStatusEffectAttr, false, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.HYPERSPACE_HOLE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, -1, 5, -1, 0, 6) + new AttackMove(MoveId.HYPERSPACE_HOLE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, -1, 5, -1, 0, 6) .ignoresProtect() .ignoresSubstitute(), - new AttackMove(Moves.WATER_SHURIKEN, PokemonType.WATER, MoveCategory.SPECIAL, 15, 100, 20, -1, 1, 6) + new AttackMove(MoveId.WATER_SHURIKEN, PokemonType.WATER, MoveCategory.SPECIAL, 15, 100, 20, -1, 1, 6) .attr(MultiHitAttr) .attr(WaterShurikenPowerAttr) .attr(WaterShurikenMultiHitTypeAttr), - new AttackMove(Moves.MYSTICAL_FIRE, PokemonType.FIRE, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 6) + new AttackMove(MoveId.MYSTICAL_FIRE, PokemonType.FIRE, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 6) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1), - new SelfStatusMove(Moves.SPIKY_SHIELD, PokemonType.GRASS, -1, 10, -1, 4, 6) + new SelfStatusMove(MoveId.SPIKY_SHIELD, PokemonType.GRASS, -1, 10, -1, 4, 6) .attr(ProtectAttr, BattlerTagType.SPIKY_SHIELD) .condition(failIfLastCondition), - new StatusMove(Moves.AROMATIC_MIST, PokemonType.FAIRY, -1, 20, -1, 0, 6) + new StatusMove(MoveId.AROMATIC_MIST, PokemonType.FAIRY, -1, 20, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.SPDEF ], 1) .ignoresSubstitute() .condition(failIfSingleBattle) .target(MoveTarget.NEAR_ALLY), - new StatusMove(Moves.EERIE_IMPULSE, PokemonType.ELECTRIC, 100, 15, -1, 0, 6) + new StatusMove(MoveId.EERIE_IMPULSE, PokemonType.ELECTRIC, 100, 15, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.SPATK ], -2) .reflectable(), - new StatusMove(Moves.VENOM_DRENCH, PokemonType.POISON, 100, 20, -1, 0, 6) + new StatusMove(MoveId.VENOM_DRENCH, PokemonType.POISON, 100, 20, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK, Stat.SPD ], -1, false, { condition: (user, target, move) => target.status?.effect === StatusEffect.POISON || target.status?.effect === StatusEffect.TOXIC }) .target(MoveTarget.ALL_NEAR_ENEMIES) .reflectable(), - new StatusMove(Moves.POWDER, PokemonType.BUG, 100, 20, -1, 1, 6) + new StatusMove(MoveId.POWDER, PokemonType.BUG, 100, 20, -1, 1, 6) .attr(AddBattlerTagAttr, BattlerTagType.POWDER, false, true) .ignoresSubstitute() .powderMove() .reflectable(), - new ChargingSelfStatusMove(Moves.GEOMANCY, PokemonType.FAIRY, -1, 10, -1, 0, 6) + new ChargingSelfStatusMove(MoveId.GEOMANCY, PokemonType.FAIRY, -1, 10, -1, 0, 6) .chargeText(i18next.t("moveTriggers:isChargingPower", { pokemonName: "{USER}" })) .attr(StatStageChangeAttr, [ Stat.SPATK, Stat.SPDEF, Stat.SPD ], 2, true), - new StatusMove(Moves.MAGNETIC_FLUX, PokemonType.ELECTRIC, -1, 20, -1, 0, 6) - .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], 1, false, { condition: (user, target, move) => !![ Abilities.PLUS, Abilities.MINUS ].find(a => target.hasAbility(a, false)) }) + new StatusMove(MoveId.MAGNETIC_FLUX, PokemonType.ELECTRIC, -1, 20, -1, 0, 6) + .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], 1, false, { condition: (user, target, move) => !![ AbilityId.PLUS, AbilityId.MINUS ].find(a => target.hasAbility(a, false)) }) .ignoresSubstitute() .target(MoveTarget.USER_AND_ALLIES) - .condition((user, target, move) => !![ user, user.getAlly() ].filter(p => p?.isActive()).find(p => !![ Abilities.PLUS, Abilities.MINUS ].find(a => p?.hasAbility(a, false)))), - new StatusMove(Moves.HAPPY_HOUR, PokemonType.NORMAL, -1, 30, -1, 0, 6) // No animation + .condition((user, target, move) => !![ user, user.getAlly() ].filter(p => p?.isActive()).find(p => !![ AbilityId.PLUS, AbilityId.MINUS ].find(a => p?.hasAbility(a, false)))), + new StatusMove(MoveId.HAPPY_HOUR, PokemonType.NORMAL, -1, 30, -1, 0, 6) // No animation .attr(AddArenaTagAttr, ArenaTagType.HAPPY_HOUR, null, true) .target(MoveTarget.USER_SIDE), - new StatusMove(Moves.ELECTRIC_TERRAIN, PokemonType.ELECTRIC, -1, 10, -1, 0, 6) + new StatusMove(MoveId.ELECTRIC_TERRAIN, PokemonType.ELECTRIC, -1, 10, -1, 0, 6) .attr(TerrainChangeAttr, TerrainType.ELECTRIC) .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.DAZZLING_GLEAM, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6) + new AttackMove(MoveId.DAZZLING_GLEAM, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6) .target(MoveTarget.ALL_NEAR_ENEMIES), - new SelfStatusMove(Moves.CELEBRATE, PokemonType.NORMAL, -1, 40, -1, 0, 6) + new SelfStatusMove(MoveId.CELEBRATE, PokemonType.NORMAL, -1, 40, -1, 0, 6) .attr(CelebrateAttr), - new StatusMove(Moves.HOLD_HANDS, PokemonType.NORMAL, -1, 40, -1, 0, 6) + new StatusMove(MoveId.HOLD_HANDS, PokemonType.NORMAL, -1, 40, -1, 0, 6) .ignoresSubstitute() .target(MoveTarget.NEAR_ALLY), - new StatusMove(Moves.BABY_DOLL_EYES, PokemonType.FAIRY, 100, 30, -1, 1, 6) + new StatusMove(MoveId.BABY_DOLL_EYES, PokemonType.FAIRY, 100, 30, -1, 1, 6) .attr(StatStageChangeAttr, [ Stat.ATK ], -1) .reflectable(), - new AttackMove(Moves.NUZZLE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 20, 100, 20, 100, 0, 6) + new AttackMove(MoveId.NUZZLE, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 20, 100, 20, 100, 0, 6) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.HOLD_BACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 6) + new AttackMove(MoveId.HOLD_BACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 6) .attr(SurviveDamageAttr), - new AttackMove(Moves.INFESTATION, PokemonType.BUG, MoveCategory.SPECIAL, 20, 100, 20, -1, 0, 6) + new AttackMove(MoveId.INFESTATION, PokemonType.BUG, MoveCategory.SPECIAL, 20, 100, 20, -1, 0, 6) .makesContact() .attr(TrapAttr, BattlerTagType.INFESTATION), - new AttackMove(Moves.POWER_UP_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 20, 100, 0, 6) + new AttackMove(MoveId.POWER_UP_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 20, 100, 0, 6) .attr(StatStageChangeAttr, [ Stat.ATK ], 1, true) .punchingMove(), - new AttackMove(Moves.OBLIVION_WING, PokemonType.FLYING, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6) + new AttackMove(MoveId.OBLIVION_WING, PokemonType.FLYING, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6) .attr(HitHealAttr, 0.75) .triageMove(), - new AttackMove(Moves.THOUSAND_ARROWS, PokemonType.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) + new AttackMove(MoveId.THOUSAND_ARROWS, PokemonType.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) .attr(NeutralDamageAgainstFlyingTypeMultiplierAttr) .attr(FallDownAttr) .attr(HitsTagAttr, BattlerTagType.FLYING) @@ -10206,176 +10206,176 @@ export function initMoves() { .attr(RemoveBattlerTagAttr, [ BattlerTagType.FLYING, BattlerTagType.FLOATING, BattlerTagType.TELEKINESIS ]) .makesContact(false) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.THOUSAND_WAVES, PokemonType.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) + new AttackMove(MoveId.THOUSAND_WAVES, PokemonType.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1, 1, true) .makesContact(false) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.LANDS_WRATH, PokemonType.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) + new AttackMove(MoveId.LANDS_WRATH, PokemonType.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) .makesContact(false) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.LIGHT_OF_RUIN, PokemonType.FAIRY, MoveCategory.SPECIAL, 140, 90, 5, -1, 0, 6) + new AttackMove(MoveId.LIGHT_OF_RUIN, PokemonType.FAIRY, MoveCategory.SPECIAL, 140, 90, 5, -1, 0, 6) .attr(RecoilAttr, false, 0.5) .recklessMove(), - new AttackMove(Moves.ORIGIN_PULSE, PokemonType.WATER, MoveCategory.SPECIAL, 110, 85, 10, -1, 0, 6) + new AttackMove(MoveId.ORIGIN_PULSE, PokemonType.WATER, MoveCategory.SPECIAL, 110, 85, 10, -1, 0, 6) .pulseMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.PRECIPICE_BLADES, PokemonType.GROUND, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 6) + new AttackMove(MoveId.PRECIPICE_BLADES, PokemonType.GROUND, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 6) .makesContact(false) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.DRAGON_ASCENT, PokemonType.FLYING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 6) + new AttackMove(MoveId.DRAGON_ASCENT, PokemonType.FLYING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], -1, true), - new AttackMove(Moves.HYPERSPACE_FURY, PokemonType.DARK, MoveCategory.PHYSICAL, 100, -1, 5, -1, 0, 6) + new AttackMove(MoveId.HYPERSPACE_FURY, PokemonType.DARK, MoveCategory.PHYSICAL, 100, -1, 5, -1, 0, 6) .attr(StatStageChangeAttr, [ Stat.DEF ], -1, true) .ignoresSubstitute() .makesContact(false) .ignoresProtect(), /* Unused */ - new AttackMove(Moves.BREAKNECK_BLITZ__PHYSICAL, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.BREAKNECK_BLITZ__PHYSICAL, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.BREAKNECK_BLITZ__SPECIAL, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.BREAKNECK_BLITZ__SPECIAL, PokemonType.NORMAL, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.ALL_OUT_PUMMELING__PHYSICAL, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.ALL_OUT_PUMMELING__PHYSICAL, PokemonType.FIGHTING, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.ALL_OUT_PUMMELING__SPECIAL, PokemonType.FIGHTING, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.ALL_OUT_PUMMELING__SPECIAL, PokemonType.FIGHTING, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SUPERSONIC_SKYSTRIKE__PHYSICAL, PokemonType.FLYING, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SUPERSONIC_SKYSTRIKE__PHYSICAL, PokemonType.FLYING, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SUPERSONIC_SKYSTRIKE__SPECIAL, PokemonType.FLYING, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SUPERSONIC_SKYSTRIKE__SPECIAL, PokemonType.FLYING, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.ACID_DOWNPOUR__PHYSICAL, PokemonType.POISON, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.ACID_DOWNPOUR__PHYSICAL, PokemonType.POISON, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.ACID_DOWNPOUR__SPECIAL, PokemonType.POISON, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.ACID_DOWNPOUR__SPECIAL, PokemonType.POISON, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.TECTONIC_RAGE__PHYSICAL, PokemonType.GROUND, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.TECTONIC_RAGE__PHYSICAL, PokemonType.GROUND, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.TECTONIC_RAGE__SPECIAL, PokemonType.GROUND, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.TECTONIC_RAGE__SPECIAL, PokemonType.GROUND, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.CONTINENTAL_CRUSH__PHYSICAL, PokemonType.ROCK, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.CONTINENTAL_CRUSH__PHYSICAL, PokemonType.ROCK, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.CONTINENTAL_CRUSH__SPECIAL, PokemonType.ROCK, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.CONTINENTAL_CRUSH__SPECIAL, PokemonType.ROCK, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SAVAGE_SPIN_OUT__PHYSICAL, PokemonType.BUG, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SAVAGE_SPIN_OUT__PHYSICAL, PokemonType.BUG, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SAVAGE_SPIN_OUT__SPECIAL, PokemonType.BUG, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SAVAGE_SPIN_OUT__SPECIAL, PokemonType.BUG, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.NEVER_ENDING_NIGHTMARE__PHYSICAL, PokemonType.GHOST, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.NEVER_ENDING_NIGHTMARE__PHYSICAL, PokemonType.GHOST, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.NEVER_ENDING_NIGHTMARE__SPECIAL, PokemonType.GHOST, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.NEVER_ENDING_NIGHTMARE__SPECIAL, PokemonType.GHOST, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.CORKSCREW_CRASH__PHYSICAL, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.CORKSCREW_CRASH__PHYSICAL, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.CORKSCREW_CRASH__SPECIAL, PokemonType.STEEL, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.CORKSCREW_CRASH__SPECIAL, PokemonType.STEEL, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.INFERNO_OVERDRIVE__PHYSICAL, PokemonType.FIRE, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.INFERNO_OVERDRIVE__PHYSICAL, PokemonType.FIRE, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.INFERNO_OVERDRIVE__SPECIAL, PokemonType.FIRE, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.INFERNO_OVERDRIVE__SPECIAL, PokemonType.FIRE, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.HYDRO_VORTEX__PHYSICAL, PokemonType.WATER, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.HYDRO_VORTEX__PHYSICAL, PokemonType.WATER, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.HYDRO_VORTEX__SPECIAL, PokemonType.WATER, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.HYDRO_VORTEX__SPECIAL, PokemonType.WATER, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.BLOOM_DOOM__PHYSICAL, PokemonType.GRASS, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.BLOOM_DOOM__PHYSICAL, PokemonType.GRASS, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.BLOOM_DOOM__SPECIAL, PokemonType.GRASS, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.BLOOM_DOOM__SPECIAL, PokemonType.GRASS, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.GIGAVOLT_HAVOC__PHYSICAL, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.GIGAVOLT_HAVOC__PHYSICAL, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.GIGAVOLT_HAVOC__SPECIAL, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.GIGAVOLT_HAVOC__SPECIAL, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SHATTERED_PSYCHE__PHYSICAL, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SHATTERED_PSYCHE__PHYSICAL, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SHATTERED_PSYCHE__SPECIAL, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SHATTERED_PSYCHE__SPECIAL, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SUBZERO_SLAMMER__PHYSICAL, PokemonType.ICE, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SUBZERO_SLAMMER__PHYSICAL, PokemonType.ICE, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SUBZERO_SLAMMER__SPECIAL, PokemonType.ICE, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SUBZERO_SLAMMER__SPECIAL, PokemonType.ICE, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.DEVASTATING_DRAKE__PHYSICAL, PokemonType.DRAGON, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.DEVASTATING_DRAKE__PHYSICAL, PokemonType.DRAGON, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.DEVASTATING_DRAKE__SPECIAL, PokemonType.DRAGON, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.DEVASTATING_DRAKE__SPECIAL, PokemonType.DRAGON, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.BLACK_HOLE_ECLIPSE__PHYSICAL, PokemonType.DARK, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.BLACK_HOLE_ECLIPSE__PHYSICAL, PokemonType.DARK, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.BLACK_HOLE_ECLIPSE__SPECIAL, PokemonType.DARK, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.BLACK_HOLE_ECLIPSE__SPECIAL, PokemonType.DARK, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.TWINKLE_TACKLE__PHYSICAL, PokemonType.FAIRY, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.TWINKLE_TACKLE__PHYSICAL, PokemonType.FAIRY, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.TWINKLE_TACKLE__SPECIAL, PokemonType.FAIRY, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.TWINKLE_TACKLE__SPECIAL, PokemonType.FAIRY, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.CATASTROPIKA, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 210, -1, 1, -1, 0, 7) + new AttackMove(MoveId.CATASTROPIKA, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 210, -1, 1, -1, 0, 7) .unimplemented(), /* End Unused */ - new SelfStatusMove(Moves.SHORE_UP, PokemonType.GROUND, -1, 5, -1, 0, 7) + new SelfStatusMove(MoveId.SHORE_UP, PokemonType.GROUND, -1, 5, -1, 0, 7) .attr(SandHealAttr) .triageMove(), - new AttackMove(Moves.FIRST_IMPRESSION, PokemonType.BUG, MoveCategory.PHYSICAL, 90, 100, 10, -1, 2, 7) + new AttackMove(MoveId.FIRST_IMPRESSION, PokemonType.BUG, MoveCategory.PHYSICAL, 90, 100, 10, -1, 2, 7) .condition(new FirstMoveCondition()), - new SelfStatusMove(Moves.BANEFUL_BUNKER, PokemonType.POISON, -1, 10, -1, 4, 7) + new SelfStatusMove(MoveId.BANEFUL_BUNKER, PokemonType.POISON, -1, 10, -1, 4, 7) .attr(ProtectAttr, BattlerTagType.BANEFUL_BUNKER) .condition(failIfLastCondition), - new AttackMove(Moves.SPIRIT_SHACKLE, PokemonType.GHOST, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 7) + new AttackMove(MoveId.SPIRIT_SHACKLE, PokemonType.GHOST, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 7) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1, 1, true) .makesContact(false), - new AttackMove(Moves.DARKEST_LARIAT, PokemonType.DARK, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 7) + new AttackMove(MoveId.DARKEST_LARIAT, PokemonType.DARK, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 7) .attr(IgnoreOpponentStatStagesAttr), - new AttackMove(Moves.SPARKLING_ARIA, PokemonType.WATER, MoveCategory.SPECIAL, 90, 100, 10, 100, 0, 7) + new AttackMove(MoveId.SPARKLING_ARIA, PokemonType.WATER, MoveCategory.SPECIAL, 90, 100, 10, 100, 0, 7) .attr(HealStatusEffectAttr, false, StatusEffect.BURN) .soundBased() .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.ICE_HAMMER, PokemonType.ICE, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 7) + new AttackMove(MoveId.ICE_HAMMER, PokemonType.ICE, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 7) .attr(StatStageChangeAttr, [ Stat.SPD ], -1, true) .punchingMove(), - new StatusMove(Moves.FLORAL_HEALING, PokemonType.FAIRY, -1, 10, -1, 0, 7) + new StatusMove(MoveId.FLORAL_HEALING, PokemonType.FAIRY, -1, 10, -1, 0, 7) .attr(BoostHealAttr, 0.5, 2 / 3, true, false, (user, target, move) => globalScene.arena.terrain?.terrainType === TerrainType.GRASSY) .triageMove() .reflectable(), - new AttackMove(Moves.HIGH_HORSEPOWER, PokemonType.GROUND, MoveCategory.PHYSICAL, 95, 95, 10, -1, 0, 7), - new StatusMove(Moves.STRENGTH_SAP, PokemonType.GRASS, 100, 10, -1, 0, 7) + new AttackMove(MoveId.HIGH_HORSEPOWER, PokemonType.GROUND, MoveCategory.PHYSICAL, 95, 95, 10, -1, 0, 7), + new StatusMove(MoveId.STRENGTH_SAP, PokemonType.GRASS, 100, 10, -1, 0, 7) .attr(HitHealAttr, null, Stat.ATK) .attr(StatStageChangeAttr, [ Stat.ATK ], -1) .condition((user, target, move) => target.getStatStage(Stat.ATK) > -6) .triageMove() .reflectable(), - new ChargingAttackMove(Moves.SOLAR_BLADE, PokemonType.GRASS, MoveCategory.PHYSICAL, 125, 100, 10, -1, 0, 7) + new ChargingAttackMove(MoveId.SOLAR_BLADE, PokemonType.GRASS, MoveCategory.PHYSICAL, 125, 100, 10, -1, 0, 7) .chargeText(i18next.t("moveTriggers:isGlowing", { pokemonName: "{USER}" })) .chargeAttr(WeatherInstantChargeAttr, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]) .attr(AntiSunlightPowerDecreaseAttr) .slicingMove(), - new AttackMove(Moves.LEAFAGE, PokemonType.GRASS, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 7) + new AttackMove(MoveId.LEAFAGE, PokemonType.GRASS, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 7) .makesContact(false), - new StatusMove(Moves.SPOTLIGHT, PokemonType.NORMAL, -1, 15, -1, 3, 7) + new StatusMove(MoveId.SPOTLIGHT, PokemonType.NORMAL, -1, 15, -1, 3, 7) .attr(AddBattlerTagAttr, BattlerTagType.CENTER_OF_ATTENTION, false) .condition(failIfSingleBattle) .reflectable(), - new StatusMove(Moves.TOXIC_THREAD, PokemonType.POISON, 100, 20, -1, 0, 7) + new StatusMove(MoveId.TOXIC_THREAD, PokemonType.POISON, 100, 20, -1, 0, 7) .attr(StatusEffectAttr, StatusEffect.POISON) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .reflectable(), - new SelfStatusMove(Moves.LASER_FOCUS, PokemonType.NORMAL, -1, 30, -1, 0, 7) + new SelfStatusMove(MoveId.LASER_FOCUS, PokemonType.NORMAL, -1, 30, -1, 0, 7) .attr(AddBattlerTagAttr, BattlerTagType.ALWAYS_CRIT, true, false), - new StatusMove(Moves.GEAR_UP, PokemonType.STEEL, -1, 20, -1, 0, 7) - .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 1, false, { condition: (user, target, move) => !![ Abilities.PLUS, Abilities.MINUS ].find(a => target.hasAbility(a, false)) }) + new StatusMove(MoveId.GEAR_UP, PokemonType.STEEL, -1, 20, -1, 0, 7) + .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 1, false, { condition: (user, target, move) => !![ AbilityId.PLUS, AbilityId.MINUS ].find(a => target.hasAbility(a, false)) }) .ignoresSubstitute() .target(MoveTarget.USER_AND_ALLIES) - .condition((user, target, move) => !![ user, user.getAlly() ].filter(p => p?.isActive()).find(p => !![ Abilities.PLUS, Abilities.MINUS ].find(a => p?.hasAbility(a, false)))), - new AttackMove(Moves.THROAT_CHOP, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 15, 100, 0, 7) + .condition((user, target, move) => !![ user, user.getAlly() ].filter(p => p?.isActive()).find(p => !![ AbilityId.PLUS, AbilityId.MINUS ].find(a => p?.hasAbility(a, false)))), + new AttackMove(MoveId.THROAT_CHOP, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 15, 100, 0, 7) .attr(AddBattlerTagAttr, BattlerTagType.THROAT_CHOPPED), - new AttackMove(Moves.POLLEN_PUFF, PokemonType.BUG, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 7) + new AttackMove(MoveId.POLLEN_PUFF, PokemonType.BUG, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 7) .attr(StatusCategoryOnAllyAttr) .attr(HealOnAllyAttr, 0.5, true, false) .ballBombMove(), - new AttackMove(Moves.ANCHOR_SHOT, PokemonType.STEEL, MoveCategory.PHYSICAL, 80, 100, 20, 100, 0, 7) + new AttackMove(MoveId.ANCHOR_SHOT, PokemonType.STEEL, MoveCategory.PHYSICAL, 80, 100, 20, 100, 0, 7) .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1, 1, true), - new StatusMove(Moves.PSYCHIC_TERRAIN, PokemonType.PSYCHIC, -1, 10, -1, 0, 7) + new StatusMove(MoveId.PSYCHIC_TERRAIN, PokemonType.PSYCHIC, -1, 10, -1, 0, 7) .attr(TerrainChangeAttr, TerrainType.PSYCHIC) .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.LUNGE, PokemonType.BUG, MoveCategory.PHYSICAL, 80, 100, 15, 100, 0, 7) + new AttackMove(MoveId.LUNGE, PokemonType.BUG, MoveCategory.PHYSICAL, 80, 100, 15, 100, 0, 7) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new AttackMove(Moves.FIRE_LASH, PokemonType.FIRE, MoveCategory.PHYSICAL, 80, 100, 15, 100, 0, 7) + new AttackMove(MoveId.FIRE_LASH, PokemonType.FIRE, MoveCategory.PHYSICAL, 80, 100, 15, 100, 0, 7) .attr(StatStageChangeAttr, [ Stat.DEF ], -1), - new AttackMove(Moves.POWER_TRIP, PokemonType.DARK, MoveCategory.PHYSICAL, 20, 100, 10, -1, 0, 7) + new AttackMove(MoveId.POWER_TRIP, PokemonType.DARK, MoveCategory.PHYSICAL, 20, 100, 10, -1, 0, 7) .attr(PositiveStatStagePowerAttr), - new AttackMove(Moves.BURN_UP, PokemonType.FIRE, MoveCategory.SPECIAL, 130, 100, 5, -1, 0, 7) + new AttackMove(MoveId.BURN_UP, PokemonType.FIRE, MoveCategory.SPECIAL, 130, 100, 5, -1, 0, 7) .condition((user) => { const userTypes = user.getTypes(true); return userTypes.includes(PokemonType.FIRE); @@ -10385,11 +10385,11 @@ export function initMoves() { .attr(RemoveTypeAttr, PokemonType.FIRE, (user) => { globalScene.queueMessage(i18next.t("moveTriggers:burnedItselfOut", { pokemonName: getPokemonNameWithAffix(user) })); }), - new StatusMove(Moves.SPEED_SWAP, PokemonType.PSYCHIC, -1, 10, -1, 0, 7) + new StatusMove(MoveId.SPEED_SWAP, PokemonType.PSYCHIC, -1, 10, -1, 0, 7) .attr(SwapStatAttr, Stat.SPD) .ignoresSubstitute(), - new AttackMove(Moves.SMART_STRIKE, PokemonType.STEEL, MoveCategory.PHYSICAL, 70, -1, 10, -1, 0, 7), - new StatusMove(Moves.PURIFY, PokemonType.POISON, -1, 20, -1, 0, 7) + new AttackMove(MoveId.SMART_STRIKE, PokemonType.STEEL, MoveCategory.PHYSICAL, 70, -1, 10, -1, 0, 7), + new StatusMove(MoveId.PURIFY, PokemonType.POISON, -1, 20, -1, 0, 7) .condition((user, target, move) => { if (!target.status) { return false; @@ -10400,182 +10400,182 @@ export function initMoves() { .attr(HealStatusEffectAttr, false, getNonVolatileStatusEffects()) .triageMove() .reflectable(), - new AttackMove(Moves.REVELATION_DANCE, PokemonType.NORMAL, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 7) + new AttackMove(MoveId.REVELATION_DANCE, PokemonType.NORMAL, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 7) .danceMove() .attr(MatchUserTypeAttr), - new AttackMove(Moves.CORE_ENFORCER, PokemonType.DRAGON, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 7) + new AttackMove(MoveId.CORE_ENFORCER, PokemonType.DRAGON, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 7) .target(MoveTarget.ALL_NEAR_ENEMIES) .attr(SuppressAbilitiesIfActedAttr), - new AttackMove(Moves.TROP_KICK, PokemonType.GRASS, MoveCategory.PHYSICAL, 70, 100, 15, 100, 0, 7) + new AttackMove(MoveId.TROP_KICK, PokemonType.GRASS, MoveCategory.PHYSICAL, 70, 100, 15, 100, 0, 7) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new StatusMove(Moves.INSTRUCT, PokemonType.PSYCHIC, -1, 15, -1, 0, 7) + new StatusMove(MoveId.INSTRUCT, PokemonType.PSYCHIC, -1, 15, -1, 0, 7) .ignoresSubstitute() .attr(RepeatMoveAttr) // incorrect interactions with Gigaton Hammer, Blood Moon & Torment // Also has incorrect interactions with Dancer due to the latter // erroneously adding copied moves to move history. .edgeCase(), - new AttackMove(Moves.BEAK_BLAST, PokemonType.FLYING, MoveCategory.PHYSICAL, 100, 100, 15, -1, -3, 7) + new AttackMove(MoveId.BEAK_BLAST, PokemonType.FLYING, MoveCategory.PHYSICAL, 100, 100, 15, -1, -3, 7) .attr(BeakBlastHeaderAttr) .ballBombMove() .makesContact(false), - new AttackMove(Moves.CLANGING_SCALES, PokemonType.DRAGON, MoveCategory.SPECIAL, 110, 100, 5, -1, 0, 7) + new AttackMove(MoveId.CLANGING_SCALES, PokemonType.DRAGON, MoveCategory.SPECIAL, 110, 100, 5, -1, 0, 7) .attr(StatStageChangeAttr, [ Stat.DEF ], -1, true, { firstTargetOnly: true }) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.DRAGON_HAMMER, PokemonType.DRAGON, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 7), - new AttackMove(Moves.BRUTAL_SWING, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 7) + new AttackMove(MoveId.DRAGON_HAMMER, PokemonType.DRAGON, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 7), + new AttackMove(MoveId.BRUTAL_SWING, PokemonType.DARK, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 7) .target(MoveTarget.ALL_NEAR_OTHERS), - new StatusMove(Moves.AURORA_VEIL, PokemonType.ICE, -1, 20, -1, 0, 7) + new StatusMove(MoveId.AURORA_VEIL, PokemonType.ICE, -1, 20, -1, 0, 7) .condition((user, target, move) => (globalScene.arena.weather?.weatherType === WeatherType.HAIL || globalScene.arena.weather?.weatherType === WeatherType.SNOW) && !globalScene.arena.weather?.isEffectSuppressed()) .attr(AddArenaTagAttr, ArenaTagType.AURORA_VEIL, 5, true) .target(MoveTarget.USER_SIDE), /* Unused */ - new AttackMove(Moves.SINISTER_ARROW_RAID, PokemonType.GHOST, MoveCategory.PHYSICAL, 180, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SINISTER_ARROW_RAID, PokemonType.GHOST, MoveCategory.PHYSICAL, 180, -1, 1, -1, 0, 7) .unimplemented() .makesContact(false) .edgeCase(), // I assume it's because the user needs spirit shackle and decidueye - new AttackMove(Moves.MALICIOUS_MOONSAULT, PokemonType.DARK, MoveCategory.PHYSICAL, 180, -1, 1, -1, 0, 7) + new AttackMove(MoveId.MALICIOUS_MOONSAULT, PokemonType.DARK, MoveCategory.PHYSICAL, 180, -1, 1, -1, 0, 7) .unimplemented() .attr(AlwaysHitMinimizeAttr) .attr(HitsTagAttr, BattlerTagType.MINIMIZED, true) .edgeCase(), // I assume it's because it needs darkest lariat and incineroar - new AttackMove(Moves.OCEANIC_OPERETTA, PokemonType.WATER, MoveCategory.SPECIAL, 195, -1, 1, -1, 0, 7) + new AttackMove(MoveId.OCEANIC_OPERETTA, PokemonType.WATER, MoveCategory.SPECIAL, 195, -1, 1, -1, 0, 7) .unimplemented() .edgeCase(), // I assume it's because it needs sparkling aria and primarina - new AttackMove(Moves.GUARDIAN_OF_ALOLA, PokemonType.FAIRY, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) + new AttackMove(MoveId.GUARDIAN_OF_ALOLA, PokemonType.FAIRY, MoveCategory.SPECIAL, -1, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.SOUL_STEALING_7_STAR_STRIKE, PokemonType.GHOST, MoveCategory.PHYSICAL, 195, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SOUL_STEALING_7_STAR_STRIKE, PokemonType.GHOST, MoveCategory.PHYSICAL, 195, -1, 1, -1, 0, 7) .unimplemented(), - new AttackMove(Moves.STOKED_SPARKSURFER, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 175, -1, 1, 100, 0, 7) + new AttackMove(MoveId.STOKED_SPARKSURFER, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 175, -1, 1, 100, 0, 7) .unimplemented() .edgeCase(), // I assume it's because it needs thunderbolt and Alola Raichu - new AttackMove(Moves.PULVERIZING_PANCAKE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 210, -1, 1, -1, 0, 7) + new AttackMove(MoveId.PULVERIZING_PANCAKE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 210, -1, 1, -1, 0, 7) .unimplemented() .edgeCase(), // I assume it's because it needs giga impact and snorlax - new SelfStatusMove(Moves.EXTREME_EVOBOOST, PokemonType.NORMAL, -1, 1, -1, 0, 7) + new SelfStatusMove(MoveId.EXTREME_EVOBOOST, PokemonType.NORMAL, -1, 1, -1, 0, 7) .unimplemented() .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD ], 2, true), - new AttackMove(Moves.GENESIS_SUPERNOVA, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 185, -1, 1, 100, 0, 7) + new AttackMove(MoveId.GENESIS_SUPERNOVA, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 185, -1, 1, 100, 0, 7) .unimplemented() .attr(TerrainChangeAttr, TerrainType.PSYCHIC), /* End Unused */ - new AttackMove(Moves.SHELL_TRAP, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, -3, 7) + new AttackMove(MoveId.SHELL_TRAP, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, -3, 7) .attr(AddBattlerTagHeaderAttr, BattlerTagType.SHELL_TRAP) .target(MoveTarget.ALL_NEAR_ENEMIES) // Fails if the user was not hit by a physical attack during the turn .condition((user, target, move) => user.getTag(ShellTrapTag)?.activated === true), - new AttackMove(Moves.FLEUR_CANNON, PokemonType.FAIRY, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 7) + new AttackMove(MoveId.FLEUR_CANNON, PokemonType.FAIRY, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 7) .attr(StatStageChangeAttr, [ Stat.SPATK ], -2, true), - new AttackMove(Moves.PSYCHIC_FANGS, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 7) + new AttackMove(MoveId.PSYCHIC_FANGS, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 7) .bitingMove() .attr(RemoveScreensAttr), - new AttackMove(Moves.STOMPING_TANTRUM, PokemonType.GROUND, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 7) + new AttackMove(MoveId.STOMPING_TANTRUM, PokemonType.GROUND, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 7) .attr(MovePowerMultiplierAttr, (user, target, move) => user.getLastXMoves(2)[1]?.result === MoveResult.MISS || user.getLastXMoves(2)[1]?.result === MoveResult.FAIL ? 2 : 1), - new AttackMove(Moves.SHADOW_BONE, PokemonType.GHOST, MoveCategory.PHYSICAL, 85, 100, 10, 20, 0, 7) + new AttackMove(MoveId.SHADOW_BONE, PokemonType.GHOST, MoveCategory.PHYSICAL, 85, 100, 10, 20, 0, 7) .attr(StatStageChangeAttr, [ Stat.DEF ], -1) .makesContact(false), - new AttackMove(Moves.ACCELEROCK, PokemonType.ROCK, MoveCategory.PHYSICAL, 40, 100, 20, -1, 1, 7), - new AttackMove(Moves.LIQUIDATION, PokemonType.WATER, MoveCategory.PHYSICAL, 85, 100, 10, 20, 0, 7) + new AttackMove(MoveId.ACCELEROCK, PokemonType.ROCK, MoveCategory.PHYSICAL, 40, 100, 20, -1, 1, 7), + new AttackMove(MoveId.LIQUIDATION, PokemonType.WATER, MoveCategory.PHYSICAL, 85, 100, 10, 20, 0, 7) .attr(StatStageChangeAttr, [ Stat.DEF ], -1), - new AttackMove(Moves.PRISMATIC_LASER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 160, 100, 10, -1, 0, 7) + new AttackMove(MoveId.PRISMATIC_LASER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 160, 100, 10, -1, 0, 7) .attr(RechargeAttr), - new AttackMove(Moves.SPECTRAL_THIEF, PokemonType.GHOST, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 7) + new AttackMove(MoveId.SPECTRAL_THIEF, PokemonType.GHOST, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 7) .attr(SpectralThiefAttr) .ignoresSubstitute(), - new AttackMove(Moves.SUNSTEEL_STRIKE, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 7) + new AttackMove(MoveId.SUNSTEEL_STRIKE, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 7) .ignoresAbilities(), - new AttackMove(Moves.MOONGEIST_BEAM, PokemonType.GHOST, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 7) + new AttackMove(MoveId.MOONGEIST_BEAM, PokemonType.GHOST, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 7) .ignoresAbilities(), - new StatusMove(Moves.TEARFUL_LOOK, PokemonType.NORMAL, -1, 20, -1, 0, 7) + new StatusMove(MoveId.TEARFUL_LOOK, PokemonType.NORMAL, -1, 20, -1, 0, 7) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], -1) .reflectable(), - new AttackMove(Moves.ZING_ZAP, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 80, 100, 10, 30, 0, 7) + new AttackMove(MoveId.ZING_ZAP, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 80, 100, 10, 30, 0, 7) .attr(FlinchAttr), - new AttackMove(Moves.NATURES_MADNESS, PokemonType.FAIRY, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 7) + new AttackMove(MoveId.NATURES_MADNESS, PokemonType.FAIRY, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 7) .attr(TargetHalfHpDamageAttr), - new AttackMove(Moves.MULTI_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 7) + new AttackMove(MoveId.MULTI_ATTACK, PokemonType.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 7) .attr(FormChangeItemTypeAttr), /* Unused */ - new AttackMove(Moves.TEN_MILLION_VOLT_THUNDERBOLT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 195, -1, 1, -1, 0, 7) + new AttackMove(MoveId.TEN_MILLION_VOLT_THUNDERBOLT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 195, -1, 1, -1, 0, 7) .unimplemented() .edgeCase(), // I assume it's because it needs thunderbolt and pikachu in a cap /* End Unused */ - new AttackMove(Moves.MIND_BLOWN, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 7) + new AttackMove(MoveId.MIND_BLOWN, PokemonType.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 7) .condition(failIfDampCondition) .attr(HalfSacrificialAttr) .target(MoveTarget.ALL_NEAR_OTHERS), - new AttackMove(Moves.PLASMA_FISTS, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 15, -1, 0, 7) + new AttackMove(MoveId.PLASMA_FISTS, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 15, -1, 0, 7) .attr(AddArenaTagAttr, ArenaTagType.ION_DELUGE, 1) .punchingMove(), - new AttackMove(Moves.PHOTON_GEYSER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 7) + new AttackMove(MoveId.PHOTON_GEYSER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 7) .attr(PhotonGeyserCategoryAttr) .ignoresAbilities(), /* Unused */ - new AttackMove(Moves.LIGHT_THAT_BURNS_THE_SKY, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 200, -1, 1, -1, 0, 7) + new AttackMove(MoveId.LIGHT_THAT_BURNS_THE_SKY, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 200, -1, 1, -1, 0, 7) .unimplemented() .attr(PhotonGeyserCategoryAttr) .ignoresAbilities(), - new AttackMove(Moves.SEARING_SUNRAZE_SMASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 200, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SEARING_SUNRAZE_SMASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 200, -1, 1, -1, 0, 7) .unimplemented() .ignoresAbilities(), - new AttackMove(Moves.MENACING_MOONRAZE_MAELSTROM, PokemonType.GHOST, MoveCategory.SPECIAL, 200, -1, 1, -1, 0, 7) + new AttackMove(MoveId.MENACING_MOONRAZE_MAELSTROM, PokemonType.GHOST, MoveCategory.SPECIAL, 200, -1, 1, -1, 0, 7) .unimplemented() .ignoresAbilities(), - new AttackMove(Moves.LETS_SNUGGLE_FOREVER, PokemonType.FAIRY, MoveCategory.PHYSICAL, 190, -1, 1, -1, 0, 7) + new AttackMove(MoveId.LETS_SNUGGLE_FOREVER, PokemonType.FAIRY, MoveCategory.PHYSICAL, 190, -1, 1, -1, 0, 7) .unimplemented() .edgeCase(), // I assume it needs play rough and mimikyu - new AttackMove(Moves.SPLINTERED_STORMSHARDS, PokemonType.ROCK, MoveCategory.PHYSICAL, 190, -1, 1, -1, 0, 7) + new AttackMove(MoveId.SPLINTERED_STORMSHARDS, PokemonType.ROCK, MoveCategory.PHYSICAL, 190, -1, 1, -1, 0, 7) .unimplemented() .attr(ClearTerrainAttr) .makesContact(false), - new AttackMove(Moves.CLANGOROUS_SOULBLAZE, PokemonType.DRAGON, MoveCategory.SPECIAL, 185, -1, 1, 100, 0, 7) + new AttackMove(MoveId.CLANGOROUS_SOULBLAZE, PokemonType.DRAGON, MoveCategory.SPECIAL, 185, -1, 1, 100, 0, 7) .unimplemented() .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, true, { firstTargetOnly: true }) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES) .edgeCase(), // I assume it needs clanging scales and Kommo-O /* End Unused */ - new AttackMove(Moves.ZIPPY_ZAP, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 50, 100, 15, -1, 2, 7) // LGPE Implementation + new AttackMove(MoveId.ZIPPY_ZAP, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 50, 100, 15, -1, 2, 7) // LGPE Implementation .attr(CritOnlyAttr), - new AttackMove(Moves.SPLISHY_SPLASH, PokemonType.WATER, MoveCategory.SPECIAL, 90, 100, 15, 30, 0, 7) + new AttackMove(MoveId.SPLISHY_SPLASH, PokemonType.WATER, MoveCategory.SPECIAL, 90, 100, 15, 30, 0, 7) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.FLOATY_FALL, PokemonType.FLYING, MoveCategory.PHYSICAL, 90, 95, 15, 30, 0, 7) + new AttackMove(MoveId.FLOATY_FALL, PokemonType.FLYING, MoveCategory.PHYSICAL, 90, 95, 15, 30, 0, 7) .attr(FlinchAttr), - new AttackMove(Moves.PIKA_PAPOW, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, -1, 20, -1, 0, 7) + new AttackMove(MoveId.PIKA_PAPOW, PokemonType.ELECTRIC, MoveCategory.SPECIAL, -1, -1, 20, -1, 0, 7) .attr(FriendshipPowerAttr), - new AttackMove(Moves.BOUNCY_BUBBLE, PokemonType.WATER, MoveCategory.SPECIAL, 60, 100, 20, -1, 0, 7) + new AttackMove(MoveId.BOUNCY_BUBBLE, PokemonType.WATER, MoveCategory.SPECIAL, 60, 100, 20, -1, 0, 7) .attr(HitHealAttr, 1) .triageMove(), - new AttackMove(Moves.BUZZY_BUZZ, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 60, 100, 20, 100, 0, 7) + new AttackMove(MoveId.BUZZY_BUZZ, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 60, 100, 20, 100, 0, 7) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), - new AttackMove(Moves.SIZZLY_SLIDE, PokemonType.FIRE, MoveCategory.PHYSICAL, 60, 100, 20, 100, 0, 7) + new AttackMove(MoveId.SIZZLY_SLIDE, PokemonType.FIRE, MoveCategory.PHYSICAL, 60, 100, 20, 100, 0, 7) .attr(StatusEffectAttr, StatusEffect.BURN), - new AttackMove(Moves.GLITZY_GLOW, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 95, 15, -1, 0, 7) + new AttackMove(MoveId.GLITZY_GLOW, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 95, 15, -1, 0, 7) .attr(AddArenaTagAttr, ArenaTagType.LIGHT_SCREEN, 5, false, true), - new AttackMove(Moves.BADDY_BAD, PokemonType.DARK, MoveCategory.SPECIAL, 80, 95, 15, -1, 0, 7) + new AttackMove(MoveId.BADDY_BAD, PokemonType.DARK, MoveCategory.SPECIAL, 80, 95, 15, -1, 0, 7) .attr(AddArenaTagAttr, ArenaTagType.REFLECT, 5, false, true), - new AttackMove(Moves.SAPPY_SEED, PokemonType.GRASS, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 7) + new AttackMove(MoveId.SAPPY_SEED, PokemonType.GRASS, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 7) .attr(LeechSeedAttr) .makesContact(false), - new AttackMove(Moves.FREEZY_FROST, PokemonType.ICE, MoveCategory.SPECIAL, 100, 90, 10, -1, 0, 7) + new AttackMove(MoveId.FREEZY_FROST, PokemonType.ICE, MoveCategory.SPECIAL, 100, 90, 10, -1, 0, 7) .attr(ResetStatsAttr, true), - new AttackMove(Moves.SPARKLY_SWIRL, PokemonType.FAIRY, MoveCategory.SPECIAL, 120, 85, 5, -1, 0, 7) - .attr(PartyStatusCureAttr, null, Abilities.NONE), - new AttackMove(Moves.VEEVEE_VOLLEY, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, -1, 20, -1, 0, 7) + new AttackMove(MoveId.SPARKLY_SWIRL, PokemonType.FAIRY, MoveCategory.SPECIAL, 120, 85, 5, -1, 0, 7) + .attr(PartyStatusCureAttr, null, AbilityId.NONE), + new AttackMove(MoveId.VEEVEE_VOLLEY, PokemonType.NORMAL, MoveCategory.PHYSICAL, -1, -1, 20, -1, 0, 7) .attr(FriendshipPowerAttr), - new AttackMove(Moves.DOUBLE_IRON_BASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 60, 100, 5, 30, 0, 7) + new AttackMove(MoveId.DOUBLE_IRON_BASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 60, 100, 5, 30, 0, 7) .attr(MultiHitAttr, MultiHitType._2) .attr(FlinchAttr) .punchingMove(), /* Unused */ - new SelfStatusMove(Moves.MAX_GUARD, PokemonType.NORMAL, -1, 10, -1, 4, 8) + new SelfStatusMove(MoveId.MAX_GUARD, PokemonType.NORMAL, -1, 10, -1, 4, 8) .unimplemented() .attr(ProtectAttr) .condition(failIfLastCondition), /* End Unused */ - new AttackMove(Moves.DYNAMAX_CANNON, PokemonType.DRAGON, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 8) + new AttackMove(MoveId.DYNAMAX_CANNON, PokemonType.DRAGON, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 8) .attr(MovePowerMultiplierAttr, (user, target, move) => { // Move is only stronger against overleveled foes. if (target.level > globalScene.getMaxExpLevel()) { @@ -10587,13 +10587,13 @@ export function initMoves() { } }), - new AttackMove(Moves.SNIPE_SHOT, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, -1, 0, 8) + new AttackMove(MoveId.SNIPE_SHOT, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, -1, 0, 8) .attr(HighCritAttr) .attr(BypassRedirectAttr), - new AttackMove(Moves.JAW_LOCK, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 8) + new AttackMove(MoveId.JAW_LOCK, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 8) .attr(JawLockAttr) .bitingMove(), - new SelfStatusMove(Moves.STUFF_CHEEKS, PokemonType.NORMAL, -1, 10, -1, 0, 8) + new SelfStatusMove(MoveId.STUFF_CHEEKS, PokemonType.NORMAL, -1, 10, -1, 0, 8) .attr(EatBerryAttr, true) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true) .condition((user) => { @@ -10601,475 +10601,475 @@ export function initMoves() { return userBerries.length > 0; }) .edgeCase(), // Stuff Cheeks should not be selectable when the user does not have a berry, see wiki - new SelfStatusMove(Moves.NO_RETREAT, PokemonType.FIGHTING, -1, 5, -1, 0, 8) + new SelfStatusMove(MoveId.NO_RETREAT, PokemonType.FIGHTING, -1, 5, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, true) .attr(AddBattlerTagAttr, BattlerTagType.NO_RETREAT, true, false) - .condition((user, target, move) => user.getTag(TrappedTag)?.sourceMove !== Moves.NO_RETREAT), // fails if the user is currently trapped by No Retreat - new StatusMove(Moves.TAR_SHOT, PokemonType.ROCK, 100, 15, -1, 0, 8) + .condition((user, target, move) => user.getTag(TrappedTag)?.sourceMove !== MoveId.NO_RETREAT), // fails if the user is currently trapped by No Retreat + new StatusMove(MoveId.TAR_SHOT, PokemonType.ROCK, 100, 15, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .attr(AddBattlerTagAttr, BattlerTagType.TAR_SHOT, false) .reflectable(), - new StatusMove(Moves.MAGIC_POWDER, PokemonType.PSYCHIC, 100, 20, -1, 0, 8) + new StatusMove(MoveId.MAGIC_POWDER, PokemonType.PSYCHIC, 100, 20, -1, 0, 8) .attr(ChangeTypeAttr, PokemonType.PSYCHIC) .powderMove() .reflectable(), - new AttackMove(Moves.DRAGON_DARTS, PokemonType.DRAGON, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 8) + new AttackMove(MoveId.DRAGON_DARTS, PokemonType.DRAGON, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 8) .attr(MultiHitAttr, MultiHitType._2) .makesContact(false) .partial(), // smart targetting is unimplemented - new StatusMove(Moves.TEATIME, PokemonType.NORMAL, -1, 10, -1, 0, 8) + new StatusMove(MoveId.TEATIME, PokemonType.NORMAL, -1, 10, -1, 0, 8) .attr(EatBerryAttr, false) .target(MoveTarget.ALL), - new StatusMove(Moves.OCTOLOCK, PokemonType.FIGHTING, 100, 15, -1, 0, 8) + new StatusMove(MoveId.OCTOLOCK, PokemonType.FIGHTING, 100, 15, -1, 0, 8) .condition(failIfGhostTypeCondition) .attr(AddBattlerTagAttr, BattlerTagType.OCTOLOCK, false, true, 1), - new AttackMove(Moves.BOLT_BEAK, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 8) + new AttackMove(MoveId.BOLT_BEAK, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 8) .attr(FirstAttackDoublePowerAttr), - new AttackMove(Moves.FISHIOUS_REND, PokemonType.WATER, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 8) + new AttackMove(MoveId.FISHIOUS_REND, PokemonType.WATER, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 8) .attr(FirstAttackDoublePowerAttr) .bitingMove(), - new StatusMove(Moves.COURT_CHANGE, PokemonType.NORMAL, 100, 10, -1, 0, 8) + new StatusMove(MoveId.COURT_CHANGE, PokemonType.NORMAL, 100, 10, -1, 0, 8) .attr(SwapArenaTagsAttr, [ ArenaTagType.AURORA_VEIL, ArenaTagType.LIGHT_SCREEN, ArenaTagType.MIST, ArenaTagType.REFLECT, ArenaTagType.SPIKES, ArenaTagType.STEALTH_ROCK, ArenaTagType.STICKY_WEB, ArenaTagType.TAILWIND, ArenaTagType.TOXIC_SPIKES ]), /* Unused */ - new AttackMove(Moves.MAX_FLARE, PokemonType.FIRE, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_FLARE, PokemonType.FIRE, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_FLUTTERBY, PokemonType.BUG, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_FLUTTERBY, PokemonType.BUG, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_LIGHTNING, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_LIGHTNING, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_STRIKE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_STRIKE, PokemonType.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_KNUCKLE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_KNUCKLE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_PHANTASM, PokemonType.GHOST, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_PHANTASM, PokemonType.GHOST, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_HAILSTORM, PokemonType.ICE, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_HAILSTORM, PokemonType.ICE, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_OOZE, PokemonType.POISON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_OOZE, PokemonType.POISON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_GEYSER, PokemonType.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_GEYSER, PokemonType.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_AIRSTREAM, PokemonType.FLYING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_AIRSTREAM, PokemonType.FLYING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_STARFALL, PokemonType.FAIRY, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_STARFALL, PokemonType.FAIRY, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_WYRMWIND, PokemonType.DRAGON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_WYRMWIND, PokemonType.DRAGON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_MINDSTORM, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_MINDSTORM, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_ROCKFALL, PokemonType.ROCK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_ROCKFALL, PokemonType.ROCK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_QUAKE, PokemonType.GROUND, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_QUAKE, PokemonType.GROUND, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_DARKNESS, PokemonType.DARK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_DARKNESS, PokemonType.DARK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_OVERGROWTH, PokemonType.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_OVERGROWTH, PokemonType.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), - new AttackMove(Moves.MAX_STEELSPIKE, PokemonType.STEEL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.MAX_STEELSPIKE, PokemonType.STEEL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.NEAR_ENEMY) .unimplemented(), /* End Unused */ - new SelfStatusMove(Moves.CLANGOROUS_SOUL, PokemonType.DRAGON, 100, 5, -1, 0, 8) + new SelfStatusMove(MoveId.CLANGOROUS_SOUL, PokemonType.DRAGON, 100, 5, -1, 0, 8) .attr(CutHpStatStageBoostAttr, [ Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.SPD ], 1, 3) .soundBased() .danceMove(), - new AttackMove(Moves.BODY_PRESS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 8) + new AttackMove(MoveId.BODY_PRESS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 8) .attr(DefAtkAttr), - new StatusMove(Moves.DECORATE, PokemonType.FAIRY, -1, 15, -1, 0, 8) + new StatusMove(MoveId.DECORATE, PokemonType.FAIRY, -1, 15, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 2) .ignoresProtect(), - new AttackMove(Moves.DRUM_BEATING, PokemonType.GRASS, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 8) + new AttackMove(MoveId.DRUM_BEATING, PokemonType.GRASS, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .makesContact(false), - new AttackMove(Moves.SNAP_TRAP, PokemonType.GRASS, MoveCategory.PHYSICAL, 35, 100, 15, -1, 0, 8) + new AttackMove(MoveId.SNAP_TRAP, PokemonType.GRASS, MoveCategory.PHYSICAL, 35, 100, 15, -1, 0, 8) .attr(TrapAttr, BattlerTagType.SNAP_TRAP), - new AttackMove(Moves.PYRO_BALL, PokemonType.FIRE, MoveCategory.PHYSICAL, 120, 90, 5, 10, 0, 8) + new AttackMove(MoveId.PYRO_BALL, PokemonType.FIRE, MoveCategory.PHYSICAL, 120, 90, 5, 10, 0, 8) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN) .ballBombMove() .makesContact(false), - new AttackMove(Moves.BEHEMOTH_BLADE, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 8) + new AttackMove(MoveId.BEHEMOTH_BLADE, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 8) .slicingMove(), - new AttackMove(Moves.BEHEMOTH_BASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 8), - new AttackMove(Moves.AURA_WHEEL, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 110, 100, 10, 100, 0, 8) + new AttackMove(MoveId.BEHEMOTH_BASH, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 8), + new AttackMove(MoveId.AURA_WHEEL, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 110, 100, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true) .makesContact(false) .attr(AuraWheelTypeAttr), - new AttackMove(Moves.BREAKING_SWIPE, PokemonType.DRAGON, MoveCategory.PHYSICAL, 60, 100, 15, 100, 0, 8) + new AttackMove(MoveId.BREAKING_SWIPE, PokemonType.DRAGON, MoveCategory.PHYSICAL, 60, 100, 15, 100, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new AttackMove(Moves.BRANCH_POKE, PokemonType.GRASS, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 8), - new AttackMove(Moves.OVERDRIVE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 8) + new AttackMove(MoveId.BRANCH_POKE, PokemonType.GRASS, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 8), + new AttackMove(MoveId.OVERDRIVE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 8) .soundBased() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.APPLE_ACID, PokemonType.GRASS, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 8) + new AttackMove(MoveId.APPLE_ACID, PokemonType.GRASS, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -1), - new AttackMove(Moves.GRAV_APPLE, PokemonType.GRASS, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 8) + new AttackMove(MoveId.GRAV_APPLE, PokemonType.GRASS, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.DEF ], -1) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTag(ArenaTagType.GRAVITY) ? 1.5 : 1) .makesContact(false), - new AttackMove(Moves.SPIRIT_BREAK, PokemonType.FAIRY, MoveCategory.PHYSICAL, 75, 100, 15, 100, 0, 8) + new AttackMove(MoveId.SPIRIT_BREAK, PokemonType.FAIRY, MoveCategory.PHYSICAL, 75, 100, 15, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1), - new AttackMove(Moves.STRANGE_STEAM, PokemonType.FAIRY, MoveCategory.SPECIAL, 90, 95, 10, 20, 0, 8) + new AttackMove(MoveId.STRANGE_STEAM, PokemonType.FAIRY, MoveCategory.SPECIAL, 90, 95, 10, 20, 0, 8) .attr(ConfuseAttr), - new StatusMove(Moves.LIFE_DEW, PokemonType.WATER, -1, 10, -1, 0, 8) + new StatusMove(MoveId.LIFE_DEW, PokemonType.WATER, -1, 10, -1, 0, 8) .attr(HealAttr, 0.25, true, false) .target(MoveTarget.USER_AND_ALLIES) .ignoresProtect(), - new SelfStatusMove(Moves.OBSTRUCT, PokemonType.DARK, 100, 10, -1, 4, 8) + new SelfStatusMove(MoveId.OBSTRUCT, PokemonType.DARK, 100, 10, -1, 4, 8) .attr(ProtectAttr, BattlerTagType.OBSTRUCT) .condition(failIfLastCondition), - new AttackMove(Moves.FALSE_SURRENDER, PokemonType.DARK, MoveCategory.PHYSICAL, 80, -1, 10, -1, 0, 8), - new AttackMove(Moves.METEOR_ASSAULT, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 5, -1, 0, 8) + new AttackMove(MoveId.FALSE_SURRENDER, PokemonType.DARK, MoveCategory.PHYSICAL, 80, -1, 10, -1, 0, 8), + new AttackMove(MoveId.METEOR_ASSAULT, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 5, -1, 0, 8) .attr(RechargeAttr) .makesContact(false), - new AttackMove(Moves.ETERNABEAM, PokemonType.DRAGON, MoveCategory.SPECIAL, 160, 90, 5, -1, 0, 8) + new AttackMove(MoveId.ETERNABEAM, PokemonType.DRAGON, MoveCategory.SPECIAL, 160, 90, 5, -1, 0, 8) .attr(RechargeAttr), - new AttackMove(Moves.STEEL_BEAM, PokemonType.STEEL, MoveCategory.SPECIAL, 140, 95, 5, -1, 0, 8) + new AttackMove(MoveId.STEEL_BEAM, PokemonType.STEEL, MoveCategory.SPECIAL, 140, 95, 5, -1, 0, 8) .attr(HalfSacrificialAttr), - new AttackMove(Moves.EXPANDING_FORCE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 8) + new AttackMove(MoveId.EXPANDING_FORCE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 8) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.PSYCHIC && user.isGrounded() ? 1.5 : 1) .attr(VariableTargetAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.PSYCHIC && user.isGrounded() ? MoveTarget.ALL_NEAR_ENEMIES : MoveTarget.NEAR_OTHER), - new AttackMove(Moves.STEEL_ROLLER, PokemonType.STEEL, MoveCategory.PHYSICAL, 130, 100, 5, -1, 0, 8) + new AttackMove(MoveId.STEEL_ROLLER, PokemonType.STEEL, MoveCategory.PHYSICAL, 130, 100, 5, -1, 0, 8) .attr(ClearTerrainAttr) .condition((user, target, move) => !!globalScene.arena.terrain), - new AttackMove(Moves.SCALE_SHOT, PokemonType.DRAGON, MoveCategory.PHYSICAL, 25, 90, 20, -1, 0, 8) + new AttackMove(MoveId.SCALE_SHOT, PokemonType.DRAGON, MoveCategory.PHYSICAL, 25, 90, 20, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true, { lastHitOnly: true }) .attr(StatStageChangeAttr, [ Stat.DEF ], -1, true, { lastHitOnly: true }) .attr(MultiHitAttr) .makesContact(false), - new ChargingAttackMove(Moves.METEOR_BEAM, PokemonType.ROCK, MoveCategory.SPECIAL, 120, 90, 10, -1, 0, 8) + new ChargingAttackMove(MoveId.METEOR_BEAM, PokemonType.ROCK, MoveCategory.SPECIAL, 120, 90, 10, -1, 0, 8) .chargeText(i18next.t("moveTriggers:isOverflowingWithSpacePower", { pokemonName: "{USER}" })) .chargeAttr(StatStageChangeAttr, [ Stat.SPATK ], 1, true), - new AttackMove(Moves.SHELL_SIDE_ARM, PokemonType.POISON, MoveCategory.SPECIAL, 90, 100, 10, 20, 0, 8) + new AttackMove(MoveId.SHELL_SIDE_ARM, PokemonType.POISON, MoveCategory.SPECIAL, 90, 100, 10, 20, 0, 8) .attr(ShellSideArmCategoryAttr) .attr(StatusEffectAttr, StatusEffect.POISON) .partial(), // Physical version of the move does not make contact - new AttackMove(Moves.MISTY_EXPLOSION, PokemonType.FAIRY, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 8) + new AttackMove(MoveId.MISTY_EXPLOSION, PokemonType.FAIRY, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 8) .attr(SacrificialAttr) .target(MoveTarget.ALL_NEAR_OTHERS) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.MISTY && user.isGrounded() ? 1.5 : 1) .condition(failIfDampCondition) .makesContact(false), - new AttackMove(Moves.GRASSY_GLIDE, PokemonType.GRASS, MoveCategory.PHYSICAL, 55, 100, 20, -1, 0, 8) + new AttackMove(MoveId.GRASSY_GLIDE, PokemonType.GRASS, MoveCategory.PHYSICAL, 55, 100, 20, -1, 0, 8) .attr(IncrementMovePriorityAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.GRASSY && user.isGrounded()), - new AttackMove(Moves.RISING_VOLTAGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, -1, 0, 8) + new AttackMove(MoveId.RISING_VOLTAGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, -1, 0, 8) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.ELECTRIC && target.isGrounded() ? 2 : 1), - new AttackMove(Moves.TERRAIN_PULSE, PokemonType.NORMAL, MoveCategory.SPECIAL, 50, 100, 10, -1, 0, 8) + new AttackMove(MoveId.TERRAIN_PULSE, PokemonType.NORMAL, MoveCategory.SPECIAL, 50, 100, 10, -1, 0, 8) .attr(TerrainPulseTypeAttr) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() !== TerrainType.NONE && user.isGrounded() ? 2 : 1) .pulseMove(), - new AttackMove(Moves.SKITTER_SMACK, PokemonType.BUG, MoveCategory.PHYSICAL, 70, 90, 10, 100, 0, 8) + new AttackMove(MoveId.SKITTER_SMACK, PokemonType.BUG, MoveCategory.PHYSICAL, 70, 90, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1), - new AttackMove(Moves.BURNING_JEALOUSY, PokemonType.FIRE, MoveCategory.SPECIAL, 70, 100, 5, 100, 0, 8) + new AttackMove(MoveId.BURNING_JEALOUSY, PokemonType.FIRE, MoveCategory.SPECIAL, 70, 100, 5, 100, 0, 8) .attr(StatusIfBoostedAttr, StatusEffect.BURN) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.LASH_OUT, PokemonType.DARK, MoveCategory.PHYSICAL, 75, 100, 5, -1, 0, 8) + new AttackMove(MoveId.LASH_OUT, PokemonType.DARK, MoveCategory.PHYSICAL, 75, 100, 5, -1, 0, 8) .attr(MovePowerMultiplierAttr, (user, _target, _move) => user.turnData.statStagesDecreased ? 2 : 1), - new AttackMove(Moves.POLTERGEIST, PokemonType.GHOST, MoveCategory.PHYSICAL, 110, 90, 5, -1, 0, 8) + new AttackMove(MoveId.POLTERGEIST, PokemonType.GHOST, MoveCategory.PHYSICAL, 110, 90, 5, -1, 0, 8) .condition(failIfNoTargetHeldItemsCondition) .attr(PreMoveMessageAttr, attackedByItemMessageFunc) .makesContact(false), - new StatusMove(Moves.CORROSIVE_GAS, PokemonType.POISON, 100, 40, -1, 0, 8) + new StatusMove(MoveId.CORROSIVE_GAS, PokemonType.POISON, 100, 40, -1, 0, 8) .target(MoveTarget.ALL_NEAR_OTHERS) .reflectable() .unimplemented(), - new StatusMove(Moves.COACHING, PokemonType.FIGHTING, -1, 10, -1, 0, 8) + new StatusMove(MoveId.COACHING, PokemonType.FIGHTING, -1, 10, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF ], 1) .target(MoveTarget.NEAR_ALLY) .condition(failIfSingleBattle), - new AttackMove(Moves.FLIP_TURN, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 8) + new AttackMove(MoveId.FLIP_TURN, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 8) .attr(ForceSwitchOutAttr, true), - new AttackMove(Moves.TRIPLE_AXEL, PokemonType.ICE, MoveCategory.PHYSICAL, 20, 90, 10, -1, 0, 8) + new AttackMove(MoveId.TRIPLE_AXEL, PokemonType.ICE, MoveCategory.PHYSICAL, 20, 90, 10, -1, 0, 8) .attr(MultiHitAttr, MultiHitType._3) .attr(MultiHitPowerIncrementAttr, 3) .checkAllHits(), - new AttackMove(Moves.DUAL_WINGBEAT, PokemonType.FLYING, MoveCategory.PHYSICAL, 40, 90, 10, -1, 0, 8) + new AttackMove(MoveId.DUAL_WINGBEAT, PokemonType.FLYING, MoveCategory.PHYSICAL, 40, 90, 10, -1, 0, 8) .attr(MultiHitAttr, MultiHitType._2), - new AttackMove(Moves.SCORCHING_SANDS, PokemonType.GROUND, MoveCategory.SPECIAL, 70, 100, 10, 30, 0, 8) + new AttackMove(MoveId.SCORCHING_SANDS, PokemonType.GROUND, MoveCategory.SPECIAL, 70, 100, 10, 30, 0, 8) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(HealStatusEffectAttr, false, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN), - new StatusMove(Moves.JUNGLE_HEALING, PokemonType.GRASS, -1, 10, -1, 0, 8) + new StatusMove(MoveId.JUNGLE_HEALING, PokemonType.GRASS, -1, 10, -1, 0, 8) .attr(HealAttr, 0.25, true, false) .attr(HealStatusEffectAttr, false, getNonVolatileStatusEffects()) .target(MoveTarget.USER_AND_ALLIES), - new AttackMove(Moves.WICKED_BLOW, PokemonType.DARK, MoveCategory.PHYSICAL, 75, 100, 5, -1, 0, 8) + new AttackMove(MoveId.WICKED_BLOW, PokemonType.DARK, MoveCategory.PHYSICAL, 75, 100, 5, -1, 0, 8) .attr(CritOnlyAttr) .punchingMove(), - new AttackMove(Moves.SURGING_STRIKES, PokemonType.WATER, MoveCategory.PHYSICAL, 25, 100, 5, -1, 0, 8) + new AttackMove(MoveId.SURGING_STRIKES, PokemonType.WATER, MoveCategory.PHYSICAL, 25, 100, 5, -1, 0, 8) .attr(MultiHitAttr, MultiHitType._3) .attr(CritOnlyAttr) .punchingMove(), - new AttackMove(Moves.THUNDER_CAGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 80, 90, 15, -1, 0, 8) + new AttackMove(MoveId.THUNDER_CAGE, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 80, 90, 15, -1, 0, 8) .attr(TrapAttr, BattlerTagType.THUNDER_CAGE), - new AttackMove(Moves.DRAGON_ENERGY, PokemonType.DRAGON, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 8) + new AttackMove(MoveId.DRAGON_ENERGY, PokemonType.DRAGON, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 8) .attr(HpPowerAttr) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.FREEZING_GLARE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 8) + new AttackMove(MoveId.FREEZING_GLARE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 8) .attr(StatusEffectAttr, StatusEffect.FREEZE), - new AttackMove(Moves.FIERY_WRATH, PokemonType.DARK, MoveCategory.SPECIAL, 90, 100, 10, 20, 0, 8) + new AttackMove(MoveId.FIERY_WRATH, PokemonType.DARK, MoveCategory.SPECIAL, 90, 100, 10, 20, 0, 8) .attr(FlinchAttr) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.THUNDEROUS_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 10, 100, 0, 8) + new AttackMove(MoveId.THUNDEROUS_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.DEF ], -1), - new AttackMove(Moves.GLACIAL_LANCE, PokemonType.ICE, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 8) + new AttackMove(MoveId.GLACIAL_LANCE, PokemonType.ICE, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .makesContact(false), - new AttackMove(Moves.ASTRAL_BARRAGE, PokemonType.GHOST, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 8) + new AttackMove(MoveId.ASTRAL_BARRAGE, PokemonType.GHOST, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.EERIE_SPELL, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 5, 100, 0, 8) + new AttackMove(MoveId.EERIE_SPELL, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 5, 100, 0, 8) .attr(AttackReducePpMoveAttr, 3) .soundBased(), - new AttackMove(Moves.DIRE_CLAW, PokemonType.POISON, MoveCategory.PHYSICAL, 80, 100, 15, 50, 0, 8) + new AttackMove(MoveId.DIRE_CLAW, PokemonType.POISON, MoveCategory.PHYSICAL, 80, 100, 15, 50, 0, 8) .attr(MultiStatusEffectAttr, [ StatusEffect.POISON, StatusEffect.PARALYSIS, StatusEffect.SLEEP ]), - new AttackMove(Moves.PSYSHIELD_BASH, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 70, 90, 10, 100, 0, 8) + new AttackMove(MoveId.PSYSHIELD_BASH, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 70, 90, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.DEF ], 1, true), - new SelfStatusMove(Moves.POWER_SHIFT, PokemonType.NORMAL, -1, 10, -1, 0, 8) + new SelfStatusMove(MoveId.POWER_SHIFT, PokemonType.NORMAL, -1, 10, -1, 0, 8) .target(MoveTarget.USER) .attr(ShiftStatAttr, Stat.ATK, Stat.DEF), - new AttackMove(Moves.STONE_AXE, PokemonType.ROCK, MoveCategory.PHYSICAL, 65, 90, 15, 100, 0, 8) + new AttackMove(MoveId.STONE_AXE, PokemonType.ROCK, MoveCategory.PHYSICAL, 65, 90, 15, 100, 0, 8) .attr(AddArenaTrapTagHitAttr, ArenaTagType.STEALTH_ROCK) .slicingMove(), - new AttackMove(Moves.SPRINGTIDE_STORM, PokemonType.FAIRY, MoveCategory.SPECIAL, 100, 80, 5, 30, 0, 8) + new AttackMove(MoveId.SPRINGTIDE_STORM, PokemonType.FAIRY, MoveCategory.SPECIAL, 100, 80, 5, 30, 0, 8) .attr(StatStageChangeAttr, [ Stat.ATK ], -1) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.MYSTICAL_POWER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 70, 90, 10, 100, 0, 8) + new AttackMove(MoveId.MYSTICAL_POWER, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 70, 90, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPATK ], 1, true), - new AttackMove(Moves.RAGING_FURY, PokemonType.FIRE, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 8) + new AttackMove(MoveId.RAGING_FURY, PokemonType.FIRE, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 8) .makesContact(false) .attr(FrenzyAttr) .attr(MissEffectAttr, frenzyMissFunc) .attr(NoEffectAttr, frenzyMissFunc) .target(MoveTarget.RANDOM_NEAR_ENEMY), - new AttackMove(Moves.WAVE_CRASH, PokemonType.WATER, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 8) + new AttackMove(MoveId.WAVE_CRASH, PokemonType.WATER, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 8) .attr(RecoilAttr, false, 0.33) .recklessMove(), - new AttackMove(Moves.CHLOROBLAST, PokemonType.GRASS, MoveCategory.SPECIAL, 150, 95, 5, -1, 0, 8) + new AttackMove(MoveId.CHLOROBLAST, PokemonType.GRASS, MoveCategory.SPECIAL, 150, 95, 5, -1, 0, 8) .attr(RecoilAttr, true, 0.5), - new AttackMove(Moves.MOUNTAIN_GALE, PokemonType.ICE, MoveCategory.PHYSICAL, 100, 85, 10, 30, 0, 8) + new AttackMove(MoveId.MOUNTAIN_GALE, PokemonType.ICE, MoveCategory.PHYSICAL, 100, 85, 10, 30, 0, 8) .makesContact(false) .attr(FlinchAttr), - new SelfStatusMove(Moves.VICTORY_DANCE, PokemonType.FIGHTING, -1, 10, -1, 0, 8) + new SelfStatusMove(MoveId.VICTORY_DANCE, PokemonType.FIGHTING, -1, 10, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.DEF, Stat.SPD ], 1, true) .danceMove(), - new AttackMove(Moves.HEADLONG_RUSH, PokemonType.GROUND, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 8) + new AttackMove(MoveId.HEADLONG_RUSH, PokemonType.GROUND, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], -1, true) .punchingMove(), - new AttackMove(Moves.BARB_BARRAGE, PokemonType.POISON, MoveCategory.PHYSICAL, 60, 100, 10, 50, 0, 8) + new AttackMove(MoveId.BARB_BARRAGE, PokemonType.POISON, MoveCategory.PHYSICAL, 60, 100, 10, 50, 0, 8) .makesContact(false) .attr(MovePowerMultiplierAttr, (user, target, move) => target.status && (target.status.effect === StatusEffect.POISON || target.status.effect === StatusEffect.TOXIC) ? 2 : 1) .attr(StatusEffectAttr, StatusEffect.POISON), - new AttackMove(Moves.ESPER_WING, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 8) + new AttackMove(MoveId.ESPER_WING, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 8) .attr(HighCritAttr) .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true), - new AttackMove(Moves.BITTER_MALICE, PokemonType.GHOST, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 8) + new AttackMove(MoveId.BITTER_MALICE, PokemonType.GHOST, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 8) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new SelfStatusMove(Moves.SHELTER, PokemonType.STEEL, -1, 10, -1, 0, 8) + new SelfStatusMove(MoveId.SHELTER, PokemonType.STEEL, -1, 10, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.DEF ], 2, true), - new AttackMove(Moves.TRIPLE_ARROWS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 10, 30, 0, 8) + new AttackMove(MoveId.TRIPLE_ARROWS, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 10, 30, 0, 8) .makesContact(false) .attr(HighCritAttr) .attr(StatStageChangeAttr, [ Stat.DEF ], -1, false, { effectChanceOverride: 50 }) .attr(FlinchAttr), - new AttackMove(Moves.INFERNAL_PARADE, PokemonType.GHOST, MoveCategory.SPECIAL, 60, 100, 15, 30, 0, 8) + new AttackMove(MoveId.INFERNAL_PARADE, PokemonType.GHOST, MoveCategory.SPECIAL, 60, 100, 15, 30, 0, 8) .attr(StatusEffectAttr, StatusEffect.BURN) .attr(MovePowerMultiplierAttr, (user, target, move) => target.status ? 2 : 1), - new AttackMove(Moves.CEASELESS_EDGE, PokemonType.DARK, MoveCategory.PHYSICAL, 65, 90, 15, 100, 0, 8) + new AttackMove(MoveId.CEASELESS_EDGE, PokemonType.DARK, MoveCategory.PHYSICAL, 65, 90, 15, 100, 0, 8) .attr(AddArenaTrapTagHitAttr, ArenaTagType.SPIKES) .slicingMove(), - new AttackMove(Moves.BLEAKWIND_STORM, PokemonType.FLYING, MoveCategory.SPECIAL, 100, 80, 10, 30, 0, 8) + new AttackMove(MoveId.BLEAKWIND_STORM, PokemonType.FLYING, MoveCategory.SPECIAL, 100, 80, 10, 30, 0, 8) .attr(StormAccuracyAttr) .attr(StatStageChangeAttr, [ Stat.SPD ], -1) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.WILDBOLT_STORM, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 100, 80, 10, 20, 0, 8) + new AttackMove(MoveId.WILDBOLT_STORM, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 100, 80, 10, 20, 0, 8) .attr(StormAccuracyAttr) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.SANDSEAR_STORM, PokemonType.GROUND, MoveCategory.SPECIAL, 100, 80, 10, 20, 0, 8) + new AttackMove(MoveId.SANDSEAR_STORM, PokemonType.GROUND, MoveCategory.SPECIAL, 100, 80, 10, 20, 0, 8) .attr(StormAccuracyAttr) .attr(StatusEffectAttr, StatusEffect.BURN) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), - new StatusMove(Moves.LUNAR_BLESSING, PokemonType.PSYCHIC, -1, 5, -1, 0, 8) + new StatusMove(MoveId.LUNAR_BLESSING, PokemonType.PSYCHIC, -1, 5, -1, 0, 8) .attr(HealAttr, 0.25, true, false) .attr(HealStatusEffectAttr, false, getNonVolatileStatusEffects()) .target(MoveTarget.USER_AND_ALLIES) .triageMove(), - new SelfStatusMove(Moves.TAKE_HEART, PokemonType.PSYCHIC, -1, 10, -1, 0, 8) + new SelfStatusMove(MoveId.TAKE_HEART, PokemonType.PSYCHIC, -1, 10, -1, 0, 8) .attr(StatStageChangeAttr, [ Stat.SPATK, Stat.SPDEF ], 1, true) .attr(HealStatusEffectAttr, true, [ StatusEffect.PARALYSIS, StatusEffect.POISON, StatusEffect.TOXIC, StatusEffect.BURN, StatusEffect.SLEEP ]), /* Unused - new AttackMove(Moves.G_MAX_WILDFIRE, PokemonType.Fire, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_WILDFIRE, PokemonType.Fire, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_BEFUDDLE, Type.BUG, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_BEFUDDLE, Type.BUG, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_VOLT_CRASH, Type.ELECTRIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_VOLT_CRASH, Type.ELECTRIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_GOLD_RUSH, Type.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_GOLD_RUSH, Type.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_CHI_STRIKE, Type.FIGHTING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_CHI_STRIKE, Type.FIGHTING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_TERROR, Type.GHOST, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_TERROR, Type.GHOST, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_RESONANCE, Type.ICE, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_RESONANCE, Type.ICE, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_CUDDLE, Type.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_CUDDLE, Type.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_REPLENISH, Type.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_REPLENISH, Type.NORMAL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_MALODOR, Type.POISON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_MALODOR, Type.POISON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_STONESURGE, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_STONESURGE, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_WIND_RAGE, Type.FLYING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_WIND_RAGE, Type.FLYING, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_STUN_SHOCK, Type.ELECTRIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_STUN_SHOCK, Type.ELECTRIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_FINALE, Type.FAIRY, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_FINALE, Type.FAIRY, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_DEPLETION, Type.DRAGON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_DEPLETION, Type.DRAGON, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_GRAVITAS, Type.PSYCHIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_GRAVITAS, Type.PSYCHIC, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_VOLCALITH, Type.ROCK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_VOLCALITH, Type.ROCK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_SANDBLAST, Type.GROUND, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_SANDBLAST, Type.GROUND, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_SNOOZE, Type.DARK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_SNOOZE, Type.DARK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_TARTNESS, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_TARTNESS, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_SWEETNESS, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_SWEETNESS, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_SMITE, Type.FAIRY, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_SMITE, Type.FAIRY, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_STEELSURGE, Type.STEEL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_STEELSURGE, Type.STEEL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_MELTDOWN, Type.STEEL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_MELTDOWN, Type.STEEL, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_FOAM_BURST, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_FOAM_BURST, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_CENTIFERNO, PokemonType.Fire, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_CENTIFERNO, PokemonType.Fire, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_VINE_LASH, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_VINE_LASH, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_CANNONADE, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_CANNONADE, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_DRUM_SOLO, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_DRUM_SOLO, Type.GRASS, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_FIREBALL, PokemonType.Fire, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_FIREBALL, PokemonType.Fire, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_HYDROSNIPE, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_HYDROSNIPE, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_ONE_BLOW, Type.DARK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_ONE_BLOW, Type.DARK, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), - new AttackMove(Moves.G_MAX_RAPID_FLOW, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) + new AttackMove(MoveId.G_MAX_RAPID_FLOW, Type.WATER, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES) .unimplemented(), End Unused */ - new AttackMove(Moves.TERA_BLAST, PokemonType.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 9) + new AttackMove(MoveId.TERA_BLAST, PokemonType.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 9) .attr(TeraMoveCategoryAttr) .attr(TeraBlastTypeAttr) .attr(TeraBlastPowerAttr) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], -1, true, { condition: (user, target, move) => user.isTerastallized && user.isOfType(PokemonType.STELLAR) }), - new SelfStatusMove(Moves.SILK_TRAP, PokemonType.BUG, -1, 10, -1, 4, 9) + new SelfStatusMove(MoveId.SILK_TRAP, PokemonType.BUG, -1, 10, -1, 4, 9) .attr(ProtectAttr, BattlerTagType.SILK_TRAP) .condition(failIfLastCondition), - new AttackMove(Moves.AXE_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 120, 90, 10, 30, 0, 9) + new AttackMove(MoveId.AXE_KICK, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 120, 90, 10, 30, 0, 9) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) .attr(ConfuseAttr) .recklessMove(), - new AttackMove(Moves.LAST_RESPECTS, PokemonType.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 9) + new AttackMove(MoveId.LAST_RESPECTS, PokemonType.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 9) .attr(MovePowerMultiplierAttr, (user, target, move) => 1 + Math.min(user.isPlayer() ? globalScene.arena.playerFaints : globalScene.currentBattle.enemyFaints, 100)) .makesContact(false), - new AttackMove(Moves.LUMINA_CRASH, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) + new AttackMove(MoveId.LUMINA_CRASH, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPDEF ], -2), - new AttackMove(Moves.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9) + new AttackMove(MoveId.ORDER_UP, PokemonType.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9) .attr(OrderUpStatBoostAttr) .makesContact(false), - new AttackMove(Moves.JET_PUNCH, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 15, -1, 1, 9) + new AttackMove(MoveId.JET_PUNCH, PokemonType.WATER, MoveCategory.PHYSICAL, 60, 100, 15, -1, 1, 9) .punchingMove(), - new StatusMove(Moves.SPICY_EXTRACT, PokemonType.GRASS, -1, 15, -1, 0, 9) + new StatusMove(MoveId.SPICY_EXTRACT, PokemonType.GRASS, -1, 15, -1, 0, 9) .attr(StatStageChangeAttr, [ Stat.ATK ], 2) .attr(StatStageChangeAttr, [ Stat.DEF ], -2), - new AttackMove(Moves.SPIN_OUT, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9) + new AttackMove(MoveId.SPIN_OUT, PokemonType.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPD ], -2, true), - new AttackMove(Moves.POPULATION_BOMB, PokemonType.NORMAL, MoveCategory.PHYSICAL, 20, 90, 10, -1, 0, 9) + new AttackMove(MoveId.POPULATION_BOMB, PokemonType.NORMAL, MoveCategory.PHYSICAL, 20, 90, 10, -1, 0, 9) .attr(MultiHitAttr, MultiHitType._10) .slicingMove() .checkAllHits(), - new AttackMove(Moves.ICE_SPINNER, PokemonType.ICE, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 9) + new AttackMove(MoveId.ICE_SPINNER, PokemonType.ICE, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 9) .attr(ClearTerrainAttr), - new AttackMove(Moves.GLAIVE_RUSH, PokemonType.DRAGON, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 9) + new AttackMove(MoveId.GLAIVE_RUSH, PokemonType.DRAGON, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 9) .attr(AddBattlerTagAttr, BattlerTagType.ALWAYS_GET_HIT, true, false, 0, 0, true) .attr(AddBattlerTagAttr, BattlerTagType.RECEIVE_DOUBLE_DAMAGE, true, false, 0, 0, true) .condition((user, target, move) => { return !(target.getTag(BattlerTagType.PROTECTED)?.tagType === "PROTECTED" || globalScene.arena.getTag(ArenaTagType.MAT_BLOCK)?.tagType === "MAT_BLOCK"); }), - new StatusMove(Moves.REVIVAL_BLESSING, PokemonType.NORMAL, -1, 1, -1, 0, 9) + new StatusMove(MoveId.REVIVAL_BLESSING, PokemonType.NORMAL, -1, 1, -1, 0, 9) .triageMove() .attr(RevivalBlessingAttr) .target(MoveTarget.USER), - new AttackMove(Moves.SALT_CURE, PokemonType.ROCK, MoveCategory.PHYSICAL, 40, 100, 15, 100, 0, 9) + new AttackMove(MoveId.SALT_CURE, PokemonType.ROCK, MoveCategory.PHYSICAL, 40, 100, 15, 100, 0, 9) .attr(AddBattlerTagAttr, BattlerTagType.SALT_CURED) .makesContact(false), - new AttackMove(Moves.TRIPLE_DIVE, PokemonType.WATER, MoveCategory.PHYSICAL, 30, 95, 10, -1, 0, 9) + new AttackMove(MoveId.TRIPLE_DIVE, PokemonType.WATER, MoveCategory.PHYSICAL, 30, 95, 10, -1, 0, 9) .attr(MultiHitAttr, MultiHitType._3), - new AttackMove(Moves.MORTAL_SPIN, PokemonType.POISON, MoveCategory.PHYSICAL, 30, 100, 15, 100, 0, 9) + new AttackMove(MoveId.MORTAL_SPIN, PokemonType.POISON, MoveCategory.PHYSICAL, 30, 100, 15, 100, 0, 9) .attr(LapseBattlerTagAttr, [ BattlerTagType.BIND, BattlerTagType.WRAP, @@ -11086,32 +11086,32 @@ export function initMoves() { .attr(StatusEffectAttr, StatusEffect.POISON) .attr(RemoveArenaTrapAttr) .target(MoveTarget.ALL_NEAR_ENEMIES), - new StatusMove(Moves.DOODLE, PokemonType.NORMAL, 100, 10, -1, 0, 9) + new StatusMove(MoveId.DOODLE, PokemonType.NORMAL, 100, 10, -1, 0, 9) .attr(AbilityCopyAttr, true), - new SelfStatusMove(Moves.FILLET_AWAY, PokemonType.NORMAL, -1, 10, -1, 0, 9) + new SelfStatusMove(MoveId.FILLET_AWAY, PokemonType.NORMAL, -1, 10, -1, 0, 9) .attr(CutHpStatStageBoostAttr, [ Stat.ATK, Stat.SPATK, Stat.SPD ], 2, 2), - new AttackMove(Moves.KOWTOW_CLEAVE, PokemonType.DARK, MoveCategory.PHYSICAL, 85, -1, 10, -1, 0, 9) + new AttackMove(MoveId.KOWTOW_CLEAVE, PokemonType.DARK, MoveCategory.PHYSICAL, 85, -1, 10, -1, 0, 9) .slicingMove(), - new AttackMove(Moves.FLOWER_TRICK, PokemonType.GRASS, MoveCategory.PHYSICAL, 70, -1, 10, -1, 0, 9) + new AttackMove(MoveId.FLOWER_TRICK, PokemonType.GRASS, MoveCategory.PHYSICAL, 70, -1, 10, -1, 0, 9) .attr(CritOnlyAttr) .makesContact(false), - new AttackMove(Moves.TORCH_SONG, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) + new AttackMove(MoveId.TORCH_SONG, PokemonType.FIRE, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPATK ], 1, true) .soundBased(), - new AttackMove(Moves.AQUA_STEP, PokemonType.WATER, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9) + new AttackMove(MoveId.AQUA_STEP, PokemonType.WATER, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true) .danceMove(), - new AttackMove(Moves.RAGING_BULL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 9) + new AttackMove(MoveId.RAGING_BULL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 9) .attr(RagingBullTypeAttr) .attr(RemoveScreensAttr), - new AttackMove(Moves.MAKE_IT_RAIN, PokemonType.STEEL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) + new AttackMove(MoveId.MAKE_IT_RAIN, PokemonType.STEEL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) .attr(MoneyAttr) .attr(StatStageChangeAttr, [ Stat.SPATK ], -1, true, { firstTargetOnly: true }) .target(MoveTarget.ALL_NEAR_ENEMIES), - new AttackMove(Moves.PSYBLADE, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 9) + new AttackMove(MoveId.PSYBLADE, PokemonType.PSYCHIC, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 9) .attr(MovePowerMultiplierAttr, (user, target, move) => globalScene.arena.getTerrainType() === TerrainType.ELECTRIC && user.isGrounded() ? 1.5 : 1) .slicingMove(), - new AttackMove(Moves.HYDRO_STEAM, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, -1, 0, 9) + new AttackMove(MoveId.HYDRO_STEAM, PokemonType.WATER, MoveCategory.SPECIAL, 80, 100, 15, -1, 0, 9) .attr(IgnoreWeatherTypeDebuffAttr, WeatherType.SUNNY) .attr(MovePowerMultiplierAttr, (user, target, move) => { const weather = globalScene.arena.weather; @@ -11120,47 +11120,47 @@ export function initMoves() { } return [ WeatherType.SUNNY, WeatherType.HARSH_SUN ].includes(weather.weatherType) && !weather.isEffectSuppressed() ? 1.5 : 1; }), - new AttackMove(Moves.RUINATION, PokemonType.DARK, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 9) + new AttackMove(MoveId.RUINATION, PokemonType.DARK, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 9) .attr(TargetHalfHpDamageAttr), - new AttackMove(Moves.COLLISION_COURSE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9) + new AttackMove(MoveId.COLLISION_COURSE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2 ? 5461 / 4096 : 1), - new AttackMove(Moves.ELECTRO_DRIFT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 9) + new AttackMove(MoveId.ELECTRO_DRIFT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 9) .attr(MovePowerMultiplierAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2 ? 5461 / 4096 : 1) .makesContact(), - new SelfStatusMove(Moves.SHED_TAIL, PokemonType.NORMAL, -1, 10, -1, 0, 9) + new SelfStatusMove(MoveId.SHED_TAIL, PokemonType.NORMAL, -1, 10, -1, 0, 9) .attr(AddSubstituteAttr, 0.5, true) .attr(ForceSwitchOutAttr, true, SwitchType.SHED_TAIL) .condition(failIfLastInPartyCondition), - new SelfStatusMove(Moves.CHILLY_RECEPTION, PokemonType.ICE, -1, 10, -1, 0, 9) + new SelfStatusMove(MoveId.CHILLY_RECEPTION, PokemonType.ICE, -1, 10, -1, 0, 9) .attr(PreMoveMessageAttr, (user, move) => i18next.t("moveTriggers:chillyReception", { pokemonName: getPokemonNameWithAffix(user) })) .attr(ChillyReceptionAttr, true), - new SelfStatusMove(Moves.TIDY_UP, PokemonType.NORMAL, -1, 10, -1, 0, 9) + new SelfStatusMove(MoveId.TIDY_UP, PokemonType.NORMAL, -1, 10, -1, 0, 9) .attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPD ], 1, true) .attr(RemoveArenaTrapAttr, true) .attr(RemoveAllSubstitutesAttr), - new StatusMove(Moves.SNOWSCAPE, PokemonType.ICE, -1, 10, -1, 0, 9) + new StatusMove(MoveId.SNOWSCAPE, PokemonType.ICE, -1, 10, -1, 0, 9) .attr(WeatherChangeAttr, WeatherType.SNOW) .target(MoveTarget.BOTH_SIDES), - new AttackMove(Moves.POUNCE, PokemonType.BUG, MoveCategory.PHYSICAL, 50, 100, 20, 100, 0, 9) + new AttackMove(MoveId.POUNCE, PokemonType.BUG, MoveCategory.PHYSICAL, 50, 100, 20, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPD ], -1), - new AttackMove(Moves.TRAILBLAZE, PokemonType.GRASS, MoveCategory.PHYSICAL, 50, 100, 20, 100, 0, 9) + new AttackMove(MoveId.TRAILBLAZE, PokemonType.GRASS, MoveCategory.PHYSICAL, 50, 100, 20, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.SPD ], 1, true), - new AttackMove(Moves.CHILLING_WATER, PokemonType.WATER, MoveCategory.SPECIAL, 50, 100, 20, 100, 0, 9) + new AttackMove(MoveId.CHILLING_WATER, PokemonType.WATER, MoveCategory.SPECIAL, 50, 100, 20, 100, 0, 9) .attr(StatStageChangeAttr, [ Stat.ATK ], -1), - new AttackMove(Moves.HYPER_DRILL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9) + new AttackMove(MoveId.HYPER_DRILL, PokemonType.NORMAL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9) .ignoresProtect(), - new AttackMove(Moves.TWIN_BEAM, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 40, 100, 10, -1, 0, 9) + new AttackMove(MoveId.TWIN_BEAM, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 40, 100, 10, -1, 0, 9) .attr(MultiHitAttr, MultiHitType._2), - new AttackMove(Moves.RAGE_FIST, PokemonType.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 9) + new AttackMove(MoveId.RAGE_FIST, PokemonType.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 9) .attr(RageFistPowerAttr) .punchingMove(), - new AttackMove(Moves.ARMOR_CANNON, PokemonType.FIRE, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) + new AttackMove(MoveId.ARMOR_CANNON, PokemonType.FIRE, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) .attr(StatStageChangeAttr, [ Stat.DEF, Stat.SPDEF ], -1, true), - new AttackMove(Moves.BITTER_BLADE, PokemonType.FIRE, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 9) + new AttackMove(MoveId.BITTER_BLADE, PokemonType.FIRE, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 9) .attr(HitHealAttr) .slicingMove() .triageMove(), - new AttackMove(Moves.DOUBLE_SHOCK, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 9) + new AttackMove(MoveId.DOUBLE_SHOCK, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 9) .condition((user) => { const userTypes = user.getTypes(true); return userTypes.includes(PokemonType.ELECTRIC); @@ -11169,71 +11169,71 @@ export function initMoves() { .attr(RemoveTypeAttr, PokemonType.ELECTRIC, (user) => { globalScene.queueMessage(i18next.t("moveTriggers:usedUpAllElectricity", { pokemonName: getPokemonNameWithAffix(user) })); }), - new AttackMove(Moves.GIGATON_HAMMER, PokemonType.STEEL, MoveCategory.PHYSICAL, 160, 100, 5, -1, 0, 9) + new AttackMove(MoveId.GIGATON_HAMMER, PokemonType.STEEL, MoveCategory.PHYSICAL, 160, 100, 5, -1, 0, 9) .makesContact(false) .condition((user, target, move) => { const turnMove = user.getLastXMoves(1); return !turnMove.length || turnMove[0].move !== move.id || turnMove[0].result !== MoveResult.SUCCESS; }), // TODO Add Instruct/Encore interaction - new AttackMove(Moves.COMEUPPANCE, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 9) + new AttackMove(MoveId.COMEUPPANCE, PokemonType.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 9) .attr(CounterDamageAttr, (move: Move) => (move.category === MoveCategory.PHYSICAL || move.category === MoveCategory.SPECIAL), 1.5) .redirectCounter() .target(MoveTarget.ATTACKER), - new AttackMove(Moves.AQUA_CUTTER, PokemonType.WATER, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 9) + new AttackMove(MoveId.AQUA_CUTTER, PokemonType.WATER, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 9) .attr(HighCritAttr) .slicingMove() .makesContact(false), - new AttackMove(Moves.BLAZING_TORQUE, PokemonType.FIRE, MoveCategory.PHYSICAL, 80, 100, 10, 30, 0, 9) + new AttackMove(MoveId.BLAZING_TORQUE, PokemonType.FIRE, MoveCategory.PHYSICAL, 80, 100, 10, 30, 0, 9) .attr(StatusEffectAttr, StatusEffect.BURN) .makesContact(false), - new AttackMove(Moves.WICKED_TORQUE, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 10, 10, 0, 9) + new AttackMove(MoveId.WICKED_TORQUE, PokemonType.DARK, MoveCategory.PHYSICAL, 80, 100, 10, 10, 0, 9) .attr(StatusEffectAttr, StatusEffect.SLEEP) .makesContact(false), - new AttackMove(Moves.NOXIOUS_TORQUE, PokemonType.POISON, MoveCategory.PHYSICAL, 100, 100, 10, 30, 0, 9) + new AttackMove(MoveId.NOXIOUS_TORQUE, PokemonType.POISON, MoveCategory.PHYSICAL, 100, 100, 10, 30, 0, 9) .attr(StatusEffectAttr, StatusEffect.POISON) .makesContact(false), - new AttackMove(Moves.COMBAT_TORQUE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 100, 10, 30, 0, 9) + new AttackMove(MoveId.COMBAT_TORQUE, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 100, 100, 10, 30, 0, 9) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .makesContact(false), - new AttackMove(Moves.MAGICAL_TORQUE, PokemonType.FAIRY, MoveCategory.PHYSICAL, 100, 100, 10, 30, 0, 9) + new AttackMove(MoveId.MAGICAL_TORQUE, PokemonType.FAIRY, MoveCategory.PHYSICAL, 100, 100, 10, 30, 0, 9) .attr(ConfuseAttr) .makesContact(false), - new AttackMove(Moves.BLOOD_MOON, PokemonType.NORMAL, MoveCategory.SPECIAL, 140, 100, 5, -1, 0, 9) + new AttackMove(MoveId.BLOOD_MOON, PokemonType.NORMAL, MoveCategory.SPECIAL, 140, 100, 5, -1, 0, 9) .condition((user, target, move) => { const turnMove = user.getLastXMoves(1); return !turnMove.length || turnMove[0].move !== move.id || turnMove[0].result !== MoveResult.SUCCESS; }), // TODO Add Instruct/Encore interaction - new AttackMove(Moves.MATCHA_GOTCHA, PokemonType.GRASS, MoveCategory.SPECIAL, 80, 90, 15, 20, 0, 9) + new AttackMove(MoveId.MATCHA_GOTCHA, PokemonType.GRASS, MoveCategory.SPECIAL, 80, 90, 15, 20, 0, 9) .attr(HitHealAttr) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(HealStatusEffectAttr, false, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN) .target(MoveTarget.ALL_NEAR_ENEMIES) .triageMove(), - new AttackMove(Moves.SYRUP_BOMB, PokemonType.GRASS, MoveCategory.SPECIAL, 60, 85, 10, 100, 0, 9) + new AttackMove(MoveId.SYRUP_BOMB, PokemonType.GRASS, MoveCategory.SPECIAL, 60, 85, 10, 100, 0, 9) .attr(AddBattlerTagAttr, BattlerTagType.SYRUP_BOMB, false, false, 3) .ballBombMove(), - new AttackMove(Moves.IVY_CUDGEL, PokemonType.GRASS, MoveCategory.PHYSICAL, 100, 100, 10, -1, 0, 9) + new AttackMove(MoveId.IVY_CUDGEL, PokemonType.GRASS, MoveCategory.PHYSICAL, 100, 100, 10, -1, 0, 9) .attr(IvyCudgelTypeAttr) .attr(HighCritAttr) .makesContact(false), - new ChargingAttackMove(Moves.ELECTRO_SHOT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 130, 100, 10, 100, 0, 9) + new ChargingAttackMove(MoveId.ELECTRO_SHOT, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 130, 100, 10, 100, 0, 9) .chargeText(i18next.t("moveTriggers:absorbedElectricity", { pokemonName: "{USER}" })) .chargeAttr(StatStageChangeAttr, [ Stat.SPATK ], 1, true) .chargeAttr(WeatherInstantChargeAttr, [ WeatherType.RAIN, WeatherType.HEAVY_RAIN ]), - new AttackMove(Moves.TERA_STARSTORM, PokemonType.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) + new AttackMove(MoveId.TERA_STARSTORM, PokemonType.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9) .attr(TeraMoveCategoryAttr) .attr(TeraStarstormTypeAttr) - .attr(VariableTargetAttr, (user, target, move) => user.hasSpecies(Species.TERAPAGOS) && (user.isTerastallized || globalScene.currentBattle.preTurnCommands[user.getFieldIndex()]?.command === Command.TERA) ? MoveTarget.ALL_NEAR_ENEMIES : MoveTarget.NEAR_OTHER) + .attr(VariableTargetAttr, (user, target, move) => user.hasSpecies(SpeciesId.TERAPAGOS) && (user.isTerastallized || globalScene.currentBattle.preTurnCommands[user.getFieldIndex()]?.command === Command.TERA) ? MoveTarget.ALL_NEAR_ENEMIES : MoveTarget.NEAR_OTHER) .partial(), /** Does not ignore abilities that affect stats, relevant in determining the move's category {@see TeraMoveCategoryAttr} */ - new AttackMove(Moves.FICKLE_BEAM, PokemonType.DRAGON, MoveCategory.SPECIAL, 80, 100, 5, 30, 0, 9) + new AttackMove(MoveId.FICKLE_BEAM, PokemonType.DRAGON, MoveCategory.SPECIAL, 80, 100, 5, 30, 0, 9) .attr(PreMoveMessageAttr, doublePowerChanceMessageFunc) .attr(DoublePowerChanceAttr) .edgeCase(), // Should not interact with Sheer Force - new SelfStatusMove(Moves.BURNING_BULWARK, PokemonType.FIRE, -1, 10, -1, 4, 9) + new SelfStatusMove(MoveId.BURNING_BULWARK, PokemonType.FIRE, -1, 10, -1, 4, 9) .attr(ProtectAttr, BattlerTagType.BURNING_BULWARK) .condition(failIfLastCondition), - new AttackMove(Moves.THUNDERCLAP, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 5, -1, 1, 9) + new AttackMove(MoveId.THUNDERCLAP, PokemonType.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 5, -1, 1, 9) .condition((user, target, move) => { const turnCommand = globalScene.currentBattle.turnCommands[target.getBattlerIndex()]; if (!turnCommand || !turnCommand.move) { @@ -11241,35 +11241,35 @@ export function initMoves() { } return (turnCommand.command === Command.FIGHT && !target.turnData.acted && allMoves[turnCommand.move.move].category !== MoveCategory.STATUS); }), - new AttackMove(Moves.MIGHTY_CLEAVE, PokemonType.ROCK, MoveCategory.PHYSICAL, 95, 100, 5, -1, 0, 9) + new AttackMove(MoveId.MIGHTY_CLEAVE, PokemonType.ROCK, MoveCategory.PHYSICAL, 95, 100, 5, -1, 0, 9) .slicingMove() .ignoresProtect(), - new AttackMove(Moves.TACHYON_CUTTER, PokemonType.STEEL, MoveCategory.SPECIAL, 50, -1, 10, -1, 0, 9) + new AttackMove(MoveId.TACHYON_CUTTER, PokemonType.STEEL, MoveCategory.SPECIAL, 50, -1, 10, -1, 0, 9) .attr(MultiHitAttr, MultiHitType._2) .slicingMove(), - new AttackMove(Moves.HARD_PRESS, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 9) + new AttackMove(MoveId.HARD_PRESS, PokemonType.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 9) .attr(OpponentHighHpPowerAttr, 100), - new StatusMove(Moves.DRAGON_CHEER, PokemonType.DRAGON, -1, 15, -1, 0, 9) + new StatusMove(MoveId.DRAGON_CHEER, PokemonType.DRAGON, -1, 15, -1, 0, 9) .attr(AddBattlerTagAttr, BattlerTagType.DRAGON_CHEER, false, true) .target(MoveTarget.NEAR_ALLY), - new AttackMove(Moves.ALLURING_VOICE, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) + new AttackMove(MoveId.ALLURING_VOICE, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9) .attr(AddBattlerTagIfBoostedAttr, BattlerTagType.CONFUSED) .soundBased(), - new AttackMove(Moves.TEMPER_FLARE, PokemonType.FIRE, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 9) + new AttackMove(MoveId.TEMPER_FLARE, PokemonType.FIRE, MoveCategory.PHYSICAL, 75, 100, 10, -1, 0, 9) .attr(MovePowerMultiplierAttr, (user, target, move) => user.getLastXMoves(2)[1]?.result === MoveResult.MISS || user.getLastXMoves(2)[1]?.result === MoveResult.FAIL ? 2 : 1), - new AttackMove(Moves.SUPERCELL_SLAM, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 100, 95, 15, -1, 0, 9) + new AttackMove(MoveId.SUPERCELL_SLAM, PokemonType.ELECTRIC, MoveCategory.PHYSICAL, 100, 95, 15, -1, 0, 9) .attr(AlwaysHitMinimizeAttr) .attr(HitsTagForDoubleDamageAttr, BattlerTagType.MINIMIZED) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) .recklessMove(), - new AttackMove(Moves.PSYCHIC_NOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 9) + new AttackMove(MoveId.PSYCHIC_NOISE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, 75, 100, 10, 100, 0, 9) .soundBased() .attr(AddBattlerTagAttr, BattlerTagType.HEAL_BLOCK, false, false, 2), - new AttackMove(Moves.UPPER_HAND, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 65, 100, 15, 100, 3, 9) + new AttackMove(MoveId.UPPER_HAND, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 65, 100, 15, 100, 3, 9) .attr(FlinchAttr) .condition(new UpperHandCondition()), - new AttackMove(Moves.MALIGNANT_CHAIN, PokemonType.POISON, MoveCategory.SPECIAL, 100, 100, 5, 50, 0, 9) + new AttackMove(MoveId.MALIGNANT_CHAIN, PokemonType.POISON, MoveCategory.SPECIAL, 100, 100, 5, 50, 0, 9) .attr(StatusEffectAttr, StatusEffect.TOXIC) ); allMoves.map(m => { diff --git a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts index 48b36369190..ae5cd2b2a99 100644 --- a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts +++ b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts @@ -12,7 +12,7 @@ import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounte import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { TrainerType } from "#enums/trainer-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { randSeedInt } from "#app/utils/common"; import i18next from "i18next"; @@ -54,27 +54,27 @@ export const ATrainersTestEncounter: MysteryEncounter = MysteryEncounterBuilder. switch (randSeedInt(5)) { case 1: trainerType = TrainerType.CHERYL; - spriteKeys = getSpriteKeysFromSpecies(Species.BLISSEY); + spriteKeys = getSpriteKeysFromSpecies(SpeciesId.BLISSEY); trainerNameKey = "cheryl"; break; case 2: trainerType = TrainerType.MARLEY; - spriteKeys = getSpriteKeysFromSpecies(Species.ARCANINE); + spriteKeys = getSpriteKeysFromSpecies(SpeciesId.ARCANINE); trainerNameKey = "marley"; break; case 3: trainerType = TrainerType.MIRA; - spriteKeys = getSpriteKeysFromSpecies(Species.ALAKAZAM, false, 1); + spriteKeys = getSpriteKeysFromSpecies(SpeciesId.ALAKAZAM, false, 1); trainerNameKey = "mira"; break; case 4: trainerType = TrainerType.RILEY; - spriteKeys = getSpriteKeysFromSpecies(Species.LUCARIO, false, 1); + spriteKeys = getSpriteKeysFromSpecies(SpeciesId.LUCARIO, false, 1); trainerNameKey = "riley"; break; default: trainerType = TrainerType.BUCK; - spriteKeys = getSpriteKeysFromSpecies(Species.CLAYDOL); + spriteKeys = getSpriteKeysFromSpecies(SpeciesId.CLAYDOL); trainerNameKey = "buck"; break; } diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index acfc8cb16a1..f46e1360b0d 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -11,7 +11,7 @@ import { EnemyPokemon, PokemonMove } from "#app/field/pokemon"; import type { BerryModifierType, PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; @@ -22,7 +22,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { BerryModifier, PokemonInstantReviveModifier } from "#app/modifier/modifier"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { BattlerTagType } from "#enums/battler-tag-type"; import { randInt } from "#app/utils/common"; import { BattlerIndex } from "#app/battle"; @@ -59,7 +59,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde // This sprite has the shadow spriteKey: "", fileRoot: "", - species: Species.GREEDENT, + species: SpeciesId.GREEDENT, hasShadow: true, alpha: 0.001, repeat: true, @@ -68,7 +68,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde { spriteKey: "", fileRoot: "", - species: Species.GREEDENT, + species: SpeciesId.GREEDENT, hasShadow: false, repeat: true, x: -5, @@ -228,11 +228,11 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde levelAdditiveModifier: 1, pokemonConfigs: [ { - species: getPokemonSpecies(Species.GREEDENT), + species: getPokemonSpecies(SpeciesId.GREEDENT), isBoss: true, bossSegments: 3, shiny: false, // Shiny lock because of consistency issues between the different options - moveSet: [Moves.THRASH, Moves.CRUNCH, Moves.BODY_PRESS, Moves.SLACK_OFF], + moveSet: [MoveId.THRASH, MoveId.CRUNCH, MoveId.BODY_PRESS, MoveId.SLACK_OFF], modifierConfigs: bossModifierConfigs, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: (pokemon: Pokemon) => { @@ -246,7 +246,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde }; encounter.enemyPartyConfigs = [config]; - encounter.setDialogueToken("greedentName", getPokemonSpecies(Species.GREEDENT).getName()); + encounter.setDialogueToken("greedentName", getPokemonSpecies(SpeciesId.GREEDENT).getName()); return true; }) @@ -302,7 +302,7 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde encounter.startOfBattleEffects.push({ sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.ENEMY], - move: new PokemonMove(Moves.STUFF_CHEEKS), + move: new PokemonMove(MoveId.STUFF_CHEEKS), ignorePp: true, }); @@ -373,12 +373,12 @@ export const AbsoluteAvariceEncounter: MysteryEncounter = MysteryEncounterBuilde // Let it have the food // Greedent joins the team, level equal to 2 below highest party member (shiny locked) const level = getHighestLevelPlayerPokemon(false, true).level - 2; - const greedent = new EnemyPokemon(getPokemonSpecies(Species.GREEDENT), level, TrainerSlot.NONE, false, true); + const greedent = new EnemyPokemon(getPokemonSpecies(SpeciesId.GREEDENT), level, TrainerSlot.NONE, false, true); greedent.moveset = [ - new PokemonMove(Moves.THRASH), - new PokemonMove(Moves.BODY_PRESS), - new PokemonMove(Moves.STUFF_CHEEKS), - new PokemonMove(Moves.SLACK_OFF), + new PokemonMove(MoveId.THRASH), + new PokemonMove(MoveId.BODY_PRESS), + new PokemonMove(MoveId.STUFF_CHEEKS), + new PokemonMove(MoveId.SLACK_OFF), ]; greedent.passive = true; diff --git a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts index b403c5f291c..2f4dfaa5f99 100644 --- a/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts +++ b/src/data/mystery-encounters/encounters/an-offer-you-cant-refuse-encounter.ts @@ -6,7 +6,7 @@ import { } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { modifierTypes } from "#app/modifier/modifier-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; @@ -50,7 +50,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterB .withScenePartySizeRequirement(2, 6, true) // Must have at least 2 pokemon in party .withIntroSpriteConfigs([ { - spriteKey: Species.LIEPARD.toString(), + spriteKey: SpeciesId.LIEPARD.toString(), fileRoot: "pokemon", hasShadow: true, repeat: true, @@ -112,7 +112,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterB const shinyCharm = generateModifierType(modifierTypes.SHINY_CHARM); encounter.setDialogueToken("itemName", shinyCharm?.name ?? i18next.t("modifierType:ModifierType.SHINY_CHARM.name")); - encounter.setDialogueToken("liepardName", getPokemonSpecies(Species.LIEPARD).getName()); + encounter.setDialogueToken("liepardName", getPokemonSpecies(SpeciesId.LIEPARD).getName()); return true; }) @@ -167,7 +167,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter = MysteryEncounterB // Update money and remove pokemon from party updatePlayerMoney(encounter.misc.price); - setEncounterExp(encounter.options[1].primaryPokemon!.id, getPokemonSpecies(Species.LIEPARD).baseExp, true); + setEncounterExp(encounter.options[1].primaryPokemon!.id, getPokemonSpecies(SpeciesId.LIEPARD).baseExp, true); leaveEncounterWithoutBattle(true); }) diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index 17c1c31d55e..c080122f922 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -21,13 +21,13 @@ import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounte import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { TrainerType } from "#enums/trainer-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; import { getEncounterText, showEncounterDialogue } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { MysteryEncounterOptionBuilder } from "#app/data/mystery-encounters/mystery-encounter-option"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; @@ -59,110 +59,116 @@ import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/enc const namespace = "mysteryEncounters/bugTypeSuperfan"; const POOL_1_POKEMON = [ - Species.PARASECT, - Species.VENOMOTH, - Species.LEDIAN, - Species.ARIADOS, - Species.YANMA, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ANORITH, - Species.KRICKETUNE, - Species.WORMADAM, - Species.MOTHIM, - Species.SKORUPI, - Species.JOLTIK, - Species.LARVESTA, - Species.VIVILLON, - Species.CHARJABUG, - Species.RIBOMBEE, - Species.SPIDOPS, - Species.LOKIX, + SpeciesId.PARASECT, + SpeciesId.VENOMOTH, + SpeciesId.LEDIAN, + SpeciesId.ARIADOS, + SpeciesId.YANMA, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ANORITH, + SpeciesId.KRICKETUNE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.SKORUPI, + SpeciesId.JOLTIK, + SpeciesId.LARVESTA, + SpeciesId.VIVILLON, + SpeciesId.CHARJABUG, + SpeciesId.RIBOMBEE, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, ]; const POOL_2_POKEMON = [ - Species.SCYTHER, - Species.PINSIR, - Species.HERACROSS, - Species.FORRETRESS, - Species.SCIZOR, - Species.SHUCKLE, - Species.SHEDINJA, - Species.ARMALDO, - Species.VESPIQUEN, - Species.DRAPION, - Species.YANMEGA, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.CRUSTLE, - Species.ESCAVALIER, - Species.ACCELGOR, - Species.GALVANTULA, - Species.VIKAVOLT, - Species.ARAQUANID, - Species.ORBEETLE, - Species.CENTISKORCH, - Species.FROSMOTH, - Species.KLEAVOR, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.HERACROSS, + SpeciesId.FORRETRESS, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.SHEDINJA, + SpeciesId.ARMALDO, + SpeciesId.VESPIQUEN, + SpeciesId.DRAPION, + SpeciesId.YANMEGA, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.CRUSTLE, + SpeciesId.ESCAVALIER, + SpeciesId.ACCELGOR, + SpeciesId.GALVANTULA, + SpeciesId.VIKAVOLT, + SpeciesId.ARAQUANID, + SpeciesId.ORBEETLE, + SpeciesId.CENTISKORCH, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, ]; -const POOL_3_POKEMON: { species: Species; formIndex?: number }[] = [ +const POOL_3_POKEMON: { species: SpeciesId; formIndex?: number }[] = [ { - species: Species.PINSIR, + species: SpeciesId.PINSIR, formIndex: 1, }, { - species: Species.SCIZOR, + species: SpeciesId.SCIZOR, formIndex: 1, }, { - species: Species.HERACROSS, + species: SpeciesId.HERACROSS, formIndex: 1, }, { - species: Species.ORBEETLE, + species: SpeciesId.ORBEETLE, formIndex: 1, }, { - species: Species.CENTISKORCH, + species: SpeciesId.CENTISKORCH, formIndex: 1, }, { - species: Species.DURANT, + species: SpeciesId.DURANT, }, { - species: Species.VOLCARONA, + species: SpeciesId.VOLCARONA, }, { - species: Species.GOLISOPOD, + species: SpeciesId.GOLISOPOD, }, ]; -const POOL_4_POKEMON = [Species.GENESECT, Species.SLITHER_WING, Species.BUZZWOLE, Species.PHEROMOSA]; +const POOL_4_POKEMON = [SpeciesId.GENESECT, SpeciesId.SLITHER_WING, SpeciesId.BUZZWOLE, SpeciesId.PHEROMOSA]; -const PHYSICAL_TUTOR_MOVES = [Moves.MEGAHORN, Moves.ATTACK_ORDER, Moves.BUG_BITE, Moves.FIRST_IMPRESSION, Moves.LUNGE]; +const PHYSICAL_TUTOR_MOVES = [ + MoveId.MEGAHORN, + MoveId.ATTACK_ORDER, + MoveId.BUG_BITE, + MoveId.FIRST_IMPRESSION, + MoveId.LUNGE, +]; const SPECIAL_TUTOR_MOVES = [ - Moves.SILVER_WIND, - Moves.SIGNAL_BEAM, - Moves.BUG_BUZZ, - Moves.POLLEN_PUFF, - Moves.STRUGGLE_BUG, + MoveId.SILVER_WIND, + MoveId.SIGNAL_BEAM, + MoveId.BUG_BUZZ, + MoveId.POLLEN_PUFF, + MoveId.STRUGGLE_BUG, ]; const STATUS_TUTOR_MOVES = [ - Moves.STRING_SHOT, - Moves.DEFEND_ORDER, - Moves.RAGE_POWDER, - Moves.STICKY_WEB, - Moves.SILK_TRAP, + MoveId.STRING_SHOT, + MoveId.DEFEND_ORDER, + MoveId.RAGE_POWDER, + MoveId.STICKY_WEB, + MoveId.SILK_TRAP, ]; -const MISC_TUTOR_MOVES = [Moves.LEECH_LIFE, Moves.U_TURN, Moves.HEAL_ORDER, Moves.QUIVER_DANCE, Moves.INFESTATION]; +const MISC_TUTOR_MOVES = [MoveId.LEECH_LIFE, MoveId.U_TURN, MoveId.HEAL_ORDER, MoveId.QUIVER_DANCE, MoveId.INFESTATION]; /** * Wave breakpoints that determine how strong to make the Bug-Type Superfan's team @@ -213,12 +219,12 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde let beedrillKeys: { spriteKey: string; fileRoot: string }, butterfreeKeys: { spriteKey: string; fileRoot: string }; if (globalScene.currentBattle.waveIndex < WAVE_LEVEL_BREAKPOINTS[3]) { - beedrillKeys = getSpriteKeysFromSpecies(Species.BEEDRILL, false); - butterfreeKeys = getSpriteKeysFromSpecies(Species.BUTTERFREE, false); + beedrillKeys = getSpriteKeysFromSpecies(SpeciesId.BEEDRILL, false); + butterfreeKeys = getSpriteKeysFromSpecies(SpeciesId.BUTTERFREE, false); } else { // Mega Beedrill/Gmax Butterfree - beedrillKeys = getSpriteKeysFromSpecies(Species.BEEDRILL, false, 1); - butterfreeKeys = getSpriteKeysFromSpecies(Species.BUTTERFREE, false, 1); + beedrillKeys = getSpriteKeysFromSpecies(SpeciesId.BEEDRILL, false, 1); + butterfreeKeys = getSpriteKeysFromSpecies(SpeciesId.BUTTERFREE, false, 1); } encounter.spriteConfigs = [ @@ -519,26 +525,26 @@ function getTrainerConfigForWave(waveIndex: number) { if (waveIndex < WAVE_LEVEL_BREAKPOINTS[0]) { // Use default template (2 AVG) config - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true)); + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true)); } else if (waveIndex < WAVE_LEVEL_BREAKPOINTS[1]) { config .setPartyTemplates(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE)) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true)) .setPartyMemberFunc(2, getRandomPartyMemberFunc(POOL_1_POKEMON, TrainerSlot.TRAINER, true)); } else if (waveIndex < WAVE_LEVEL_BREAKPOINTS[2]) { config .setPartyTemplates(new TrainerPartyTemplate(4, PartyMemberStrength.AVERAGE)) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true)) .setPartyMemberFunc(2, getRandomPartyMemberFunc(POOL_1_POKEMON, TrainerSlot.TRAINER, true)) .setPartyMemberFunc(3, getRandomPartyMemberFunc(POOL_2_POKEMON, TrainerSlot.TRAINER, true)); } else if (waveIndex < WAVE_LEVEL_BREAKPOINTS[3]) { config .setPartyTemplates(new TrainerPartyTemplate(5, PartyMemberStrength.AVERAGE)) - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true)) .setPartyMemberFunc(2, getRandomPartyMemberFunc(POOL_1_POKEMON, TrainerSlot.TRAINER, true)) .setPartyMemberFunc(3, getRandomPartyMemberFunc(POOL_2_POKEMON, TrainerSlot.TRAINER, true)) .setPartyMemberFunc(4, getRandomPartyMemberFunc(POOL_2_POKEMON, TrainerSlot.TRAINER, true)); @@ -547,7 +553,7 @@ function getTrainerConfigForWave(waveIndex: number) { .setPartyTemplates(new TrainerPartyTemplate(5, PartyMemberStrength.AVERAGE)) .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; p.generateAndPopulateMoveset(); p.generateName(); @@ -555,7 +561,7 @@ function getTrainerConfigForWave(waveIndex: number) { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; p.generateAndPopulateMoveset(); p.generateName(); @@ -580,7 +586,7 @@ function getTrainerConfigForWave(waveIndex: number) { .setPartyTemplates(new TrainerPartyTemplate(5, PartyMemberStrength.AVERAGE)) .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; p.generateAndPopulateMoveset(); p.generateName(); @@ -588,7 +594,7 @@ function getTrainerConfigForWave(waveIndex: number) { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; p.generateAndPopulateMoveset(); p.generateName(); @@ -625,7 +631,7 @@ function getTrainerConfigForWave(waveIndex: number) { ) .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; p.generateAndPopulateMoveset(); p.generateName(); @@ -633,7 +639,7 @@ function getTrainerConfigForWave(waveIndex: number) { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; p.generateAndPopulateMoveset(); p.generateName(); @@ -663,7 +669,7 @@ function getTrainerConfigForWave(waveIndex: number) { ) .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.BEEDRILL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BEEDRILL], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.formIndex = 1; p.generateAndPopulateMoveset(); @@ -672,7 +678,7 @@ function getTrainerConfigForWave(waveIndex: number) { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.BUTTERFREE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BUTTERFREE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.formIndex = 1; p.generateAndPopulateMoveset(); diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index ce5eb2cfdd1..19c4948aeab 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -20,10 +20,10 @@ import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TrainerType } from "#enums/trainer-type"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { applyAbilityOverrideToPokemon, applyModifierTypeToPlayerPokemon, @@ -42,7 +42,7 @@ import { Ability } from "#app/data/abilities/ability-class"; import { BerryModifier } from "#app/modifier/modifier"; import { BerryType } from "#enums/berry-type"; import { BattlerIndex } from "#app/battle"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { EncounterBattleAnim } from "#app/data/battle-anims"; import { MoveCategory } from "#enums/MoveCategory"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; @@ -54,21 +54,21 @@ import { Challenges } from "#enums/challenges"; const namespace = "mysteryEncounters/clowningAround"; const RANDOM_ABILITY_POOL = [ - Abilities.STURDY, - Abilities.PICKUP, - Abilities.INTIMIDATE, - Abilities.GUTS, - Abilities.DROUGHT, - Abilities.DRIZZLE, - Abilities.SNOW_WARNING, - Abilities.SAND_STREAM, - Abilities.ELECTRIC_SURGE, - Abilities.PSYCHIC_SURGE, - Abilities.GRASSY_SURGE, - Abilities.MISTY_SURGE, - Abilities.MAGICIAN, - Abilities.SHEER_FORCE, - Abilities.PRANKSTER, + AbilityId.STURDY, + AbilityId.PICKUP, + AbilityId.INTIMIDATE, + AbilityId.GUTS, + AbilityId.DROUGHT, + AbilityId.DRIZZLE, + AbilityId.SNOW_WARNING, + AbilityId.SAND_STREAM, + AbilityId.ELECTRIC_SURGE, + AbilityId.PSYCHIC_SURGE, + AbilityId.GRASSY_SURGE, + AbilityId.MISTY_SURGE, + AbilityId.MAGICIAN, + AbilityId.SHEER_FORCE, + AbilityId.PRANKSTER, ]; /** @@ -86,7 +86,7 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder .withAutoHideIntroVisuals(false) .withIntroSpriteConfigs([ { - spriteKey: Species.MR_MIME.toString(), + spriteKey: SpeciesId.MR_MIME.toString(), fileRoot: "pokemon", hasShadow: true, repeat: true, @@ -96,7 +96,7 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder yShadow: -3, }, { - spriteKey: Species.BLACEPHALON.toString(), + spriteKey: SpeciesId.BLACEPHALON.toString(), fileRoot: "pokemon/exp", hasShadow: true, repeat: true, @@ -154,28 +154,28 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder pokemonConfigs: [ // Overrides first 2 pokemon to be Mr. Mime and Blacephalon { - species: getPokemonSpecies(Species.MR_MIME), + species: getPokemonSpecies(SpeciesId.MR_MIME), isBoss: true, - moveSet: [Moves.TEETER_DANCE, Moves.ALLY_SWITCH, Moves.DAZZLING_GLEAM, Moves.PSYCHIC], + moveSet: [MoveId.TEETER_DANCE, MoveId.ALLY_SWITCH, MoveId.DAZZLING_GLEAM, MoveId.PSYCHIC], }, { // Blacephalon has the random ability from pool, and 2 entirely random types to fit with the theme of the encounter - species: getPokemonSpecies(Species.BLACEPHALON), + species: getPokemonSpecies(SpeciesId.BLACEPHALON), customPokemonData: new CustomPokemonData({ ability: ability, types: [firstType, secondType], }), isBoss: true, - moveSet: [Moves.TRICK, Moves.HYPNOSIS, Moves.SHADOW_BALL, Moves.MIND_BLOWN], + moveSet: [MoveId.TRICK, MoveId.HYPNOSIS, MoveId.SHADOW_BALL, MoveId.MIND_BLOWN], }, ], doubleBattle: true, }); // Load animations/sfx for start of fight moves - loadCustomMovesForEncounter([Moves.ROLE_PLAY, Moves.TAUNT]); + loadCustomMovesForEncounter([MoveId.ROLE_PLAY, MoveId.TAUNT]); - encounter.setDialogueToken("blacephalonName", getPokemonSpecies(Species.BLACEPHALON).getName()); + encounter.setDialogueToken("blacephalonName", getPokemonSpecies(SpeciesId.BLACEPHALON).getName()); return true; }) @@ -208,19 +208,19 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder // Mr. Mime copies the Blacephalon's random ability sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.ENEMY_2], - move: new PokemonMove(Moves.ROLE_PLAY), + move: new PokemonMove(MoveId.ROLE_PLAY), ignorePp: true, }, { sourceBattlerIndex: BattlerIndex.ENEMY_2, targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.TAUNT), + move: new PokemonMove(MoveId.TAUNT), ignorePp: true, }, { sourceBattlerIndex: BattlerIndex.ENEMY_2, targets: [BattlerIndex.PLAYER_2], - move: new PokemonMove(Moves.TAUNT), + move: new PokemonMove(MoveId.TAUNT), ignorePp: true, }, ); diff --git a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts index bdd4bfaacaa..c7f9a99569d 100644 --- a/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts +++ b/src/data/mystery-encounters/encounters/dancing-lessons-encounter.ts @@ -31,14 +31,14 @@ import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import PokemonData from "#app/system/pokemon-data"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { EncounterAnim } from "#enums/encounter-anims"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PokeballType } from "#enums/pokeball"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import i18next from "i18next"; @@ -47,46 +47,46 @@ const namespace = "mysteryEncounters/dancingLessons"; // Fire form const BAILE_STYLE_BIOMES = [ - Biome.VOLCANO, - Biome.BEACH, - Biome.ISLAND, - Biome.WASTELAND, - Biome.MOUNTAIN, - Biome.BADLANDS, - Biome.DESERT, + BiomeId.VOLCANO, + BiomeId.BEACH, + BiomeId.ISLAND, + BiomeId.WASTELAND, + BiomeId.MOUNTAIN, + BiomeId.BADLANDS, + BiomeId.DESERT, ]; // Electric form const POM_POM_STYLE_BIOMES = [ - Biome.CONSTRUCTION_SITE, - Biome.POWER_PLANT, - Biome.FACTORY, - Biome.LABORATORY, - Biome.SLUM, - Biome.METROPOLIS, - Biome.DOJO, + BiomeId.CONSTRUCTION_SITE, + BiomeId.POWER_PLANT, + BiomeId.FACTORY, + BiomeId.LABORATORY, + BiomeId.SLUM, + BiomeId.METROPOLIS, + BiomeId.DOJO, ]; // Psychic form const PAU_STYLE_BIOMES = [ - Biome.JUNGLE, - Biome.FAIRY_CAVE, - Biome.MEADOW, - Biome.PLAINS, - Biome.GRASS, - Biome.TALL_GRASS, - Biome.FOREST, + BiomeId.JUNGLE, + BiomeId.FAIRY_CAVE, + BiomeId.MEADOW, + BiomeId.PLAINS, + BiomeId.GRASS, + BiomeId.TALL_GRASS, + BiomeId.FOREST, ]; // Ghost form const SENSU_STYLE_BIOMES = [ - Biome.RUINS, - Biome.SWAMP, - Biome.CAVE, - Biome.ABYSS, - Biome.GRAVEYARD, - Biome.LAKE, - Biome.TEMPLE, + BiomeId.RUINS, + BiomeId.SWAMP, + BiomeId.CAVE, + BiomeId.ABYSS, + BiomeId.GRAVEYARD, + BiomeId.LAKE, + BiomeId.TEMPLE, ]; /** @@ -127,14 +127,14 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder .withOnInit(() => { const encounter = globalScene.currentBattle.mysteryEncounter!; - const species = getPokemonSpecies(Species.ORICORIO); + const species = getPokemonSpecies(SpeciesId.ORICORIO); const level = getEncounterPokemonLevelForWave(STANDARD_ENCOUNTER_BOOSTED_LEVEL_MODIFIER); const enemyPokemon = new EnemyPokemon(species, level, TrainerSlot.NONE, false); - if (!enemyPokemon.moveset.some(m => m && m.getMove().id === Moves.REVELATION_DANCE)) { + if (!enemyPokemon.moveset.some(m => m && m.getMove().id === MoveId.REVELATION_DANCE)) { if (enemyPokemon.moveset.length < 4) { - enemyPokemon.moveset.push(new PokemonMove(Moves.REVELATION_DANCE)); + enemyPokemon.moveset.push(new PokemonMove(MoveId.REVELATION_DANCE)); } else { - enemyPokemon.moveset[0] = new PokemonMove(Moves.REVELATION_DANCE); + enemyPokemon.moveset[0] = new PokemonMove(MoveId.REVELATION_DANCE); } } @@ -193,7 +193,7 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder oricorioData, }; - encounter.setDialogueToken("oricorioName", getPokemonSpecies(Species.ORICORIO).getName()); + encounter.setDialogueToken("oricorioName", getPokemonSpecies(SpeciesId.ORICORIO).getName()); return true; }) @@ -215,7 +215,7 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder encounter.startOfBattleEffects.push({ sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.REVELATION_DANCE), + move: new PokemonMove(MoveId.REVELATION_DANCE), ignorePp: true, }); @@ -246,7 +246,7 @@ export const DancingLessonsEncounter: MysteryEncounter = MysteryEncounterBuilder const onPokemonSelected = (pokemon: PlayerPokemon) => { encounter.setDialogueToken("selectedPokemon", pokemon.getNameToRender()); globalScene.unshiftPhase( - new LearnMovePhase(globalScene.getPlayerParty().indexOf(pokemon), Moves.REVELATION_DANCE), + new LearnMovePhase(globalScene.getPlayerParty().indexOf(pokemon), MoveId.REVELATION_DANCE), ); // Play animation again to "learn" the dance diff --git a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts index e746b13c6a5..c54cb232087 100644 --- a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts +++ b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts @@ -1,7 +1,7 @@ import type { PokemonType } from "#enums/pokemon-type"; import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { globalScene } from "#app/global-scene"; import { modifierTypes } from "#app/modifier/modifier-type"; import { getPokemonSpecies } from "#app/data/pokemon-species"; @@ -27,68 +27,68 @@ const namespace = "mysteryEncounters/darkDeal"; /** Exclude Ultra Beasts (inludes Cosmog/Solgaleo/Lunala/Necrozma), Paradox (includes Miraidon/Koraidon), Eternatus, and Mythicals */ const excludedBosses = [ - Species.NECROZMA, - Species.COSMOG, - Species.COSMOEM, - Species.SOLGALEO, - Species.LUNALA, - Species.ETERNATUS, - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.ROARING_MOON, - Species.KORAIDON, - Species.WALKING_WAKE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.IRON_VALIANT, - Species.MIRAIDON, - Species.IRON_LEAVES, - Species.IRON_BOULDER, - Species.IRON_CROWN, - Species.MEW, - Species.CELEBI, - Species.DEOXYS, - Species.JIRACHI, - Species.DARKRAI, - Species.PHIONE, - Species.MANAPHY, - Species.ARCEUS, - Species.SHAYMIN, - Species.VICTINI, - Species.MELOETTA, - Species.KELDEO, - Species.GENESECT, - Species.DIANCIE, - Species.HOOPA, - Species.VOLCANION, - Species.MAGEARNA, - Species.MARSHADOW, - Species.ZERAORA, - Species.ZARUDE, - Species.MELTAN, - Species.MELMETAL, - Species.PECHARUNT, + SpeciesId.NECROZMA, + SpeciesId.COSMOG, + SpeciesId.COSMOEM, + SpeciesId.SOLGALEO, + SpeciesId.LUNALA, + SpeciesId.ETERNATUS, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.ROARING_MOON, + SpeciesId.KORAIDON, + SpeciesId.WALKING_WAKE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_VALIANT, + SpeciesId.MIRAIDON, + SpeciesId.IRON_LEAVES, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, + SpeciesId.MEW, + SpeciesId.CELEBI, + SpeciesId.DEOXYS, + SpeciesId.JIRACHI, + SpeciesId.DARKRAI, + SpeciesId.PHIONE, + SpeciesId.MANAPHY, + SpeciesId.ARCEUS, + SpeciesId.SHAYMIN, + SpeciesId.VICTINI, + SpeciesId.MELOETTA, + SpeciesId.KELDEO, + SpeciesId.GENESECT, + SpeciesId.DIANCIE, + SpeciesId.HOOPA, + SpeciesId.VOLCANION, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.ZERAORA, + SpeciesId.ZARUDE, + SpeciesId.MELTAN, + SpeciesId.MELMETAL, + SpeciesId.PECHARUNT, ]; /** diff --git a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts index 7040bb47d19..8d3d30bcd66 100644 --- a/src/data/mystery-encounters/encounters/delibirdy-encounter.ts +++ b/src/data/mystery-encounters/encounters/delibirdy-encounter.ts @@ -36,7 +36,7 @@ import { randSeedItem } from "#app/utils/common"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { timedEventManager } from "#app/global-event-manager"; /** the i18n namespace for this encounter */ @@ -95,7 +95,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with { spriteKey: "", fileRoot: "", - species: Species.DELIBIRD, + species: SpeciesId.DELIBIRD, hasShadow: true, repeat: true, startFrame: 38, @@ -104,7 +104,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with { spriteKey: "", fileRoot: "", - species: Species.DELIBIRD, + species: SpeciesId.DELIBIRD, hasShadow: true, repeat: true, scale: 1.06, @@ -112,7 +112,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with { spriteKey: "", fileRoot: "", - species: Species.DELIBIRD, + species: SpeciesId.DELIBIRD, hasShadow: true, repeat: true, startFrame: 65, @@ -137,7 +137,7 @@ export const DelibirdyEncounter: MysteryEncounter = MysteryEncounterBuilder.with ]) .withOnInit(() => { const encounter = globalScene.currentBattle.mysteryEncounter!; - encounter.setDialogueToken("delibirdName", getPokemonSpecies(Species.DELIBIRD).getName()); + encounter.setDialogueToken("delibirdName", getPokemonSpecies(SpeciesId.DELIBIRD).getName()); globalScene.loadBgm("mystery_encounter_delibirdy", "mystery_encounter_delibirdy.mp3"); return true; diff --git a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts index 39341bef2d5..2b6ac9b7cf3 100644 --- a/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts +++ b/src/data/mystery-encounters/encounters/department-store-sale-encounter.ts @@ -6,7 +6,7 @@ import type { ModifierTypeFunc } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; @@ -35,7 +35,7 @@ export const DepartmentStoreSaleEncounter: MysteryEncounter = MysteryEncounterBu { spriteKey: "", fileRoot: "", - species: Species.FURFROU, + species: SpeciesId.FURFROU, hasShadow: true, repeat: true, x: 30, diff --git a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts index 0364b98abe2..872e6300a29 100644 --- a/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts +++ b/src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts @@ -20,14 +20,14 @@ import { CombinationPokemonRequirement, TypeRequirement, } from "#app/data/mystery-encounters/mystery-encounter-requirements"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { Gender } from "#app/data/gender"; import { PokemonType } from "#enums/pokemon-type"; import { BattlerIndex } from "#app/battle"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { EncounterBattleAnim } from "#app/data/battle-anims"; import { WeatherType } from "#enums/weather-type"; import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; @@ -42,7 +42,7 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { EncounterAnim } from "#enums/encounter-anims"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { Stat } from "#enums/stat"; @@ -83,7 +83,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w const encounter = globalScene.currentBattle.mysteryEncounter!; // Calculate boss mons - const volcaronaSpecies = getPokemonSpecies(Species.VOLCARONA); + const volcaronaSpecies = getPokemonSpecies(SpeciesId.VOLCARONA); const config: EnemyPartyConfig = { pokemonConfigs: [ { @@ -119,7 +119,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w { spriteKey: "", fileRoot: "", - species: Species.VOLCARONA, + species: SpeciesId.VOLCARONA, repeat: true, hidden: true, hasShadow: true, @@ -129,7 +129,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w { spriteKey: "", fileRoot: "", - species: Species.VOLCARONA, + species: SpeciesId.VOLCARONA, repeat: true, hidden: true, hasShadow: true, @@ -138,12 +138,12 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w ]; // Load animations/sfx for Volcarona moves - loadCustomMovesForEncounter([Moves.FIRE_SPIN, Moves.QUIVER_DANCE]); + loadCustomMovesForEncounter([MoveId.FIRE_SPIN, MoveId.QUIVER_DANCE]); const pokemon = globalScene.getEnemyPokemon(); globalScene.arena.trySetWeather(WeatherType.SUNNY, pokemon); - encounter.setDialogueToken("volcaronaName", getPokemonSpecies(Species.VOLCARONA).getName()); + encounter.setDialogueToken("volcaronaName", getPokemonSpecies(SpeciesId.VOLCARONA).getName()); return true; }) @@ -193,13 +193,13 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w { sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.FIRE_SPIN), + move: new PokemonMove(MoveId.FIRE_SPIN), ignorePp: true, }, { sourceBattlerIndex: BattlerIndex.ENEMY_2, targets: [BattlerIndex.PLAYER_2], - move: new PokemonMove(Moves.FIRE_SPIN), + move: new PokemonMove(MoveId.FIRE_SPIN), ignorePp: true, }, ); @@ -239,11 +239,11 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w if (chosenPokemon.trySetStatus(StatusEffect.BURN)) { // Burn applied encounter.setDialogueToken("burnedPokemon", chosenPokemon.getNameToRender()); - encounter.setDialogueToken("abilityName", new Ability(Abilities.HEATPROOF, 3).name); + encounter.setDialogueToken("abilityName", new Ability(AbilityId.HEATPROOF, 3).name); queueEncounterMessage(`${namespace}:option.2.target_burned`); // Also permanently change the burned Pokemon's ability to Heatproof - applyAbilityOverrideToPokemon(chosenPokemon, Abilities.HEATPROOF); + applyAbilityOverrideToPokemon(chosenPokemon, AbilityId.HEATPROOF); } } @@ -283,7 +283,7 @@ export const FieryFalloutEncounter: MysteryEncounter = MysteryEncounterBuilder.w const primary = encounter.options[2].primaryPokemon!; - setEncounterExp([primary.id], getPokemonSpecies(Species.VOLCARONA).baseExp * 2); + setEncounterExp([primary.id], getPokemonSpecies(SpeciesId.VOLCARONA).baseExp * 2); leaveEncounterWithoutBattle(); }) .build(), diff --git a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts index 2d0828b8c0c..7694f62eac4 100644 --- a/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts +++ b/src/data/mystery-encounters/encounters/fun-and-games-encounter.ts @@ -19,7 +19,7 @@ import { MoneyRequirement } from "#app/data/mystery-encounters/mystery-encounter import { queueEncounterMessage, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import i18next from "i18next"; import { getPokemonNameWithAffix } from "#app/messages"; import { PlayerGender } from "#enums/player-gender"; @@ -91,7 +91,7 @@ export const FunAndGamesEncounter: MysteryEncounter = MysteryEncounterBuilder.wi .withOnInit(() => { const encounter = globalScene.currentBattle.mysteryEncounter!; globalScene.loadBgm("mystery_encounter_fun_and_games", "mystery_encounter_fun_and_games.mp3"); - encounter.setDialogueToken("wobbuffetName", getPokemonSpecies(Species.WOBBUFFET).getName()); + encounter.setDialogueToken("wobbuffetName", getPokemonSpecies(SpeciesId.WOBBUFFET).getName()); return true; }) .withOnVisualsStart(() => { @@ -214,7 +214,7 @@ async function summonPlayerPokemon() { }); // Also loads Wobbuffet data (cannot be shiny) - const enemySpecies = getPokemonSpecies(Species.WOBBUFFET); + const enemySpecies = getPokemonSpecies(SpeciesId.WOBBUFFET); globalScene.currentBattle.enemyParty = []; const wobbuffet = globalScene.addEnemyPokemon( enemySpecies, diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index bb41bc7883c..6ecce46ae24 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -17,7 +17,7 @@ import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import type PokemonSpecies from "#app/data/pokemon-species"; import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species"; import { getTypeRgb } from "#app/data/type"; @@ -64,39 +64,39 @@ const WONDER_TRADE_SHINY_CHANCE = 512; const MAX_WONDER_TRADE_SHINY_CHANCE = 4096; const LEGENDARY_TRADE_POOLS = { - 1: [Species.RATTATA, Species.PIDGEY, Species.WEEDLE], - 2: [Species.SENTRET, Species.HOOTHOOT, Species.LEDYBA], - 3: [Species.POOCHYENA, Species.ZIGZAGOON, Species.TAILLOW], - 4: [Species.BIDOOF, Species.STARLY, Species.KRICKETOT], - 5: [Species.PATRAT, Species.PURRLOIN, Species.PIDOVE], - 6: [Species.BUNNELBY, Species.LITLEO, Species.SCATTERBUG], - 7: [Species.PIKIPEK, Species.YUNGOOS, Species.ROCKRUFF], - 8: [Species.SKWOVET, Species.WOOLOO, Species.ROOKIDEE], - 9: [Species.LECHONK, Species.FIDOUGH, Species.TAROUNTULA], + 1: [SpeciesId.RATTATA, SpeciesId.PIDGEY, SpeciesId.WEEDLE], + 2: [SpeciesId.SENTRET, SpeciesId.HOOTHOOT, SpeciesId.LEDYBA], + 3: [SpeciesId.POOCHYENA, SpeciesId.ZIGZAGOON, SpeciesId.TAILLOW], + 4: [SpeciesId.BIDOOF, SpeciesId.STARLY, SpeciesId.KRICKETOT], + 5: [SpeciesId.PATRAT, SpeciesId.PURRLOIN, SpeciesId.PIDOVE], + 6: [SpeciesId.BUNNELBY, SpeciesId.LITLEO, SpeciesId.SCATTERBUG], + 7: [SpeciesId.PIKIPEK, SpeciesId.YUNGOOS, SpeciesId.ROCKRUFF], + 8: [SpeciesId.SKWOVET, SpeciesId.WOOLOO, SpeciesId.ROOKIDEE], + 9: [SpeciesId.LECHONK, SpeciesId.FIDOUGH, SpeciesId.TAROUNTULA], }; /** Exclude Paradox mons as they aren't considered legendary/mythical */ const EXCLUDED_TRADE_SPECIES = [ - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.ROARING_MOON, - Species.WALKING_WAKE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.IRON_BOULDER, - Species.IRON_CROWN, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.ROARING_MOON, + SpeciesId.WALKING_WAKE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, ]; /** diff --git a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts index 6d8a1fc8c6b..009639291de 100644 --- a/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts +++ b/src/data/mystery-encounters/encounters/lost-at-sea-encounter.ts @@ -1,6 +1,6 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; @@ -13,8 +13,8 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { PokemonMove } from "#app/field/pokemon"; -const OPTION_1_REQUIRED_MOVE = Moves.SURF; -const OPTION_2_REQUIRED_MOVE = Moves.FLY; +const OPTION_1_REQUIRED_MOVE = MoveId.SURF; +const OPTION_2_REQUIRED_MOVE = MoveId.FLY; /** * Damage percentage taken when wandering aimlessly. * Can be a number between `0` - `100`. @@ -129,7 +129,7 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with * Generic handler for using a guiding pokemon to guide you back. */ function handlePokemonGuidingYouPhase() { - const laprasSpecies = getPokemonSpecies(Species.LAPRAS); + const laprasSpecies = getPokemonSpecies(SpeciesId.LAPRAS); const { mysteryEncounter } = globalScene.currentBattle; if (mysteryEncounter?.selectedOption?.primaryPokemon?.id) { diff --git a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts index e6c11378163..9f699f7d045 100644 --- a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts @@ -19,11 +19,11 @@ import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { GameOverPhase } from "#app/phases/game-over-phase"; import { randSeedInt } from "#app/utils/common"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; /** i18n namespace for encounter */ const namespace = "mysteryEncounters/mysteriousChest"; @@ -86,17 +86,17 @@ export const MysteriousChestEncounter: MysteryEncounter = MysteryEncounterBuilde disableSwitch: true, pokemonConfigs: [ { - species: getPokemonSpecies(Species.GIMMIGHOUL), + species: getPokemonSpecies(SpeciesId.GIMMIGHOUL), formIndex: 0, isBoss: true, - moveSet: [Moves.NASTY_PLOT, Moves.SHADOW_BALL, Moves.POWER_GEM, Moves.THIEF], + moveSet: [MoveId.NASTY_PLOT, MoveId.SHADOW_BALL, MoveId.POWER_GEM, MoveId.THIEF], }, ], }; encounter.enemyPartyConfigs = [config]; - encounter.setDialogueToken("gimmighoulName", getPokemonSpecies(Species.GIMMIGHOUL).getName()); + encounter.setDialogueToken("gimmighoulName", getPokemonSpecies(SpeciesId.GIMMIGHOUL).getName()); encounter.setDialogueToken("trapPercent", TRAP_PERCENT.toString()); encounter.setDialogueToken("commonPercent", COMMON_REWARDS_PERCENT.toString()); encounter.setDialogueToken("ultraPercent", ULTRA_REWARDS_PERCENT.toString()); diff --git a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts index daf4d860cdf..1afc67e1d12 100644 --- a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts +++ b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts @@ -10,7 +10,7 @@ import type Pokemon from "#app/field/pokemon"; import { modifierTypes } from "#app/modifier/modifier-type"; import { randSeedInt } from "#app/utils/common"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; @@ -49,7 +49,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui .withPrimaryPokemonHealthRatioRequirement([0.51, 1]) // At least 1 Pokemon must have above half HP .withIntroSpriteConfigs([ { - spriteKey: Species.KROOKODILE.toString(), + spriteKey: SpeciesId.KROOKODILE.toString(), fileRoot: "pokemon", hasShadow: true, repeat: true, diff --git a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts index 2654f6b18d8..196d27c3f30 100644 --- a/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts +++ b/src/data/mystery-encounters/encounters/slumbering-snorlax-encounter.ts @@ -2,7 +2,7 @@ import { STEALING_MOVES } from "#app/data/mystery-encounters/requirements/requir import type { PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/modifier/modifier-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { globalScene } from "#app/global-scene"; import { StatusEffect } from "#enums/status-effect"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; @@ -20,7 +20,7 @@ import { } from "../utils/encounter-phase-utils"; import { queueEncounterMessage } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { Nature } from "#enums/nature"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { BattlerIndex } from "#app/battle"; import { AiType, PokemonMove } from "#app/field/pokemon"; import { getPokemonSpecies } from "#app/data/pokemon-species"; @@ -50,7 +50,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil .withFleeAllowed(false) .withIntroSpriteConfigs([ { - spriteKey: Species.SNORLAX.toString(), + spriteKey: SpeciesId.SNORLAX.toString(), fileRoot: "pokemon", hasShadow: true, tint: 0.25, @@ -69,14 +69,14 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil console.log(encounter); // Calculate boss mon - const bossSpecies = getPokemonSpecies(Species.SNORLAX); + const bossSpecies = getPokemonSpecies(SpeciesId.SNORLAX); const pokemonConfig: EnemyPokemonConfig = { species: bossSpecies, isBoss: true, shiny: false, // Shiny lock because shiny is rolled only if the battle option is picked status: [StatusEffect.SLEEP, 6], // Extra turns on timer for Snorlax's start of fight moves nature: Nature.DOCILE, - moveSet: [Moves.BODY_SLAM, Moves.CRUNCH, Moves.SLEEP_TALK, Moves.REST], + moveSet: [MoveId.BODY_SLAM, MoveId.CRUNCH, MoveId.SLEEP_TALK, MoveId.REST], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BERRY, [BerryType.SITRUS]) as PokemonHeldItemModifierType, @@ -106,9 +106,9 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil encounter.enemyPartyConfigs = [config]; // Load animations/sfx for Snorlax fight start moves - loadCustomMovesForEncounter([Moves.SNORE]); + loadCustomMovesForEncounter([MoveId.SNORE]); - encounter.setDialogueToken("snorlaxName", getPokemonSpecies(Species.SNORLAX).getName()); + encounter.setDialogueToken("snorlaxName", getPokemonSpecies(SpeciesId.SNORLAX).getName()); return true; }) @@ -133,14 +133,12 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil guaranteedModifierTypeFuncs: [modifierTypes.LEFTOVERS], fillRemaining: true, }); - encounter.startOfBattleEffects.push( - { - sourceBattlerIndex: BattlerIndex.ENEMY, - targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.SNORE), - ignorePp: true, - }, - ); + encounter.startOfBattleEffects.push({ + sourceBattlerIndex: BattlerIndex.ENEMY, + targets: [BattlerIndex.PLAYER], + move: new PokemonMove(MoveId.SNORE), + ignorePp: true, + }); await initBattleWithEnemyConfig(encounter.enemyPartyConfigs[0]); }, ) @@ -183,7 +181,7 @@ export const SlumberingSnorlaxEncounter: MysteryEncounter = MysteryEncounterBuil fillRemaining: false, }); // Snorlax exp to Pokemon that did the stealing - setEncounterExp(instance.primaryPokemon!.id, getPokemonSpecies(Species.SNORLAX).baseExp); + setEncounterExp(instance.primaryPokemon!.id, getPokemonSpecies(SpeciesId.SNORLAX).baseExp); leaveEncounterWithoutBattle(); }) .build(), diff --git a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts index 28c7fe4644f..f6bf5575120 100644 --- a/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts +++ b/src/data/mystery-encounters/encounters/teleporting-hijinks-encounter.ts @@ -20,7 +20,7 @@ import { queueEncounterMessage, showEncounterText } from "#app/data/mystery-enco import PokemonData from "#app/system/pokemon-data"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { getBiomeKey } from "#app/field/arena"; import { PokemonType } from "#enums/pokemon-type"; import { getPartyLuckValue, modifierTypes } from "#app/modifier/modifier-type"; @@ -39,7 +39,14 @@ import { const namespace = "mysteryEncounters/teleportingHijinks"; const MONEY_COST_MULTIPLIER = 1.75; -const BIOME_CANDIDATES = [Biome.SPACE, Biome.FAIRY_CAVE, Biome.LABORATORY, Biome.ISLAND, Biome.WASTELAND, Biome.DOJO]; +const BIOME_CANDIDATES = [ + BiomeId.SPACE, + BiomeId.FAIRY_CAVE, + BiomeId.LABORATORY, + BiomeId.ISLAND, + BiomeId.WASTELAND, + BiomeId.DOJO, +]; const MACHINE_INTERFACING_TYPES = [PokemonType.ELECTRIC, PokemonType.STEEL]; /** @@ -229,7 +236,7 @@ async function doBiomeTransitionDialogueAndBattleInit() { return config; } -async function animateBiomeChange(nextBiome: Biome) { +async function animateBiomeChange(nextBiome: BiomeId) { return new Promise(resolve => { globalScene.tweens.add({ targets: [globalScene.arenaEnemy, globalScene.lastEnemyTrainer], diff --git a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts index 74cda6fd205..5c3a4dd1a81 100644 --- a/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter.ts @@ -11,14 +11,14 @@ import { randSeedShuffle } from "#app/utils/common"; import type MysteryEncounter from "../mystery-encounter"; import { MysteryEncounterBuilder } from "../mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { TrainerType } from "#enums/trainer-type"; import i18next from "i18next"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; import { Nature } from "#enums/nature"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type { PlayerPokemon } from "#app/field/pokemon"; import { getEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import type { IEggOptions } from "#app/data/egg"; @@ -42,75 +42,75 @@ const FINAL_STAGE_EVOLUTION_WAVE = 75; const FRIENDSHIP_ADDED = 20; class BreederSpeciesEvolution { - species: Species; + species: SpeciesId; evolution: number; - constructor(species: Species, evolution: number) { + constructor(species: SpeciesId, evolution: number) { this.species = species; this.evolution = evolution; } } -const POOL_1_POKEMON: (Species | BreederSpeciesEvolution)[][] = [ - [Species.MUNCHLAX, new BreederSpeciesEvolution(Species.SNORLAX, SECOND_STAGE_EVOLUTION_WAVE)], +const POOL_1_POKEMON: (SpeciesId | BreederSpeciesEvolution)[][] = [ + [SpeciesId.MUNCHLAX, new BreederSpeciesEvolution(SpeciesId.SNORLAX, SECOND_STAGE_EVOLUTION_WAVE)], [ - Species.HAPPINY, - new BreederSpeciesEvolution(Species.CHANSEY, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.BLISSEY, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.HAPPINY, + new BreederSpeciesEvolution(SpeciesId.CHANSEY, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.BLISSEY, FINAL_STAGE_EVOLUTION_WAVE), ], [ - Species.MAGBY, - new BreederSpeciesEvolution(Species.MAGMAR, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.MAGMORTAR, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.MAGBY, + new BreederSpeciesEvolution(SpeciesId.MAGMAR, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.MAGMORTAR, FINAL_STAGE_EVOLUTION_WAVE), ], [ - Species.ELEKID, - new BreederSpeciesEvolution(Species.ELECTABUZZ, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.ELECTIVIRE, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.ELEKID, + new BreederSpeciesEvolution(SpeciesId.ELECTABUZZ, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.ELECTIVIRE, FINAL_STAGE_EVOLUTION_WAVE), ], - [Species.RIOLU, new BreederSpeciesEvolution(Species.LUCARIO, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.RIOLU, new BreederSpeciesEvolution(SpeciesId.LUCARIO, SECOND_STAGE_EVOLUTION_WAVE)], [ - Species.BUDEW, - new BreederSpeciesEvolution(Species.ROSELIA, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.ROSERADE, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.BUDEW, + new BreederSpeciesEvolution(SpeciesId.ROSELIA, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.ROSERADE, FINAL_STAGE_EVOLUTION_WAVE), ], - [Species.TOXEL, new BreederSpeciesEvolution(Species.TOXTRICITY, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.TOXEL, new BreederSpeciesEvolution(SpeciesId.TOXTRICITY, SECOND_STAGE_EVOLUTION_WAVE)], [ - Species.MIME_JR, - new BreederSpeciesEvolution(Species.GALAR_MR_MIME, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.MR_RIME, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.MIME_JR, + new BreederSpeciesEvolution(SpeciesId.GALAR_MR_MIME, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.MR_RIME, FINAL_STAGE_EVOLUTION_WAVE), ], ]; -const POOL_2_POKEMON: (Species | BreederSpeciesEvolution)[][] = [ +const POOL_2_POKEMON: (SpeciesId | BreederSpeciesEvolution)[][] = [ [ - Species.PICHU, - new BreederSpeciesEvolution(Species.PIKACHU, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.RAICHU, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.PICHU, + new BreederSpeciesEvolution(SpeciesId.PIKACHU, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.RAICHU, FINAL_STAGE_EVOLUTION_WAVE), ], [ - Species.PICHU, - new BreederSpeciesEvolution(Species.PIKACHU, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.ALOLA_RAICHU, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.PICHU, + new BreederSpeciesEvolution(SpeciesId.PIKACHU, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.ALOLA_RAICHU, FINAL_STAGE_EVOLUTION_WAVE), ], - [Species.SMOOCHUM, new BreederSpeciesEvolution(Species.JYNX, SECOND_STAGE_EVOLUTION_WAVE)], - [Species.TYROGUE, new BreederSpeciesEvolution(Species.HITMONLEE, SECOND_STAGE_EVOLUTION_WAVE)], - [Species.TYROGUE, new BreederSpeciesEvolution(Species.HITMONCHAN, SECOND_STAGE_EVOLUTION_WAVE)], - [Species.TYROGUE, new BreederSpeciesEvolution(Species.HITMONTOP, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.SMOOCHUM, new BreederSpeciesEvolution(SpeciesId.JYNX, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.TYROGUE, new BreederSpeciesEvolution(SpeciesId.HITMONLEE, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.TYROGUE, new BreederSpeciesEvolution(SpeciesId.HITMONCHAN, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.TYROGUE, new BreederSpeciesEvolution(SpeciesId.HITMONTOP, SECOND_STAGE_EVOLUTION_WAVE)], [ - Species.IGGLYBUFF, - new BreederSpeciesEvolution(Species.JIGGLYPUFF, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.WIGGLYTUFF, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.IGGLYBUFF, + new BreederSpeciesEvolution(SpeciesId.JIGGLYPUFF, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.WIGGLYTUFF, FINAL_STAGE_EVOLUTION_WAVE), ], [ - Species.AZURILL, - new BreederSpeciesEvolution(Species.MARILL, FIRST_STAGE_EVOLUTION_WAVE), - new BreederSpeciesEvolution(Species.AZUMARILL, FINAL_STAGE_EVOLUTION_WAVE), + SpeciesId.AZURILL, + new BreederSpeciesEvolution(SpeciesId.MARILL, FIRST_STAGE_EVOLUTION_WAVE), + new BreederSpeciesEvolution(SpeciesId.AZUMARILL, FINAL_STAGE_EVOLUTION_WAVE), ], - [Species.WYNAUT, new BreederSpeciesEvolution(Species.WOBBUFFET, SECOND_STAGE_EVOLUTION_WAVE)], - [Species.CHINGLING, new BreederSpeciesEvolution(Species.CHIMECHO, SECOND_STAGE_EVOLUTION_WAVE)], - [Species.BONSLY, new BreederSpeciesEvolution(Species.SUDOWOODO, SECOND_STAGE_EVOLUTION_WAVE)], - [Species.MANTYKE, new BreederSpeciesEvolution(Species.MANTINE, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.WYNAUT, new BreederSpeciesEvolution(SpeciesId.WOBBUFFET, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.CHINGLING, new BreederSpeciesEvolution(SpeciesId.CHIMECHO, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.BONSLY, new BreederSpeciesEvolution(SpeciesId.SUDOWOODO, SECOND_STAGE_EVOLUTION_WAVE)], + [SpeciesId.MANTYKE, new BreederSpeciesEvolution(SpeciesId.MANTINE, SECOND_STAGE_EVOLUTION_WAVE)], ]; /** @@ -144,10 +144,10 @@ export const TheExpertPokemonBreederEncounter: MysteryEncounter = MysteryEncount const cleffaSpecies = waveIndex < FIRST_STAGE_EVOLUTION_WAVE - ? Species.CLEFFA + ? SpeciesId.CLEFFA : waveIndex < FINAL_STAGE_EVOLUTION_WAVE - ? Species.CLEFAIRY - : Species.CLEFABLE; + ? SpeciesId.CLEFAIRY + : SpeciesId.CLEFABLE; encounter.spriteConfigs = [ { spriteKey: cleffaSpecies.toString(), @@ -466,10 +466,10 @@ function getPartyConfig(): EnemyPartyConfig { // First mon is *always* this special cleffa const cleffaSpecies = waveIndex < FIRST_STAGE_EVOLUTION_WAVE - ? Species.CLEFFA + ? SpeciesId.CLEFFA : waveIndex < FINAL_STAGE_EVOLUTION_WAVE - ? Species.CLEFAIRY - : Species.CLEFABLE; + ? SpeciesId.CLEFAIRY + : SpeciesId.CLEFABLE; const baseConfig: EnemyPartyConfig = { trainerType: TrainerType.EXPERT_POKEMON_BREEDER, pokemonConfigs: [ @@ -482,14 +482,14 @@ function getPartyConfig(): EnemyPartyConfig { abilityIndex: 1, // Magic Guard shiny: false, nature: Nature.ADAMANT, - moveSet: [Moves.FIRE_PUNCH, Moves.ICE_PUNCH, Moves.THUNDER_PUNCH, Moves.METEOR_MASH], + moveSet: [MoveId.FIRE_PUNCH, MoveId.ICE_PUNCH, MoveId.THUNDER_PUNCH, MoveId.METEOR_MASH], ivs: [31, 31, 31, 31, 31, 31], tera: PokemonType.FAIRY, }, ], }; - if (globalScene.arena.biomeType === Biome.SPACE) { + if (globalScene.arena.biomeType === BiomeId.SPACE) { // All 3 members always Cleffa line, but different configs baseConfig.pokemonConfigs!.push( { @@ -502,7 +502,7 @@ function getPartyConfig(): EnemyPartyConfig { shiny: true, variant: 1, nature: Nature.MODEST, - moveSet: [Moves.MOONBLAST, Moves.MYSTICAL_FIRE, Moves.ICE_BEAM, Moves.THUNDERBOLT], + moveSet: [MoveId.MOONBLAST, MoveId.MYSTICAL_FIRE, MoveId.ICE_BEAM, MoveId.THUNDERBOLT], ivs: [31, 31, 31, 31, 31, 31], }, { @@ -515,7 +515,7 @@ function getPartyConfig(): EnemyPartyConfig { shiny: true, variant: 2, nature: Nature.BOLD, - moveSet: [Moves.TRI_ATTACK, Moves.STORED_POWER, Moves.TAKE_HEART, Moves.MOONLIGHT], + moveSet: [MoveId.TRI_ATTACK, MoveId.STORED_POWER, MoveId.TAKE_HEART, MoveId.MOONLIGHT], ivs: [31, 31, 31, 31, 31, 31], }, ); @@ -542,7 +542,7 @@ function getPartyConfig(): EnemyPartyConfig { return baseConfig; } -function getSpeciesFromPool(speciesPool: (Species | BreederSpeciesEvolution)[][], waveIndex: number): Species { +function getSpeciesFromPool(speciesPool: (SpeciesId | BreederSpeciesEvolution)[][], waveIndex: number): SpeciesId { const poolCopy = randSeedShuffle(speciesPool.slice(0)); const speciesEvolutions = poolCopy.pop()!.slice(0); let speciesObject = speciesEvolutions.pop()!; diff --git a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts index 50b9c2da78c..0ad209ae4c6 100644 --- a/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-pokemon-salesman-encounter.ts @@ -17,7 +17,7 @@ import { import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { speciesStarterCosts } from "#app/data/balance/starters"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { PokeballType } from "#enums/pokeball"; import type { EnemyPokemon } from "#app/field/pokemon"; import { PlayerPokemon } from "#app/field/pokemon"; @@ -27,7 +27,7 @@ import PokemonData from "#app/system/pokemon-data"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { NON_LEGEND_PARADOX_POKEMON, NON_LEGEND_ULTRA_BEASTS } from "#app/data/balance/special-species-groups"; import { timedEventManager } from "#app/global-event-manager"; @@ -81,7 +81,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui let tries = 0; // Reroll any species that don't have HAs - while ((isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE) && tries < 5) { + while ((isNullOrUndefined(species.abilityHidden) || species.abilityHidden === AbilityId.NONE) && tries < 5) { species = getSalesmanSpeciesOffer(); tries++; } @@ -110,15 +110,15 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui */ if ( r === 0 || - ((isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE) && + ((isNullOrUndefined(species.abilityHidden) || species.abilityHidden === AbilityId.NONE) && validEventEncounters.length === 0) ) { // If you roll 1%, give shiny Magikarp with random variant - species = getPokemonSpecies(Species.MAGIKARP); + species = getPokemonSpecies(SpeciesId.MAGIKARP); pokemon = new PlayerPokemon(species, 5, 2, undefined, undefined, true); } else if ( validEventEncounters.length > 0 && - (r <= EVENT_THRESHOLD || isNullOrUndefined(species.abilityHidden) || species.abilityHidden === Abilities.NONE) + (r <= EVENT_THRESHOLD || isNullOrUndefined(species.abilityHidden) || species.abilityHidden === AbilityId.NONE) ) { tries = 0; do { @@ -128,7 +128,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui pokemon = new PlayerPokemon( species, 5, - species.abilityHidden === Abilities.NONE ? undefined : 2, + species.abilityHidden === AbilityId.NONE ? undefined : 2, enc.formIndex, ); pokemon.trySetShinySeed(); @@ -151,7 +151,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter = MysteryEncounterBui pokemon.trySetShinySeed(); } else { // If there's, and this would never happen, no eligible event encounters with a hidden ability, just do Magikarp - species = getPokemonSpecies(Species.MAGIKARP); + species = getPokemonSpecies(SpeciesId.MAGIKARP); pokemon = new PlayerPokemon(species, 5, 2, undefined, undefined, true); } } diff --git a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts index 294f1a78b34..33f43617913 100644 --- a/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-strong-stuff-encounter.ts @@ -14,13 +14,13 @@ import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { Nature } from "#enums/nature"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; import { queueEncounterMessage, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { modifyPlayerPokemonBST } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { BattlerIndex } from "#app/battle"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; @@ -64,7 +64,7 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder disableAnimation: true, }, { - spriteKey: Species.SHUCKLE.toString(), + spriteKey: SpeciesId.SHUCKLE.toString(), fileRoot: "pokemon", hasShadow: true, repeat: true, @@ -88,13 +88,13 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder disableSwitch: true, pokemonConfigs: [ { - species: getPokemonSpecies(Species.SHUCKLE), + species: getPokemonSpecies(SpeciesId.SHUCKLE), isBoss: true, bossSegments: 5, shiny: false, // Shiny lock because shiny is rolled only if the battle option is picked customPokemonData: new CustomPokemonData({ spriteScale: 1.25 }), nature: Nature.HARDY, - moveSet: [Moves.INFESTATION, Moves.SALT_CURE, Moves.GASTRO_ACID, Moves.HEAL_ORDER], + moveSet: [MoveId.INFESTATION, MoveId.SALT_CURE, MoveId.GASTRO_ACID, MoveId.HEAL_ORDER], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BERRY, [BerryType.SITRUS]) as PokemonHeldItemModifierType, @@ -126,9 +126,9 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder encounter.enemyPartyConfigs = [config]; - loadCustomMovesForEncounter([Moves.GASTRO_ACID, Moves.STEALTH_ROCK]); + loadCustomMovesForEncounter([MoveId.GASTRO_ACID, MoveId.STEALTH_ROCK]); - encounter.setDialogueToken("shuckleName", getPokemonSpecies(Species.SHUCKLE).getName()); + encounter.setDialogueToken("shuckleName", getPokemonSpecies(SpeciesId.SHUCKLE).getName()); return true; }) @@ -210,13 +210,13 @@ export const TheStrongStuffEncounter: MysteryEncounter = MysteryEncounterBuilder { sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.GASTRO_ACID), + move: new PokemonMove(MoveId.GASTRO_ACID), ignorePp: true, }, { sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.STEALTH_ROCK), + move: new PokemonMove(MoveId.STEALTH_ROCK), ignorePp: true, }, ); diff --git a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts index 3cbe42591d8..0776d89ed63 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -15,10 +15,10 @@ import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounte import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { TrainerType } from "#enums/trainer-type"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Nature } from "#enums/nature"; import { PokemonType } from "#enums/pokemon-type"; import { BerryType } from "#enums/berry-type"; @@ -215,8 +215,8 @@ function endTrainerBattleAndShowDialogue(): Promise { // Only trigger form change when Eiscue is in Noice form // Hardcoded Eiscue for now in case it is fused with another pokemon if ( - pokemon.species.speciesId === Species.EISCUE && - pokemon.hasAbility(Abilities.ICE_FACE) && + pokemon.species.speciesId === SpeciesId.EISCUE && + pokemon.hasAbility(AbilityId.ICE_FACE) && pokemon.formIndex === 1 ) { globalScene.triggerPokemonFormChange(pokemon, SpeciesFormChangeAbilityTrigger); @@ -256,11 +256,11 @@ function getVictorTrainerConfig(): EnemyPartyConfig { trainerType: TrainerType.VICTOR, pokemonConfigs: [ { - species: getPokemonSpecies(Species.SWELLOW), + species: getPokemonSpecies(SpeciesId.SWELLOW), isBoss: false, abilityIndex: 0, // Guts nature: Nature.ADAMANT, - moveSet: [Moves.FACADE, Moves.BRAVE_BIRD, Moves.PROTECT, Moves.QUICK_ATTACK], + moveSet: [MoveId.FACADE, MoveId.BRAVE_BIRD, MoveId.PROTECT, MoveId.QUICK_ATTACK], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.FLAME_ORB) as PokemonHeldItemModifierType, @@ -274,11 +274,11 @@ function getVictorTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.OBSTAGOON), + species: getPokemonSpecies(SpeciesId.OBSTAGOON), isBoss: false, abilityIndex: 1, // Guts nature: Nature.ADAMANT, - moveSet: [Moves.FACADE, Moves.OBSTRUCT, Moves.NIGHT_SLASH, Moves.FIRE_PUNCH], + moveSet: [MoveId.FACADE, MoveId.OBSTRUCT, MoveId.NIGHT_SLASH, MoveId.FIRE_PUNCH], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.FLAME_ORB) as PokemonHeldItemModifierType, @@ -300,11 +300,11 @@ function getVictoriaTrainerConfig(): EnemyPartyConfig { trainerType: TrainerType.VICTORIA, pokemonConfigs: [ { - species: getPokemonSpecies(Species.ROSERADE), + species: getPokemonSpecies(SpeciesId.ROSERADE), isBoss: false, abilityIndex: 0, // Natural Cure nature: Nature.CALM, - moveSet: [Moves.SYNTHESIS, Moves.SLUDGE_BOMB, Moves.GIGA_DRAIN, Moves.SLEEP_POWDER], + moveSet: [MoveId.SYNTHESIS, MoveId.SLUDGE_BOMB, MoveId.GIGA_DRAIN, MoveId.SLEEP_POWDER], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.SOUL_DEW) as PokemonHeldItemModifierType, @@ -318,11 +318,11 @@ function getVictoriaTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.GARDEVOIR), + species: getPokemonSpecies(SpeciesId.GARDEVOIR), isBoss: false, formIndex: 1, nature: Nature.TIMID, - moveSet: [Moves.PSYSHOCK, Moves.MOONBLAST, Moves.SHADOW_BALL, Moves.WILL_O_WISP], + moveSet: [MoveId.PSYSHOCK, MoveId.MOONBLAST, MoveId.SHADOW_BALL, MoveId.WILL_O_WISP], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, [ @@ -349,11 +349,11 @@ function getViviTrainerConfig(): EnemyPartyConfig { trainerType: TrainerType.VIVI, pokemonConfigs: [ { - species: getPokemonSpecies(Species.SEAKING), + species: getPokemonSpecies(SpeciesId.SEAKING), isBoss: false, abilityIndex: 3, // Lightning Rod nature: Nature.ADAMANT, - moveSet: [Moves.WATERFALL, Moves.MEGAHORN, Moves.KNOCK_OFF, Moves.REST], + moveSet: [MoveId.WATERFALL, MoveId.MEGAHORN, MoveId.KNOCK_OFF, MoveId.REST], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BERRY, [BerryType.LUM]) as PokemonHeldItemModifierType, @@ -368,11 +368,11 @@ function getViviTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.BRELOOM), + species: getPokemonSpecies(SpeciesId.BRELOOM), isBoss: false, abilityIndex: 1, // Poison Heal nature: Nature.JOLLY, - moveSet: [Moves.SPORE, Moves.SWORDS_DANCE, Moves.SEED_BOMB, Moves.DRAIN_PUNCH], + moveSet: [MoveId.SPORE, MoveId.SWORDS_DANCE, MoveId.SEED_BOMB, MoveId.DRAIN_PUNCH], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BASE_STAT_BOOSTER, [Stat.HP]) as PokemonHeldItemModifierType, @@ -386,11 +386,11 @@ function getViviTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.CAMERUPT), + species: getPokemonSpecies(SpeciesId.CAMERUPT), isBoss: false, formIndex: 1, nature: Nature.CALM, - moveSet: [Moves.EARTH_POWER, Moves.FIRE_BLAST, Moves.YAWN, Moves.PROTECT], + moveSet: [MoveId.EARTH_POWER, MoveId.FIRE_BLAST, MoveId.YAWN, MoveId.PROTECT], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.QUICK_CLAW) as PokemonHeldItemModifierType, @@ -408,11 +408,11 @@ function getVickyTrainerConfig(): EnemyPartyConfig { trainerType: TrainerType.VICKY, pokemonConfigs: [ { - species: getPokemonSpecies(Species.MEDICHAM), + species: getPokemonSpecies(SpeciesId.MEDICHAM), isBoss: false, formIndex: 1, nature: Nature.IMPISH, - moveSet: [Moves.AXE_KICK, Moves.ICE_PUNCH, Moves.ZEN_HEADBUTT, Moves.BULLET_PUNCH], + moveSet: [MoveId.AXE_KICK, MoveId.ICE_PUNCH, MoveId.ZEN_HEADBUTT, MoveId.BULLET_PUNCH], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.SHELL_BELL) as PokemonHeldItemModifierType, @@ -429,11 +429,11 @@ function getVitoTrainerConfig(): EnemyPartyConfig { trainerType: TrainerType.VITO, pokemonConfigs: [ { - species: getPokemonSpecies(Species.HISUI_ELECTRODE), + species: getPokemonSpecies(SpeciesId.HISUI_ELECTRODE), isBoss: false, abilityIndex: 0, // Soundproof nature: Nature.MODEST, - moveSet: [Moves.THUNDERBOLT, Moves.GIGA_DRAIN, Moves.FOUL_PLAY, Moves.THUNDER_WAVE], + moveSet: [MoveId.THUNDERBOLT, MoveId.GIGA_DRAIN, MoveId.FOUL_PLAY, MoveId.THUNDER_WAVE], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BASE_STAT_BOOSTER, [Stat.SPD]) as PokemonHeldItemModifierType, @@ -443,11 +443,11 @@ function getVitoTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.SWALOT), + species: getPokemonSpecies(SpeciesId.SWALOT), isBoss: false, abilityIndex: 2, // Gluttony nature: Nature.QUIET, - moveSet: [Moves.SLUDGE_BOMB, Moves.GIGA_DRAIN, Moves.ICE_BEAM, Moves.EARTHQUAKE], + moveSet: [MoveId.SLUDGE_BOMB, MoveId.GIGA_DRAIN, MoveId.ICE_BEAM, MoveId.EARTHQUAKE], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BERRY, [BerryType.SITRUS]) as PokemonHeldItemModifierType, @@ -496,11 +496,11 @@ function getVitoTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.DODRIO), + species: getPokemonSpecies(SpeciesId.DODRIO), isBoss: false, abilityIndex: 2, // Tangled Feet nature: Nature.JOLLY, - moveSet: [Moves.DRILL_PECK, Moves.QUICK_ATTACK, Moves.THRASH, Moves.KNOCK_OFF], + moveSet: [MoveId.DRILL_PECK, MoveId.QUICK_ATTACK, MoveId.THRASH, MoveId.KNOCK_OFF], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.KINGS_ROCK) as PokemonHeldItemModifierType, @@ -510,11 +510,11 @@ function getVitoTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.ALAKAZAM), + species: getPokemonSpecies(SpeciesId.ALAKAZAM), isBoss: false, formIndex: 1, nature: Nature.BOLD, - moveSet: [Moves.PSYCHIC, Moves.SHADOW_BALL, Moves.FOCUS_BLAST, Moves.THUNDERBOLT], + moveSet: [MoveId.PSYCHIC, MoveId.SHADOW_BALL, MoveId.FOCUS_BLAST, MoveId.THUNDERBOLT], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.WIDE_LENS) as PokemonHeldItemModifierType, @@ -524,11 +524,11 @@ function getVitoTrainerConfig(): EnemyPartyConfig { ], }, { - species: getPokemonSpecies(Species.DARMANITAN), + species: getPokemonSpecies(SpeciesId.DARMANITAN), isBoss: false, abilityIndex: 0, // Sheer Force nature: Nature.IMPISH, - moveSet: [Moves.EARTHQUAKE, Moves.U_TURN, Moves.FLARE_BLITZ, Moves.ROCK_SLIDE], + moveSet: [MoveId.EARTHQUAKE, MoveId.U_TURN, MoveId.FLARE_BLITZ, MoveId.ROCK_SLIDE], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.QUICK_CLAW) as PokemonHeldItemModifierType, diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index 1e1db14705a..a0051058d02 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -16,14 +16,14 @@ import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-en import { MysteryEncounterOptionBuilder } from "#app/data/mystery-encounters/mystery-encounter-option"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { HitHealModifier, PokemonHeldItemModifier, TurnHealModifier } from "#app/modifier/modifier"; import { applyModifierTypeToPlayerPokemon } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import i18next from "#app/plugins/i18n"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { BattlerIndex } from "#app/battle"; import { PokemonMove } from "#app/field/pokemon"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; @@ -51,7 +51,7 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde .withFleeAllowed(false) .withIntroSpriteConfigs([ { - spriteKey: Species.GARBODOR.toString() + "-gigantamax", + spriteKey: SpeciesId.GARBODOR.toString() + "-gigantamax", fileRoot: "pokemon", hasShadow: false, disableAnimation: true, @@ -74,14 +74,14 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde const encounter = globalScene.currentBattle.mysteryEncounter!; // Calculate boss mon (shiny locked) - const bossSpecies = getPokemonSpecies(Species.GARBODOR); + const bossSpecies = getPokemonSpecies(SpeciesId.GARBODOR); const pokemonConfig: EnemyPokemonConfig = { species: bossSpecies, isBoss: true, shiny: false, // Shiny lock because of custom intro sprite formIndex: 1, // Gmax bossSegmentModifier: 1, // +1 Segment from normal - moveSet: [Moves.GUNK_SHOT, Moves.STOMPING_TANTRUM, Moves.HAMMER_ARM, Moves.PAYBACK], + moveSet: [MoveId.GUNK_SHOT, MoveId.STOMPING_TANTRUM, MoveId.HAMMER_ARM, MoveId.PAYBACK], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BERRY) as PokemonHeldItemModifierType, @@ -127,7 +127,7 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde encounter.enemyPartyConfigs = [config]; // Load animations/sfx for Garbodor fight start moves - loadCustomMovesForEncounter([Moves.TOXIC, Moves.STOCKPILE]); + loadCustomMovesForEncounter([MoveId.TOXIC, MoveId.STOCKPILE]); globalScene.loadSe("PRSFX- Dig2", "battle_anims", "PRSFX- Dig2.wav"); globalScene.loadSe("PRSFX- Venom Drench", "battle_anims", "PRSFX- Venom Drench.wav"); @@ -206,13 +206,13 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde { sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.PLAYER], - move: new PokemonMove(Moves.TOXIC), + move: new PokemonMove(MoveId.TOXIC), ignorePp: true, }, { sourceBattlerIndex: BattlerIndex.ENEMY, targets: [BattlerIndex.ENEMY], - move: new PokemonMove(Moves.STOCKPILE), + move: new PokemonMove(MoveId.STOCKPILE), ignorePp: true, }, ); diff --git a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts index f4eec5b0923..e51a8554120 100644 --- a/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts +++ b/src/data/mystery-encounters/encounters/uncommon-breed-encounter.ts @@ -28,7 +28,7 @@ import { } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import PokemonData from "#app/system/pokemon-data"; import { isNullOrUndefined, randSeedInt } from "#app/utils/common"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import { BattlerIndex } from "#app/battle"; import { SelfStatusMove } from "#app/data/moves/move"; import { PokeballType } from "#enums/pokeball"; @@ -73,7 +73,7 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder. const eggMoves = pokemon.getEggMoves(); if (eggMoves) { const eggMoveIndex = randSeedInt(4); - const randomEggMove: Moves = eggMoves[eggMoveIndex]; + const randomEggMove: MoveId = eggMoves[eggMoveIndex]; encounter.misc = { eggMove: randomEggMove, pokemon: pokemon, @@ -270,10 +270,10 @@ export const UncommonBreedEncounter: MysteryEncounter = MysteryEncounterBuilder. ) .build(); -function givePokemonExtraEggMove(pokemon: EnemyPokemon, previousEggMove: Moves) { +function givePokemonExtraEggMove(pokemon: EnemyPokemon, previousEggMove: MoveId) { const eggMoves = pokemon.getEggMoves(); if (eggMoves) { - let randomEggMove: Moves = eggMoves[randSeedInt(4)]; + let randomEggMove: MoveId = eggMoves[randSeedInt(4)]; while (randomEggMove === previousEggMove) { randomEggMove = eggMoves[randSeedInt(4)]; } diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index cceda25fcb4..25be75b9d5a 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -1,6 +1,6 @@ import { PokemonType } from "#enums/pokemon-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterBuilder } from "#app/data/mystery-encounters/mystery-encounter"; @@ -49,55 +49,55 @@ const namespace = "mysteryEncounters/weirdDream"; /** Exclude Ultra Beasts, Paradox, Eternatus, and all legendary/mythical/trio pokemon that are below 570 BST */ const EXCLUDED_TRANSFORMATION_SPECIES = [ - Species.ETERNATUS, + SpeciesId.ETERNATUS, /** UBs */ - Species.NIHILEGO, - Species.BUZZWOLE, - Species.PHEROMOSA, - Species.XURKITREE, - Species.CELESTEELA, - Species.KARTANA, - Species.GUZZLORD, - Species.POIPOLE, - Species.NAGANADEL, - Species.STAKATAKA, - Species.BLACEPHALON, + SpeciesId.NIHILEGO, + SpeciesId.BUZZWOLE, + SpeciesId.PHEROMOSA, + SpeciesId.XURKITREE, + SpeciesId.CELESTEELA, + SpeciesId.KARTANA, + SpeciesId.GUZZLORD, + SpeciesId.POIPOLE, + SpeciesId.NAGANADEL, + SpeciesId.STAKATAKA, + SpeciesId.BLACEPHALON, /** Paradox */ - Species.GREAT_TUSK, - Species.SCREAM_TAIL, - Species.BRUTE_BONNET, - Species.FLUTTER_MANE, - Species.SLITHER_WING, - Species.SANDY_SHOCKS, - Species.ROARING_MOON, - Species.WALKING_WAKE, - Species.GOUGING_FIRE, - Species.RAGING_BOLT, - Species.IRON_TREADS, - Species.IRON_BUNDLE, - Species.IRON_HANDS, - Species.IRON_JUGULIS, - Species.IRON_MOTH, - Species.IRON_THORNS, - Species.IRON_VALIANT, - Species.IRON_LEAVES, - Species.IRON_BOULDER, - Species.IRON_CROWN, + SpeciesId.GREAT_TUSK, + SpeciesId.SCREAM_TAIL, + SpeciesId.BRUTE_BONNET, + SpeciesId.FLUTTER_MANE, + SpeciesId.SLITHER_WING, + SpeciesId.SANDY_SHOCKS, + SpeciesId.ROARING_MOON, + SpeciesId.WALKING_WAKE, + SpeciesId.GOUGING_FIRE, + SpeciesId.RAGING_BOLT, + SpeciesId.IRON_TREADS, + SpeciesId.IRON_BUNDLE, + SpeciesId.IRON_HANDS, + SpeciesId.IRON_JUGULIS, + SpeciesId.IRON_MOTH, + SpeciesId.IRON_THORNS, + SpeciesId.IRON_VALIANT, + SpeciesId.IRON_LEAVES, + SpeciesId.IRON_BOULDER, + SpeciesId.IRON_CROWN, /** These are banned so they don't appear in the < 570 BST pool */ - Species.COSMOG, - Species.MELTAN, - Species.KUBFU, - Species.COSMOEM, - Species.POIPOLE, - Species.TERAPAGOS, - Species.TYPE_NULL, - Species.CALYREX, - Species.NAGANADEL, - Species.URSHIFU, - Species.OGERPON, - Species.OKIDOGI, - Species.MUNKIDORI, - Species.FEZANDIPITI, + SpeciesId.COSMOG, + SpeciesId.MELTAN, + SpeciesId.KUBFU, + SpeciesId.COSMOEM, + SpeciesId.POIPOLE, + SpeciesId.TERAPAGOS, + SpeciesId.TYPE_NULL, + SpeciesId.CALYREX, + SpeciesId.NAGANADEL, + SpeciesId.URSHIFU, + SpeciesId.OGERPON, + SpeciesId.OKIDOGI, + SpeciesId.MUNKIDORI, + SpeciesId.FEZANDIPITI, ]; const SUPER_LEGENDARY_BST_THRESHOLD = 600; @@ -500,7 +500,7 @@ async function doNewTeamPostProcess(transformations: PokemonTransformation[]) { async function postProcessTransformedPokemon( previousPokemon: PlayerPokemon, newPokemon: PlayerPokemon, - speciesRootForm: Species, + speciesRootForm: SpeciesId, forBattle = false, ): Promise { let isNewStarter = false; @@ -768,7 +768,7 @@ function doSideBySideTransformations(transformations: PokemonTransformation[]) { */ async function addEggMoveToNewPokemonMoveset( newPokemon: PlayerPokemon, - speciesRootForm: Species, + speciesRootForm: SpeciesId, forBattle = false, ): Promise { let eggMoveIndex: null | number = null; diff --git a/src/data/mystery-encounters/mystery-encounter-option.ts b/src/data/mystery-encounters/mystery-encounter-option.ts index 57dd50fa972..53b53392bb8 100644 --- a/src/data/mystery-encounters/mystery-encounter-option.ts +++ b/src/data/mystery-encounters/mystery-encounter-option.ts @@ -1,5 +1,5 @@ import type { OptionTextDisplay } from "#app/data/mystery-encounters/mystery-encounter-dialogue"; -import type { Moves } from "#app/enums/moves"; +import type { MoveId } from "#enums/move-id"; import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; @@ -300,7 +300,7 @@ export class MysteryEncounterOptionBuilder implements Partial !pokemon.moveset.find(m => m.moveId === tm)).includes(reqMove), ); if (includedCompatMoves.length > 0) { - return ["compatibleMove", Moves[includedCompatMoves[0]]]; + return ["compatibleMove", MoveId[includedCompatMoves[0]]]; } return ["compatibleMove", ""]; } } export class AbilityRequirement extends EncounterPokemonRequirement { - requiredAbilities: Abilities[]; + requiredAbilities: AbilityId[]; minNumberOfPokemon: number; invertQuery: boolean; excludeDisallowedPokemon: boolean; constructor( - abilities: Abilities | Abilities[], + abilities: AbilityId | AbilityId[], excludeDisallowedPokemon: boolean, minNumberOfPokemon = 1, invertQuery = false, diff --git a/src/data/mystery-encounters/mystery-encounters.ts b/src/data/mystery-encounters/mystery-encounters.ts index 1a36dc27df2..3a1d3760c83 100644 --- a/src/data/mystery-encounters/mystery-encounters.ts +++ b/src/data/mystery-encounters/mystery-encounters.ts @@ -1,4 +1,4 @@ -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { DarkDealEncounter } from "./encounters/dark-deal-encounter"; import { DepartmentStoreSaleEncounter } from "./encounters/department-store-sale-encounter"; @@ -71,44 +71,44 @@ export const AVERAGE_ENCOUNTERS_PER_RUN_TARGET = 12; export const ANTI_VARIANCE_WEIGHT_MODIFIER = 15; export const EXTREME_ENCOUNTER_BIOMES = [ - Biome.SEA, - Biome.SEABED, - Biome.BADLANDS, - Biome.DESERT, - Biome.ICE_CAVE, - Biome.VOLCANO, - Biome.WASTELAND, - Biome.ABYSS, - Biome.SPACE, - Biome.END, + BiomeId.SEA, + BiomeId.SEABED, + BiomeId.BADLANDS, + BiomeId.DESERT, + BiomeId.ICE_CAVE, + BiomeId.VOLCANO, + BiomeId.WASTELAND, + BiomeId.ABYSS, + BiomeId.SPACE, + BiomeId.END, ]; export const NON_EXTREME_ENCOUNTER_BIOMES = [ - Biome.TOWN, - Biome.PLAINS, - Biome.GRASS, - Biome.TALL_GRASS, - Biome.METROPOLIS, - Biome.FOREST, - Biome.SWAMP, - Biome.BEACH, - Biome.LAKE, - Biome.MOUNTAIN, - Biome.CAVE, - Biome.MEADOW, - Biome.POWER_PLANT, - Biome.GRAVEYARD, - Biome.DOJO, - Biome.FACTORY, - Biome.RUINS, - Biome.CONSTRUCTION_SITE, - Biome.JUNGLE, - Biome.FAIRY_CAVE, - Biome.TEMPLE, - Biome.SLUM, - Biome.SNOWY_FOREST, - Biome.ISLAND, - Biome.LABORATORY, + BiomeId.TOWN, + BiomeId.PLAINS, + BiomeId.GRASS, + BiomeId.TALL_GRASS, + BiomeId.METROPOLIS, + BiomeId.FOREST, + BiomeId.SWAMP, + BiomeId.BEACH, + BiomeId.LAKE, + BiomeId.MOUNTAIN, + BiomeId.CAVE, + BiomeId.MEADOW, + BiomeId.POWER_PLANT, + BiomeId.GRAVEYARD, + BiomeId.DOJO, + BiomeId.FACTORY, + BiomeId.RUINS, + BiomeId.CONSTRUCTION_SITE, + BiomeId.JUNGLE, + BiomeId.FAIRY_CAVE, + BiomeId.TEMPLE, + BiomeId.SLUM, + BiomeId.SNOWY_FOREST, + BiomeId.ISLAND, + BiomeId.LABORATORY, ]; /** @@ -120,55 +120,55 @@ export const NON_EXTREME_ENCOUNTER_BIOMES = [ * + ICE_CAVE */ export const HUMAN_TRANSITABLE_BIOMES = [ - Biome.TOWN, - Biome.PLAINS, - Biome.GRASS, - Biome.TALL_GRASS, - Biome.METROPOLIS, - Biome.FOREST, - Biome.SWAMP, - Biome.BEACH, - Biome.LAKE, - Biome.MOUNTAIN, - Biome.BADLANDS, - Biome.CAVE, - Biome.DESERT, - Biome.ICE_CAVE, - Biome.MEADOW, - Biome.POWER_PLANT, - Biome.GRAVEYARD, - Biome.DOJO, - Biome.FACTORY, - Biome.RUINS, - Biome.CONSTRUCTION_SITE, - Biome.JUNGLE, - Biome.FAIRY_CAVE, - Biome.TEMPLE, - Biome.SLUM, - Biome.SNOWY_FOREST, - Biome.ISLAND, - Biome.LABORATORY, + BiomeId.TOWN, + BiomeId.PLAINS, + BiomeId.GRASS, + BiomeId.TALL_GRASS, + BiomeId.METROPOLIS, + BiomeId.FOREST, + BiomeId.SWAMP, + BiomeId.BEACH, + BiomeId.LAKE, + BiomeId.MOUNTAIN, + BiomeId.BADLANDS, + BiomeId.CAVE, + BiomeId.DESERT, + BiomeId.ICE_CAVE, + BiomeId.MEADOW, + BiomeId.POWER_PLANT, + BiomeId.GRAVEYARD, + BiomeId.DOJO, + BiomeId.FACTORY, + BiomeId.RUINS, + BiomeId.CONSTRUCTION_SITE, + BiomeId.JUNGLE, + BiomeId.FAIRY_CAVE, + BiomeId.TEMPLE, + BiomeId.SLUM, + BiomeId.SNOWY_FOREST, + BiomeId.ISLAND, + BiomeId.LABORATORY, ]; /** * Places where you could expect a town or city, some form of large civilization */ export const CIVILIZATION_ENCOUNTER_BIOMES = [ - Biome.TOWN, - Biome.PLAINS, - Biome.GRASS, - Biome.TALL_GRASS, - Biome.METROPOLIS, - Biome.BEACH, - Biome.LAKE, - Biome.MEADOW, - Biome.POWER_PLANT, - Biome.GRAVEYARD, - Biome.DOJO, - Biome.FACTORY, - Biome.CONSTRUCTION_SITE, - Biome.SLUM, - Biome.ISLAND, + BiomeId.TOWN, + BiomeId.PLAINS, + BiomeId.GRASS, + BiomeId.TALL_GRASS, + BiomeId.METROPOLIS, + BiomeId.BEACH, + BiomeId.LAKE, + BiomeId.MEADOW, + BiomeId.POWER_PLANT, + BiomeId.GRAVEYARD, + BiomeId.DOJO, + BiomeId.FACTORY, + BiomeId.CONSTRUCTION_SITE, + BiomeId.SLUM, + BiomeId.ISLAND, ]; export const allMysteryEncounters: { @@ -224,41 +224,41 @@ const anyBiomeEncounters: MysteryEncounterType[] = [ * Adding specific Encounters to the mysteryEncountersByBiome map is for specific cases and special circumstances * that biome groups do not cover */ -export const mysteryEncountersByBiome = new Map([ - [Biome.TOWN, []], - [Biome.PLAINS, [MysteryEncounterType.SLUMBERING_SNORLAX]], - [Biome.GRASS, [MysteryEncounterType.SLUMBERING_SNORLAX, MysteryEncounterType.ABSOLUTE_AVARICE]], - [Biome.TALL_GRASS, [MysteryEncounterType.SLUMBERING_SNORLAX, MysteryEncounterType.ABSOLUTE_AVARICE]], - [Biome.METROPOLIS, []], - [Biome.FOREST, [MysteryEncounterType.SAFARI_ZONE, MysteryEncounterType.ABSOLUTE_AVARICE]], - [Biome.SEA, [MysteryEncounterType.LOST_AT_SEA]], - [Biome.SWAMP, [MysteryEncounterType.SAFARI_ZONE]], - [Biome.BEACH, []], - [Biome.LAKE, []], - [Biome.SEABED, []], - [Biome.MOUNTAIN, []], - [Biome.BADLANDS, [MysteryEncounterType.DANCING_LESSONS]], - [Biome.CAVE, [MysteryEncounterType.THE_STRONG_STUFF]], - [Biome.DESERT, [MysteryEncounterType.DANCING_LESSONS]], - [Biome.ICE_CAVE, []], - [Biome.MEADOW, []], - [Biome.POWER_PLANT, []], - [Biome.VOLCANO, [MysteryEncounterType.FIERY_FALLOUT, MysteryEncounterType.DANCING_LESSONS]], - [Biome.GRAVEYARD, []], - [Biome.DOJO, []], - [Biome.FACTORY, []], - [Biome.RUINS, []], - [Biome.WASTELAND, [MysteryEncounterType.DANCING_LESSONS]], - [Biome.ABYSS, [MysteryEncounterType.DANCING_LESSONS]], - [Biome.SPACE, [MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER]], - [Biome.CONSTRUCTION_SITE, []], - [Biome.JUNGLE, [MysteryEncounterType.SAFARI_ZONE]], - [Biome.FAIRY_CAVE, []], - [Biome.TEMPLE, []], - [Biome.SLUM, []], - [Biome.SNOWY_FOREST, []], - [Biome.ISLAND, []], - [Biome.LABORATORY, []], +export const mysteryEncountersByBiome = new Map([ + [BiomeId.TOWN, []], + [BiomeId.PLAINS, [MysteryEncounterType.SLUMBERING_SNORLAX]], + [BiomeId.GRASS, [MysteryEncounterType.SLUMBERING_SNORLAX, MysteryEncounterType.ABSOLUTE_AVARICE]], + [BiomeId.TALL_GRASS, [MysteryEncounterType.SLUMBERING_SNORLAX, MysteryEncounterType.ABSOLUTE_AVARICE]], + [BiomeId.METROPOLIS, []], + [BiomeId.FOREST, [MysteryEncounterType.SAFARI_ZONE, MysteryEncounterType.ABSOLUTE_AVARICE]], + [BiomeId.SEA, [MysteryEncounterType.LOST_AT_SEA]], + [BiomeId.SWAMP, [MysteryEncounterType.SAFARI_ZONE]], + [BiomeId.BEACH, []], + [BiomeId.LAKE, []], + [BiomeId.SEABED, []], + [BiomeId.MOUNTAIN, []], + [BiomeId.BADLANDS, [MysteryEncounterType.DANCING_LESSONS]], + [BiomeId.CAVE, [MysteryEncounterType.THE_STRONG_STUFF]], + [BiomeId.DESERT, [MysteryEncounterType.DANCING_LESSONS]], + [BiomeId.ICE_CAVE, []], + [BiomeId.MEADOW, []], + [BiomeId.POWER_PLANT, []], + [BiomeId.VOLCANO, [MysteryEncounterType.FIERY_FALLOUT, MysteryEncounterType.DANCING_LESSONS]], + [BiomeId.GRAVEYARD, []], + [BiomeId.DOJO, []], + [BiomeId.FACTORY, []], + [BiomeId.RUINS, []], + [BiomeId.WASTELAND, [MysteryEncounterType.DANCING_LESSONS]], + [BiomeId.ABYSS, [MysteryEncounterType.DANCING_LESSONS]], + [BiomeId.SPACE, [MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER]], + [BiomeId.CONSTRUCTION_SITE, []], + [BiomeId.JUNGLE, [MysteryEncounterType.SAFARI_ZONE]], + [BiomeId.FAIRY_CAVE, []], + [BiomeId.TEMPLE, []], + [BiomeId.SLUM, []], + [BiomeId.SNOWY_FOREST, []], + [BiomeId.ISLAND, []], + [BiomeId.LABORATORY, []], ]); export function initMysteryEncounters() { diff --git a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts index 37194aef78e..7698be7b15d 100644 --- a/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts +++ b/src/data/mystery-encounters/requirements/can-learn-move-requirement.ts @@ -1,4 +1,4 @@ -import type { Moves } from "#app/enums/moves"; +import type { MoveId } from "#enums/move-id"; import type { PlayerPokemon } from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; import { isNullOrUndefined } from "#app/utils/common"; @@ -21,13 +21,13 @@ export interface CanLearnMoveRequirementOptions { * Requires that a pokemon can learn a specific move/moveset. */ export class CanLearnMoveRequirement extends EncounterPokemonRequirement { - private readonly requiredMoves: Moves[]; + private readonly requiredMoves: MoveId[]; private readonly excludeLevelMoves?: boolean; private readonly excludeTmMoves?: boolean; private readonly excludeEggMoves?: boolean; private readonly includeFainted?: boolean; - constructor(requiredMoves: Moves | Moves[], options: CanLearnMoveRequirementOptions = {}) { + constructor(requiredMoves: MoveId | MoveId[], options: CanLearnMoveRequirementOptions = {}) { super(); this.requiredMoves = Array.isArray(requiredMoves) ? requiredMoves : [requiredMoves]; @@ -69,12 +69,12 @@ export class CanLearnMoveRequirement extends EncounterPokemonRequirement { return ["requiredMoves", this.requiredMoves.map(m => new PokemonMove(m).getName()).join(", ")]; } - private getPokemonLevelMoves(pkm: PlayerPokemon): Moves[] { + private getPokemonLevelMoves(pkm: PlayerPokemon): MoveId[] { return pkm.getLevelMoves().map(([_level, move]) => move); } - private getAllPokemonMoves(pkm: PlayerPokemon): Moves[] { - const allPokemonMoves: Moves[] = []; + private getAllPokemonMoves(pkm: PlayerPokemon): MoveId[] { + const allPokemonMoves: MoveId[] = []; if (!this.excludeLevelMoves) { allPokemonMoves.push(...(this.getPokemonLevelMoves(pkm) ?? [])); diff --git a/src/data/mystery-encounters/requirements/requirement-groups.ts b/src/data/mystery-encounters/requirements/requirement-groups.ts index d9d62819fa6..0140a5fe320 100644 --- a/src/data/mystery-encounters/requirements/requirement-groups.ts +++ b/src/data/mystery-encounters/requirements/requirement-groups.ts @@ -1,130 +1,137 @@ -import { Moves } from "#enums/moves"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { AbilityId } from "#enums/ability-id"; /** * Moves that "steal" things */ -export const STEALING_MOVES = [Moves.PLUCK, Moves.COVET, Moves.KNOCK_OFF, Moves.THIEF, Moves.TRICK, Moves.SWITCHEROO]; +export const STEALING_MOVES = [ + MoveId.PLUCK, + MoveId.COVET, + MoveId.KNOCK_OFF, + MoveId.THIEF, + MoveId.TRICK, + MoveId.SWITCHEROO, +]; /** * Moves that "charm" someone */ export const CHARMING_MOVES = [ - Moves.CHARM, - Moves.FLATTER, - Moves.DRAGON_CHEER, - Moves.ALLURING_VOICE, - Moves.ATTRACT, - Moves.SWEET_SCENT, - Moves.CAPTIVATE, - Moves.AROMATIC_MIST, + MoveId.CHARM, + MoveId.FLATTER, + MoveId.DRAGON_CHEER, + MoveId.ALLURING_VOICE, + MoveId.ATTRACT, + MoveId.SWEET_SCENT, + MoveId.CAPTIVATE, + MoveId.AROMATIC_MIST, ]; /** * Moves for the Dancer ability */ export const DANCING_MOVES = [ - Moves.AQUA_STEP, - Moves.CLANGOROUS_SOUL, - Moves.DRAGON_DANCE, - Moves.FEATHER_DANCE, - Moves.FIERY_DANCE, - Moves.LUNAR_DANCE, - Moves.PETAL_DANCE, - Moves.REVELATION_DANCE, - Moves.QUIVER_DANCE, - Moves.SWORDS_DANCE, - Moves.TEETER_DANCE, - Moves.VICTORY_DANCE, + MoveId.AQUA_STEP, + MoveId.CLANGOROUS_SOUL, + MoveId.DRAGON_DANCE, + MoveId.FEATHER_DANCE, + MoveId.FIERY_DANCE, + MoveId.LUNAR_DANCE, + MoveId.PETAL_DANCE, + MoveId.REVELATION_DANCE, + MoveId.QUIVER_DANCE, + MoveId.SWORDS_DANCE, + MoveId.TEETER_DANCE, + MoveId.VICTORY_DANCE, ]; /** * Moves that can distract someone/something */ export const DISTRACTION_MOVES = [ - Moves.FAKE_OUT, - Moves.FOLLOW_ME, - Moves.TAUNT, - Moves.ROAR, - Moves.TELEPORT, - Moves.CHARM, - Moves.FAKE_TEARS, - Moves.TICKLE, - Moves.CAPTIVATE, - Moves.RAGE_POWDER, - Moves.SUBSTITUTE, - Moves.SHED_TAIL, + MoveId.FAKE_OUT, + MoveId.FOLLOW_ME, + MoveId.TAUNT, + MoveId.ROAR, + MoveId.TELEPORT, + MoveId.CHARM, + MoveId.FAKE_TEARS, + MoveId.TICKLE, + MoveId.CAPTIVATE, + MoveId.RAGE_POWDER, + MoveId.SUBSTITUTE, + MoveId.SHED_TAIL, ]; /** * Moves that protect in some way */ export const PROTECTING_MOVES = [ - Moves.PROTECT, - Moves.WIDE_GUARD, - Moves.MAX_GUARD, - Moves.SAFEGUARD, - Moves.REFLECT, - Moves.BARRIER, - Moves.QUICK_GUARD, - Moves.FLOWER_SHIELD, - Moves.KINGS_SHIELD, - Moves.CRAFTY_SHIELD, - Moves.SPIKY_SHIELD, - Moves.OBSTRUCT, - Moves.DETECT, + MoveId.PROTECT, + MoveId.WIDE_GUARD, + MoveId.MAX_GUARD, + MoveId.SAFEGUARD, + MoveId.REFLECT, + MoveId.BARRIER, + MoveId.QUICK_GUARD, + MoveId.FLOWER_SHIELD, + MoveId.KINGS_SHIELD, + MoveId.CRAFTY_SHIELD, + MoveId.SPIKY_SHIELD, + MoveId.OBSTRUCT, + MoveId.DETECT, ]; /** * Moves that (loosely) can be used to trap/rob someone */ export const EXTORTION_MOVES = [ - Moves.BIND, - Moves.CLAMP, - Moves.INFESTATION, - Moves.SAND_TOMB, - Moves.SNAP_TRAP, - Moves.THUNDER_CAGE, - Moves.WRAP, - Moves.SPIRIT_SHACKLE, - Moves.MEAN_LOOK, - Moves.JAW_LOCK, - Moves.BLOCK, - Moves.SPIDER_WEB, - Moves.ANCHOR_SHOT, - Moves.OCTOLOCK, - Moves.PURSUIT, - Moves.CONSTRICT, - Moves.BEAT_UP, - Moves.COIL, - Moves.WRING_OUT, - Moves.STRING_SHOT, + MoveId.BIND, + MoveId.CLAMP, + MoveId.INFESTATION, + MoveId.SAND_TOMB, + MoveId.SNAP_TRAP, + MoveId.THUNDER_CAGE, + MoveId.WRAP, + MoveId.SPIRIT_SHACKLE, + MoveId.MEAN_LOOK, + MoveId.JAW_LOCK, + MoveId.BLOCK, + MoveId.SPIDER_WEB, + MoveId.ANCHOR_SHOT, + MoveId.OCTOLOCK, + MoveId.PURSUIT, + MoveId.CONSTRICT, + MoveId.BEAT_UP, + MoveId.COIL, + MoveId.WRING_OUT, + MoveId.STRING_SHOT, ]; /** * Abilities that (loosely) can be used to trap/rob someone */ export const EXTORTION_ABILITIES = [ - Abilities.INTIMIDATE, - Abilities.ARENA_TRAP, - Abilities.SHADOW_TAG, - Abilities.SUCTION_CUPS, - Abilities.STICKY_HOLD, + AbilityId.INTIMIDATE, + AbilityId.ARENA_TRAP, + AbilityId.SHADOW_TAG, + AbilityId.SUCTION_CUPS, + AbilityId.STICKY_HOLD, ]; /** * Abilities that signify resistance to fire */ export const FIRE_RESISTANT_ABILITIES = [ - Abilities.FLAME_BODY, - Abilities.FLASH_FIRE, - Abilities.WELL_BAKED_BODY, - Abilities.HEATPROOF, - Abilities.THERMAL_EXCHANGE, - Abilities.THICK_FAT, - Abilities.WATER_BUBBLE, - Abilities.MAGMA_ARMOR, - Abilities.WATER_VEIL, - Abilities.STEAM_ENGINE, - Abilities.PRIMORDIAL_SEA, + AbilityId.FLAME_BODY, + AbilityId.FLASH_FIRE, + AbilityId.WELL_BAKED_BODY, + AbilityId.HEATPROOF, + AbilityId.THERMAL_EXCHANGE, + AbilityId.THICK_FAT, + AbilityId.WATER_BUBBLE, + AbilityId.MAGMA_ARMOR, + AbilityId.WATER_VEIL, + AbilityId.STEAM_ENGINE, + AbilityId.PRIMORDIAL_SEA, ]; diff --git a/src/data/mystery-encounters/utils/encounter-phase-utils.ts b/src/data/mystery-encounters/utils/encounter-phase-utils.ts index 0215928bbe8..060de9c3a9e 100644 --- a/src/data/mystery-encounters/utils/encounter-phase-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-phase-utils.ts @@ -33,13 +33,13 @@ import { PartyUiMode } from "#app/ui/party-ui-handler"; import { UiMode } from "#enums/ui-mode"; import { isNullOrUndefined, randSeedInt, randomString, randSeedItem } from "#app/utils/common"; import type { BattlerTagType } from "#enums/battler-tag-type"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import type { TrainerType } from "#enums/trainer-type"; import i18next from "i18next"; import Trainer, { TrainerVariant } from "#app/field/trainer"; import type { Gender } from "#app/data/gender"; import type { Nature } from "#enums/nature"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; import { Status } from "#app/data/status-effect"; @@ -106,7 +106,7 @@ export interface EnemyPokemonConfig { level?: number; gender?: Gender; passive?: boolean; - moveSet?: Moves[]; + moveSet?: MoveId[]; nature?: Nature; ivs?: [number, number, number, number, number, number]; shiny?: boolean; @@ -460,7 +460,7 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig): * This promise does not need to be awaited on if called in an encounter onInit (will just load lazily) * @param moves */ -export function loadCustomMovesForEncounter(moves: Moves | Moves[]) { +export function loadCustomMovesForEncounter(moves: MoveId | MoveId[]) { moves = Array.isArray(moves) ? moves : [moves]; return Promise.all(moves.map(move => initMoveAnim(move))).then(() => loadMoveAnimAssets(moves)); } @@ -1088,16 +1088,16 @@ export function getRandomEncounterSpecies(level: number, isBoss = false, rerollH export function calculateMEAggregateStats(baseSpawnWeight: number) { const numRuns = 1000; let run = 0; - const biomes = Object.keys(Biome).filter(key => Number.isNaN(Number(key))); + const biomes = Object.keys(BiomeId).filter(key => Number.isNaN(Number(key))); const alwaysPickTheseBiomes = [ - Biome.ISLAND, - Biome.ABYSS, - Biome.WASTELAND, - Biome.FAIRY_CAVE, - Biome.TEMPLE, - Biome.LABORATORY, - Biome.SPACE, - Biome.WASTELAND, + BiomeId.ISLAND, + BiomeId.ABYSS, + BiomeId.WASTELAND, + BiomeId.FAIRY_CAVE, + BiomeId.TEMPLE, + BiomeId.LABORATORY, + BiomeId.SPACE, + BiomeId.WASTELAND, ]; const calculateNumEncounters = (): any[] => { @@ -1106,7 +1106,7 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { let mostRecentEncounterWave = 0; const encountersByBiome = new Map(biomes.map(b => [b, 0])); const validMEfloorsByBiome = new Map(biomes.map(b => [b, 0])); - let currentBiome = Biome.TOWN; + let currentBiome = BiomeId.TOWN; let currentArena = globalScene.newArena(currentBiome); globalScene.setSeed(randomString(24)); globalScene.resetSeed(); @@ -1119,9 +1119,9 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { // New biome if (i % 10 === 1) { if (Array.isArray(biomeLinks[currentBiome])) { - let biomes: Biome[]; + let biomes: BiomeId[]; globalScene.executeWithSeedOffset(() => { - biomes = (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) + biomes = (biomeLinks[currentBiome] as (BiomeId | [BiomeId, number])[]) .filter(b => { return !Array.isArray(b) || !randSeedInt(b[1]); }) @@ -1136,10 +1136,10 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { } } } else if (biomeLinks.hasOwnProperty(currentBiome)) { - currentBiome = biomeLinks[currentBiome] as Biome; + currentBiome = biomeLinks[currentBiome] as BiomeId; } else { if (!(i % 50)) { - currentBiome = Biome.END; + currentBiome = BiomeId.END; } else { currentBiome = globalScene.generateRandomBiome(i); } @@ -1161,7 +1161,7 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { // Otherwise, roll encounter const roll = randSeedInt(256); - validMEfloorsByBiome.set(Biome[currentBiome], (validMEfloorsByBiome.get(Biome[currentBiome]) ?? 0) + 1); + validMEfloorsByBiome.set(BiomeId[currentBiome], (validMEfloorsByBiome.get(BiomeId[currentBiome]) ?? 0) + 1); // If total number of encounters is lower than expected for the run, slightly favor a new encounter // Do the reverse as well @@ -1197,7 +1197,7 @@ export function calculateMEAggregateStats(baseSpawnWeight: number) { : tierValue > rareThreshold ? ++numEncounters[2] : ++numEncounters[3]; - encountersByBiome.set(Biome[currentBiome], (encountersByBiome.get(Biome[currentBiome]) ?? 0) + 1); + encountersByBiome.set(BiomeId[currentBiome], (encountersByBiome.get(BiomeId[currentBiome]) ?? 0) + 1); } else { encounterRate += WEIGHT_INCREMENT_ON_SPAWN_MISS; } diff --git a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts index a6a87b4ab9a..d4102c045c0 100644 --- a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts @@ -17,7 +17,7 @@ import { achvs } from "#app/system/achv"; import { UiMode } from "#enums/ui-mode"; import type { PartyOption } from "#app/ui/party-ui-handler"; import { PartyUiMode } from "#app/ui/party-ui-handler"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import type { PokemonType } from "#enums/pokemon-type"; import type PokemonSpecies from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species"; @@ -35,7 +35,7 @@ import type { PermanentStat } from "#enums/stat"; import { VictoryPhase } from "#app/phases/victory-phase"; import { SummaryUiMode } from "#app/ui/summary-ui-handler"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; -import type { Abilities } from "#enums/abilities"; +import type { AbilityId } from "#enums/ability-id"; import type { PokeballType } from "#enums/pokeball"; import { StatusEffect } from "#enums/status-effect"; @@ -51,7 +51,7 @@ export const STANDARD_ENCOUNTER_BOOSTED_LEVEL_MODIFIER = 1; * @param variant */ export function getSpriteKeysFromSpecies( - species: Species, + species: SpeciesId, female?: boolean, formIndex?: number, shiny?: boolean, @@ -247,17 +247,17 @@ export function getHighestStatTotalPlayerPokemon(isAllowed = false, isFainted = */ export function getRandomSpeciesByStarterCost( starterTiers: number | [number, number], - excludedSpecies?: Species[], + excludedSpecies?: SpeciesId[], types?: PokemonType[], allowSubLegendary = true, allowLegendary = true, allowMythical = true, -): Species { +): SpeciesId { let min = Array.isArray(starterTiers) ? starterTiers[0] : starterTiers; let max = Array.isArray(starterTiers) ? starterTiers[1] : starterTiers; let filteredSpecies: [PokemonSpecies, number][] = Object.keys(speciesStarterCosts) - .map(s => [Number.parseInt(s) as Species, speciesStarterCosts[s] as number]) + .map(s => [Number.parseInt(s) as SpeciesId, speciesStarterCosts[s] as number]) .filter(s => { const pokemonSpecies = getPokemonSpecies(s[0]); return ( @@ -294,7 +294,7 @@ export function getRandomSpeciesByStarterCost( return Phaser.Math.RND.shuffle(tryFilterStarterTiers)[index][0].speciesId; } - return Species.BULBASAUR; + return SpeciesId.BULBASAUR; } /** @@ -903,34 +903,34 @@ export function doPlayerFlee(pokemon: EnemyPokemon): Promise { /** * Bug Species and their corresponding weights */ -const GOLDEN_BUG_NET_SPECIES_POOL: [Species, number][] = [ - [Species.SCYTHER, 40], - [Species.SCIZOR, 40], - [Species.KLEAVOR, 40], - [Species.PINSIR, 40], - [Species.HERACROSS, 40], - [Species.YANMA, 40], - [Species.YANMEGA, 40], - [Species.SHUCKLE, 40], - [Species.ANORITH, 40], - [Species.ARMALDO, 40], - [Species.ESCAVALIER, 40], - [Species.ACCELGOR, 40], - [Species.JOLTIK, 40], - [Species.GALVANTULA, 40], - [Species.DURANT, 40], - [Species.LARVESTA, 40], - [Species.VOLCARONA, 40], - [Species.DEWPIDER, 40], - [Species.ARAQUANID, 40], - [Species.WIMPOD, 40], - [Species.GOLISOPOD, 40], - [Species.SIZZLIPEDE, 40], - [Species.CENTISKORCH, 40], - [Species.NYMBLE, 40], - [Species.LOKIX, 40], - [Species.BUZZWOLE, 1], - [Species.PHEROMOSA, 1], +const GOLDEN_BUG_NET_SPECIES_POOL: [SpeciesId, number][] = [ + [SpeciesId.SCYTHER, 40], + [SpeciesId.SCIZOR, 40], + [SpeciesId.KLEAVOR, 40], + [SpeciesId.PINSIR, 40], + [SpeciesId.HERACROSS, 40], + [SpeciesId.YANMA, 40], + [SpeciesId.YANMEGA, 40], + [SpeciesId.SHUCKLE, 40], + [SpeciesId.ANORITH, 40], + [SpeciesId.ARMALDO, 40], + [SpeciesId.ESCAVALIER, 40], + [SpeciesId.ACCELGOR, 40], + [SpeciesId.JOLTIK, 40], + [SpeciesId.GALVANTULA, 40], + [SpeciesId.DURANT, 40], + [SpeciesId.LARVESTA, 40], + [SpeciesId.VOLCARONA, 40], + [SpeciesId.DEWPIDER, 40], + [SpeciesId.ARAQUANID, 40], + [SpeciesId.WIMPOD, 40], + [SpeciesId.GOLISOPOD, 40], + [SpeciesId.SIZZLIPEDE, 40], + [SpeciesId.CENTISKORCH, 40], + [SpeciesId.NYMBLE, 40], + [SpeciesId.LOKIX, 40], + [SpeciesId.BUZZWOLE, 1], + [SpeciesId.PHEROMOSA, 1], ]; /** @@ -951,7 +951,7 @@ export function getGoldenBugNetSpecies(level: number): PokemonSpecies { } // Defaults to Scyther - return getPokemonSpecies(Species.SCYTHER); + return getPokemonSpecies(SpeciesId.SCYTHER); } /** @@ -1024,7 +1024,7 @@ export function isPokemonValidForEncounterOptionSelection( * Permanently overrides the ability (not passive) of a pokemon. * If the pokemon is a fusion, instead overrides the fused pokemon's ability. */ -export function applyAbilityOverrideToPokemon(pokemon: Pokemon, ability: Abilities) { +export function applyAbilityOverrideToPokemon(pokemon: Pokemon, ability: AbilityId) { if (pokemon.isFusion()) { if (!pokemon.fusionCustomPokemonData) { pokemon.fusionCustomPokemonData = new CustomPokemonData(); diff --git a/src/data/pokemon-forms.ts b/src/data/pokemon-forms.ts index da594f7c27f..1098ddc4eeb 100644 --- a/src/data/pokemon-forms.ts +++ b/src/data/pokemon-forms.ts @@ -4,9 +4,9 @@ import { StatusEffect } from "#enums/status-effect"; import { allMoves } from "./data-lists"; import { MoveCategory } from "#enums/MoveCategory"; import type { Constructor, nil } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import type { TimeOfDay } from "#enums/time-of-day"; import { getPokemonNameWithAffix } from "#app/messages"; import i18next from "i18next"; @@ -139,7 +139,7 @@ export type SpeciesFormChangeConditionPredicate = (p: Pokemon) => boolean; export type SpeciesFormChangeConditionEnforceFunc = (p: Pokemon) => void; export class SpeciesFormChange { - public speciesId: Species; + public speciesId: SpeciesId; public preFormKey: string; public formKey: string; public trigger: SpeciesFormChangeTrigger; @@ -147,7 +147,7 @@ export class SpeciesFormChange { public readonly conditions: SpeciesFormChangeCondition[]; constructor( - speciesId: Species, + speciesId: SpeciesId, preFormKey: string, evoFormKey: string, trigger: SpeciesFormChangeTrigger, @@ -341,14 +341,14 @@ export class SpeciesFormChangeStatusEffectTrigger extends SpeciesFormChangeTrigg } export class SpeciesFormChangeMoveLearnedTrigger extends SpeciesFormChangeTrigger { - public move: Moves; + public move: MoveId; public known: boolean; - constructor(move: Moves, known = true) { + constructor(move: MoveId, known = true) { super(); this.move = move; this.known = known; - const moveKey = Moves[this.move] + const moveKey = MoveId[this.move] .split("_") .filter(f => f) .map((f, i) => (i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase())) @@ -368,12 +368,12 @@ export class SpeciesFormChangeMoveLearnedTrigger extends SpeciesFormChangeTrigge } export abstract class SpeciesFormChangeMoveTrigger extends SpeciesFormChangeTrigger { - public movePredicate: (m: Moves) => boolean; + public movePredicate: (m: MoveId) => boolean; public used: boolean; - constructor(move: Moves | ((m: Moves) => boolean), used = true) { + constructor(move: MoveId | ((m: MoveId) => boolean), used = true) { super(); - this.movePredicate = typeof move === "function" ? move : (m: Moves) => m === move; + this.movePredicate = typeof move === "function" ? move : (m: MoveId) => m === move; this.used = used; } } @@ -403,7 +403,7 @@ export class MeloettaFormChangePostMoveTrigger extends SpeciesFormChangePostMove return false; } // Meloetta will not transform if it has the ability Sheer Force when using Relic Song - if (pokemon.hasAbility(Abilities.SHEER_FORCE)) { + if (pokemon.hasAbility(AbilityId.SHEER_FORCE)) { return false; } return super.canChange(pokemon); @@ -453,11 +453,11 @@ export class SpeciesFormChangeLapseTeraTrigger extends SpeciesFormChangeTrigger */ export class SpeciesFormChangeWeatherTrigger extends SpeciesFormChangeTrigger { /** The ability that triggers the form change */ - public ability: Abilities; + public ability: AbilityId; /** The list of weathers that trigger the form change */ public weathers: WeatherType[]; - constructor(ability: Abilities, weathers: WeatherType[]) { + constructor(ability: AbilityId, weathers: WeatherType[]) { super(); this.ability = ability; this.weathers = weathers; @@ -492,11 +492,11 @@ export class SpeciesFormChangeWeatherTrigger extends SpeciesFormChangeTrigger { */ export class SpeciesFormChangeRevertWeatherFormTrigger extends SpeciesFormChangeTrigger { /** The ability that triggers the form change*/ - public ability: Abilities; + public ability: AbilityId; /** The list of weathers that will also trigger a form change to original form */ public weathers: WeatherType[]; - constructor(ability: Abilities, weathers: WeatherType[]) { + constructor(ability: AbilityId, weathers: WeatherType[]) { super(); this.ability = ability; this.weathers = weathers; @@ -515,7 +515,7 @@ export class SpeciesFormChangeRevertWeatherFormTrigger extends SpeciesFormChange const isWeatherSuppressed = globalScene.arena.weather?.isEffectSuppressed(); const isAbilitySuppressed = pokemon.summonData.abilitySuppressed; const summonDataAbility = pokemon.summonData.ability; - const isAbilityChanged = summonDataAbility !== this.ability && summonDataAbility !== Abilities.NONE; + const isAbilityChanged = summonDataAbility !== this.ability && summonDataAbility !== AbilityId.NONE; if (this.weathers.includes(currentWeather) || isWeatherSuppressed || isAbilitySuppressed || isAbilityChanged) { return true; @@ -553,7 +553,7 @@ export function getSpeciesFormChangeMessage(pokemon: Pokemon, formChange: Specie pokemonName: getPokemonNameWithAffix(pokemon), }); } - if (pokemon.getAbility().id === Abilities.DISGUISE) { + if (pokemon.getAbility().id === AbilityId.DISGUISE) { return i18next.t("battlePokemonForm:disguiseChange"); } return i18next.t("battlePokemonForm:formChange", { preName }); @@ -562,10 +562,10 @@ export function getSpeciesFormChangeMessage(pokemon: Pokemon, formChange: Specie /** * Gives a condition for form changing checking if a species is registered as caught in the player's dex data. * Used for fusion forms such as Kyurem and Necrozma. - * @param species {@linkcode Species} + * @param species {@linkcode SpeciesId} * @returns A {@linkcode SpeciesFormChangeCondition} checking if that species is registered as caught */ -function getSpeciesDependentFormChangeCondition(species: Species): SpeciesFormChangeCondition { +function getSpeciesDependentFormChangeCondition(species: SpeciesId): SpeciesFormChangeCondition { return new SpeciesFormChangeCondition(_p => !!globalScene.gameData.dexData[species].caughtAttr); } @@ -575,472 +575,472 @@ interface PokemonFormChanges { // biome-ignore format: manually formatted export const pokemonFormChanges: PokemonFormChanges = { - [Species.VENUSAUR]: [ - new SpeciesFormChange(Species.VENUSAUR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.VENUSAURITE)), - new SpeciesFormChange(Species.VENUSAUR, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.VENUSAUR]: [ + new SpeciesFormChange(SpeciesId.VENUSAUR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.VENUSAURITE)), + new SpeciesFormChange(SpeciesId.VENUSAUR, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.BLASTOISE]: [ - new SpeciesFormChange(Species.BLASTOISE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BLASTOISINITE)), - new SpeciesFormChange(Species.BLASTOISE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.BLASTOISE]: [ + new SpeciesFormChange(SpeciesId.BLASTOISE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BLASTOISINITE)), + new SpeciesFormChange(SpeciesId.BLASTOISE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.CHARIZARD]: [ - new SpeciesFormChange(Species.CHARIZARD, "", SpeciesFormKey.MEGA_X, new SpeciesFormChangeItemTrigger(FormChangeItem.CHARIZARDITE_X)), - new SpeciesFormChange(Species.CHARIZARD, "", SpeciesFormKey.MEGA_Y, new SpeciesFormChangeItemTrigger(FormChangeItem.CHARIZARDITE_Y)), - new SpeciesFormChange(Species.CHARIZARD, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.CHARIZARD]: [ + new SpeciesFormChange(SpeciesId.CHARIZARD, "", SpeciesFormKey.MEGA_X, new SpeciesFormChangeItemTrigger(FormChangeItem.CHARIZARDITE_X)), + new SpeciesFormChange(SpeciesId.CHARIZARD, "", SpeciesFormKey.MEGA_Y, new SpeciesFormChangeItemTrigger(FormChangeItem.CHARIZARDITE_Y)), + new SpeciesFormChange(SpeciesId.CHARIZARD, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.BUTTERFREE]: [ - new SpeciesFormChange(Species.BUTTERFREE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.BUTTERFREE]: [ + new SpeciesFormChange(SpeciesId.BUTTERFREE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.BEEDRILL]: [ - new SpeciesFormChange(Species.BEEDRILL, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BEEDRILLITE)) + [SpeciesId.BEEDRILL]: [ + new SpeciesFormChange(SpeciesId.BEEDRILL, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BEEDRILLITE)) ], - [Species.PIDGEOT]: [ - new SpeciesFormChange(Species.PIDGEOT, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.PIDGEOTITE)) + [SpeciesId.PIDGEOT]: [ + new SpeciesFormChange(SpeciesId.PIDGEOT, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.PIDGEOTITE)) ], - [Species.PIKACHU]: [ - new SpeciesFormChange(Species.PIKACHU, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.PIKACHU, "partner", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.PIKACHU]: [ + new SpeciesFormChange(SpeciesId.PIKACHU, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.PIKACHU, "partner", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.MEOWTH]: [ - new SpeciesFormChange(Species.MEOWTH, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.MEOWTH]: [ + new SpeciesFormChange(SpeciesId.MEOWTH, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.ALAKAZAM]: [ - new SpeciesFormChange(Species.ALAKAZAM, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ALAKAZITE)) + [SpeciesId.ALAKAZAM]: [ + new SpeciesFormChange(SpeciesId.ALAKAZAM, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ALAKAZITE)) ], - [Species.MACHAMP]: [ - new SpeciesFormChange(Species.MACHAMP, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.MACHAMP]: [ + new SpeciesFormChange(SpeciesId.MACHAMP, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.SLOWBRO]: [ - new SpeciesFormChange(Species.SLOWBRO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SLOWBRONITE)) + [SpeciesId.SLOWBRO]: [ + new SpeciesFormChange(SpeciesId.SLOWBRO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SLOWBRONITE)) ], - [Species.GENGAR]: [ - new SpeciesFormChange(Species.GENGAR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GENGARITE)), - new SpeciesFormChange(Species.GENGAR, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.GENGAR]: [ + new SpeciesFormChange(SpeciesId.GENGAR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GENGARITE)), + new SpeciesFormChange(SpeciesId.GENGAR, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.KINGLER]: [ - new SpeciesFormChange(Species.KINGLER, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.KINGLER]: [ + new SpeciesFormChange(SpeciesId.KINGLER, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.KANGASKHAN]: [ - new SpeciesFormChange(Species.KANGASKHAN, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.KANGASKHANITE)) + [SpeciesId.KANGASKHAN]: [ + new SpeciesFormChange(SpeciesId.KANGASKHAN, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.KANGASKHANITE)) ], - [Species.PINSIR]: [ - new SpeciesFormChange(Species.PINSIR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.PINSIRITE)) + [SpeciesId.PINSIR]: [ + new SpeciesFormChange(SpeciesId.PINSIR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.PINSIRITE)) ], - [Species.GYARADOS]: [ - new SpeciesFormChange(Species.GYARADOS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GYARADOSITE)) + [SpeciesId.GYARADOS]: [ + new SpeciesFormChange(SpeciesId.GYARADOS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GYARADOSITE)) ], - [Species.LAPRAS]: [ - new SpeciesFormChange(Species.LAPRAS, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.LAPRAS]: [ + new SpeciesFormChange(SpeciesId.LAPRAS, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.EEVEE]: [ - new SpeciesFormChange(Species.EEVEE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.EEVEE, "partner", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.EEVEE]: [ + new SpeciesFormChange(SpeciesId.EEVEE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.EEVEE, "partner", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.SNORLAX]: [ - new SpeciesFormChange(Species.SNORLAX, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + [SpeciesId.SNORLAX]: [ + new SpeciesFormChange(SpeciesId.SNORLAX, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) ], - [Species.AERODACTYL]: [ - new SpeciesFormChange(Species.AERODACTYL, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AERODACTYLITE)) + [SpeciesId.AERODACTYL]: [ + new SpeciesFormChange(SpeciesId.AERODACTYL, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AERODACTYLITE)) ], - [Species.MEWTWO]: [ - new SpeciesFormChange(Species.MEWTWO, "", SpeciesFormKey.MEGA_X, new SpeciesFormChangeItemTrigger(FormChangeItem.MEWTWONITE_X)), - new SpeciesFormChange(Species.MEWTWO, "", SpeciesFormKey.MEGA_Y, new SpeciesFormChangeItemTrigger(FormChangeItem.MEWTWONITE_Y)) + [SpeciesId.MEWTWO]: [ + new SpeciesFormChange(SpeciesId.MEWTWO, "", SpeciesFormKey.MEGA_X, new SpeciesFormChangeItemTrigger(FormChangeItem.MEWTWONITE_X)), + new SpeciesFormChange(SpeciesId.MEWTWO, "", SpeciesFormKey.MEGA_Y, new SpeciesFormChangeItemTrigger(FormChangeItem.MEWTWONITE_Y)) ], - [Species.AMPHAROS]: [ - new SpeciesFormChange(Species.AMPHAROS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AMPHAROSITE)) + [SpeciesId.AMPHAROS]: [ + new SpeciesFormChange(SpeciesId.AMPHAROS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AMPHAROSITE)) ], - [Species.STEELIX]: [ - new SpeciesFormChange(Species.STEELIX, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.STEELIXITE)) + [SpeciesId.STEELIX]: [ + new SpeciesFormChange(SpeciesId.STEELIX, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.STEELIXITE)) ], - [Species.SCIZOR]: [ - new SpeciesFormChange(Species.SCIZOR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SCIZORITE)) + [SpeciesId.SCIZOR]: [ + new SpeciesFormChange(SpeciesId.SCIZOR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SCIZORITE)) ], - [Species.HERACROSS]: [ - new SpeciesFormChange(Species.HERACROSS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.HERACRONITE)) + [SpeciesId.HERACROSS]: [ + new SpeciesFormChange(SpeciesId.HERACROSS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.HERACRONITE)) ], - [Species.HOUNDOOM]: [ - new SpeciesFormChange(Species.HOUNDOOM, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.HOUNDOOMINITE)) + [SpeciesId.HOUNDOOM]: [ + new SpeciesFormChange(SpeciesId.HOUNDOOM, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.HOUNDOOMINITE)) ], - [Species.TYRANITAR]: [ - new SpeciesFormChange(Species.TYRANITAR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.TYRANITARITE)) + [SpeciesId.TYRANITAR]: [ + new SpeciesFormChange(SpeciesId.TYRANITAR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.TYRANITARITE)) ], - [Species.SCEPTILE]: [ - new SpeciesFormChange(Species.SCEPTILE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SCEPTILITE)) + [SpeciesId.SCEPTILE]: [ + new SpeciesFormChange(SpeciesId.SCEPTILE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SCEPTILITE)) ], - [Species.BLAZIKEN]: [ - new SpeciesFormChange(Species.BLAZIKEN, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BLAZIKENITE)) + [SpeciesId.BLAZIKEN]: [ + new SpeciesFormChange(SpeciesId.BLAZIKEN, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BLAZIKENITE)) ], - [Species.SWAMPERT]: [ - new SpeciesFormChange(Species.SWAMPERT, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SWAMPERTITE)) + [SpeciesId.SWAMPERT]: [ + new SpeciesFormChange(SpeciesId.SWAMPERT, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SWAMPERTITE)) ], - [Species.GARDEVOIR]: [ - new SpeciesFormChange(Species.GARDEVOIR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GARDEVOIRITE)) + [SpeciesId.GARDEVOIR]: [ + new SpeciesFormChange(SpeciesId.GARDEVOIR, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GARDEVOIRITE)) ], - [Species.SABLEYE]: [ - new SpeciesFormChange(Species.SABLEYE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SABLENITE)) + [SpeciesId.SABLEYE]: [ + new SpeciesFormChange(SpeciesId.SABLEYE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SABLENITE)) ], - [Species.MAWILE]: [ - new SpeciesFormChange(Species.MAWILE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.MAWILITE)) + [SpeciesId.MAWILE]: [ + new SpeciesFormChange(SpeciesId.MAWILE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.MAWILITE)) ], - [Species.AGGRON]: [ - new SpeciesFormChange(Species.AGGRON, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AGGRONITE)) + [SpeciesId.AGGRON]: [ + new SpeciesFormChange(SpeciesId.AGGRON, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AGGRONITE)) ], - [Species.MEDICHAM]: [ - new SpeciesFormChange(Species.MEDICHAM, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.MEDICHAMITE)) + [SpeciesId.MEDICHAM]: [ + new SpeciesFormChange(SpeciesId.MEDICHAM, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.MEDICHAMITE)) ], - [Species.MANECTRIC]: [ - new SpeciesFormChange(Species.MANECTRIC, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.MANECTITE)) + [SpeciesId.MANECTRIC]: [ + new SpeciesFormChange(SpeciesId.MANECTRIC, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.MANECTITE)) ], - [Species.SHARPEDO]: [ - new SpeciesFormChange(Species.SHARPEDO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SHARPEDONITE)) + [SpeciesId.SHARPEDO]: [ + new SpeciesFormChange(SpeciesId.SHARPEDO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SHARPEDONITE)) ], - [Species.CAMERUPT]: [ - new SpeciesFormChange(Species.CAMERUPT, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.CAMERUPTITE)) + [SpeciesId.CAMERUPT]: [ + new SpeciesFormChange(SpeciesId.CAMERUPT, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.CAMERUPTITE)) ], - [Species.ALTARIA]: [ - new SpeciesFormChange(Species.ALTARIA, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ALTARIANITE)) + [SpeciesId.ALTARIA]: [ + new SpeciesFormChange(SpeciesId.ALTARIA, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ALTARIANITE)) ], - [Species.CASTFORM]: [ - new SpeciesFormChange(Species.CASTFORM, "", "sunny", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), - new SpeciesFormChange(Species.CASTFORM, "rainy", "sunny", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), - new SpeciesFormChange(Species.CASTFORM, "snowy", "sunny", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), - new SpeciesFormChange(Species.CASTFORM, "", "rainy", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.RAIN, WeatherType.HEAVY_RAIN ]), true), - new SpeciesFormChange(Species.CASTFORM, "sunny", "rainy", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.RAIN, WeatherType.HEAVY_RAIN ]), true), - new SpeciesFormChange(Species.CASTFORM, "snowy", "rainy", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.RAIN, WeatherType.HEAVY_RAIN ]), true), - new SpeciesFormChange(Species.CASTFORM, "", "snowy", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.HAIL, WeatherType.SNOW ]), true), - new SpeciesFormChange(Species.CASTFORM, "sunny", "snowy", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.HAIL, WeatherType.SNOW ]), true), - new SpeciesFormChange(Species.CASTFORM, "rainy", "snowy", new SpeciesFormChangeWeatherTrigger(Abilities.FORECAST, [ WeatherType.HAIL, WeatherType.SNOW ]), true), - new SpeciesFormChange(Species.CASTFORM, "sunny", "", new SpeciesFormChangeRevertWeatherFormTrigger(Abilities.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), true), - new SpeciesFormChange(Species.CASTFORM, "rainy", "", new SpeciesFormChangeRevertWeatherFormTrigger(Abilities.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), true), - new SpeciesFormChange(Species.CASTFORM, "snowy", "", new SpeciesFormChangeRevertWeatherFormTrigger(Abilities.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), true), - new SpeciesFormChange(Species.CASTFORM, "sunny", "", new SpeciesFormChangeActiveTrigger(), true), - new SpeciesFormChange(Species.CASTFORM, "rainy", "", new SpeciesFormChangeActiveTrigger(), true), - new SpeciesFormChange(Species.CASTFORM, "snowy", "", new SpeciesFormChangeActiveTrigger(), true) + [SpeciesId.CASTFORM]: [ + new SpeciesFormChange(SpeciesId.CASTFORM, "", "sunny", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "rainy", "sunny", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "snowy", "sunny", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "", "rainy", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.RAIN, WeatherType.HEAVY_RAIN ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "sunny", "rainy", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.RAIN, WeatherType.HEAVY_RAIN ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "snowy", "rainy", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.RAIN, WeatherType.HEAVY_RAIN ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "", "snowy", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.HAIL, WeatherType.SNOW ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "sunny", "snowy", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.HAIL, WeatherType.SNOW ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "rainy", "snowy", new SpeciesFormChangeWeatherTrigger(AbilityId.FORECAST, [ WeatherType.HAIL, WeatherType.SNOW ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "sunny", "", new SpeciesFormChangeRevertWeatherFormTrigger(AbilityId.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "rainy", "", new SpeciesFormChangeRevertWeatherFormTrigger(AbilityId.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "snowy", "", new SpeciesFormChangeRevertWeatherFormTrigger(AbilityId.FORECAST, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG ]), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "sunny", "", new SpeciesFormChangeActiveTrigger(), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "rainy", "", new SpeciesFormChangeActiveTrigger(), true), + new SpeciesFormChange(SpeciesId.CASTFORM, "snowy", "", new SpeciesFormChangeActiveTrigger(), true) ], - [Species.BANETTE]: [ - new SpeciesFormChange(Species.BANETTE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BANETTITE)) + [SpeciesId.BANETTE]: [ + new SpeciesFormChange(SpeciesId.BANETTE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.BANETTITE)) ], - [Species.ABSOL]: [ - new SpeciesFormChange(Species.ABSOL, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ABSOLITE)) + [SpeciesId.ABSOL]: [ + new SpeciesFormChange(SpeciesId.ABSOL, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ABSOLITE)) ], - [Species.GLALIE]: [ - new SpeciesFormChange(Species.GLALIE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GLALITITE)) + [SpeciesId.GLALIE]: [ + new SpeciesFormChange(SpeciesId.GLALIE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GLALITITE)) ], - [Species.SALAMENCE]: [ - new SpeciesFormChange(Species.SALAMENCE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SALAMENCITE)) + [SpeciesId.SALAMENCE]: [ + new SpeciesFormChange(SpeciesId.SALAMENCE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.SALAMENCITE)) ], - [Species.METAGROSS]: [ - new SpeciesFormChange(Species.METAGROSS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.METAGROSSITE)) + [SpeciesId.METAGROSS]: [ + new SpeciesFormChange(SpeciesId.METAGROSS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.METAGROSSITE)) ], - [Species.LATIAS]: [ - new SpeciesFormChange(Species.LATIAS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LATIASITE)) + [SpeciesId.LATIAS]: [ + new SpeciesFormChange(SpeciesId.LATIAS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LATIASITE)) ], - [Species.LATIOS]: [ - new SpeciesFormChange(Species.LATIOS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LATIOSITE)) + [SpeciesId.LATIOS]: [ + new SpeciesFormChange(SpeciesId.LATIOS, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LATIOSITE)) ], - [Species.KYOGRE]: [ - new SpeciesFormChange(Species.KYOGRE, "", SpeciesFormKey.PRIMAL, new SpeciesFormChangeItemTrigger(FormChangeItem.BLUE_ORB)) + [SpeciesId.KYOGRE]: [ + new SpeciesFormChange(SpeciesId.KYOGRE, "", SpeciesFormKey.PRIMAL, new SpeciesFormChangeItemTrigger(FormChangeItem.BLUE_ORB)) ], - [Species.GROUDON]: [ - new SpeciesFormChange(Species.GROUDON, "", SpeciesFormKey.PRIMAL, new SpeciesFormChangeItemTrigger(FormChangeItem.RED_ORB)) + [SpeciesId.GROUDON]: [ + new SpeciesFormChange(SpeciesId.GROUDON, "", SpeciesFormKey.PRIMAL, new SpeciesFormChangeItemTrigger(FormChangeItem.RED_ORB)) ], - [Species.RAYQUAZA]: [ - new SpeciesFormChange(Species.RAYQUAZA, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.RAYQUAZITE)) + [SpeciesId.RAYQUAZA]: [ + new SpeciesFormChange(SpeciesId.RAYQUAZA, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.RAYQUAZITE)) ], - [Species.DEOXYS]: [ - new SpeciesFormChange(Species.DEOXYS, "normal", "attack", new SpeciesFormChangeItemTrigger(FormChangeItem.SHARP_METEORITE)), - new SpeciesFormChange(Species.DEOXYS, "normal", "defense", new SpeciesFormChangeItemTrigger(FormChangeItem.HARD_METEORITE)), - new SpeciesFormChange(Species.DEOXYS, "normal", "speed", new SpeciesFormChangeItemTrigger(FormChangeItem.SMOOTH_METEORITE)) + [SpeciesId.DEOXYS]: [ + new SpeciesFormChange(SpeciesId.DEOXYS, "normal", "attack", new SpeciesFormChangeItemTrigger(FormChangeItem.SHARP_METEORITE)), + new SpeciesFormChange(SpeciesId.DEOXYS, "normal", "defense", new SpeciesFormChangeItemTrigger(FormChangeItem.HARD_METEORITE)), + new SpeciesFormChange(SpeciesId.DEOXYS, "normal", "speed", new SpeciesFormChangeItemTrigger(FormChangeItem.SMOOTH_METEORITE)) ], - [Species.CHERRIM]: [ - new SpeciesFormChange(Species.CHERRIM, "overcast", "sunshine", new SpeciesFormChangeWeatherTrigger(Abilities.FLOWER_GIFT, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), - new SpeciesFormChange(Species.CHERRIM, "sunshine", "overcast", new SpeciesFormChangeRevertWeatherFormTrigger(Abilities.FLOWER_GIFT, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG, WeatherType.HAIL, WeatherType.HEAVY_RAIN, WeatherType.SNOW, WeatherType.RAIN ]), true), - new SpeciesFormChange(Species.CHERRIM, "sunshine", "overcast", new SpeciesFormChangeActiveTrigger(), true) + [SpeciesId.CHERRIM]: [ + new SpeciesFormChange(SpeciesId.CHERRIM, "overcast", "sunshine", new SpeciesFormChangeWeatherTrigger(AbilityId.FLOWER_GIFT, [ WeatherType.SUNNY, WeatherType.HARSH_SUN ]), true), + new SpeciesFormChange(SpeciesId.CHERRIM, "sunshine", "overcast", new SpeciesFormChangeRevertWeatherFormTrigger(AbilityId.FLOWER_GIFT, [ WeatherType.NONE, WeatherType.SANDSTORM, WeatherType.STRONG_WINDS, WeatherType.FOG, WeatherType.HAIL, WeatherType.HEAVY_RAIN, WeatherType.SNOW, WeatherType.RAIN ]), true), + new SpeciesFormChange(SpeciesId.CHERRIM, "sunshine", "overcast", new SpeciesFormChangeActiveTrigger(), true) ], - [Species.LOPUNNY]: [ - new SpeciesFormChange(Species.LOPUNNY, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LOPUNNITE)) + [SpeciesId.LOPUNNY]: [ + new SpeciesFormChange(SpeciesId.LOPUNNY, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LOPUNNITE)) ], - [Species.GARCHOMP]: [ - new SpeciesFormChange(Species.GARCHOMP, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GARCHOMPITE)) + [SpeciesId.GARCHOMP]: [ + new SpeciesFormChange(SpeciesId.GARCHOMP, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GARCHOMPITE)) ], - [Species.LUCARIO]: [ - new SpeciesFormChange(Species.LUCARIO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LUCARIONITE)) + [SpeciesId.LUCARIO]: [ + new SpeciesFormChange(SpeciesId.LUCARIO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.LUCARIONITE)) ], - [Species.ABOMASNOW]: [ - new SpeciesFormChange(Species.ABOMASNOW, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ABOMASITE)) + [SpeciesId.ABOMASNOW]: [ + new SpeciesFormChange(SpeciesId.ABOMASNOW, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.ABOMASITE)) ], - [Species.GALLADE]: [ - new SpeciesFormChange(Species.GALLADE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GALLADITE)) + [SpeciesId.GALLADE]: [ + new SpeciesFormChange(SpeciesId.GALLADE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.GALLADITE)) ], - [Species.AUDINO]: [ - new SpeciesFormChange(Species.AUDINO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AUDINITE)) + [SpeciesId.AUDINO]: [ + new SpeciesFormChange(SpeciesId.AUDINO, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.AUDINITE)) ], - [Species.DIALGA]: [ - new SpeciesFormChange(Species.DIALGA, "", SpeciesFormKey.ORIGIN, new SpeciesFormChangeItemTrigger(FormChangeItem.ADAMANT_CRYSTAL)) - ], - [Species.PALKIA]: [ - new SpeciesFormChange(Species.PALKIA, "", SpeciesFormKey.ORIGIN, new SpeciesFormChangeItemTrigger(FormChangeItem.LUSTROUS_GLOBE)) - ], - [Species.GIRATINA]: [ - new SpeciesFormChange(Species.GIRATINA, "altered", SpeciesFormKey.ORIGIN, new SpeciesFormChangeItemTrigger(FormChangeItem.GRISEOUS_CORE)) - ], - [Species.SHAYMIN]: [ - new SpeciesFormChange(Species.SHAYMIN, "land", "sky", new SpeciesFormChangeItemTrigger(FormChangeItem.GRACIDEA)), - ], - [Species.ARCEUS]: [ - new SpeciesFormChange(Species.ARCEUS, "normal", "fighting", new SpeciesFormChangeItemTrigger(FormChangeItem.FIST_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "flying", new SpeciesFormChangeItemTrigger(FormChangeItem.SKY_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "poison", new SpeciesFormChangeItemTrigger(FormChangeItem.TOXIC_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "ground", new SpeciesFormChangeItemTrigger(FormChangeItem.EARTH_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "rock", new SpeciesFormChangeItemTrigger(FormChangeItem.STONE_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "bug", new SpeciesFormChangeItemTrigger(FormChangeItem.INSECT_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "ghost", new SpeciesFormChangeItemTrigger(FormChangeItem.SPOOKY_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "steel", new SpeciesFormChangeItemTrigger(FormChangeItem.IRON_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "fire", new SpeciesFormChangeItemTrigger(FormChangeItem.FLAME_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "water", new SpeciesFormChangeItemTrigger(FormChangeItem.SPLASH_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "grass", new SpeciesFormChangeItemTrigger(FormChangeItem.MEADOW_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "electric", new SpeciesFormChangeItemTrigger(FormChangeItem.ZAP_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "psychic", new SpeciesFormChangeItemTrigger(FormChangeItem.MIND_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICICLE_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "dragon", new SpeciesFormChangeItemTrigger(FormChangeItem.DRACO_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "dark", new SpeciesFormChangeItemTrigger(FormChangeItem.DREAD_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - new SpeciesFormChange(Species.ARCEUS, "normal", "fairy", new SpeciesFormChangeItemTrigger(FormChangeItem.PIXIE_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.MULTITYPE))), - ], - [Species.DARMANITAN]: [ - new SpeciesFormChange(Species.DARMANITAN, "", "zen", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.DARMANITAN, "zen", "", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.GARBODOR]: [ - new SpeciesFormChange(Species.GARBODOR, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.TORNADUS]: [ - new SpeciesFormChange(Species.TORNADUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) - ], - [Species.THUNDURUS]: [ - new SpeciesFormChange(Species.THUNDURUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) - ], - [Species.LANDORUS]: [ - new SpeciesFormChange(Species.LANDORUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) - ], - [Species.KYUREM]: [ - new SpeciesFormChange(Species.KYUREM, "", "black", new SpeciesFormChangeItemTrigger(FormChangeItem.DARK_STONE), false, getSpeciesDependentFormChangeCondition(Species.ZEKROM)), - new SpeciesFormChange(Species.KYUREM, "", "white", new SpeciesFormChangeItemTrigger(FormChangeItem.LIGHT_STONE), false, getSpeciesDependentFormChangeCondition(Species.RESHIRAM)) - ], - [Species.KELDEO]: [ - new SpeciesFormChange(Species.KELDEO, "ordinary", "resolute", new SpeciesFormChangeMoveLearnedTrigger(Moves.SECRET_SWORD), false, new SpeciesFormChangeCondition(() => globalScene.gameMode.isDaily !== true)), - new SpeciesFormChange(Species.KELDEO, "resolute", "ordinary", new SpeciesFormChangeMoveLearnedTrigger(Moves.SECRET_SWORD, false), false, new SpeciesFormChangeCondition(() => globalScene.gameMode.isDaily !== true)) - ], - [Species.MELOETTA]: [ - new SpeciesFormChange(Species.MELOETTA, "aria", "pirouette", new MeloettaFormChangePostMoveTrigger(Moves.RELIC_SONG), true), - new SpeciesFormChange(Species.MELOETTA, "pirouette", "aria", new MeloettaFormChangePostMoveTrigger(Moves.RELIC_SONG), true) - ], - [Species.GENESECT]: [ - new SpeciesFormChange(Species.GENESECT, "", "shock", new SpeciesFormChangeItemTrigger(FormChangeItem.SHOCK_DRIVE)), - new SpeciesFormChange(Species.GENESECT, "", "burn", new SpeciesFormChangeItemTrigger(FormChangeItem.BURN_DRIVE)), - new SpeciesFormChange(Species.GENESECT, "", "chill", new SpeciesFormChangeItemTrigger(FormChangeItem.CHILL_DRIVE)), - new SpeciesFormChange(Species.GENESECT, "", "douse", new SpeciesFormChangeItemTrigger(FormChangeItem.DOUSE_DRIVE)) - ], - [Species.GRENINJA]: [ - new SpeciesFormChange(Species.GRENINJA, "battle-bond", "ash", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.GRENINJA, "ash", "battle-bond", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.PALAFIN] : [ - new SpeciesFormChange(Species.PALAFIN, "zero", "hero", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.PALAFIN, "hero", "zero", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.AEGISLASH]: [ - new SpeciesFormChange(Species.AEGISLASH, "blade", "shield", new SpeciesFormChangePreMoveTrigger(Moves.KINGS_SHIELD), true, new SpeciesFormChangeCondition(p => p.hasAbility(Abilities.STANCE_CHANGE))), - new SpeciesFormChange(Species.AEGISLASH, "shield", "blade", new SpeciesFormChangePreMoveTrigger(m => allMoves[m].category !== MoveCategory.STATUS), true, new SpeciesFormChangeCondition(p => p.hasAbility(Abilities.STANCE_CHANGE))), - new SpeciesFormChange(Species.AEGISLASH, "blade", "shield", new SpeciesFormChangeActiveTrigger(false), true) - ], - [Species.XERNEAS]: [ - new SpeciesFormChange(Species.XERNEAS, "neutral", "active", new SpeciesFormChangeActiveTrigger(true), true), - new SpeciesFormChange(Species.XERNEAS, "active", "neutral", new SpeciesFormChangeActiveTrigger(false), true) - ], - [Species.ZYGARDE]: [ - new SpeciesFormChange(Species.ZYGARDE, "50-pc", "complete", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.ZYGARDE, "complete", "50-pc", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.ZYGARDE, "10-pc", "10-complete", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.ZYGARDE, "10-complete", "10-pc", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.DIANCIE]: [ - new SpeciesFormChange(Species.DIANCIE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.DIANCITE)) - ], - [Species.HOOPA]: [ - new SpeciesFormChange(Species.HOOPA, "", "unbound", new SpeciesFormChangeItemTrigger(FormChangeItem.PRISON_BOTTLE)) - ], - [Species.WISHIWASHI]: [ - new SpeciesFormChange(Species.WISHIWASHI, "", "school", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.WISHIWASHI, "school", "", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.SILVALLY]: [ - new SpeciesFormChange(Species.SILVALLY, "normal", "fighting", new SpeciesFormChangeItemTrigger(FormChangeItem.FIGHTING_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "flying", new SpeciesFormChangeItemTrigger(FormChangeItem.FLYING_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "poison", new SpeciesFormChangeItemTrigger(FormChangeItem.POISON_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "ground", new SpeciesFormChangeItemTrigger(FormChangeItem.GROUND_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "rock", new SpeciesFormChangeItemTrigger(FormChangeItem.ROCK_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "bug", new SpeciesFormChangeItemTrigger(FormChangeItem.BUG_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "ghost", new SpeciesFormChangeItemTrigger(FormChangeItem.GHOST_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "steel", new SpeciesFormChangeItemTrigger(FormChangeItem.STEEL_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "fire", new SpeciesFormChangeItemTrigger(FormChangeItem.FIRE_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "water", new SpeciesFormChangeItemTrigger(FormChangeItem.WATER_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "grass", new SpeciesFormChangeItemTrigger(FormChangeItem.GRASS_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "electric", new SpeciesFormChangeItemTrigger(FormChangeItem.ELECTRIC_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "psychic", new SpeciesFormChangeItemTrigger(FormChangeItem.PSYCHIC_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICE_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "dragon", new SpeciesFormChangeItemTrigger(FormChangeItem.DRAGON_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "dark", new SpeciesFormChangeItemTrigger(FormChangeItem.DARK_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))), - new SpeciesFormChange(Species.SILVALLY, "normal", "fairy", new SpeciesFormChangeItemTrigger(FormChangeItem.FAIRY_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(Abilities.RKS_SYSTEM))) - ], - [Species.MINIOR]: [ - new SpeciesFormChange(Species.MINIOR, "red-meteor", "red", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "red", "red-meteor", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "orange-meteor", "orange", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "orange", "orange-meteor", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "yellow-meteor", "yellow", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "yellow", "yellow-meteor", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "green-meteor", "green", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "green", "green-meteor", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "blue-meteor", "blue", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "blue", "blue-meteor", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "indigo-meteor", "indigo", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "indigo", "indigo-meteor", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "violet-meteor", "violet", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MINIOR, "violet", "violet-meteor", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.MIMIKYU]: [ - new SpeciesFormChange(Species.MIMIKYU, "disguised", "busted", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MIMIKYU, "busted", "disguised", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.NECROZMA]: [ - new SpeciesFormChange(Species.NECROZMA, "", "dawn-wings", new SpeciesFormChangeItemTrigger(FormChangeItem.N_LUNARIZER), false, getSpeciesDependentFormChangeCondition(Species.LUNALA)), - new SpeciesFormChange(Species.NECROZMA, "", "dusk-mane", new SpeciesFormChangeItemTrigger(FormChangeItem.N_SOLARIZER), false, getSpeciesDependentFormChangeCondition(Species.SOLGALEO)), - new SpeciesFormChange(Species.NECROZMA, "dawn-wings", "ultra", new SpeciesFormChangeItemTrigger(FormChangeItem.ULTRANECROZIUM_Z)), - new SpeciesFormChange(Species.NECROZMA, "dusk-mane", "ultra", new SpeciesFormChangeItemTrigger(FormChangeItem.ULTRANECROZIUM_Z)) - ], - [Species.MELMETAL]: [ - new SpeciesFormChange(Species.MELMETAL, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.RILLABOOM]: [ - new SpeciesFormChange(Species.RILLABOOM, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.CINDERACE]: [ - new SpeciesFormChange(Species.CINDERACE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.INTELEON]: [ - new SpeciesFormChange(Species.INTELEON, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.CORVIKNIGHT]: [ - new SpeciesFormChange(Species.CORVIKNIGHT, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.ORBEETLE]: [ - new SpeciesFormChange(Species.ORBEETLE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.DREDNAW]: [ - new SpeciesFormChange(Species.DREDNAW, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.COALOSSAL]: [ - new SpeciesFormChange(Species.COALOSSAL, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.FLAPPLE]: [ - new SpeciesFormChange(Species.FLAPPLE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.APPLETUN]: [ - new SpeciesFormChange(Species.APPLETUN, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.SANDACONDA]: [ - new SpeciesFormChange(Species.SANDACONDA, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.CRAMORANT]: [ - new SpeciesFormChange(Species.CRAMORANT, "", "gulping", new SpeciesFormChangeAbilityTrigger, true, new SpeciesFormChangeCondition(p => p.getHpRatio() >= .5)), - new SpeciesFormChange(Species.CRAMORANT, "", "gorging", new SpeciesFormChangeAbilityTrigger, true, new SpeciesFormChangeCondition(p => p.getHpRatio() < .5)), - new SpeciesFormChange(Species.CRAMORANT, "gulping", "", new SpeciesFormChangeAbilityTrigger, true), - new SpeciesFormChange(Species.CRAMORANT, "gorging", "", new SpeciesFormChangeAbilityTrigger, true), - new SpeciesFormChange(Species.CRAMORANT, "gulping", "", new SpeciesFormChangeActiveTrigger(false), true), - new SpeciesFormChange(Species.CRAMORANT, "gorging", "", new SpeciesFormChangeActiveTrigger(false), true) - ], - [Species.TOXTRICITY]: [ - new SpeciesFormChange(Species.TOXTRICITY, "amped", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.TOXTRICITY, "lowkey", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.TOXTRICITY, SpeciesFormKey.GIGANTAMAX, "amped", new SpeciesFormChangeCompoundTrigger(new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS, false), new SpeciesDefaultFormMatchTrigger("amped"))), - new SpeciesFormChange(Species.TOXTRICITY, SpeciesFormKey.GIGANTAMAX, "lowkey", new SpeciesFormChangeCompoundTrigger(new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS, false), new SpeciesDefaultFormMatchTrigger("lowkey"))) - ], - [Species.CENTISKORCH]: [ - new SpeciesFormChange(Species.CENTISKORCH, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.HATTERENE]: [ - new SpeciesFormChange(Species.HATTERENE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.GRIMMSNARL]: [ - new SpeciesFormChange(Species.GRIMMSNARL, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.ALCREMIE]: [ - new SpeciesFormChange(Species.ALCREMIE, "vanilla-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "ruby-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "matcha-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "mint-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "lemon-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "salted-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "ruby-swirl", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "caramel-swirl", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.ALCREMIE, "rainbow-swirl", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.EISCUE]: [ - new SpeciesFormChange(Species.EISCUE, "", "no-ice", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.EISCUE, "no-ice", "", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.MORPEKO]: [ - new SpeciesFormChange(Species.MORPEKO, "full-belly", "hangry", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.MORPEKO, "hangry", "full-belly", new SpeciesFormChangeAbilityTrigger(), true) - ], - [Species.COPPERAJAH]: [ - new SpeciesFormChange(Species.COPPERAJAH, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.DURALUDON]: [ - new SpeciesFormChange(Species.DURALUDON, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.ZACIAN]: [ - new SpeciesFormChange(Species.ZACIAN, "hero-of-many-battles", "crowned", new SpeciesFormChangeItemTrigger(FormChangeItem.RUSTED_SWORD)) - ], - [Species.ZAMAZENTA]: [ - new SpeciesFormChange(Species.ZAMAZENTA, "hero-of-many-battles", "crowned", new SpeciesFormChangeItemTrigger(FormChangeItem.RUSTED_SHIELD)) - ], - [Species.ETERNATUS]: [ - new SpeciesFormChange(Species.ETERNATUS, "", SpeciesFormKey.ETERNAMAX, new SpeciesFormChangeManualTrigger()), - new SpeciesFormChange(Species.ETERNATUS, "", SpeciesFormKey.ETERNAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.URSHIFU]: [ - new SpeciesFormChange(Species.URSHIFU, "single-strike", SpeciesFormKey.GIGANTAMAX_SINGLE, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), - new SpeciesFormChange(Species.URSHIFU, "rapid-strike", SpeciesFormKey.GIGANTAMAX_RAPID, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) - ], - [Species.CALYREX]: [ - new SpeciesFormChange(Species.CALYREX, "", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICY_REINS_OF_UNITY), false, getSpeciesDependentFormChangeCondition(Species.GLASTRIER)), - new SpeciesFormChange(Species.CALYREX, "", "shadow", new SpeciesFormChangeItemTrigger(FormChangeItem.SHADOW_REINS_OF_UNITY), false, getSpeciesDependentFormChangeCondition(Species.SPECTRIER)) - ], - [Species.ENAMORUS]: [ - new SpeciesFormChange(Species.ENAMORUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) - ], - [Species.OGERPON]: [ - new SpeciesFormChange(Species.OGERPON, "teal-mask", "wellspring-mask", new SpeciesFormChangeItemTrigger(FormChangeItem.WELLSPRING_MASK)), - new SpeciesFormChange(Species.OGERPON, "teal-mask", "hearthflame-mask", new SpeciesFormChangeItemTrigger(FormChangeItem.HEARTHFLAME_MASK)), - new SpeciesFormChange(Species.OGERPON, "teal-mask", "cornerstone-mask", new SpeciesFormChangeItemTrigger(FormChangeItem.CORNERSTONE_MASK)), - new SpeciesFormChange(Species.OGERPON, "teal-mask", "teal-mask-tera", new SpeciesFormChangeTeraTrigger(), true), - new SpeciesFormChange(Species.OGERPON, "teal-mask-tera", "teal-mask", new SpeciesFormChangeLapseTeraTrigger(), true), - new SpeciesFormChange(Species.OGERPON, "wellspring-mask", "wellspring-mask-tera", new SpeciesFormChangeTeraTrigger(), true), - new SpeciesFormChange(Species.OGERPON, "wellspring-mask-tera", "wellspring-mask", new SpeciesFormChangeLapseTeraTrigger(), true), - new SpeciesFormChange(Species.OGERPON, "hearthflame-mask", "hearthflame-mask-tera", new SpeciesFormChangeTeraTrigger(), true), - new SpeciesFormChange(Species.OGERPON, "hearthflame-mask-tera", "hearthflame-mask", new SpeciesFormChangeLapseTeraTrigger(), true), - new SpeciesFormChange(Species.OGERPON, "cornerstone-mask", "cornerstone-mask-tera", new SpeciesFormChangeTeraTrigger(), true), - new SpeciesFormChange(Species.OGERPON, "cornerstone-mask-tera", "cornerstone-mask", new SpeciesFormChangeLapseTeraTrigger(), true) - ], - [Species.TERAPAGOS]: [ - new SpeciesFormChange(Species.TERAPAGOS, "", "terastal", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.TERAPAGOS, "terastal", "stellar", new SpeciesFormChangeTeraTrigger(), true), - new SpeciesFormChange(Species.TERAPAGOS, "stellar", "terastal", new SpeciesFormChangeLapseTeraTrigger(), true) - ], - [Species.GALAR_DARMANITAN]: [ - new SpeciesFormChange(Species.GALAR_DARMANITAN, "", "zen", new SpeciesFormChangeAbilityTrigger(), true), - new SpeciesFormChange(Species.GALAR_DARMANITAN, "zen", "", new SpeciesFormChangeAbilityTrigger(), true) + [SpeciesId.DIALGA]: [ + new SpeciesFormChange(SpeciesId.DIALGA, "", SpeciesFormKey.ORIGIN, new SpeciesFormChangeItemTrigger(FormChangeItem.ADAMANT_CRYSTAL)) + ], + [SpeciesId.PALKIA]: [ + new SpeciesFormChange(SpeciesId.PALKIA, "", SpeciesFormKey.ORIGIN, new SpeciesFormChangeItemTrigger(FormChangeItem.LUSTROUS_GLOBE)) + ], + [SpeciesId.GIRATINA]: [ + new SpeciesFormChange(SpeciesId.GIRATINA, "altered", SpeciesFormKey.ORIGIN, new SpeciesFormChangeItemTrigger(FormChangeItem.GRISEOUS_CORE)) + ], + [SpeciesId.SHAYMIN]: [ + new SpeciesFormChange(SpeciesId.SHAYMIN, "land", "sky", new SpeciesFormChangeItemTrigger(FormChangeItem.GRACIDEA)), + ], + [SpeciesId.ARCEUS]: [ + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "fighting", new SpeciesFormChangeItemTrigger(FormChangeItem.FIST_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "flying", new SpeciesFormChangeItemTrigger(FormChangeItem.SKY_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "poison", new SpeciesFormChangeItemTrigger(FormChangeItem.TOXIC_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "ground", new SpeciesFormChangeItemTrigger(FormChangeItem.EARTH_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "rock", new SpeciesFormChangeItemTrigger(FormChangeItem.STONE_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "bug", new SpeciesFormChangeItemTrigger(FormChangeItem.INSECT_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "ghost", new SpeciesFormChangeItemTrigger(FormChangeItem.SPOOKY_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "steel", new SpeciesFormChangeItemTrigger(FormChangeItem.IRON_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "fire", new SpeciesFormChangeItemTrigger(FormChangeItem.FLAME_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "water", new SpeciesFormChangeItemTrigger(FormChangeItem.SPLASH_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "grass", new SpeciesFormChangeItemTrigger(FormChangeItem.MEADOW_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "electric", new SpeciesFormChangeItemTrigger(FormChangeItem.ZAP_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "psychic", new SpeciesFormChangeItemTrigger(FormChangeItem.MIND_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICICLE_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "dragon", new SpeciesFormChangeItemTrigger(FormChangeItem.DRACO_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "dark", new SpeciesFormChangeItemTrigger(FormChangeItem.DREAD_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + new SpeciesFormChange(SpeciesId.ARCEUS, "normal", "fairy", new SpeciesFormChangeItemTrigger(FormChangeItem.PIXIE_PLATE), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.MULTITYPE))), + ], + [SpeciesId.DARMANITAN]: [ + new SpeciesFormChange(SpeciesId.DARMANITAN, "", "zen", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.DARMANITAN, "zen", "", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.GARBODOR]: [ + new SpeciesFormChange(SpeciesId.GARBODOR, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.TORNADUS]: [ + new SpeciesFormChange(SpeciesId.TORNADUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) + ], + [SpeciesId.THUNDURUS]: [ + new SpeciesFormChange(SpeciesId.THUNDURUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) + ], + [SpeciesId.LANDORUS]: [ + new SpeciesFormChange(SpeciesId.LANDORUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) + ], + [SpeciesId.KYUREM]: [ + new SpeciesFormChange(SpeciesId.KYUREM, "", "black", new SpeciesFormChangeItemTrigger(FormChangeItem.DARK_STONE), false, getSpeciesDependentFormChangeCondition(SpeciesId.ZEKROM)), + new SpeciesFormChange(SpeciesId.KYUREM, "", "white", new SpeciesFormChangeItemTrigger(FormChangeItem.LIGHT_STONE), false, getSpeciesDependentFormChangeCondition(SpeciesId.RESHIRAM)) + ], + [SpeciesId.KELDEO]: [ + new SpeciesFormChange(SpeciesId.KELDEO, "ordinary", "resolute", new SpeciesFormChangeMoveLearnedTrigger(MoveId.SECRET_SWORD), false, new SpeciesFormChangeCondition(() => globalScene.gameMode.isDaily !== true)), + new SpeciesFormChange(SpeciesId.KELDEO, "resolute", "ordinary", new SpeciesFormChangeMoveLearnedTrigger(MoveId.SECRET_SWORD, false), false, new SpeciesFormChangeCondition(() => globalScene.gameMode.isDaily !== true)) + ], + [SpeciesId.MELOETTA]: [ + new SpeciesFormChange(SpeciesId.MELOETTA, "aria", "pirouette", new MeloettaFormChangePostMoveTrigger(MoveId.RELIC_SONG), true), + new SpeciesFormChange(SpeciesId.MELOETTA, "pirouette", "aria", new MeloettaFormChangePostMoveTrigger(MoveId.RELIC_SONG), true) + ], + [SpeciesId.GENESECT]: [ + new SpeciesFormChange(SpeciesId.GENESECT, "", "shock", new SpeciesFormChangeItemTrigger(FormChangeItem.SHOCK_DRIVE)), + new SpeciesFormChange(SpeciesId.GENESECT, "", "burn", new SpeciesFormChangeItemTrigger(FormChangeItem.BURN_DRIVE)), + new SpeciesFormChange(SpeciesId.GENESECT, "", "chill", new SpeciesFormChangeItemTrigger(FormChangeItem.CHILL_DRIVE)), + new SpeciesFormChange(SpeciesId.GENESECT, "", "douse", new SpeciesFormChangeItemTrigger(FormChangeItem.DOUSE_DRIVE)) + ], + [SpeciesId.GRENINJA]: [ + new SpeciesFormChange(SpeciesId.GRENINJA, "battle-bond", "ash", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.GRENINJA, "ash", "battle-bond", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.PALAFIN] : [ + new SpeciesFormChange(SpeciesId.PALAFIN, "zero", "hero", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.PALAFIN, "hero", "zero", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.AEGISLASH]: [ + new SpeciesFormChange(SpeciesId.AEGISLASH, "blade", "shield", new SpeciesFormChangePreMoveTrigger(MoveId.KINGS_SHIELD), true, new SpeciesFormChangeCondition(p => p.hasAbility(AbilityId.STANCE_CHANGE))), + new SpeciesFormChange(SpeciesId.AEGISLASH, "shield", "blade", new SpeciesFormChangePreMoveTrigger(m => allMoves[m].category !== MoveCategory.STATUS), true, new SpeciesFormChangeCondition(p => p.hasAbility(AbilityId.STANCE_CHANGE))), + new SpeciesFormChange(SpeciesId.AEGISLASH, "blade", "shield", new SpeciesFormChangeActiveTrigger(false), true) + ], + [SpeciesId.XERNEAS]: [ + new SpeciesFormChange(SpeciesId.XERNEAS, "neutral", "active", new SpeciesFormChangeActiveTrigger(true), true), + new SpeciesFormChange(SpeciesId.XERNEAS, "active", "neutral", new SpeciesFormChangeActiveTrigger(false), true) + ], + [SpeciesId.ZYGARDE]: [ + new SpeciesFormChange(SpeciesId.ZYGARDE, "50-pc", "complete", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.ZYGARDE, "complete", "50-pc", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.ZYGARDE, "10-pc", "10-complete", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.ZYGARDE, "10-complete", "10-pc", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.DIANCIE]: [ + new SpeciesFormChange(SpeciesId.DIANCIE, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.DIANCITE)) + ], + [SpeciesId.HOOPA]: [ + new SpeciesFormChange(SpeciesId.HOOPA, "", "unbound", new SpeciesFormChangeItemTrigger(FormChangeItem.PRISON_BOTTLE)) + ], + [SpeciesId.WISHIWASHI]: [ + new SpeciesFormChange(SpeciesId.WISHIWASHI, "", "school", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.WISHIWASHI, "school", "", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.SILVALLY]: [ + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "fighting", new SpeciesFormChangeItemTrigger(FormChangeItem.FIGHTING_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "flying", new SpeciesFormChangeItemTrigger(FormChangeItem.FLYING_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "poison", new SpeciesFormChangeItemTrigger(FormChangeItem.POISON_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "ground", new SpeciesFormChangeItemTrigger(FormChangeItem.GROUND_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "rock", new SpeciesFormChangeItemTrigger(FormChangeItem.ROCK_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "bug", new SpeciesFormChangeItemTrigger(FormChangeItem.BUG_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "ghost", new SpeciesFormChangeItemTrigger(FormChangeItem.GHOST_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "steel", new SpeciesFormChangeItemTrigger(FormChangeItem.STEEL_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "fire", new SpeciesFormChangeItemTrigger(FormChangeItem.FIRE_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "water", new SpeciesFormChangeItemTrigger(FormChangeItem.WATER_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "grass", new SpeciesFormChangeItemTrigger(FormChangeItem.GRASS_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "electric", new SpeciesFormChangeItemTrigger(FormChangeItem.ELECTRIC_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "psychic", new SpeciesFormChangeItemTrigger(FormChangeItem.PSYCHIC_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICE_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "dragon", new SpeciesFormChangeItemTrigger(FormChangeItem.DRAGON_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "dark", new SpeciesFormChangeItemTrigger(FormChangeItem.DARK_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))), + new SpeciesFormChange(SpeciesId.SILVALLY, "normal", "fairy", new SpeciesFormChangeItemTrigger(FormChangeItem.FAIRY_MEMORY), true, new SpeciesFormChangeCondition((p) => p.hasAbility(AbilityId.RKS_SYSTEM))) + ], + [SpeciesId.MINIOR]: [ + new SpeciesFormChange(SpeciesId.MINIOR, "red-meteor", "red", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "red", "red-meteor", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "orange-meteor", "orange", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "orange", "orange-meteor", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "yellow-meteor", "yellow", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "yellow", "yellow-meteor", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "green-meteor", "green", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "green", "green-meteor", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "blue-meteor", "blue", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "blue", "blue-meteor", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "indigo-meteor", "indigo", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "indigo", "indigo-meteor", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "violet-meteor", "violet", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MINIOR, "violet", "violet-meteor", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.MIMIKYU]: [ + new SpeciesFormChange(SpeciesId.MIMIKYU, "disguised", "busted", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MIMIKYU, "busted", "disguised", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.NECROZMA]: [ + new SpeciesFormChange(SpeciesId.NECROZMA, "", "dawn-wings", new SpeciesFormChangeItemTrigger(FormChangeItem.N_LUNARIZER), false, getSpeciesDependentFormChangeCondition(SpeciesId.LUNALA)), + new SpeciesFormChange(SpeciesId.NECROZMA, "", "dusk-mane", new SpeciesFormChangeItemTrigger(FormChangeItem.N_SOLARIZER), false, getSpeciesDependentFormChangeCondition(SpeciesId.SOLGALEO)), + new SpeciesFormChange(SpeciesId.NECROZMA, "dawn-wings", "ultra", new SpeciesFormChangeItemTrigger(FormChangeItem.ULTRANECROZIUM_Z)), + new SpeciesFormChange(SpeciesId.NECROZMA, "dusk-mane", "ultra", new SpeciesFormChangeItemTrigger(FormChangeItem.ULTRANECROZIUM_Z)) + ], + [SpeciesId.MELMETAL]: [ + new SpeciesFormChange(SpeciesId.MELMETAL, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.RILLABOOM]: [ + new SpeciesFormChange(SpeciesId.RILLABOOM, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.CINDERACE]: [ + new SpeciesFormChange(SpeciesId.CINDERACE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.INTELEON]: [ + new SpeciesFormChange(SpeciesId.INTELEON, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.CORVIKNIGHT]: [ + new SpeciesFormChange(SpeciesId.CORVIKNIGHT, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.ORBEETLE]: [ + new SpeciesFormChange(SpeciesId.ORBEETLE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.DREDNAW]: [ + new SpeciesFormChange(SpeciesId.DREDNAW, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.COALOSSAL]: [ + new SpeciesFormChange(SpeciesId.COALOSSAL, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.FLAPPLE]: [ + new SpeciesFormChange(SpeciesId.FLAPPLE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.APPLETUN]: [ + new SpeciesFormChange(SpeciesId.APPLETUN, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.SANDACONDA]: [ + new SpeciesFormChange(SpeciesId.SANDACONDA, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.CRAMORANT]: [ + new SpeciesFormChange(SpeciesId.CRAMORANT, "", "gulping", new SpeciesFormChangeAbilityTrigger, true, new SpeciesFormChangeCondition(p => p.getHpRatio() >= .5)), + new SpeciesFormChange(SpeciesId.CRAMORANT, "", "gorging", new SpeciesFormChangeAbilityTrigger, true, new SpeciesFormChangeCondition(p => p.getHpRatio() < .5)), + new SpeciesFormChange(SpeciesId.CRAMORANT, "gulping", "", new SpeciesFormChangeAbilityTrigger, true), + new SpeciesFormChange(SpeciesId.CRAMORANT, "gorging", "", new SpeciesFormChangeAbilityTrigger, true), + new SpeciesFormChange(SpeciesId.CRAMORANT, "gulping", "", new SpeciesFormChangeActiveTrigger(false), true), + new SpeciesFormChange(SpeciesId.CRAMORANT, "gorging", "", new SpeciesFormChangeActiveTrigger(false), true) + ], + [SpeciesId.TOXTRICITY]: [ + new SpeciesFormChange(SpeciesId.TOXTRICITY, "amped", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.TOXTRICITY, "lowkey", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.TOXTRICITY, SpeciesFormKey.GIGANTAMAX, "amped", new SpeciesFormChangeCompoundTrigger(new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS, false), new SpeciesDefaultFormMatchTrigger("amped"))), + new SpeciesFormChange(SpeciesId.TOXTRICITY, SpeciesFormKey.GIGANTAMAX, "lowkey", new SpeciesFormChangeCompoundTrigger(new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS, false), new SpeciesDefaultFormMatchTrigger("lowkey"))) + ], + [SpeciesId.CENTISKORCH]: [ + new SpeciesFormChange(SpeciesId.CENTISKORCH, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.HATTERENE]: [ + new SpeciesFormChange(SpeciesId.HATTERENE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.GRIMMSNARL]: [ + new SpeciesFormChange(SpeciesId.GRIMMSNARL, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.ALCREMIE]: [ + new SpeciesFormChange(SpeciesId.ALCREMIE, "vanilla-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "ruby-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "matcha-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "mint-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "lemon-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "salted-cream", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "ruby-swirl", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "caramel-swirl", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.ALCREMIE, "rainbow-swirl", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.EISCUE]: [ + new SpeciesFormChange(SpeciesId.EISCUE, "", "no-ice", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.EISCUE, "no-ice", "", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.MORPEKO]: [ + new SpeciesFormChange(SpeciesId.MORPEKO, "full-belly", "hangry", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.MORPEKO, "hangry", "full-belly", new SpeciesFormChangeAbilityTrigger(), true) + ], + [SpeciesId.COPPERAJAH]: [ + new SpeciesFormChange(SpeciesId.COPPERAJAH, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.DURALUDON]: [ + new SpeciesFormChange(SpeciesId.DURALUDON, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.ZACIAN]: [ + new SpeciesFormChange(SpeciesId.ZACIAN, "hero-of-many-battles", "crowned", new SpeciesFormChangeItemTrigger(FormChangeItem.RUSTED_SWORD)) + ], + [SpeciesId.ZAMAZENTA]: [ + new SpeciesFormChange(SpeciesId.ZAMAZENTA, "hero-of-many-battles", "crowned", new SpeciesFormChangeItemTrigger(FormChangeItem.RUSTED_SHIELD)) + ], + [SpeciesId.ETERNATUS]: [ + new SpeciesFormChange(SpeciesId.ETERNATUS, "", SpeciesFormKey.ETERNAMAX, new SpeciesFormChangeManualTrigger()), + new SpeciesFormChange(SpeciesId.ETERNATUS, "", SpeciesFormKey.ETERNAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.URSHIFU]: [ + new SpeciesFormChange(SpeciesId.URSHIFU, "single-strike", SpeciesFormKey.GIGANTAMAX_SINGLE, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)), + new SpeciesFormChange(SpeciesId.URSHIFU, "rapid-strike", SpeciesFormKey.GIGANTAMAX_RAPID, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)) + ], + [SpeciesId.CALYREX]: [ + new SpeciesFormChange(SpeciesId.CALYREX, "", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICY_REINS_OF_UNITY), false, getSpeciesDependentFormChangeCondition(SpeciesId.GLASTRIER)), + new SpeciesFormChange(SpeciesId.CALYREX, "", "shadow", new SpeciesFormChangeItemTrigger(FormChangeItem.SHADOW_REINS_OF_UNITY), false, getSpeciesDependentFormChangeCondition(SpeciesId.SPECTRIER)) + ], + [SpeciesId.ENAMORUS]: [ + new SpeciesFormChange(SpeciesId.ENAMORUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS)) + ], + [SpeciesId.OGERPON]: [ + new SpeciesFormChange(SpeciesId.OGERPON, "teal-mask", "wellspring-mask", new SpeciesFormChangeItemTrigger(FormChangeItem.WELLSPRING_MASK)), + new SpeciesFormChange(SpeciesId.OGERPON, "teal-mask", "hearthflame-mask", new SpeciesFormChangeItemTrigger(FormChangeItem.HEARTHFLAME_MASK)), + new SpeciesFormChange(SpeciesId.OGERPON, "teal-mask", "cornerstone-mask", new SpeciesFormChangeItemTrigger(FormChangeItem.CORNERSTONE_MASK)), + new SpeciesFormChange(SpeciesId.OGERPON, "teal-mask", "teal-mask-tera", new SpeciesFormChangeTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.OGERPON, "teal-mask-tera", "teal-mask", new SpeciesFormChangeLapseTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.OGERPON, "wellspring-mask", "wellspring-mask-tera", new SpeciesFormChangeTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.OGERPON, "wellspring-mask-tera", "wellspring-mask", new SpeciesFormChangeLapseTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.OGERPON, "hearthflame-mask", "hearthflame-mask-tera", new SpeciesFormChangeTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.OGERPON, "hearthflame-mask-tera", "hearthflame-mask", new SpeciesFormChangeLapseTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.OGERPON, "cornerstone-mask", "cornerstone-mask-tera", new SpeciesFormChangeTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.OGERPON, "cornerstone-mask-tera", "cornerstone-mask", new SpeciesFormChangeLapseTeraTrigger(), true) + ], + [SpeciesId.TERAPAGOS]: [ + new SpeciesFormChange(SpeciesId.TERAPAGOS, "", "terastal", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.TERAPAGOS, "terastal", "stellar", new SpeciesFormChangeTeraTrigger(), true), + new SpeciesFormChange(SpeciesId.TERAPAGOS, "stellar", "terastal", new SpeciesFormChangeLapseTeraTrigger(), true) + ], + [SpeciesId.GALAR_DARMANITAN]: [ + new SpeciesFormChange(SpeciesId.GALAR_DARMANITAN, "", "zen", new SpeciesFormChangeAbilityTrigger(), true), + new SpeciesFormChange(SpeciesId.GALAR_DARMANITAN, "zen", "", new SpeciesFormChangeAbilityTrigger(), true) ], }; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 5c97f360094..66ed0b09eeb 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -1,7 +1,7 @@ import type { Localizable } from "#app/interfaces/locales"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { PartyMemberStrength } from "#enums/party-member-strength"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { QuantizerCelebi, argbFromRgba, rgbaFromArgb } from "@material/material-color-utilities"; import i18next from "i18next"; import type { AnySound } from "#app/battle-scene"; @@ -44,42 +44,42 @@ export enum Region { } // TODO: this is horrible and will need to be removed once a refactor/cleanup of forms is executed. -export const normalForm: Species[] = [ - Species.PIKACHU, - Species.RAICHU, - Species.EEVEE, - Species.JOLTEON, - Species.FLAREON, - Species.VAPOREON, - Species.ESPEON, - Species.UMBREON, - Species.LEAFEON, - Species.GLACEON, - Species.SYLVEON, - Species.PICHU, - Species.ROTOM, - Species.DIALGA, - Species.PALKIA, - Species.KYUREM, - Species.GENESECT, - Species.FROAKIE, - Species.FROGADIER, - Species.GRENINJA, - Species.ROCKRUFF, - Species.NECROZMA, - Species.MAGEARNA, - Species.MARSHADOW, - Species.CRAMORANT, - Species.ZARUDE, - Species.CALYREX, +export const normalForm: SpeciesId[] = [ + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.EEVEE, + SpeciesId.JOLTEON, + SpeciesId.FLAREON, + SpeciesId.VAPOREON, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.SYLVEON, + SpeciesId.PICHU, + SpeciesId.ROTOM, + SpeciesId.DIALGA, + SpeciesId.PALKIA, + SpeciesId.KYUREM, + SpeciesId.GENESECT, + SpeciesId.FROAKIE, + SpeciesId.FROGADIER, + SpeciesId.GRENINJA, + SpeciesId.ROCKRUFF, + SpeciesId.NECROZMA, + SpeciesId.MAGEARNA, + SpeciesId.MARSHADOW, + SpeciesId.CRAMORANT, + SpeciesId.ZARUDE, + SpeciesId.CALYREX, ]; /** - * Gets the {@linkcode PokemonSpecies} object associated with the {@linkcode Species} enum given + * Gets the {@linkcode PokemonSpecies} object associated with the {@linkcode SpeciesId} enum given * @param species The species to fetch * @returns The associated {@linkcode PokemonSpecies} object */ -export function getPokemonSpecies(species: Species | Species[]): PokemonSpecies { +export function getPokemonSpecies(species: SpeciesId | SpeciesId[]): PokemonSpecies { // If a special pool (named trainers) is used here it CAN happen that they have a array as species (which means choose one of those two). So we catch that with this code block if (Array.isArray(species)) { // Pick a random species from the list @@ -91,7 +91,7 @@ export function getPokemonSpecies(species: Species | Species[]): PokemonSpecies return allSpecies[species - 1]; } -export function getPokemonSpeciesForm(species: Species, formIndex: number): PokemonSpeciesForm { +export function getPokemonSpeciesForm(species: SpeciesId, formIndex: number): PokemonSpeciesForm { const retSpecies: PokemonSpecies = species >= 2000 ? allSpecies.find(s => s.speciesId === species)! // TODO: is the bang correct? @@ -171,16 +171,16 @@ export function getFusedSpeciesName(speciesAName: string, speciesBName: string): export type PokemonSpeciesFilter = (species: PokemonSpecies) => boolean; export abstract class PokemonSpeciesForm { - public speciesId: Species; + public speciesId: SpeciesId; protected _formIndex: number; protected _generation: number; readonly type1: PokemonType; readonly type2: PokemonType | null; readonly height: number; readonly weight: number; - readonly ability1: Abilities; - readonly ability2: Abilities; - readonly abilityHidden: Abilities; + readonly ability1: AbilityId; + readonly ability2: AbilityId; + readonly abilityHidden: AbilityId; readonly baseTotal: number; readonly baseStats: number[]; readonly catchRate: number; @@ -194,9 +194,9 @@ export abstract class PokemonSpeciesForm { type2: PokemonType | null, height: number, weight: number, - ability1: Abilities, - ability2: Abilities, - abilityHidden: Abilities, + ability1: AbilityId, + ability2: AbilityId, + abilityHidden: AbilityId, baseTotal: number, baseHp: number, baseAtk: number, @@ -215,7 +215,7 @@ export abstract class PokemonSpeciesForm { this.height = height; this.weight = weight; this.ability1 = ability1; - this.ability2 = ability2 === Abilities.NONE ? ability1 : ability2; + this.ability2 = ability2 === AbilityId.NONE ? ability1 : ability2; this.abilityHidden = abilityHidden; this.baseTotal = baseTotal; this.baseStats = [baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd]; @@ -233,7 +233,7 @@ export abstract class PokemonSpeciesForm { * @param forStarter boolean to get the nonbaby form of a starter * @returns The species */ - getRootSpeciesId(forStarter = false): Species { + getRootSpeciesId(forStarter = false): SpeciesId { let ret = this.speciesId; while (pokemonPrevolutions.hasOwnProperty(ret) && (!forStarter || !speciesStarterCosts.hasOwnProperty(ret))) { ret = pokemonPrevolutions[ret]; @@ -266,7 +266,7 @@ export abstract class PokemonSpeciesForm { * @returns Number of abilities */ getAbilityCount(): number { - return this.abilityHidden !== Abilities.NONE ? 3 : 2; + return this.abilityHidden !== AbilityId.NONE ? 3 : 2; } /** @@ -274,8 +274,8 @@ export abstract class PokemonSpeciesForm { * @param abilityIndex Which ability to get (should only be 0-2) * @returns The id of the Ability */ - getAbility(abilityIndex: number): Abilities { - let ret: Abilities; + getAbility(abilityIndex: number): AbilityId { + let ret: AbilityId; if (abilityIndex === 0) { ret = this.ability1; } else if (abilityIndex === 1) { @@ -291,7 +291,7 @@ export abstract class PokemonSpeciesForm { * @param formIndex The form index to use, defaults to form for this species instance * @returns The id of the ability */ - getPassiveAbility(formIndex?: number): Abilities { + getPassiveAbility(formIndex?: number): AbilityId { if (isNullOrUndefined(formIndex)) { formIndex = this.formIndex; } @@ -308,7 +308,7 @@ export abstract class PokemonSpeciesForm { return starterPassiveAbilities[starterSpeciesId][0]; } console.log("No passive ability found for %s, using run away", this.speciesId); - return Abilities.RUN_AWAY; + return AbilityId.RUN_AWAY; } } return starterPassiveAbilities[starterSpeciesId][formIndex]; @@ -341,7 +341,7 @@ export abstract class PokemonSpeciesForm { } isTrainerForbidden(): boolean { - return [Species.ETERNAL_FLOETTE, Species.BLOODMOON_URSALUNA].includes(this.speciesId); + return [SpeciesId.ETERNAL_FLOETTE, SpeciesId.BLOODMOON_URSALUNA].includes(this.speciesId); } isRareRegional(): boolean { @@ -463,18 +463,18 @@ export abstract class PokemonSpeciesForm { } switch (this.speciesId) { - case Species.DODUO: - case Species.DODRIO: - case Species.MEGANIUM: - case Species.TORCHIC: - case Species.COMBUSKEN: - case Species.BLAZIKEN: - case Species.HIPPOPOTAS: - case Species.HIPPOWDON: - case Species.UNFEZANT: - case Species.FRILLISH: - case Species.JELLICENT: - case Species.PYROAR: + case SpeciesId.DODUO: + case SpeciesId.DODRIO: + case SpeciesId.MEGANIUM: + case SpeciesId.TORCHIC: + case SpeciesId.COMBUSKEN: + case SpeciesId.BLAZIKEN: + case SpeciesId.HIPPOPOTAS: + case SpeciesId.HIPPOWDON: + case SpeciesId.UNFEZANT: + case SpeciesId.FRILLISH: + case SpeciesId.JELLICENT: + case SpeciesId.PYROAR: ret += female ? "-f" : ""; break; } @@ -482,10 +482,10 @@ export abstract class PokemonSpeciesForm { let formSpriteKey = this.getFormSpriteKey(formIndex); if (formSpriteKey) { switch (this.speciesId) { - case Species.DUDUNSPARCE: + case SpeciesId.DUDUNSPARCE: break; - case Species.ZACIAN: - case Species.ZAMAZENTA: + case SpeciesId.ZACIAN: + case SpeciesId.ZAMAZENTA: // biome-ignore lint/suspicious/noFallthroughSwitchClause: Falls through if (formSpriteKey.startsWith("behemoth")) { formSpriteKey = "crowned"; @@ -507,11 +507,11 @@ export abstract class PokemonSpeciesForm { let speciesId = this.speciesId; if (this.speciesId > 2000) { switch (this.speciesId) { - case Species.GALAR_SLOWPOKE: + case SpeciesId.GALAR_SLOWPOKE: break; - case Species.ETERNAL_FLOETTE: + case SpeciesId.ETERNAL_FLOETTE: break; - case Species.BLOODMOON_URSALUNA: + case SpeciesId.BLOODMOON_URSALUNA: break; default: speciesId = speciesId % 2000; @@ -779,7 +779,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali readonly forms: PokemonForm[]; constructor( - id: Species, + id: SpeciesId, generation: number, subLegendary: boolean, legendary: boolean, @@ -789,9 +789,9 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali type2: PokemonType | null, height: number, weight: number, - ability1: Abilities, - ability2: Abilities, - abilityHidden: Abilities, + ability1: AbilityId, + ability2: AbilityId, + abilityHidden: AbilityId, baseTotal: number, baseHp: number, baseAtk: number, @@ -904,7 +904,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali return this.name; // Other special cases could be put here too } // Everything beyond this point essentially follows the pattern of FORMNAME_SPECIES - return i18next.t(`pokemonForm:appendForm.${Species[this.speciesId].split("_")[0]}`, { pokemonName: this.name }); + return i18next.t(`pokemonForm:appendForm.${SpeciesId[this.speciesId].split("_")[0]}`, { pokemonName: this.name }); } /** @@ -916,11 +916,11 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali getFormNameToDisplay(formIndex = 0, append = false): string { const formKey = this.forms?.[formIndex!]?.formKey; const formText = capitalizeString(formKey, "-", false, false) || ""; - const speciesName = capitalizeString(Species[this.speciesId], "_", true, false); + const speciesName = capitalizeString(SpeciesId[this.speciesId], "_", true, false); let ret = ""; const region = this.getRegion(); - if (this.speciesId === Species.ARCEUS) { + if (this.speciesId === SpeciesId.ARCEUS) { ret = i18next.t(`pokemonInfo:Type.${formText?.toUpperCase()}`); } else if ( [ @@ -939,25 +939,25 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali : i18next.t(`pokemonForm:battleForm.${formKey}`); } else if ( region === Region.NORMAL || - (this.speciesId === Species.GALAR_DARMANITAN && formIndex > 0) || - this.speciesId === Species.PALDEA_TAUROS + (this.speciesId === SpeciesId.GALAR_DARMANITAN && formIndex > 0) || + this.speciesId === SpeciesId.PALDEA_TAUROS ) { // More special cases can be added here const i18key = `pokemonForm:${speciesName}${formText}`; if (i18next.exists(i18key)) { ret = i18next.t(i18key); } else { - const rootSpeciesName = capitalizeString(Species[this.getRootSpeciesId()], "_", true, false); + const rootSpeciesName = capitalizeString(SpeciesId[this.getRootSpeciesId()], "_", true, false); const i18RootKey = `pokemonForm:${rootSpeciesName}${formText}`; ret = i18next.exists(i18RootKey) ? i18next.t(i18RootKey) : formText; } } else if (append) { // Everything beyond this has an expanded name return this.getExpandedSpeciesName(); - } else if (this.speciesId === Species.ETERNAL_FLOETTE) { + } else if (this.speciesId === SpeciesId.ETERNAL_FLOETTE) { // Not a real form, so the key is made up return i18next.t("pokemonForm:floetteEternalFlower"); - } else if (this.speciesId === Species.BLOODMOON_URSALUNA) { + } else if (this.speciesId === SpeciesId.BLOODMOON_URSALUNA) { // Not a real form, so the key is made up return i18next.t("pokemonForm:ursalunaBloodmoon"); } else { @@ -973,10 +973,10 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali } localize(): void { - this.name = i18next.t(`pokemon:${Species[this.speciesId].toLowerCase()}`); + this.name = i18next.t(`pokemon:${SpeciesId[this.speciesId].toLowerCase()}`); } - getWildSpeciesForLevel(level: number, allowEvolving: boolean, isBoss: boolean, gameMode: GameMode): Species { + getWildSpeciesForLevel(level: number, allowEvolving: boolean, isBoss: boolean, gameMode: GameMode): SpeciesId { return this.getSpeciesForLevel( level, allowEvolving, @@ -990,7 +990,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali allowEvolving = false, strength: PartyMemberStrength, currentWave = 0, - ): Species { + ): SpeciesId { return this.getSpeciesForLevel(level, allowEvolving, true, strength, currentWave); } @@ -1035,7 +1035,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali forTrainer = false, strength: PartyMemberStrength = PartyMemberStrength.WEAKER, currentWave = 0, - ): Species { + ): SpeciesId { const prevolutionLevels = this.getPrevolutionLevels(); if (prevolutionLevels.length) { @@ -1063,7 +1063,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali const easeInFunc = Phaser.Tweens.Builders.GetEaseFunction("Sine.easeIn"); const easeOutFunc = Phaser.Tweens.Builders.GetEaseFunction("Sine.easeOut"); - const evolutionPool: Map = new Map(); + const evolutionPool: Map = new Map(); let totalWeight = 0; let noEvolutionChance = 1; @@ -1192,7 +1192,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali (!this.forms.length || !e.evoFormKey || e.evoFormKey === this.forms[this.formIndex].formKey) && prevolutionLevels.every(pe => pe[0] !== Number.parseInt(p)) ) { - const speciesId = Number.parseInt(p) as Species; + const speciesId = Number.parseInt(p) as SpeciesId; const level = e.level; prevolutionLevels.push([speciesId, level]); const subPrevolutionLevels = getPokemonSpecies(speciesId).getPrevolutionLevels(); @@ -1276,7 +1276,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali species.legendary === legendary && species.mythical === mythical && (this.isTrainerForbidden() || !species.isTrainerForbidden()) && - species.speciesId !== Species.DITTO + species.speciesId !== SpeciesId.DITTO ); }; } @@ -1369,9 +1369,9 @@ export class PokemonForm extends PokemonSpeciesForm { type2: PokemonType | null, height: number, weight: number, - ability1: Abilities, - ability2: Abilities, - abilityHidden: Abilities, + ability1: AbilityId, + ability2: AbilityId, + abilityHidden: AbilityId, baseTotal: number, baseHp: number, baseAtk: number, @@ -1448,1776 +1448,1776 @@ export const allSpecies: PokemonSpecies[] = []; // biome-ignore format: manually formatted export function initSpecies() { allSpecies.push( - new PokemonSpecies(Species.BULBASAUR, 1, false, false, false, "Seed Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.7, 6.9, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 318, 45, 49, 49, 65, 65, 45, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.IVYSAUR, 1, false, false, false, "Seed Pokémon", PokemonType.GRASS, PokemonType.POISON, 1, 13, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 405, 60, 62, 63, 80, 80, 60, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.VENUSAUR, 1, false, false, false, "Seed Pokémon", PokemonType.GRASS, PokemonType.POISON, 2, 100, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, GrowthRate.MEDIUM_SLOW, 87.5, true, true, - new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.POISON, 2, 100, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GRASS, PokemonType.POISON, 2.4, 155.5, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 625, 80, 100, 123, 122, 120, 80, 45, 50, 263, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.POISON, 24, 999.9, Abilities.EFFECT_SPORE, Abilities.NONE, Abilities.EFFECT_SPORE, 625, 120, 122, 90, 108, 105, 80, 45, 50, 263, true), - ), - new PokemonSpecies(Species.CHARMANDER, 1, false, false, false, "Lizard Pokémon", PokemonType.FIRE, null, 0.6, 8.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 309, 39, 52, 43, 60, 50, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.CHARMELEON, 1, false, false, false, "Flame Pokémon", PokemonType.FIRE, null, 1.1, 19, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 405, 58, 64, 58, 80, 65, 80, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.CHARIZARD, 1, false, false, false, "Flame Pokémon", PokemonType.FIRE, PokemonType.FLYING, 1.7, 90.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 534, 78, 84, 78, 109, 85, 100, 45, 50, 267, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.FLYING, 1.7, 90.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 534, 78, 84, 78, 109, 85, 100, 45, 50, 267, false, null, true), - new PokemonForm("Mega X", SpeciesFormKey.MEGA_X, PokemonType.FIRE, PokemonType.DRAGON, 1.7, 110.5, Abilities.TOUGH_CLAWS, Abilities.NONE, Abilities.TOUGH_CLAWS, 634, 78, 130, 111, 130, 85, 100, 45, 50, 267), - new PokemonForm("Mega Y", SpeciesFormKey.MEGA_Y, PokemonType.FIRE, PokemonType.FLYING, 1.7, 100.5, Abilities.DROUGHT, Abilities.NONE, Abilities.DROUGHT, 634, 78, 104, 78, 159, 115, 100, 45, 50, 267), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.FLYING, 28, 999.9, Abilities.BERSERK, Abilities.NONE, Abilities.BERSERK, 634, 118, 99, 88, 134, 95, 100, 45, 50, 267), - ), - new PokemonSpecies(Species.SQUIRTLE, 1, false, false, false, "Tiny Turtle Pokémon", PokemonType.WATER, null, 0.5, 9, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 314, 44, 48, 65, 50, 64, 43, 45, 50, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.WARTORTLE, 1, false, false, false, "Turtle Pokémon", PokemonType.WATER, null, 1, 22.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 405, 59, 63, 80, 65, 80, 58, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.BLASTOISE, 1, false, false, false, "Shellfish Pokémon", PokemonType.WATER, null, 1.6, 85.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, null, 1.6, 85.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, null, 1.6, 101.1, Abilities.MEGA_LAUNCHER, Abilities.NONE, Abilities.MEGA_LAUNCHER, 630, 79, 103, 120, 135, 115, 78, 45, 50, 265), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.STEEL, 25, 999.9, Abilities.SHELL_ARMOR, Abilities.NONE, Abilities.SHELL_ARMOR, 630, 119, 108, 125, 105, 110, 63, 45, 50, 265), - ), - new PokemonSpecies(Species.CATERPIE, 1, false, false, false, "Worm Pokémon", PokemonType.BUG, null, 0.3, 2.9, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.RUN_AWAY, 195, 45, 30, 35, 20, 20, 45, 255, 50, 39, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.METAPOD, 1, false, false, false, "Cocoon Pokémon", PokemonType.BUG, null, 0.7, 9.9, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 50, 20, 55, 25, 25, 30, 120, 50, 72, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BUTTERFREE, 1, false, false, false, "Butterfly Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.1, 32, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, GrowthRate.MEDIUM_FAST, 50, true, true, - new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.FLYING, 1.1, 32, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, true, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.FLYING, 17, 999.9, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.COMPOUND_EYES, 495, 80, 40, 75, 120, 95, 85, 45, 50, 198, true), - ), - new PokemonSpecies(Species.WEEDLE, 1, false, false, false, "Hairy Bug Pokémon", PokemonType.BUG, PokemonType.POISON, 0.3, 3.2, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.RUN_AWAY, 195, 40, 35, 30, 20, 20, 50, 255, 70, 39, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.KAKUNA, 1, false, false, false, "Cocoon Pokémon", PokemonType.BUG, PokemonType.POISON, 0.6, 10, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 45, 25, 50, 25, 25, 35, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BEEDRILL, 1, false, false, false, "Poison Bee Pokémon", PokemonType.BUG, PokemonType.POISON, 1, 29.5, Abilities.SWARM, Abilities.NONE, Abilities.SNIPER, 395, 65, 90, 40, 45, 80, 75, 45, 70, 198, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.POISON, 1, 29.5, Abilities.SWARM, Abilities.NONE, Abilities.SNIPER, 395, 65, 90, 40, 45, 80, 75, 45, 70, 198, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.POISON, 1.4, 40.5, Abilities.ADAPTABILITY, Abilities.NONE, Abilities.ADAPTABILITY, 495, 65, 150, 40, 15, 80, 145, 45, 70, 198), - ), - new PokemonSpecies(Species.PIDGEY, 1, false, false, false, "Tiny Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 1.8, Abilities.KEEN_EYE, Abilities.TANGLED_FEET, Abilities.BIG_PECKS, 251, 40, 45, 40, 35, 35, 56, 255, 70, 50, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.PIDGEOTTO, 1, false, false, false, "Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.1, 30, Abilities.KEEN_EYE, Abilities.TANGLED_FEET, Abilities.BIG_PECKS, 349, 63, 60, 55, 50, 50, 71, 120, 70, 122, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.PIDGEOT, 1, false, false, false, "Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.5, 39.5, Abilities.KEEN_EYE, Abilities.TANGLED_FEET, Abilities.BIG_PECKS, 479, 83, 80, 75, 70, 70, 101, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.NORMAL, PokemonType.FLYING, 1.5, 39.5, Abilities.KEEN_EYE, Abilities.TANGLED_FEET, Abilities.BIG_PECKS, 479, 83, 80, 75, 70, 70, 101, 45, 70, 240, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, PokemonType.FLYING, 2.2, 50.5, Abilities.NO_GUARD, Abilities.NO_GUARD, Abilities.NO_GUARD, 579, 83, 80, 80, 135, 80, 121, 45, 70, 240), - ), - new PokemonSpecies(Species.RATTATA, 1, false, false, false, "Mouse Pokémon", PokemonType.NORMAL, null, 0.3, 3.5, Abilities.RUN_AWAY, Abilities.GUTS, Abilities.HUSTLE, 253, 30, 56, 35, 25, 35, 72, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.RATICATE, 1, false, false, false, "Mouse Pokémon", PokemonType.NORMAL, null, 0.7, 18.5, Abilities.RUN_AWAY, Abilities.GUTS, Abilities.HUSTLE, 413, 55, 81, 60, 50, 70, 97, 127, 70, 145, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.SPEAROW, 1, false, false, false, "Tiny Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2, Abilities.KEEN_EYE, Abilities.NONE, Abilities.SNIPER, 262, 40, 60, 30, 31, 31, 70, 255, 70, 52, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FEAROW, 1, false, false, false, "Beak Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.2, 38, Abilities.KEEN_EYE, Abilities.NONE, Abilities.SNIPER, 442, 65, 90, 65, 61, 61, 100, 90, 70, 155, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.EKANS, 1, false, false, false, "Snake Pokémon", PokemonType.POISON, null, 2, 6.9, Abilities.INTIMIDATE, Abilities.SHED_SKIN, Abilities.UNNERVE, 288, 35, 60, 44, 40, 54, 55, 255, 70, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ARBOK, 1, false, false, false, "Cobra Pokémon", PokemonType.POISON, null, 3.5, 65, Abilities.INTIMIDATE, Abilities.SHED_SKIN, Abilities.UNNERVE, 448, 60, 95, 69, 65, 79, 80, 90, 70, 157, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PIKACHU, 1, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, GrowthRate.MEDIUM_FAST, 50, true, true, - new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true), - new PokemonForm("Partner", "partner", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), - new PokemonForm("Cosplay", "cosplay", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom - new PokemonForm("Cool Cosplay", "cool-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom - new PokemonForm("Beauty Cosplay", "beauty-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom - new PokemonForm("Cute Cosplay", "cute-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom - new PokemonForm("Smart Cosplay", "smart-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom - new PokemonForm("Tough Cosplay", "tough-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ELECTRIC, null, 21, 999.9, Abilities.LIGHTNING_ROD, Abilities.NONE, Abilities.LIGHTNING_ROD, 530, 125, 95, 60, 90, 70, 90, 190, 50, 112), //+100 BST from Partner Form - ), - new PokemonSpecies(Species.RAICHU, 1, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, null, 0.8, 30, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 485, 60, 90, 55, 90, 80, 110, 75, 50, 243, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.SANDSHREW, 1, false, false, false, "Mouse Pokémon", PokemonType.GROUND, null, 0.6, 12, Abilities.SAND_VEIL, Abilities.NONE, Abilities.SAND_RUSH, 300, 50, 75, 85, 20, 30, 40, 255, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SANDSLASH, 1, false, false, false, "Mouse Pokémon", PokemonType.GROUND, null, 1, 29.5, Abilities.SAND_VEIL, Abilities.NONE, Abilities.SAND_RUSH, 450, 75, 100, 110, 45, 55, 65, 90, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.NIDORAN_F, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.4, 7, Abilities.POISON_POINT, Abilities.RIVALRY, Abilities.HUSTLE, 275, 55, 47, 52, 40, 40, 41, 235, 50, 55, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.NIDORINA, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.8, 20, Abilities.POISON_POINT, Abilities.RIVALRY, Abilities.HUSTLE, 365, 70, 62, 67, 55, 55, 56, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.NIDOQUEEN, 1, false, false, false, "Drill Pokémon", PokemonType.POISON, PokemonType.GROUND, 1.3, 60, Abilities.POISON_POINT, Abilities.RIVALRY, Abilities.SHEER_FORCE, 505, 90, 92, 87, 75, 85, 76, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.NIDORAN_M, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.5, 9, Abilities.POISON_POINT, Abilities.RIVALRY, Abilities.HUSTLE, 273, 46, 57, 40, 40, 40, 50, 235, 50, 55, GrowthRate.MEDIUM_SLOW, 100, false), - new PokemonSpecies(Species.NIDORINO, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.9, 19.5, Abilities.POISON_POINT, Abilities.RIVALRY, Abilities.HUSTLE, 365, 61, 72, 57, 55, 55, 65, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 100, false), - new PokemonSpecies(Species.NIDOKING, 1, false, false, false, "Drill Pokémon", PokemonType.POISON, PokemonType.GROUND, 1.4, 62, Abilities.POISON_POINT, Abilities.RIVALRY, Abilities.SHEER_FORCE, 505, 81, 102, 77, 85, 75, 85, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 100, false), - new PokemonSpecies(Species.CLEFAIRY, 1, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 0.6, 7.5, Abilities.CUTE_CHARM, Abilities.MAGIC_GUARD, Abilities.FRIEND_GUARD, 323, 70, 45, 48, 60, 65, 35, 150, 140, 113, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.CLEFABLE, 1, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 1.3, 40, Abilities.CUTE_CHARM, Abilities.MAGIC_GUARD, Abilities.UNAWARE, 483, 95, 70, 73, 95, 90, 60, 25, 140, 242, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.VULPIX, 1, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 0.6, 9.9, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.DROUGHT, 299, 38, 41, 40, 50, 65, 65, 190, 50, 60, GrowthRate.MEDIUM_FAST, 25, false), - new PokemonSpecies(Species.NINETALES, 1, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 1.1, 19.9, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.DROUGHT, 505, 73, 76, 75, 81, 100, 100, 75, 50, 177, GrowthRate.MEDIUM_FAST, 25, false), - new PokemonSpecies(Species.JIGGLYPUFF, 1, false, false, false, "Balloon Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 0.5, 5.5, Abilities.CUTE_CHARM, Abilities.COMPETITIVE, Abilities.FRIEND_GUARD, 270, 115, 45, 20, 45, 25, 20, 170, 50, 95, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.WIGGLYTUFF, 1, false, false, false, "Balloon Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 1, 12, Abilities.CUTE_CHARM, Abilities.COMPETITIVE, Abilities.FRISK, 435, 140, 70, 45, 85, 50, 45, 50, 50, 218, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.ZUBAT, 1, false, false, false, "Bat Pokémon", PokemonType.POISON, PokemonType.FLYING, 0.8, 7.5, Abilities.INNER_FOCUS, Abilities.NONE, Abilities.INFILTRATOR, 245, 40, 45, 35, 30, 40, 55, 255, 50, 49, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.GOLBAT, 1, false, false, false, "Bat Pokémon", PokemonType.POISON, PokemonType.FLYING, 1.6, 55, Abilities.INNER_FOCUS, Abilities.NONE, Abilities.INFILTRATOR, 455, 75, 80, 70, 65, 75, 90, 90, 50, 159, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.ODDISH, 1, false, false, false, "Weed Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.5, 5.4, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.RUN_AWAY, 320, 45, 50, 55, 75, 65, 30, 255, 50, 64, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GLOOM, 1, false, false, false, "Weed Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.8, 8.6, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.STENCH, 395, 60, 65, 70, 85, 75, 40, 120, 50, 138, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.VILEPLUME, 1, false, false, false, "Flower Pokémon", PokemonType.GRASS, PokemonType.POISON, 1.2, 18.6, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.EFFECT_SPORE, 490, 75, 80, 85, 110, 90, 50, 45, 50, 245, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.PARAS, 1, false, false, false, "Mushroom Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.3, 5.4, Abilities.EFFECT_SPORE, Abilities.DRY_SKIN, Abilities.DAMP, 285, 35, 70, 55, 45, 55, 25, 190, 70, 57, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PARASECT, 1, false, false, false, "Mushroom Pokémon", PokemonType.BUG, PokemonType.GRASS, 1, 29.5, Abilities.EFFECT_SPORE, Abilities.DRY_SKIN, Abilities.DAMP, 405, 60, 95, 80, 60, 80, 30, 75, 70, 142, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.VENONAT, 1, false, false, false, "Insect Pokémon", PokemonType.BUG, PokemonType.POISON, 1, 30, Abilities.COMPOUND_EYES, Abilities.TINTED_LENS, Abilities.RUN_AWAY, 305, 60, 55, 50, 40, 55, 45, 190, 70, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.VENOMOTH, 1, false, false, false, "Poison Moth Pokémon", PokemonType.BUG, PokemonType.POISON, 1.5, 12.5, Abilities.SHIELD_DUST, Abilities.TINTED_LENS, Abilities.WONDER_SKIN, 450, 70, 65, 60, 90, 75, 90, 75, 70, 158, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DIGLETT, 1, false, false, false, "Mole Pokémon", PokemonType.GROUND, null, 0.2, 0.8, Abilities.SAND_VEIL, Abilities.ARENA_TRAP, Abilities.SAND_FORCE, 265, 10, 55, 25, 35, 45, 95, 255, 50, 53, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DUGTRIO, 1, false, false, false, "Mole Pokémon", PokemonType.GROUND, null, 0.7, 33.3, Abilities.SAND_VEIL, Abilities.ARENA_TRAP, Abilities.SAND_FORCE, 425, 35, 100, 50, 50, 70, 120, 50, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MEOWTH, 1, false, false, false, "Scratch Cat Pokémon", PokemonType.NORMAL, null, 0.4, 4.2, Abilities.PICKUP, Abilities.TECHNICIAN, Abilities.UNNERVE, 290, 40, 45, 35, 40, 40, 90, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.NORMAL, null, 0.4, 4.2, Abilities.PICKUP, Abilities.TECHNICIAN, Abilities.UNNERVE, 290, 40, 45, 35, 40, 40, 90, 255, 50, 58, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 33, 999.9, Abilities.TECHNICIAN, Abilities.TECHNICIAN, Abilities.TECHNICIAN, 540, 115, 110, 65, 65, 70, 115, 255, 50, 58), //+100 BST from Persian - ), - new PokemonSpecies(Species.PERSIAN, 1, false, false, false, "Classy Cat Pokémon", PokemonType.NORMAL, null, 1, 32, Abilities.LIMBER, Abilities.TECHNICIAN, Abilities.UNNERVE, 440, 65, 70, 60, 65, 65, 115, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PSYDUCK, 1, false, false, false, "Duck Pokémon", PokemonType.WATER, null, 0.8, 19.6, Abilities.DAMP, Abilities.CLOUD_NINE, Abilities.SWIFT_SWIM, 320, 50, 52, 48, 65, 50, 55, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GOLDUCK, 1, false, false, false, "Duck Pokémon", PokemonType.WATER, null, 1.7, 76.6, Abilities.DAMP, Abilities.CLOUD_NINE, Abilities.SWIFT_SWIM, 500, 80, 82, 78, 95, 80, 85, 75, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MANKEY, 1, false, false, false, "Pig Monkey Pokémon", PokemonType.FIGHTING, null, 0.5, 28, Abilities.VITAL_SPIRIT, Abilities.ANGER_POINT, Abilities.DEFIANT, 305, 40, 80, 35, 35, 45, 70, 190, 70, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PRIMEAPE, 1, false, false, false, "Pig Monkey Pokémon", PokemonType.FIGHTING, null, 1, 32, Abilities.VITAL_SPIRIT, Abilities.ANGER_POINT, Abilities.DEFIANT, 455, 65, 105, 60, 60, 70, 95, 75, 70, 159, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GROWLITHE, 1, false, false, false, "Puppy Pokémon", PokemonType.FIRE, null, 0.7, 19, Abilities.INTIMIDATE, Abilities.FLASH_FIRE, Abilities.JUSTIFIED, 350, 55, 70, 45, 70, 50, 60, 190, 50, 70, GrowthRate.SLOW, 75, false), - new PokemonSpecies(Species.ARCANINE, 1, false, false, false, "Legendary Pokémon", PokemonType.FIRE, null, 1.9, 155, Abilities.INTIMIDATE, Abilities.FLASH_FIRE, Abilities.JUSTIFIED, 555, 90, 110, 80, 100, 80, 95, 75, 50, 194, GrowthRate.SLOW, 75, false), - new PokemonSpecies(Species.POLIWAG, 1, false, false, false, "Tadpole Pokémon", PokemonType.WATER, null, 0.6, 12.4, Abilities.WATER_ABSORB, Abilities.DAMP, Abilities.SWIFT_SWIM, 300, 40, 50, 40, 40, 40, 90, 255, 50, 60, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.POLIWHIRL, 1, false, false, false, "Tadpole Pokémon", PokemonType.WATER, null, 1, 20, Abilities.WATER_ABSORB, Abilities.DAMP, Abilities.SWIFT_SWIM, 385, 65, 65, 65, 50, 50, 90, 120, 50, 135, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.POLIWRATH, 1, false, false, false, "Tadpole Pokémon", PokemonType.WATER, PokemonType.FIGHTING, 1.3, 54, Abilities.WATER_ABSORB, Abilities.DAMP, Abilities.SWIFT_SWIM, 510, 90, 95, 95, 70, 90, 70, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ABRA, 1, false, false, false, "Psi Pokémon", PokemonType.PSYCHIC, null, 0.9, 19.5, Abilities.SYNCHRONIZE, Abilities.INNER_FOCUS, Abilities.MAGIC_GUARD, 310, 25, 20, 15, 105, 55, 90, 200, 50, 62, GrowthRate.MEDIUM_SLOW, 75, false), - new PokemonSpecies(Species.KADABRA, 1, false, false, false, "Psi Pokémon", PokemonType.PSYCHIC, null, 1.3, 56.5, Abilities.SYNCHRONIZE, Abilities.INNER_FOCUS, Abilities.MAGIC_GUARD, 400, 40, 35, 30, 120, 70, 105, 100, 50, 140, GrowthRate.MEDIUM_SLOW, 75, true), - new PokemonSpecies(Species.ALAKAZAM, 1, false, false, false, "Psi Pokémon", PokemonType.PSYCHIC, null, 1.5, 48, Abilities.SYNCHRONIZE, Abilities.INNER_FOCUS, Abilities.MAGIC_GUARD, 500, 55, 50, 45, 135, 95, 120, 50, 50, 250, GrowthRate.MEDIUM_SLOW, 75, true, true, - new PokemonForm("Normal", "", PokemonType.PSYCHIC, null, 1.5, 48, Abilities.SYNCHRONIZE, Abilities.INNER_FOCUS, Abilities.MAGIC_GUARD, 500, 55, 50, 45, 135, 95, 120, 50, 50, 250, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, null, 1.2, 48, Abilities.TRACE, Abilities.TRACE, Abilities.TRACE, 600, 55, 50, 65, 175, 105, 150, 50, 50, 250, true), - ), - new PokemonSpecies(Species.MACHOP, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 0.8, 19.5, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 305, 70, 80, 50, 35, 35, 35, 180, 50, 61, GrowthRate.MEDIUM_SLOW, 75, false), - new PokemonSpecies(Species.MACHOKE, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.5, 70.5, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 405, 80, 100, 70, 50, 60, 45, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 75, false), - new PokemonSpecies(Species.MACHAMP, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.6, 130, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 75, false, true, - new PokemonForm("Normal", "", PokemonType.FIGHTING, null, 1.6, 130, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIGHTING, null, 25, 999.9, Abilities.GUTS, Abilities.GUTS, Abilities.GUTS, 605, 120, 170, 85, 75, 90, 65, 45, 50, 253), - ), - new PokemonSpecies(Species.BELLSPROUT, 1, false, false, false, "Flower Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.7, 4, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.GLUTTONY, 300, 50, 75, 35, 70, 30, 40, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.WEEPINBELL, 1, false, false, false, "Flycatcher Pokémon", PokemonType.GRASS, PokemonType.POISON, 1, 6.4, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.GLUTTONY, 390, 65, 90, 50, 85, 45, 55, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.VICTREEBEL, 1, false, false, false, "Flycatcher Pokémon", PokemonType.GRASS, PokemonType.POISON, 1.7, 15.5, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.GLUTTONY, 490, 80, 105, 65, 100, 70, 70, 45, 70, 245, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.TENTACOOL, 1, false, false, false, "Jellyfish Pokémon", PokemonType.WATER, PokemonType.POISON, 0.9, 45.5, Abilities.CLEAR_BODY, Abilities.LIQUID_OOZE, Abilities.RAIN_DISH, 335, 40, 40, 35, 50, 100, 70, 190, 50, 67, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.TENTACRUEL, 1, false, false, false, "Jellyfish Pokémon", PokemonType.WATER, PokemonType.POISON, 1.6, 55, Abilities.CLEAR_BODY, Abilities.LIQUID_OOZE, Abilities.RAIN_DISH, 515, 80, 70, 65, 80, 120, 100, 60, 50, 180, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.GEODUDE, 1, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.GROUND, 0.4, 20, Abilities.ROCK_HEAD, Abilities.STURDY, Abilities.SAND_VEIL, 300, 40, 80, 100, 30, 30, 20, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GRAVELER, 1, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.GROUND, 1, 105, Abilities.ROCK_HEAD, Abilities.STURDY, Abilities.SAND_VEIL, 390, 55, 95, 115, 45, 45, 35, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GOLEM, 1, false, false, false, "Megaton Pokémon", PokemonType.ROCK, PokemonType.GROUND, 1.4, 300, Abilities.ROCK_HEAD, Abilities.STURDY, Abilities.SAND_VEIL, 495, 80, 120, 130, 55, 65, 45, 45, 70, 248, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.PONYTA, 1, false, false, false, "Fire Horse Pokémon", PokemonType.FIRE, null, 1, 30, Abilities.RUN_AWAY, Abilities.FLASH_FIRE, Abilities.FLAME_BODY, 410, 50, 85, 55, 65, 65, 90, 190, 50, 82, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RAPIDASH, 1, false, false, false, "Fire Horse Pokémon", PokemonType.FIRE, null, 1.7, 95, Abilities.RUN_AWAY, Abilities.FLASH_FIRE, Abilities.FLAME_BODY, 500, 65, 100, 70, 80, 80, 105, 60, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SLOWPOKE, 1, false, false, false, "Dopey Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 1.2, 36, Abilities.OBLIVIOUS, Abilities.OWN_TEMPO, Abilities.REGENERATOR, 315, 90, 65, 65, 40, 40, 15, 190, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SLOWBRO, 1, false, false, false, "Hermit Crab Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 1.6, 78.5, Abilities.OBLIVIOUS, Abilities.OWN_TEMPO, Abilities.REGENERATOR, 490, 95, 75, 110, 100, 80, 30, 75, 50, 172, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.PSYCHIC, 1.6, 78.5, Abilities.OBLIVIOUS, Abilities.OWN_TEMPO, Abilities.REGENERATOR, 490, 95, 75, 110, 100, 80, 30, 75, 50, 172, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.PSYCHIC, 2, 120, Abilities.SHELL_ARMOR, Abilities.SHELL_ARMOR, Abilities.SHELL_ARMOR, 590, 95, 75, 180, 130, 80, 30, 75, 50, 172), - ), - new PokemonSpecies(Species.MAGNEMITE, 1, false, false, false, "Magnet Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 0.3, 6, Abilities.MAGNET_PULL, Abilities.STURDY, Abilities.ANALYTIC, 325, 25, 35, 70, 95, 55, 45, 190, 50, 65, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.MAGNETON, 1, false, false, false, "Magnet Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 1, 60, Abilities.MAGNET_PULL, Abilities.STURDY, Abilities.ANALYTIC, 465, 50, 60, 95, 120, 70, 70, 60, 50, 163, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.FARFETCHD, 1, false, false, false, "Wild Duck Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.8, 15, Abilities.KEEN_EYE, Abilities.INNER_FOCUS, Abilities.DEFIANT, 377, 52, 90, 55, 58, 62, 60, 45, 50, 132, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DODUO, 1, false, false, false, "Twin Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.4, 39.2, Abilities.RUN_AWAY, Abilities.EARLY_BIRD, Abilities.TANGLED_FEET, 310, 35, 85, 45, 35, 35, 75, 190, 70, 62, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.DODRIO, 1, false, false, false, "Triple Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.8, 85.2, Abilities.RUN_AWAY, Abilities.EARLY_BIRD, Abilities.TANGLED_FEET, 470, 60, 110, 70, 60, 60, 110, 45, 70, 165, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.SEEL, 1, false, false, false, "Sea Lion Pokémon", PokemonType.WATER, null, 1.1, 90, Abilities.THICK_FAT, Abilities.HYDRATION, Abilities.ICE_BODY, 325, 65, 45, 55, 45, 70, 45, 190, 70, 65, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DEWGONG, 1, false, false, false, "Sea Lion Pokémon", PokemonType.WATER, PokemonType.ICE, 1.7, 120, Abilities.THICK_FAT, Abilities.HYDRATION, Abilities.ICE_BODY, 475, 90, 70, 80, 70, 95, 70, 75, 70, 166, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GRIMER, 1, false, false, false, "Sludge Pokémon", PokemonType.POISON, null, 0.9, 30, Abilities.STENCH, Abilities.STICKY_HOLD, Abilities.POISON_TOUCH, 325, 80, 80, 50, 40, 50, 25, 190, 70, 65, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MUK, 1, false, false, false, "Sludge Pokémon", PokemonType.POISON, null, 1.2, 30, Abilities.STENCH, Abilities.STICKY_HOLD, Abilities.POISON_TOUCH, 500, 105, 105, 75, 65, 100, 50, 75, 70, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SHELLDER, 1, false, false, false, "Bivalve Pokémon", PokemonType.WATER, null, 0.3, 4, Abilities.SHELL_ARMOR, Abilities.SKILL_LINK, Abilities.OVERCOAT, 305, 30, 65, 100, 45, 25, 40, 190, 50, 61, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.CLOYSTER, 1, false, false, false, "Bivalve Pokémon", PokemonType.WATER, PokemonType.ICE, 1.5, 132.5, Abilities.SHELL_ARMOR, Abilities.SKILL_LINK, Abilities.OVERCOAT, 525, 50, 95, 180, 85, 45, 70, 60, 50, 184, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.GASTLY, 1, false, false, false, "Gas Pokémon", PokemonType.GHOST, PokemonType.POISON, 1.3, 0.1, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 310, 30, 35, 30, 100, 35, 80, 190, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.HAUNTER, 1, false, false, false, "Gas Pokémon", PokemonType.GHOST, PokemonType.POISON, 1.6, 0.1, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 405, 45, 50, 45, 115, 55, 95, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GENGAR, 1, false, false, false, "Shadow Pokémon", PokemonType.GHOST, PokemonType.POISON, 1.5, 40.5, Abilities.CURSED_BODY, Abilities.NONE, Abilities.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.GHOST, PokemonType.POISON, 1.5, 40.5, Abilities.CURSED_BODY, Abilities.NONE, Abilities.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GHOST, PokemonType.POISON, 1.4, 40.5, Abilities.SHADOW_TAG, Abilities.NONE, Abilities.NONE, 600, 60, 65, 80, 170, 95, 130, 45, 50, 250), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GHOST, PokemonType.POISON, 20, 999.9, Abilities.CURSED_BODY, Abilities.NONE, Abilities.NONE, 600, 140, 65, 70, 140, 85, 100, 45, 50, 250), - ), - new PokemonSpecies(Species.ONIX, 1, false, false, false, "Rock Snake Pokémon", PokemonType.ROCK, PokemonType.GROUND, 8.8, 210, Abilities.ROCK_HEAD, Abilities.STURDY, Abilities.WEAK_ARMOR, 385, 35, 45, 160, 30, 45, 70, 45, 50, 77, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DROWZEE, 1, false, false, false, "Hypnosis Pokémon", PokemonType.PSYCHIC, null, 1, 32.4, Abilities.INSOMNIA, Abilities.FOREWARN, Abilities.INNER_FOCUS, 328, 60, 48, 45, 43, 90, 42, 190, 70, 66, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HYPNO, 1, false, false, false, "Hypnosis Pokémon", PokemonType.PSYCHIC, null, 1.6, 75.6, Abilities.INSOMNIA, Abilities.FOREWARN, Abilities.INNER_FOCUS, 483, 85, 73, 70, 73, 115, 67, 75, 70, 169, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.KRABBY, 1, false, false, false, "River Crab Pokémon", PokemonType.WATER, null, 0.4, 6.5, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 325, 30, 105, 90, 25, 25, 50, 225, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.KINGLER, 1, false, false, false, "Pincer Pokémon", PokemonType.WATER, null, 1.3, 60, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, null, 1.3, 60, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 19, 999.9, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, 575, 92, 145, 140, 60, 65, 73, 60, 50, 166), - ), - new PokemonSpecies(Species.VOLTORB, 1, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, null, 0.5, 10.4, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 330, 40, 30, 50, 55, 55, 100, 190, 70, 66, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.ELECTRODE, 1, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, null, 1.2, 66.6, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 490, 60, 50, 70, 80, 80, 150, 60, 70, 172, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.EXEGGCUTE, 1, false, false, false, "Egg Pokémon", PokemonType.GRASS, PokemonType.PSYCHIC, 0.4, 2.5, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.HARVEST, 325, 60, 40, 80, 60, 45, 40, 90, 50, 65, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.EXEGGUTOR, 1, false, false, false, "Coconut Pokémon", PokemonType.GRASS, PokemonType.PSYCHIC, 2, 120, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.HARVEST, 530, 95, 95, 85, 125, 75, 55, 45, 50, 186, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.CUBONE, 1, false, false, false, "Lonely Pokémon", PokemonType.GROUND, null, 0.4, 6.5, Abilities.ROCK_HEAD, Abilities.LIGHTNING_ROD, Abilities.BATTLE_ARMOR, 320, 50, 50, 95, 40, 50, 35, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MAROWAK, 1, false, false, false, "Bone Keeper Pokémon", PokemonType.GROUND, null, 1, 45, Abilities.ROCK_HEAD, Abilities.LIGHTNING_ROD, Abilities.BATTLE_ARMOR, 425, 60, 80, 110, 50, 80, 45, 75, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HITMONLEE, 1, false, false, false, "Kicking Pokémon", PokemonType.FIGHTING, null, 1.5, 49.8, Abilities.LIMBER, Abilities.RECKLESS, Abilities.UNBURDEN, 455, 50, 120, 53, 35, 110, 87, 45, 50, 159, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.HITMONCHAN, 1, false, false, false, "Punching Pokémon", PokemonType.FIGHTING, null, 1.4, 50.2, Abilities.KEEN_EYE, Abilities.IRON_FIST, Abilities.INNER_FOCUS, 455, 50, 105, 79, 35, 110, 76, 45, 50, 159, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.LICKITUNG, 1, false, false, false, "Licking Pokémon", PokemonType.NORMAL, null, 1.2, 65.5, Abilities.OWN_TEMPO, Abilities.OBLIVIOUS, Abilities.CLOUD_NINE, 385, 90, 55, 75, 60, 75, 30, 45, 50, 77, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.KOFFING, 1, false, false, false, "Poison Gas Pokémon", PokemonType.POISON, null, 0.6, 1, Abilities.LEVITATE, Abilities.NEUTRALIZING_GAS, Abilities.STENCH, 340, 40, 65, 95, 60, 45, 35, 190, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WEEZING, 1, false, false, false, "Poison Gas Pokémon", PokemonType.POISON, null, 1.2, 9.5, Abilities.LEVITATE, Abilities.NEUTRALIZING_GAS, Abilities.STENCH, 490, 65, 90, 120, 85, 70, 60, 60, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RHYHORN, 1, false, false, false, "Spikes Pokémon", PokemonType.GROUND, PokemonType.ROCK, 1, 115, Abilities.LIGHTNING_ROD, Abilities.ROCK_HEAD, Abilities.RECKLESS, 345, 80, 85, 95, 30, 30, 25, 120, 50, 69, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.RHYDON, 1, false, false, false, "Drill Pokémon", PokemonType.GROUND, PokemonType.ROCK, 1.9, 120, Abilities.LIGHTNING_ROD, Abilities.ROCK_HEAD, Abilities.RECKLESS, 485, 105, 130, 120, 45, 45, 40, 60, 50, 170, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.CHANSEY, 1, false, false, false, "Egg Pokémon", PokemonType.NORMAL, null, 1.1, 34.6, Abilities.NATURAL_CURE, Abilities.SERENE_GRACE, Abilities.HEALER, 450, 250, 5, 5, 35, 105, 50, 30, 140, 395, GrowthRate.FAST, 0, false), - new PokemonSpecies(Species.TANGELA, 1, false, false, false, "Vine Pokémon", PokemonType.GRASS, null, 1, 35, Abilities.CHLOROPHYLL, Abilities.LEAF_GUARD, Abilities.REGENERATOR, 435, 65, 55, 115, 100, 40, 60, 45, 50, 87, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.KANGASKHAN, 1, false, false, false, "Parent Pokémon", PokemonType.NORMAL, null, 2.2, 80, Abilities.EARLY_BIRD, Abilities.SCRAPPY, Abilities.INNER_FOCUS, 490, 105, 95, 80, 40, 80, 90, 45, 50, 172, GrowthRate.MEDIUM_FAST, 0, false, true, - new PokemonForm("Normal", "", PokemonType.NORMAL, null, 2.2, 80, Abilities.EARLY_BIRD, Abilities.SCRAPPY, Abilities.INNER_FOCUS, 490, 105, 95, 80, 40, 80, 90, 45, 50, 172, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, null, 2.2, 100, Abilities.PARENTAL_BOND, Abilities.PARENTAL_BOND, Abilities.PARENTAL_BOND, 590, 105, 125, 100, 60, 100, 100, 45, 50, 172), - ), - new PokemonSpecies(Species.HORSEA, 1, false, false, false, "Dragon Pokémon", PokemonType.WATER, null, 0.4, 8, Abilities.SWIFT_SWIM, Abilities.SNIPER, Abilities.DAMP, 295, 30, 40, 70, 70, 25, 60, 225, 50, 59, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SEADRA, 1, false, false, false, "Dragon Pokémon", PokemonType.WATER, null, 1.2, 25, Abilities.POISON_POINT, Abilities.SNIPER, Abilities.DAMP, 440, 55, 65, 95, 95, 45, 85, 75, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GOLDEEN, 1, false, false, false, "Goldfish Pokémon", PokemonType.WATER, null, 0.6, 15, Abilities.SWIFT_SWIM, Abilities.WATER_VEIL, Abilities.LIGHTNING_ROD, 320, 45, 67, 60, 35, 50, 63, 225, 50, 64, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.SEAKING, 1, false, false, false, "Goldfish Pokémon", PokemonType.WATER, null, 1.3, 39, Abilities.SWIFT_SWIM, Abilities.WATER_VEIL, Abilities.LIGHTNING_ROD, 450, 80, 92, 65, 65, 80, 68, 60, 50, 158, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.STARYU, 1, false, false, false, "Star Shape Pokémon", PokemonType.WATER, null, 0.8, 34.5, Abilities.ILLUMINATE, Abilities.NATURAL_CURE, Abilities.ANALYTIC, 340, 30, 45, 55, 70, 55, 85, 225, 50, 68, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.STARMIE, 1, false, false, false, "Mysterious Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 1.1, 80, Abilities.ILLUMINATE, Abilities.NATURAL_CURE, Abilities.ANALYTIC, 520, 60, 75, 85, 100, 85, 115, 60, 50, 182, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.MR_MIME, 1, false, false, false, "Barrier Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.3, 54.5, Abilities.SOUNDPROOF, Abilities.FILTER, Abilities.TECHNICIAN, 460, 40, 45, 65, 100, 120, 90, 45, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SCYTHER, 1, false, false, false, "Mantis Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.5, 56, Abilities.SWARM, Abilities.TECHNICIAN, Abilities.STEADFAST, 500, 70, 110, 80, 55, 80, 105, 45, 50, 100, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.JYNX, 1, false, false, false, "Human Shape Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 1.4, 40.6, Abilities.OBLIVIOUS, Abilities.FOREWARN, Abilities.DRY_SKIN, 455, 65, 50, 35, 115, 95, 95, 45, 50, 159, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.ELECTABUZZ, 1, false, false, false, "Electric Pokémon", PokemonType.ELECTRIC, null, 1.1, 30, Abilities.STATIC, Abilities.NONE, Abilities.VITAL_SPIRIT, 490, 65, 83, 57, 95, 85, 105, 45, 50, 172, GrowthRate.MEDIUM_FAST, 75, false), - new PokemonSpecies(Species.MAGMAR, 1, false, false, false, "Spitfire Pokémon", PokemonType.FIRE, null, 1.3, 44.5, Abilities.FLAME_BODY, Abilities.NONE, Abilities.VITAL_SPIRIT, 495, 65, 95, 57, 100, 85, 93, 45, 50, 173, GrowthRate.MEDIUM_FAST, 75, false), - new PokemonSpecies(Species.PINSIR, 1, false, false, false, "Stag Beetle Pokémon", PokemonType.BUG, null, 1.5, 55, Abilities.HYPER_CUTTER, Abilities.MOLD_BREAKER, Abilities.MOXIE, 500, 65, 125, 100, 55, 70, 85, 45, 50, 175, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.BUG, null, 1.5, 55, Abilities.HYPER_CUTTER, Abilities.MOLD_BREAKER, Abilities.MOXIE, 500, 65, 125, 100, 55, 70, 85, 45, 50, 175, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.FLYING, 1.7, 59, Abilities.AERILATE, Abilities.AERILATE, Abilities.AERILATE, 600, 65, 155, 120, 65, 90, 105, 45, 50, 175), - ), - new PokemonSpecies(Species.TAUROS, 1, false, false, false, "Wild Bull Pokémon", PokemonType.NORMAL, null, 1.4, 88.4, Abilities.INTIMIDATE, Abilities.ANGER_POINT, Abilities.SHEER_FORCE, 490, 75, 100, 95, 40, 70, 110, 45, 50, 172, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.MAGIKARP, 1, false, false, false, "Fish Pokémon", PokemonType.WATER, null, 0.9, 10, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.RATTLED, 200, 20, 10, 55, 15, 20, 80, 255, 50, 40, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.GYARADOS, 1, false, false, false, "Atrocious Pokémon", PokemonType.WATER, PokemonType.FLYING, 6.5, 235, Abilities.INTIMIDATE, Abilities.NONE, Abilities.MOXIE, 540, 95, 125, 79, 60, 100, 81, 45, 50, 189, GrowthRate.SLOW, 50, true, true, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.FLYING, 6.5, 235, Abilities.INTIMIDATE, Abilities.NONE, Abilities.MOXIE, 540, 95, 125, 79, 60, 100, 81, 45, 50, 189, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.DARK, 6.5, 305, Abilities.MOLD_BREAKER, Abilities.MOLD_BREAKER, Abilities.MOLD_BREAKER, 640, 95, 155, 109, 70, 130, 81, 45, 50, 189, true), - ), - new PokemonSpecies(Species.LAPRAS, 1, false, false, false, "Transport Pokémon", PokemonType.WATER, PokemonType.ICE, 2.5, 220, Abilities.WATER_ABSORB, Abilities.SHELL_ARMOR, Abilities.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.ICE, 2.5, 220, Abilities.WATER_ABSORB, Abilities.SHELL_ARMOR, Abilities.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ICE, 24, 999.9, Abilities.SHIELD_DUST, Abilities.SHIELD_DUST, Abilities.SHIELD_DUST, 635, 170, 97, 85, 107, 111, 65, 45, 50, 187), - ), - new PokemonSpecies(Species.DITTO, 1, false, false, false, "Transform Pokémon", PokemonType.NORMAL, null, 0.3, 4, Abilities.LIMBER, Abilities.NONE, Abilities.IMPOSTER, 288, 48, 48, 48, 48, 48, 48, 35, 50, 101, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.EEVEE, 1, false, false, false, "Evolution Pokémon", PokemonType.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, GrowthRate.MEDIUM_FAST, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, false, null, true), - new PokemonForm("Partner", "partner", PokemonType.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 435, 65, 75, 70, 65, 85, 75, 45, 50, 65, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 18, 999.9, Abilities.PROTEAN, Abilities.PROTEAN, Abilities.PROTEAN, 535, 110, 95, 70, 90, 85, 85, 45, 50, 65), //+100 BST from Partner Form - ), - new PokemonSpecies(Species.VAPOREON, 1, false, false, false, "Bubble Jet Pokémon", PokemonType.WATER, null, 1, 29, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.HYDRATION, 525, 130, 65, 60, 110, 95, 65, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.JOLTEON, 1, false, false, false, "Lightning Pokémon", PokemonType.ELECTRIC, null, 0.8, 24.5, Abilities.VOLT_ABSORB, Abilities.NONE, Abilities.QUICK_FEET, 525, 65, 65, 60, 110, 95, 130, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.FLAREON, 1, false, false, false, "Flame Pokémon", PokemonType.FIRE, null, 0.9, 25, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.GUTS, 525, 65, 130, 60, 95, 110, 65, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.PORYGON, 1, false, false, false, "Virtual Pokémon", PokemonType.NORMAL, null, 0.8, 36.5, Abilities.TRACE, Abilities.DOWNLOAD, Abilities.ANALYTIC, 395, 65, 60, 70, 85, 75, 40, 45, 50, 79, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.OMANYTE, 1, false, false, false, "Spiral Pokémon", PokemonType.ROCK, PokemonType.WATER, 0.4, 7.5, Abilities.SWIFT_SWIM, Abilities.SHELL_ARMOR, Abilities.WEAK_ARMOR, 355, 35, 40, 100, 90, 55, 35, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.OMASTAR, 1, false, false, false, "Spiral Pokémon", PokemonType.ROCK, PokemonType.WATER, 1, 35, Abilities.SWIFT_SWIM, Abilities.SHELL_ARMOR, Abilities.WEAK_ARMOR, 495, 70, 60, 125, 115, 70, 55, 45, 50, 173, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.KABUTO, 1, false, false, false, "Shellfish Pokémon", PokemonType.ROCK, PokemonType.WATER, 0.5, 11.5, Abilities.SWIFT_SWIM, Abilities.BATTLE_ARMOR, Abilities.WEAK_ARMOR, 355, 30, 80, 90, 55, 45, 55, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.KABUTOPS, 1, false, false, false, "Shellfish Pokémon", PokemonType.ROCK, PokemonType.WATER, 1.3, 40.5, Abilities.SWIFT_SWIM, Abilities.BATTLE_ARMOR, Abilities.WEAK_ARMOR, 495, 60, 115, 105, 65, 70, 80, 45, 50, 173, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.AERODACTYL, 1, false, false, false, "Fossil Pokémon", PokemonType.ROCK, PokemonType.FLYING, 1.8, 59, Abilities.ROCK_HEAD, Abilities.PRESSURE, Abilities.UNNERVE, 515, 80, 105, 65, 60, 75, 130, 45, 50, 180, GrowthRate.SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.FLYING, 1.8, 59, Abilities.ROCK_HEAD, Abilities.PRESSURE, Abilities.UNNERVE, 515, 80, 105, 65, 60, 75, 130, 45, 50, 180, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ROCK, PokemonType.FLYING, 2.1, 79, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, 615, 80, 135, 85, 70, 95, 150, 45, 50, 180), - ), - new PokemonSpecies(Species.SNORLAX, 1, false, false, false, "Sleeping Pokémon", PokemonType.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 35, 999.9, Abilities.HARVEST, Abilities.HARVEST, Abilities.HARVEST, 640, 210, 135, 70, 90, 115, 20, 25, 50, 189), - ), - new PokemonSpecies(Species.ARTICUNO, 1, true, false, false, "Freeze Pokémon", PokemonType.ICE, PokemonType.FLYING, 1.7, 55.4, Abilities.PRESSURE, Abilities.NONE, Abilities.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ZAPDOS, 1, true, false, false, "Electric Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.6, 52.6, Abilities.PRESSURE, Abilities.NONE, Abilities.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.MOLTRES, 1, true, false, false, "Flame Pokémon", PokemonType.FIRE, PokemonType.FLYING, 2, 60, Abilities.PRESSURE, Abilities.NONE, Abilities.FLAME_BODY, 580, 90, 100, 90, 125, 85, 90, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.DRATINI, 1, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, null, 1.8, 3.3, Abilities.SHED_SKIN, Abilities.NONE, Abilities.MARVEL_SCALE, 300, 41, 64, 45, 50, 50, 50, 45, 35, 60, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.DRAGONAIR, 1, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, null, 4, 16.5, Abilities.SHED_SKIN, Abilities.NONE, Abilities.MARVEL_SCALE, 420, 61, 84, 65, 70, 70, 70, 45, 35, 147, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.DRAGONITE, 1, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 2.2, 210, Abilities.INNER_FOCUS, Abilities.NONE, Abilities.MULTISCALE, 600, 91, 134, 95, 100, 100, 80, 45, 35, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.MEWTWO, 1, false, true, false, "Genetic Pokémon", PokemonType.PSYCHIC, null, 2, 122, Abilities.PRESSURE, Abilities.NONE, Abilities.UNNERVE, 680, 106, 110, 90, 154, 90, 130, 3, 0, 340, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.PSYCHIC, null, 2, 122, Abilities.PRESSURE, Abilities.NONE, Abilities.UNNERVE, 680, 106, 110, 90, 154, 90, 130, 3, 0, 340, false, null, true), - new PokemonForm("Mega X", SpeciesFormKey.MEGA_X, PokemonType.PSYCHIC, PokemonType.FIGHTING, 2.3, 127, Abilities.STEADFAST, Abilities.NONE, Abilities.STEADFAST, 780, 106, 190, 100, 154, 100, 130, 3, 0, 340), - new PokemonForm("Mega Y", SpeciesFormKey.MEGA_Y, PokemonType.PSYCHIC, null, 1.5, 33, Abilities.INSOMNIA, Abilities.NONE, Abilities.INSOMNIA, 780, 106, 150, 70, 194, 120, 140, 3, 0, 340), - ), - new PokemonSpecies(Species.MEW, 1, false, false, true, "New Species Pokémon", PokemonType.PSYCHIC, null, 0.4, 4, Abilities.SYNCHRONIZE, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, GrowthRate.MEDIUM_SLOW, null, false), - new PokemonSpecies(Species.CHIKORITA, 2, false, false, false, "Leaf Pokémon", PokemonType.GRASS, null, 0.9, 6.4, Abilities.OVERGROW, Abilities.NONE, Abilities.LEAF_GUARD, 318, 45, 49, 65, 49, 65, 45, 45, 70, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.BAYLEEF, 2, false, false, false, "Leaf Pokémon", PokemonType.GRASS, null, 1.2, 15.8, Abilities.OVERGROW, Abilities.NONE, Abilities.LEAF_GUARD, 405, 60, 62, 80, 63, 80, 60, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.MEGANIUM, 2, false, false, false, "Herb Pokémon", PokemonType.GRASS, null, 1.8, 100.5, Abilities.OVERGROW, Abilities.NONE, Abilities.LEAF_GUARD, 525, 80, 82, 100, 83, 100, 80, 45, 70, 263, GrowthRate.MEDIUM_SLOW, 87.5, true), - new PokemonSpecies(Species.CYNDAQUIL, 2, false, false, false, "Fire Mouse Pokémon", PokemonType.FIRE, null, 0.5, 7.9, Abilities.BLAZE, Abilities.NONE, Abilities.FLASH_FIRE, 309, 39, 52, 43, 60, 50, 65, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.QUILAVA, 2, false, false, false, "Volcano Pokémon", PokemonType.FIRE, null, 0.9, 19, Abilities.BLAZE, Abilities.NONE, Abilities.FLASH_FIRE, 405, 58, 64, 58, 80, 65, 80, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.TYPHLOSION, 2, false, false, false, "Volcano Pokémon", PokemonType.FIRE, null, 1.7, 79.5, Abilities.BLAZE, Abilities.NONE, Abilities.FLASH_FIRE, 534, 78, 84, 78, 109, 85, 100, 45, 70, 267, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.TOTODILE, 2, false, false, false, "Big Jaw Pokémon", PokemonType.WATER, null, 0.6, 9.5, Abilities.TORRENT, Abilities.NONE, Abilities.SHEER_FORCE, 314, 50, 65, 64, 44, 48, 43, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.CROCONAW, 2, false, false, false, "Big Jaw Pokémon", PokemonType.WATER, null, 1.1, 25, Abilities.TORRENT, Abilities.NONE, Abilities.SHEER_FORCE, 405, 65, 80, 80, 59, 63, 58, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.FERALIGATR, 2, false, false, false, "Big Jaw Pokémon", PokemonType.WATER, null, 2.3, 88.8, Abilities.TORRENT, Abilities.NONE, Abilities.SHEER_FORCE, 530, 85, 105, 100, 79, 83, 78, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.SENTRET, 2, false, false, false, "Scout Pokémon", PokemonType.NORMAL, null, 0.8, 6, Abilities.RUN_AWAY, Abilities.KEEN_EYE, Abilities.FRISK, 215, 35, 46, 34, 35, 45, 20, 255, 70, 43, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FURRET, 2, false, false, false, "Long Body Pokémon", PokemonType.NORMAL, null, 1.8, 32.5, Abilities.RUN_AWAY, Abilities.KEEN_EYE, Abilities.FRISK, 415, 85, 76, 64, 45, 55, 90, 90, 70, 145, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HOOTHOOT, 2, false, false, false, "Owl Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.7, 21.2, Abilities.INSOMNIA, Abilities.KEEN_EYE, Abilities.TINTED_LENS, 262, 60, 30, 30, 36, 56, 50, 255, 50, 52, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.NOCTOWL, 2, false, false, false, "Owl Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.6, 40.8, Abilities.INSOMNIA, Abilities.KEEN_EYE, Abilities.TINTED_LENS, 452, 100, 50, 50, 86, 96, 70, 90, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LEDYBA, 2, false, false, false, "Five Star Pokémon", PokemonType.BUG, PokemonType.FLYING, 1, 10.8, Abilities.SWARM, Abilities.EARLY_BIRD, Abilities.RATTLED, 265, 40, 20, 30, 40, 80, 55, 255, 70, 53, GrowthRate.FAST, 50, true), - new PokemonSpecies(Species.LEDIAN, 2, false, false, false, "Five Star Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.4, 35.6, Abilities.SWARM, Abilities.EARLY_BIRD, Abilities.IRON_FIST, 390, 55, 35, 50, 55, 110, 85, 90, 70, 137, GrowthRate.FAST, 50, true), - new PokemonSpecies(Species.SPINARAK, 2, false, false, false, "String Spit Pokémon", PokemonType.BUG, PokemonType.POISON, 0.5, 8.5, Abilities.SWARM, Abilities.INSOMNIA, Abilities.SNIPER, 250, 40, 60, 40, 40, 40, 30, 255, 70, 50, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.ARIADOS, 2, false, false, false, "Long Leg Pokémon", PokemonType.BUG, PokemonType.POISON, 1.1, 33.5, Abilities.SWARM, Abilities.INSOMNIA, Abilities.SNIPER, 400, 70, 90, 70, 60, 70, 40, 90, 70, 140, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.CROBAT, 2, false, false, false, "Bat Pokémon", PokemonType.POISON, PokemonType.FLYING, 1.8, 75, Abilities.INNER_FOCUS, Abilities.NONE, Abilities.INFILTRATOR, 535, 85, 90, 80, 70, 80, 130, 90, 50, 268, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CHINCHOU, 2, false, false, false, "Angler Pokémon", PokemonType.WATER, PokemonType.ELECTRIC, 0.5, 12, Abilities.VOLT_ABSORB, Abilities.ILLUMINATE, Abilities.WATER_ABSORB, 330, 75, 38, 38, 56, 56, 67, 190, 50, 66, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.LANTURN, 2, false, false, false, "Light Pokémon", PokemonType.WATER, PokemonType.ELECTRIC, 1.2, 22.5, Abilities.VOLT_ABSORB, Abilities.ILLUMINATE, Abilities.WATER_ABSORB, 460, 125, 58, 58, 76, 76, 67, 75, 50, 161, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.PICHU, 2, false, false, false, "Tiny Mouse Pokémon", PokemonType.ELECTRIC, null, 0.3, 2, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 205, 20, 40, 15, 35, 35, 60, 190, 70, 41, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 1.4, 2, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 205, 20, 40, 15, 35, 35, 60, 190, 70, 41, false, null, true), - new PokemonForm("Spiky-Eared", "spiky", PokemonType.ELECTRIC, null, 1.4, 2, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 205, 20, 40, 15, 35, 35, 60, 190, 70, 41, false, null, true), - ), - new PokemonSpecies(Species.CLEFFA, 2, false, false, false, "Star Shape Pokémon", PokemonType.FAIRY, null, 0.3, 3, Abilities.CUTE_CHARM, Abilities.MAGIC_GUARD, Abilities.FRIEND_GUARD, 218, 50, 25, 28, 45, 55, 15, 150, 140, 44, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.IGGLYBUFF, 2, false, false, false, "Balloon Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 0.3, 1, Abilities.CUTE_CHARM, Abilities.COMPETITIVE, Abilities.FRIEND_GUARD, 210, 90, 30, 15, 40, 20, 15, 170, 50, 42, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.TOGEPI, 2, false, false, false, "Spike Ball Pokémon", PokemonType.FAIRY, null, 0.3, 1.5, Abilities.HUSTLE, Abilities.SERENE_GRACE, Abilities.SUPER_LUCK, 245, 35, 20, 65, 40, 65, 20, 190, 50, 49, GrowthRate.FAST, 87.5, false), - new PokemonSpecies(Species.TOGETIC, 2, false, false, false, "Happiness Pokémon", PokemonType.FAIRY, PokemonType.FLYING, 0.6, 3.2, Abilities.HUSTLE, Abilities.SERENE_GRACE, Abilities.SUPER_LUCK, 405, 55, 40, 85, 80, 105, 40, 75, 50, 142, GrowthRate.FAST, 87.5, false), - new PokemonSpecies(Species.NATU, 2, false, false, false, "Tiny Bird Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 0.2, 2, Abilities.SYNCHRONIZE, Abilities.EARLY_BIRD, Abilities.MAGIC_BOUNCE, 320, 40, 50, 45, 70, 45, 70, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.XATU, 2, false, false, false, "Mystic Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.5, 15, Abilities.SYNCHRONIZE, Abilities.EARLY_BIRD, Abilities.MAGIC_BOUNCE, 470, 65, 75, 70, 95, 70, 95, 75, 50, 165, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.MAREEP, 2, false, false, false, "Wool Pokémon", PokemonType.ELECTRIC, null, 0.6, 7.8, Abilities.STATIC, Abilities.NONE, Abilities.PLUS, 280, 55, 40, 40, 65, 45, 35, 235, 70, 56, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.FLAAFFY, 2, false, false, false, "Wool Pokémon", PokemonType.ELECTRIC, null, 0.8, 13.3, Abilities.STATIC, Abilities.NONE, Abilities.PLUS, 365, 70, 55, 55, 80, 60, 45, 120, 70, 128, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.AMPHAROS, 2, false, false, false, "Light Pokémon", PokemonType.ELECTRIC, null, 1.4, 61.5, Abilities.STATIC, Abilities.NONE, Abilities.PLUS, 510, 90, 75, 85, 115, 90, 55, 45, 70, 255, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 1.4, 61.5, Abilities.STATIC, Abilities.NONE, Abilities.PLUS, 510, 90, 75, 85, 115, 90, 55, 45, 70, 255, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ELECTRIC, PokemonType.DRAGON, 1.4, 61.5, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.MOLD_BREAKER, 610, 90, 95, 105, 165, 110, 45, 45, 70, 255), - ), - new PokemonSpecies(Species.BELLOSSOM, 2, false, false, false, "Flower Pokémon", PokemonType.GRASS, null, 0.4, 5.8, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.HEALER, 490, 75, 80, 95, 90, 100, 50, 45, 50, 245, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.MARILL, 2, false, false, false, "Aqua Mouse Pokémon", PokemonType.WATER, PokemonType.FAIRY, 0.4, 8.5, Abilities.THICK_FAT, Abilities.HUGE_POWER, Abilities.SAP_SIPPER, 250, 70, 20, 50, 20, 50, 40, 190, 50, 88, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.AZUMARILL, 2, false, false, false, "Aqua Rabbit Pokémon", PokemonType.WATER, PokemonType.FAIRY, 0.8, 28.5, Abilities.THICK_FAT, Abilities.HUGE_POWER, Abilities.SAP_SIPPER, 420, 100, 50, 80, 60, 80, 50, 75, 50, 210, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.SUDOWOODO, 2, false, false, false, "Imitation Pokémon", PokemonType.ROCK, null, 1.2, 38, Abilities.STURDY, Abilities.ROCK_HEAD, Abilities.RATTLED, 410, 70, 100, 115, 30, 65, 30, 65, 50, 144, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.POLITOED, 2, false, false, false, "Frog Pokémon", PokemonType.WATER, null, 1.1, 33.9, Abilities.WATER_ABSORB, Abilities.DAMP, Abilities.DRIZZLE, 500, 90, 75, 75, 90, 100, 70, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.HOPPIP, 2, false, false, false, "Cottonweed Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.4, 0.5, Abilities.CHLOROPHYLL, Abilities.LEAF_GUARD, Abilities.INFILTRATOR, 250, 35, 35, 40, 35, 55, 50, 255, 70, 50, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SKIPLOOM, 2, false, false, false, "Cottonweed Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.6, 1, Abilities.CHLOROPHYLL, Abilities.LEAF_GUARD, Abilities.INFILTRATOR, 340, 55, 45, 50, 45, 65, 80, 120, 70, 119, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.JUMPLUFF, 2, false, false, false, "Cottonweed Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.8, 3, Abilities.CHLOROPHYLL, Abilities.LEAF_GUARD, Abilities.INFILTRATOR, 460, 75, 55, 70, 55, 95, 110, 45, 70, 230, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.AIPOM, 2, false, false, false, "Long Tail Pokémon", PokemonType.NORMAL, null, 0.8, 11.5, Abilities.RUN_AWAY, Abilities.PICKUP, Abilities.SKILL_LINK, 360, 55, 70, 55, 40, 55, 85, 45, 70, 72, GrowthRate.FAST, 50, true), - new PokemonSpecies(Species.SUNKERN, 2, false, false, false, "Seed Pokémon", PokemonType.GRASS, null, 0.3, 1.8, Abilities.CHLOROPHYLL, Abilities.SOLAR_POWER, Abilities.EARLY_BIRD, 180, 30, 30, 30, 30, 30, 30, 235, 70, 36, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SUNFLORA, 2, false, false, false, "Sun Pokémon", PokemonType.GRASS, null, 0.8, 8.5, Abilities.CHLOROPHYLL, Abilities.SOLAR_POWER, Abilities.EARLY_BIRD, 425, 75, 75, 55, 105, 85, 30, 120, 70, 149, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.YANMA, 2, false, false, false, "Clear Wing Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.2, 38, Abilities.SPEED_BOOST, Abilities.COMPOUND_EYES, Abilities.FRISK, 390, 65, 65, 45, 75, 45, 95, 75, 70, 78, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WOOPER, 2, false, false, false, "Water Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.4, 8.5, Abilities.DAMP, Abilities.WATER_ABSORB, Abilities.UNAWARE, 210, 55, 45, 45, 25, 25, 15, 255, 50, 42, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.QUAGSIRE, 2, false, false, false, "Water Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 1.4, 75, Abilities.DAMP, Abilities.WATER_ABSORB, Abilities.UNAWARE, 430, 95, 85, 85, 65, 65, 35, 90, 50, 151, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.ESPEON, 2, false, false, false, "Sun Pokémon", PokemonType.PSYCHIC, null, 0.9, 26.5, Abilities.SYNCHRONIZE, Abilities.NONE, Abilities.MAGIC_BOUNCE, 525, 65, 65, 60, 130, 95, 110, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.UMBREON, 2, false, false, false, "Moonlight Pokémon", PokemonType.DARK, null, 1, 27, Abilities.SYNCHRONIZE, Abilities.NONE, Abilities.INNER_FOCUS, 525, 95, 65, 110, 60, 130, 65, 45, 35, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.MURKROW, 2, false, false, false, "Darkness Pokémon", PokemonType.DARK, PokemonType.FLYING, 0.5, 2.1, Abilities.INSOMNIA, Abilities.SUPER_LUCK, Abilities.PRANKSTER, 405, 60, 85, 42, 85, 42, 91, 30, 35, 81, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.SLOWKING, 2, false, false, false, "Royal Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 2, 79.5, Abilities.OBLIVIOUS, Abilities.OWN_TEMPO, Abilities.REGENERATOR, 490, 95, 75, 80, 100, 110, 30, 70, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MISDREAVUS, 2, false, false, false, "Screech Pokémon", PokemonType.GHOST, null, 0.7, 1, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 435, 60, 60, 60, 85, 85, 85, 45, 35, 87, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.UNOWN, 2, false, false, false, "Symbol Pokémon", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, GrowthRate.MEDIUM_FAST, null, false, false, - new PokemonForm("A", "a", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("B", "b", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("C", "c", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("D", "d", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("E", "e", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("F", "f", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("G", "g", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("H", "h", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("I", "i", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("J", "j", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("K", "k", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("L", "l", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("M", "m", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("N", "n", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("O", "o", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("P", "p", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("Q", "q", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("R", "r", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("S", "s", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("T", "t", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("U", "u", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("V", "v", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("W", "w", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("X", "x", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("Y", "y", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("Z", "z", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("!", "exclamation", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - new PokemonForm("?", "question", PokemonType.PSYCHIC, null, 0.5, 5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), - ), - new PokemonSpecies(Species.WOBBUFFET, 2, false, false, false, "Patient Pokémon", PokemonType.PSYCHIC, null, 1.3, 28.5, Abilities.SHADOW_TAG, Abilities.NONE, Abilities.TELEPATHY, 405, 190, 33, 58, 33, 58, 33, 45, 50, 142, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.GIRAFARIG, 2, false, false, false, "Long Neck Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 1.5, 41.5, Abilities.INNER_FOCUS, Abilities.EARLY_BIRD, Abilities.SAP_SIPPER, 455, 70, 80, 65, 90, 65, 85, 60, 70, 159, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.PINECO, 2, false, false, false, "Bagworm Pokémon", PokemonType.BUG, null, 0.6, 7.2, Abilities.STURDY, Abilities.NONE, Abilities.OVERCOAT, 290, 50, 65, 90, 35, 35, 15, 190, 70, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FORRETRESS, 2, false, false, false, "Bagworm Pokémon", PokemonType.BUG, PokemonType.STEEL, 1.2, 125.8, Abilities.STURDY, Abilities.NONE, Abilities.OVERCOAT, 465, 75, 90, 140, 60, 60, 40, 75, 70, 163, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DUNSPARCE, 2, false, false, false, "Land Snake Pokémon", PokemonType.NORMAL, null, 1.5, 14, Abilities.SERENE_GRACE, Abilities.RUN_AWAY, Abilities.RATTLED, 415, 100, 70, 70, 65, 65, 45, 190, 50, 145, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GLIGAR, 2, false, false, false, "Fly Scorpion Pokémon", PokemonType.GROUND, PokemonType.FLYING, 1.1, 64.8, Abilities.HYPER_CUTTER, Abilities.SAND_VEIL, Abilities.IMMUNITY, 430, 65, 75, 105, 35, 65, 85, 60, 70, 86, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.STEELIX, 2, false, false, false, "Iron Snake Pokémon", PokemonType.STEEL, PokemonType.GROUND, 9.2, 400, Abilities.ROCK_HEAD, Abilities.STURDY, Abilities.SHEER_FORCE, 510, 75, 85, 200, 55, 65, 30, 25, 50, 179, GrowthRate.MEDIUM_FAST, 50, true, true, - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.GROUND, 9.2, 400, Abilities.ROCK_HEAD, Abilities.STURDY, Abilities.SHEER_FORCE, 510, 75, 85, 200, 55, 65, 30, 25, 50, 179, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, PokemonType.GROUND, 10.5, 740, Abilities.SAND_FORCE, Abilities.SAND_FORCE, Abilities.SAND_FORCE, 610, 75, 125, 230, 55, 95, 30, 25, 50, 179, true), - ), - new PokemonSpecies(Species.SNUBBULL, 2, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 0.6, 7.8, Abilities.INTIMIDATE, Abilities.RUN_AWAY, Abilities.RATTLED, 300, 60, 80, 50, 40, 40, 30, 190, 70, 60, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.GRANBULL, 2, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 1.4, 48.7, Abilities.INTIMIDATE, Abilities.QUICK_FEET, Abilities.RATTLED, 450, 90, 120, 75, 60, 60, 45, 75, 70, 158, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.QWILFISH, 2, false, false, false, "Balloon Pokémon", PokemonType.WATER, PokemonType.POISON, 0.5, 3.9, Abilities.POISON_POINT, Abilities.SWIFT_SWIM, Abilities.INTIMIDATE, 440, 65, 95, 85, 55, 55, 85, 45, 50, 88, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SCIZOR, 2, false, false, false, "Pincer Pokémon", PokemonType.BUG, PokemonType.STEEL, 1.8, 118, Abilities.SWARM, Abilities.TECHNICIAN, Abilities.LIGHT_METAL, 500, 70, 130, 100, 55, 80, 65, 25, 50, 175, GrowthRate.MEDIUM_FAST, 50, true, true, - new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.STEEL, 1.8, 118, Abilities.SWARM, Abilities.TECHNICIAN, Abilities.LIGHT_METAL, 500, 70, 130, 100, 55, 80, 65, 25, 50, 175, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.STEEL, 2, 125, Abilities.TECHNICIAN, Abilities.TECHNICIAN, Abilities.TECHNICIAN, 600, 70, 150, 140, 65, 100, 75, 25, 50, 175, true), - ), - new PokemonSpecies(Species.SHUCKLE, 2, false, false, false, "Mold Pokémon", PokemonType.BUG, PokemonType.ROCK, 0.6, 20.5, Abilities.STURDY, Abilities.GLUTTONY, Abilities.CONTRARY, 505, 20, 10, 230, 10, 230, 5, 190, 50, 177, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.HERACROSS, 2, false, false, false, "Single Horn Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 1.5, 54, Abilities.SWARM, Abilities.GUTS, Abilities.MOXIE, 500, 80, 125, 75, 40, 95, 85, 45, 50, 175, GrowthRate.SLOW, 50, true, true, - new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.FIGHTING, 1.5, 54, Abilities.SWARM, Abilities.GUTS, Abilities.MOXIE, 500, 80, 125, 75, 40, 95, 85, 45, 50, 175, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.FIGHTING, 1.7, 62.5, Abilities.SKILL_LINK, Abilities.SKILL_LINK, Abilities.SKILL_LINK, 600, 80, 185, 115, 40, 105, 75, 45, 50, 175, true), - ), - new PokemonSpecies(Species.SNEASEL, 2, false, false, false, "Sharp Claw Pokémon", PokemonType.DARK, PokemonType.ICE, 0.9, 28, Abilities.INNER_FOCUS, Abilities.KEEN_EYE, Abilities.PICKPOCKET, 430, 55, 95, 55, 35, 75, 115, 60, 35, 86, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.TEDDIURSA, 2, false, false, false, "Little Bear Pokémon", PokemonType.NORMAL, null, 0.6, 8.8, Abilities.PICKUP, Abilities.QUICK_FEET, Abilities.HONEY_GATHER, 330, 60, 80, 50, 50, 50, 40, 120, 70, 66, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.URSARING, 2, false, false, false, "Hibernator Pokémon", PokemonType.NORMAL, null, 1.8, 125.8, Abilities.GUTS, Abilities.QUICK_FEET, Abilities.UNNERVE, 500, 90, 130, 75, 75, 75, 55, 60, 70, 175, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.SLUGMA, 2, false, false, false, "Lava Pokémon", PokemonType.FIRE, null, 0.7, 35, Abilities.MAGMA_ARMOR, Abilities.FLAME_BODY, Abilities.WEAK_ARMOR, 250, 40, 40, 40, 70, 40, 20, 190, 70, 50, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MAGCARGO, 2, false, false, false, "Lava Pokémon", PokemonType.FIRE, PokemonType.ROCK, 0.8, 55, Abilities.MAGMA_ARMOR, Abilities.FLAME_BODY, Abilities.WEAK_ARMOR, 430, 60, 50, 120, 90, 80, 30, 75, 70, 151, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SWINUB, 2, false, false, false, "Pig Pokémon", PokemonType.ICE, PokemonType.GROUND, 0.4, 6.5, Abilities.OBLIVIOUS, Abilities.SNOW_CLOAK, Abilities.THICK_FAT, 250, 50, 50, 40, 30, 30, 50, 225, 50, 50, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.PILOSWINE, 2, false, false, false, "Swine Pokémon", PokemonType.ICE, PokemonType.GROUND, 1.1, 55.8, Abilities.OBLIVIOUS, Abilities.SNOW_CLOAK, Abilities.THICK_FAT, 450, 100, 100, 80, 60, 60, 50, 75, 50, 158, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.CORSOLA, 2, false, false, false, "Coral Pokémon", PokemonType.WATER, PokemonType.ROCK, 0.6, 5, Abilities.HUSTLE, Abilities.NATURAL_CURE, Abilities.REGENERATOR, 410, 65, 55, 95, 65, 95, 35, 60, 50, 144, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.REMORAID, 2, false, false, false, "Jet Pokémon", PokemonType.WATER, null, 0.6, 12, Abilities.HUSTLE, Abilities.SNIPER, Abilities.MOODY, 300, 35, 65, 35, 65, 35, 65, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.OCTILLERY, 2, false, false, false, "Jet Pokémon", PokemonType.WATER, null, 0.9, 28.5, Abilities.SUCTION_CUPS, Abilities.SNIPER, Abilities.MOODY, 480, 75, 105, 75, 105, 75, 45, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.DELIBIRD, 2, false, false, false, "Delivery Pokémon", PokemonType.ICE, PokemonType.FLYING, 0.9, 16, Abilities.VITAL_SPIRIT, Abilities.HUSTLE, Abilities.INSOMNIA, 330, 45, 55, 45, 65, 45, 75, 45, 50, 116, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.MANTINE, 2, false, false, false, "Kite Pokémon", PokemonType.WATER, PokemonType.FLYING, 2.1, 220, Abilities.SWIFT_SWIM, Abilities.WATER_ABSORB, Abilities.WATER_VEIL, 485, 85, 40, 70, 80, 140, 70, 25, 50, 170, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.SKARMORY, 2, false, false, false, "Armor Bird Pokémon", PokemonType.STEEL, PokemonType.FLYING, 1.7, 50.5, Abilities.KEEN_EYE, Abilities.STURDY, Abilities.WEAK_ARMOR, 465, 65, 80, 140, 40, 70, 70, 25, 50, 163, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HOUNDOUR, 2, false, false, false, "Dark Pokémon", PokemonType.DARK, PokemonType.FIRE, 0.6, 10.8, Abilities.EARLY_BIRD, Abilities.FLASH_FIRE, Abilities.UNNERVE, 330, 45, 60, 30, 80, 50, 65, 120, 35, 66, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HOUNDOOM, 2, false, false, false, "Dark Pokémon", PokemonType.DARK, PokemonType.FIRE, 1.4, 35, Abilities.EARLY_BIRD, Abilities.FLASH_FIRE, Abilities.UNNERVE, 500, 75, 90, 50, 110, 80, 95, 45, 35, 175, GrowthRate.SLOW, 50, true, true, - new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.FIRE, 1.4, 35, Abilities.EARLY_BIRD, Abilities.FLASH_FIRE, Abilities.UNNERVE, 500, 75, 90, 50, 110, 80, 95, 45, 35, 175, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DARK, PokemonType.FIRE, 1.9, 49.5, Abilities.SOLAR_POWER, Abilities.SOLAR_POWER, Abilities.SOLAR_POWER, 600, 75, 90, 90, 140, 90, 115, 45, 35, 175, true), - ), - new PokemonSpecies(Species.KINGDRA, 2, false, false, false, "Dragon Pokémon", PokemonType.WATER, PokemonType.DRAGON, 1.8, 152, Abilities.SWIFT_SWIM, Abilities.SNIPER, Abilities.DAMP, 540, 75, 95, 95, 95, 95, 85, 45, 50, 270, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PHANPY, 2, false, false, false, "Long Nose Pokémon", PokemonType.GROUND, null, 0.5, 33.5, Abilities.PICKUP, Abilities.NONE, Abilities.SAND_VEIL, 330, 90, 60, 60, 40, 40, 40, 120, 70, 66, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DONPHAN, 2, false, false, false, "Armor Pokémon", PokemonType.GROUND, null, 1.1, 120, Abilities.STURDY, Abilities.NONE, Abilities.SAND_VEIL, 500, 90, 120, 120, 60, 60, 50, 60, 70, 175, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.PORYGON2, 2, false, false, false, "Virtual Pokémon", PokemonType.NORMAL, null, 0.6, 32.5, Abilities.TRACE, Abilities.DOWNLOAD, Abilities.ANALYTIC, 515, 85, 80, 90, 105, 95, 60, 45, 50, 180, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.STANTLER, 2, false, false, false, "Big Horn Pokémon", PokemonType.NORMAL, null, 1.4, 71.2, Abilities.INTIMIDATE, Abilities.FRISK, Abilities.SAP_SIPPER, 465, 73, 95, 62, 85, 65, 85, 45, 70, 163, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.SMEARGLE, 2, false, false, false, "Painter Pokémon", PokemonType.NORMAL, null, 1.2, 58, Abilities.OWN_TEMPO, Abilities.TECHNICIAN, Abilities.MOODY, 250, 55, 20, 35, 20, 45, 75, 45, 70, 88, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.TYROGUE, 2, false, false, false, "Scuffle Pokémon", PokemonType.FIGHTING, null, 0.7, 21, Abilities.GUTS, Abilities.STEADFAST, Abilities.VITAL_SPIRIT, 210, 35, 35, 35, 35, 35, 35, 75, 50, 42, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.HITMONTOP, 2, false, false, false, "Handstand Pokémon", PokemonType.FIGHTING, null, 1.4, 48, Abilities.INTIMIDATE, Abilities.TECHNICIAN, Abilities.STEADFAST, 455, 50, 95, 95, 35, 110, 70, 45, 50, 159, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.SMOOCHUM, 2, false, false, false, "Kiss Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 0.4, 6, Abilities.OBLIVIOUS, Abilities.FOREWARN, Abilities.HYDRATION, 305, 45, 30, 15, 85, 65, 65, 45, 50, 61, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.ELEKID, 2, false, false, false, "Electric Pokémon", PokemonType.ELECTRIC, null, 0.6, 23.5, Abilities.STATIC, Abilities.NONE, Abilities.VITAL_SPIRIT, 360, 45, 63, 37, 65, 55, 95, 45, 50, 72, GrowthRate.MEDIUM_FAST, 75, false), - new PokemonSpecies(Species.MAGBY, 2, false, false, false, "Live Coal Pokémon", PokemonType.FIRE, null, 0.7, 21.4, Abilities.FLAME_BODY, Abilities.NONE, Abilities.VITAL_SPIRIT, 365, 45, 75, 37, 70, 55, 83, 45, 50, 73, GrowthRate.MEDIUM_FAST, 75, false), - new PokemonSpecies(Species.MILTANK, 2, false, false, false, "Milk Cow Pokémon", PokemonType.NORMAL, null, 1.2, 75.5, Abilities.THICK_FAT, Abilities.SCRAPPY, Abilities.SAP_SIPPER, 490, 95, 80, 105, 40, 70, 100, 45, 50, 172, GrowthRate.SLOW, 0, false), - new PokemonSpecies(Species.BLISSEY, 2, false, false, false, "Happiness Pokémon", PokemonType.NORMAL, null, 1.5, 46.8, Abilities.NATURAL_CURE, Abilities.SERENE_GRACE, Abilities.HEALER, 540, 255, 10, 10, 75, 135, 55, 30, 140, 608, GrowthRate.FAST, 0, false), - new PokemonSpecies(Species.RAIKOU, 2, true, false, false, "Thunder Pokémon", PokemonType.ELECTRIC, null, 1.9, 178, Abilities.PRESSURE, Abilities.NONE, Abilities.INNER_FOCUS, 580, 90, 85, 75, 115, 100, 115, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ENTEI, 2, true, false, false, "Volcano Pokémon", PokemonType.FIRE, null, 2.1, 198, Abilities.PRESSURE, Abilities.NONE, Abilities.INNER_FOCUS, 580, 115, 115, 85, 90, 75, 100, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SUICUNE, 2, true, false, false, "Aurora Pokémon", PokemonType.WATER, null, 2, 187, Abilities.PRESSURE, Abilities.NONE, Abilities.INNER_FOCUS, 580, 100, 75, 115, 90, 115, 85, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.LARVITAR, 2, false, false, false, "Rock Skin Pokémon", PokemonType.ROCK, PokemonType.GROUND, 0.6, 72, Abilities.GUTS, Abilities.NONE, Abilities.SAND_VEIL, 300, 50, 64, 50, 45, 50, 41, 45, 35, 60, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.PUPITAR, 2, false, false, false, "Hard Shell Pokémon", PokemonType.ROCK, PokemonType.GROUND, 1.2, 152, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 410, 70, 84, 70, 65, 70, 51, 45, 35, 144, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.TYRANITAR, 2, false, false, false, "Armor Pokémon", PokemonType.ROCK, PokemonType.DARK, 2, 202, Abilities.SAND_STREAM, Abilities.NONE, Abilities.UNNERVE, 600, 100, 134, 110, 95, 100, 61, 45, 35, 300, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.DARK, 2, 202, Abilities.SAND_STREAM, Abilities.NONE, Abilities.UNNERVE, 600, 100, 134, 110, 95, 100, 61, 45, 35, 300, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ROCK, PokemonType.DARK, 2.5, 255, Abilities.SAND_STREAM, Abilities.NONE, Abilities.SAND_STREAM, 700, 100, 164, 150, 95, 120, 71, 45, 35, 300), - ), - new PokemonSpecies(Species.LUGIA, 2, false, true, false, "Diving Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 5.2, 216, Abilities.PRESSURE, Abilities.NONE, Abilities.MULTISCALE, 680, 106, 90, 130, 90, 154, 110, 3, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.HO_OH, 2, false, true, false, "Rainbow Pokémon", PokemonType.FIRE, PokemonType.FLYING, 3.8, 199, Abilities.PRESSURE, Abilities.NONE, Abilities.REGENERATOR, 680, 106, 130, 90, 110, 154, 90, 3, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.CELEBI, 2, false, false, true, "Time Travel Pokémon", PokemonType.PSYCHIC, PokemonType.GRASS, 0.6, 5, Abilities.NATURAL_CURE, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, GrowthRate.MEDIUM_SLOW, null, false), - new PokemonSpecies(Species.TREECKO, 3, false, false, false, "Wood Gecko Pokémon", PokemonType.GRASS, null, 0.5, 5, Abilities.OVERGROW, Abilities.NONE, Abilities.UNBURDEN, 310, 40, 45, 35, 65, 55, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.GROVYLE, 3, false, false, false, "Wood Gecko Pokémon", PokemonType.GRASS, null, 0.9, 21.6, Abilities.OVERGROW, Abilities.NONE, Abilities.UNBURDEN, 405, 50, 65, 45, 85, 65, 95, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.SCEPTILE, 3, false, false, false, "Forest Pokémon", PokemonType.GRASS, null, 1.7, 52.2, Abilities.OVERGROW, Abilities.NONE, Abilities.UNBURDEN, 530, 70, 85, 65, 105, 85, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.GRASS, null, 1.7, 52.2, Abilities.OVERGROW, Abilities.NONE, Abilities.UNBURDEN, 530, 70, 85, 65, 105, 85, 120, 45, 50, 265, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GRASS, PokemonType.DRAGON, 1.9, 55.2, Abilities.LIGHTNING_ROD, Abilities.NONE, Abilities.LIGHTNING_ROD, 630, 70, 110, 75, 145, 85, 145, 45, 50, 265), - ), - new PokemonSpecies(Species.TORCHIC, 3, false, false, false, "Chick Pokémon", PokemonType.FIRE, null, 0.4, 2.5, Abilities.BLAZE, Abilities.NONE, Abilities.SPEED_BOOST, 310, 45, 60, 40, 70, 50, 45, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, true), - new PokemonSpecies(Species.COMBUSKEN, 3, false, false, false, "Young Fowl Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 0.9, 19.5, Abilities.BLAZE, Abilities.NONE, Abilities.SPEED_BOOST, 405, 60, 85, 60, 85, 60, 55, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, true), - new PokemonSpecies(Species.BLAZIKEN, 3, false, false, false, "Blaze Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1.9, 52, Abilities.BLAZE, Abilities.NONE, Abilities.SPEED_BOOST, 530, 80, 120, 70, 110, 70, 80, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, true, true, - new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.FIGHTING, 1.9, 52, Abilities.BLAZE, Abilities.NONE, Abilities.SPEED_BOOST, 530, 80, 120, 70, 110, 70, 80, 45, 50, 265, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIRE, PokemonType.FIGHTING, 1.9, 52, Abilities.SPEED_BOOST, Abilities.NONE, Abilities.SPEED_BOOST, 630, 80, 160, 80, 130, 80, 100, 45, 50, 265, true), - ), - new PokemonSpecies(Species.MUDKIP, 3, false, false, false, "Mud Fish Pokémon", PokemonType.WATER, null, 0.4, 7.6, Abilities.TORRENT, Abilities.NONE, Abilities.DAMP, 310, 50, 70, 50, 50, 50, 40, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.MARSHTOMP, 3, false, false, false, "Mud Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.7, 28, Abilities.TORRENT, Abilities.NONE, Abilities.DAMP, 405, 70, 85, 70, 60, 70, 50, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.SWAMPERT, 3, false, false, false, "Mud Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 1.5, 81.9, Abilities.TORRENT, Abilities.NONE, Abilities.DAMP, 535, 100, 110, 90, 85, 90, 60, 45, 50, 268, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.GROUND, 1.5, 81.9, Abilities.TORRENT, Abilities.NONE, Abilities.DAMP, 535, 100, 110, 90, 85, 90, 60, 45, 50, 268, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.GROUND, 1.9, 102, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.SWIFT_SWIM, 635, 100, 150, 110, 95, 110, 70, 45, 50, 268), - ), - new PokemonSpecies(Species.POOCHYENA, 3, false, false, false, "Bite Pokémon", PokemonType.DARK, null, 0.5, 13.6, Abilities.RUN_AWAY, Abilities.QUICK_FEET, Abilities.RATTLED, 220, 35, 55, 35, 30, 30, 35, 255, 70, 56, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MIGHTYENA, 3, false, false, false, "Bite Pokémon", PokemonType.DARK, null, 1, 37, Abilities.INTIMIDATE, Abilities.QUICK_FEET, Abilities.MOXIE, 420, 70, 90, 70, 60, 60, 70, 127, 70, 147, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ZIGZAGOON, 3, false, false, false, "Tiny Raccoon Pokémon", PokemonType.NORMAL, null, 0.4, 17.5, Abilities.PICKUP, Abilities.GLUTTONY, Abilities.QUICK_FEET, 240, 38, 30, 41, 30, 41, 60, 255, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LINOONE, 3, false, false, false, "Rushing Pokémon", PokemonType.NORMAL, null, 0.5, 32.5, Abilities.PICKUP, Abilities.GLUTTONY, Abilities.QUICK_FEET, 420, 78, 70, 61, 50, 61, 100, 90, 50, 147, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WURMPLE, 3, false, false, false, "Worm Pokémon", PokemonType.BUG, null, 0.3, 3.6, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.RUN_AWAY, 195, 45, 45, 35, 20, 30, 20, 255, 70, 56, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SILCOON, 3, false, false, false, "Cocoon Pokémon", PokemonType.BUG, null, 0.6, 10, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 50, 35, 55, 25, 25, 15, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BEAUTIFLY, 3, false, false, false, "Butterfly Pokémon", PokemonType.BUG, PokemonType.FLYING, 1, 28.4, Abilities.SWARM, Abilities.NONE, Abilities.RIVALRY, 395, 60, 70, 50, 100, 50, 65, 45, 70, 198, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.CASCOON, 3, false, false, false, "Cocoon Pokémon", PokemonType.BUG, null, 0.7, 11.5, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 50, 35, 55, 25, 25, 15, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DUSTOX, 3, false, false, false, "Poison Moth Pokémon", PokemonType.BUG, PokemonType.POISON, 1.2, 31.6, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.COMPOUND_EYES, 385, 60, 50, 70, 50, 90, 65, 45, 70, 193, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.LOTAD, 3, false, false, false, "Water Weed Pokémon", PokemonType.WATER, PokemonType.GRASS, 0.5, 2.6, Abilities.SWIFT_SWIM, Abilities.RAIN_DISH, Abilities.OWN_TEMPO, 220, 40, 30, 30, 40, 50, 30, 255, 50, 44, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.LOMBRE, 3, false, false, false, "Jolly Pokémon", PokemonType.WATER, PokemonType.GRASS, 1.2, 32.5, Abilities.SWIFT_SWIM, Abilities.RAIN_DISH, Abilities.OWN_TEMPO, 340, 60, 50, 50, 60, 70, 50, 120, 50, 119, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.LUDICOLO, 3, false, false, false, "Carefree Pokémon", PokemonType.WATER, PokemonType.GRASS, 1.5, 55, Abilities.SWIFT_SWIM, Abilities.RAIN_DISH, Abilities.OWN_TEMPO, 480, 80, 70, 70, 90, 100, 70, 45, 50, 240, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.SEEDOT, 3, false, false, false, "Acorn Pokémon", PokemonType.GRASS, null, 0.5, 4, Abilities.CHLOROPHYLL, Abilities.EARLY_BIRD, Abilities.PICKPOCKET, 220, 40, 40, 50, 30, 30, 30, 255, 50, 44, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.NUZLEAF, 3, false, false, false, "Wily Pokémon", PokemonType.GRASS, PokemonType.DARK, 1, 28, Abilities.CHLOROPHYLL, Abilities.EARLY_BIRD, Abilities.PICKPOCKET, 340, 70, 70, 40, 60, 40, 60, 120, 50, 119, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.SHIFTRY, 3, false, false, false, "Wicked Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.3, 59.6, Abilities.CHLOROPHYLL, Abilities.WIND_RIDER, Abilities.PICKPOCKET, 480, 90, 100, 60, 90, 60, 80, 45, 50, 240, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.TAILLOW, 3, false, false, false, "Tiny Swallow Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2.3, Abilities.GUTS, Abilities.NONE, Abilities.SCRAPPY, 270, 40, 55, 30, 30, 30, 85, 200, 70, 54, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SWELLOW, 3, false, false, false, "Swallow Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.7, 19.8, Abilities.GUTS, Abilities.NONE, Abilities.SCRAPPY, 455, 60, 85, 60, 75, 50, 125, 45, 70, 159, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.WINGULL, 3, false, false, false, "Seagull Pokémon", PokemonType.WATER, PokemonType.FLYING, 0.6, 9.5, Abilities.KEEN_EYE, Abilities.HYDRATION, Abilities.RAIN_DISH, 270, 40, 30, 30, 55, 30, 85, 190, 50, 54, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PELIPPER, 3, false, false, false, "Water Bird Pokémon", PokemonType.WATER, PokemonType.FLYING, 1.2, 28, Abilities.KEEN_EYE, Abilities.DRIZZLE, Abilities.RAIN_DISH, 440, 60, 50, 100, 95, 70, 65, 45, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RALTS, 3, false, false, false, "Feeling Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 0.4, 6.6, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 198, 28, 25, 25, 45, 35, 40, 235, 35, 40, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.KIRLIA, 3, false, false, false, "Emotion Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 0.8, 20.2, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 278, 38, 35, 35, 65, 55, 50, 120, 35, 97, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.GARDEVOIR, 3, false, false, false, "Embrace Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.6, 48.4, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 518, 68, 65, 65, 125, 115, 80, 45, 35, 259, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.6, 48.4, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 518, 68, 65, 65, 125, 115, 80, 45, 35, 259, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, PokemonType.FAIRY, 1.6, 48.4, Abilities.PIXILATE, Abilities.PIXILATE, Abilities.PIXILATE, 618, 68, 85, 65, 165, 135, 100, 45, 35, 259), - ), - new PokemonSpecies(Species.SURSKIT, 3, false, false, false, "Pond Skater Pokémon", PokemonType.BUG, PokemonType.WATER, 0.5, 1.7, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.RAIN_DISH, 269, 40, 30, 32, 50, 52, 65, 200, 70, 54, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MASQUERAIN, 3, false, false, false, "Eyeball Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.8, 3.6, Abilities.INTIMIDATE, Abilities.NONE, Abilities.UNNERVE, 454, 70, 60, 62, 100, 82, 80, 75, 70, 159, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SHROOMISH, 3, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, null, 0.4, 4.5, Abilities.EFFECT_SPORE, Abilities.POISON_HEAL, Abilities.QUICK_FEET, 295, 60, 40, 60, 40, 60, 35, 255, 70, 59, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.BRELOOM, 3, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.2, 39.2, Abilities.EFFECT_SPORE, Abilities.POISON_HEAL, Abilities.TECHNICIAN, 460, 60, 130, 80, 60, 60, 70, 90, 70, 161, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.SLAKOTH, 3, false, false, false, "Slacker Pokémon", PokemonType.NORMAL, null, 0.8, 24, Abilities.TRUANT, Abilities.NONE, Abilities.STALL, 280, 60, 60, 60, 35, 35, 30, 255, 70, 56, GrowthRate.SLOW, 50, false), //Custom Hidden - new PokemonSpecies(Species.VIGOROTH, 3, false, false, false, "Wild Monkey Pokémon", PokemonType.NORMAL, null, 1.4, 46.5, Abilities.VITAL_SPIRIT, Abilities.NONE, Abilities.INSOMNIA, 440, 80, 80, 80, 55, 55, 90, 120, 70, 154, GrowthRate.SLOW, 50, false), //Custom Hidden - new PokemonSpecies(Species.SLAKING, 3, false, false, false, "Lazy Pokémon", PokemonType.NORMAL, null, 2, 130.5, Abilities.TRUANT, Abilities.NONE, Abilities.STALL, 670, 150, 160, 100, 95, 65, 100, 45, 70, 285, GrowthRate.SLOW, 50, false), //Custom Hidden - new PokemonSpecies(Species.NINCADA, 3, false, false, false, "Trainee Pokémon", PokemonType.BUG, PokemonType.GROUND, 0.5, 5.5, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.RUN_AWAY, 266, 31, 45, 90, 30, 30, 40, 255, 50, 53, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.NINJASK, 3, false, false, false, "Ninja Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.8, 12, Abilities.SPEED_BOOST, Abilities.NONE, Abilities.INFILTRATOR, 456, 61, 90, 45, 50, 50, 160, 120, 50, 160, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.SHEDINJA, 3, false, false, false, "Shed Pokémon", PokemonType.BUG, PokemonType.GHOST, 0.8, 1.2, Abilities.WONDER_GUARD, Abilities.NONE, Abilities.NONE, 236, 1, 90, 45, 30, 30, 40, 45, 50, 83, GrowthRate.ERRATIC, null, false), - new PokemonSpecies(Species.WHISMUR, 3, false, false, false, "Whisper Pokémon", PokemonType.NORMAL, null, 0.6, 16.3, Abilities.SOUNDPROOF, Abilities.NONE, Abilities.RATTLED, 240, 64, 51, 23, 51, 23, 28, 190, 50, 48, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.LOUDRED, 3, false, false, false, "Big Voice Pokémon", PokemonType.NORMAL, null, 1, 40.5, Abilities.SOUNDPROOF, Abilities.NONE, Abilities.SCRAPPY, 360, 84, 71, 43, 71, 43, 48, 120, 50, 126, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.EXPLOUD, 3, false, false, false, "Loud Noise Pokémon", PokemonType.NORMAL, null, 1.5, 84, Abilities.SOUNDPROOF, Abilities.NONE, Abilities.SCRAPPY, 490, 104, 91, 63, 91, 73, 68, 45, 50, 245, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.MAKUHITA, 3, false, false, false, "Guts Pokémon", PokemonType.FIGHTING, null, 1, 86.4, Abilities.THICK_FAT, Abilities.GUTS, Abilities.SHEER_FORCE, 237, 72, 60, 30, 20, 30, 25, 180, 70, 47, GrowthRate.FLUCTUATING, 75, false), - new PokemonSpecies(Species.HARIYAMA, 3, false, false, false, "Arm Thrust Pokémon", PokemonType.FIGHTING, null, 2.3, 253.8, Abilities.THICK_FAT, Abilities.GUTS, Abilities.SHEER_FORCE, 474, 144, 120, 60, 40, 60, 50, 200, 70, 166, GrowthRate.FLUCTUATING, 75, false), - new PokemonSpecies(Species.AZURILL, 3, false, false, false, "Polka Dot Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 0.2, 2, Abilities.THICK_FAT, Abilities.HUGE_POWER, Abilities.SAP_SIPPER, 190, 50, 20, 40, 20, 40, 20, 150, 50, 38, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.NOSEPASS, 3, false, false, false, "Compass Pokémon", PokemonType.ROCK, null, 1, 97, Abilities.STURDY, Abilities.MAGNET_PULL, Abilities.SAND_FORCE, 375, 30, 45, 135, 45, 90, 30, 255, 70, 75, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SKITTY, 3, false, false, false, "Kitten Pokémon", PokemonType.NORMAL, null, 0.6, 11, Abilities.CUTE_CHARM, Abilities.NORMALIZE, Abilities.WONDER_SKIN, 260, 50, 45, 45, 35, 35, 50, 255, 70, 52, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.DELCATTY, 3, false, false, false, "Prim Pokémon", PokemonType.NORMAL, null, 1.1, 32.6, Abilities.CUTE_CHARM, Abilities.NORMALIZE, Abilities.WONDER_SKIN, 400, 70, 65, 65, 55, 55, 90, 60, 70, 140, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.SABLEYE, 3, false, false, false, "Darkness Pokémon", PokemonType.DARK, PokemonType.GHOST, 0.5, 11, Abilities.KEEN_EYE, Abilities.STALL, Abilities.PRANKSTER, 380, 50, 75, 75, 65, 65, 50, 45, 35, 133, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.GHOST, 0.5, 11, Abilities.KEEN_EYE, Abilities.STALL, Abilities.PRANKSTER, 380, 50, 75, 75, 65, 65, 50, 45, 35, 133, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DARK, PokemonType.GHOST, 0.5, 161, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, 480, 50, 85, 125, 85, 115, 20, 45, 35, 133), - ), - new PokemonSpecies(Species.MAWILE, 3, false, false, false, "Deceiver Pokémon", PokemonType.STEEL, PokemonType.FAIRY, 0.6, 11.5, Abilities.HYPER_CUTTER, Abilities.INTIMIDATE, Abilities.SHEER_FORCE, 380, 50, 85, 85, 55, 55, 50, 45, 50, 133, GrowthRate.FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.FAIRY, 0.6, 11.5, Abilities.HYPER_CUTTER, Abilities.INTIMIDATE, Abilities.SHEER_FORCE, 380, 50, 85, 85, 55, 55, 50, 45, 50, 133, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, PokemonType.FAIRY, 1, 23.5, Abilities.HUGE_POWER, Abilities.HUGE_POWER, Abilities.HUGE_POWER, 480, 50, 105, 125, 55, 95, 50, 45, 50, 133), - ), - new PokemonSpecies(Species.ARON, 3, false, false, false, "Iron Armor Pokémon", PokemonType.STEEL, PokemonType.ROCK, 0.4, 60, Abilities.STURDY, Abilities.ROCK_HEAD, Abilities.HEAVY_METAL, 330, 50, 70, 100, 40, 40, 30, 180, 35, 66, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.LAIRON, 3, false, false, false, "Iron Armor Pokémon", PokemonType.STEEL, PokemonType.ROCK, 0.9, 120, Abilities.STURDY, Abilities.ROCK_HEAD, Abilities.HEAVY_METAL, 430, 60, 90, 140, 50, 50, 40, 90, 35, 151, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.AGGRON, 3, false, false, false, "Iron Armor Pokémon", PokemonType.STEEL, PokemonType.ROCK, 2.1, 360, Abilities.STURDY, Abilities.ROCK_HEAD, Abilities.HEAVY_METAL, 530, 70, 110, 180, 60, 60, 50, 45, 35, 265, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.ROCK, 2.1, 360, Abilities.STURDY, Abilities.ROCK_HEAD, Abilities.HEAVY_METAL, 530, 70, 110, 180, 60, 60, 50, 45, 35, 265, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, null, 2.2, 395, Abilities.FILTER, Abilities.FILTER, Abilities.FILTER, 630, 70, 140, 230, 60, 80, 50, 45, 35, 265), - ), - new PokemonSpecies(Species.MEDITITE, 3, false, false, false, "Meditate Pokémon", PokemonType.FIGHTING, PokemonType.PSYCHIC, 0.6, 11.2, Abilities.PURE_POWER, Abilities.NONE, Abilities.TELEPATHY, 280, 30, 40, 55, 40, 55, 60, 180, 70, 56, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.MEDICHAM, 3, false, false, false, "Meditate Pokémon", PokemonType.FIGHTING, PokemonType.PSYCHIC, 1.3, 31.5, Abilities.PURE_POWER, Abilities.NONE, Abilities.TELEPATHY, 410, 60, 60, 75, 60, 75, 80, 90, 70, 144, GrowthRate.MEDIUM_FAST, 50, true, true, - new PokemonForm("Normal", "", PokemonType.FIGHTING, PokemonType.PSYCHIC, 1.3, 31.5, Abilities.PURE_POWER, Abilities.NONE, Abilities.TELEPATHY, 410, 60, 60, 75, 60, 75, 80, 90, 70, 144, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIGHTING, PokemonType.PSYCHIC, 1.3, 31.5, Abilities.PURE_POWER, Abilities.NONE, Abilities.PURE_POWER, 510, 60, 100, 85, 80, 85, 100, 90, 70, 144, true), - ), - new PokemonSpecies(Species.ELECTRIKE, 3, false, false, false, "Lightning Pokémon", PokemonType.ELECTRIC, null, 0.6, 15.2, Abilities.STATIC, Abilities.LIGHTNING_ROD, Abilities.MINUS, 295, 40, 45, 40, 65, 40, 65, 120, 50, 59, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.MANECTRIC, 3, false, false, false, "Discharge Pokémon", PokemonType.ELECTRIC, null, 1.5, 40.2, Abilities.STATIC, Abilities.LIGHTNING_ROD, Abilities.MINUS, 475, 70, 75, 60, 105, 60, 105, 45, 50, 166, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 1.5, 40.2, Abilities.STATIC, Abilities.LIGHTNING_ROD, Abilities.MINUS, 475, 70, 75, 60, 105, 60, 105, 45, 50, 166, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ELECTRIC, null, 1.8, 44, Abilities.INTIMIDATE, Abilities.INTIMIDATE, Abilities.INTIMIDATE, 575, 70, 75, 80, 135, 80, 135, 45, 50, 166), - ), - new PokemonSpecies(Species.PLUSLE, 3, false, false, false, "Cheering Pokémon", PokemonType.ELECTRIC, null, 0.4, 4.2, Abilities.PLUS, Abilities.NONE, Abilities.LIGHTNING_ROD, 405, 60, 50, 40, 85, 75, 95, 200, 70, 142, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MINUN, 3, false, false, false, "Cheering Pokémon", PokemonType.ELECTRIC, null, 0.4, 4.2, Abilities.MINUS, Abilities.NONE, Abilities.VOLT_ABSORB, 405, 60, 40, 50, 75, 85, 95, 200, 70, 142, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.VOLBEAT, 3, false, false, false, "Firefly Pokémon", PokemonType.BUG, null, 0.7, 17.7, Abilities.ILLUMINATE, Abilities.SWARM, Abilities.PRANKSTER, 430, 65, 73, 75, 47, 85, 85, 150, 70, 151, GrowthRate.ERRATIC, 100, false), - new PokemonSpecies(Species.ILLUMISE, 3, false, false, false, "Firefly Pokémon", PokemonType.BUG, null, 0.6, 17.7, Abilities.OBLIVIOUS, Abilities.TINTED_LENS, Abilities.PRANKSTER, 430, 65, 47, 75, 73, 85, 85, 150, 70, 151, GrowthRate.FLUCTUATING, 0, false), - new PokemonSpecies(Species.ROSELIA, 3, false, false, false, "Thorn Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.3, 2, Abilities.NATURAL_CURE, Abilities.POISON_POINT, Abilities.LEAF_GUARD, 400, 50, 60, 45, 100, 80, 65, 150, 50, 140, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.GULPIN, 3, false, false, false, "Stomach Pokémon", PokemonType.POISON, null, 0.4, 10.3, Abilities.LIQUID_OOZE, Abilities.STICKY_HOLD, Abilities.GLUTTONY, 302, 70, 43, 53, 43, 53, 40, 225, 70, 60, GrowthRate.FLUCTUATING, 50, true), - new PokemonSpecies(Species.SWALOT, 3, false, false, false, "Poison Bag Pokémon", PokemonType.POISON, null, 1.7, 80, Abilities.LIQUID_OOZE, Abilities.STICKY_HOLD, Abilities.GLUTTONY, 467, 100, 73, 83, 73, 83, 55, 75, 70, 163, GrowthRate.FLUCTUATING, 50, true), - new PokemonSpecies(Species.CARVANHA, 3, false, false, false, "Savage Pokémon", PokemonType.WATER, PokemonType.DARK, 0.8, 20.8, Abilities.ROUGH_SKIN, Abilities.NONE, Abilities.SPEED_BOOST, 305, 45, 90, 20, 65, 20, 65, 225, 35, 61, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.SHARPEDO, 3, false, false, false, "Brutal Pokémon", PokemonType.WATER, PokemonType.DARK, 1.8, 88.8, Abilities.ROUGH_SKIN, Abilities.NONE, Abilities.SPEED_BOOST, 460, 70, 120, 40, 95, 40, 95, 60, 35, 161, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.DARK, 1.8, 88.8, Abilities.ROUGH_SKIN, Abilities.NONE, Abilities.SPEED_BOOST, 460, 70, 120, 40, 95, 40, 95, 60, 35, 161, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.DARK, 2.5, 130.3, Abilities.STRONG_JAW, Abilities.NONE, Abilities.STRONG_JAW, 560, 70, 140, 70, 110, 65, 105, 60, 35, 161), - ), - new PokemonSpecies(Species.WAILMER, 3, false, false, false, "Ball Whale Pokémon", PokemonType.WATER, null, 2, 130, Abilities.WATER_VEIL, Abilities.OBLIVIOUS, Abilities.PRESSURE, 400, 130, 70, 35, 70, 35, 60, 125, 50, 80, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.WAILORD, 3, false, false, false, "Float Whale Pokémon", PokemonType.WATER, null, 14.5, 398, Abilities.WATER_VEIL, Abilities.OBLIVIOUS, Abilities.PRESSURE, 500, 170, 90, 45, 90, 45, 60, 60, 50, 175, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.NUMEL, 3, false, false, false, "Numb Pokémon", PokemonType.FIRE, PokemonType.GROUND, 0.7, 24, Abilities.OBLIVIOUS, Abilities.SIMPLE, Abilities.OWN_TEMPO, 305, 60, 60, 40, 65, 45, 35, 255, 70, 61, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.CAMERUPT, 3, false, false, false, "Eruption Pokémon", PokemonType.FIRE, PokemonType.GROUND, 1.9, 220, Abilities.MAGMA_ARMOR, Abilities.SOLID_ROCK, Abilities.ANGER_POINT, 460, 70, 100, 70, 105, 75, 40, 150, 70, 161, GrowthRate.MEDIUM_FAST, 50, true, true, - new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.GROUND, 1.9, 220, Abilities.MAGMA_ARMOR, Abilities.SOLID_ROCK, Abilities.ANGER_POINT, 460, 70, 100, 70, 105, 75, 40, 150, 70, 161, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIRE, PokemonType.GROUND, 2.5, 320.5, Abilities.SHEER_FORCE, Abilities.SHEER_FORCE, Abilities.SHEER_FORCE, 560, 70, 120, 100, 145, 105, 20, 150, 70, 161), - ), - new PokemonSpecies(Species.TORKOAL, 3, false, false, false, "Coal Pokémon", PokemonType.FIRE, null, 0.5, 80.4, Abilities.WHITE_SMOKE, Abilities.DROUGHT, Abilities.SHELL_ARMOR, 470, 70, 85, 140, 85, 70, 20, 90, 50, 165, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SPOINK, 3, false, false, false, "Bounce Pokémon", PokemonType.PSYCHIC, null, 0.7, 30.6, Abilities.THICK_FAT, Abilities.OWN_TEMPO, Abilities.GLUTTONY, 330, 60, 25, 35, 70, 80, 60, 255, 70, 66, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.GRUMPIG, 3, false, false, false, "Manipulate Pokémon", PokemonType.PSYCHIC, null, 0.9, 71.5, Abilities.THICK_FAT, Abilities.OWN_TEMPO, Abilities.GLUTTONY, 470, 80, 45, 65, 90, 110, 80, 60, 70, 165, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.SPINDA, 3, false, false, false, "Spot Panda Pokémon", PokemonType.NORMAL, null, 1.1, 5, Abilities.OWN_TEMPO, Abilities.TANGLED_FEET, Abilities.CONTRARY, 360, 60, 60, 60, 60, 60, 60, 255, 70, 126, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.TRAPINCH, 3, false, false, false, "Ant Pit Pokémon", PokemonType.GROUND, null, 0.7, 15, Abilities.HYPER_CUTTER, Abilities.ARENA_TRAP, Abilities.SHEER_FORCE, 290, 45, 100, 45, 45, 45, 10, 255, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.VIBRAVA, 3, false, false, false, "Vibration Pokémon", PokemonType.GROUND, PokemonType.DRAGON, 1.1, 15.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 340, 50, 70, 50, 50, 50, 70, 120, 50, 119, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.FLYGON, 3, false, false, false, "Mystic Pokémon", PokemonType.GROUND, PokemonType.DRAGON, 2, 82, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 520, 80, 100, 80, 80, 80, 100, 45, 50, 260, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CACNEA, 3, false, false, false, "Cactus Pokémon", PokemonType.GRASS, null, 0.4, 51.3, Abilities.SAND_VEIL, Abilities.NONE, Abilities.WATER_ABSORB, 335, 50, 85, 40, 85, 40, 35, 190, 35, 67, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CACTURNE, 3, false, false, false, "Scarecrow Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.3, 77.4, Abilities.SAND_VEIL, Abilities.NONE, Abilities.WATER_ABSORB, 475, 70, 115, 60, 115, 60, 55, 60, 35, 166, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.SWABLU, 3, false, false, false, "Cotton Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.4, 1.2, Abilities.NATURAL_CURE, Abilities.NONE, Abilities.CLOUD_NINE, 310, 45, 40, 60, 40, 75, 50, 255, 50, 62, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.ALTARIA, 3, false, false, false, "Humming Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 1.1, 20.6, Abilities.NATURAL_CURE, Abilities.NONE, Abilities.CLOUD_NINE, 490, 75, 70, 90, 70, 105, 80, 45, 50, 172, GrowthRate.ERRATIC, 50, false, true, - new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.FLYING, 1.1, 20.6, Abilities.NATURAL_CURE, Abilities.NONE, Abilities.CLOUD_NINE, 490, 75, 70, 90, 70, 105, 80, 45, 50, 172, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.FAIRY, 1.5, 20.6, Abilities.PIXILATE, Abilities.NONE, Abilities.PIXILATE, 590, 75, 110, 110, 110, 105, 80, 45, 50, 172), - ), - new PokemonSpecies(Species.ZANGOOSE, 3, false, false, false, "Cat Ferret Pokémon", PokemonType.NORMAL, null, 1.3, 40.3, Abilities.IMMUNITY, Abilities.NONE, Abilities.TOXIC_BOOST, 458, 73, 115, 60, 60, 60, 90, 90, 70, 160, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.SEVIPER, 3, false, false, false, "Fang Snake Pokémon", PokemonType.POISON, null, 2.7, 52.5, Abilities.SHED_SKIN, Abilities.NONE, Abilities.INFILTRATOR, 458, 73, 100, 60, 100, 60, 65, 90, 70, 160, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.LUNATONE, 3, false, false, false, "Meteorite Pokémon", PokemonType.ROCK, PokemonType.PSYCHIC, 1, 168, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 460, 90, 55, 65, 95, 85, 70, 45, 50, 161, GrowthRate.FAST, null, false), - new PokemonSpecies(Species.SOLROCK, 3, false, false, false, "Meteorite Pokémon", PokemonType.ROCK, PokemonType.PSYCHIC, 1.2, 154, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 460, 90, 95, 85, 55, 65, 70, 45, 50, 161, GrowthRate.FAST, null, false), - new PokemonSpecies(Species.BARBOACH, 3, false, false, false, "Whiskers Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.4, 1.9, Abilities.OBLIVIOUS, Abilities.ANTICIPATION, Abilities.HYDRATION, 288, 50, 48, 43, 46, 41, 60, 190, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WHISCASH, 3, false, false, false, "Whiskers Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.9, 23.6, Abilities.OBLIVIOUS, Abilities.ANTICIPATION, Abilities.HYDRATION, 468, 110, 78, 73, 76, 71, 60, 75, 50, 164, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CORPHISH, 3, false, false, false, "Ruffian Pokémon", PokemonType.WATER, null, 0.6, 11.5, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.ADAPTABILITY, 308, 43, 80, 65, 50, 35, 35, 205, 50, 62, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.CRAWDAUNT, 3, false, false, false, "Rogue Pokémon", PokemonType.WATER, PokemonType.DARK, 1.1, 32.8, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.ADAPTABILITY, 468, 63, 120, 85, 90, 55, 55, 155, 50, 164, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.BALTOY, 3, false, false, false, "Clay Doll Pokémon", PokemonType.GROUND, PokemonType.PSYCHIC, 0.5, 21.5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 300, 40, 40, 55, 40, 70, 55, 255, 50, 60, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.CLAYDOL, 3, false, false, false, "Clay Doll Pokémon", PokemonType.GROUND, PokemonType.PSYCHIC, 1.5, 108, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 500, 60, 70, 105, 70, 120, 75, 90, 50, 175, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.LILEEP, 3, false, false, false, "Sea Lily Pokémon", PokemonType.ROCK, PokemonType.GRASS, 1, 23.8, Abilities.SUCTION_CUPS, Abilities.NONE, Abilities.STORM_DRAIN, 355, 66, 41, 77, 61, 87, 23, 45, 50, 71, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.CRADILY, 3, false, false, false, "Barnacle Pokémon", PokemonType.ROCK, PokemonType.GRASS, 1.5, 60.4, Abilities.SUCTION_CUPS, Abilities.NONE, Abilities.STORM_DRAIN, 495, 86, 81, 97, 81, 107, 43, 45, 50, 173, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.ANORITH, 3, false, false, false, "Old Shrimp Pokémon", PokemonType.ROCK, PokemonType.BUG, 0.7, 12.5, Abilities.BATTLE_ARMOR, Abilities.NONE, Abilities.SWIFT_SWIM, 355, 45, 95, 50, 40, 50, 75, 45, 50, 71, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.ARMALDO, 3, false, false, false, "Plate Pokémon", PokemonType.ROCK, PokemonType.BUG, 1.5, 68.2, Abilities.BATTLE_ARMOR, Abilities.NONE, Abilities.SWIFT_SWIM, 495, 75, 125, 100, 70, 80, 45, 45, 50, 173, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.FEEBAS, 3, false, false, false, "Fish Pokémon", PokemonType.WATER, null, 0.6, 7.4, Abilities.SWIFT_SWIM, Abilities.OBLIVIOUS, Abilities.ADAPTABILITY, 200, 20, 15, 20, 10, 55, 80, 255, 50, 40, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.MILOTIC, 3, false, false, false, "Tender Pokémon", PokemonType.WATER, null, 6.2, 162, Abilities.MARVEL_SCALE, Abilities.COMPETITIVE, Abilities.CUTE_CHARM, 540, 95, 60, 79, 100, 125, 81, 60, 50, 189, GrowthRate.ERRATIC, 50, true), - new PokemonSpecies(Species.CASTFORM, 3, false, false, false, "Weather Pokémon", PokemonType.NORMAL, null, 0.3, 0.8, Abilities.FORECAST, Abilities.NONE, Abilities.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal Form", "", PokemonType.NORMAL, null, 0.3, 0.8, Abilities.FORECAST, Abilities.NONE, Abilities.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147, false, null, true), - new PokemonForm("Sunny Form", "sunny", PokemonType.FIRE, null, 0.3, 0.8, Abilities.FORECAST, Abilities.NONE, Abilities.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147), - new PokemonForm("Rainy Form", "rainy", PokemonType.WATER, null, 0.3, 0.8, Abilities.FORECAST, Abilities.NONE, Abilities.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147), - new PokemonForm("Snowy Form", "snowy", PokemonType.ICE, null, 0.3, 0.8, Abilities.FORECAST, Abilities.NONE, Abilities.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147), - ), - new PokemonSpecies(Species.KECLEON, 3, false, false, false, "Color Swap Pokémon", PokemonType.NORMAL, null, 1, 22, Abilities.COLOR_CHANGE, Abilities.NONE, Abilities.PROTEAN, 440, 60, 90, 70, 60, 120, 40, 200, 70, 154, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SHUPPET, 3, false, false, false, "Puppet Pokémon", PokemonType.GHOST, null, 0.6, 2.3, Abilities.INSOMNIA, Abilities.FRISK, Abilities.CURSED_BODY, 295, 44, 75, 35, 63, 33, 45, 225, 35, 59, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.BANETTE, 3, false, false, false, "Marionette Pokémon", PokemonType.GHOST, null, 1.1, 12.5, Abilities.INSOMNIA, Abilities.FRISK, Abilities.CURSED_BODY, 455, 64, 115, 65, 83, 63, 65, 45, 35, 159, GrowthRate.FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.GHOST, null, 1.1, 12.5, Abilities.INSOMNIA, Abilities.FRISK, Abilities.CURSED_BODY, 455, 64, 115, 65, 83, 63, 65, 45, 35, 159, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GHOST, null, 1.2, 13, Abilities.PRANKSTER, Abilities.PRANKSTER, Abilities.PRANKSTER, 555, 64, 165, 75, 93, 83, 75, 45, 35, 159), - ), - new PokemonSpecies(Species.DUSKULL, 3, false, false, false, "Requiem Pokémon", PokemonType.GHOST, null, 0.8, 15, Abilities.LEVITATE, Abilities.NONE, Abilities.FRISK, 295, 20, 40, 90, 30, 90, 25, 190, 35, 59, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.DUSCLOPS, 3, false, false, false, "Beckon Pokémon", PokemonType.GHOST, null, 1.6, 30.6, Abilities.PRESSURE, Abilities.NONE, Abilities.FRISK, 455, 40, 70, 130, 60, 130, 25, 90, 35, 159, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.TROPIUS, 3, false, false, false, "Fruit Pokémon", PokemonType.GRASS, PokemonType.FLYING, 2, 100, Abilities.CHLOROPHYLL, Abilities.SOLAR_POWER, Abilities.HARVEST, 460, 99, 68, 83, 72, 87, 51, 200, 70, 161, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.CHIMECHO, 3, false, false, false, "Wind Chime Pokémon", PokemonType.PSYCHIC, null, 0.6, 1, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 455, 75, 50, 80, 95, 90, 65, 45, 70, 159, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.ABSOL, 3, false, false, false, "Disaster Pokémon", PokemonType.DARK, null, 1.2, 47, Abilities.PRESSURE, Abilities.SUPER_LUCK, Abilities.JUSTIFIED, 465, 65, 130, 60, 75, 60, 75, 30, 35, 163, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.DARK, null, 1.2, 47, Abilities.PRESSURE, Abilities.SUPER_LUCK, Abilities.JUSTIFIED, 465, 65, 130, 60, 75, 60, 75, 30, 35, 163, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DARK, null, 1.2, 49, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, 565, 65, 150, 60, 115, 60, 115, 30, 35, 163), - ), - new PokemonSpecies(Species.WYNAUT, 3, false, false, false, "Bright Pokémon", PokemonType.PSYCHIC, null, 0.6, 14, Abilities.SHADOW_TAG, Abilities.NONE, Abilities.TELEPATHY, 260, 95, 23, 48, 23, 48, 23, 125, 50, 52, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SNORUNT, 3, false, false, false, "Snow Hat Pokémon", PokemonType.ICE, null, 0.7, 16.8, Abilities.INNER_FOCUS, Abilities.ICE_BODY, Abilities.MOODY, 300, 50, 50, 50, 50, 50, 50, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GLALIE, 3, false, false, false, "Face Pokémon", PokemonType.ICE, null, 1.5, 256.5, Abilities.INNER_FOCUS, Abilities.ICE_BODY, Abilities.MOODY, 480, 80, 80, 80, 80, 80, 80, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.ICE, null, 1.5, 256.5, Abilities.INNER_FOCUS, Abilities.ICE_BODY, Abilities.MOODY, 480, 80, 80, 80, 80, 80, 80, 75, 50, 168, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ICE, null, 2.1, 350.2, Abilities.REFRIGERATE, Abilities.REFRIGERATE, Abilities.REFRIGERATE, 580, 80, 120, 80, 120, 80, 100, 75, 50, 168), - ), - new PokemonSpecies(Species.SPHEAL, 3, false, false, false, "Clap Pokémon", PokemonType.ICE, PokemonType.WATER, 0.8, 39.5, Abilities.THICK_FAT, Abilities.ICE_BODY, Abilities.OBLIVIOUS, 290, 70, 40, 50, 55, 50, 25, 255, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SEALEO, 3, false, false, false, "Ball Roll Pokémon", PokemonType.ICE, PokemonType.WATER, 1.1, 87.6, Abilities.THICK_FAT, Abilities.ICE_BODY, Abilities.OBLIVIOUS, 410, 90, 60, 70, 75, 70, 45, 120, 50, 144, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.WALREIN, 3, false, false, false, "Ice Break Pokémon", PokemonType.ICE, PokemonType.WATER, 1.4, 150.6, Abilities.THICK_FAT, Abilities.ICE_BODY, Abilities.OBLIVIOUS, 530, 110, 80, 90, 95, 90, 65, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CLAMPERL, 3, false, false, false, "Bivalve Pokémon", PokemonType.WATER, null, 0.4, 52.5, Abilities.SHELL_ARMOR, Abilities.NONE, Abilities.RATTLED, 345, 35, 64, 85, 74, 55, 32, 255, 70, 69, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.HUNTAIL, 3, false, false, false, "Deep Sea Pokémon", PokemonType.WATER, null, 1.7, 27, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.WATER_VEIL, 485, 55, 104, 105, 94, 75, 52, 60, 70, 170, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.GOREBYSS, 3, false, false, false, "South Sea Pokémon", PokemonType.WATER, null, 1.8, 22.6, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.HYDRATION, 485, 55, 84, 105, 114, 75, 52, 60, 70, 170, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.RELICANTH, 3, false, false, false, "Longevity Pokémon", PokemonType.WATER, PokemonType.ROCK, 1, 23.4, Abilities.SWIFT_SWIM, Abilities.ROCK_HEAD, Abilities.STURDY, 485, 100, 90, 130, 45, 65, 55, 25, 50, 170, GrowthRate.SLOW, 87.5, true), - new PokemonSpecies(Species.LUVDISC, 3, false, false, false, "Rendezvous Pokémon", PokemonType.WATER, null, 0.6, 8.7, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.HYDRATION, 330, 43, 30, 55, 40, 65, 97, 225, 70, 116, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.BAGON, 3, false, false, false, "Rock Head Pokémon", PokemonType.DRAGON, null, 0.6, 42.1, Abilities.ROCK_HEAD, Abilities.NONE, Abilities.SHEER_FORCE, 300, 45, 75, 60, 40, 30, 50, 45, 35, 60, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.SHELGON, 3, false, false, false, "Endurance Pokémon", PokemonType.DRAGON, null, 1.1, 110.5, Abilities.ROCK_HEAD, Abilities.NONE, Abilities.OVERCOAT, 420, 65, 95, 100, 60, 50, 50, 45, 35, 147, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.SALAMENCE, 3, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 1.5, 102.6, Abilities.INTIMIDATE, Abilities.NONE, Abilities.MOXIE, 600, 95, 135, 80, 110, 80, 100, 45, 35, 300, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.FLYING, 1.5, 102.6, Abilities.INTIMIDATE, Abilities.NONE, Abilities.MOXIE, 600, 95, 135, 80, 110, 80, 100, 45, 35, 300, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.FLYING, 1.8, 112.6, Abilities.AERILATE, Abilities.NONE, Abilities.AERILATE, 700, 95, 145, 130, 120, 90, 120, 45, 35, 300), - ), - new PokemonSpecies(Species.BELDUM, 3, false, false, false, "Iron Ball Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 0.6, 95.2, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.LIGHT_METAL, 300, 40, 55, 80, 35, 60, 30, 45, 35, 60, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Frigibax - new PokemonSpecies(Species.METANG, 3, false, false, false, "Iron Claw Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.2, 202.5, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.LIGHT_METAL, 420, 60, 75, 100, 55, 80, 50, 25, 35, 147, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Arctibax - new PokemonSpecies(Species.METAGROSS, 3, false, false, false, "Iron Leg Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.6, 550, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.LIGHT_METAL, 600, 80, 135, 130, 95, 90, 70, 10, 35, 300, GrowthRate.SLOW, null, false, true, //Custom Catchrate, matching Baxcalibur - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.PSYCHIC, 1.6, 550, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.LIGHT_METAL, 600, 80, 135, 130, 95, 90, 70, 3, 35, 300, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, PokemonType.PSYCHIC, 2.5, 942.9, Abilities.TOUGH_CLAWS, Abilities.NONE, Abilities.TOUGH_CLAWS, 700, 80, 145, 150, 105, 110, 110, 3, 35, 300), - ), - new PokemonSpecies(Species.REGIROCK, 3, true, false, false, "Rock Peak Pokémon", PokemonType.ROCK, null, 1.7, 230, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.STURDY, 580, 80, 100, 200, 50, 100, 50, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.REGICE, 3, true, false, false, "Iceberg Pokémon", PokemonType.ICE, null, 1.8, 175, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.ICE_BODY, 580, 80, 50, 100, 100, 200, 50, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.REGISTEEL, 3, true, false, false, "Iron Pokémon", PokemonType.STEEL, null, 1.9, 205, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.LIGHT_METAL, 580, 80, 75, 150, 75, 150, 50, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.LATIAS, 3, true, false, false, "Eon Pokémon", PokemonType.DRAGON, PokemonType.PSYCHIC, 1.4, 40, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 600, 80, 80, 90, 110, 130, 110, 3, 90, 300, GrowthRate.SLOW, 0, false, true, - new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.PSYCHIC, 1.4, 40, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 600, 80, 80, 90, 110, 130, 110, 3, 90, 300, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.PSYCHIC, 1.8, 52, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 700, 80, 100, 120, 140, 150, 110, 3, 90, 300), - ), - new PokemonSpecies(Species.LATIOS, 3, true, false, false, "Eon Pokémon", PokemonType.DRAGON, PokemonType.PSYCHIC, 2, 60, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 600, 80, 90, 80, 130, 110, 110, 3, 90, 300, GrowthRate.SLOW, 100, false, true, - new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.PSYCHIC, 2, 60, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 600, 80, 90, 80, 130, 110, 110, 3, 90, 300, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.PSYCHIC, 2.3, 70, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 700, 80, 130, 100, 160, 120, 110, 3, 90, 300), - ), - new PokemonSpecies(Species.KYOGRE, 3, false, true, false, "Sea Basin Pokémon", PokemonType.WATER, null, 4.5, 352, Abilities.DRIZZLE, Abilities.NONE, Abilities.NONE, 670, 100, 100, 90, 150, 140, 90, 3, 0, 335, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, null, 4.5, 352, Abilities.DRIZZLE, Abilities.NONE, Abilities.NONE, 670, 100, 100, 90, 150, 140, 90, 3, 0, 335, false, null, true), - new PokemonForm("Primal", "primal", PokemonType.WATER, null, 9.8, 430, Abilities.PRIMORDIAL_SEA, Abilities.NONE, Abilities.NONE, 770, 100, 150, 90, 180, 160, 90, 3, 0, 335), - ), - new PokemonSpecies(Species.GROUDON, 3, false, true, false, "Continent Pokémon", PokemonType.GROUND, null, 3.5, 950, Abilities.DROUGHT, Abilities.NONE, Abilities.NONE, 670, 100, 150, 140, 100, 90, 90, 3, 0, 335, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.GROUND, null, 3.5, 950, Abilities.DROUGHT, Abilities.NONE, Abilities.NONE, 670, 100, 150, 140, 100, 90, 90, 3, 0, 335, false, null, true), - new PokemonForm("Primal", "primal", PokemonType.GROUND, PokemonType.FIRE, 5, 999.7, Abilities.DESOLATE_LAND, Abilities.NONE, Abilities.NONE, 770, 100, 180, 160, 150, 90, 90, 3, 0, 335), - ), - new PokemonSpecies(Species.RAYQUAZA, 3, false, true, false, "Sky High Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 7, 206.5, Abilities.AIR_LOCK, Abilities.NONE, Abilities.NONE, 680, 105, 150, 90, 150, 90, 95, 45, 0, 340, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.FLYING, 7, 206.5, Abilities.AIR_LOCK, Abilities.NONE, Abilities.NONE, 680, 105, 150, 90, 150, 90, 95, 45, 0, 340, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.FLYING, 10.8, 392, Abilities.DELTA_STREAM, Abilities.NONE, Abilities.NONE, 780, 105, 180, 100, 180, 100, 115, 45, 0, 340), - ), - new PokemonSpecies(Species.JIRACHI, 3, false, false, true, "Wish Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 0.3, 1.1, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 100, 300, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.DEOXYS, 3, false, false, true, "DNA Pokémon", PokemonType.PSYCHIC, null, 1.7, 60.8, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 600, 50, 150, 50, 150, 50, 150, 3, 0, 300, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal Forme", "normal", PokemonType.PSYCHIC, null, 1.7, 60.8, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 600, 50, 150, 50, 150, 50, 150, 3, 0, 300, false, "", true), - new PokemonForm("Attack Forme", "attack", PokemonType.PSYCHIC, null, 1.7, 60.8, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 600, 50, 180, 20, 180, 20, 150, 3, 0, 300), - new PokemonForm("Defense Forme", "defense", PokemonType.PSYCHIC, null, 1.7, 60.8, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 600, 50, 70, 160, 70, 160, 90, 3, 0, 300), - new PokemonForm("Speed Forme", "speed", PokemonType.PSYCHIC, null, 1.7, 60.8, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 600, 50, 95, 90, 95, 90, 180, 3, 0, 300), - ), - new PokemonSpecies(Species.TURTWIG, 4, false, false, false, "Tiny Leaf Pokémon", PokemonType.GRASS, null, 0.4, 10.2, Abilities.OVERGROW, Abilities.NONE, Abilities.SHELL_ARMOR, 318, 55, 68, 64, 45, 55, 31, 45, 70, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.GROTLE, 4, false, false, false, "Grove Pokémon", PokemonType.GRASS, null, 1.1, 97, Abilities.OVERGROW, Abilities.NONE, Abilities.SHELL_ARMOR, 405, 75, 89, 85, 55, 65, 36, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.TORTERRA, 4, false, false, false, "Continent Pokémon", PokemonType.GRASS, PokemonType.GROUND, 2.2, 310, Abilities.OVERGROW, Abilities.NONE, Abilities.SHELL_ARMOR, 525, 95, 109, 105, 75, 85, 56, 45, 70, 263, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.CHIMCHAR, 4, false, false, false, "Chimp Pokémon", PokemonType.FIRE, null, 0.5, 6.2, Abilities.BLAZE, Abilities.NONE, Abilities.IRON_FIST, 309, 44, 58, 44, 58, 44, 61, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.MONFERNO, 4, false, false, false, "Playful Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 0.9, 22, Abilities.BLAZE, Abilities.NONE, Abilities.IRON_FIST, 405, 64, 78, 52, 78, 52, 81, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.INFERNAPE, 4, false, false, false, "Flame Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1.2, 55, Abilities.BLAZE, Abilities.NONE, Abilities.IRON_FIST, 534, 76, 104, 71, 104, 71, 108, 45, 70, 267, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.PIPLUP, 4, false, false, false, "Penguin Pokémon", PokemonType.WATER, null, 0.4, 5.2, Abilities.TORRENT, Abilities.NONE, Abilities.COMPETITIVE, 314, 53, 51, 53, 61, 56, 40, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.PRINPLUP, 4, false, false, false, "Penguin Pokémon", PokemonType.WATER, null, 0.8, 23, Abilities.TORRENT, Abilities.NONE, Abilities.COMPETITIVE, 405, 64, 66, 68, 81, 76, 50, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.EMPOLEON, 4, false, false, false, "Emperor Pokémon", PokemonType.WATER, PokemonType.STEEL, 1.7, 84.5, Abilities.TORRENT, Abilities.NONE, Abilities.COMPETITIVE, 530, 84, 86, 88, 111, 101, 60, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.STARLY, 4, false, false, false, "Starling Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2, Abilities.KEEN_EYE, Abilities.NONE, Abilities.RECKLESS, 245, 40, 55, 30, 30, 30, 60, 255, 70, 49, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.STARAVIA, 4, false, false, false, "Starling Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 15.5, Abilities.INTIMIDATE, Abilities.NONE, Abilities.RECKLESS, 340, 55, 75, 50, 40, 40, 80, 120, 70, 119, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.STARAPTOR, 4, false, false, false, "Predator Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.2, 24.9, Abilities.INTIMIDATE, Abilities.NONE, Abilities.RECKLESS, 485, 85, 120, 70, 50, 60, 100, 45, 70, 243, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.BIDOOF, 4, false, false, false, "Plump Mouse Pokémon", PokemonType.NORMAL, null, 0.5, 20, Abilities.SIMPLE, Abilities.UNAWARE, Abilities.MOODY, 250, 59, 45, 40, 35, 40, 31, 255, 70, 50, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.BIBAREL, 4, false, false, false, "Beaver Pokémon", PokemonType.NORMAL, PokemonType.WATER, 1, 31.5, Abilities.SIMPLE, Abilities.UNAWARE, Abilities.MOODY, 410, 79, 85, 60, 55, 60, 71, 127, 70, 144, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.KRICKETOT, 4, false, false, false, "Cricket Pokémon", PokemonType.BUG, null, 0.3, 2.2, Abilities.SHED_SKIN, Abilities.NONE, Abilities.RUN_AWAY, 194, 37, 25, 41, 25, 41, 25, 255, 70, 39, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.KRICKETUNE, 4, false, false, false, "Cricket Pokémon", PokemonType.BUG, null, 1, 25.5, Abilities.SWARM, Abilities.NONE, Abilities.TECHNICIAN, 384, 77, 85, 51, 55, 51, 65, 45, 70, 134, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.SHINX, 4, false, false, false, "Flash Pokémon", PokemonType.ELECTRIC, null, 0.5, 9.5, Abilities.RIVALRY, Abilities.INTIMIDATE, Abilities.GUTS, 263, 45, 65, 34, 40, 34, 45, 235, 50, 53, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.LUXIO, 4, false, false, false, "Spark Pokémon", PokemonType.ELECTRIC, null, 0.9, 30.5, Abilities.RIVALRY, Abilities.INTIMIDATE, Abilities.GUTS, 363, 60, 85, 49, 60, 49, 60, 120, 100, 127, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.LUXRAY, 4, false, false, false, "Gleam Eyes Pokémon", PokemonType.ELECTRIC, null, 1.4, 42, Abilities.RIVALRY, Abilities.INTIMIDATE, Abilities.GUTS, 523, 80, 120, 79, 95, 79, 70, 45, 50, 262, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.BUDEW, 4, false, false, false, "Bud Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.2, 1.2, Abilities.NATURAL_CURE, Abilities.POISON_POINT, Abilities.LEAF_GUARD, 280, 40, 30, 35, 50, 70, 55, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ROSERADE, 4, false, false, false, "Bouquet Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.9, 14.5, Abilities.NATURAL_CURE, Abilities.POISON_POINT, Abilities.TECHNICIAN, 515, 60, 70, 65, 125, 105, 90, 75, 50, 258, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.CRANIDOS, 4, false, false, false, "Head Butt Pokémon", PokemonType.ROCK, null, 0.9, 31.5, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.SHEER_FORCE, 350, 67, 125, 40, 30, 30, 58, 45, 70, 70, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.RAMPARDOS, 4, false, false, false, "Head Butt Pokémon", PokemonType.ROCK, null, 1.6, 102.5, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.SHEER_FORCE, 495, 97, 165, 60, 65, 50, 58, 45, 70, 173, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.SHIELDON, 4, false, false, false, "Shield Pokémon", PokemonType.ROCK, PokemonType.STEEL, 0.5, 57, Abilities.STURDY, Abilities.NONE, Abilities.SOUNDPROOF, 350, 30, 42, 118, 42, 88, 30, 45, 70, 70, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.BASTIODON, 4, false, false, false, "Shield Pokémon", PokemonType.ROCK, PokemonType.STEEL, 1.3, 149.5, Abilities.STURDY, Abilities.NONE, Abilities.SOUNDPROOF, 495, 60, 52, 168, 47, 138, 30, 45, 70, 173, GrowthRate.ERRATIC, 87.5, false), - new PokemonSpecies(Species.BURMY, 4, false, false, false, "Bagworm Pokémon", PokemonType.BUG, null, 0.2, 3.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Plant Cloak", "plant", PokemonType.BUG, null, 0.2, 3.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, false, null, true), - new PokemonForm("Sandy Cloak", "sandy", PokemonType.BUG, null, 0.2, 3.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, false, null, true), - new PokemonForm("Trash Cloak", "trash", PokemonType.BUG, null, 0.2, 3.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, false, null, true), - ), - new PokemonSpecies(Species.WORMADAM, 4, false, false, false, "Bagworm Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.5, 6.5, Abilities.ANTICIPATION, Abilities.NONE, Abilities.OVERCOAT, 424, 60, 59, 85, 79, 105, 36, 45, 70, 148, GrowthRate.MEDIUM_FAST, 0, false, false, - new PokemonForm("Plant Cloak", "plant", PokemonType.BUG, PokemonType.GRASS, 0.5, 6.5, Abilities.ANTICIPATION, Abilities.NONE, Abilities.OVERCOAT, 424, 60, 59, 85, 79, 105, 36, 45, 70, 148, false, null, true), - new PokemonForm("Sandy Cloak", "sandy", PokemonType.BUG, PokemonType.GROUND, 0.5, 6.5, Abilities.ANTICIPATION, Abilities.NONE, Abilities.OVERCOAT, 424, 60, 79, 105, 59, 85, 36, 45, 70, 148, false, null, true), - new PokemonForm("Trash Cloak", "trash", PokemonType.BUG, PokemonType.STEEL, 0.5, 6.5, Abilities.ANTICIPATION, Abilities.NONE, Abilities.OVERCOAT, 424, 60, 69, 95, 69, 95, 36, 45, 70, 148, false, null, true), - ), - new PokemonSpecies(Species.MOTHIM, 4, false, false, false, "Moth Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.9, 23.3, Abilities.SWARM, Abilities.NONE, Abilities.TINTED_LENS, 424, 70, 94, 50, 94, 50, 66, 45, 70, 148, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.COMBEE, 4, false, false, false, "Tiny Bee Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.3, 5.5, Abilities.HONEY_GATHER, Abilities.NONE, Abilities.HUSTLE, 244, 30, 30, 42, 30, 42, 70, 120, 50, 49, GrowthRate.MEDIUM_SLOW, 87.5, true), - new PokemonSpecies(Species.VESPIQUEN, 4, false, false, false, "Beehive Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.2, 38.5, Abilities.PRESSURE, Abilities.NONE, Abilities.UNNERVE, 474, 70, 80, 102, 80, 102, 40, 45, 50, 166, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.PACHIRISU, 4, false, false, false, "EleSquirrel Pokémon", PokemonType.ELECTRIC, null, 0.4, 3.9, Abilities.RUN_AWAY, Abilities.PICKUP, Abilities.VOLT_ABSORB, 405, 60, 45, 70, 45, 90, 95, 200, 100, 142, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.BUIZEL, 4, false, false, false, "Sea Weasel Pokémon", PokemonType.WATER, null, 0.7, 29.5, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.WATER_VEIL, 330, 55, 65, 35, 60, 30, 85, 190, 70, 66, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.FLOATZEL, 4, false, false, false, "Sea Weasel Pokémon", PokemonType.WATER, null, 1.1, 33.5, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.WATER_VEIL, 495, 85, 105, 55, 85, 50, 115, 75, 70, 173, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.CHERUBI, 4, false, false, false, "Cherry Pokémon", PokemonType.GRASS, null, 0.4, 3.3, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.NONE, 275, 45, 35, 45, 62, 53, 35, 190, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CHERRIM, 4, false, false, false, "Blossom Pokémon", PokemonType.GRASS, null, 0.5, 9.3, Abilities.FLOWER_GIFT, Abilities.NONE, Abilities.NONE, 450, 70, 60, 70, 87, 78, 85, 75, 50, 158, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Overcast Form", "overcast", PokemonType.GRASS, null, 0.5, 9.3, Abilities.FLOWER_GIFT, Abilities.NONE, Abilities.NONE, 450, 70, 60, 70, 87, 78, 85, 75, 50, 158, false, null, true), - new PokemonForm("Sunshine Form", "sunshine", PokemonType.GRASS, null, 0.5, 9.3, Abilities.FLOWER_GIFT, Abilities.NONE, Abilities.NONE, 450, 70, 60, 70, 87, 78, 85, 75, 50, 158), - ), - new PokemonSpecies(Species.SHELLOS, 4, false, false, false, "Sea Slug Pokémon", PokemonType.WATER, null, 0.3, 6.3, Abilities.STICKY_HOLD, Abilities.STORM_DRAIN, Abilities.SAND_FORCE, 325, 76, 48, 48, 57, 62, 34, 190, 50, 65, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("East Sea", "east", PokemonType.WATER, null, 0.3, 6.3, Abilities.STICKY_HOLD, Abilities.STORM_DRAIN, Abilities.SAND_FORCE, 325, 76, 48, 48, 57, 62, 34, 190, 50, 65, false, null, true), - new PokemonForm("West Sea", "west", PokemonType.WATER, null, 0.3, 6.3, Abilities.STICKY_HOLD, Abilities.STORM_DRAIN, Abilities.SAND_FORCE, 325, 76, 48, 48, 57, 62, 34, 190, 50, 65, false, null, true), - ), - new PokemonSpecies(Species.GASTRODON, 4, false, false, false, "Sea Slug Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.9, 29.9, Abilities.STICKY_HOLD, Abilities.STORM_DRAIN, Abilities.SAND_FORCE, 475, 111, 83, 68, 92, 82, 39, 75, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("East Sea", "east", PokemonType.WATER, PokemonType.GROUND, 0.9, 29.9, Abilities.STICKY_HOLD, Abilities.STORM_DRAIN, Abilities.SAND_FORCE, 475, 111, 83, 68, 92, 82, 39, 75, 50, 166, false, null, true), - new PokemonForm("West Sea", "west", PokemonType.WATER, PokemonType.GROUND, 0.9, 29.9, Abilities.STICKY_HOLD, Abilities.STORM_DRAIN, Abilities.SAND_FORCE, 475, 111, 83, 68, 92, 82, 39, 75, 50, 166, false, null, true), - ), - new PokemonSpecies(Species.AMBIPOM, 4, false, false, false, "Long Tail Pokémon", PokemonType.NORMAL, null, 1.2, 20.3, Abilities.TECHNICIAN, Abilities.PICKUP, Abilities.SKILL_LINK, 482, 75, 100, 66, 60, 66, 115, 45, 100, 169, GrowthRate.FAST, 50, true), - new PokemonSpecies(Species.DRIFLOON, 4, false, false, false, "Balloon Pokémon", PokemonType.GHOST, PokemonType.FLYING, 0.4, 1.2, Abilities.AFTERMATH, Abilities.UNBURDEN, Abilities.FLARE_BOOST, 348, 90, 50, 34, 60, 44, 70, 125, 50, 70, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.DRIFBLIM, 4, false, false, false, "Blimp Pokémon", PokemonType.GHOST, PokemonType.FLYING, 1.2, 15, Abilities.AFTERMATH, Abilities.UNBURDEN, Abilities.FLARE_BOOST, 498, 150, 80, 44, 90, 54, 80, 60, 50, 174, GrowthRate.FLUCTUATING, 50, false), - new PokemonSpecies(Species.BUNEARY, 4, false, false, false, "Rabbit Pokémon", PokemonType.NORMAL, null, 0.4, 5.5, Abilities.RUN_AWAY, Abilities.KLUTZ, Abilities.LIMBER, 350, 55, 66, 44, 44, 56, 85, 190, 0, 70, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LOPUNNY, 4, false, false, false, "Rabbit Pokémon", PokemonType.NORMAL, null, 1.2, 33.3, Abilities.CUTE_CHARM, Abilities.KLUTZ, Abilities.LIMBER, 480, 65, 76, 84, 54, 96, 105, 60, 140, 168, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.NORMAL, null, 1.2, 33.3, Abilities.CUTE_CHARM, Abilities.KLUTZ, Abilities.LIMBER, 480, 65, 76, 84, 54, 96, 105, 60, 140, 168, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, PokemonType.FIGHTING, 1.3, 28.3, Abilities.SCRAPPY, Abilities.SCRAPPY, Abilities.SCRAPPY, 580, 65, 136, 94, 54, 96, 135, 60, 140, 168), - ), - new PokemonSpecies(Species.MISMAGIUS, 4, false, false, false, "Magical Pokémon", PokemonType.GHOST, null, 0.9, 4.4, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 495, 60, 60, 60, 105, 105, 105, 45, 35, 173, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.HONCHKROW, 4, false, false, false, "Big Boss Pokémon", PokemonType.DARK, PokemonType.FLYING, 0.9, 27.3, Abilities.INSOMNIA, Abilities.SUPER_LUCK, Abilities.MOXIE, 505, 100, 125, 52, 105, 52, 71, 30, 35, 177, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GLAMEOW, 4, false, false, false, "Catty Pokémon", PokemonType.NORMAL, null, 0.5, 3.9, Abilities.LIMBER, Abilities.OWN_TEMPO, Abilities.KEEN_EYE, 310, 49, 55, 42, 42, 37, 85, 190, 70, 62, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.PURUGLY, 4, false, false, false, "Tiger Cat Pokémon", PokemonType.NORMAL, null, 1, 43.8, Abilities.THICK_FAT, Abilities.OWN_TEMPO, Abilities.DEFIANT, 452, 71, 82, 64, 64, 59, 112, 75, 70, 158, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.CHINGLING, 4, false, false, false, "Bell Pokémon", PokemonType.PSYCHIC, null, 0.2, 0.6, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 285, 45, 30, 50, 65, 50, 45, 120, 70, 57, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.STUNKY, 4, false, false, false, "Skunk Pokémon", PokemonType.POISON, PokemonType.DARK, 0.4, 19.2, Abilities.STENCH, Abilities.AFTERMATH, Abilities.KEEN_EYE, 329, 63, 63, 47, 41, 41, 74, 225, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SKUNTANK, 4, false, false, false, "Skunk Pokémon", PokemonType.POISON, PokemonType.DARK, 1, 38, Abilities.STENCH, Abilities.AFTERMATH, Abilities.KEEN_EYE, 479, 103, 93, 67, 71, 61, 84, 60, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BRONZOR, 4, false, false, false, "Bronze Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 0.5, 60.5, Abilities.LEVITATE, Abilities.HEATPROOF, Abilities.HEAVY_METAL, 300, 57, 24, 86, 24, 86, 23, 255, 50, 60, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.BRONZONG, 4, false, false, false, "Bronze Bell Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.3, 187, Abilities.LEVITATE, Abilities.HEATPROOF, Abilities.HEAVY_METAL, 500, 67, 89, 116, 79, 116, 33, 90, 50, 175, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.BONSLY, 4, false, false, false, "Bonsai Pokémon", PokemonType.ROCK, null, 0.5, 15, Abilities.STURDY, Abilities.ROCK_HEAD, Abilities.RATTLED, 290, 50, 80, 95, 10, 45, 10, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MIME_JR, 4, false, false, false, "Mime Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 0.6, 13, Abilities.SOUNDPROOF, Abilities.FILTER, Abilities.TECHNICIAN, 310, 20, 25, 45, 70, 90, 60, 145, 50, 62, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HAPPINY, 4, false, false, false, "Playhouse Pokémon", PokemonType.NORMAL, null, 0.6, 24.4, Abilities.NATURAL_CURE, Abilities.SERENE_GRACE, Abilities.FRIEND_GUARD, 220, 100, 5, 5, 15, 65, 30, 130, 140, 110, GrowthRate.FAST, 0, false), - new PokemonSpecies(Species.CHATOT, 4, false, false, false, "Music Note Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.5, 1.9, Abilities.KEEN_EYE, Abilities.TANGLED_FEET, Abilities.BIG_PECKS, 411, 76, 65, 45, 92, 42, 91, 30, 35, 144, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SPIRITOMB, 4, false, false, false, "Forbidden Pokémon", PokemonType.GHOST, PokemonType.DARK, 1, 108, Abilities.PRESSURE, Abilities.NONE, Abilities.INFILTRATOR, 485, 50, 92, 108, 92, 108, 35, 100, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GIBLE, 4, false, false, false, "Land Shark Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 0.7, 20.5, Abilities.SAND_VEIL, Abilities.NONE, Abilities.ROUGH_SKIN, 300, 58, 70, 45, 40, 45, 42, 45, 50, 60, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.GABITE, 4, false, false, false, "Cave Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 1.4, 56, Abilities.SAND_VEIL, Abilities.NONE, Abilities.ROUGH_SKIN, 410, 68, 90, 65, 50, 55, 82, 45, 50, 144, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.GARCHOMP, 4, false, false, false, "Mach Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 1.9, 95, Abilities.SAND_VEIL, Abilities.NONE, Abilities.ROUGH_SKIN, 600, 108, 130, 95, 80, 85, 102, 45, 50, 300, GrowthRate.SLOW, 50, true, true, - new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.GROUND, 1.9, 95, Abilities.SAND_VEIL, Abilities.NONE, Abilities.ROUGH_SKIN, 600, 108, 130, 95, 80, 85, 102, 45, 50, 300, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.GROUND, 1.9, 95, Abilities.SAND_FORCE, Abilities.NONE, Abilities.SAND_FORCE, 700, 108, 170, 115, 120, 95, 92, 45, 50, 300, true), - ), - new PokemonSpecies(Species.MUNCHLAX, 4, false, false, false, "Big Eater Pokémon", PokemonType.NORMAL, null, 0.6, 105, Abilities.PICKUP, Abilities.THICK_FAT, Abilities.GLUTTONY, 390, 135, 85, 40, 40, 85, 5, 50, 50, 78, GrowthRate.SLOW, 87.5, false), - new PokemonSpecies(Species.RIOLU, 4, false, false, false, "Emanation Pokémon", PokemonType.FIGHTING, null, 0.7, 20.2, Abilities.STEADFAST, Abilities.INNER_FOCUS, Abilities.PRANKSTER, 285, 40, 70, 40, 35, 40, 60, 75, 50, 57, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.LUCARIO, 4, false, false, false, "Aura Pokémon", PokemonType.FIGHTING, PokemonType.STEEL, 1.2, 54, Abilities.STEADFAST, Abilities.INNER_FOCUS, Abilities.JUSTIFIED, 525, 70, 110, 70, 115, 70, 90, 45, 50, 184, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.FIGHTING, PokemonType.STEEL, 1.2, 54, Abilities.STEADFAST, Abilities.INNER_FOCUS, Abilities.JUSTIFIED, 525, 70, 110, 70, 115, 70, 90, 45, 50, 184, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIGHTING, PokemonType.STEEL, 1.3, 57.5, Abilities.ADAPTABILITY, Abilities.ADAPTABILITY, Abilities.ADAPTABILITY, 625, 70, 145, 88, 140, 70, 112, 45, 50, 184), - ), - new PokemonSpecies(Species.HIPPOPOTAS, 4, false, false, false, "Hippo Pokémon", PokemonType.GROUND, null, 0.8, 49.5, Abilities.SAND_STREAM, Abilities.NONE, Abilities.SAND_FORCE, 330, 68, 72, 78, 38, 42, 32, 140, 50, 66, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.HIPPOWDON, 4, false, false, false, "Heavyweight Pokémon", PokemonType.GROUND, null, 2, 300, Abilities.SAND_STREAM, Abilities.NONE, Abilities.SAND_FORCE, 525, 108, 112, 118, 68, 72, 47, 60, 50, 184, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.SKORUPI, 4, false, false, false, "Scorpion Pokémon", PokemonType.POISON, PokemonType.BUG, 0.8, 12, Abilities.BATTLE_ARMOR, Abilities.SNIPER, Abilities.KEEN_EYE, 330, 40, 50, 90, 30, 55, 65, 120, 50, 66, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.DRAPION, 4, false, false, false, "Ogre Scorpion Pokémon", PokemonType.POISON, PokemonType.DARK, 1.3, 61.5, Abilities.BATTLE_ARMOR, Abilities.SNIPER, Abilities.KEEN_EYE, 500, 70, 90, 110, 60, 75, 95, 45, 50, 175, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.CROAGUNK, 4, false, false, false, "Toxic Mouth Pokémon", PokemonType.POISON, PokemonType.FIGHTING, 0.7, 23, Abilities.ANTICIPATION, Abilities.DRY_SKIN, Abilities.POISON_TOUCH, 300, 48, 61, 40, 61, 40, 50, 140, 100, 60, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.TOXICROAK, 4, false, false, false, "Toxic Mouth Pokémon", PokemonType.POISON, PokemonType.FIGHTING, 1.3, 44.4, Abilities.ANTICIPATION, Abilities.DRY_SKIN, Abilities.POISON_TOUCH, 490, 83, 106, 65, 86, 65, 85, 75, 50, 172, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.CARNIVINE, 4, false, false, false, "Bug Catcher Pokémon", PokemonType.GRASS, null, 1.4, 27, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 454, 74, 100, 72, 90, 72, 46, 200, 70, 159, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.FINNEON, 4, false, false, false, "Wing Fish Pokémon", PokemonType.WATER, null, 0.4, 7, Abilities.SWIFT_SWIM, Abilities.STORM_DRAIN, Abilities.WATER_VEIL, 330, 49, 49, 56, 49, 61, 66, 190, 70, 66, GrowthRate.ERRATIC, 50, true), - new PokemonSpecies(Species.LUMINEON, 4, false, false, false, "Neon Pokémon", PokemonType.WATER, null, 1.2, 24, Abilities.SWIFT_SWIM, Abilities.STORM_DRAIN, Abilities.WATER_VEIL, 460, 69, 69, 76, 69, 86, 91, 75, 70, 161, GrowthRate.ERRATIC, 50, true), - new PokemonSpecies(Species.MANTYKE, 4, false, false, false, "Kite Pokémon", PokemonType.WATER, PokemonType.FLYING, 1, 65, Abilities.SWIFT_SWIM, Abilities.WATER_ABSORB, Abilities.WATER_VEIL, 345, 45, 20, 50, 60, 120, 50, 25, 50, 69, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.SNOVER, 4, false, false, false, "Frost Tree Pokémon", PokemonType.GRASS, PokemonType.ICE, 1, 50.5, Abilities.SNOW_WARNING, Abilities.NONE, Abilities.SOUNDPROOF, 334, 60, 62, 50, 62, 60, 40, 120, 50, 67, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.ABOMASNOW, 4, false, false, false, "Frost Tree Pokémon", PokemonType.GRASS, PokemonType.ICE, 2.2, 135.5, Abilities.SNOW_WARNING, Abilities.NONE, Abilities.SOUNDPROOF, 494, 90, 92, 75, 92, 85, 60, 60, 50, 173, GrowthRate.SLOW, 50, true, true, - new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.ICE, 2.2, 135.5, Abilities.SNOW_WARNING, Abilities.NONE, Abilities.SOUNDPROOF, 494, 90, 92, 75, 92, 85, 60, 60, 50, 173, true, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GRASS, PokemonType.ICE, 2.7, 185, Abilities.SNOW_WARNING, Abilities.NONE, Abilities.SNOW_WARNING, 594, 90, 132, 105, 132, 105, 30, 60, 50, 173, true), - ), - new PokemonSpecies(Species.WEAVILE, 4, false, false, false, "Sharp Claw Pokémon", PokemonType.DARK, PokemonType.ICE, 1.1, 34, Abilities.PRESSURE, Abilities.NONE, Abilities.PICKPOCKET, 510, 70, 120, 65, 45, 85, 125, 45, 35, 179, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.MAGNEZONE, 4, false, false, false, "Magnet Area Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 1.2, 180, Abilities.MAGNET_PULL, Abilities.STURDY, Abilities.ANALYTIC, 535, 70, 70, 115, 130, 90, 60, 30, 50, 268, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.LICKILICKY, 4, false, false, false, "Licking Pokémon", PokemonType.NORMAL, null, 1.7, 140, Abilities.OWN_TEMPO, Abilities.OBLIVIOUS, Abilities.CLOUD_NINE, 515, 110, 85, 95, 80, 95, 50, 30, 50, 180, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RHYPERIOR, 4, false, false, false, "Drill Pokémon", PokemonType.GROUND, PokemonType.ROCK, 2.4, 282.8, Abilities.LIGHTNING_ROD, Abilities.SOLID_ROCK, Abilities.RECKLESS, 535, 115, 140, 130, 55, 55, 40, 30, 50, 268, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.TANGROWTH, 4, false, false, false, "Vine Pokémon", PokemonType.GRASS, null, 2, 128.6, Abilities.CHLOROPHYLL, Abilities.LEAF_GUARD, Abilities.REGENERATOR, 535, 100, 100, 125, 110, 50, 50, 30, 50, 187, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.ELECTIVIRE, 4, false, false, false, "Thunderbolt Pokémon", PokemonType.ELECTRIC, null, 1.8, 138.6, Abilities.MOTOR_DRIVE, Abilities.NONE, Abilities.VITAL_SPIRIT, 540, 75, 123, 67, 95, 85, 95, 30, 50, 270, GrowthRate.MEDIUM_FAST, 75, false), - new PokemonSpecies(Species.MAGMORTAR, 4, false, false, false, "Blast Pokémon", PokemonType.FIRE, null, 1.6, 68, Abilities.FLAME_BODY, Abilities.NONE, Abilities.VITAL_SPIRIT, 540, 75, 95, 67, 125, 95, 83, 30, 50, 270, GrowthRate.MEDIUM_FAST, 75, false), - new PokemonSpecies(Species.TOGEKISS, 4, false, false, false, "Jubilee Pokémon", PokemonType.FAIRY, PokemonType.FLYING, 1.5, 38, Abilities.HUSTLE, Abilities.SERENE_GRACE, Abilities.SUPER_LUCK, 545, 85, 50, 95, 120, 115, 80, 30, 50, 273, GrowthRate.FAST, 87.5, false), - new PokemonSpecies(Species.YANMEGA, 4, false, false, false, "Ogre Darner Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.9, 51.5, Abilities.SPEED_BOOST, Abilities.TINTED_LENS, Abilities.FRISK, 515, 86, 76, 86, 116, 56, 95, 30, 70, 180, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LEAFEON, 4, false, false, false, "Verdant Pokémon", PokemonType.GRASS, null, 1, 25.5, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.CHLOROPHYLL, 525, 65, 110, 130, 60, 65, 95, 45, 35, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.GLACEON, 4, false, false, false, "Fresh Snow Pokémon", PokemonType.ICE, null, 0.8, 25.9, Abilities.SNOW_CLOAK, Abilities.NONE, Abilities.ICE_BODY, 525, 65, 60, 110, 130, 95, 65, 45, 35, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.GLISCOR, 4, false, false, false, "Fang Scorpion Pokémon", PokemonType.GROUND, PokemonType.FLYING, 2, 42.5, Abilities.HYPER_CUTTER, Abilities.SAND_VEIL, Abilities.POISON_HEAL, 510, 75, 95, 125, 45, 75, 95, 30, 70, 179, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.MAMOSWINE, 4, false, false, false, "Twin Tusk Pokémon", PokemonType.ICE, PokemonType.GROUND, 2.5, 291, Abilities.OBLIVIOUS, Abilities.SNOW_CLOAK, Abilities.THICK_FAT, 530, 110, 130, 80, 70, 60, 80, 50, 50, 265, GrowthRate.SLOW, 50, true), - new PokemonSpecies(Species.PORYGON_Z, 4, false, false, false, "Virtual Pokémon", PokemonType.NORMAL, null, 0.9, 34, Abilities.ADAPTABILITY, Abilities.DOWNLOAD, Abilities.ANALYTIC, 535, 85, 80, 70, 135, 75, 90, 30, 50, 268, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.GALLADE, 4, false, false, false, "Blade Pokémon", PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 52, Abilities.STEADFAST, Abilities.SHARPNESS, Abilities.JUSTIFIED, 518, 68, 125, 65, 65, 115, 80, 45, 35, 259, GrowthRate.SLOW, 100, false, true, - new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 52, Abilities.STEADFAST, Abilities.SHARPNESS, Abilities.JUSTIFIED, 518, 68, 125, 65, 65, 115, 80, 45, 35, 259, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 56.4, Abilities.INNER_FOCUS, Abilities.INNER_FOCUS, Abilities.INNER_FOCUS, 618, 68, 165, 95, 65, 115, 110, 45, 35, 259), - ), - new PokemonSpecies(Species.PROBOPASS, 4, false, false, false, "Compass Pokémon", PokemonType.ROCK, PokemonType.STEEL, 1.4, 340, Abilities.STURDY, Abilities.MAGNET_PULL, Abilities.SAND_FORCE, 525, 60, 55, 145, 75, 150, 40, 60, 70, 184, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DUSKNOIR, 4, false, false, false, "Gripper Pokémon", PokemonType.GHOST, null, 2.2, 106.6, Abilities.PRESSURE, Abilities.NONE, Abilities.FRISK, 525, 45, 100, 135, 65, 135, 45, 45, 35, 263, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.FROSLASS, 4, false, false, false, "Snow Land Pokémon", PokemonType.ICE, PokemonType.GHOST, 1.3, 26.6, Abilities.SNOW_CLOAK, Abilities.NONE, Abilities.CURSED_BODY, 480, 70, 80, 70, 80, 70, 110, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.ROTOM, 4, false, false, false, "Plasma Pokémon", PokemonType.ELECTRIC, PokemonType.GHOST, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 440, 50, 50, 77, 95, 77, 91, 45, 50, 154, GrowthRate.MEDIUM_FAST, null, false, false, - new PokemonForm("Normal", "", PokemonType.ELECTRIC, PokemonType.GHOST, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 440, 50, 50, 77, 95, 77, 91, 45, 50, 154, false, null, true), - new PokemonForm("Heat", "heat", PokemonType.ELECTRIC, PokemonType.FIRE, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), - new PokemonForm("Wash", "wash", PokemonType.ELECTRIC, PokemonType.WATER, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), - new PokemonForm("Frost", "frost", PokemonType.ELECTRIC, PokemonType.ICE, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), - new PokemonForm("Fan", "fan", PokemonType.ELECTRIC, PokemonType.FLYING, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), - new PokemonForm("Mow", "mow", PokemonType.ELECTRIC, PokemonType.GRASS, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), - ), - new PokemonSpecies(Species.UXIE, 4, true, false, false, "Knowledge Pokémon", PokemonType.PSYCHIC, null, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 580, 75, 75, 130, 75, 130, 95, 3, 140, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.MESPRIT, 4, true, false, false, "Emotion Pokémon", PokemonType.PSYCHIC, null, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 580, 80, 105, 105, 105, 105, 80, 3, 140, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.AZELF, 4, true, false, false, "Willpower Pokémon", PokemonType.PSYCHIC, null, 0.3, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 580, 75, 125, 70, 125, 70, 115, 3, 140, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.DIALGA, 4, false, true, false, "Temporal Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 5.4, 683, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 100, 120, 120, 150, 100, 90, 3, 0, 340, GrowthRate.SLOW, null, false, false, - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.DRAGON, 5.4, 683, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 100, 120, 120, 150, 100, 90, 3, 0, 340, false, null, true), - new PokemonForm("Origin Forme", "origin", PokemonType.STEEL, PokemonType.DRAGON, 7, 848.7, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 100, 100, 120, 150, 120, 90, 3, 0, 340), - ), - new PokemonSpecies(Species.PALKIA, 4, false, true, false, "Spatial Pokémon", PokemonType.WATER, PokemonType.DRAGON, 4.2, 336, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 90, 120, 100, 150, 120, 100, 3, 0, 340, GrowthRate.SLOW, null, false, false, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.DRAGON, 4.2, 336, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 90, 120, 100, 150, 120, 100, 3, 0, 340, false, null, true), - new PokemonForm("Origin Forme", "origin", PokemonType.WATER, PokemonType.DRAGON, 6.3, 659, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 90, 100, 100, 150, 120, 120, 3, 0, 340), - ), - new PokemonSpecies(Species.HEATRAN, 4, true, false, false, "Lava Dome Pokémon", PokemonType.FIRE, PokemonType.STEEL, 1.7, 430, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.FLAME_BODY, 600, 91, 90, 106, 130, 106, 77, 3, 100, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.REGIGIGAS, 4, true, false, false, "Colossal Pokémon", PokemonType.NORMAL, null, 3.7, 420, Abilities.SLOW_START, Abilities.NONE, Abilities.NORMALIZE, 670, 110, 160, 110, 80, 110, 100, 3, 0, 335, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.GIRATINA, 4, false, true, false, "Renegade Pokémon", PokemonType.GHOST, PokemonType.DRAGON, 4.5, 750, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340, GrowthRate.SLOW, null, false, true, - new PokemonForm("Altered Forme", "altered", PokemonType.GHOST, PokemonType.DRAGON, 4.5, 750, Abilities.PRESSURE, Abilities.NONE, Abilities.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340, false, null, true), - new PokemonForm("Origin Forme", "origin", PokemonType.GHOST, PokemonType.DRAGON, 6.9, 650, Abilities.LEVITATE, Abilities.NONE, Abilities.LEVITATE, 680, 150, 120, 100, 120, 100, 90, 3, 0, 340), - ), - new PokemonSpecies(Species.CRESSELIA, 4, true, false, false, "Lunar Pokémon", PokemonType.PSYCHIC, null, 1.5, 85.6, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 580, 120, 70, 110, 75, 120, 85, 3, 100, 300, GrowthRate.SLOW, 0, false), - new PokemonSpecies(Species.PHIONE, 4, false, false, true, "Sea Drifter Pokémon", PokemonType.WATER, null, 0.4, 3.1, Abilities.HYDRATION, Abilities.NONE, Abilities.NONE, 480, 80, 80, 80, 80, 80, 80, 30, 70, 240, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.MANAPHY, 4, false, false, true, "Seafaring Pokémon", PokemonType.WATER, null, 0.3, 1.4, Abilities.HYDRATION, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 70, 300, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.DARKRAI, 4, false, false, true, "Pitch-Black Pokémon", PokemonType.DARK, null, 1.5, 50.5, Abilities.BAD_DREAMS, Abilities.NONE, Abilities.NONE, 600, 70, 90, 90, 135, 90, 125, 3, 0, 300, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SHAYMIN, 4, false, false, true, "Gratitude Pokémon", PokemonType.GRASS, null, 0.2, 2.1, Abilities.NATURAL_CURE, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, GrowthRate.MEDIUM_SLOW, null, false, true, - new PokemonForm("Land Forme", "land", PokemonType.GRASS, null, 0.2, 2.1, Abilities.NATURAL_CURE, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, false, null, true), - new PokemonForm("Sky Forme", "sky", PokemonType.GRASS, PokemonType.FLYING, 0.4, 5.2, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 103, 75, 120, 75, 127, 45, 100, 300), - ), - new PokemonSpecies(Species.ARCEUS, 4, false, false, true, "Alpha Pokémon", PokemonType.NORMAL, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "normal", PokemonType.NORMAL, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360, false, null, true), - new PokemonForm("Fighting", "fighting", PokemonType.FIGHTING, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Flying", "flying", PokemonType.FLYING, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Poison", "poison", PokemonType.POISON, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Ground", "ground", PokemonType.GROUND, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Rock", "rock", PokemonType.ROCK, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Bug", "bug", PokemonType.BUG, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Ghost", "ghost", PokemonType.GHOST, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Steel", "steel", PokemonType.STEEL, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Fire", "fire", PokemonType.FIRE, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Water", "water", PokemonType.WATER, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Grass", "grass", PokemonType.GRASS, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Electric", "electric", PokemonType.ELECTRIC, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Psychic", "psychic", PokemonType.PSYCHIC, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Ice", "ice", PokemonType.ICE, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Dragon", "dragon", PokemonType.DRAGON, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Dark", "dark", PokemonType.DARK, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("Fairy", "fairy", PokemonType.FAIRY, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), - new PokemonForm("???", "unknown", PokemonType.UNKNOWN, null, 3.2, 320, Abilities.MULTITYPE, Abilities.NONE, Abilities.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360, false, null, false, true), - ), - new PokemonSpecies(Species.VICTINI, 5, false, false, true, "Victory Pokémon", PokemonType.PSYCHIC, PokemonType.FIRE, 0.4, 4, Abilities.VICTORY_STAR, Abilities.NONE, Abilities.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 100, 300, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SNIVY, 5, false, false, false, "Grass Snake Pokémon", PokemonType.GRASS, null, 0.6, 8.1, Abilities.OVERGROW, Abilities.NONE, Abilities.CONTRARY, 308, 45, 45, 55, 45, 55, 63, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.SERVINE, 5, false, false, false, "Grass Snake Pokémon", PokemonType.GRASS, null, 0.8, 16, Abilities.OVERGROW, Abilities.NONE, Abilities.CONTRARY, 413, 60, 60, 75, 60, 75, 83, 45, 70, 145, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.SERPERIOR, 5, false, false, false, "Regal Pokémon", PokemonType.GRASS, null, 3.3, 63, Abilities.OVERGROW, Abilities.NONE, Abilities.CONTRARY, 528, 75, 75, 95, 75, 95, 113, 45, 70, 264, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.TEPIG, 5, false, false, false, "Fire Pig Pokémon", PokemonType.FIRE, null, 0.5, 9.9, Abilities.BLAZE, Abilities.NONE, Abilities.THICK_FAT, 308, 65, 63, 45, 45, 45, 45, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.PIGNITE, 5, false, false, false, "Fire Pig Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1, 55.5, Abilities.BLAZE, Abilities.NONE, Abilities.THICK_FAT, 418, 90, 93, 55, 70, 55, 55, 45, 70, 146, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.EMBOAR, 5, false, false, false, "Mega Fire Pig Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1.6, 150, Abilities.BLAZE, Abilities.NONE, Abilities.RECKLESS, 528, 110, 123, 65, 100, 65, 65, 45, 70, 264, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.OSHAWOTT, 5, false, false, false, "Sea Otter Pokémon", PokemonType.WATER, null, 0.5, 5.9, Abilities.TORRENT, Abilities.NONE, Abilities.SHELL_ARMOR, 308, 55, 55, 45, 63, 45, 45, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.DEWOTT, 5, false, false, false, "Discipline Pokémon", PokemonType.WATER, null, 0.8, 24.5, Abilities.TORRENT, Abilities.NONE, Abilities.SHELL_ARMOR, 413, 75, 75, 60, 83, 60, 60, 45, 70, 145, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.SAMUROTT, 5, false, false, false, "Formidable Pokémon", PokemonType.WATER, null, 1.5, 94.6, Abilities.TORRENT, Abilities.NONE, Abilities.SHELL_ARMOR, 528, 95, 100, 85, 108, 70, 70, 45, 70, 264, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.PATRAT, 5, false, false, false, "Scout Pokémon", PokemonType.NORMAL, null, 0.5, 11.6, Abilities.RUN_AWAY, Abilities.KEEN_EYE, Abilities.ANALYTIC, 255, 45, 55, 39, 35, 39, 42, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WATCHOG, 5, false, false, false, "Lookout Pokémon", PokemonType.NORMAL, null, 1.1, 27, Abilities.ILLUMINATE, Abilities.KEEN_EYE, Abilities.ANALYTIC, 420, 60, 85, 69, 60, 69, 77, 255, 70, 147, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LILLIPUP, 5, false, false, false, "Puppy Pokémon", PokemonType.NORMAL, null, 0.4, 4.1, Abilities.VITAL_SPIRIT, Abilities.PICKUP, Abilities.RUN_AWAY, 275, 45, 60, 45, 25, 45, 55, 255, 50, 55, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.HERDIER, 5, false, false, false, "Loyal Dog Pokémon", PokemonType.NORMAL, null, 0.9, 14.7, Abilities.INTIMIDATE, Abilities.SAND_RUSH, Abilities.SCRAPPY, 370, 65, 80, 65, 35, 65, 60, 120, 50, 130, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.STOUTLAND, 5, false, false, false, "Big-Hearted Pokémon", PokemonType.NORMAL, null, 1.2, 61, Abilities.INTIMIDATE, Abilities.SAND_RUSH, Abilities.SCRAPPY, 500, 85, 110, 90, 45, 90, 80, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.PURRLOIN, 5, false, false, false, "Devious Pokémon", PokemonType.DARK, null, 0.4, 10.1, Abilities.LIMBER, Abilities.UNBURDEN, Abilities.PRANKSTER, 281, 41, 50, 37, 50, 37, 66, 255, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LIEPARD, 5, false, false, false, "Cruel Pokémon", PokemonType.DARK, null, 1.1, 37.5, Abilities.LIMBER, Abilities.UNBURDEN, Abilities.PRANKSTER, 446, 64, 88, 50, 88, 50, 106, 90, 50, 156, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PANSAGE, 5, false, false, false, "Grass Monkey Pokémon", PokemonType.GRASS, null, 0.6, 10.5, Abilities.GLUTTONY, Abilities.NONE, Abilities.OVERGROW, 316, 50, 53, 48, 53, 48, 64, 190, 70, 63, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.SIMISAGE, 5, false, false, false, "Thorn Monkey Pokémon", PokemonType.GRASS, null, 1.1, 30.5, Abilities.GLUTTONY, Abilities.NONE, Abilities.OVERGROW, 498, 75, 98, 63, 98, 63, 101, 75, 70, 174, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.PANSEAR, 5, false, false, false, "High Temp Pokémon", PokemonType.FIRE, null, 0.6, 11, Abilities.GLUTTONY, Abilities.NONE, Abilities.BLAZE, 316, 50, 53, 48, 53, 48, 64, 190, 70, 63, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.SIMISEAR, 5, false, false, false, "Ember Pokémon", PokemonType.FIRE, null, 1, 28, Abilities.GLUTTONY, Abilities.NONE, Abilities.BLAZE, 498, 75, 98, 63, 98, 63, 101, 75, 70, 174, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.PANPOUR, 5, false, false, false, "Spray Pokémon", PokemonType.WATER, null, 0.6, 13.5, Abilities.GLUTTONY, Abilities.NONE, Abilities.TORRENT, 316, 50, 53, 48, 53, 48, 64, 190, 70, 63, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.SIMIPOUR, 5, false, false, false, "Geyser Pokémon", PokemonType.WATER, null, 1, 29, Abilities.GLUTTONY, Abilities.NONE, Abilities.TORRENT, 498, 75, 98, 63, 98, 63, 101, 75, 70, 174, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.MUNNA, 5, false, false, false, "Dream Eater Pokémon", PokemonType.PSYCHIC, null, 0.6, 23.3, Abilities.FOREWARN, Abilities.SYNCHRONIZE, Abilities.TELEPATHY, 292, 76, 25, 45, 67, 55, 24, 190, 50, 58, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.MUSHARNA, 5, false, false, false, "Drowsing Pokémon", PokemonType.PSYCHIC, null, 1.1, 60.5, Abilities.FOREWARN, Abilities.SYNCHRONIZE, Abilities.TELEPATHY, 487, 116, 55, 85, 107, 95, 29, 75, 50, 170, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.PIDOVE, 5, false, false, false, "Tiny Pigeon Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2.1, Abilities.BIG_PECKS, Abilities.SUPER_LUCK, Abilities.RIVALRY, 264, 50, 55, 50, 36, 30, 43, 255, 50, 53, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.TRANQUILL, 5, false, false, false, "Wild Pigeon Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 15, Abilities.BIG_PECKS, Abilities.SUPER_LUCK, Abilities.RIVALRY, 358, 62, 77, 62, 50, 42, 65, 120, 50, 125, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.UNFEZANT, 5, false, false, false, "Proud Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.2, 29, Abilities.BIG_PECKS, Abilities.SUPER_LUCK, Abilities.RIVALRY, 488, 80, 115, 80, 65, 55, 93, 45, 50, 244, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.BLITZLE, 5, false, false, false, "Electrified Pokémon", PokemonType.ELECTRIC, null, 0.8, 29.8, Abilities.LIGHTNING_ROD, Abilities.MOTOR_DRIVE, Abilities.SAP_SIPPER, 295, 45, 60, 32, 50, 32, 76, 190, 70, 59, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ZEBSTRIKA, 5, false, false, false, "Thunderbolt Pokémon", PokemonType.ELECTRIC, null, 1.6, 79.5, Abilities.LIGHTNING_ROD, Abilities.MOTOR_DRIVE, Abilities.SAP_SIPPER, 497, 75, 100, 63, 80, 63, 116, 75, 70, 174, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ROGGENROLA, 5, false, false, false, "Mantle Pokémon", PokemonType.ROCK, null, 0.4, 18, Abilities.STURDY, Abilities.WEAK_ARMOR, Abilities.SAND_FORCE, 280, 55, 75, 85, 25, 25, 15, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.BOLDORE, 5, false, false, false, "Ore Pokémon", PokemonType.ROCK, null, 0.9, 102, Abilities.STURDY, Abilities.WEAK_ARMOR, Abilities.SAND_FORCE, 390, 70, 105, 105, 50, 40, 20, 120, 50, 137, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GIGALITH, 5, false, false, false, "Compressed Pokémon", PokemonType.ROCK, null, 1.7, 260, Abilities.STURDY, Abilities.SAND_STREAM, Abilities.SAND_FORCE, 515, 85, 135, 130, 60, 80, 25, 45, 50, 258, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.WOOBAT, 5, false, false, false, "Bat Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 0.4, 2.1, Abilities.UNAWARE, Abilities.KLUTZ, Abilities.SIMPLE, 323, 65, 45, 43, 55, 43, 72, 190, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SWOOBAT, 5, false, false, false, "Courting Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 0.9, 10.5, Abilities.UNAWARE, Abilities.KLUTZ, Abilities.SIMPLE, 425, 67, 57, 55, 77, 55, 114, 45, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DRILBUR, 5, false, false, false, "Mole Pokémon", PokemonType.GROUND, null, 0.3, 8.5, Abilities.SAND_RUSH, Abilities.SAND_FORCE, Abilities.MOLD_BREAKER, 328, 60, 85, 40, 30, 45, 68, 120, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.EXCADRILL, 5, false, false, false, "Subterrene Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.7, 40.4, Abilities.SAND_RUSH, Abilities.SAND_FORCE, Abilities.MOLD_BREAKER, 508, 110, 135, 60, 50, 65, 88, 60, 50, 178, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.AUDINO, 5, false, false, false, "Hearing Pokémon", PokemonType.NORMAL, null, 1.1, 31, Abilities.HEALER, Abilities.REGENERATOR, Abilities.KLUTZ, 445, 103, 60, 86, 60, 86, 50, 255, 50, 390, GrowthRate.FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.NORMAL, null, 1.1, 31, Abilities.HEALER, Abilities.REGENERATOR, Abilities.KLUTZ, 445, 103, 60, 86, 60, 86, 50, 255, 50, 390, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, PokemonType.FAIRY, 1.5, 32, Abilities.REGENERATOR, Abilities.REGENERATOR, Abilities.REGENERATOR, 545, 103, 60, 126, 80, 126, 50, 255, 50, 390), //Custom Ability, base form Hidden Ability - ), - new PokemonSpecies(Species.TIMBURR, 5, false, false, false, "Muscular Pokémon", PokemonType.FIGHTING, null, 0.6, 12.5, Abilities.GUTS, Abilities.SHEER_FORCE, Abilities.IRON_FIST, 305, 75, 80, 55, 25, 35, 35, 180, 70, 61, GrowthRate.MEDIUM_SLOW, 75, false), - new PokemonSpecies(Species.GURDURR, 5, false, false, false, "Muscular Pokémon", PokemonType.FIGHTING, null, 1.2, 40, Abilities.GUTS, Abilities.SHEER_FORCE, Abilities.IRON_FIST, 405, 85, 105, 85, 40, 50, 40, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 75, false), - new PokemonSpecies(Species.CONKELDURR, 5, false, false, false, "Muscular Pokémon", PokemonType.FIGHTING, null, 1.4, 87, Abilities.GUTS, Abilities.SHEER_FORCE, Abilities.IRON_FIST, 505, 105, 140, 95, 55, 65, 45, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 75, false), - new PokemonSpecies(Species.TYMPOLE, 5, false, false, false, "Tadpole Pokémon", PokemonType.WATER, null, 0.5, 4.5, Abilities.SWIFT_SWIM, Abilities.HYDRATION, Abilities.WATER_ABSORB, 294, 50, 50, 40, 50, 40, 64, 255, 50, 59, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.PALPITOAD, 5, false, false, false, "Vibration Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.8, 17, Abilities.SWIFT_SWIM, Abilities.HYDRATION, Abilities.WATER_ABSORB, 384, 75, 65, 55, 65, 55, 69, 120, 50, 134, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SEISMITOAD, 5, false, false, false, "Vibration Pokémon", PokemonType.WATER, PokemonType.GROUND, 1.5, 62, Abilities.SWIFT_SWIM, Abilities.POISON_TOUCH, Abilities.WATER_ABSORB, 509, 105, 95, 75, 85, 75, 74, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.THROH, 5, false, false, false, "Judo Pokémon", PokemonType.FIGHTING, null, 1.3, 55.5, Abilities.GUTS, Abilities.INNER_FOCUS, Abilities.MOLD_BREAKER, 465, 120, 100, 85, 30, 85, 45, 45, 50, 163, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.SAWK, 5, false, false, false, "Karate Pokémon", PokemonType.FIGHTING, null, 1.4, 51, Abilities.STURDY, Abilities.INNER_FOCUS, Abilities.MOLD_BREAKER, 465, 75, 125, 75, 30, 75, 85, 45, 50, 163, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.SEWADDLE, 5, false, false, false, "Sewing Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.3, 2.5, Abilities.SWARM, Abilities.CHLOROPHYLL, Abilities.OVERCOAT, 310, 45, 53, 70, 40, 60, 42, 255, 70, 62, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SWADLOON, 5, false, false, false, "Leaf-Wrapped Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.5, 7.3, Abilities.LEAF_GUARD, Abilities.CHLOROPHYLL, Abilities.OVERCOAT, 380, 55, 63, 90, 50, 80, 42, 120, 70, 133, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.LEAVANNY, 5, false, false, false, "Nurturing Pokémon", PokemonType.BUG, PokemonType.GRASS, 1.2, 20.5, Abilities.SWARM, Abilities.CHLOROPHYLL, Abilities.OVERCOAT, 500, 75, 103, 80, 70, 80, 92, 45, 70, 250, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.VENIPEDE, 5, false, false, false, "Centipede Pokémon", PokemonType.BUG, PokemonType.POISON, 0.4, 5.3, Abilities.POISON_POINT, Abilities.SWARM, Abilities.SPEED_BOOST, 260, 30, 45, 59, 30, 39, 57, 255, 50, 52, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.WHIRLIPEDE, 5, false, false, false, "Curlipede Pokémon", PokemonType.BUG, PokemonType.POISON, 1.2, 58.5, Abilities.POISON_POINT, Abilities.SWARM, Abilities.SPEED_BOOST, 360, 40, 55, 99, 40, 79, 47, 120, 50, 126, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SCOLIPEDE, 5, false, false, false, "Megapede Pokémon", PokemonType.BUG, PokemonType.POISON, 2.5, 200.5, Abilities.POISON_POINT, Abilities.SWARM, Abilities.SPEED_BOOST, 485, 60, 100, 89, 55, 69, 112, 45, 50, 243, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.COTTONEE, 5, false, false, false, "Cotton Puff Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 0.3, 0.6, Abilities.PRANKSTER, Abilities.INFILTRATOR, Abilities.CHLOROPHYLL, 280, 40, 27, 60, 37, 50, 66, 190, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WHIMSICOTT, 5, false, false, false, "Windveiled Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 0.7, 6.6, Abilities.PRANKSTER, Abilities.INFILTRATOR, Abilities.CHLOROPHYLL, 480, 60, 67, 85, 77, 75, 116, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PETILIL, 5, false, false, false, "Bulb Pokémon", PokemonType.GRASS, null, 0.5, 6.6, Abilities.CHLOROPHYLL, Abilities.OWN_TEMPO, Abilities.LEAF_GUARD, 280, 45, 35, 50, 70, 50, 30, 190, 50, 56, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.LILLIGANT, 5, false, false, false, "Flowering Pokémon", PokemonType.GRASS, null, 1.1, 16.3, Abilities.CHLOROPHYLL, Abilities.OWN_TEMPO, Abilities.LEAF_GUARD, 480, 70, 60, 75, 110, 75, 90, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.BASCULIN, 5, false, false, false, "Hostile Pokémon", PokemonType.WATER, null, 1, 18, Abilities.RECKLESS, Abilities.ADAPTABILITY, Abilities.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Red-Striped Form", "red-striped", PokemonType.WATER, null, 1, 18, Abilities.RECKLESS, Abilities.ADAPTABILITY, Abilities.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, false, null, true), - new PokemonForm("Blue-Striped Form", "blue-striped", PokemonType.WATER, null, 1, 18, Abilities.ROCK_HEAD, Abilities.ADAPTABILITY, Abilities.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, false, null, true), - new PokemonForm("White-Striped Form", "white-striped", PokemonType.WATER, null, 1, 18, Abilities.RATTLED, Abilities.ADAPTABILITY, Abilities.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, false, null, true), - ), - new PokemonSpecies(Species.SANDILE, 5, false, false, false, "Desert Croc Pokémon", PokemonType.GROUND, PokemonType.DARK, 0.7, 15.2, Abilities.INTIMIDATE, Abilities.MOXIE, Abilities.ANGER_POINT, 292, 50, 72, 35, 35, 35, 65, 180, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.KROKOROK, 5, false, false, false, "Desert Croc Pokémon", PokemonType.GROUND, PokemonType.DARK, 1, 33.4, Abilities.INTIMIDATE, Abilities.MOXIE, Abilities.ANGER_POINT, 351, 60, 82, 45, 45, 45, 74, 90, 50, 123, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.KROOKODILE, 5, false, false, false, "Intimidation Pokémon", PokemonType.GROUND, PokemonType.DARK, 1.5, 96.3, Abilities.INTIMIDATE, Abilities.MOXIE, Abilities.ANGER_POINT, 519, 95, 117, 80, 65, 70, 92, 45, 50, 260, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.DARUMAKA, 5, false, false, false, "Zen Charm Pokémon", PokemonType.FIRE, null, 0.6, 37.5, Abilities.HUSTLE, Abilities.NONE, Abilities.INNER_FOCUS, 315, 70, 90, 45, 15, 45, 50, 120, 50, 63, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.DARMANITAN, 5, false, false, false, "Blazing Pokémon", PokemonType.FIRE, null, 1.3, 92.9, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Standard Mode", "", PokemonType.FIRE, null, 1.3, 92.9, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, false, null, true), - new PokemonForm("Zen Mode", "zen", PokemonType.FIRE, PokemonType.PSYCHIC, 1.3, 92.9, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.ZEN_MODE, 540, 105, 30, 105, 140, 105, 55, 60, 50, 189), - ), - new PokemonSpecies(Species.MARACTUS, 5, false, false, false, "Cactus Pokémon", PokemonType.GRASS, null, 1, 28, Abilities.WATER_ABSORB, Abilities.CHLOROPHYLL, Abilities.STORM_DRAIN, 461, 75, 86, 67, 106, 67, 60, 255, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DWEBBLE, 5, false, false, false, "Rock Inn Pokémon", PokemonType.BUG, PokemonType.ROCK, 0.3, 14.5, Abilities.STURDY, Abilities.SHELL_ARMOR, Abilities.WEAK_ARMOR, 325, 50, 65, 85, 35, 35, 55, 190, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CRUSTLE, 5, false, false, false, "Stone Home Pokémon", PokemonType.BUG, PokemonType.ROCK, 1.4, 200, Abilities.STURDY, Abilities.SHELL_ARMOR, Abilities.WEAK_ARMOR, 485, 70, 105, 125, 65, 75, 45, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SCRAGGY, 5, false, false, false, "Shedding Pokémon", PokemonType.DARK, PokemonType.FIGHTING, 0.6, 11.8, Abilities.SHED_SKIN, Abilities.MOXIE, Abilities.INTIMIDATE, 348, 50, 75, 70, 35, 70, 48, 180, 35, 70, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SCRAFTY, 5, false, false, false, "Hoodlum Pokémon", PokemonType.DARK, PokemonType.FIGHTING, 1.1, 30, Abilities.SHED_SKIN, Abilities.MOXIE, Abilities.INTIMIDATE, 488, 65, 90, 115, 45, 115, 58, 90, 50, 171, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SIGILYPH, 5, false, false, false, "Avianoid Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.4, 14, Abilities.WONDER_SKIN, Abilities.MAGIC_GUARD, Abilities.TINTED_LENS, 490, 72, 58, 80, 103, 80, 97, 45, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.YAMASK, 5, false, false, false, "Spirit Pokémon", PokemonType.GHOST, null, 0.5, 1.5, Abilities.MUMMY, Abilities.NONE, Abilities.NONE, 303, 38, 30, 85, 55, 65, 30, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.COFAGRIGUS, 5, false, false, false, "Coffin Pokémon", PokemonType.GHOST, null, 1.7, 76.5, Abilities.MUMMY, Abilities.NONE, Abilities.NONE, 483, 58, 50, 145, 95, 105, 30, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TIRTOUGA, 5, false, false, false, "Prototurtle Pokémon", PokemonType.WATER, PokemonType.ROCK, 0.7, 16.5, Abilities.SOLID_ROCK, Abilities.STURDY, Abilities.SWIFT_SWIM, 355, 54, 78, 103, 53, 45, 22, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.CARRACOSTA, 5, false, false, false, "Prototurtle Pokémon", PokemonType.WATER, PokemonType.ROCK, 1.2, 81, Abilities.SOLID_ROCK, Abilities.STURDY, Abilities.SWIFT_SWIM, 495, 74, 108, 133, 83, 65, 32, 45, 50, 173, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.ARCHEN, 5, false, false, false, "First Bird Pokémon", PokemonType.ROCK, PokemonType.FLYING, 0.5, 9.5, Abilities.DEFEATIST, Abilities.NONE, Abilities.WIMP_OUT, 401, 55, 112, 45, 74, 45, 70, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), //Custom Hidden - new PokemonSpecies(Species.ARCHEOPS, 5, false, false, false, "First Bird Pokémon", PokemonType.ROCK, PokemonType.FLYING, 1.4, 32, Abilities.DEFEATIST, Abilities.NONE, Abilities.EMERGENCY_EXIT, 567, 75, 140, 65, 112, 65, 110, 45, 50, 177, GrowthRate.MEDIUM_FAST, 87.5, false), //Custom Hidden - new PokemonSpecies(Species.TRUBBISH, 5, false, false, false, "Trash Bag Pokémon", PokemonType.POISON, null, 0.6, 31, Abilities.STENCH, Abilities.STICKY_HOLD, Abilities.AFTERMATH, 329, 50, 50, 62, 40, 62, 65, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GARBODOR, 5, false, false, false, "Trash Heap Pokémon", PokemonType.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.POISON, PokemonType.STEEL, 21, 999.9, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, 574, 115, 121, 102, 81, 102, 53, 60, 50, 166), - ), - new PokemonSpecies(Species.ZORUA, 5, false, false, false, "Tricky Fox Pokémon", PokemonType.DARK, null, 0.7, 12.5, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 330, 40, 65, 40, 80, 40, 65, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.ZOROARK, 5, false, false, false, "Illusion Fox Pokémon", PokemonType.DARK, null, 1.6, 81.1, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 510, 60, 105, 60, 120, 60, 105, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.MINCCINO, 5, false, false, false, "Chinchilla Pokémon", PokemonType.NORMAL, null, 0.4, 5.8, Abilities.CUTE_CHARM, Abilities.TECHNICIAN, Abilities.SKILL_LINK, 300, 55, 50, 40, 40, 40, 75, 255, 50, 60, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.CINCCINO, 5, false, false, false, "Scarf Pokémon", PokemonType.NORMAL, null, 0.5, 7.5, Abilities.CUTE_CHARM, Abilities.TECHNICIAN, Abilities.SKILL_LINK, 470, 75, 95, 60, 65, 60, 115, 60, 50, 165, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.GOTHITA, 5, false, false, false, "Fixation Pokémon", PokemonType.PSYCHIC, null, 0.4, 5.8, Abilities.FRISK, Abilities.COMPETITIVE, Abilities.SHADOW_TAG, 290, 45, 30, 50, 55, 65, 45, 200, 50, 58, GrowthRate.MEDIUM_SLOW, 25, false), - new PokemonSpecies(Species.GOTHORITA, 5, false, false, false, "Manipulate Pokémon", PokemonType.PSYCHIC, null, 0.7, 18, Abilities.FRISK, Abilities.COMPETITIVE, Abilities.SHADOW_TAG, 390, 60, 45, 70, 75, 85, 55, 100, 50, 137, GrowthRate.MEDIUM_SLOW, 25, false), - new PokemonSpecies(Species.GOTHITELLE, 5, false, false, false, "Astral Body Pokémon", PokemonType.PSYCHIC, null, 1.5, 44, Abilities.FRISK, Abilities.COMPETITIVE, Abilities.SHADOW_TAG, 490, 70, 55, 95, 95, 110, 65, 50, 50, 245, GrowthRate.MEDIUM_SLOW, 25, false), - new PokemonSpecies(Species.SOLOSIS, 5, false, false, false, "Cell Pokémon", PokemonType.PSYCHIC, null, 0.3, 1, Abilities.OVERCOAT, Abilities.MAGIC_GUARD, Abilities.REGENERATOR, 290, 45, 30, 40, 105, 50, 20, 200, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.DUOSION, 5, false, false, false, "Mitosis Pokémon", PokemonType.PSYCHIC, null, 0.6, 8, Abilities.OVERCOAT, Abilities.MAGIC_GUARD, Abilities.REGENERATOR, 370, 65, 40, 50, 125, 60, 30, 100, 50, 130, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.REUNICLUS, 5, false, false, false, "Multiplying Pokémon", PokemonType.PSYCHIC, null, 1, 20.1, Abilities.OVERCOAT, Abilities.MAGIC_GUARD, Abilities.REGENERATOR, 490, 110, 65, 75, 125, 85, 30, 50, 50, 245, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.DUCKLETT, 5, false, false, false, "Water Bird Pokémon", PokemonType.WATER, PokemonType.FLYING, 0.5, 5.5, Abilities.KEEN_EYE, Abilities.BIG_PECKS, Abilities.HYDRATION, 305, 62, 44, 50, 44, 50, 55, 190, 70, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SWANNA, 5, false, false, false, "White Bird Pokémon", PokemonType.WATER, PokemonType.FLYING, 1.3, 24.2, Abilities.KEEN_EYE, Abilities.BIG_PECKS, Abilities.HYDRATION, 473, 75, 87, 63, 87, 63, 98, 45, 70, 166, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.VANILLITE, 5, false, false, false, "Fresh Snow Pokémon", PokemonType.ICE, null, 0.4, 5.7, Abilities.ICE_BODY, Abilities.SNOW_CLOAK, Abilities.WEAK_ARMOR, 305, 36, 50, 50, 65, 60, 44, 255, 50, 61, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.VANILLISH, 5, false, false, false, "Icy Snow Pokémon", PokemonType.ICE, null, 1.1, 41, Abilities.ICE_BODY, Abilities.SNOW_CLOAK, Abilities.WEAK_ARMOR, 395, 51, 65, 65, 80, 75, 59, 120, 50, 138, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.VANILLUXE, 5, false, false, false, "Snowstorm Pokémon", PokemonType.ICE, null, 1.3, 57.5, Abilities.ICE_BODY, Abilities.SNOW_WARNING, Abilities.WEAK_ARMOR, 535, 71, 95, 85, 110, 95, 79, 45, 50, 268, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.DEERLING, 5, false, false, false, "Season Pokémon", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Spring Form", "spring", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), - new PokemonForm("Summer Form", "summer", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), - new PokemonForm("Autumn Form", "autumn", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), - new PokemonForm("Winter Form", "winter", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), - ), - new PokemonSpecies(Species.SAWSBUCK, 5, false, false, false, "Season Pokémon", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Spring Form", "spring", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), - new PokemonForm("Summer Form", "summer", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), - new PokemonForm("Autumn Form", "autumn", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), - new PokemonForm("Winter Form", "winter", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, Abilities.CHLOROPHYLL, Abilities.SAP_SIPPER, Abilities.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), - ), - new PokemonSpecies(Species.EMOLGA, 5, false, false, false, "Sky Squirrel Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 0.4, 5, Abilities.STATIC, Abilities.NONE, Abilities.MOTOR_DRIVE, 428, 55, 75, 60, 75, 60, 103, 200, 50, 150, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.KARRABLAST, 5, false, false, false, "Clamping Pokémon", PokemonType.BUG, null, 0.5, 5.9, Abilities.SWARM, Abilities.SHED_SKIN, Abilities.NO_GUARD, 315, 50, 75, 45, 40, 45, 60, 200, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ESCAVALIER, 5, false, false, false, "Cavalry Pokémon", PokemonType.BUG, PokemonType.STEEL, 1, 33, Abilities.SWARM, Abilities.SHELL_ARMOR, Abilities.OVERCOAT, 495, 70, 135, 105, 60, 105, 20, 75, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FOONGUS, 5, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.2, 1, Abilities.EFFECT_SPORE, Abilities.NONE, Abilities.REGENERATOR, 294, 69, 55, 45, 55, 55, 15, 190, 50, 59, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.AMOONGUSS, 5, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.6, 10.5, Abilities.EFFECT_SPORE, Abilities.NONE, Abilities.REGENERATOR, 464, 114, 85, 70, 85, 80, 30, 75, 50, 162, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FRILLISH, 5, false, false, false, "Floating Pokémon", PokemonType.WATER, PokemonType.GHOST, 1.2, 33, Abilities.WATER_ABSORB, Abilities.CURSED_BODY, Abilities.DAMP, 335, 55, 40, 50, 65, 85, 40, 190, 50, 67, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.JELLICENT, 5, false, false, false, "Floating Pokémon", PokemonType.WATER, PokemonType.GHOST, 2.2, 135, Abilities.WATER_ABSORB, Abilities.CURSED_BODY, Abilities.DAMP, 480, 100, 60, 70, 85, 105, 60, 60, 50, 168, GrowthRate.MEDIUM_FAST, 50, true), - new PokemonSpecies(Species.ALOMOMOLA, 5, false, false, false, "Caring Pokémon", PokemonType.WATER, null, 1.2, 31.6, Abilities.HEALER, Abilities.HYDRATION, Abilities.REGENERATOR, 470, 165, 75, 80, 40, 45, 65, 75, 70, 165, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.JOLTIK, 5, false, false, false, "Attaching Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 0.1, 0.6, Abilities.COMPOUND_EYES, Abilities.UNNERVE, Abilities.SWARM, 319, 50, 47, 50, 57, 50, 65, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALVANTULA, 5, false, false, false, "EleSpider Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 0.8, 14.3, Abilities.COMPOUND_EYES, Abilities.UNNERVE, Abilities.SWARM, 472, 70, 77, 60, 97, 60, 108, 75, 50, 165, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FERROSEED, 5, false, false, false, "Thorn Seed Pokémon", PokemonType.GRASS, PokemonType.STEEL, 0.6, 18.8, Abilities.IRON_BARBS, Abilities.NONE, Abilities.ANTICIPATION, 305, 44, 50, 91, 24, 86, 10, 255, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FERROTHORN, 5, false, false, false, "Thorn Pod Pokémon", PokemonType.GRASS, PokemonType.STEEL, 1, 110, Abilities.IRON_BARBS, Abilities.NONE, Abilities.ANTICIPATION, 489, 74, 94, 131, 54, 116, 20, 90, 50, 171, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.KLINK, 5, false, false, false, "Gear Pokémon", PokemonType.STEEL, null, 0.3, 21, Abilities.PLUS, Abilities.MINUS, Abilities.CLEAR_BODY, 300, 40, 55, 70, 45, 60, 30, 130, 50, 60, GrowthRate.MEDIUM_SLOW, null, false), - new PokemonSpecies(Species.KLANG, 5, false, false, false, "Gear Pokémon", PokemonType.STEEL, null, 0.6, 51, Abilities.PLUS, Abilities.MINUS, Abilities.CLEAR_BODY, 440, 60, 80, 95, 70, 85, 50, 60, 50, 154, GrowthRate.MEDIUM_SLOW, null, false), - new PokemonSpecies(Species.KLINKLANG, 5, false, false, false, "Gear Pokémon", PokemonType.STEEL, null, 0.6, 81, Abilities.PLUS, Abilities.MINUS, Abilities.CLEAR_BODY, 520, 60, 100, 115, 70, 85, 90, 30, 50, 260, GrowthRate.MEDIUM_SLOW, null, false), - new PokemonSpecies(Species.TYNAMO, 5, false, false, false, "EleFish Pokémon", PokemonType.ELECTRIC, null, 0.2, 0.3, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 275, 35, 55, 40, 45, 40, 60, 190, 70, 55, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.EELEKTRIK, 5, false, false, false, "EleFish Pokémon", PokemonType.ELECTRIC, null, 1.2, 22, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 405, 65, 85, 70, 75, 70, 40, 60, 70, 142, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.EELEKTROSS, 5, false, false, false, "EleFish Pokémon", PokemonType.ELECTRIC, null, 2.1, 80.5, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 515, 85, 115, 80, 105, 80, 50, 30, 70, 258, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.ELGYEM, 5, false, false, false, "Cerebral Pokémon", PokemonType.PSYCHIC, null, 0.5, 9, Abilities.TELEPATHY, Abilities.SYNCHRONIZE, Abilities.ANALYTIC, 335, 55, 55, 55, 85, 55, 30, 255, 50, 67, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BEHEEYEM, 5, false, false, false, "Cerebral Pokémon", PokemonType.PSYCHIC, null, 1, 34.5, Abilities.TELEPATHY, Abilities.SYNCHRONIZE, Abilities.ANALYTIC, 485, 75, 75, 75, 125, 95, 40, 90, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LITWICK, 5, false, false, false, "Candle Pokémon", PokemonType.GHOST, PokemonType.FIRE, 0.3, 3.1, Abilities.FLASH_FIRE, Abilities.FLAME_BODY, Abilities.INFILTRATOR, 275, 50, 30, 55, 65, 55, 20, 190, 50, 55, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.LAMPENT, 5, false, false, false, "Lamp Pokémon", PokemonType.GHOST, PokemonType.FIRE, 0.6, 13, Abilities.FLASH_FIRE, Abilities.FLAME_BODY, Abilities.INFILTRATOR, 370, 60, 40, 60, 95, 60, 55, 90, 50, 130, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CHANDELURE, 5, false, false, false, "Luring Pokémon", PokemonType.GHOST, PokemonType.FIRE, 1, 34.3, Abilities.FLASH_FIRE, Abilities.FLAME_BODY, Abilities.INFILTRATOR, 520, 60, 55, 90, 145, 90, 80, 45, 50, 260, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.AXEW, 5, false, false, false, "Tusk Pokémon", PokemonType.DRAGON, null, 0.6, 18, Abilities.RIVALRY, Abilities.MOLD_BREAKER, Abilities.UNNERVE, 320, 46, 87, 60, 30, 40, 57, 75, 35, 64, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.FRAXURE, 5, false, false, false, "Axe Jaw Pokémon", PokemonType.DRAGON, null, 1, 36, Abilities.RIVALRY, Abilities.MOLD_BREAKER, Abilities.UNNERVE, 410, 66, 117, 70, 40, 50, 67, 60, 35, 144, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HAXORUS, 5, false, false, false, "Axe Jaw Pokémon", PokemonType.DRAGON, null, 1.8, 105.5, Abilities.RIVALRY, Abilities.MOLD_BREAKER, Abilities.UNNERVE, 540, 76, 147, 90, 60, 70, 97, 45, 35, 270, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.CUBCHOO, 5, false, false, false, "Chill Pokémon", PokemonType.ICE, null, 0.5, 8.5, Abilities.SNOW_CLOAK, Abilities.SLUSH_RUSH, Abilities.RATTLED, 305, 55, 70, 40, 60, 40, 40, 120, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BEARTIC, 5, false, false, false, "Freezing Pokémon", PokemonType.ICE, null, 2.6, 260, Abilities.SNOW_CLOAK, Abilities.SLUSH_RUSH, Abilities.SWIFT_SWIM, 505, 95, 130, 80, 70, 80, 50, 60, 50, 177, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CRYOGONAL, 5, false, false, false, "Crystallizing Pokémon", PokemonType.ICE, null, 1.1, 148, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 515, 80, 50, 50, 95, 135, 105, 25, 50, 180, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.SHELMET, 5, false, false, false, "Snail Pokémon", PokemonType.BUG, null, 0.4, 7.7, Abilities.HYDRATION, Abilities.SHELL_ARMOR, Abilities.OVERCOAT, 305, 50, 40, 85, 40, 65, 25, 200, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ACCELGOR, 5, false, false, false, "Shell Out Pokémon", PokemonType.BUG, null, 0.8, 25.3, Abilities.HYDRATION, Abilities.STICKY_HOLD, Abilities.UNBURDEN, 495, 80, 70, 40, 100, 60, 145, 75, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.STUNFISK, 5, false, false, false, "Trap Pokémon", PokemonType.GROUND, PokemonType.ELECTRIC, 0.7, 11, Abilities.STATIC, Abilities.LIMBER, Abilities.SAND_VEIL, 471, 109, 66, 84, 81, 99, 32, 75, 70, 165, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MIENFOO, 5, false, false, false, "Martial Arts Pokémon", PokemonType.FIGHTING, null, 0.9, 20, Abilities.INNER_FOCUS, Abilities.REGENERATOR, Abilities.RECKLESS, 350, 45, 85, 50, 55, 50, 65, 180, 50, 70, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.MIENSHAO, 5, false, false, false, "Martial Arts Pokémon", PokemonType.FIGHTING, null, 1.4, 35.5, Abilities.INNER_FOCUS, Abilities.REGENERATOR, Abilities.RECKLESS, 510, 65, 125, 60, 95, 60, 105, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.DRUDDIGON, 5, false, false, false, "Cave Pokémon", PokemonType.DRAGON, null, 1.6, 139, Abilities.ROUGH_SKIN, Abilities.SHEER_FORCE, Abilities.MOLD_BREAKER, 485, 77, 120, 90, 60, 90, 48, 45, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GOLETT, 5, false, false, false, "Automaton Pokémon", PokemonType.GROUND, PokemonType.GHOST, 1, 92, Abilities.IRON_FIST, Abilities.KLUTZ, Abilities.NO_GUARD, 303, 59, 74, 50, 35, 50, 35, 190, 50, 61, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.GOLURK, 5, false, false, false, "Automaton Pokémon", PokemonType.GROUND, PokemonType.GHOST, 2.8, 330, Abilities.IRON_FIST, Abilities.KLUTZ, Abilities.NO_GUARD, 483, 89, 124, 80, 55, 80, 55, 90, 50, 169, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.PAWNIARD, 5, false, false, false, "Sharp Blade Pokémon", PokemonType.DARK, PokemonType.STEEL, 0.5, 10.2, Abilities.DEFIANT, Abilities.INNER_FOCUS, Abilities.PRESSURE, 340, 45, 85, 70, 40, 40, 60, 120, 35, 68, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BISHARP, 5, false, false, false, "Sword Blade Pokémon", PokemonType.DARK, PokemonType.STEEL, 1.6, 70, Abilities.DEFIANT, Abilities.INNER_FOCUS, Abilities.PRESSURE, 490, 65, 125, 100, 60, 70, 70, 45, 35, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BOUFFALANT, 5, false, false, false, "Bash Buffalo Pokémon", PokemonType.NORMAL, null, 1.6, 94.6, Abilities.RECKLESS, Abilities.SAP_SIPPER, Abilities.SOUNDPROOF, 490, 95, 110, 95, 40, 95, 55, 45, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RUFFLET, 5, false, false, false, "Eaglet Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.5, 10.5, Abilities.KEEN_EYE, Abilities.SHEER_FORCE, Abilities.HUSTLE, 350, 70, 83, 50, 37, 50, 60, 190, 50, 70, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.BRAVIARY, 5, false, false, false, "Valiant Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.5, 41, Abilities.KEEN_EYE, Abilities.SHEER_FORCE, Abilities.DEFIANT, 510, 100, 123, 75, 57, 75, 80, 60, 50, 179, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.VULLABY, 5, false, false, false, "Diapered Pokémon", PokemonType.DARK, PokemonType.FLYING, 0.5, 9, Abilities.BIG_PECKS, Abilities.OVERCOAT, Abilities.WEAK_ARMOR, 370, 70, 55, 75, 45, 65, 60, 190, 35, 74, GrowthRate.SLOW, 0, false), - new PokemonSpecies(Species.MANDIBUZZ, 5, false, false, false, "Bone Vulture Pokémon", PokemonType.DARK, PokemonType.FLYING, 1.2, 39.5, Abilities.BIG_PECKS, Abilities.OVERCOAT, Abilities.WEAK_ARMOR, 510, 110, 65, 105, 55, 95, 80, 60, 35, 179, GrowthRate.SLOW, 0, false), - new PokemonSpecies(Species.HEATMOR, 5, false, false, false, "Anteater Pokémon", PokemonType.FIRE, null, 1.4, 58, Abilities.GLUTTONY, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, 484, 85, 97, 66, 105, 66, 65, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DURANT, 5, false, false, false, "Iron Ant Pokémon", PokemonType.BUG, PokemonType.STEEL, 0.3, 33, Abilities.SWARM, Abilities.HUSTLE, Abilities.TRUANT, 484, 58, 109, 112, 48, 48, 109, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DEINO, 5, false, false, false, "Irate Pokémon", PokemonType.DARK, PokemonType.DRAGON, 0.8, 17.3, Abilities.HUSTLE, Abilities.NONE, Abilities.NONE, 300, 52, 65, 50, 45, 50, 38, 45, 35, 60, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.ZWEILOUS, 5, false, false, false, "Hostile Pokémon", PokemonType.DARK, PokemonType.DRAGON, 1.4, 50, Abilities.HUSTLE, Abilities.NONE, Abilities.NONE, 420, 72, 85, 70, 65, 70, 58, 45, 35, 147, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HYDREIGON, 5, false, false, false, "Brutal Pokémon", PokemonType.DARK, PokemonType.DRAGON, 1.8, 160, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 600, 92, 105, 90, 125, 90, 98, 45, 35, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.LARVESTA, 5, false, false, false, "Torch Pokémon", PokemonType.BUG, PokemonType.FIRE, 1.1, 28.8, Abilities.FLAME_BODY, Abilities.NONE, Abilities.SWARM, 360, 55, 85, 55, 50, 55, 60, 45, 50, 72, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.VOLCARONA, 5, false, false, false, "Sun Pokémon", PokemonType.BUG, PokemonType.FIRE, 1.6, 46, Abilities.FLAME_BODY, Abilities.NONE, Abilities.SWARM, 550, 85, 60, 65, 135, 105, 100, 15, 50, 275, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.COBALION, 5, true, false, false, "Iron Will Pokémon", PokemonType.STEEL, PokemonType.FIGHTING, 2.1, 250, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 90, 129, 90, 72, 108, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.TERRAKION, 5, true, false, false, "Cavern Pokémon", PokemonType.ROCK, PokemonType.FIGHTING, 1.9, 260, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 129, 90, 72, 90, 108, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.VIRIZION, 5, true, false, false, "Grassland Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 2, 200, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 90, 72, 90, 129, 108, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.TORNADUS, 5, true, false, false, "Cyclone Pokémon", PokemonType.FLYING, null, 1.5, 63, Abilities.PRANKSTER, Abilities.NONE, Abilities.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, GrowthRate.SLOW, 100, false, true, - new PokemonForm("Incarnate Forme", "incarnate", PokemonType.FLYING, null, 1.5, 63, Abilities.PRANKSTER, Abilities.NONE, Abilities.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, false, null, true), - new PokemonForm("Therian Forme", "therian", PokemonType.FLYING, null, 1.4, 63, Abilities.REGENERATOR, Abilities.NONE, Abilities.REGENERATOR, 580, 79, 100, 80, 110, 90, 121, 3, 90, 290), - ), - new PokemonSpecies(Species.THUNDURUS, 5, true, false, false, "Bolt Strike Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.5, 61, Abilities.PRANKSTER, Abilities.NONE, Abilities.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, GrowthRate.SLOW, 100, false, true, - new PokemonForm("Incarnate Forme", "incarnate", PokemonType.ELECTRIC, PokemonType.FLYING, 1.5, 61, Abilities.PRANKSTER, Abilities.NONE, Abilities.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, false, null, true), - new PokemonForm("Therian Forme", "therian", PokemonType.ELECTRIC, PokemonType.FLYING, 3, 61, Abilities.VOLT_ABSORB, Abilities.NONE, Abilities.VOLT_ABSORB, 580, 79, 105, 70, 145, 80, 101, 3, 90, 290), - ), - new PokemonSpecies(Species.RESHIRAM, 5, false, true, false, "Vast White Pokémon", PokemonType.DRAGON, PokemonType.FIRE, 3.2, 330, Abilities.TURBOBLAZE, Abilities.NONE, Abilities.NONE, 680, 100, 120, 100, 150, 120, 90, 3, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ZEKROM, 5, false, true, false, "Deep Black Pokémon", PokemonType.DRAGON, PokemonType.ELECTRIC, 2.9, 345, Abilities.TERAVOLT, Abilities.NONE, Abilities.NONE, 680, 100, 150, 120, 120, 100, 90, 3, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.LANDORUS, 5, true, false, false, "Abundance Pokémon", PokemonType.GROUND, PokemonType.FLYING, 1.5, 68, Abilities.SAND_FORCE, Abilities.NONE, Abilities.SHEER_FORCE, 600, 89, 125, 90, 115, 80, 101, 3, 90, 300, GrowthRate.SLOW, 100, false, true, - new PokemonForm("Incarnate Forme", "incarnate", PokemonType.GROUND, PokemonType.FLYING, 1.5, 68, Abilities.SAND_FORCE, Abilities.NONE, Abilities.SHEER_FORCE, 600, 89, 125, 90, 115, 80, 101, 3, 90, 300, false, null, true), - new PokemonForm("Therian Forme", "therian", PokemonType.GROUND, PokemonType.FLYING, 1.3, 68, Abilities.INTIMIDATE, Abilities.NONE, Abilities.INTIMIDATE, 600, 89, 145, 90, 105, 80, 91, 3, 90, 300), - ), - new PokemonSpecies(Species.KYUREM, 5, false, true, false, "Boundary Pokémon", PokemonType.DRAGON, PokemonType.ICE, 3, 325, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 660, 125, 130, 90, 130, 90, 95, 3, 0, 330, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.ICE, 3, 325, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 660, 125, 130, 90, 130, 90, 95, 3, 0, 330, false, null, true), - new PokemonForm("Black", "black", PokemonType.DRAGON, PokemonType.ICE, 3.3, 325, Abilities.TERAVOLT, Abilities.NONE, Abilities.NONE, 700, 125, 170, 100, 120, 90, 95, 3, 0, 350), - new PokemonForm("White", "white", PokemonType.DRAGON, PokemonType.ICE, 3.6, 325, Abilities.TURBOBLAZE, Abilities.NONE, Abilities.NONE, 700, 125, 120, 90, 170, 100, 95, 3, 0, 350), - ), - new PokemonSpecies(Species.KELDEO, 5, false, false, true, "Colt Pokémon", PokemonType.WATER, PokemonType.FIGHTING, 1.4, 48.5, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290, GrowthRate.SLOW, null, false, true, - new PokemonForm("Ordinary Form", "ordinary", PokemonType.WATER, PokemonType.FIGHTING, 1.4, 48.5, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290, false, null, true), - new PokemonForm("Resolute", "resolute", PokemonType.WATER, PokemonType.FIGHTING, 1.4, 48.5, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290), - ), - new PokemonSpecies(Species.MELOETTA, 5, false, false, true, "Melody Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 0.6, 6.5, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 77, 77, 128, 128, 90, 3, 100, 300, GrowthRate.SLOW, null, false, true, - new PokemonForm("Aria Forme", "aria", PokemonType.NORMAL, PokemonType.PSYCHIC, 0.6, 6.5, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 77, 77, 128, 128, 90, 3, 100, 300, false, null, true), - new PokemonForm("Pirouette Forme", "pirouette", PokemonType.NORMAL, PokemonType.FIGHTING, 0.6, 6.5, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 128, 90, 77, 77, 128, 3, 100, 300, false, null, true), - ), - new PokemonSpecies(Species.GENESECT, 5, false, false, true, "Paleozoic Pokémon", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, Abilities.DOWNLOAD, Abilities.NONE, Abilities.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, Abilities.DOWNLOAD, Abilities.NONE, Abilities.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300, false, null, true), - new PokemonForm("Shock Drive", "shock", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, Abilities.DOWNLOAD, Abilities.NONE, Abilities.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), - new PokemonForm("Burn Drive", "burn", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, Abilities.DOWNLOAD, Abilities.NONE, Abilities.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), - new PokemonForm("Chill Drive", "chill", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, Abilities.DOWNLOAD, Abilities.NONE, Abilities.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), - new PokemonForm("Douse Drive", "douse", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, Abilities.DOWNLOAD, Abilities.NONE, Abilities.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), - ), - new PokemonSpecies(Species.CHESPIN, 6, false, false, false, "Spiny Nut Pokémon", PokemonType.GRASS, null, 0.4, 9, Abilities.OVERGROW, Abilities.NONE, Abilities.BULLETPROOF, 313, 56, 61, 65, 48, 45, 38, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.QUILLADIN, 6, false, false, false, "Spiny Armor Pokémon", PokemonType.GRASS, null, 0.7, 29, Abilities.OVERGROW, Abilities.NONE, Abilities.BULLETPROOF, 405, 61, 78, 95, 56, 58, 57, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.CHESNAUGHT, 6, false, false, false, "Spiny Armor Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.6, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.BULLETPROOF, 530, 88, 107, 122, 74, 75, 64, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.FENNEKIN, 6, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 0.4, 9.4, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 307, 40, 45, 40, 62, 60, 60, 45, 70, 61, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.BRAIXEN, 6, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 1, 14.5, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 409, 59, 59, 58, 90, 70, 73, 45, 70, 143, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.DELPHOX, 6, false, false, false, "Fox Pokémon", PokemonType.FIRE, PokemonType.PSYCHIC, 1.5, 39, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 534, 75, 69, 72, 114, 100, 104, 45, 70, 267, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.FROAKIE, 6, false, false, false, "Bubble Frog Pokémon", PokemonType.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false, false, - new PokemonForm("Normal", "", PokemonType.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, null, true), - new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.TORRENT, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, "", true), - ), - new PokemonSpecies(Species.FROGADIER, 6, false, false, false, "Bubble Frog Pokémon", PokemonType.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false, false, - new PokemonForm("Normal", "", PokemonType.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, null, true), - new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.NONE, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, "", true), - ), - new PokemonSpecies(Species.GRENINJA, 6, false, false, false, "Ninja Pokémon", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, false, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, false, null, true), - new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.BATTLE_BOND, Abilities.NONE, Abilities.BATTLE_BOND, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, false, "", true), - new PokemonForm("Ash", "ash", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.BATTLE_BOND, Abilities.NONE, Abilities.NONE, 640, 72, 145, 67, 153, 71, 132, 45, 70, 265), - ), - new PokemonSpecies(Species.BUNNELBY, 6, false, false, false, "Digging Pokémon", PokemonType.NORMAL, null, 0.4, 5, Abilities.PICKUP, Abilities.CHEEK_POUCH, Abilities.HUGE_POWER, 237, 38, 36, 38, 32, 36, 57, 255, 50, 47, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DIGGERSBY, 6, false, false, false, "Digging Pokémon", PokemonType.NORMAL, PokemonType.GROUND, 1, 42.4, Abilities.PICKUP, Abilities.CHEEK_POUCH, Abilities.HUGE_POWER, 423, 85, 56, 77, 50, 77, 78, 127, 50, 148, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FLETCHLING, 6, false, false, false, "Tiny Robin Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 1.7, Abilities.BIG_PECKS, Abilities.NONE, Abilities.GALE_WINGS, 278, 45, 50, 43, 40, 38, 62, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.FLETCHINDER, 6, false, false, false, "Ember Pokémon", PokemonType.FIRE, PokemonType.FLYING, 0.7, 16, Abilities.FLAME_BODY, Abilities.NONE, Abilities.GALE_WINGS, 382, 62, 73, 55, 56, 52, 84, 120, 50, 134, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.TALONFLAME, 6, false, false, false, "Scorching Pokémon", PokemonType.FIRE, PokemonType.FLYING, 1.2, 24.5, Abilities.FLAME_BODY, Abilities.NONE, Abilities.GALE_WINGS, 499, 78, 81, 71, 74, 69, 126, 45, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SCATTERBUG, 6, false, false, false, "Scatterdust Pokémon", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Meadow Pattern", "meadow", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Icy Snow Pattern", "icy-snow", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Polar Pattern", "polar", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Tundra Pattern", "tundra", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Continental Pattern", "continental", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Garden Pattern", "garden", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Elegant Pattern", "elegant", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Modern Pattern", "modern", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Marine Pattern", "marine", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Archipelago Pattern", "archipelago", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("High Plains Pattern", "high-plains", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Sandstorm Pattern", "sandstorm", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("River Pattern", "river", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Monsoon Pattern", "monsoon", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Savanna Pattern", "savanna", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Sun Pattern", "sun", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Ocean Pattern", "ocean", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Jungle Pattern", "jungle", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Fancy Pattern", "fancy", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - new PokemonForm("Poké Ball Pattern", "poke-ball", PokemonType.BUG, null, 0.3, 2.5, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), - ), - new PokemonSpecies(Species.SPEWPA, 6, false, false, false, "Scatterdust Pokémon", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.SHED_SKIN, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Meadow Pattern", "meadow", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Icy Snow Pattern", "icy-snow", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Polar Pattern", "polar", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Tundra Pattern", "tundra", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Continental Pattern", "continental", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Garden Pattern", "garden", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Elegant Pattern", "elegant", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Modern Pattern", "modern", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Marine Pattern", "marine", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Archipelago Pattern", "archipelago", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("High Plains Pattern", "high-plains", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Sandstorm Pattern", "sandstorm", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("River Pattern", "river", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Monsoon Pattern", "monsoon", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Savanna Pattern", "savanna", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Sun Pattern", "sun", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Ocean Pattern", "ocean", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Jungle Pattern", "jungle", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Fancy Pattern", "fancy", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - new PokemonForm("Poké Ball Pattern", "poke-ball", PokemonType.BUG, null, 0.3, 8.4, Abilities.SHED_SKIN, Abilities.NONE, Abilities.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), - ), - new PokemonSpecies(Species.VIVILLON, 6, false, false, false, "Scale Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Meadow Pattern", "meadow", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Icy Snow Pattern", "icy-snow", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Polar Pattern", "polar", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Tundra Pattern", "tundra", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Continental Pattern", "continental", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Garden Pattern", "garden", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Elegant Pattern", "elegant", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Modern Pattern", "modern", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Marine Pattern", "marine", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Archipelago Pattern", "archipelago", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("High Plains Pattern", "high-plains", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Sandstorm Pattern", "sandstorm", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("River Pattern", "river", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Monsoon Pattern", "monsoon", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Savanna Pattern", "savanna", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Sun Pattern", "sun", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Ocean Pattern", "ocean", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Jungle Pattern", "jungle", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Fancy Pattern", "fancy", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - new PokemonForm("Poké Ball Pattern", "poke-ball", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, Abilities.SHIELD_DUST, Abilities.COMPOUND_EYES, Abilities.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), - ), - new PokemonSpecies(Species.LITLEO, 6, false, false, false, "Lion Cub Pokémon", PokemonType.FIRE, PokemonType.NORMAL, 0.6, 13.5, Abilities.RIVALRY, Abilities.UNNERVE, Abilities.MOXIE, 369, 62, 50, 58, 73, 54, 72, 220, 70, 74, GrowthRate.MEDIUM_SLOW, 12.5, false), - new PokemonSpecies(Species.PYROAR, 6, false, false, false, "Royal Pokémon", PokemonType.FIRE, PokemonType.NORMAL, 1.5, 81.5, Abilities.RIVALRY, Abilities.UNNERVE, Abilities.MOXIE, 507, 86, 68, 72, 109, 66, 106, 65, 70, 177, GrowthRate.MEDIUM_SLOW, 12.5, true), - new PokemonSpecies(Species.FLABEBE, 6, false, false, false, "Single Bloom Pokémon", PokemonType.FAIRY, null, 0.1, 0.1, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, GrowthRate.MEDIUM_FAST, 0, false, false, - new PokemonForm("Red Flower", "red", PokemonType.FAIRY, null, 0.1, 0.1, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), - new PokemonForm("Yellow Flower", "yellow", PokemonType.FAIRY, null, 0.1, 0.1, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), - new PokemonForm("Orange Flower", "orange", PokemonType.FAIRY, null, 0.1, 0.1, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), - new PokemonForm("Blue Flower", "blue", PokemonType.FAIRY, null, 0.1, 0.1, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), - new PokemonForm("White Flower", "white", PokemonType.FAIRY, null, 0.1, 0.1, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), - ), - new PokemonSpecies(Species.FLOETTE, 6, false, false, false, "Single Bloom Pokémon", PokemonType.FAIRY, null, 0.2, 0.9, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, GrowthRate.MEDIUM_FAST, 0, false, false, - new PokemonForm("Red Flower", "red", PokemonType.FAIRY, null, 0.2, 0.9, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), - new PokemonForm("Yellow Flower", "yellow", PokemonType.FAIRY, null, 0.2, 0.9, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), - new PokemonForm("Orange Flower", "orange", PokemonType.FAIRY, null, 0.2, 0.9, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), - new PokemonForm("Blue Flower", "blue", PokemonType.FAIRY, null, 0.2, 0.9, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), - new PokemonForm("White Flower", "white", PokemonType.FAIRY, null, 0.2, 0.9, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), - ), - new PokemonSpecies(Species.FLORGES, 6, false, false, false, "Garden Pokémon", PokemonType.FAIRY, null, 1.1, 10, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, GrowthRate.MEDIUM_FAST, 0, false, false, - new PokemonForm("Red Flower", "red", PokemonType.FAIRY, null, 1.1, 10, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), - new PokemonForm("Yellow Flower", "yellow", PokemonType.FAIRY, null, 1.1, 10, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), - new PokemonForm("Orange Flower", "orange", PokemonType.FAIRY, null, 1.1, 10, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), - new PokemonForm("Blue Flower", "blue", PokemonType.FAIRY, null, 1.1, 10, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), - new PokemonForm("White Flower", "white", PokemonType.FAIRY, null, 1.1, 10, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), - ), - new PokemonSpecies(Species.SKIDDO, 6, false, false, false, "Mount Pokémon", PokemonType.GRASS, null, 0.9, 31, Abilities.SAP_SIPPER, Abilities.NONE, Abilities.GRASS_PELT, 350, 66, 65, 48, 62, 57, 52, 200, 70, 70, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GOGOAT, 6, false, false, false, "Mount Pokémon", PokemonType.GRASS, null, 1.7, 91, Abilities.SAP_SIPPER, Abilities.NONE, Abilities.GRASS_PELT, 531, 123, 100, 62, 97, 81, 68, 45, 70, 186, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PANCHAM, 6, false, false, false, "Playful Pokémon", PokemonType.FIGHTING, null, 0.6, 8, Abilities.IRON_FIST, Abilities.MOLD_BREAKER, Abilities.SCRAPPY, 348, 67, 82, 62, 46, 48, 43, 220, 50, 70, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PANGORO, 6, false, false, false, "Daunting Pokémon", PokemonType.FIGHTING, PokemonType.DARK, 2.1, 136, Abilities.IRON_FIST, Abilities.MOLD_BREAKER, Abilities.SCRAPPY, 495, 95, 124, 78, 69, 71, 58, 65, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FURFROU, 6, false, false, false, "Poodle Pokémon", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Natural Form", "", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Heart Trim", "heart", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Star Trim", "star", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Diamond Trim", "diamond", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Debutante Trim", "debutante", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Matron Trim", "matron", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Dandy Trim", "dandy", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("La Reine Trim", "la-reine", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Kabuki Trim", "kabuki", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - new PokemonForm("Pharaoh Trim", "pharaoh", PokemonType.NORMAL, null, 1.2, 28, Abilities.FUR_COAT, Abilities.NONE, Abilities.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), - ), - new PokemonSpecies(Species.ESPURR, 6, false, false, false, "Restraint Pokémon", PokemonType.PSYCHIC, null, 0.3, 3.5, Abilities.KEEN_EYE, Abilities.INFILTRATOR, Abilities.OWN_TEMPO, 355, 62, 48, 54, 63, 60, 68, 190, 50, 71, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MEOWSTIC, 6, false, false, false, "Constraint Pokémon", PokemonType.PSYCHIC, null, 0.6, 8.5, Abilities.KEEN_EYE, Abilities.INFILTRATOR, Abilities.PRANKSTER, 466, 74, 48, 76, 83, 81, 104, 75, 50, 163, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Male", "male", PokemonType.PSYCHIC, null, 0.6, 8.5, Abilities.KEEN_EYE, Abilities.INFILTRATOR, Abilities.PRANKSTER, 466, 74, 48, 76, 83, 81, 104, 75, 50, 163, false, "", true), - new PokemonForm("Female", "female", PokemonType.PSYCHIC, null, 0.6, 8.5, Abilities.KEEN_EYE, Abilities.INFILTRATOR, Abilities.COMPETITIVE, 466, 74, 48, 76, 83, 81, 104, 75, 50, 163, false, null, true), - ), - new PokemonSpecies(Species.HONEDGE, 6, false, false, false, "Sword Pokémon", PokemonType.STEEL, PokemonType.GHOST, 0.8, 2, Abilities.NO_GUARD, Abilities.NONE, Abilities.NONE, 325, 45, 80, 100, 35, 37, 28, 180, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DOUBLADE, 6, false, false, false, "Sword Pokémon", PokemonType.STEEL, PokemonType.GHOST, 0.8, 4.5, Abilities.NO_GUARD, Abilities.NONE, Abilities.NONE, 448, 59, 110, 150, 45, 49, 35, 90, 50, 157, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.AEGISLASH, 6, false, false, false, "Royal Sword Pokémon", PokemonType.STEEL, PokemonType.GHOST, 1.7, 53, Abilities.STANCE_CHANGE, Abilities.NONE, Abilities.NONE, 500, 60, 50, 140, 50, 140, 60, 45, 50, 250, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Shield Forme", "shield", PokemonType.STEEL, PokemonType.GHOST, 1.7, 53, Abilities.STANCE_CHANGE, Abilities.NONE, Abilities.NONE, 500, 60, 50, 140, 50, 140, 60, 45, 50, 250, false, "", true), - new PokemonForm("Blade Forme", "blade", PokemonType.STEEL, PokemonType.GHOST, 1.7, 53, Abilities.STANCE_CHANGE, Abilities.NONE, Abilities.NONE, 500, 60, 140, 50, 140, 50, 60, 45, 50, 250), - ), - new PokemonSpecies(Species.SPRITZEE, 6, false, false, false, "Perfume Pokémon", PokemonType.FAIRY, null, 0.2, 0.5, Abilities.HEALER, Abilities.NONE, Abilities.AROMA_VEIL, 341, 78, 52, 60, 63, 65, 23, 200, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.AROMATISSE, 6, false, false, false, "Fragrance Pokémon", PokemonType.FAIRY, null, 0.8, 15.5, Abilities.HEALER, Abilities.NONE, Abilities.AROMA_VEIL, 462, 101, 72, 72, 99, 89, 29, 140, 50, 162, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SWIRLIX, 6, false, false, false, "Cotton Candy Pokémon", PokemonType.FAIRY, null, 0.4, 3.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.UNBURDEN, 341, 62, 48, 66, 59, 57, 49, 200, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SLURPUFF, 6, false, false, false, "Meringue Pokémon", PokemonType.FAIRY, null, 0.8, 5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.UNBURDEN, 480, 82, 80, 86, 85, 75, 72, 140, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.INKAY, 6, false, false, false, "Revolving Pokémon", PokemonType.DARK, PokemonType.PSYCHIC, 0.4, 3.5, Abilities.CONTRARY, Abilities.SUCTION_CUPS, Abilities.INFILTRATOR, 288, 53, 54, 53, 37, 46, 45, 190, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MALAMAR, 6, false, false, false, "Overturning Pokémon", PokemonType.DARK, PokemonType.PSYCHIC, 1.5, 47, Abilities.CONTRARY, Abilities.SUCTION_CUPS, Abilities.INFILTRATOR, 482, 86, 92, 88, 68, 75, 73, 80, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BINACLE, 6, false, false, false, "Two-Handed Pokémon", PokemonType.ROCK, PokemonType.WATER, 0.5, 31, Abilities.TOUGH_CLAWS, Abilities.SNIPER, Abilities.PICKPOCKET, 306, 42, 52, 67, 39, 56, 50, 120, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BARBARACLE, 6, false, false, false, "Collective Pokémon", PokemonType.ROCK, PokemonType.WATER, 1.3, 96, Abilities.TOUGH_CLAWS, Abilities.SNIPER, Abilities.PICKPOCKET, 500, 72, 105, 115, 54, 86, 68, 45, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SKRELP, 6, false, false, false, "Mock Kelp Pokémon", PokemonType.POISON, PokemonType.WATER, 0.5, 7.3, Abilities.POISON_POINT, Abilities.POISON_TOUCH, Abilities.ADAPTABILITY, 320, 50, 60, 60, 60, 60, 30, 225, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DRAGALGE, 6, false, false, false, "Mock Kelp Pokémon", PokemonType.POISON, PokemonType.DRAGON, 1.8, 81.5, Abilities.POISON_POINT, Abilities.POISON_TOUCH, Abilities.ADAPTABILITY, 494, 65, 75, 90, 97, 123, 44, 55, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CLAUNCHER, 6, false, false, false, "Water Gun Pokémon", PokemonType.WATER, null, 0.5, 8.3, Abilities.MEGA_LAUNCHER, Abilities.NONE, Abilities.NONE, 330, 50, 53, 62, 58, 63, 44, 225, 50, 66, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.CLAWITZER, 6, false, false, false, "Howitzer Pokémon", PokemonType.WATER, null, 1.3, 35.3, Abilities.MEGA_LAUNCHER, Abilities.NONE, Abilities.NONE, 500, 71, 73, 88, 120, 89, 59, 55, 50, 100, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HELIOPTILE, 6, false, false, false, "Generator Pokémon", PokemonType.ELECTRIC, PokemonType.NORMAL, 0.5, 6, Abilities.DRY_SKIN, Abilities.SAND_VEIL, Abilities.SOLAR_POWER, 289, 44, 38, 33, 61, 43, 70, 190, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HELIOLISK, 6, false, false, false, "Generator Pokémon", PokemonType.ELECTRIC, PokemonType.NORMAL, 1, 21, Abilities.DRY_SKIN, Abilities.SAND_VEIL, Abilities.SOLAR_POWER, 481, 62, 55, 52, 109, 94, 109, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TYRUNT, 6, false, false, false, "Royal Heir Pokémon", PokemonType.ROCK, PokemonType.DRAGON, 0.8, 26, Abilities.STRONG_JAW, Abilities.NONE, Abilities.STURDY, 362, 58, 89, 77, 45, 45, 48, 45, 50, 72, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.TYRANTRUM, 6, false, false, false, "Despot Pokémon", PokemonType.ROCK, PokemonType.DRAGON, 2.5, 270, Abilities.STRONG_JAW, Abilities.NONE, Abilities.ROCK_HEAD, 521, 82, 121, 119, 69, 59, 71, 45, 50, 182, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.AMAURA, 6, false, false, false, "Tundra Pokémon", PokemonType.ROCK, PokemonType.ICE, 1.3, 25.2, Abilities.REFRIGERATE, Abilities.NONE, Abilities.SNOW_WARNING, 362, 77, 59, 50, 67, 63, 46, 45, 50, 72, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.AURORUS, 6, false, false, false, "Tundra Pokémon", PokemonType.ROCK, PokemonType.ICE, 2.7, 225, Abilities.REFRIGERATE, Abilities.NONE, Abilities.SNOW_WARNING, 521, 123, 77, 72, 99, 92, 58, 45, 50, 104, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.SYLVEON, 6, false, false, false, "Intertwining Pokémon", PokemonType.FAIRY, null, 1, 23.5, Abilities.CUTE_CHARM, Abilities.NONE, Abilities.PIXILATE, 525, 95, 65, 65, 110, 130, 60, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.HAWLUCHA, 6, false, false, false, "Wrestling Pokémon", PokemonType.FIGHTING, PokemonType.FLYING, 0.8, 21.5, Abilities.LIMBER, Abilities.UNBURDEN, Abilities.MOLD_BREAKER, 500, 78, 92, 75, 74, 63, 118, 100, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DEDENNE, 6, false, false, false, "Antenna Pokémon", PokemonType.ELECTRIC, PokemonType.FAIRY, 0.2, 2.2, Abilities.CHEEK_POUCH, Abilities.PICKUP, Abilities.PLUS, 431, 67, 58, 57, 81, 67, 101, 180, 50, 151, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CARBINK, 6, false, false, false, "Jewel Pokémon", PokemonType.ROCK, PokemonType.FAIRY, 0.3, 5.7, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.STURDY, 500, 50, 50, 150, 50, 150, 50, 60, 50, 100, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.GOOMY, 6, false, false, false, "Soft Tissue Pokémon", PokemonType.DRAGON, null, 0.3, 2.8, Abilities.SAP_SIPPER, Abilities.HYDRATION, Abilities.GOOEY, 300, 45, 50, 35, 55, 75, 40, 45, 35, 60, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.SLIGGOO, 6, false, false, false, "Soft Tissue Pokémon", PokemonType.DRAGON, null, 0.8, 17.5, Abilities.SAP_SIPPER, Abilities.HYDRATION, Abilities.GOOEY, 452, 68, 75, 53, 83, 113, 60, 45, 35, 158, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.GOODRA, 6, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, null, 2, 150.5, Abilities.SAP_SIPPER, Abilities.HYDRATION, Abilities.GOOEY, 600, 90, 100, 70, 110, 150, 80, 45, 35, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.KLEFKI, 6, false, false, false, "Key Ring Pokémon", PokemonType.STEEL, PokemonType.FAIRY, 0.2, 3, Abilities.PRANKSTER, Abilities.NONE, Abilities.MAGICIAN, 470, 57, 80, 91, 80, 87, 75, 75, 50, 165, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.PHANTUMP, 6, false, false, false, "Stump Pokémon", PokemonType.GHOST, PokemonType.GRASS, 0.4, 7, Abilities.NATURAL_CURE, Abilities.FRISK, Abilities.HARVEST, 309, 43, 70, 48, 50, 60, 38, 120, 50, 62, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TREVENANT, 6, false, false, false, "Elder Tree Pokémon", PokemonType.GHOST, PokemonType.GRASS, 1.5, 71, Abilities.NATURAL_CURE, Abilities.FRISK, Abilities.HARVEST, 474, 85, 110, 76, 65, 82, 56, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PUMPKABOO, 6, false, false, false, "Pumpkin Pokémon", PokemonType.GHOST, PokemonType.GRASS, 0.4, 5, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 335, 49, 66, 70, 44, 55, 51, 120, 50, 67, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Average Size", "", PokemonType.GHOST, PokemonType.GRASS, 0.4, 5, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 335, 49, 66, 70, 44, 55, 51, 120, 50, 67, false, null, true), - new PokemonForm("Small Size", "small", PokemonType.GHOST, PokemonType.GRASS, 0.3, 3.5, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 335, 44, 66, 70, 44, 55, 56, 120, 50, 67, false, "", true), - new PokemonForm("Large Size", "large", PokemonType.GHOST, PokemonType.GRASS, 0.5, 7.5, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 335, 54, 66, 70, 44, 55, 46, 120, 50, 67, false, "", true), - new PokemonForm("Super Size", "super", PokemonType.GHOST, PokemonType.GRASS, 0.8, 15, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 335, 59, 66, 70, 44, 55, 41, 120, 50, 67, false, "", true), - ), - new PokemonSpecies(Species.GOURGEIST, 6, false, false, false, "Pumpkin Pokémon", PokemonType.GHOST, PokemonType.GRASS, 0.9, 12.5, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 494, 65, 90, 122, 58, 75, 84, 60, 50, 173, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Average Size", "", PokemonType.GHOST, PokemonType.GRASS, 0.9, 12.5, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 494, 65, 90, 122, 58, 75, 84, 60, 50, 173, false, null, true), - new PokemonForm("Small Size", "small", PokemonType.GHOST, PokemonType.GRASS, 0.7, 9.5, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 494, 55, 85, 122, 58, 75, 99, 60, 50, 173, false, "", true), - new PokemonForm("Large Size", "large", PokemonType.GHOST, PokemonType.GRASS, 1.1, 14, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 494, 75, 95, 122, 58, 75, 69, 60, 50, 173, false, "", true), - new PokemonForm("Super Size", "super", PokemonType.GHOST, PokemonType.GRASS, 1.7, 39, Abilities.PICKUP, Abilities.FRISK, Abilities.INSOMNIA, 494, 85, 100, 122, 58, 75, 54, 60, 50, 173, false, "", true), - ), - new PokemonSpecies(Species.BERGMITE, 6, false, false, false, "Ice Chunk Pokémon", PokemonType.ICE, null, 1, 99.5, Abilities.OWN_TEMPO, Abilities.ICE_BODY, Abilities.STURDY, 304, 55, 69, 85, 32, 35, 28, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.AVALUGG, 6, false, false, false, "Iceberg Pokémon", PokemonType.ICE, null, 2, 505, Abilities.OWN_TEMPO, Abilities.ICE_BODY, Abilities.STURDY, 514, 95, 117, 184, 44, 46, 28, 55, 50, 180, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.NOIBAT, 6, false, false, false, "Sound Wave Pokémon", PokemonType.FLYING, PokemonType.DRAGON, 0.5, 8, Abilities.FRISK, Abilities.INFILTRATOR, Abilities.TELEPATHY, 245, 40, 30, 35, 45, 40, 55, 190, 50, 49, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.NOIVERN, 6, false, false, false, "Sound Wave Pokémon", PokemonType.FLYING, PokemonType.DRAGON, 1.5, 85, Abilities.FRISK, Abilities.INFILTRATOR, Abilities.TELEPATHY, 535, 85, 70, 80, 97, 80, 123, 45, 50, 187, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.XERNEAS, 6, false, true, false, "Life Pokémon", PokemonType.FAIRY, null, 3, 215, Abilities.FAIRY_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, GrowthRate.SLOW, null, false, true, - new PokemonForm("Neutral Mode", "neutral", PokemonType.FAIRY, null, 3, 215, Abilities.FAIRY_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, false, null, true), - new PokemonForm("Active Mode", "active", PokemonType.FAIRY, null, 3, 215, Abilities.FAIRY_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340) - ), - new PokemonSpecies(Species.YVELTAL, 6, false, true, false, "Destruction Pokémon", PokemonType.DARK, PokemonType.FLYING, 5.8, 203, Abilities.DARK_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ZYGARDE, 6, false, true, false, "Order Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, GrowthRate.SLOW, null, false, false, - new PokemonForm("50% Forme", "50", PokemonType.DRAGON, PokemonType.GROUND, 5, 305, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, "", true), - new PokemonForm("10% Forme", "10", PokemonType.DRAGON, PokemonType.GROUND, 1.2, 33.5, Abilities.AURA_BREAK, Abilities.NONE, Abilities.NONE, 486, 54, 100, 71, 61, 85, 115, 3, 0, 243, false, null, true), - new PokemonForm("50% Forme Power Construct", "50-pc", PokemonType.DRAGON, PokemonType.GROUND, 5, 305, Abilities.POWER_CONSTRUCT, Abilities.NONE, Abilities.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, "", true), - new PokemonForm("10% Forme Power Construct", "10-pc", PokemonType.DRAGON, PokemonType.GROUND, 1.2, 33.5, Abilities.POWER_CONSTRUCT, Abilities.NONE, Abilities.NONE, 486, 54, 100, 71, 61, 85, 115, 3, 0, 243, false, "10", true), - new PokemonForm("Complete Forme (50% PC)", "complete", PokemonType.DRAGON, PokemonType.GROUND, 4.5, 610, Abilities.POWER_CONSTRUCT, Abilities.NONE, Abilities.NONE, 708, 216, 100, 121, 91, 95, 85, 3, 0, 354), - new PokemonForm("Complete Forme (10% PC)", "10-complete", PokemonType.DRAGON, PokemonType.GROUND, 4.5, 610, Abilities.POWER_CONSTRUCT, Abilities.NONE, Abilities.NONE, 708, 216, 100, 121, 91, 95, 85, 3, 0, 354, false, "complete"), - ), - new PokemonSpecies(Species.DIANCIE, 6, false, false, true, "Jewel Pokémon", PokemonType.ROCK, PokemonType.FAIRY, 0.7, 8.8, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.NONE, 600, 50, 100, 150, 100, 150, 50, 3, 50, 300, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.FAIRY, 0.7, 8.8, Abilities.CLEAR_BODY, Abilities.NONE, Abilities.NONE, 600, 50, 100, 150, 100, 150, 50, 3, 50, 300, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ROCK, PokemonType.FAIRY, 1.1, 27.8, Abilities.MAGIC_BOUNCE, Abilities.NONE, Abilities.NONE, 700, 50, 160, 110, 160, 110, 110, 3, 50, 300), - ), - new PokemonSpecies(Species.HOOPA, 6, false, false, true, "Mischief Pokémon", PokemonType.PSYCHIC, PokemonType.GHOST, 0.5, 9, Abilities.MAGICIAN, Abilities.NONE, Abilities.NONE, 600, 80, 110, 60, 150, 130, 70, 3, 100, 300, GrowthRate.SLOW, null, false, false, - new PokemonForm("Hoopa Confined", "", PokemonType.PSYCHIC, PokemonType.GHOST, 0.5, 9, Abilities.MAGICIAN, Abilities.NONE, Abilities.NONE, 600, 80, 110, 60, 150, 130, 70, 3, 100, 300, false, null, true), - new PokemonForm("Hoopa Unbound", "unbound", PokemonType.PSYCHIC, PokemonType.DARK, 6.5, 490, Abilities.MAGICIAN, Abilities.NONE, Abilities.NONE, 680, 80, 160, 60, 170, 130, 80, 3, 100, 340), - ), - new PokemonSpecies(Species.VOLCANION, 6, false, false, true, "Steam Pokémon", PokemonType.FIRE, PokemonType.WATER, 1.7, 195, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.NONE, 600, 80, 110, 120, 130, 90, 70, 3, 100, 300, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ROWLET, 7, false, false, false, "Grass Quill Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.3, 1.5, Abilities.OVERGROW, Abilities.NONE, Abilities.LONG_REACH, 320, 68, 55, 55, 50, 50, 42, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.DARTRIX, 7, false, false, false, "Blade Quill Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.7, 16, Abilities.OVERGROW, Abilities.NONE, Abilities.LONG_REACH, 420, 78, 75, 75, 70, 70, 52, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.DECIDUEYE, 7, false, false, false, "Arrow Quill Pokémon", PokemonType.GRASS, PokemonType.GHOST, 1.6, 36.6, Abilities.OVERGROW, Abilities.NONE, Abilities.LONG_REACH, 530, 78, 107, 75, 100, 100, 70, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.LITTEN, 7, false, false, false, "Fire Cat Pokémon", PokemonType.FIRE, null, 0.4, 4.3, Abilities.BLAZE, Abilities.NONE, Abilities.INTIMIDATE, 320, 45, 65, 40, 60, 40, 70, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.TORRACAT, 7, false, false, false, "Fire Cat Pokémon", PokemonType.FIRE, null, 0.7, 25, Abilities.BLAZE, Abilities.NONE, Abilities.INTIMIDATE, 420, 65, 85, 50, 80, 50, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.INCINEROAR, 7, false, false, false, "Heel Pokémon", PokemonType.FIRE, PokemonType.DARK, 1.8, 83, Abilities.BLAZE, Abilities.NONE, Abilities.INTIMIDATE, 530, 95, 115, 90, 80, 90, 60, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.POPPLIO, 7, false, false, false, "Sea Lion Pokémon", PokemonType.WATER, null, 0.4, 7.5, Abilities.TORRENT, Abilities.NONE, Abilities.LIQUID_VOICE, 320, 50, 54, 54, 66, 56, 40, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.BRIONNE, 7, false, false, false, "Pop Star Pokémon", PokemonType.WATER, null, 0.6, 17.5, Abilities.TORRENT, Abilities.NONE, Abilities.LIQUID_VOICE, 420, 60, 69, 69, 91, 81, 50, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.PRIMARINA, 7, false, false, false, "Soloist Pokémon", PokemonType.WATER, PokemonType.FAIRY, 1.8, 44, Abilities.TORRENT, Abilities.NONE, Abilities.LIQUID_VOICE, 530, 80, 74, 74, 126, 116, 60, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.PIKIPEK, 7, false, false, false, "Woodpecker Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 1.2, Abilities.KEEN_EYE, Abilities.SKILL_LINK, Abilities.PICKUP, 265, 35, 75, 30, 30, 30, 65, 255, 70, 53, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TRUMBEAK, 7, false, false, false, "Bugle Beak Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 14.8, Abilities.KEEN_EYE, Abilities.SKILL_LINK, Abilities.PICKUP, 355, 55, 85, 50, 40, 50, 75, 120, 70, 124, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TOUCANNON, 7, false, false, false, "Cannon Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.1, 26, Abilities.KEEN_EYE, Abilities.SKILL_LINK, Abilities.SHEER_FORCE, 485, 80, 120, 75, 75, 75, 60, 45, 70, 243, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.YUNGOOS, 7, false, false, false, "Loitering Pokémon", PokemonType.NORMAL, null, 0.4, 6, Abilities.STAKEOUT, Abilities.STRONG_JAW, Abilities.ADAPTABILITY, 253, 48, 70, 30, 30, 30, 45, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GUMSHOOS, 7, false, false, false, "Stakeout Pokémon", PokemonType.NORMAL, null, 0.7, 14.2, Abilities.STAKEOUT, Abilities.STRONG_JAW, Abilities.ADAPTABILITY, 418, 88, 110, 60, 55, 60, 45, 127, 70, 146, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GRUBBIN, 7, false, false, false, "Larva Pokémon", PokemonType.BUG, null, 0.4, 4.4, Abilities.SWARM, Abilities.NONE, Abilities.NONE, 300, 47, 62, 45, 55, 45, 46, 255, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CHARJABUG, 7, false, false, false, "Battery Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 0.5, 10.5, Abilities.BATTERY, Abilities.NONE, Abilities.NONE, 400, 57, 82, 95, 55, 75, 36, 120, 50, 140, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.VIKAVOLT, 7, false, false, false, "Stag Beetle Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 1.5, 45, Abilities.LEVITATE, Abilities.NONE, Abilities.NONE, 500, 77, 70, 90, 145, 75, 43, 45, 50, 250, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CRABRAWLER, 7, false, false, false, "Boxing Pokémon", PokemonType.FIGHTING, null, 0.6, 7, Abilities.HYPER_CUTTER, Abilities.IRON_FIST, Abilities.ANGER_POINT, 338, 47, 82, 57, 42, 47, 63, 225, 70, 68, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CRABOMINABLE, 7, false, false, false, "Woolly Crab Pokémon", PokemonType.FIGHTING, PokemonType.ICE, 1.7, 180, Abilities.HYPER_CUTTER, Abilities.IRON_FIST, Abilities.ANGER_POINT, 478, 97, 132, 77, 62, 67, 43, 60, 70, 167, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ORICORIO, 7, false, false, false, "Dancing Pokémon", PokemonType.FIRE, PokemonType.FLYING, 0.6, 3.4, Abilities.DANCER, Abilities.NONE, Abilities.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, GrowthRate.MEDIUM_FAST, 25, false, false, - new PokemonForm("Baile Style", "baile", PokemonType.FIRE, PokemonType.FLYING, 0.6, 3.4, Abilities.DANCER, Abilities.NONE, Abilities.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, "", true), - new PokemonForm("Pom-Pom Style", "pompom", PokemonType.ELECTRIC, PokemonType.FLYING, 0.6, 3.4, Abilities.DANCER, Abilities.NONE, Abilities.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, null, true), - new PokemonForm("Pau Style", "pau", PokemonType.PSYCHIC, PokemonType.FLYING, 0.6, 3.4, Abilities.DANCER, Abilities.NONE, Abilities.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, null, true), - new PokemonForm("Sensu Style", "sensu", PokemonType.GHOST, PokemonType.FLYING, 0.6, 3.4, Abilities.DANCER, Abilities.NONE, Abilities.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, null, true), - ), - new PokemonSpecies(Species.CUTIEFLY, 7, false, false, false, "Bee Fly Pokémon", PokemonType.BUG, PokemonType.FAIRY, 0.1, 0.2, Abilities.HONEY_GATHER, Abilities.SHIELD_DUST, Abilities.SWEET_VEIL, 304, 40, 45, 40, 55, 40, 84, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RIBOMBEE, 7, false, false, false, "Bee Fly Pokémon", PokemonType.BUG, PokemonType.FAIRY, 0.2, 0.5, Abilities.HONEY_GATHER, Abilities.SHIELD_DUST, Abilities.SWEET_VEIL, 464, 60, 55, 60, 95, 70, 124, 75, 50, 162, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ROCKRUFF, 7, false, false, false, "Puppy Pokémon", PokemonType.ROCK, null, 0.5, 9.2, Abilities.KEEN_EYE, Abilities.VITAL_SPIRIT, Abilities.STEADFAST, 280, 45, 65, 40, 30, 40, 60, 190, 50, 56, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Normal", "", PokemonType.ROCK, null, 0.5, 9.2, Abilities.KEEN_EYE, Abilities.VITAL_SPIRIT, Abilities.STEADFAST, 280, 45, 65, 40, 30, 40, 60, 190, 50, 56, false, null, true), - new PokemonForm("Own Tempo", "own-tempo", PokemonType.ROCK, null, 0.5, 9.2, Abilities.OWN_TEMPO, Abilities.NONE, Abilities.OWN_TEMPO, 280, 45, 65, 40, 30, 40, 60, 190, 50, 56, false, "", true), - ), - new PokemonSpecies(Species.LYCANROC, 7, false, false, false, "Wolf Pokémon", PokemonType.ROCK, null, 0.8, 25, Abilities.KEEN_EYE, Abilities.SAND_RUSH, Abilities.STEADFAST, 487, 75, 115, 65, 55, 65, 112, 90, 50, 170, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Midday Form", "midday", PokemonType.ROCK, null, 0.8, 25, Abilities.KEEN_EYE, Abilities.SAND_RUSH, Abilities.STEADFAST, 487, 75, 115, 65, 55, 65, 112, 90, 50, 170, false, "", true), - new PokemonForm("Midnight Form", "midnight", PokemonType.ROCK, null, 1.1, 25, Abilities.KEEN_EYE, Abilities.VITAL_SPIRIT, Abilities.NO_GUARD, 487, 85, 115, 75, 55, 75, 82, 90, 50, 170, false, null, true), - new PokemonForm("Dusk Form", "dusk", PokemonType.ROCK, null, 0.8, 25, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, 487, 75, 117, 65, 55, 65, 110, 90, 50, 170, false, null, true), - ), - new PokemonSpecies(Species.WISHIWASHI, 7, false, false, false, "Small Fry Pokémon", PokemonType.WATER, null, 0.2, 0.3, Abilities.SCHOOLING, Abilities.NONE, Abilities.NONE, 175, 45, 20, 20, 25, 25, 40, 60, 50, 61, GrowthRate.FAST, 50, false, false, - new PokemonForm("Solo Form", "", PokemonType.WATER, null, 0.2, 0.3, Abilities.SCHOOLING, Abilities.NONE, Abilities.NONE, 175, 45, 20, 20, 25, 25, 40, 60, 50, 61, false, null, true), - new PokemonForm("School", "school", PokemonType.WATER, null, 8.2, 78.6, Abilities.SCHOOLING, Abilities.NONE, Abilities.NONE, 620, 45, 140, 130, 140, 135, 30, 60, 50, 217), - ), - new PokemonSpecies(Species.MAREANIE, 7, false, false, false, "Brutal Star Pokémon", PokemonType.POISON, PokemonType.WATER, 0.4, 8, Abilities.MERCILESS, Abilities.LIMBER, Abilities.REGENERATOR, 305, 50, 53, 62, 43, 52, 45, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TOXAPEX, 7, false, false, false, "Brutal Star Pokémon", PokemonType.POISON, PokemonType.WATER, 0.7, 14.5, Abilities.MERCILESS, Abilities.LIMBER, Abilities.REGENERATOR, 495, 50, 63, 152, 53, 142, 35, 75, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MUDBRAY, 7, false, false, false, "Donkey Pokémon", PokemonType.GROUND, null, 1, 110, Abilities.OWN_TEMPO, Abilities.STAMINA, Abilities.INNER_FOCUS, 385, 70, 100, 70, 45, 55, 45, 190, 50, 77, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MUDSDALE, 7, false, false, false, "Draft Horse Pokémon", PokemonType.GROUND, null, 2.5, 920, Abilities.OWN_TEMPO, Abilities.STAMINA, Abilities.INNER_FOCUS, 500, 100, 125, 100, 55, 85, 35, 60, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DEWPIDER, 7, false, false, false, "Water Bubble Pokémon", PokemonType.WATER, PokemonType.BUG, 0.3, 4, Abilities.WATER_BUBBLE, Abilities.NONE, Abilities.WATER_ABSORB, 269, 38, 40, 52, 40, 72, 27, 200, 50, 54, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ARAQUANID, 7, false, false, false, "Water Bubble Pokémon", PokemonType.WATER, PokemonType.BUG, 1.8, 82, Abilities.WATER_BUBBLE, Abilities.NONE, Abilities.WATER_ABSORB, 454, 68, 70, 92, 50, 132, 42, 100, 50, 159, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FOMANTIS, 7, false, false, false, "Sickle Grass Pokémon", PokemonType.GRASS, null, 0.3, 1.5, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.CONTRARY, 250, 40, 55, 35, 50, 35, 35, 190, 50, 50, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LURANTIS, 7, false, false, false, "Bloom Sickle Pokémon", PokemonType.GRASS, null, 0.9, 18.5, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.CONTRARY, 480, 70, 105, 90, 80, 90, 45, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MORELULL, 7, false, false, false, "Illuminating Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 0.2, 1.5, Abilities.ILLUMINATE, Abilities.EFFECT_SPORE, Abilities.RAIN_DISH, 285, 40, 35, 55, 65, 75, 15, 190, 50, 57, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SHIINOTIC, 7, false, false, false, "Illuminating Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 1, 11.5, Abilities.ILLUMINATE, Abilities.EFFECT_SPORE, Abilities.RAIN_DISH, 405, 60, 45, 80, 90, 100, 30, 75, 50, 142, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SALANDIT, 7, false, false, false, "Toxic Lizard Pokémon", PokemonType.POISON, PokemonType.FIRE, 0.6, 4.8, Abilities.CORROSION, Abilities.NONE, Abilities.OBLIVIOUS, 320, 48, 44, 40, 71, 40, 77, 120, 50, 64, GrowthRate.MEDIUM_FAST, 87.5, false), - new PokemonSpecies(Species.SALAZZLE, 7, false, false, false, "Toxic Lizard Pokémon", PokemonType.POISON, PokemonType.FIRE, 1.2, 22.2, Abilities.CORROSION, Abilities.NONE, Abilities.OBLIVIOUS, 480, 68, 64, 60, 111, 60, 117, 45, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.STUFFUL, 7, false, false, false, "Flailing Pokémon", PokemonType.NORMAL, PokemonType.FIGHTING, 0.5, 6.8, Abilities.FLUFFY, Abilities.KLUTZ, Abilities.CUTE_CHARM, 340, 70, 75, 50, 45, 50, 50, 140, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BEWEAR, 7, false, false, false, "Strong Arm Pokémon", PokemonType.NORMAL, PokemonType.FIGHTING, 2.1, 135, Abilities.FLUFFY, Abilities.KLUTZ, Abilities.UNNERVE, 500, 120, 125, 80, 55, 60, 60, 70, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BOUNSWEET, 7, false, false, false, "Fruit Pokémon", PokemonType.GRASS, null, 0.3, 3.2, Abilities.LEAF_GUARD, Abilities.OBLIVIOUS, Abilities.SWEET_VEIL, 210, 42, 30, 38, 30, 38, 32, 235, 50, 42, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.STEENEE, 7, false, false, false, "Fruit Pokémon", PokemonType.GRASS, null, 0.7, 8.2, Abilities.LEAF_GUARD, Abilities.OBLIVIOUS, Abilities.SWEET_VEIL, 290, 52, 40, 48, 40, 48, 62, 120, 50, 102, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.TSAREENA, 7, false, false, false, "Fruit Pokémon", PokemonType.GRASS, null, 1.2, 21.4, Abilities.LEAF_GUARD, Abilities.QUEENLY_MAJESTY, Abilities.SWEET_VEIL, 510, 72, 120, 98, 50, 98, 72, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.COMFEY, 7, false, false, false, "Posy Picker Pokémon", PokemonType.FAIRY, null, 0.1, 0.3, Abilities.FLOWER_VEIL, Abilities.TRIAGE, Abilities.NATURAL_CURE, 485, 51, 52, 90, 82, 110, 100, 60, 50, 170, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.ORANGURU, 7, false, false, false, "Sage Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 1.5, 76, Abilities.INNER_FOCUS, Abilities.TELEPATHY, Abilities.SYMBIOSIS, 490, 90, 60, 80, 90, 110, 60, 45, 50, 172, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.PASSIMIAN, 7, false, false, false, "Teamwork Pokémon", PokemonType.FIGHTING, null, 2, 82.8, Abilities.RECEIVER, Abilities.NONE, Abilities.DEFIANT, 490, 100, 120, 90, 40, 60, 80, 45, 50, 172, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.WIMPOD, 7, false, false, false, "Turn Tail Pokémon", PokemonType.BUG, PokemonType.WATER, 0.5, 12, Abilities.WIMP_OUT, Abilities.NONE, Abilities.RUN_AWAY, 230, 25, 35, 40, 20, 30, 80, 90, 50, 46, GrowthRate.MEDIUM_FAST, 50, false), //Custom Hidden - new PokemonSpecies(Species.GOLISOPOD, 7, false, false, false, "Hard Scale Pokémon", PokemonType.BUG, PokemonType.WATER, 2, 108, Abilities.EMERGENCY_EXIT, Abilities.NONE, Abilities.ANTICIPATION, 530, 75, 125, 140, 60, 90, 40, 45, 50, 186, GrowthRate.MEDIUM_FAST, 50, false), //Custom Hidden - new PokemonSpecies(Species.SANDYGAST, 7, false, false, false, "Sand Heap Pokémon", PokemonType.GHOST, PokemonType.GROUND, 0.5, 70, Abilities.WATER_COMPACTION, Abilities.NONE, Abilities.SAND_VEIL, 320, 55, 55, 80, 70, 45, 15, 140, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PALOSSAND, 7, false, false, false, "Sand Castle Pokémon", PokemonType.GHOST, PokemonType.GROUND, 1.3, 250, Abilities.WATER_COMPACTION, Abilities.NONE, Abilities.SAND_VEIL, 480, 85, 75, 110, 100, 75, 35, 60, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PYUKUMUKU, 7, false, false, false, "Sea Cucumber Pokémon", PokemonType.WATER, null, 0.3, 1.2, Abilities.INNARDS_OUT, Abilities.NONE, Abilities.UNAWARE, 410, 55, 60, 130, 30, 130, 5, 60, 50, 144, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.TYPE_NULL, 7, true, false, false, "Synthetic Pokémon", PokemonType.NORMAL, null, 1.9, 120.5, Abilities.BATTLE_ARMOR, Abilities.NONE, Abilities.NONE, 534, 95, 95, 95, 95, 95, 59, 3, 0, 107, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SILVALLY, 7, true, false, false, "Synthetic Pokémon", PokemonType.NORMAL, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285, GrowthRate.SLOW, null, false, false, - new PokemonForm("Type: Normal", "normal", PokemonType.NORMAL, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285, false, "", true), - new PokemonForm("Type: Fighting", "fighting", PokemonType.FIGHTING, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Flying", "flying", PokemonType.FLYING, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Poison", "poison", PokemonType.POISON, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Ground", "ground", PokemonType.GROUND, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Rock", "rock", PokemonType.ROCK, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Bug", "bug", PokemonType.BUG, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Ghost", "ghost", PokemonType.GHOST, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Steel", "steel", PokemonType.STEEL, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Fire", "fire", PokemonType.FIRE, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Water", "water", PokemonType.WATER, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Grass", "grass", PokemonType.GRASS, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Electric", "electric", PokemonType.ELECTRIC, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Psychic", "psychic", PokemonType.PSYCHIC, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Ice", "ice", PokemonType.ICE, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Dragon", "dragon", PokemonType.DRAGON, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Dark", "dark", PokemonType.DARK, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - new PokemonForm("Type: Fairy", "fairy", PokemonType.FAIRY, null, 2.3, 100.5, Abilities.RKS_SYSTEM, Abilities.NONE, Abilities.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), - ), - new PokemonSpecies(Species.MINIOR, 7, false, false, false, "Meteor Pokémon", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, GrowthRate.MEDIUM_SLOW, null, false, false, - new PokemonForm("Red Meteor Form", "red-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), - new PokemonForm("Orange Meteor Form", "orange-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), - new PokemonForm("Yellow Meteor Form", "yellow-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), - new PokemonForm("Green Meteor Form", "green-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), - new PokemonForm("Blue Meteor Form", "blue-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), - new PokemonForm("Indigo Meteor Form", "indigo-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), - new PokemonForm("Violet Meteor Form", "violet-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), - new PokemonForm("Red Core Form", "red", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), - new PokemonForm("Orange Core Form", "orange", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), - new PokemonForm("Yellow Core Form", "yellow", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), - new PokemonForm("Green Core Form", "green", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), - new PokemonForm("Blue Core Form", "blue", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), - new PokemonForm("Indigo Core Form", "indigo", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), - new PokemonForm("Violet Core Form", "violet", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, Abilities.SHIELDS_DOWN, Abilities.NONE, Abilities.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), - ), - new PokemonSpecies(Species.KOMALA, 7, false, false, false, "Drowsing Pokémon", PokemonType.NORMAL, null, 0.4, 19.9, Abilities.COMATOSE, Abilities.NONE, Abilities.NONE, 480, 65, 115, 65, 75, 95, 65, 45, 70, 168, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.TURTONATOR, 7, false, false, false, "Blast Turtle Pokémon", PokemonType.FIRE, PokemonType.DRAGON, 2, 212, Abilities.SHELL_ARMOR, Abilities.NONE, Abilities.NONE, 485, 60, 78, 135, 91, 85, 36, 70, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TOGEDEMARU, 7, false, false, false, "Roly-Poly Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 0.3, 3.3, Abilities.IRON_BARBS, Abilities.LIGHTNING_ROD, Abilities.STURDY, 435, 65, 98, 63, 40, 73, 96, 180, 50, 152, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MIMIKYU, 7, false, false, false, "Disguise Pokémon", PokemonType.GHOST, PokemonType.FAIRY, 0.2, 0.7, Abilities.DISGUISE, Abilities.NONE, Abilities.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Disguised Form", "disguised", PokemonType.GHOST, PokemonType.FAIRY, 0.2, 0.7, Abilities.DISGUISE, Abilities.NONE, Abilities.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167, false, null, true), - new PokemonForm("Busted Form", "busted", PokemonType.GHOST, PokemonType.FAIRY, 0.2, 0.7, Abilities.DISGUISE, Abilities.NONE, Abilities.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167), - ), - new PokemonSpecies(Species.BRUXISH, 7, false, false, false, "Gnash Teeth Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 0.9, 19, Abilities.DAZZLING, Abilities.STRONG_JAW, Abilities.WONDER_SKIN, 475, 68, 105, 70, 70, 70, 92, 80, 70, 166, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DRAMPA, 7, false, false, false, "Placid Pokémon", PokemonType.NORMAL, PokemonType.DRAGON, 3, 185, Abilities.BERSERK, Abilities.SAP_SIPPER, Abilities.CLOUD_NINE, 485, 78, 60, 85, 135, 91, 36, 70, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DHELMISE, 7, false, false, false, "Sea Creeper Pokémon", PokemonType.GHOST, PokemonType.GRASS, 3.9, 210, Abilities.STEELWORKER, Abilities.NONE, Abilities.NONE, 517, 70, 131, 100, 86, 90, 40, 25, 50, 181, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.JANGMO_O, 7, false, false, false, "Scaly Pokémon", PokemonType.DRAGON, null, 0.6, 29.7, Abilities.BULLETPROOF, Abilities.SOUNDPROOF, Abilities.OVERCOAT, 300, 45, 55, 65, 45, 45, 45, 45, 50, 60, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HAKAMO_O, 7, false, false, false, "Scaly Pokémon", PokemonType.DRAGON, PokemonType.FIGHTING, 1.2, 47, Abilities.BULLETPROOF, Abilities.SOUNDPROOF, Abilities.OVERCOAT, 420, 55, 75, 90, 65, 70, 65, 45, 50, 147, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.KOMMO_O, 7, false, false, false, "Scaly Pokémon", PokemonType.DRAGON, PokemonType.FIGHTING, 1.6, 78.2, Abilities.BULLETPROOF, Abilities.SOUNDPROOF, Abilities.OVERCOAT, 600, 75, 110, 125, 100, 105, 85, 45, 50, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.TAPU_KOKO, 7, true, false, false, "Land Spirit Pokémon", PokemonType.ELECTRIC, PokemonType.FAIRY, 1.8, 20.5, Abilities.ELECTRIC_SURGE, Abilities.NONE, Abilities.TELEPATHY, 570, 70, 115, 85, 95, 75, 130, 3, 50, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.TAPU_LELE, 7, true, false, false, "Land Spirit Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.2, 18.6, Abilities.PSYCHIC_SURGE, Abilities.NONE, Abilities.TELEPATHY, 570, 70, 85, 75, 130, 115, 95, 3, 50, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.TAPU_BULU, 7, true, false, false, "Land Spirit Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 1.9, 45.5, Abilities.GRASSY_SURGE, Abilities.NONE, Abilities.TELEPATHY, 570, 70, 130, 115, 85, 95, 75, 3, 50, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.TAPU_FINI, 7, true, false, false, "Land Spirit Pokémon", PokemonType.WATER, PokemonType.FAIRY, 1.3, 21.2, Abilities.MISTY_SURGE, Abilities.NONE, Abilities.TELEPATHY, 570, 70, 75, 115, 95, 130, 85, 3, 50, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.COSMOG, 7, true, false, false, "Nebula Pokémon", PokemonType.PSYCHIC, null, 0.2, 0.1, Abilities.UNAWARE, Abilities.NONE, Abilities.NONE, 200, 43, 29, 31, 29, 31, 37, 45, 0, 40, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.COSMOEM, 7, true, false, false, "Protostar Pokémon", PokemonType.PSYCHIC, null, 0.1, 999.9, Abilities.STURDY, Abilities.NONE, Abilities.NONE, 400, 43, 29, 131, 29, 131, 37, 45, 0, 140, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SOLGALEO, 7, false, true, false, "Sunne Pokémon", PokemonType.PSYCHIC, PokemonType.STEEL, 3.4, 230, Abilities.FULL_METAL_BODY, Abilities.NONE, Abilities.NONE, 680, 137, 137, 107, 113, 89, 97, 45, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.LUNALA, 7, false, true, false, "Moone Pokémon", PokemonType.PSYCHIC, PokemonType.GHOST, 4, 120, Abilities.SHADOW_SHIELD, Abilities.NONE, Abilities.NONE, 680, 137, 113, 89, 137, 107, 97, 45, 0, 340, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.NIHILEGO, 7, true, false, false, "Parasite Pokémon", PokemonType.ROCK, PokemonType.POISON, 1.2, 55.5, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 109, 53, 47, 127, 131, 103, 45, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.BUZZWOLE, 7, true, false, false, "Swollen Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 2.4, 333.6, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 107, 139, 139, 53, 53, 79, 45, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.PHEROMOSA, 7, true, false, false, "Lissome Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 1.8, 25, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 71, 137, 37, 137, 37, 151, 45, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.XURKITREE, 7, true, false, false, "Glowing Pokémon", PokemonType.ELECTRIC, null, 3.8, 100, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 83, 89, 71, 173, 71, 83, 45, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.CELESTEELA, 7, true, false, false, "Launch Pokémon", PokemonType.STEEL, PokemonType.FLYING, 9.2, 999.9, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 97, 101, 103, 107, 101, 61, 45, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.KARTANA, 7, true, false, false, "Drawn Sword Pokémon", PokemonType.GRASS, PokemonType.STEEL, 0.3, 0.1, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 59, 181, 131, 59, 31, 109, 45, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.GUZZLORD, 7, true, false, false, "Junkivore Pokémon", PokemonType.DARK, PokemonType.DRAGON, 5.5, 888, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 223, 101, 53, 97, 53, 43, 45, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.NECROZMA, 7, false, true, false, "Prism Pokémon", PokemonType.PSYCHIC, null, 2.4, 230, Abilities.PRISM_ARMOR, Abilities.NONE, Abilities.NONE, 600, 97, 107, 101, 127, 89, 79, 255, 0, 300, GrowthRate.SLOW, null, false, false, - new PokemonForm("Normal", "", PokemonType.PSYCHIC, null, 2.4, 230, Abilities.PRISM_ARMOR, Abilities.NONE, Abilities.NONE, 600, 97, 107, 101, 127, 89, 79, 255, 0, 300, false, null, true), - new PokemonForm("Dusk Mane", "dusk-mane", PokemonType.PSYCHIC, PokemonType.STEEL, 3.8, 460, Abilities.PRISM_ARMOR, Abilities.NONE, Abilities.NONE, 680, 97, 157, 127, 113, 109, 77, 255, 0, 340), - new PokemonForm("Dawn Wings", "dawn-wings", PokemonType.PSYCHIC, PokemonType.GHOST, 4.2, 350, Abilities.PRISM_ARMOR, Abilities.NONE, Abilities.NONE, 680, 97, 113, 109, 157, 127, 77, 255, 0, 340), - new PokemonForm("Ultra", "ultra", PokemonType.PSYCHIC, PokemonType.DRAGON, 7.5, 230, Abilities.NEUROFORCE, Abilities.NONE, Abilities.NONE, 754, 97, 167, 97, 167, 97, 129, 255, 0, 377), - ), - new PokemonSpecies(Species.MAGEARNA, 7, false, false, true, "Artificial Pokémon", PokemonType.STEEL, PokemonType.FAIRY, 1, 80.5, Abilities.SOUL_HEART, Abilities.NONE, Abilities.NONE, 600, 80, 95, 115, 130, 115, 65, 3, 0, 300, GrowthRate.SLOW, null, false, false, - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.FAIRY, 1, 80.5, Abilities.SOUL_HEART, Abilities.NONE, Abilities.NONE, 600, 80, 95, 115, 130, 115, 65, 3, 0, 300, false, null, true), - new PokemonForm("Original", "original", PokemonType.STEEL, PokemonType.FAIRY, 1, 80.5, Abilities.SOUL_HEART, Abilities.NONE, Abilities.NONE, 600, 80, 95, 115, 130, 115, 65, 3, 0, 300, false, null, true), - ), - new PokemonSpecies(Species.MARSHADOW, 7, false, false, true, "Gloomdweller Pokémon", PokemonType.FIGHTING, PokemonType.GHOST, 0.7, 22.2, Abilities.TECHNICIAN, Abilities.NONE, Abilities.NONE, 600, 90, 125, 80, 90, 90, 125, 3, 0, 300, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.FIGHTING, PokemonType.GHOST, 0.7, 22.2, Abilities.TECHNICIAN, Abilities.NONE, Abilities.NONE, 600, 90, 125, 80, 90, 90, 125, 3, 0, 300, false, null, true), - new PokemonForm("Zenith", "zenith", PokemonType.FIGHTING, PokemonType.GHOST, 0.7, 22.2, Abilities.TECHNICIAN, Abilities.NONE, Abilities.NONE, 600, 90, 125, 80, 90, 90, 125, 3, 0, 300, false, null, false, true) - ), - new PokemonSpecies(Species.POIPOLE, 7, true, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.6, 1.8, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 420, 67, 73, 67, 73, 67, 73, 45, 0, 210, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.NAGANADEL, 7, true, false, false, "Poison Pin Pokémon", PokemonType.POISON, PokemonType.DRAGON, 3.6, 150, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 540, 73, 73, 73, 127, 73, 121, 45, 0, 270, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.STAKATAKA, 7, true, false, false, "Rampart Pokémon", PokemonType.ROCK, PokemonType.STEEL, 5.5, 820, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 61, 131, 211, 53, 101, 13, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.BLACEPHALON, 7, true, false, false, "Fireworks Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.8, 13, Abilities.BEAST_BOOST, Abilities.NONE, Abilities.NONE, 570, 53, 127, 53, 151, 79, 107, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ZERAORA, 7, false, false, true, "Thunderclap Pokémon", PokemonType.ELECTRIC, null, 1.5, 44.5, Abilities.VOLT_ABSORB, Abilities.NONE, Abilities.NONE, 600, 88, 112, 75, 102, 80, 143, 3, 0, 300, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.MELTAN, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 0.2, 8, Abilities.MAGNET_PULL, Abilities.NONE, Abilities.NONE, 300, 46, 65, 65, 55, 35, 34, 3, 0, 150, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.MELMETAL, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 2.5, 800, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.STEEL, null, 2.5, 800, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, null, 25, 999.9, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 700, 170, 158, 158, 95, 75, 44, 3, 0, 300), - ), - new PokemonSpecies(Species.GROOKEY, 8, false, false, false, "Chimp Pokémon", PokemonType.GRASS, null, 0.3, 5, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 310, 50, 65, 50, 40, 40, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.THWACKEY, 8, false, false, false, "Beat Pokémon", PokemonType.GRASS, null, 0.7, 14, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.RILLABOOM, 8, false, false, false, "Drummer Pokémon", PokemonType.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, null, 28, 999.9, Abilities.GRASSY_SURGE, Abilities.NONE, Abilities.GRASSY_SURGE, 630, 125, 140, 105, 90, 85, 85, 45, 50, 265), - ), - new PokemonSpecies(Species.SCORBUNNY, 8, false, false, false, "Rabbit Pokémon", PokemonType.FIRE, null, 0.3, 4.5, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 310, 50, 71, 40, 40, 40, 69, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.RABOOT, 8, false, false, false, "Rabbit Pokémon", PokemonType.FIRE, null, 0.6, 9, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 420, 65, 86, 60, 55, 60, 94, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.CINDERACE, 8, false, false, false, "Striker Pokémon", PokemonType.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, null, 27, 999.9, Abilities.LIBERO, Abilities.NONE, Abilities.LIBERO, 630, 100, 141, 80, 95, 80, 134, 45, 50, 265), - ), - new PokemonSpecies(Species.SOBBLE, 8, false, false, false, "Water Lizard Pokémon", PokemonType.WATER, null, 0.3, 4, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 310, 50, 40, 40, 70, 40, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.DRIZZILE, 8, false, false, false, "Water Lizard Pokémon", PokemonType.WATER, null, 0.7, 11.5, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 420, 65, 60, 55, 95, 55, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.INTELEON, 8, false, false, false, "Secret Agent Pokémon", PokemonType.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 40, 999.9, Abilities.SNIPER, Abilities.NONE, Abilities.SNIPER, 630, 95, 117, 67, 147, 67, 137, 45, 50, 265), - ), - new PokemonSpecies(Species.SKWOVET, 8, false, false, false, "Cheeky Pokémon", PokemonType.NORMAL, null, 0.3, 2.5, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 275, 70, 55, 55, 35, 35, 25, 255, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GREEDENT, 8, false, false, false, "Greedy Pokémon", PokemonType.NORMAL, null, 0.6, 6, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 460, 120, 95, 95, 55, 75, 20, 90, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ROOKIDEE, 8, false, false, false, "Tiny Bird Pokémon", PokemonType.FLYING, null, 0.2, 1.8, Abilities.KEEN_EYE, Abilities.UNNERVE, Abilities.BIG_PECKS, 245, 38, 47, 35, 33, 35, 57, 255, 50, 49, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CORVISQUIRE, 8, false, false, false, "Raven Pokémon", PokemonType.FLYING, null, 0.8, 16, Abilities.KEEN_EYE, Abilities.UNNERVE, Abilities.BIG_PECKS, 365, 68, 67, 55, 43, 55, 77, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CORVIKNIGHT, 8, false, false, false, "Raven Pokémon", PokemonType.FLYING, PokemonType.STEEL, 2.2, 75, Abilities.PRESSURE, Abilities.UNNERVE, Abilities.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.FLYING, PokemonType.STEEL, 2.2, 75, Abilities.PRESSURE, Abilities.UNNERVE, Abilities.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FLYING, PokemonType.STEEL, 14, 999.9, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, 595, 118, 112, 135, 63, 90, 77, 45, 50, 248), - ), - new PokemonSpecies(Species.BLIPBUG, 8, false, false, false, "Larva Pokémon", PokemonType.BUG, null, 0.4, 8, Abilities.SWARM, Abilities.COMPOUND_EYES, Abilities.TELEPATHY, 180, 25, 20, 20, 25, 45, 45, 255, 50, 36, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DOTTLER, 8, false, false, false, "Radome Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 19.5, Abilities.SWARM, Abilities.COMPOUND_EYES, Abilities.TELEPATHY, 335, 50, 35, 80, 50, 90, 30, 120, 50, 117, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ORBEETLE, 8, false, false, false, "Seven Spot Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 40.8, Abilities.SWARM, Abilities.FRISK, Abilities.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 40.8, Abilities.SWARM, Abilities.FRISK, Abilities.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.PSYCHIC, 14, 999.9, Abilities.TRACE, Abilities.TRACE, Abilities.TRACE, 605, 75, 50, 140, 100, 150, 90, 45, 50, 253), - ), - new PokemonSpecies(Species.NICKIT, 8, false, false, false, "Fox Pokémon", PokemonType.DARK, null, 0.6, 8.9, Abilities.RUN_AWAY, Abilities.UNBURDEN, Abilities.STAKEOUT, 245, 40, 28, 28, 47, 52, 50, 255, 50, 49, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.THIEVUL, 8, false, false, false, "Fox Pokémon", PokemonType.DARK, null, 1.2, 19.9, Abilities.RUN_AWAY, Abilities.UNBURDEN, Abilities.STAKEOUT, 455, 70, 58, 58, 87, 92, 90, 127, 50, 159, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.GOSSIFLEUR, 8, false, false, false, "Flowering Pokémon", PokemonType.GRASS, null, 0.4, 2.2, Abilities.COTTON_DOWN, Abilities.REGENERATOR, Abilities.EFFECT_SPORE, 250, 40, 40, 60, 40, 60, 10, 190, 50, 50, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ELDEGOSS, 8, false, false, false, "Cotton Bloom Pokémon", PokemonType.GRASS, null, 0.5, 2.5, Abilities.COTTON_DOWN, Abilities.REGENERATOR, Abilities.EFFECT_SPORE, 460, 60, 50, 90, 80, 120, 60, 75, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WOOLOO, 8, false, false, false, "Sheep Pokémon", PokemonType.NORMAL, null, 0.6, 6, Abilities.FLUFFY, Abilities.RUN_AWAY, Abilities.BULLETPROOF, 270, 42, 40, 55, 40, 45, 48, 255, 50, 122, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DUBWOOL, 8, false, false, false, "Sheep Pokémon", PokemonType.NORMAL, null, 1.3, 43, Abilities.FLUFFY, Abilities.STEADFAST, Abilities.BULLETPROOF, 490, 72, 80, 100, 60, 90, 88, 127, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CHEWTLE, 8, false, false, false, "Snapping Pokémon", PokemonType.WATER, null, 0.3, 8.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 284, 50, 64, 50, 38, 38, 44, 255, 50, 57, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DREDNAW, 8, false, false, false, "Bite Pokémon", PokemonType.WATER, PokemonType.ROCK, 1, 115.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.ROCK, 1, 115.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ROCK, 24, 999.9, Abilities.STRONG_JAW, Abilities.STRONG_JAW, Abilities.STRONG_JAW, 585, 115, 137, 115, 61, 83, 74, 75, 50, 170), - ), - new PokemonSpecies(Species.YAMPER, 8, false, false, false, "Puppy Pokémon", PokemonType.ELECTRIC, null, 0.3, 13.5, Abilities.BALL_FETCH, Abilities.NONE, Abilities.RATTLED, 270, 59, 45, 50, 40, 50, 26, 255, 50, 54, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.BOLTUND, 8, false, false, false, "Dog Pokémon", PokemonType.ELECTRIC, null, 1, 34, Abilities.STRONG_JAW, Abilities.NONE, Abilities.COMPETITIVE, 490, 69, 90, 60, 90, 60, 121, 45, 50, 172, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.ROLYCOLY, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, null, 0.3, 12, Abilities.STEAM_ENGINE, Abilities.HEATPROOF, Abilities.FLASH_FIRE, 240, 30, 40, 50, 40, 50, 30, 255, 50, 48, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CARKOL, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, PokemonType.FIRE, 1.1, 78, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 410, 80, 60, 90, 60, 70, 50, 120, 50, 144, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.COALOSSAL, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, PokemonType.FIRE, 2.8, 310.5, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.FIRE, 2.8, 310.5, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ROCK, PokemonType.FIRE, 42, 999.9, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, 610, 140, 100, 132, 95, 100, 43, 45, 50, 255), - ), - new PokemonSpecies(Species.APPLIN, 8, false, false, false, "Apple Core Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.2, 0.5, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.BULLETPROOF, 260, 40, 40, 80, 40, 40, 20, 255, 50, 52, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.FLAPPLE, 8, false, false, false, "Apple Wing Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.3, 1, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.HUSTLE, 485, 70, 110, 80, 95, 60, 70, 45, 50, 170, GrowthRate.ERRATIC, 50, false, true, - new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.DRAGON, 0.3, 1, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.HUSTLE, 485, 70, 110, 80, 95, 60, 70, 45, 50, 170, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.DRAGON, 24, 999.9, Abilities.HUSTLE, Abilities.HUSTLE, Abilities.HUSTLE, 585, 100, 125, 90, 105, 70, 95, 45, 50, 170), - ), - new PokemonSpecies(Species.APPLETUN, 8, false, false, false, "Apple Nectar Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.4, 13, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.THICK_FAT, 485, 110, 85, 80, 100, 80, 30, 45, 50, 170, GrowthRate.ERRATIC, 50, false, true, - new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.DRAGON, 0.4, 13, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.THICK_FAT, 485, 110, 85, 80, 100, 80, 30, 45, 50, 170, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.DRAGON, 24, 999.9, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 585, 150, 100, 95, 115, 95, 30, 45, 50, 170), - ), - new PokemonSpecies(Species.SILICOBRA, 8, false, false, false, "Sand Snake Pokémon", PokemonType.GROUND, null, 2.2, 7.6, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 315, 52, 57, 75, 35, 50, 46, 255, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SANDACONDA, 8, false, false, false, "Sand Snake Pokémon", PokemonType.GROUND, null, 3.8, 65.5, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.GROUND, null, 3.8, 65.5, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GROUND, null, 22, 999.9, Abilities.SAND_SPIT, Abilities.SAND_SPIT, Abilities.SAND_SPIT, 610, 102, 137, 140, 70, 80, 81, 120, 50, 179), - ), - new PokemonSpecies(Species.CRAMORANT, 8, false, false, false, "Gulp Pokémon", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Normal", "", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, false, null, true), - new PokemonForm("Gulping Form", "gulping", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166), - new PokemonForm("Gorging Form", "gorging", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166), - ), - new PokemonSpecies(Species.ARROKUDA, 8, false, false, false, "Rush Pokémon", PokemonType.WATER, null, 0.5, 1, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.PROPELLER_TAIL, 280, 41, 63, 40, 40, 30, 66, 255, 50, 56, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.BARRASKEWDA, 8, false, false, false, "Skewer Pokémon", PokemonType.WATER, null, 1.3, 30, Abilities.SWIFT_SWIM, Abilities.NONE, Abilities.PROPELLER_TAIL, 490, 61, 123, 60, 60, 50, 136, 60, 50, 172, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.TOXEL, 8, false, false, false, "Baby Pokémon", PokemonType.ELECTRIC, PokemonType.POISON, 0.4, 11, Abilities.RATTLED, Abilities.STATIC, Abilities.KLUTZ, 242, 40, 38, 35, 54, 35, 40, 75, 50, 48, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.TOXTRICITY, 8, false, false, false, "Punk Pokémon", PokemonType.ELECTRIC, PokemonType.POISON, 1.6, 40, Abilities.PUNK_ROCK, Abilities.PLUS, Abilities.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Amped Form", "amped", PokemonType.ELECTRIC, PokemonType.POISON, 1.6, 40, Abilities.PUNK_ROCK, Abilities.PLUS, Abilities.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, false, "", true), - new PokemonForm("Low-Key Form", "lowkey", PokemonType.ELECTRIC, PokemonType.POISON, 1.6, 40, Abilities.PUNK_ROCK, Abilities.MINUS, Abilities.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, false, "lowkey", true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ELECTRIC, PokemonType.POISON, 24, 999.9, Abilities.PUNK_ROCK, Abilities.PUNK_ROCK, Abilities.PUNK_ROCK, 602, 114, 105, 82, 137, 82, 82, 45, 50, 176), - ), - new PokemonSpecies(Species.SIZZLIPEDE, 8, false, false, false, "Radiator Pokémon", PokemonType.FIRE, PokemonType.BUG, 0.7, 1, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 305, 50, 65, 45, 50, 50, 45, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CENTISKORCH, 8, false, false, false, "Radiator Pokémon", PokemonType.FIRE, PokemonType.BUG, 3, 120, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.BUG, 3, 120, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.BUG, 75, 999.9, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, 625, 130, 125, 75, 94, 100, 101, 75, 50, 184), - ), - new PokemonSpecies(Species.CLOBBOPUS, 8, false, false, false, "Tantrum Pokémon", PokemonType.FIGHTING, null, 0.6, 4, Abilities.LIMBER, Abilities.NONE, Abilities.TECHNICIAN, 310, 50, 68, 60, 50, 50, 32, 180, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GRAPPLOCT, 8, false, false, false, "Jujitsu Pokémon", PokemonType.FIGHTING, null, 1.6, 39, Abilities.LIMBER, Abilities.NONE, Abilities.TECHNICIAN, 480, 80, 118, 90, 70, 80, 42, 45, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SINISTEA, 8, false, false, false, "Black Tea Pokémon", PokemonType.GHOST, null, 0.1, 0.2, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.CURSED_BODY, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, GrowthRate.MEDIUM_FAST, null, false, false, - new PokemonForm("Phony Form", "phony", PokemonType.GHOST, null, 0.1, 0.2, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.CURSED_BODY, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, "", true), - new PokemonForm("Antique Form", "antique", PokemonType.GHOST, null, 0.1, 0.2, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.CURSED_BODY, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, "", true, true), - ), - new PokemonSpecies(Species.POLTEAGEIST, 8, false, false, false, "Black Tea Pokémon", PokemonType.GHOST, null, 0.2, 0.4, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.CURSED_BODY, 508, 60, 65, 65, 134, 114, 70, 60, 50, 178, GrowthRate.MEDIUM_FAST, null, false, false, - new PokemonForm("Phony Form", "phony", PokemonType.GHOST, null, 0.2, 0.4, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.CURSED_BODY, 508, 60, 65, 65, 134, 114, 70, 60, 50, 178, false, "", true), - new PokemonForm("Antique Form", "antique", PokemonType.GHOST, null, 0.2, 0.4, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.CURSED_BODY, 508, 60, 65, 65, 134, 114, 70, 60, 50, 178, false, "", true, true), - ), - new PokemonSpecies(Species.HATENNA, 8, false, false, false, "Calm Pokémon", PokemonType.PSYCHIC, null, 0.4, 3.4, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 265, 42, 30, 45, 56, 53, 39, 235, 50, 53, GrowthRate.SLOW, 0, false), - new PokemonSpecies(Species.HATTREM, 8, false, false, false, "Serene Pokémon", PokemonType.PSYCHIC, null, 0.6, 4.8, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 370, 57, 40, 65, 86, 73, 49, 120, 50, 130, GrowthRate.SLOW, 0, false), - new PokemonSpecies(Species.HATTERENE, 8, false, false, false, "Silent Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 2.1, 5.1, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 510, 57, 90, 95, 136, 103, 29, 45, 50, 255, GrowthRate.SLOW, 0, false, true, - new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.FAIRY, 2.1, 5.1, Abilities.HEALER, Abilities.ANTICIPATION, Abilities.MAGIC_BOUNCE, 510, 57, 90, 95, 136, 103, 29, 45, 50, 255, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.PSYCHIC, PokemonType.FAIRY, 26, 999.9, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, Abilities.MAGIC_BOUNCE, 610, 87, 100, 110, 146, 118, 49, 45, 50, 255), - ), - new PokemonSpecies(Species.IMPIDIMP, 8, false, false, false, "Wily Pokémon", PokemonType.DARK, PokemonType.FAIRY, 0.4, 5.5, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 265, 45, 45, 30, 55, 40, 50, 255, 50, 53, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.MORGREM, 8, false, false, false, "Devious Pokémon", PokemonType.DARK, PokemonType.FAIRY, 0.8, 12.5, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 370, 65, 60, 45, 75, 55, 70, 120, 50, 130, GrowthRate.MEDIUM_FAST, 100, false), - new PokemonSpecies(Species.GRIMMSNARL, 8, false, false, false, "Bulk Up Pokémon", PokemonType.DARK, PokemonType.FAIRY, 1.5, 61, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 510, 95, 120, 65, 95, 75, 60, 45, 50, 255, GrowthRate.MEDIUM_FAST, 100, false, true, - new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.FAIRY, 1.5, 61, Abilities.PRANKSTER, Abilities.FRISK, Abilities.PICKPOCKET, 510, 95, 120, 65, 95, 75, 60, 45, 50, 255, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.DARK, PokemonType.FAIRY, 32, 999.9, Abilities.PRANKSTER, Abilities.PRANKSTER, Abilities.PRANKSTER, 610, 130, 138, 75, 110, 92, 65, 45, 50, 255), - ), - new PokemonSpecies(Species.OBSTAGOON, 8, false, false, false, "Blocking Pokémon", PokemonType.DARK, PokemonType.NORMAL, 1.6, 46, Abilities.RECKLESS, Abilities.GUTS, Abilities.DEFIANT, 520, 93, 90, 101, 60, 81, 95, 45, 50, 260, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PERRSERKER, 8, false, false, false, "Viking Pokémon", PokemonType.STEEL, null, 0.8, 28, Abilities.BATTLE_ARMOR, Abilities.TOUGH_CLAWS, Abilities.STEELY_SPIRIT, 440, 70, 110, 100, 50, 60, 50, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CURSOLA, 8, false, false, false, "Coral Pokémon", PokemonType.GHOST, null, 1, 0.4, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.PERISH_BODY, 510, 60, 95, 50, 145, 130, 30, 30, 50, 179, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.SIRFETCHD, 8, false, false, false, "Wild Duck Pokémon", PokemonType.FIGHTING, null, 0.8, 117, Abilities.STEADFAST, Abilities.NONE, Abilities.SCRAPPY, 507, 62, 135, 95, 68, 82, 65, 45, 50, 177, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MR_RIME, 8, false, false, false, "Comedian Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 1.5, 58.2, Abilities.TANGLED_FEET, Abilities.SCREEN_CLEANER, Abilities.ICE_BODY, 520, 80, 85, 75, 110, 100, 70, 45, 50, 182, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RUNERIGUS, 8, false, false, false, "Grudge Pokémon", PokemonType.GROUND, PokemonType.GHOST, 1.6, 66.6, Abilities.WANDERING_SPIRIT, Abilities.NONE, Abilities.NONE, 483, 58, 95, 145, 50, 105, 30, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.MILCERY, 8, false, false, false, "Cream Pokémon", PokemonType.FAIRY, null, 0.2, 0.3, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 270, 45, 40, 40, 50, 61, 34, 200, 50, 54, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.ALCREMIE, 8, false, false, false, "Cream Pokémon", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, GrowthRate.MEDIUM_FAST, 0, false, true, - new PokemonForm("Vanilla Cream", "vanilla-cream", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, "", true), - new PokemonForm("Ruby Cream", "ruby-cream", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("Matcha Cream", "matcha-cream", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("Mint Cream", "mint-cream", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("Lemon Cream", "lemon-cream", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("Salted Cream", "salted-cream", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("Ruby Swirl", "ruby-swirl", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("Caramel Swirl", "caramel-swirl", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("Rainbow Swirl", "rainbow-swirl", PokemonType.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FAIRY, null, 30, 999.9, Abilities.MISTY_SURGE, Abilities.NONE, Abilities.MISTY_SURGE, 595, 105, 70, 85, 130, 141, 64, 100, 50, 173), - ), - new PokemonSpecies(Species.FALINKS, 8, false, false, false, "Formation Pokémon", PokemonType.FIGHTING, null, 3, 62, Abilities.BATTLE_ARMOR, Abilities.NONE, Abilities.DEFIANT, 470, 65, 100, 100, 70, 60, 75, 45, 50, 165, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.PINCURCHIN, 8, false, false, false, "Sea Urchin Pokémon", PokemonType.ELECTRIC, null, 0.3, 1, Abilities.LIGHTNING_ROD, Abilities.NONE, Abilities.ELECTRIC_SURGE, 435, 48, 101, 95, 91, 85, 15, 75, 50, 152, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SNOM, 8, false, false, false, "Worm Pokémon", PokemonType.ICE, PokemonType.BUG, 0.3, 3.8, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.ICE_SCALES, 185, 30, 25, 35, 45, 30, 20, 190, 50, 37, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FROSMOTH, 8, false, false, false, "Frost Moth Pokémon", PokemonType.ICE, PokemonType.BUG, 1.3, 42, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.ICE_SCALES, 475, 70, 65, 60, 125, 90, 65, 75, 50, 166, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.STONJOURNER, 8, false, false, false, "Big Rock Pokémon", PokemonType.ROCK, null, 2.5, 520, Abilities.POWER_SPOT, Abilities.NONE, Abilities.NONE, 470, 100, 125, 135, 20, 20, 70, 60, 50, 165, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.EISCUE, 8, false, false, false, "Penguin Pokémon", PokemonType.ICE, null, 1.4, 89, Abilities.ICE_FACE, Abilities.NONE, Abilities.NONE, 470, 75, 80, 110, 65, 90, 50, 60, 50, 165, GrowthRate.SLOW, 50, false, false, - new PokemonForm("Ice Face", "", PokemonType.ICE, null, 1.4, 89, Abilities.ICE_FACE, Abilities.NONE, Abilities.NONE, 470, 75, 80, 110, 65, 90, 50, 60, 50, 165, false, null, true), - new PokemonForm("No Ice", "no-ice", PokemonType.ICE, null, 1.4, 89, Abilities.ICE_FACE, Abilities.NONE, Abilities.NONE, 470, 75, 80, 70, 65, 50, 130, 60, 50, 165), - ), - new PokemonSpecies(Species.INDEEDEE, 8, false, false, false, "Emotion Pokémon", PokemonType.PSYCHIC, PokemonType.NORMAL, 0.9, 28, Abilities.INNER_FOCUS, Abilities.SYNCHRONIZE, Abilities.PSYCHIC_SURGE, 475, 60, 65, 55, 105, 95, 95, 30, 140, 166, GrowthRate.FAST, 50, false, false, - new PokemonForm("Male", "male", PokemonType.PSYCHIC, PokemonType.NORMAL, 0.9, 28, Abilities.INNER_FOCUS, Abilities.SYNCHRONIZE, Abilities.PSYCHIC_SURGE, 475, 60, 65, 55, 105, 95, 95, 30, 140, 166, false, "", true), - new PokemonForm("Female", "female", PokemonType.PSYCHIC, PokemonType.NORMAL, 0.9, 28, Abilities.OWN_TEMPO, Abilities.SYNCHRONIZE, Abilities.PSYCHIC_SURGE, 475, 70, 55, 65, 95, 105, 85, 30, 140, 166, false, null, true), - ), - new PokemonSpecies(Species.MORPEKO, 8, false, false, false, "Two-Sided Pokémon", PokemonType.ELECTRIC, PokemonType.DARK, 0.3, 3, Abilities.HUNGER_SWITCH, Abilities.NONE, Abilities.NONE, 436, 58, 95, 58, 70, 58, 97, 180, 50, 153, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Full Belly Mode", "full-belly", PokemonType.ELECTRIC, PokemonType.DARK, 0.3, 3, Abilities.HUNGER_SWITCH, Abilities.NONE, Abilities.NONE, 436, 58, 95, 58, 70, 58, 97, 180, 50, 153, false, "", true), - new PokemonForm("Hangry Mode", "hangry", PokemonType.ELECTRIC, PokemonType.DARK, 0.3, 3, Abilities.HUNGER_SWITCH, Abilities.NONE, Abilities.NONE, 436, 58, 95, 58, 70, 58, 97, 180, 50, 153), - ), - new PokemonSpecies(Species.CUFANT, 8, false, false, false, "Copperderm Pokémon", PokemonType.STEEL, null, 1.2, 100, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 330, 72, 80, 49, 40, 49, 40, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.COPPERAJAH, 8, false, false, false, "Copperderm Pokémon", PokemonType.STEEL, null, 3, 650, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.STEEL, null, 3, 650, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.GROUND, 23, 999.9, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.MOLD_BREAKER, 600, 177, 155, 79, 90, 79, 20, 90, 50, 175), - ), - new PokemonSpecies(Species.DRACOZOLT, 8, false, false, false, "Fossil Pokémon", PokemonType.ELECTRIC, PokemonType.DRAGON, 1.8, 190, Abilities.VOLT_ABSORB, Abilities.HUSTLE, Abilities.SAND_RUSH, 505, 90, 100, 90, 80, 70, 75, 45, 50, 177, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ARCTOZOLT, 8, false, false, false, "Fossil Pokémon", PokemonType.ELECTRIC, PokemonType.ICE, 2.3, 150, Abilities.VOLT_ABSORB, Abilities.STATIC, Abilities.SLUSH_RUSH, 505, 90, 100, 90, 90, 80, 55, 45, 50, 177, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.DRACOVISH, 8, false, false, false, "Fossil Pokémon", PokemonType.WATER, PokemonType.DRAGON, 2.3, 215, Abilities.WATER_ABSORB, Abilities.STRONG_JAW, Abilities.SAND_RUSH, 505, 90, 90, 100, 70, 80, 75, 45, 50, 177, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ARCTOVISH, 8, false, false, false, "Fossil Pokémon", PokemonType.WATER, PokemonType.ICE, 2, 175, Abilities.WATER_ABSORB, Abilities.ICE_BODY, Abilities.SLUSH_RUSH, 505, 90, 90, 100, 80, 90, 55, 45, 50, 177, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.DURALUDON, 8, false, false, false, "Alloy Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 1.8, 40, Abilities.LIGHT_METAL, Abilities.HEAVY_METAL, Abilities.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, GrowthRate.MEDIUM_FAST, 50, false, true, - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.DRAGON, 1.8, 40, Abilities.LIGHT_METAL, Abilities.HEAVY_METAL, Abilities.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.DRAGON, 43, 999.9, Abilities.LIGHTNING_ROD, Abilities.LIGHTNING_ROD, Abilities.LIGHTNING_ROD, 635, 100, 110, 120, 175, 60, 70, 45, 50, 187), - ), - new PokemonSpecies(Species.DREEPY, 8, false, false, false, "Lingering Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 0.5, 2, Abilities.CLEAR_BODY, Abilities.INFILTRATOR, Abilities.CURSED_BODY, 270, 28, 60, 30, 40, 30, 82, 45, 50, 54, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.DRAKLOAK, 8, false, false, false, "Caretaker Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 1.4, 11, Abilities.CLEAR_BODY, Abilities.INFILTRATOR, Abilities.CURSED_BODY, 410, 68, 80, 50, 60, 50, 102, 45, 50, 144, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.DRAGAPULT, 8, false, false, false, "Stealth Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 3, 50, Abilities.CLEAR_BODY, Abilities.INFILTRATOR, Abilities.CURSED_BODY, 600, 88, 120, 75, 100, 75, 142, 45, 50, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.ZACIAN, 8, false, true, false, "Warrior Pokémon", PokemonType.FAIRY, null, 2.8, 110, Abilities.INTREPID_SWORD, Abilities.NONE, Abilities.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, GrowthRate.SLOW, null, false, false, - new PokemonForm("Hero of Many Battles", "hero-of-many-battles", PokemonType.FAIRY, null, 2.8, 110, Abilities.INTREPID_SWORD, Abilities.NONE, Abilities.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, false, "", true), - new PokemonForm("Crowned", "crowned", PokemonType.FAIRY, PokemonType.STEEL, 2.8, 355, Abilities.INTREPID_SWORD, Abilities.NONE, Abilities.NONE, 700, 92, 150, 115, 80, 115, 148, 10, 0, 360), - ), - new PokemonSpecies(Species.ZAMAZENTA, 8, false, true, false, "Warrior Pokémon", PokemonType.FIGHTING, null, 2.9, 210, Abilities.DAUNTLESS_SHIELD, Abilities.NONE, Abilities.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, GrowthRate.SLOW, null, false, false, - new PokemonForm("Hero of Many Battles", "hero-of-many-battles", PokemonType.FIGHTING, null, 2.9, 210, Abilities.DAUNTLESS_SHIELD, Abilities.NONE, Abilities.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, false, "", true), - new PokemonForm("Crowned", "crowned", PokemonType.FIGHTING, PokemonType.STEEL, 2.9, 785, Abilities.DAUNTLESS_SHIELD, Abilities.NONE, Abilities.NONE, 700, 92, 120, 140, 80, 140, 128, 10, 0, 360), - ), - new PokemonSpecies(Species.ETERNATUS, 8, false, true, false, "Gigantic Pokémon", PokemonType.POISON, PokemonType.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.POISON, PokemonType.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, false, null, true), - new PokemonForm("E-Max", "eternamax", PokemonType.POISON, PokemonType.DRAGON, 100, 999.9, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 1125, 255, 115, 250, 125, 250, 130, 255, 0, 345), - ), - new PokemonSpecies(Species.KUBFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, null, 0.6, 12, Abilities.INNER_FOCUS, Abilities.NONE, Abilities.NONE, 385, 60, 90, 60, 53, 50, 72, 3, 50, 77, GrowthRate.SLOW, 87.5, false), - new PokemonSpecies(Species.URSHIFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, GrowthRate.SLOW, 87.5, false, true, - new PokemonForm("Single Strike Style", "single-strike", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, "", true), - new PokemonForm("Rapid Strike Style", "rapid-strike", PokemonType.FIGHTING, PokemonType.WATER, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, null, true), - new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, PokemonType.FIGHTING, PokemonType.DARK, 29, 999.9, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275), - new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, PokemonType.FIGHTING, PokemonType.WATER, 26, 999.9, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275), - ), - new PokemonSpecies(Species.ZARUDE, 8, false, false, true, "Rogue Monkey Pokémon", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, GrowthRate.SLOW, null, false, false, - new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, false, null, true), - new PokemonForm("Dada", "dada", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, false, null, true), - ), - new PokemonSpecies(Species.REGIELEKI, 8, true, false, false, "Electron Pokémon", PokemonType.ELECTRIC, null, 1.2, 145, Abilities.TRANSISTOR, Abilities.NONE, Abilities.NONE, 580, 80, 100, 50, 100, 50, 200, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.REGIDRAGO, 8, true, false, false, "Dragon Orb Pokémon", PokemonType.DRAGON, null, 2.1, 200, Abilities.DRAGONS_MAW, Abilities.NONE, Abilities.NONE, 580, 200, 100, 50, 100, 50, 80, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.GLASTRIER, 8, true, false, false, "Wild Horse Pokémon", PokemonType.ICE, null, 2.2, 800, Abilities.CHILLING_NEIGH, Abilities.NONE, Abilities.NONE, 580, 100, 145, 130, 65, 110, 30, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SPECTRIER, 8, true, false, false, "Swift Horse Pokémon", PokemonType.GHOST, null, 2, 44.5, Abilities.GRIM_NEIGH, Abilities.NONE, Abilities.NONE, 580, 100, 65, 60, 145, 80, 130, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.CALYREX, 8, false, true, false, "King Pokémon", PokemonType.PSYCHIC, PokemonType.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, GrowthRate.SLOW, null, false, true, - new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.GRASS, 1.1, 7.7, Abilities.UNNERVE, Abilities.NONE, Abilities.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, false, null, true), - new PokemonForm("Ice", "ice", PokemonType.PSYCHIC, PokemonType.ICE, 2.4, 809.1, Abilities.AS_ONE_GLASTRIER, Abilities.NONE, Abilities.NONE, 680, 100, 165, 150, 85, 130, 50, 3, 100, 340), - new PokemonForm("Shadow", "shadow", PokemonType.PSYCHIC, PokemonType.GHOST, 2.4, 53.6, Abilities.AS_ONE_SPECTRIER, Abilities.NONE, Abilities.NONE, 680, 100, 85, 80, 165, 100, 150, 3, 100, 340), - ), - new PokemonSpecies(Species.WYRDEER, 8, false, false, false, "Big Horn Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 1.8, 95.1, Abilities.INTIMIDATE, Abilities.FRISK, Abilities.SAP_SIPPER, 525, 103, 105, 72, 105, 75, 65, 135, 50, 263, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.KLEAVOR, 8, false, false, false, "Axe Pokémon", PokemonType.BUG, PokemonType.ROCK, 1.8, 89, Abilities.SWARM, Abilities.SHEER_FORCE, Abilities.SHARPNESS, 500, 70, 135, 95, 45, 70, 85, 115, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.URSALUNA, 8, false, false, false, "Peat Pokémon", PokemonType.GROUND, PokemonType.NORMAL, 2.4, 290, Abilities.GUTS, Abilities.BULLETPROOF, Abilities.UNNERVE, 550, 130, 140, 105, 45, 80, 50, 75, 50, 275, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BASCULEGION, 8, false, false, false, "Big Fish Pokémon", PokemonType.WATER, PokemonType.GHOST, 3, 110, Abilities.SWIFT_SWIM, Abilities.ADAPTABILITY, Abilities.MOLD_BREAKER, 530, 120, 112, 65, 80, 75, 78, 135, 50, 265, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Male", "male", PokemonType.WATER, PokemonType.GHOST, 3, 110, Abilities.SWIFT_SWIM, Abilities.ADAPTABILITY, Abilities.MOLD_BREAKER, 530, 120, 112, 65, 80, 75, 78, 135, 50, 265, false, "", true), - new PokemonForm("Female", "female", PokemonType.WATER, PokemonType.GHOST, 3, 110, Abilities.SWIFT_SWIM, Abilities.ADAPTABILITY, Abilities.MOLD_BREAKER, 530, 120, 92, 65, 100, 75, 78, 135, 50, 265, false, null, true), - ), - new PokemonSpecies(Species.SNEASLER, 8, false, false, false, "Free Climb Pokémon", PokemonType.FIGHTING, PokemonType.POISON, 1.3, 43, Abilities.PRESSURE, Abilities.UNBURDEN, Abilities.POISON_TOUCH, 510, 80, 130, 60, 40, 80, 120, 135, 50, 102, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.OVERQWIL, 8, false, false, false, "Pin Cluster Pokémon", PokemonType.DARK, PokemonType.POISON, 2.5, 60.5, Abilities.POISON_POINT, Abilities.SWIFT_SWIM, Abilities.INTIMIDATE, 510, 85, 115, 95, 65, 65, 85, 135, 50, 179, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ENAMORUS, 8, true, false, false, "Love-Hate Pokémon", PokemonType.FAIRY, PokemonType.FLYING, 1.6, 48, Abilities.CUTE_CHARM, Abilities.NONE, Abilities.CONTRARY, 580, 74, 115, 70, 135, 80, 106, 3, 50, 116, GrowthRate.SLOW, 0, false, true, - new PokemonForm("Incarnate Forme", "incarnate", PokemonType.FAIRY, PokemonType.FLYING, 1.6, 48, Abilities.CUTE_CHARM, Abilities.NONE, Abilities.CONTRARY, 580, 74, 115, 70, 135, 80, 106, 3, 50, 116, false, null, true), - new PokemonForm("Therian Forme", "therian", PokemonType.FAIRY, PokemonType.FLYING, 1.6, 48, Abilities.OVERCOAT, Abilities.NONE, Abilities.OVERCOAT, 580, 74, 115, 110, 135, 100, 46, 3, 50, 116), - ), - new PokemonSpecies(Species.SPRIGATITO, 9, false, false, false, "Grass Cat Pokémon", PokemonType.GRASS, null, 0.4, 4.1, Abilities.OVERGROW, Abilities.NONE, Abilities.PROTEAN, 310, 40, 61, 54, 45, 45, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.FLORAGATO, 9, false, false, false, "Grass Cat Pokémon", PokemonType.GRASS, null, 0.9, 12.2, Abilities.OVERGROW, Abilities.NONE, Abilities.PROTEAN, 410, 61, 80, 63, 60, 63, 83, 45, 50, 144, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.MEOWSCARADA, 9, false, false, false, "Magician Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.5, 31.2, Abilities.OVERGROW, Abilities.NONE, Abilities.PROTEAN, 530, 76, 110, 70, 81, 70, 123, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.FUECOCO, 9, false, false, false, "Fire Croc Pokémon", PokemonType.FIRE, null, 0.4, 9.8, Abilities.BLAZE, Abilities.NONE, Abilities.UNAWARE, 310, 67, 45, 59, 63, 40, 36, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.CROCALOR, 9, false, false, false, "Fire Croc Pokémon", PokemonType.FIRE, null, 1, 30.7, Abilities.BLAZE, Abilities.NONE, Abilities.UNAWARE, 411, 81, 55, 78, 90, 58, 49, 45, 50, 144, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.SKELEDIRGE, 9, false, false, false, "Singer Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.6, 326.5, Abilities.BLAZE, Abilities.NONE, Abilities.UNAWARE, 530, 104, 75, 100, 110, 75, 66, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.QUAXLY, 9, false, false, false, "Duckling Pokémon", PokemonType.WATER, null, 0.5, 6.1, Abilities.TORRENT, Abilities.NONE, Abilities.MOXIE, 310, 55, 65, 45, 50, 45, 50, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.QUAXWELL, 9, false, false, false, "Practicing Pokémon", PokemonType.WATER, null, 1.2, 21.5, Abilities.TORRENT, Abilities.NONE, Abilities.MOXIE, 410, 70, 85, 65, 65, 60, 65, 45, 50, 144, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.QUAQUAVAL, 9, false, false, false, "Dancer Pokémon", PokemonType.WATER, PokemonType.FIGHTING, 1.8, 61.9, Abilities.TORRENT, Abilities.NONE, Abilities.MOXIE, 530, 85, 120, 80, 85, 75, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.LECHONK, 9, false, false, false, "Hog Pokémon", PokemonType.NORMAL, null, 0.5, 10.2, Abilities.AROMA_VEIL, Abilities.GLUTTONY, Abilities.THICK_FAT, 254, 54, 45, 40, 35, 45, 35, 255, 50, 51, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.OINKOLOGNE, 9, false, false, false, "Hog Pokémon", PokemonType.NORMAL, null, 1, 120, Abilities.LINGERING_AROMA, Abilities.GLUTTONY, Abilities.THICK_FAT, 489, 110, 100, 75, 59, 80, 65, 100, 50, 171, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Male", "male", PokemonType.NORMAL, null, 1, 120, Abilities.LINGERING_AROMA, Abilities.GLUTTONY, Abilities.THICK_FAT, 489, 110, 100, 75, 59, 80, 65, 100, 50, 171, false, "", true), - new PokemonForm("Female", "female", PokemonType.NORMAL, null, 1, 120, Abilities.AROMA_VEIL, Abilities.GLUTTONY, Abilities.THICK_FAT, 489, 115, 90, 70, 59, 90, 65, 100, 50, 171, false, null, true), - ), - new PokemonSpecies(Species.TAROUNTULA, 9, false, false, false, "String Ball Pokémon", PokemonType.BUG, null, 0.3, 4, Abilities.INSOMNIA, Abilities.NONE, Abilities.STAKEOUT, 210, 35, 41, 45, 29, 40, 20, 255, 50, 42, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.SPIDOPS, 9, false, false, false, "Trap Pokémon", PokemonType.BUG, null, 1, 16.5, Abilities.INSOMNIA, Abilities.NONE, Abilities.STAKEOUT, 404, 60, 79, 92, 52, 86, 35, 120, 50, 141, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.NYMBLE, 9, false, false, false, "Grasshopper Pokémon", PokemonType.BUG, null, 0.2, 1, Abilities.SWARM, Abilities.NONE, Abilities.TINTED_LENS, 210, 33, 46, 40, 21, 25, 45, 190, 20, 42, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.LOKIX, 9, false, false, false, "Grasshopper Pokémon", PokemonType.BUG, PokemonType.DARK, 1, 17.5, Abilities.SWARM, Abilities.NONE, Abilities.TINTED_LENS, 450, 71, 102, 78, 52, 55, 92, 30, 0, 158, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PAWMI, 9, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, null, 0.3, 2.5, Abilities.STATIC, Abilities.NATURAL_CURE, Abilities.IRON_FIST, 240, 45, 50, 20, 40, 25, 60, 190, 50, 48, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PAWMO, 9, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, PokemonType.FIGHTING, 0.4, 6.5, Abilities.VOLT_ABSORB, Abilities.NATURAL_CURE, Abilities.IRON_FIST, 350, 60, 75, 40, 50, 40, 85, 80, 50, 123, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.PAWMOT, 9, false, false, false, "Hands-On Pokémon", PokemonType.ELECTRIC, PokemonType.FIGHTING, 0.9, 41, Abilities.VOLT_ABSORB, Abilities.NATURAL_CURE, Abilities.IRON_FIST, 490, 70, 115, 70, 70, 60, 105, 45, 50, 245, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TANDEMAUS, 9, false, false, false, "Couple Pokémon", PokemonType.NORMAL, null, 0.3, 1.8, Abilities.RUN_AWAY, Abilities.PICKUP, Abilities.OWN_TEMPO, 305, 50, 50, 45, 40, 45, 75, 150, 50, 61, GrowthRate.FAST, null, false), - new PokemonSpecies(Species.MAUSHOLD, 9, false, false, false, "Family Pokémon", PokemonType.NORMAL, null, 0.3, 2.3, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165, GrowthRate.FAST, null, false, false, - new PokemonForm("Family of Four", "four", PokemonType.NORMAL, null, 0.3, 2.8, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), - new PokemonForm("Family of Three", "three", PokemonType.NORMAL, null, 0.3, 2.3, Abilities.FRIEND_GUARD, Abilities.CHEEK_POUCH, Abilities.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), - ), - new PokemonSpecies(Species.FIDOUGH, 9, false, false, false, "Puppy Pokémon", PokemonType.FAIRY, null, 0.3, 10.9, Abilities.OWN_TEMPO, Abilities.NONE, Abilities.KLUTZ, 312, 37, 55, 70, 30, 55, 65, 190, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.DACHSBUN, 9, false, false, false, "Dog Pokémon", PokemonType.FAIRY, null, 0.5, 14.9, Abilities.WELL_BAKED_BODY, Abilities.NONE, Abilities.AROMA_VEIL, 477, 57, 80, 115, 50, 80, 95, 90, 50, 167, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SMOLIV, 9, false, false, false, "Olive Pokémon", PokemonType.GRASS, PokemonType.NORMAL, 0.3, 6.5, Abilities.EARLY_BIRD, Abilities.NONE, Abilities.HARVEST, 260, 41, 35, 45, 58, 51, 30, 255, 50, 52, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.DOLLIV, 9, false, false, false, "Olive Pokémon", PokemonType.GRASS, PokemonType.NORMAL, 0.6, 11.9, Abilities.EARLY_BIRD, Abilities.NONE, Abilities.HARVEST, 354, 52, 53, 60, 78, 78, 33, 120, 50, 124, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ARBOLIVA, 9, false, false, false, "Olive Pokémon", PokemonType.GRASS, PokemonType.NORMAL, 1.4, 48.2, Abilities.SEED_SOWER, Abilities.NONE, Abilities.HARVEST, 510, 78, 69, 90, 125, 109, 39, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SQUAWKABILLY, 9, false, false, false, "Parrot Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, Abilities.INTIMIDATE, Abilities.HUSTLE, Abilities.GUTS, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, GrowthRate.ERRATIC, 50, false, false, - new PokemonForm("Green Plumage", "green-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, Abilities.INTIMIDATE, Abilities.HUSTLE, Abilities.GUTS, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), - new PokemonForm("Blue Plumage", "blue-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, Abilities.INTIMIDATE, Abilities.HUSTLE, Abilities.GUTS, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), - new PokemonForm("Yellow Plumage", "yellow-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, Abilities.INTIMIDATE, Abilities.HUSTLE, Abilities.SHEER_FORCE, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), - new PokemonForm("White Plumage", "white-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, Abilities.INTIMIDATE, Abilities.HUSTLE, Abilities.SHEER_FORCE, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), - ), - new PokemonSpecies(Species.NACLI, 9, false, false, false, "Rock Salt Pokémon", PokemonType.ROCK, null, 0.4, 16, Abilities.PURIFYING_SALT, Abilities.STURDY, Abilities.CLEAR_BODY, 280, 55, 55, 75, 35, 35, 25, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.NACLSTACK, 9, false, false, false, "Rock Salt Pokémon", PokemonType.ROCK, null, 0.6, 105, Abilities.PURIFYING_SALT, Abilities.STURDY, Abilities.CLEAR_BODY, 355, 60, 60, 100, 35, 65, 35, 120, 50, 124, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GARGANACL, 9, false, false, false, "Rock Salt Pokémon", PokemonType.ROCK, null, 2.3, 240, Abilities.PURIFYING_SALT, Abilities.STURDY, Abilities.CLEAR_BODY, 500, 100, 100, 130, 45, 90, 35, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CHARCADET, 9, false, false, false, "Fire Child Pokémon", PokemonType.FIRE, null, 0.6, 10.5, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.FLAME_BODY, 255, 40, 50, 40, 50, 40, 35, 90, 50, 51, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.ARMAROUGE, 9, false, false, false, "Fire Warrior Pokémon", PokemonType.FIRE, PokemonType.PSYCHIC, 1.5, 85, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.WEAK_ARMOR, 525, 85, 60, 100, 125, 80, 75, 25, 20, 263, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.CERULEDGE, 9, false, false, false, "Fire Blades Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.6, 62, Abilities.FLASH_FIRE, Abilities.NONE, Abilities.WEAK_ARMOR, 525, 75, 125, 80, 60, 100, 85, 25, 20, 263, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.TADBULB, 9, false, false, false, "EleTadpole Pokémon", PokemonType.ELECTRIC, null, 0.3, 0.4, Abilities.OWN_TEMPO, Abilities.STATIC, Abilities.DAMP, 272, 61, 31, 41, 59, 35, 45, 190, 50, 54, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BELLIBOLT, 9, false, false, false, "EleFrog Pokémon", PokemonType.ELECTRIC, null, 1.2, 113, Abilities.ELECTROMORPHOSIS, Abilities.STATIC, Abilities.DAMP, 495, 109, 64, 91, 103, 83, 45, 50, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WATTREL, 9, false, false, false, "Storm Petrel Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 0.4, 3.6, Abilities.WIND_POWER, Abilities.VOLT_ABSORB, Abilities.COMPETITIVE, 280, 40, 40, 35, 55, 40, 70, 180, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.KILOWATTREL, 9, false, false, false, "Frigatebird Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.4, 38.6, Abilities.WIND_POWER, Abilities.VOLT_ABSORB, Abilities.COMPETITIVE, 490, 70, 70, 60, 105, 60, 125, 90, 50, 172, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.MASCHIFF, 9, false, false, false, "Rascal Pokémon", PokemonType.DARK, null, 0.5, 16, Abilities.INTIMIDATE, Abilities.RUN_AWAY, Abilities.STAKEOUT, 340, 60, 78, 60, 40, 51, 51, 150, 50, 68, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.MABOSSTIFF, 9, false, false, false, "Boss Pokémon", PokemonType.DARK, null, 1.1, 61, Abilities.INTIMIDATE, Abilities.GUARD_DOG, Abilities.STAKEOUT, 505, 80, 120, 90, 60, 70, 85, 75, 50, 177, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.SHROODLE, 9, false, false, false, "Toxic Mouse Pokémon", PokemonType.POISON, PokemonType.NORMAL, 0.2, 0.7, Abilities.UNBURDEN, Abilities.PICKPOCKET, Abilities.PRANKSTER, 290, 40, 65, 35, 40, 35, 75, 190, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GRAFAIAI, 9, false, false, false, "Toxic Monkey Pokémon", PokemonType.POISON, PokemonType.NORMAL, 0.7, 27.2, Abilities.UNBURDEN, Abilities.POISON_TOUCH, Abilities.PRANKSTER, 485, 63, 95, 65, 80, 72, 110, 90, 50, 170, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.BRAMBLIN, 9, false, false, false, "Tumbleweed Pokémon", PokemonType.GRASS, PokemonType.GHOST, 0.6, 0.6, Abilities.WIND_RIDER, Abilities.NONE, Abilities.INFILTRATOR, 275, 40, 65, 30, 45, 35, 60, 190, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BRAMBLEGHAST, 9, false, false, false, "Tumbleweed Pokémon", PokemonType.GRASS, PokemonType.GHOST, 1.2, 6, Abilities.WIND_RIDER, Abilities.NONE, Abilities.INFILTRATOR, 480, 55, 115, 70, 80, 70, 90, 45, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.TOEDSCOOL, 9, false, false, false, "Woodear Pokémon", PokemonType.GROUND, PokemonType.GRASS, 0.9, 33, Abilities.MYCELIUM_MIGHT, Abilities.NONE, Abilities.NONE, 335, 40, 40, 35, 50, 100, 70, 190, 50, 67, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.TOEDSCRUEL, 9, false, false, false, "Woodear Pokémon", PokemonType.GROUND, PokemonType.GRASS, 1.9, 58, Abilities.MYCELIUM_MIGHT, Abilities.NONE, Abilities.NONE, 515, 80, 70, 65, 80, 120, 100, 90, 50, 180, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.KLAWF, 9, false, false, false, "Ambush Pokémon", PokemonType.ROCK, null, 1.3, 79, Abilities.ANGER_SHELL, Abilities.SHELL_ARMOR, Abilities.REGENERATOR, 450, 70, 100, 115, 35, 55, 75, 120, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CAPSAKID, 9, false, false, false, "Spicy Pepper Pokémon", PokemonType.GRASS, null, 0.3, 3, Abilities.CHLOROPHYLL, Abilities.INSOMNIA, Abilities.KLUTZ, 304, 50, 62, 40, 62, 40, 50, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.SCOVILLAIN, 9, false, false, false, "Spicy Pepper Pokémon", PokemonType.GRASS, PokemonType.FIRE, 0.9, 15, Abilities.CHLOROPHYLL, Abilities.INSOMNIA, Abilities.MOODY, 486, 65, 108, 65, 108, 65, 75, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.RELLOR, 9, false, false, false, "Rolling Pokémon", PokemonType.BUG, null, 0.2, 1, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.SHED_SKIN, 270, 41, 50, 60, 31, 58, 30, 190, 50, 54, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.RABSCA, 9, false, false, false, "Rolling Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.3, 3.5, Abilities.SYNCHRONIZE, Abilities.NONE, Abilities.TELEPATHY, 470, 75, 50, 85, 115, 100, 45, 45, 50, 165, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.FLITTLE, 9, false, false, false, "Frill Pokémon", PokemonType.PSYCHIC, null, 0.2, 1.5, Abilities.ANTICIPATION, Abilities.FRISK, Abilities.SPEED_BOOST, 255, 30, 35, 30, 55, 30, 75, 120, 50, 51, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ESPATHRA, 9, false, false, false, "Ostrich Pokémon", PokemonType.PSYCHIC, null, 1.9, 90, Abilities.OPPORTUNIST, Abilities.FRISK, Abilities.SPEED_BOOST, 481, 95, 60, 60, 101, 60, 105, 60, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.TINKATINK, 9, false, false, false, "Metalsmith Pokémon", PokemonType.FAIRY, PokemonType.STEEL, 0.4, 8.9, Abilities.MOLD_BREAKER, Abilities.OWN_TEMPO, Abilities.PICKPOCKET, 297, 50, 45, 45, 35, 64, 58, 190, 50, 59, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.TINKATUFF, 9, false, false, false, "Hammer Pokémon", PokemonType.FAIRY, PokemonType.STEEL, 0.7, 59.1, Abilities.MOLD_BREAKER, Abilities.OWN_TEMPO, Abilities.PICKPOCKET, 380, 65, 55, 55, 45, 82, 78, 90, 50, 133, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.TINKATON, 9, false, false, false, "Hammer Pokémon", PokemonType.FAIRY, PokemonType.STEEL, 0.7, 112.8, Abilities.MOLD_BREAKER, Abilities.OWN_TEMPO, Abilities.PICKPOCKET, 506, 85, 75, 77, 70, 105, 94, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 0, false), - new PokemonSpecies(Species.WIGLETT, 9, false, false, false, "Garden Eel Pokémon", PokemonType.WATER, null, 1.2, 1.8, Abilities.GOOEY, Abilities.RATTLED, Abilities.SAND_VEIL, 245, 10, 55, 25, 35, 25, 95, 255, 50, 49, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.WUGTRIO, 9, false, false, false, "Garden Eel Pokémon", PokemonType.WATER, null, 1.2, 5.4, Abilities.GOOEY, Abilities.RATTLED, Abilities.SAND_VEIL, 425, 35, 100, 50, 50, 70, 120, 50, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BOMBIRDIER, 9, false, false, false, "Item Drop Pokémon", PokemonType.FLYING, PokemonType.DARK, 1.5, 42.9, Abilities.BIG_PECKS, Abilities.KEEN_EYE, Abilities.ROCKY_PAYLOAD, 485, 70, 103, 85, 60, 85, 82, 25, 50, 243, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.FINIZEN, 9, false, false, false, "Dolphin Pokémon", PokemonType.WATER, null, 1.3, 60.2, Abilities.WATER_VEIL, Abilities.NONE, Abilities.NONE, 315, 70, 45, 40, 45, 40, 75, 200, 50, 63, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.PALAFIN, 9, false, false, false, "Dolphin Pokémon", PokemonType.WATER, null, 1.3, 60.2, Abilities.ZERO_TO_HERO, Abilities.NONE, Abilities.NONE, 457, 100, 70, 72, 53, 62, 100, 45, 50, 160, GrowthRate.SLOW, 50, false, true, - new PokemonForm("Zero Form", "zero", PokemonType.WATER, null, 1.3, 60.2, Abilities.ZERO_TO_HERO, Abilities.NONE, Abilities.ZERO_TO_HERO, 457, 100, 70, 72, 53, 62, 100, 45, 50, 160, false, null, true), - new PokemonForm("Hero Form", "hero", PokemonType.WATER, null, 1.8, 97.4, Abilities.ZERO_TO_HERO, Abilities.NONE, Abilities.ZERO_TO_HERO, 650, 100, 160, 97, 106, 87, 100, 45, 50, 160), - ), - new PokemonSpecies(Species.VAROOM, 9, false, false, false, "Single-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1, 35, Abilities.OVERCOAT, Abilities.NONE, Abilities.SLOW_START, 300, 45, 70, 63, 30, 45, 47, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.REVAVROOM, 9, false, false, false, "Multi-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, Abilities.OVERCOAT, Abilities.NONE, Abilities.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, Abilities.OVERCOAT, Abilities.NONE, Abilities.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, false, null, true), - new PokemonForm("Segin Starmobile", "segin-starmobile", PokemonType.STEEL, PokemonType.DARK, 1.8, 240, Abilities.INTIMIDATE, Abilities.NONE, Abilities.INTIMIDATE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), - new PokemonForm("Schedar Starmobile", "schedar-starmobile", PokemonType.STEEL, PokemonType.FIRE, 1.8, 240, Abilities.SPEED_BOOST, Abilities.NONE, Abilities.SPEED_BOOST, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), - new PokemonForm("Navi Starmobile", "navi-starmobile", PokemonType.STEEL, PokemonType.POISON, 1.8, 240, Abilities.TOXIC_DEBRIS, Abilities.NONE, Abilities.TOXIC_DEBRIS, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), - new PokemonForm("Ruchbah Starmobile", "ruchbah-starmobile", PokemonType.STEEL, PokemonType.FAIRY, 1.8, 240, Abilities.MISTY_SURGE, Abilities.NONE, Abilities.MISTY_SURGE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), - new PokemonForm("Caph Starmobile", "caph-starmobile", PokemonType.STEEL, PokemonType.FIGHTING, 1.8, 240, Abilities.STAMINA, Abilities.NONE, Abilities.STAMINA, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), - ), - new PokemonSpecies(Species.CYCLIZAR, 9, false, false, false, "Mount Pokémon", PokemonType.DRAGON, PokemonType.NORMAL, 1.6, 63, Abilities.SHED_SKIN, Abilities.NONE, Abilities.REGENERATOR, 501, 70, 95, 65, 85, 65, 121, 190, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ORTHWORM, 9, false, false, false, "Earthworm Pokémon", PokemonType.STEEL, null, 2.5, 310, Abilities.EARTH_EATER, Abilities.NONE, Abilities.SAND_VEIL, 480, 70, 85, 145, 60, 55, 65, 25, 50, 240, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.GLIMMET, 9, false, false, false, "Ore Pokémon", PokemonType.ROCK, PokemonType.POISON, 0.7, 8, Abilities.TOXIC_DEBRIS, Abilities.NONE, Abilities.CORROSION, 350, 48, 35, 42, 105, 60, 60, 70, 50, 70, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GLIMMORA, 9, false, false, false, "Ore Pokémon", PokemonType.ROCK, PokemonType.POISON, 1.5, 45, Abilities.TOXIC_DEBRIS, Abilities.NONE, Abilities.CORROSION, 525, 83, 55, 90, 130, 81, 86, 25, 50, 184, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GREAVARD, 9, false, false, false, "Ghost Dog Pokémon", PokemonType.GHOST, null, 0.6, 35, Abilities.PICKUP, Abilities.NONE, Abilities.FLUFFY, 290, 50, 61, 60, 30, 55, 34, 120, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.HOUNDSTONE, 9, false, false, false, "Ghost Dog Pokémon", PokemonType.GHOST, null, 2, 15, Abilities.SAND_RUSH, Abilities.NONE, Abilities.FLUFFY, 488, 72, 101, 100, 50, 97, 68, 60, 50, 171, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.FLAMIGO, 9, false, false, false, "Synchronize Pokémon", PokemonType.FLYING, PokemonType.FIGHTING, 1.6, 37, Abilities.SCRAPPY, Abilities.TANGLED_FEET, Abilities.COSTAR, 500, 82, 115, 74, 75, 64, 90, 100, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CETODDLE, 9, false, false, false, "Terra Whale Pokémon", PokemonType.ICE, null, 1.2, 45, Abilities.THICK_FAT, Abilities.SNOW_CLOAK, Abilities.SHEER_FORCE, 334, 108, 68, 45, 30, 40, 43, 150, 50, 67, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.CETITAN, 9, false, false, false, "Terra Whale Pokémon", PokemonType.ICE, null, 4.5, 700, Abilities.THICK_FAT, Abilities.SLUSH_RUSH, Abilities.SHEER_FORCE, 521, 170, 113, 65, 45, 55, 73, 50, 50, 182, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.VELUZA, 9, false, false, false, "Jettison Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 2.5, 90, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.SHARPNESS, 478, 90, 102, 73, 78, 65, 70, 100, 50, 167, GrowthRate.FAST, 50, false), - new PokemonSpecies(Species.DONDOZO, 9, false, false, false, "Big Catfish Pokémon", PokemonType.WATER, null, 12, 220, Abilities.UNAWARE, Abilities.OBLIVIOUS, Abilities.WATER_VEIL, 530, 150, 100, 115, 65, 65, 35, 25, 50, 265, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.TATSUGIRI, 9, false, false, false, "Mimicry Pokémon", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, Abilities.COMMANDER, Abilities.NONE, Abilities.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, GrowthRate.MEDIUM_SLOW, 50, false, false, - new PokemonForm("Curly Form", "curly", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, Abilities.COMMANDER, Abilities.NONE, Abilities.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, false, null, true), - new PokemonForm("Droopy Form", "droopy", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, Abilities.COMMANDER, Abilities.NONE, Abilities.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, false, null, true), - new PokemonForm("Stretchy Form", "stretchy", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, Abilities.COMMANDER, Abilities.NONE, Abilities.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, false, null, true), - ), - new PokemonSpecies(Species.ANNIHILAPE, 9, false, false, false, "Rage Monkey Pokémon", PokemonType.FIGHTING, PokemonType.GHOST, 1.2, 56, Abilities.VITAL_SPIRIT, Abilities.INNER_FOCUS, Abilities.DEFIANT, 535, 110, 115, 80, 50, 90, 90, 45, 50, 268, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.CLODSIRE, 9, false, false, false, "Spiny Fish Pokémon", PokemonType.POISON, PokemonType.GROUND, 1.8, 223, Abilities.POISON_POINT, Abilities.WATER_ABSORB, Abilities.UNAWARE, 430, 130, 75, 60, 45, 100, 20, 90, 50, 151, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.FARIGIRAF, 9, false, false, false, "Long Neck Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 3.2, 160, Abilities.CUD_CHEW, Abilities.ARMOR_TAIL, Abilities.SAP_SIPPER, 520, 120, 90, 70, 110, 70, 60, 45, 50, 260, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.DUDUNSPARCE, 9, false, false, false, "Land Snake Pokémon", PokemonType.NORMAL, null, 3.6, 39.2, Abilities.SERENE_GRACE, Abilities.RUN_AWAY, Abilities.RATTLED, 520, 125, 100, 80, 85, 75, 55, 45, 50, 182, GrowthRate.MEDIUM_FAST, 50, false, false, - new PokemonForm("Two-Segment Form", "two-segment", PokemonType.NORMAL, null, 3.6, 39.2, Abilities.SERENE_GRACE, Abilities.RUN_AWAY, Abilities.RATTLED, 520, 125, 100, 80, 85, 75, 55, 45, 50, 182, false, ""), - new PokemonForm("Three-Segment Form", "three-segment", PokemonType.NORMAL, null, 4.5, 47.4, Abilities.SERENE_GRACE, Abilities.RUN_AWAY, Abilities.RATTLED, 520, 125, 100, 80, 85, 75, 55, 45, 50, 182), - ), - new PokemonSpecies(Species.KINGAMBIT, 9, false, false, false, "Big Blade Pokémon", PokemonType.DARK, PokemonType.STEEL, 2, 120, Abilities.DEFIANT, Abilities.SUPREME_OVERLORD, Abilities.PRESSURE, 550, 100, 135, 120, 60, 85, 50, 25, 50, 275, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GREAT_TUSK, 9, false, false, false, "Paradox Pokémon", PokemonType.GROUND, PokemonType.FIGHTING, 2.2, 320, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 115, 131, 131, 53, 53, 87, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SCREAM_TAIL, 9, false, false, false, "Paradox Pokémon", PokemonType.FAIRY, PokemonType.PSYCHIC, 1.2, 8, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 115, 65, 99, 65, 115, 111, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.BRUTE_BONNET, 9, false, false, false, "Paradox Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.2, 21, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 111, 127, 99, 79, 99, 55, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.FLUTTER_MANE, 9, false, false, false, "Paradox Pokémon", PokemonType.GHOST, PokemonType.FAIRY, 1.4, 4, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 55, 55, 55, 135, 135, 135, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SLITHER_WING, 9, false, false, false, "Paradox Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 3.2, 92, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 85, 135, 79, 85, 105, 81, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.SANDY_SHOCKS, 9, false, false, false, "Paradox Pokémon", PokemonType.ELECTRIC, PokemonType.GROUND, 2.3, 60, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 570, 85, 81, 97, 121, 85, 101, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_TREADS, 9, false, false, false, "Paradox Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.9, 240, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 90, 112, 120, 72, 70, 106, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_BUNDLE, 9, false, false, false, "Paradox Pokémon", PokemonType.ICE, PokemonType.WATER, 0.6, 11, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 56, 80, 114, 124, 60, 136, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_HANDS, 9, false, false, false, "Paradox Pokémon", PokemonType.FIGHTING, PokemonType.ELECTRIC, 1.8, 380.7, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 154, 140, 108, 50, 68, 50, 50, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_JUGULIS, 9, false, false, false, "Paradox Pokémon", PokemonType.DARK, PokemonType.FLYING, 1.3, 111, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 94, 80, 86, 122, 80, 108, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_MOTH, 9, false, false, false, "Paradox Pokémon", PokemonType.FIRE, PokemonType.POISON, 1.2, 36, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 80, 70, 60, 140, 110, 110, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_THORNS, 9, false, false, false, "Paradox Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 1.6, 303, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 570, 100, 134, 110, 70, 84, 72, 30, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.FRIGIBAX, 9, false, false, false, "Ice Fin Pokémon", PokemonType.DRAGON, PokemonType.ICE, 0.5, 17, Abilities.THERMAL_EXCHANGE, Abilities.NONE, Abilities.ICE_BODY, 320, 65, 75, 45, 35, 45, 55, 45, 50, 64, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.ARCTIBAX, 9, false, false, false, "Ice Fin Pokémon", PokemonType.DRAGON, PokemonType.ICE, 0.8, 30, Abilities.THERMAL_EXCHANGE, Abilities.NONE, Abilities.ICE_BODY, 423, 90, 95, 66, 45, 65, 62, 25, 50, 148, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.BAXCALIBUR, 9, false, false, false, "Ice Dragon Pokémon", PokemonType.DRAGON, PokemonType.ICE, 2.1, 210, Abilities.THERMAL_EXCHANGE, Abilities.NONE, Abilities.ICE_BODY, 600, 115, 145, 92, 75, 86, 87, 10, 50, 300, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.GIMMIGHOUL, 9, false, false, false, "Coin Chest Pokémon", PokemonType.GHOST, null, 0.3, 5, Abilities.RATTLED, Abilities.NONE, Abilities.NONE, 300, 45, 30, 70, 75, 70, 10, 45, 50, 60, GrowthRate.SLOW, null, false, false, - new PokemonForm("Chest Form", "chest", PokemonType.GHOST, null, 0.3, 5, Abilities.RATTLED, Abilities.NONE, Abilities.NONE, 300, 45, 30, 70, 75, 70, 10, 45, 50, 60, false, "", true), - new PokemonForm("Roaming Form", "roaming", PokemonType.GHOST, null, 0.1, 1, Abilities.RUN_AWAY, Abilities.NONE, Abilities.NONE, 300, 45, 30, 25, 75, 45, 80, 45, 50, 60, false, null, true), - ), - new PokemonSpecies(Species.GHOLDENGO, 9, false, false, false, "Coin Entity Pokémon", PokemonType.STEEL, PokemonType.GHOST, 1.2, 30, Abilities.GOOD_AS_GOLD, Abilities.NONE, Abilities.NONE, 550, 87, 60, 95, 133, 91, 84, 45, 50, 275, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.WO_CHIEN, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.GRASS, 1.5, 74.2, Abilities.TABLETS_OF_RUIN, Abilities.NONE, Abilities.NONE, 570, 85, 85, 100, 95, 135, 70, 6, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.CHIEN_PAO, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.ICE, 1.9, 152.2, Abilities.SWORD_OF_RUIN, Abilities.NONE, Abilities.NONE, 570, 80, 120, 80, 90, 65, 135, 6, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.TING_LU, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.GROUND, 2.7, 699.7, Abilities.VESSEL_OF_RUIN, Abilities.NONE, Abilities.NONE, 570, 155, 110, 125, 55, 80, 45, 6, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.CHI_YU, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.FIRE, 0.4, 4.9, Abilities.BEADS_OF_RUIN, Abilities.NONE, Abilities.NONE, 570, 55, 80, 80, 135, 120, 100, 6, 0, 285, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ROARING_MOON, 9, false, false, false, "Paradox Pokémon", PokemonType.DRAGON, PokemonType.DARK, 2, 380, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 105, 139, 71, 55, 101, 119, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_VALIANT, 9, false, false, false, "Paradox Pokémon", PokemonType.FAIRY, PokemonType.FIGHTING, 1.4, 35, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 74, 130, 90, 120, 60, 116, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.KORAIDON, 9, false, true, false, "Paradox Pokémon", PokemonType.FIGHTING, PokemonType.DRAGON, 2.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, - new PokemonForm("Apex Build", "apex-build", PokemonType.FIGHTING, PokemonType.DRAGON, 2.5, 303, Abilities.ORICHALCUM_PULSE, Abilities.NONE, Abilities.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335, false, null, true), - ), - new PokemonSpecies(Species.MIRAIDON, 9, false, true, false, "Paradox Pokémon", PokemonType.ELECTRIC, PokemonType.DRAGON, 3.5, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, - new PokemonForm("Ultimate Mode", "ultimate-mode", PokemonType.ELECTRIC, PokemonType.DRAGON, 3.5, 240, Abilities.HADRON_ENGINE, Abilities.NONE, Abilities.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335, false, null, true), - ), - new PokemonSpecies(Species.WALKING_WAKE, 9, false, false, false, "Paradox Pokémon", PokemonType.WATER, PokemonType.DRAGON, 3.5, 280, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 99, 83, 91, 125, 83, 109, 10, 0, 295, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Gouging Fire and Raging Bolt - new PokemonSpecies(Species.IRON_LEAVES, 9, false, false, false, "Paradox Pokémon", PokemonType.GRASS, PokemonType.PSYCHIC, 1.5, 125, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 90, 130, 88, 70, 108, 104, 10, 0, 295, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Iron Boulder and Iron Crown - new PokemonSpecies(Species.DIPPLIN, 9, false, false, false, "Candy Apple Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.4, 4.4, Abilities.SUPERSWEET_SYRUP, Abilities.GLUTTONY, Abilities.STICKY_HOLD, 485, 80, 80, 110, 95, 80, 40, 45, 50, 170, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.POLTCHAGEIST, 9, false, false, false, "Matcha Pokémon", PokemonType.GRASS, PokemonType.GHOST, 0.1, 1.1, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, GrowthRate.SLOW, null, false, false, - new PokemonForm("Counterfeit Form", "counterfeit", PokemonType.GRASS, PokemonType.GHOST, 0.1, 1.1, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, null, true), - new PokemonForm("Artisan Form", "artisan", PokemonType.GRASS, PokemonType.GHOST, 0.1, 1.1, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, null, false, true), - ), - new PokemonSpecies(Species.SINISTCHA, 9, false, false, false, "Matcha Pokémon", PokemonType.GRASS, PokemonType.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178, GrowthRate.SLOW, null, false, false, - new PokemonForm("Unremarkable Form", "unremarkable", PokemonType.GRASS, PokemonType.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178), - new PokemonForm("Masterpiece Form", "masterpiece", PokemonType.GRASS, PokemonType.GHOST, 0.2, 2.2, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178, false, null, false, true), - ), - new PokemonSpecies(Species.OKIDOGI, 9, true, false, false, "Retainer Pokémon", PokemonType.POISON, PokemonType.FIGHTING, 1.8, 92.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.GUARD_DOG, 555, 88, 128, 115, 58, 86, 80, 3, 0, 276, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.MUNKIDORI, 9, true, false, false, "Retainer Pokémon", PokemonType.POISON, PokemonType.PSYCHIC, 1, 12.2, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.FRISK, 555, 88, 75, 66, 130, 90, 106, 3, 0, 276, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.FEZANDIPITI, 9, true, false, false, "Retainer Pokémon", PokemonType.POISON, PokemonType.FAIRY, 1.4, 30.1, Abilities.TOXIC_CHAIN, Abilities.NONE, Abilities.TECHNICIAN, 555, 88, 91, 82, 70, 125, 99, 3, 0, 276, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.OGERPON, 9, true, false, false, "Mask Pokémon", PokemonType.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, GrowthRate.SLOW, 0, false, false, - new PokemonForm("Teal Mask", "teal-mask", PokemonType.GRASS, null, 1.2, 39.8, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, false, null, true), - new PokemonForm("Wellspring Mask", "wellspring-mask", PokemonType.GRASS, PokemonType.WATER, 1.2, 39.8, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), - new PokemonForm("Hearthflame Mask", "hearthflame-mask", PokemonType.GRASS, PokemonType.FIRE, 1.2, 39.8, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), - new PokemonForm("Cornerstone Mask", "cornerstone-mask", PokemonType.GRASS, PokemonType.ROCK, 1.2, 39.8, Abilities.STURDY, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), - new PokemonForm("Teal Mask Terastallized", "teal-mask-tera", PokemonType.GRASS, null, 1.2, 39.8, Abilities.EMBODY_ASPECT_TEAL, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), - new PokemonForm("Wellspring Mask Terastallized", "wellspring-mask-tera", PokemonType.GRASS, PokemonType.WATER, 1.2, 39.8, Abilities.EMBODY_ASPECT_WELLSPRING, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), - new PokemonForm("Hearthflame Mask Terastallized", "hearthflame-mask-tera", PokemonType.GRASS, PokemonType.FIRE, 1.2, 39.8, Abilities.EMBODY_ASPECT_HEARTHFLAME, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), - new PokemonForm("Cornerstone Mask Terastallized", "cornerstone-mask-tera", PokemonType.GRASS, PokemonType.ROCK, 1.2, 39.8, Abilities.EMBODY_ASPECT_CORNERSTONE, Abilities.NONE, Abilities.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), - ), - new PokemonSpecies(Species.ARCHALUDON, 9, false, false, false, "Alloy Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 2, 60, Abilities.STAMINA, Abilities.STURDY, Abilities.STALWART, 600, 90, 105, 130, 125, 65, 85, 10, 50, 300, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HYDRAPPLE, 9, false, false, false, "Apple Hydra Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 1.8, 93, Abilities.SUPERSWEET_SYRUP, Abilities.REGENERATOR, Abilities.STICKY_HOLD, 540, 106, 80, 110, 120, 80, 44, 10, 50, 270, GrowthRate.ERRATIC, 50, false), - new PokemonSpecies(Species.GOUGING_FIRE, 9, false, false, false, "Paradox Pokémon", PokemonType.FIRE, PokemonType.DRAGON, 3.5, 590, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 105, 115, 121, 65, 93, 91, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.RAGING_BOLT, 9, false, false, false, "Paradox Pokémon", PokemonType.ELECTRIC, PokemonType.DRAGON, 5.2, 480, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 125, 73, 91, 137, 89, 75, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_BOULDER, 9, false, false, false, "Paradox Pokémon", PokemonType.ROCK, PokemonType.PSYCHIC, 1.5, 162.5, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 90, 120, 80, 68, 108, 124, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.IRON_CROWN, 9, false, false, false, "Paradox Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.6, 156, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 90, 72, 100, 122, 108, 98, 10, 0, 295, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.TERAPAGOS, 9, false, true, false, "Tera Pokémon", PokemonType.NORMAL, null, 0.2, 6.5, Abilities.TERA_SHIFT, Abilities.NONE, Abilities.NONE, 450, 90, 65, 85, 65, 85, 60, 5, 50, 90, GrowthRate.SLOW, 50, false, false, - new PokemonForm("Normal Form", "", PokemonType.NORMAL, null, 0.2, 6.5, Abilities.TERA_SHIFT, Abilities.NONE, Abilities.NONE, 450, 90, 65, 85, 65, 85, 60, 5, 50, 90, false, null, true), - new PokemonForm("Terastal Form", "terastal", PokemonType.NORMAL, null, 0.3, 16, Abilities.TERA_SHELL, Abilities.NONE, Abilities.NONE, 600, 95, 95, 110, 105, 110, 85, 5, 50, 120), - new PokemonForm("Stellar Form", "stellar", PokemonType.NORMAL, null, 1.7, 77, Abilities.TERAFORM_ZERO, Abilities.NONE, Abilities.NONE, 700, 160, 105, 110, 130, 110, 85, 5, 50, 140), - ), - new PokemonSpecies(Species.PECHARUNT, 9, false, false, true, "Subjugation Pokémon", PokemonType.POISON, PokemonType.GHOST, 0.3, 0.3, Abilities.POISON_PUPPETEER, Abilities.NONE, Abilities.NONE, 600, 88, 88, 160, 88, 88, 88, 3, 0, 300, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.ALOLA_RATTATA, 7, false, false, false, "Mouse Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.3, 3.8, Abilities.GLUTTONY, Abilities.HUSTLE, Abilities.THICK_FAT, 253, 30, 56, 35, 25, 35, 72, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_RATICATE, 7, false, false, false, "Mouse Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.7, 25.5, Abilities.GLUTTONY, Abilities.HUSTLE, Abilities.THICK_FAT, 413, 75, 71, 70, 40, 80, 77, 127, 70, 145, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_RAICHU, 7, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, PokemonType.PSYCHIC, 0.7, 21, Abilities.SURGE_SURFER, Abilities.NONE, Abilities.NONE, 485, 60, 85, 50, 95, 85, 110, 75, 50, 243, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_SANDSHREW, 7, false, false, false, "Mouse Pokémon", PokemonType.ICE, PokemonType.STEEL, 0.7, 40, Abilities.SNOW_CLOAK, Abilities.NONE, Abilities.SLUSH_RUSH, 300, 50, 75, 90, 10, 35, 40, 255, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_SANDSLASH, 7, false, false, false, "Mouse Pokémon", PokemonType.ICE, PokemonType.STEEL, 1.2, 55, Abilities.SNOW_CLOAK, Abilities.NONE, Abilities.SLUSH_RUSH, 450, 75, 100, 120, 25, 65, 65, 90, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_VULPIX, 7, false, false, false, "Fox Pokémon", PokemonType.ICE, null, 0.6, 9.9, Abilities.SNOW_CLOAK, Abilities.NONE, Abilities.SNOW_WARNING, 299, 38, 41, 40, 50, 65, 65, 190, 50, 60, GrowthRate.MEDIUM_FAST, 25, false), - new PokemonSpecies(Species.ALOLA_NINETALES, 7, false, false, false, "Fox Pokémon", PokemonType.ICE, PokemonType.FAIRY, 1.1, 19.9, Abilities.SNOW_CLOAK, Abilities.NONE, Abilities.SNOW_WARNING, 505, 73, 67, 75, 81, 100, 109, 75, 50, 177, GrowthRate.MEDIUM_FAST, 25, false), - new PokemonSpecies(Species.ALOLA_DIGLETT, 7, false, false, false, "Mole Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.2, 1, Abilities.SAND_VEIL, Abilities.TANGLING_HAIR, Abilities.SAND_FORCE, 265, 10, 55, 30, 35, 45, 90, 255, 50, 53, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_DUGTRIO, 7, false, false, false, "Mole Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.7, 66.6, Abilities.SAND_VEIL, Abilities.TANGLING_HAIR, Abilities.SAND_FORCE, 425, 35, 100, 60, 50, 70, 110, 50, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_MEOWTH, 7, false, false, false, "Scratch Cat Pokémon", PokemonType.DARK, null, 0.4, 4.2, Abilities.PICKUP, Abilities.TECHNICIAN, Abilities.RATTLED, 290, 40, 35, 35, 50, 40, 90, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_PERSIAN, 7, false, false, false, "Classy Cat Pokémon", PokemonType.DARK, null, 1.1, 33, Abilities.FUR_COAT, Abilities.TECHNICIAN, Abilities.RATTLED, 440, 65, 60, 60, 75, 65, 115, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_GEODUDE, 7, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 0.4, 20.3, Abilities.MAGNET_PULL, Abilities.STURDY, Abilities.GALVANIZE, 300, 40, 80, 100, 30, 30, 20, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ALOLA_GRAVELER, 7, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 1, 110, Abilities.MAGNET_PULL, Abilities.STURDY, Abilities.GALVANIZE, 390, 55, 95, 115, 45, 45, 35, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ALOLA_GOLEM, 7, false, false, false, "Megaton Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 1.7, 316, Abilities.MAGNET_PULL, Abilities.STURDY, Abilities.GALVANIZE, 495, 80, 120, 130, 55, 65, 45, 45, 70, 223, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.ALOLA_GRIMER, 7, false, false, false, "Sludge Pokémon", PokemonType.POISON, PokemonType.DARK, 0.7, 42, Abilities.POISON_TOUCH, Abilities.GLUTTONY, Abilities.POWER_OF_ALCHEMY, 325, 80, 80, 50, 40, 50, 25, 190, 70, 65, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_MUK, 7, false, false, false, "Sludge Pokémon", PokemonType.POISON, PokemonType.DARK, 1, 52, Abilities.POISON_TOUCH, Abilities.GLUTTONY, Abilities.POWER_OF_ALCHEMY, 500, 105, 105, 75, 65, 100, 50, 75, 70, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ALOLA_EXEGGUTOR, 7, false, false, false, "Coconut Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 10.9, 415.6, Abilities.FRISK, Abilities.NONE, Abilities.HARVEST, 530, 95, 105, 85, 125, 75, 45, 45, 50, 186, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.ALOLA_MAROWAK, 7, false, false, false, "Bone Keeper Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1, 34, Abilities.CURSED_BODY, Abilities.LIGHTNING_ROD, Abilities.ROCK_HEAD, 425, 60, 80, 110, 50, 80, 45, 75, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.ETERNAL_FLOETTE, 6, true, false, false, "Single Bloom Pokémon", PokemonType.FAIRY, null, 0.2, 0.9, Abilities.FLOWER_VEIL, Abilities.NONE, Abilities.SYMBIOSIS, 551, 74, 65, 67, 125, 128, 92, 120, 70, 243, GrowthRate.MEDIUM_FAST, 0, false), //Marked as Sub-Legend, for casing purposes - new PokemonSpecies(Species.GALAR_MEOWTH, 8, false, false, false, "Scratch Cat Pokémon", PokemonType.STEEL, null, 0.4, 7.5, Abilities.PICKUP, Abilities.TOUGH_CLAWS, Abilities.UNNERVE, 290, 50, 65, 55, 40, 40, 40, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_PONYTA, 8, false, false, false, "Fire Horse Pokémon", PokemonType.PSYCHIC, null, 0.8, 24, Abilities.RUN_AWAY, Abilities.PASTEL_VEIL, Abilities.ANTICIPATION, 410, 50, 85, 55, 65, 65, 90, 190, 50, 82, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_RAPIDASH, 8, false, false, false, "Fire Horse Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.7, 80, Abilities.RUN_AWAY, Abilities.PASTEL_VEIL, Abilities.ANTICIPATION, 500, 65, 100, 70, 80, 80, 105, 60, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_SLOWPOKE, 8, false, false, false, "Dopey Pokémon", PokemonType.PSYCHIC, null, 1.2, 36, Abilities.GLUTTONY, Abilities.OWN_TEMPO, Abilities.REGENERATOR, 315, 90, 65, 65, 40, 40, 15, 190, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_SLOWBRO, 8, false, false, false, "Hermit Crab Pokémon", PokemonType.POISON, PokemonType.PSYCHIC, 1.6, 70.5, Abilities.QUICK_DRAW, Abilities.OWN_TEMPO, Abilities.REGENERATOR, 490, 95, 100, 95, 100, 70, 30, 75, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_FARFETCHD, 8, false, false, false, "Wild Duck Pokémon", PokemonType.FIGHTING, null, 0.8, 42, Abilities.STEADFAST, Abilities.NONE, Abilities.SCRAPPY, 377, 52, 95, 55, 58, 62, 55, 45, 50, 132, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_WEEZING, 8, false, false, false, "Poison Gas Pokémon", PokemonType.POISON, PokemonType.FAIRY, 3, 16, Abilities.LEVITATE, Abilities.NEUTRALIZING_GAS, Abilities.MISTY_SURGE, 490, 65, 90, 120, 85, 70, 60, 60, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_MR_MIME, 8, false, false, false, "Barrier Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 1.4, 56.8, Abilities.VITAL_SPIRIT, Abilities.SCREEN_CLEANER, Abilities.ICE_BODY, 460, 50, 65, 65, 90, 90, 100, 45, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_ARTICUNO, 8, true, false, false, "Freeze Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.7, 50.9, Abilities.COMPETITIVE, Abilities.NONE, Abilities.NONE, 580, 90, 85, 85, 125, 100, 95, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.GALAR_ZAPDOS, 8, true, false, false, "Electric Pokémon", PokemonType.FIGHTING, PokemonType.FLYING, 1.6, 58.2, Abilities.DEFIANT, Abilities.NONE, Abilities.NONE, 580, 90, 125, 90, 85, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.GALAR_MOLTRES, 8, true, false, false, "Flame Pokémon", PokemonType.DARK, PokemonType.FLYING, 2, 66, Abilities.BERSERK, Abilities.NONE, Abilities.NONE, 580, 90, 85, 90, 100, 125, 90, 3, 35, 290, GrowthRate.SLOW, null, false), - new PokemonSpecies(Species.GALAR_SLOWKING, 8, false, false, false, "Royal Pokémon", PokemonType.POISON, PokemonType.PSYCHIC, 1.8, 79.5, Abilities.CURIOUS_MEDICINE, Abilities.OWN_TEMPO, Abilities.REGENERATOR, 490, 95, 65, 80, 110, 110, 30, 70, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_CORSOLA, 8, false, false, false, "Coral Pokémon", PokemonType.GHOST, null, 0.6, 0.5, Abilities.WEAK_ARMOR, Abilities.NONE, Abilities.CURSED_BODY, 410, 60, 55, 100, 65, 100, 30, 60, 50, 144, GrowthRate.FAST, 25, false), - new PokemonSpecies(Species.GALAR_ZIGZAGOON, 8, false, false, false, "Tiny Raccoon Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.4, 17.5, Abilities.PICKUP, Abilities.GLUTTONY, Abilities.QUICK_FEET, 240, 38, 30, 41, 30, 41, 60, 255, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_LINOONE, 8, false, false, false, "Rushing Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.5, 32.5, Abilities.PICKUP, Abilities.GLUTTONY, Abilities.QUICK_FEET, 420, 78, 70, 61, 50, 61, 100, 90, 50, 147, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_DARUMAKA, 8, false, false, false, "Zen Charm Pokémon", PokemonType.ICE, null, 0.7, 40, Abilities.HUSTLE, Abilities.NONE, Abilities.INNER_FOCUS, 315, 70, 90, 45, 15, 45, 50, 120, 50, 63, GrowthRate.MEDIUM_SLOW, 50, false), - new PokemonSpecies(Species.GALAR_DARMANITAN, 8, false, false, false, "Blazing Pokémon", PokemonType.ICE, null, 1.7, 120, Abilities.GORILLA_TACTICS, Abilities.NONE, Abilities.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false, true, - new PokemonForm("Standard Mode", "", PokemonType.ICE, null, 1.7, 120, Abilities.GORILLA_TACTICS, Abilities.NONE, Abilities.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, false, null, true), - new PokemonForm("Zen Mode", "zen", PokemonType.ICE, PokemonType.FIRE, 1.7, 120, Abilities.GORILLA_TACTICS, Abilities.NONE, Abilities.ZEN_MODE, 540, 105, 160, 55, 30, 55, 135, 60, 50, 189), - ), - new PokemonSpecies(Species.GALAR_YAMASK, 8, false, false, false, "Spirit Pokémon", PokemonType.GROUND, PokemonType.GHOST, 0.5, 1.5, Abilities.WANDERING_SPIRIT, Abilities.NONE, Abilities.NONE, 303, 38, 55, 85, 30, 65, 30, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.GALAR_STUNFISK, 8, false, false, false, "Trap Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.7, 20.5, Abilities.MIMICRY, Abilities.NONE, Abilities.NONE, 471, 109, 81, 99, 66, 84, 32, 75, 70, 165, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HISUI_GROWLITHE, 8, false, false, false, "Puppy Pokémon", PokemonType.FIRE, PokemonType.ROCK, 0.8, 22.7, Abilities.INTIMIDATE, Abilities.FLASH_FIRE, Abilities.ROCK_HEAD, 350, 60, 75, 45, 65, 50, 55, 190, 50, 70, GrowthRate.SLOW, 75, false), - new PokemonSpecies(Species.HISUI_ARCANINE, 8, false, false, false, "Legendary Pokémon", PokemonType.FIRE, PokemonType.ROCK, 2, 168, Abilities.INTIMIDATE, Abilities.FLASH_FIRE, Abilities.ROCK_HEAD, 555, 95, 115, 80, 95, 80, 90, 85, 50, 194, GrowthRate.SLOW, 75, false), - new PokemonSpecies(Species.HISUI_VOLTORB, 8, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, PokemonType.GRASS, 0.5, 13, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 330, 40, 30, 50, 55, 55, 100, 190, 80, 66, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.HISUI_ELECTRODE, 8, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, PokemonType.GRASS, 1.2, 81, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 490, 60, 50, 70, 80, 80, 150, 60, 70, 172, GrowthRate.MEDIUM_FAST, null, false), - new PokemonSpecies(Species.HISUI_TYPHLOSION, 8, false, false, false, "Volcano Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.6, 69.8, Abilities.BLAZE, Abilities.NONE, Abilities.FRISK, 534, 73, 84, 78, 119, 85, 95, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.HISUI_QWILFISH, 8, false, false, false, "Balloon Pokémon", PokemonType.DARK, PokemonType.POISON, 0.5, 3.9, Abilities.POISON_POINT, Abilities.SWIFT_SWIM, Abilities.INTIMIDATE, 440, 65, 95, 85, 55, 55, 85, 45, 50, 88, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HISUI_SNEASEL, 8, false, false, false, "Sharp Claw Pokémon", PokemonType.FIGHTING, PokemonType.POISON, 0.9, 27, Abilities.INNER_FOCUS, Abilities.KEEN_EYE, Abilities.PICKPOCKET, 430, 55, 95, 55, 35, 75, 115, 60, 35, 86, GrowthRate.MEDIUM_SLOW, 50, true), - new PokemonSpecies(Species.HISUI_SAMUROTT, 8, false, false, false, "Formidable Pokémon", PokemonType.WATER, PokemonType.DARK, 1.5, 58.2, Abilities.TORRENT, Abilities.NONE, Abilities.SHARPNESS, 528, 90, 108, 80, 100, 65, 85, 45, 80, 238, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.HISUI_LILLIGANT, 8, false, false, false, "Flowering Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.2, 19.2, Abilities.CHLOROPHYLL, Abilities.HUSTLE, Abilities.LEAF_GUARD, 480, 70, 105, 75, 50, 75, 105, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), - new PokemonSpecies(Species.HISUI_ZORUA, 8, false, false, false, "Tricky Fox Pokémon", PokemonType.NORMAL, PokemonType.GHOST, 0.7, 12.5, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 330, 35, 60, 40, 85, 40, 70, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.HISUI_ZOROARK, 8, false, false, false, "Illusion Fox Pokémon", PokemonType.NORMAL, PokemonType.GHOST, 1.6, 83, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 510, 55, 100, 60, 125, 60, 110, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.HISUI_BRAVIARY, 8, false, false, false, "Valiant Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.7, 43.4, Abilities.KEEN_EYE, Abilities.SHEER_FORCE, Abilities.TINTED_LENS, 510, 110, 83, 70, 112, 70, 65, 60, 50, 179, GrowthRate.SLOW, 100, false), - new PokemonSpecies(Species.HISUI_SLIGGOO, 8, false, false, false, "Soft Tissue Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 0.7, 68.5, Abilities.SAP_SIPPER, Abilities.SHELL_ARMOR, Abilities.GOOEY, 452, 58, 75, 83, 83, 113, 40, 45, 35, 158, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HISUI_GOODRA, 8, false, false, false, "Dragon Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 1.7, 334.1, Abilities.SAP_SIPPER, Abilities.SHELL_ARMOR, Abilities.GOOEY, 600, 80, 100, 100, 110, 150, 60, 45, 35, 270, GrowthRate.SLOW, 50, false), - new PokemonSpecies(Species.HISUI_AVALUGG, 8, false, false, false, "Iceberg Pokémon", PokemonType.ICE, PokemonType.ROCK, 1.4, 262.4, Abilities.STRONG_JAW, Abilities.ICE_BODY, Abilities.STURDY, 514, 95, 127, 184, 34, 36, 38, 55, 50, 180, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.HISUI_DECIDUEYE, 8, false, false, false, "Arrow Quill Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.6, 37, Abilities.OVERGROW, Abilities.NONE, Abilities.SCRAPPY, 530, 88, 112, 80, 95, 95, 60, 45, 50, 239, GrowthRate.MEDIUM_SLOW, 87.5, false), - new PokemonSpecies(Species.PALDEA_TAUROS, 9, false, false, false, "Wild Bull Pokémon", PokemonType.FIGHTING, null, 1.4, 115, Abilities.INTIMIDATE, Abilities.ANGER_POINT, Abilities.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, GrowthRate.SLOW, 100, false, false, - new PokemonForm("Combat Breed", "combat", PokemonType.FIGHTING, null, 1.4, 115, Abilities.INTIMIDATE, Abilities.ANGER_POINT, Abilities.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, false, "", true), - new PokemonForm("Blaze Breed", "blaze", PokemonType.FIGHTING, PokemonType.FIRE, 1.4, 85, Abilities.INTIMIDATE, Abilities.ANGER_POINT, Abilities.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, false, null, true), - new PokemonForm("Aqua Breed", "aqua", PokemonType.FIGHTING, PokemonType.WATER, 1.4, 110, Abilities.INTIMIDATE, Abilities.ANGER_POINT, Abilities.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, false, null, true), - ), - new PokemonSpecies(Species.PALDEA_WOOPER, 9, false, false, false, "Water Fish Pokémon", PokemonType.POISON, PokemonType.GROUND, 0.4, 11, Abilities.POISON_POINT, Abilities.WATER_ABSORB, Abilities.UNAWARE, 210, 55, 45, 45, 25, 25, 15, 255, 50, 42, GrowthRate.MEDIUM_FAST, 50, false), - new PokemonSpecies(Species.BLOODMOON_URSALUNA, 9, true, false, false, "Peat Pokémon", PokemonType.GROUND, PokemonType.NORMAL, 2.7, 333, Abilities.MINDS_EYE, Abilities.NONE, Abilities.NONE, 555, 113, 70, 120, 135, 65, 52, 75, 50, 278, GrowthRate.MEDIUM_FAST, 50, false), //Marked as Sub-Legend, for casing purposes + new PokemonSpecies(SpeciesId.BULBASAUR, 1, false, false, false, "Seed Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.7, 6.9, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.CHLOROPHYLL, 318, 45, 49, 49, 65, 65, 45, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.IVYSAUR, 1, false, false, false, "Seed Pokémon", PokemonType.GRASS, PokemonType.POISON, 1, 13, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.CHLOROPHYLL, 405, 60, 62, 63, 80, 80, 60, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.VENUSAUR, 1, false, false, false, "Seed Pokémon", PokemonType.GRASS, PokemonType.POISON, 2, 100, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, GrowthRate.MEDIUM_SLOW, 87.5, true, true, + new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.POISON, 2, 100, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GRASS, PokemonType.POISON, 2.4, 155.5, AbilityId.THICK_FAT, AbilityId.THICK_FAT, AbilityId.THICK_FAT, 625, 80, 100, 123, 122, 120, 80, 45, 50, 263, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.POISON, 24, 999.9, AbilityId.EFFECT_SPORE, AbilityId.NONE, AbilityId.EFFECT_SPORE, 625, 120, 122, 90, 108, 105, 80, 45, 50, 263, true), + ), + new PokemonSpecies(SpeciesId.CHARMANDER, 1, false, false, false, "Lizard Pokémon", PokemonType.FIRE, null, 0.6, 8.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SOLAR_POWER, 309, 39, 52, 43, 60, 50, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.CHARMELEON, 1, false, false, false, "Flame Pokémon", PokemonType.FIRE, null, 1.1, 19, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SOLAR_POWER, 405, 58, 64, 58, 80, 65, 80, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.CHARIZARD, 1, false, false, false, "Flame Pokémon", PokemonType.FIRE, PokemonType.FLYING, 1.7, 90.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SOLAR_POWER, 534, 78, 84, 78, 109, 85, 100, 45, 50, 267, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.FLYING, 1.7, 90.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SOLAR_POWER, 534, 78, 84, 78, 109, 85, 100, 45, 50, 267, false, null, true), + new PokemonForm("Mega X", SpeciesFormKey.MEGA_X, PokemonType.FIRE, PokemonType.DRAGON, 1.7, 110.5, AbilityId.TOUGH_CLAWS, AbilityId.NONE, AbilityId.TOUGH_CLAWS, 634, 78, 130, 111, 130, 85, 100, 45, 50, 267), + new PokemonForm("Mega Y", SpeciesFormKey.MEGA_Y, PokemonType.FIRE, PokemonType.FLYING, 1.7, 100.5, AbilityId.DROUGHT, AbilityId.NONE, AbilityId.DROUGHT, 634, 78, 104, 78, 159, 115, 100, 45, 50, 267), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.FLYING, 28, 999.9, AbilityId.BERSERK, AbilityId.NONE, AbilityId.BERSERK, 634, 118, 99, 88, 134, 95, 100, 45, 50, 267), + ), + new PokemonSpecies(SpeciesId.SQUIRTLE, 1, false, false, false, "Tiny Turtle Pokémon", PokemonType.WATER, null, 0.5, 9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.RAIN_DISH, 314, 44, 48, 65, 50, 64, 43, 45, 50, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.WARTORTLE, 1, false, false, false, "Turtle Pokémon", PokemonType.WATER, null, 1, 22.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.RAIN_DISH, 405, 59, 63, 80, 65, 80, 58, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.BLASTOISE, 1, false, false, false, "Shellfish Pokémon", PokemonType.WATER, null, 1.6, 85.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, null, 1.6, 85.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, null, 1.6, 101.1, AbilityId.MEGA_LAUNCHER, AbilityId.NONE, AbilityId.MEGA_LAUNCHER, 630, 79, 103, 120, 135, 115, 78, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.STEEL, 25, 999.9, AbilityId.SHELL_ARMOR, AbilityId.NONE, AbilityId.SHELL_ARMOR, 630, 119, 108, 125, 105, 110, 63, 45, 50, 265), + ), + new PokemonSpecies(SpeciesId.CATERPIE, 1, false, false, false, "Worm Pokémon", PokemonType.BUG, null, 0.3, 2.9, AbilityId.SHIELD_DUST, AbilityId.NONE, AbilityId.RUN_AWAY, 195, 45, 30, 35, 20, 20, 45, 255, 50, 39, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.METAPOD, 1, false, false, false, "Cocoon Pokémon", PokemonType.BUG, null, 0.7, 9.9, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.SHED_SKIN, 205, 50, 20, 55, 25, 25, 30, 120, 50, 72, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BUTTERFREE, 1, false, false, false, "Butterfly Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.1, 32, AbilityId.COMPOUND_EYES, AbilityId.NONE, AbilityId.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, GrowthRate.MEDIUM_FAST, 50, true, true, + new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.FLYING, 1.1, 32, AbilityId.COMPOUND_EYES, AbilityId.NONE, AbilityId.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, true, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.FLYING, 17, 999.9, AbilityId.COMPOUND_EYES, AbilityId.NONE, AbilityId.COMPOUND_EYES, 495, 80, 40, 75, 120, 95, 85, 45, 50, 198, true), + ), + new PokemonSpecies(SpeciesId.WEEDLE, 1, false, false, false, "Hairy Bug Pokémon", PokemonType.BUG, PokemonType.POISON, 0.3, 3.2, AbilityId.SHIELD_DUST, AbilityId.NONE, AbilityId.RUN_AWAY, 195, 40, 35, 30, 20, 20, 50, 255, 70, 39, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.KAKUNA, 1, false, false, false, "Cocoon Pokémon", PokemonType.BUG, PokemonType.POISON, 0.6, 10, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.SHED_SKIN, 205, 45, 25, 50, 25, 25, 35, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BEEDRILL, 1, false, false, false, "Poison Bee Pokémon", PokemonType.BUG, PokemonType.POISON, 1, 29.5, AbilityId.SWARM, AbilityId.NONE, AbilityId.SNIPER, 395, 65, 90, 40, 45, 80, 75, 45, 70, 198, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.POISON, 1, 29.5, AbilityId.SWARM, AbilityId.NONE, AbilityId.SNIPER, 395, 65, 90, 40, 45, 80, 75, 45, 70, 198, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.POISON, 1.4, 40.5, AbilityId.ADAPTABILITY, AbilityId.NONE, AbilityId.ADAPTABILITY, 495, 65, 150, 40, 15, 80, 145, 45, 70, 198), + ), + new PokemonSpecies(SpeciesId.PIDGEY, 1, false, false, false, "Tiny Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 1.8, AbilityId.KEEN_EYE, AbilityId.TANGLED_FEET, AbilityId.BIG_PECKS, 251, 40, 45, 40, 35, 35, 56, 255, 70, 50, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.PIDGEOTTO, 1, false, false, false, "Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.1, 30, AbilityId.KEEN_EYE, AbilityId.TANGLED_FEET, AbilityId.BIG_PECKS, 349, 63, 60, 55, 50, 50, 71, 120, 70, 122, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.PIDGEOT, 1, false, false, false, "Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.5, 39.5, AbilityId.KEEN_EYE, AbilityId.TANGLED_FEET, AbilityId.BIG_PECKS, 479, 83, 80, 75, 70, 70, 101, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.NORMAL, PokemonType.FLYING, 1.5, 39.5, AbilityId.KEEN_EYE, AbilityId.TANGLED_FEET, AbilityId.BIG_PECKS, 479, 83, 80, 75, 70, 70, 101, 45, 70, 240, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, PokemonType.FLYING, 2.2, 50.5, AbilityId.NO_GUARD, AbilityId.NO_GUARD, AbilityId.NO_GUARD, 579, 83, 80, 80, 135, 80, 121, 45, 70, 240), + ), + new PokemonSpecies(SpeciesId.RATTATA, 1, false, false, false, "Mouse Pokémon", PokemonType.NORMAL, null, 0.3, 3.5, AbilityId.RUN_AWAY, AbilityId.GUTS, AbilityId.HUSTLE, 253, 30, 56, 35, 25, 35, 72, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.RATICATE, 1, false, false, false, "Mouse Pokémon", PokemonType.NORMAL, null, 0.7, 18.5, AbilityId.RUN_AWAY, AbilityId.GUTS, AbilityId.HUSTLE, 413, 55, 81, 60, 50, 70, 97, 127, 70, 145, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.SPEAROW, 1, false, false, false, "Tiny Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2, AbilityId.KEEN_EYE, AbilityId.NONE, AbilityId.SNIPER, 262, 40, 60, 30, 31, 31, 70, 255, 70, 52, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FEAROW, 1, false, false, false, "Beak Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.2, 38, AbilityId.KEEN_EYE, AbilityId.NONE, AbilityId.SNIPER, 442, 65, 90, 65, 61, 61, 100, 90, 70, 155, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.EKANS, 1, false, false, false, "Snake Pokémon", PokemonType.POISON, null, 2, 6.9, AbilityId.INTIMIDATE, AbilityId.SHED_SKIN, AbilityId.UNNERVE, 288, 35, 60, 44, 40, 54, 55, 255, 70, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ARBOK, 1, false, false, false, "Cobra Pokémon", PokemonType.POISON, null, 3.5, 65, AbilityId.INTIMIDATE, AbilityId.SHED_SKIN, AbilityId.UNNERVE, 448, 60, 95, 69, 65, 79, 80, 90, 70, 157, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PIKACHU, 1, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, GrowthRate.MEDIUM_FAST, 50, true, true, + new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true), + new PokemonForm("Partner", "partner", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), + new PokemonForm("Cosplay", "cosplay", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom + new PokemonForm("Cool Cosplay", "cool-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom + new PokemonForm("Beauty Cosplay", "beauty-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom + new PokemonForm("Cute Cosplay", "cute-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom + new PokemonForm("Smart Cosplay", "smart-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom + new PokemonForm("Tough Cosplay", "tough-cosplay", PokemonType.ELECTRIC, null, 0.4, 6, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ELECTRIC, null, 21, 999.9, AbilityId.LIGHTNING_ROD, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 530, 125, 95, 60, 90, 70, 90, 190, 50, 112), //+100 BST from Partner Form + ), + new PokemonSpecies(SpeciesId.RAICHU, 1, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, null, 0.8, 30, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 485, 60, 90, 55, 90, 80, 110, 75, 50, 243, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.SANDSHREW, 1, false, false, false, "Mouse Pokémon", PokemonType.GROUND, null, 0.6, 12, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.SAND_RUSH, 300, 50, 75, 85, 20, 30, 40, 255, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SANDSLASH, 1, false, false, false, "Mouse Pokémon", PokemonType.GROUND, null, 1, 29.5, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.SAND_RUSH, 450, 75, 100, 110, 45, 55, 65, 90, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.NIDORAN_F, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.4, 7, AbilityId.POISON_POINT, AbilityId.RIVALRY, AbilityId.HUSTLE, 275, 55, 47, 52, 40, 40, 41, 235, 50, 55, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.NIDORINA, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.8, 20, AbilityId.POISON_POINT, AbilityId.RIVALRY, AbilityId.HUSTLE, 365, 70, 62, 67, 55, 55, 56, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.NIDOQUEEN, 1, false, false, false, "Drill Pokémon", PokemonType.POISON, PokemonType.GROUND, 1.3, 60, AbilityId.POISON_POINT, AbilityId.RIVALRY, AbilityId.SHEER_FORCE, 505, 90, 92, 87, 75, 85, 76, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.NIDORAN_M, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.5, 9, AbilityId.POISON_POINT, AbilityId.RIVALRY, AbilityId.HUSTLE, 273, 46, 57, 40, 40, 40, 50, 235, 50, 55, GrowthRate.MEDIUM_SLOW, 100, false), + new PokemonSpecies(SpeciesId.NIDORINO, 1, false, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.9, 19.5, AbilityId.POISON_POINT, AbilityId.RIVALRY, AbilityId.HUSTLE, 365, 61, 72, 57, 55, 55, 65, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 100, false), + new PokemonSpecies(SpeciesId.NIDOKING, 1, false, false, false, "Drill Pokémon", PokemonType.POISON, PokemonType.GROUND, 1.4, 62, AbilityId.POISON_POINT, AbilityId.RIVALRY, AbilityId.SHEER_FORCE, 505, 81, 102, 77, 85, 75, 85, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 100, false), + new PokemonSpecies(SpeciesId.CLEFAIRY, 1, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 0.6, 7.5, AbilityId.CUTE_CHARM, AbilityId.MAGIC_GUARD, AbilityId.FRIEND_GUARD, 323, 70, 45, 48, 60, 65, 35, 150, 140, 113, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.CLEFABLE, 1, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 1.3, 40, AbilityId.CUTE_CHARM, AbilityId.MAGIC_GUARD, AbilityId.UNAWARE, 483, 95, 70, 73, 95, 90, 60, 25, 140, 242, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.VULPIX, 1, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 0.6, 9.9, AbilityId.FLASH_FIRE, AbilityId.NONE, AbilityId.DROUGHT, 299, 38, 41, 40, 50, 65, 65, 190, 50, 60, GrowthRate.MEDIUM_FAST, 25, false), + new PokemonSpecies(SpeciesId.NINETALES, 1, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 1.1, 19.9, AbilityId.FLASH_FIRE, AbilityId.NONE, AbilityId.DROUGHT, 505, 73, 76, 75, 81, 100, 100, 75, 50, 177, GrowthRate.MEDIUM_FAST, 25, false), + new PokemonSpecies(SpeciesId.JIGGLYPUFF, 1, false, false, false, "Balloon Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 0.5, 5.5, AbilityId.CUTE_CHARM, AbilityId.COMPETITIVE, AbilityId.FRIEND_GUARD, 270, 115, 45, 20, 45, 25, 20, 170, 50, 95, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.WIGGLYTUFF, 1, false, false, false, "Balloon Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 1, 12, AbilityId.CUTE_CHARM, AbilityId.COMPETITIVE, AbilityId.FRISK, 435, 140, 70, 45, 85, 50, 45, 50, 50, 218, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.ZUBAT, 1, false, false, false, "Bat Pokémon", PokemonType.POISON, PokemonType.FLYING, 0.8, 7.5, AbilityId.INNER_FOCUS, AbilityId.NONE, AbilityId.INFILTRATOR, 245, 40, 45, 35, 30, 40, 55, 255, 50, 49, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.GOLBAT, 1, false, false, false, "Bat Pokémon", PokemonType.POISON, PokemonType.FLYING, 1.6, 55, AbilityId.INNER_FOCUS, AbilityId.NONE, AbilityId.INFILTRATOR, 455, 75, 80, 70, 65, 75, 90, 90, 50, 159, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.ODDISH, 1, false, false, false, "Weed Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.5, 5.4, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.RUN_AWAY, 320, 45, 50, 55, 75, 65, 30, 255, 50, 64, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GLOOM, 1, false, false, false, "Weed Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.8, 8.6, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.STENCH, 395, 60, 65, 70, 85, 75, 40, 120, 50, 138, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.VILEPLUME, 1, false, false, false, "Flower Pokémon", PokemonType.GRASS, PokemonType.POISON, 1.2, 18.6, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.EFFECT_SPORE, 490, 75, 80, 85, 110, 90, 50, 45, 50, 245, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.PARAS, 1, false, false, false, "Mushroom Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.3, 5.4, AbilityId.EFFECT_SPORE, AbilityId.DRY_SKIN, AbilityId.DAMP, 285, 35, 70, 55, 45, 55, 25, 190, 70, 57, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PARASECT, 1, false, false, false, "Mushroom Pokémon", PokemonType.BUG, PokemonType.GRASS, 1, 29.5, AbilityId.EFFECT_SPORE, AbilityId.DRY_SKIN, AbilityId.DAMP, 405, 60, 95, 80, 60, 80, 30, 75, 70, 142, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.VENONAT, 1, false, false, false, "Insect Pokémon", PokemonType.BUG, PokemonType.POISON, 1, 30, AbilityId.COMPOUND_EYES, AbilityId.TINTED_LENS, AbilityId.RUN_AWAY, 305, 60, 55, 50, 40, 55, 45, 190, 70, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.VENOMOTH, 1, false, false, false, "Poison Moth Pokémon", PokemonType.BUG, PokemonType.POISON, 1.5, 12.5, AbilityId.SHIELD_DUST, AbilityId.TINTED_LENS, AbilityId.WONDER_SKIN, 450, 70, 65, 60, 90, 75, 90, 75, 70, 158, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DIGLETT, 1, false, false, false, "Mole Pokémon", PokemonType.GROUND, null, 0.2, 0.8, AbilityId.SAND_VEIL, AbilityId.ARENA_TRAP, AbilityId.SAND_FORCE, 265, 10, 55, 25, 35, 45, 95, 255, 50, 53, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DUGTRIO, 1, false, false, false, "Mole Pokémon", PokemonType.GROUND, null, 0.7, 33.3, AbilityId.SAND_VEIL, AbilityId.ARENA_TRAP, AbilityId.SAND_FORCE, 425, 35, 100, 50, 50, 70, 120, 50, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MEOWTH, 1, false, false, false, "Scratch Cat Pokémon", PokemonType.NORMAL, null, 0.4, 4.2, AbilityId.PICKUP, AbilityId.TECHNICIAN, AbilityId.UNNERVE, 290, 40, 45, 35, 40, 40, 90, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.NORMAL, null, 0.4, 4.2, AbilityId.PICKUP, AbilityId.TECHNICIAN, AbilityId.UNNERVE, 290, 40, 45, 35, 40, 40, 90, 255, 50, 58, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 33, 999.9, AbilityId.TECHNICIAN, AbilityId.TECHNICIAN, AbilityId.TECHNICIAN, 540, 115, 110, 65, 65, 70, 115, 255, 50, 58), //+100 BST from Persian + ), + new PokemonSpecies(SpeciesId.PERSIAN, 1, false, false, false, "Classy Cat Pokémon", PokemonType.NORMAL, null, 1, 32, AbilityId.LIMBER, AbilityId.TECHNICIAN, AbilityId.UNNERVE, 440, 65, 70, 60, 65, 65, 115, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PSYDUCK, 1, false, false, false, "Duck Pokémon", PokemonType.WATER, null, 0.8, 19.6, AbilityId.DAMP, AbilityId.CLOUD_NINE, AbilityId.SWIFT_SWIM, 320, 50, 52, 48, 65, 50, 55, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GOLDUCK, 1, false, false, false, "Duck Pokémon", PokemonType.WATER, null, 1.7, 76.6, AbilityId.DAMP, AbilityId.CLOUD_NINE, AbilityId.SWIFT_SWIM, 500, 80, 82, 78, 95, 80, 85, 75, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MANKEY, 1, false, false, false, "Pig Monkey Pokémon", PokemonType.FIGHTING, null, 0.5, 28, AbilityId.VITAL_SPIRIT, AbilityId.ANGER_POINT, AbilityId.DEFIANT, 305, 40, 80, 35, 35, 45, 70, 190, 70, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PRIMEAPE, 1, false, false, false, "Pig Monkey Pokémon", PokemonType.FIGHTING, null, 1, 32, AbilityId.VITAL_SPIRIT, AbilityId.ANGER_POINT, AbilityId.DEFIANT, 455, 65, 105, 60, 60, 70, 95, 75, 70, 159, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GROWLITHE, 1, false, false, false, "Puppy Pokémon", PokemonType.FIRE, null, 0.7, 19, AbilityId.INTIMIDATE, AbilityId.FLASH_FIRE, AbilityId.JUSTIFIED, 350, 55, 70, 45, 70, 50, 60, 190, 50, 70, GrowthRate.SLOW, 75, false), + new PokemonSpecies(SpeciesId.ARCANINE, 1, false, false, false, "Legendary Pokémon", PokemonType.FIRE, null, 1.9, 155, AbilityId.INTIMIDATE, AbilityId.FLASH_FIRE, AbilityId.JUSTIFIED, 555, 90, 110, 80, 100, 80, 95, 75, 50, 194, GrowthRate.SLOW, 75, false), + new PokemonSpecies(SpeciesId.POLIWAG, 1, false, false, false, "Tadpole Pokémon", PokemonType.WATER, null, 0.6, 12.4, AbilityId.WATER_ABSORB, AbilityId.DAMP, AbilityId.SWIFT_SWIM, 300, 40, 50, 40, 40, 40, 90, 255, 50, 60, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.POLIWHIRL, 1, false, false, false, "Tadpole Pokémon", PokemonType.WATER, null, 1, 20, AbilityId.WATER_ABSORB, AbilityId.DAMP, AbilityId.SWIFT_SWIM, 385, 65, 65, 65, 50, 50, 90, 120, 50, 135, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.POLIWRATH, 1, false, false, false, "Tadpole Pokémon", PokemonType.WATER, PokemonType.FIGHTING, 1.3, 54, AbilityId.WATER_ABSORB, AbilityId.DAMP, AbilityId.SWIFT_SWIM, 510, 90, 95, 95, 70, 90, 70, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ABRA, 1, false, false, false, "Psi Pokémon", PokemonType.PSYCHIC, null, 0.9, 19.5, AbilityId.SYNCHRONIZE, AbilityId.INNER_FOCUS, AbilityId.MAGIC_GUARD, 310, 25, 20, 15, 105, 55, 90, 200, 50, 62, GrowthRate.MEDIUM_SLOW, 75, false), + new PokemonSpecies(SpeciesId.KADABRA, 1, false, false, false, "Psi Pokémon", PokemonType.PSYCHIC, null, 1.3, 56.5, AbilityId.SYNCHRONIZE, AbilityId.INNER_FOCUS, AbilityId.MAGIC_GUARD, 400, 40, 35, 30, 120, 70, 105, 100, 50, 140, GrowthRate.MEDIUM_SLOW, 75, true), + new PokemonSpecies(SpeciesId.ALAKAZAM, 1, false, false, false, "Psi Pokémon", PokemonType.PSYCHIC, null, 1.5, 48, AbilityId.SYNCHRONIZE, AbilityId.INNER_FOCUS, AbilityId.MAGIC_GUARD, 500, 55, 50, 45, 135, 95, 120, 50, 50, 250, GrowthRate.MEDIUM_SLOW, 75, true, true, + new PokemonForm("Normal", "", PokemonType.PSYCHIC, null, 1.5, 48, AbilityId.SYNCHRONIZE, AbilityId.INNER_FOCUS, AbilityId.MAGIC_GUARD, 500, 55, 50, 45, 135, 95, 120, 50, 50, 250, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, null, 1.2, 48, AbilityId.TRACE, AbilityId.TRACE, AbilityId.TRACE, 600, 55, 50, 65, 175, 105, 150, 50, 50, 250, true), + ), + new PokemonSpecies(SpeciesId.MACHOP, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 0.8, 19.5, AbilityId.GUTS, AbilityId.NO_GUARD, AbilityId.STEADFAST, 305, 70, 80, 50, 35, 35, 35, 180, 50, 61, GrowthRate.MEDIUM_SLOW, 75, false), + new PokemonSpecies(SpeciesId.MACHOKE, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.5, 70.5, AbilityId.GUTS, AbilityId.NO_GUARD, AbilityId.STEADFAST, 405, 80, 100, 70, 50, 60, 45, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 75, false), + new PokemonSpecies(SpeciesId.MACHAMP, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.6, 130, AbilityId.GUTS, AbilityId.NO_GUARD, AbilityId.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 75, false, true, + new PokemonForm("Normal", "", PokemonType.FIGHTING, null, 1.6, 130, AbilityId.GUTS, AbilityId.NO_GUARD, AbilityId.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIGHTING, null, 25, 999.9, AbilityId.GUTS, AbilityId.GUTS, AbilityId.GUTS, 605, 120, 170, 85, 75, 90, 65, 45, 50, 253), + ), + new PokemonSpecies(SpeciesId.BELLSPROUT, 1, false, false, false, "Flower Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.7, 4, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.GLUTTONY, 300, 50, 75, 35, 70, 30, 40, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.WEEPINBELL, 1, false, false, false, "Flycatcher Pokémon", PokemonType.GRASS, PokemonType.POISON, 1, 6.4, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.GLUTTONY, 390, 65, 90, 50, 85, 45, 55, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.VICTREEBEL, 1, false, false, false, "Flycatcher Pokémon", PokemonType.GRASS, PokemonType.POISON, 1.7, 15.5, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.GLUTTONY, 490, 80, 105, 65, 100, 70, 70, 45, 70, 245, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.TENTACOOL, 1, false, false, false, "Jellyfish Pokémon", PokemonType.WATER, PokemonType.POISON, 0.9, 45.5, AbilityId.CLEAR_BODY, AbilityId.LIQUID_OOZE, AbilityId.RAIN_DISH, 335, 40, 40, 35, 50, 100, 70, 190, 50, 67, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.TENTACRUEL, 1, false, false, false, "Jellyfish Pokémon", PokemonType.WATER, PokemonType.POISON, 1.6, 55, AbilityId.CLEAR_BODY, AbilityId.LIQUID_OOZE, AbilityId.RAIN_DISH, 515, 80, 70, 65, 80, 120, 100, 60, 50, 180, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.GEODUDE, 1, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.GROUND, 0.4, 20, AbilityId.ROCK_HEAD, AbilityId.STURDY, AbilityId.SAND_VEIL, 300, 40, 80, 100, 30, 30, 20, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GRAVELER, 1, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.GROUND, 1, 105, AbilityId.ROCK_HEAD, AbilityId.STURDY, AbilityId.SAND_VEIL, 390, 55, 95, 115, 45, 45, 35, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GOLEM, 1, false, false, false, "Megaton Pokémon", PokemonType.ROCK, PokemonType.GROUND, 1.4, 300, AbilityId.ROCK_HEAD, AbilityId.STURDY, AbilityId.SAND_VEIL, 495, 80, 120, 130, 55, 65, 45, 45, 70, 248, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.PONYTA, 1, false, false, false, "Fire Horse Pokémon", PokemonType.FIRE, null, 1, 30, AbilityId.RUN_AWAY, AbilityId.FLASH_FIRE, AbilityId.FLAME_BODY, 410, 50, 85, 55, 65, 65, 90, 190, 50, 82, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RAPIDASH, 1, false, false, false, "Fire Horse Pokémon", PokemonType.FIRE, null, 1.7, 95, AbilityId.RUN_AWAY, AbilityId.FLASH_FIRE, AbilityId.FLAME_BODY, 500, 65, 100, 70, 80, 80, 105, 60, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SLOWPOKE, 1, false, false, false, "Dopey Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 1.2, 36, AbilityId.OBLIVIOUS, AbilityId.OWN_TEMPO, AbilityId.REGENERATOR, 315, 90, 65, 65, 40, 40, 15, 190, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SLOWBRO, 1, false, false, false, "Hermit Crab Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 1.6, 78.5, AbilityId.OBLIVIOUS, AbilityId.OWN_TEMPO, AbilityId.REGENERATOR, 490, 95, 75, 110, 100, 80, 30, 75, 50, 172, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.PSYCHIC, 1.6, 78.5, AbilityId.OBLIVIOUS, AbilityId.OWN_TEMPO, AbilityId.REGENERATOR, 490, 95, 75, 110, 100, 80, 30, 75, 50, 172, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.PSYCHIC, 2, 120, AbilityId.SHELL_ARMOR, AbilityId.SHELL_ARMOR, AbilityId.SHELL_ARMOR, 590, 95, 75, 180, 130, 80, 30, 75, 50, 172), + ), + new PokemonSpecies(SpeciesId.MAGNEMITE, 1, false, false, false, "Magnet Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 0.3, 6, AbilityId.MAGNET_PULL, AbilityId.STURDY, AbilityId.ANALYTIC, 325, 25, 35, 70, 95, 55, 45, 190, 50, 65, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.MAGNETON, 1, false, false, false, "Magnet Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 1, 60, AbilityId.MAGNET_PULL, AbilityId.STURDY, AbilityId.ANALYTIC, 465, 50, 60, 95, 120, 70, 70, 60, 50, 163, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.FARFETCHD, 1, false, false, false, "Wild Duck Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.8, 15, AbilityId.KEEN_EYE, AbilityId.INNER_FOCUS, AbilityId.DEFIANT, 377, 52, 90, 55, 58, 62, 60, 45, 50, 132, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DODUO, 1, false, false, false, "Twin Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.4, 39.2, AbilityId.RUN_AWAY, AbilityId.EARLY_BIRD, AbilityId.TANGLED_FEET, 310, 35, 85, 45, 35, 35, 75, 190, 70, 62, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.DODRIO, 1, false, false, false, "Triple Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.8, 85.2, AbilityId.RUN_AWAY, AbilityId.EARLY_BIRD, AbilityId.TANGLED_FEET, 470, 60, 110, 70, 60, 60, 110, 45, 70, 165, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.SEEL, 1, false, false, false, "Sea Lion Pokémon", PokemonType.WATER, null, 1.1, 90, AbilityId.THICK_FAT, AbilityId.HYDRATION, AbilityId.ICE_BODY, 325, 65, 45, 55, 45, 70, 45, 190, 70, 65, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DEWGONG, 1, false, false, false, "Sea Lion Pokémon", PokemonType.WATER, PokemonType.ICE, 1.7, 120, AbilityId.THICK_FAT, AbilityId.HYDRATION, AbilityId.ICE_BODY, 475, 90, 70, 80, 70, 95, 70, 75, 70, 166, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GRIMER, 1, false, false, false, "Sludge Pokémon", PokemonType.POISON, null, 0.9, 30, AbilityId.STENCH, AbilityId.STICKY_HOLD, AbilityId.POISON_TOUCH, 325, 80, 80, 50, 40, 50, 25, 190, 70, 65, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MUK, 1, false, false, false, "Sludge Pokémon", PokemonType.POISON, null, 1.2, 30, AbilityId.STENCH, AbilityId.STICKY_HOLD, AbilityId.POISON_TOUCH, 500, 105, 105, 75, 65, 100, 50, 75, 70, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SHELLDER, 1, false, false, false, "Bivalve Pokémon", PokemonType.WATER, null, 0.3, 4, AbilityId.SHELL_ARMOR, AbilityId.SKILL_LINK, AbilityId.OVERCOAT, 305, 30, 65, 100, 45, 25, 40, 190, 50, 61, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.CLOYSTER, 1, false, false, false, "Bivalve Pokémon", PokemonType.WATER, PokemonType.ICE, 1.5, 132.5, AbilityId.SHELL_ARMOR, AbilityId.SKILL_LINK, AbilityId.OVERCOAT, 525, 50, 95, 180, 85, 45, 70, 60, 50, 184, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.GASTLY, 1, false, false, false, "Gas Pokémon", PokemonType.GHOST, PokemonType.POISON, 1.3, 0.1, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 310, 30, 35, 30, 100, 35, 80, 190, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.HAUNTER, 1, false, false, false, "Gas Pokémon", PokemonType.GHOST, PokemonType.POISON, 1.6, 0.1, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 405, 45, 50, 45, 115, 55, 95, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GENGAR, 1, false, false, false, "Shadow Pokémon", PokemonType.GHOST, PokemonType.POISON, 1.5, 40.5, AbilityId.CURSED_BODY, AbilityId.NONE, AbilityId.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.GHOST, PokemonType.POISON, 1.5, 40.5, AbilityId.CURSED_BODY, AbilityId.NONE, AbilityId.NONE, 500, 60, 65, 60, 130, 75, 110, 45, 50, 250, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GHOST, PokemonType.POISON, 1.4, 40.5, AbilityId.SHADOW_TAG, AbilityId.NONE, AbilityId.NONE, 600, 60, 65, 80, 170, 95, 130, 45, 50, 250), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GHOST, PokemonType.POISON, 20, 999.9, AbilityId.CURSED_BODY, AbilityId.NONE, AbilityId.NONE, 600, 140, 65, 70, 140, 85, 100, 45, 50, 250), + ), + new PokemonSpecies(SpeciesId.ONIX, 1, false, false, false, "Rock Snake Pokémon", PokemonType.ROCK, PokemonType.GROUND, 8.8, 210, AbilityId.ROCK_HEAD, AbilityId.STURDY, AbilityId.WEAK_ARMOR, 385, 35, 45, 160, 30, 45, 70, 45, 50, 77, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DROWZEE, 1, false, false, false, "Hypnosis Pokémon", PokemonType.PSYCHIC, null, 1, 32.4, AbilityId.INSOMNIA, AbilityId.FOREWARN, AbilityId.INNER_FOCUS, 328, 60, 48, 45, 43, 90, 42, 190, 70, 66, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HYPNO, 1, false, false, false, "Hypnosis Pokémon", PokemonType.PSYCHIC, null, 1.6, 75.6, AbilityId.INSOMNIA, AbilityId.FOREWARN, AbilityId.INNER_FOCUS, 483, 85, 73, 70, 73, 115, 67, 75, 70, 169, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.KRABBY, 1, false, false, false, "River Crab Pokémon", PokemonType.WATER, null, 0.4, 6.5, AbilityId.HYPER_CUTTER, AbilityId.SHELL_ARMOR, AbilityId.SHEER_FORCE, 325, 30, 105, 90, 25, 25, 50, 225, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.KINGLER, 1, false, false, false, "Pincer Pokémon", PokemonType.WATER, null, 1.3, 60, AbilityId.HYPER_CUTTER, AbilityId.SHELL_ARMOR, AbilityId.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, null, 1.3, 60, AbilityId.HYPER_CUTTER, AbilityId.SHELL_ARMOR, AbilityId.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 19, 999.9, AbilityId.TOUGH_CLAWS, AbilityId.TOUGH_CLAWS, AbilityId.TOUGH_CLAWS, 575, 92, 145, 140, 60, 65, 73, 60, 50, 166), + ), + new PokemonSpecies(SpeciesId.VOLTORB, 1, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, null, 0.5, 10.4, AbilityId.SOUNDPROOF, AbilityId.STATIC, AbilityId.AFTERMATH, 330, 40, 30, 50, 55, 55, 100, 190, 70, 66, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.ELECTRODE, 1, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, null, 1.2, 66.6, AbilityId.SOUNDPROOF, AbilityId.STATIC, AbilityId.AFTERMATH, 490, 60, 50, 70, 80, 80, 150, 60, 70, 172, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.EXEGGCUTE, 1, false, false, false, "Egg Pokémon", PokemonType.GRASS, PokemonType.PSYCHIC, 0.4, 2.5, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.HARVEST, 325, 60, 40, 80, 60, 45, 40, 90, 50, 65, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.EXEGGUTOR, 1, false, false, false, "Coconut Pokémon", PokemonType.GRASS, PokemonType.PSYCHIC, 2, 120, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.HARVEST, 530, 95, 95, 85, 125, 75, 55, 45, 50, 186, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.CUBONE, 1, false, false, false, "Lonely Pokémon", PokemonType.GROUND, null, 0.4, 6.5, AbilityId.ROCK_HEAD, AbilityId.LIGHTNING_ROD, AbilityId.BATTLE_ARMOR, 320, 50, 50, 95, 40, 50, 35, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MAROWAK, 1, false, false, false, "Bone Keeper Pokémon", PokemonType.GROUND, null, 1, 45, AbilityId.ROCK_HEAD, AbilityId.LIGHTNING_ROD, AbilityId.BATTLE_ARMOR, 425, 60, 80, 110, 50, 80, 45, 75, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HITMONLEE, 1, false, false, false, "Kicking Pokémon", PokemonType.FIGHTING, null, 1.5, 49.8, AbilityId.LIMBER, AbilityId.RECKLESS, AbilityId.UNBURDEN, 455, 50, 120, 53, 35, 110, 87, 45, 50, 159, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.HITMONCHAN, 1, false, false, false, "Punching Pokémon", PokemonType.FIGHTING, null, 1.4, 50.2, AbilityId.KEEN_EYE, AbilityId.IRON_FIST, AbilityId.INNER_FOCUS, 455, 50, 105, 79, 35, 110, 76, 45, 50, 159, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.LICKITUNG, 1, false, false, false, "Licking Pokémon", PokemonType.NORMAL, null, 1.2, 65.5, AbilityId.OWN_TEMPO, AbilityId.OBLIVIOUS, AbilityId.CLOUD_NINE, 385, 90, 55, 75, 60, 75, 30, 45, 50, 77, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.KOFFING, 1, false, false, false, "Poison Gas Pokémon", PokemonType.POISON, null, 0.6, 1, AbilityId.LEVITATE, AbilityId.NEUTRALIZING_GAS, AbilityId.STENCH, 340, 40, 65, 95, 60, 45, 35, 190, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WEEZING, 1, false, false, false, "Poison Gas Pokémon", PokemonType.POISON, null, 1.2, 9.5, AbilityId.LEVITATE, AbilityId.NEUTRALIZING_GAS, AbilityId.STENCH, 490, 65, 90, 120, 85, 70, 60, 60, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RHYHORN, 1, false, false, false, "Spikes Pokémon", PokemonType.GROUND, PokemonType.ROCK, 1, 115, AbilityId.LIGHTNING_ROD, AbilityId.ROCK_HEAD, AbilityId.RECKLESS, 345, 80, 85, 95, 30, 30, 25, 120, 50, 69, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.RHYDON, 1, false, false, false, "Drill Pokémon", PokemonType.GROUND, PokemonType.ROCK, 1.9, 120, AbilityId.LIGHTNING_ROD, AbilityId.ROCK_HEAD, AbilityId.RECKLESS, 485, 105, 130, 120, 45, 45, 40, 60, 50, 170, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.CHANSEY, 1, false, false, false, "Egg Pokémon", PokemonType.NORMAL, null, 1.1, 34.6, AbilityId.NATURAL_CURE, AbilityId.SERENE_GRACE, AbilityId.HEALER, 450, 250, 5, 5, 35, 105, 50, 30, 140, 395, GrowthRate.FAST, 0, false), + new PokemonSpecies(SpeciesId.TANGELA, 1, false, false, false, "Vine Pokémon", PokemonType.GRASS, null, 1, 35, AbilityId.CHLOROPHYLL, AbilityId.LEAF_GUARD, AbilityId.REGENERATOR, 435, 65, 55, 115, 100, 40, 60, 45, 50, 87, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.KANGASKHAN, 1, false, false, false, "Parent Pokémon", PokemonType.NORMAL, null, 2.2, 80, AbilityId.EARLY_BIRD, AbilityId.SCRAPPY, AbilityId.INNER_FOCUS, 490, 105, 95, 80, 40, 80, 90, 45, 50, 172, GrowthRate.MEDIUM_FAST, 0, false, true, + new PokemonForm("Normal", "", PokemonType.NORMAL, null, 2.2, 80, AbilityId.EARLY_BIRD, AbilityId.SCRAPPY, AbilityId.INNER_FOCUS, 490, 105, 95, 80, 40, 80, 90, 45, 50, 172, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, null, 2.2, 100, AbilityId.PARENTAL_BOND, AbilityId.PARENTAL_BOND, AbilityId.PARENTAL_BOND, 590, 105, 125, 100, 60, 100, 100, 45, 50, 172), + ), + new PokemonSpecies(SpeciesId.HORSEA, 1, false, false, false, "Dragon Pokémon", PokemonType.WATER, null, 0.4, 8, AbilityId.SWIFT_SWIM, AbilityId.SNIPER, AbilityId.DAMP, 295, 30, 40, 70, 70, 25, 60, 225, 50, 59, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SEADRA, 1, false, false, false, "Dragon Pokémon", PokemonType.WATER, null, 1.2, 25, AbilityId.POISON_POINT, AbilityId.SNIPER, AbilityId.DAMP, 440, 55, 65, 95, 95, 45, 85, 75, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GOLDEEN, 1, false, false, false, "Goldfish Pokémon", PokemonType.WATER, null, 0.6, 15, AbilityId.SWIFT_SWIM, AbilityId.WATER_VEIL, AbilityId.LIGHTNING_ROD, 320, 45, 67, 60, 35, 50, 63, 225, 50, 64, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.SEAKING, 1, false, false, false, "Goldfish Pokémon", PokemonType.WATER, null, 1.3, 39, AbilityId.SWIFT_SWIM, AbilityId.WATER_VEIL, AbilityId.LIGHTNING_ROD, 450, 80, 92, 65, 65, 80, 68, 60, 50, 158, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.STARYU, 1, false, false, false, "Star Shape Pokémon", PokemonType.WATER, null, 0.8, 34.5, AbilityId.ILLUMINATE, AbilityId.NATURAL_CURE, AbilityId.ANALYTIC, 340, 30, 45, 55, 70, 55, 85, 225, 50, 68, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.STARMIE, 1, false, false, false, "Mysterious Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 1.1, 80, AbilityId.ILLUMINATE, AbilityId.NATURAL_CURE, AbilityId.ANALYTIC, 520, 60, 75, 85, 100, 85, 115, 60, 50, 182, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.MR_MIME, 1, false, false, false, "Barrier Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.3, 54.5, AbilityId.SOUNDPROOF, AbilityId.FILTER, AbilityId.TECHNICIAN, 460, 40, 45, 65, 100, 120, 90, 45, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SCYTHER, 1, false, false, false, "Mantis Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.5, 56, AbilityId.SWARM, AbilityId.TECHNICIAN, AbilityId.STEADFAST, 500, 70, 110, 80, 55, 80, 105, 45, 50, 100, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.JYNX, 1, false, false, false, "Human Shape Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 1.4, 40.6, AbilityId.OBLIVIOUS, AbilityId.FOREWARN, AbilityId.DRY_SKIN, 455, 65, 50, 35, 115, 95, 95, 45, 50, 159, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.ELECTABUZZ, 1, false, false, false, "Electric Pokémon", PokemonType.ELECTRIC, null, 1.1, 30, AbilityId.STATIC, AbilityId.NONE, AbilityId.VITAL_SPIRIT, 490, 65, 83, 57, 95, 85, 105, 45, 50, 172, GrowthRate.MEDIUM_FAST, 75, false), + new PokemonSpecies(SpeciesId.MAGMAR, 1, false, false, false, "Spitfire Pokémon", PokemonType.FIRE, null, 1.3, 44.5, AbilityId.FLAME_BODY, AbilityId.NONE, AbilityId.VITAL_SPIRIT, 495, 65, 95, 57, 100, 85, 93, 45, 50, 173, GrowthRate.MEDIUM_FAST, 75, false), + new PokemonSpecies(SpeciesId.PINSIR, 1, false, false, false, "Stag Beetle Pokémon", PokemonType.BUG, null, 1.5, 55, AbilityId.HYPER_CUTTER, AbilityId.MOLD_BREAKER, AbilityId.MOXIE, 500, 65, 125, 100, 55, 70, 85, 45, 50, 175, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.BUG, null, 1.5, 55, AbilityId.HYPER_CUTTER, AbilityId.MOLD_BREAKER, AbilityId.MOXIE, 500, 65, 125, 100, 55, 70, 85, 45, 50, 175, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.FLYING, 1.7, 59, AbilityId.AERILATE, AbilityId.AERILATE, AbilityId.AERILATE, 600, 65, 155, 120, 65, 90, 105, 45, 50, 175), + ), + new PokemonSpecies(SpeciesId.TAUROS, 1, false, false, false, "Wild Bull Pokémon", PokemonType.NORMAL, null, 1.4, 88.4, AbilityId.INTIMIDATE, AbilityId.ANGER_POINT, AbilityId.SHEER_FORCE, 490, 75, 100, 95, 40, 70, 110, 45, 50, 172, GrowthRate.SLOW, 100, false), + new PokemonSpecies(SpeciesId.MAGIKARP, 1, false, false, false, "Fish Pokémon", PokemonType.WATER, null, 0.9, 10, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.RATTLED, 200, 20, 10, 55, 15, 20, 80, 255, 50, 40, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.GYARADOS, 1, false, false, false, "Atrocious Pokémon", PokemonType.WATER, PokemonType.FLYING, 6.5, 235, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.MOXIE, 540, 95, 125, 79, 60, 100, 81, 45, 50, 189, GrowthRate.SLOW, 50, true, true, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.FLYING, 6.5, 235, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.MOXIE, 540, 95, 125, 79, 60, 100, 81, 45, 50, 189, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.DARK, 6.5, 305, AbilityId.MOLD_BREAKER, AbilityId.MOLD_BREAKER, AbilityId.MOLD_BREAKER, 640, 95, 155, 109, 70, 130, 81, 45, 50, 189, true), + ), + new PokemonSpecies(SpeciesId.LAPRAS, 1, false, false, false, "Transport Pokémon", PokemonType.WATER, PokemonType.ICE, 2.5, 220, AbilityId.WATER_ABSORB, AbilityId.SHELL_ARMOR, AbilityId.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.ICE, 2.5, 220, AbilityId.WATER_ABSORB, AbilityId.SHELL_ARMOR, AbilityId.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ICE, 24, 999.9, AbilityId.SHIELD_DUST, AbilityId.SHIELD_DUST, AbilityId.SHIELD_DUST, 635, 170, 97, 85, 107, 111, 65, 45, 50, 187), + ), + new PokemonSpecies(SpeciesId.DITTO, 1, false, false, false, "Transform Pokémon", PokemonType.NORMAL, null, 0.3, 4, AbilityId.LIMBER, AbilityId.NONE, AbilityId.IMPOSTER, 288, 48, 48, 48, 48, 48, 48, 35, 50, 101, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.EEVEE, 1, false, false, false, "Evolution Pokémon", PokemonType.NORMAL, null, 0.3, 6.5, AbilityId.RUN_AWAY, AbilityId.ADAPTABILITY, AbilityId.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, GrowthRate.MEDIUM_FAST, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.NORMAL, null, 0.3, 6.5, AbilityId.RUN_AWAY, AbilityId.ADAPTABILITY, AbilityId.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, false, null, true), + new PokemonForm("Partner", "partner", PokemonType.NORMAL, null, 0.3, 6.5, AbilityId.RUN_AWAY, AbilityId.ADAPTABILITY, AbilityId.ANTICIPATION, 435, 65, 75, 70, 65, 85, 75, 45, 50, 65, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 18, 999.9, AbilityId.PROTEAN, AbilityId.PROTEAN, AbilityId.PROTEAN, 535, 110, 95, 70, 90, 85, 85, 45, 50, 65), //+100 BST from Partner Form + ), + new PokemonSpecies(SpeciesId.VAPOREON, 1, false, false, false, "Bubble Jet Pokémon", PokemonType.WATER, null, 1, 29, AbilityId.WATER_ABSORB, AbilityId.NONE, AbilityId.HYDRATION, 525, 130, 65, 60, 110, 95, 65, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.JOLTEON, 1, false, false, false, "Lightning Pokémon", PokemonType.ELECTRIC, null, 0.8, 24.5, AbilityId.VOLT_ABSORB, AbilityId.NONE, AbilityId.QUICK_FEET, 525, 65, 65, 60, 110, 95, 130, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.FLAREON, 1, false, false, false, "Flame Pokémon", PokemonType.FIRE, null, 0.9, 25, AbilityId.FLASH_FIRE, AbilityId.NONE, AbilityId.GUTS, 525, 65, 130, 60, 95, 110, 65, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.PORYGON, 1, false, false, false, "Virtual Pokémon", PokemonType.NORMAL, null, 0.8, 36.5, AbilityId.TRACE, AbilityId.DOWNLOAD, AbilityId.ANALYTIC, 395, 65, 60, 70, 85, 75, 40, 45, 50, 79, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.OMANYTE, 1, false, false, false, "Spiral Pokémon", PokemonType.ROCK, PokemonType.WATER, 0.4, 7.5, AbilityId.SWIFT_SWIM, AbilityId.SHELL_ARMOR, AbilityId.WEAK_ARMOR, 355, 35, 40, 100, 90, 55, 35, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.OMASTAR, 1, false, false, false, "Spiral Pokémon", PokemonType.ROCK, PokemonType.WATER, 1, 35, AbilityId.SWIFT_SWIM, AbilityId.SHELL_ARMOR, AbilityId.WEAK_ARMOR, 495, 70, 60, 125, 115, 70, 55, 45, 50, 173, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.KABUTO, 1, false, false, false, "Shellfish Pokémon", PokemonType.ROCK, PokemonType.WATER, 0.5, 11.5, AbilityId.SWIFT_SWIM, AbilityId.BATTLE_ARMOR, AbilityId.WEAK_ARMOR, 355, 30, 80, 90, 55, 45, 55, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.KABUTOPS, 1, false, false, false, "Shellfish Pokémon", PokemonType.ROCK, PokemonType.WATER, 1.3, 40.5, AbilityId.SWIFT_SWIM, AbilityId.BATTLE_ARMOR, AbilityId.WEAK_ARMOR, 495, 60, 115, 105, 65, 70, 80, 45, 50, 173, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.AERODACTYL, 1, false, false, false, "Fossil Pokémon", PokemonType.ROCK, PokemonType.FLYING, 1.8, 59, AbilityId.ROCK_HEAD, AbilityId.PRESSURE, AbilityId.UNNERVE, 515, 80, 105, 65, 60, 75, 130, 45, 50, 180, GrowthRate.SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.FLYING, 1.8, 59, AbilityId.ROCK_HEAD, AbilityId.PRESSURE, AbilityId.UNNERVE, 515, 80, 105, 65, 60, 75, 130, 45, 50, 180, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ROCK, PokemonType.FLYING, 2.1, 79, AbilityId.TOUGH_CLAWS, AbilityId.TOUGH_CLAWS, AbilityId.TOUGH_CLAWS, 615, 80, 135, 85, 70, 95, 150, 45, 50, 180), + ), + new PokemonSpecies(SpeciesId.SNORLAX, 1, false, false, false, "Sleeping Pokémon", PokemonType.NORMAL, null, 2.1, 460, AbilityId.IMMUNITY, AbilityId.THICK_FAT, AbilityId.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.NORMAL, null, 2.1, 460, AbilityId.IMMUNITY, AbilityId.THICK_FAT, AbilityId.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 35, 999.9, AbilityId.HARVEST, AbilityId.HARVEST, AbilityId.HARVEST, 640, 210, 135, 70, 90, 115, 20, 25, 50, 189), + ), + new PokemonSpecies(SpeciesId.ARTICUNO, 1, true, false, false, "Freeze Pokémon", PokemonType.ICE, PokemonType.FLYING, 1.7, 55.4, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ZAPDOS, 1, true, false, false, "Electric Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.6, 52.6, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.MOLTRES, 1, true, false, false, "Flame Pokémon", PokemonType.FIRE, PokemonType.FLYING, 2, 60, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.FLAME_BODY, 580, 90, 100, 90, 125, 85, 90, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.DRATINI, 1, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, null, 1.8, 3.3, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.MARVEL_SCALE, 300, 41, 64, 45, 50, 50, 50, 45, 35, 60, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.DRAGONAIR, 1, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, null, 4, 16.5, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.MARVEL_SCALE, 420, 61, 84, 65, 70, 70, 70, 45, 35, 147, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.DRAGONITE, 1, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 2.2, 210, AbilityId.INNER_FOCUS, AbilityId.NONE, AbilityId.MULTISCALE, 600, 91, 134, 95, 100, 100, 80, 45, 35, 300, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.MEWTWO, 1, false, true, false, "Genetic Pokémon", PokemonType.PSYCHIC, null, 2, 122, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.UNNERVE, 680, 106, 110, 90, 154, 90, 130, 3, 0, 340, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.PSYCHIC, null, 2, 122, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.UNNERVE, 680, 106, 110, 90, 154, 90, 130, 3, 0, 340, false, null, true), + new PokemonForm("Mega X", SpeciesFormKey.MEGA_X, PokemonType.PSYCHIC, PokemonType.FIGHTING, 2.3, 127, AbilityId.STEADFAST, AbilityId.NONE, AbilityId.STEADFAST, 780, 106, 190, 100, 154, 100, 130, 3, 0, 340), + new PokemonForm("Mega Y", SpeciesFormKey.MEGA_Y, PokemonType.PSYCHIC, null, 1.5, 33, AbilityId.INSOMNIA, AbilityId.NONE, AbilityId.INSOMNIA, 780, 106, 150, 70, 194, 120, 140, 3, 0, 340), + ), + new PokemonSpecies(SpeciesId.MEW, 1, false, false, true, "New Species Pokémon", PokemonType.PSYCHIC, null, 0.4, 4, AbilityId.SYNCHRONIZE, AbilityId.NONE, AbilityId.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, GrowthRate.MEDIUM_SLOW, null, false), + new PokemonSpecies(SpeciesId.CHIKORITA, 2, false, false, false, "Leaf Pokémon", PokemonType.GRASS, null, 0.9, 6.4, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.LEAF_GUARD, 318, 45, 49, 65, 49, 65, 45, 45, 70, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.BAYLEEF, 2, false, false, false, "Leaf Pokémon", PokemonType.GRASS, null, 1.2, 15.8, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.LEAF_GUARD, 405, 60, 62, 80, 63, 80, 60, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.MEGANIUM, 2, false, false, false, "Herb Pokémon", PokemonType.GRASS, null, 1.8, 100.5, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.LEAF_GUARD, 525, 80, 82, 100, 83, 100, 80, 45, 70, 263, GrowthRate.MEDIUM_SLOW, 87.5, true), + new PokemonSpecies(SpeciesId.CYNDAQUIL, 2, false, false, false, "Fire Mouse Pokémon", PokemonType.FIRE, null, 0.5, 7.9, AbilityId.BLAZE, AbilityId.NONE, AbilityId.FLASH_FIRE, 309, 39, 52, 43, 60, 50, 65, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.QUILAVA, 2, false, false, false, "Volcano Pokémon", PokemonType.FIRE, null, 0.9, 19, AbilityId.BLAZE, AbilityId.NONE, AbilityId.FLASH_FIRE, 405, 58, 64, 58, 80, 65, 80, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.TYPHLOSION, 2, false, false, false, "Volcano Pokémon", PokemonType.FIRE, null, 1.7, 79.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.FLASH_FIRE, 534, 78, 84, 78, 109, 85, 100, 45, 70, 267, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.TOTODILE, 2, false, false, false, "Big Jaw Pokémon", PokemonType.WATER, null, 0.6, 9.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SHEER_FORCE, 314, 50, 65, 64, 44, 48, 43, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.CROCONAW, 2, false, false, false, "Big Jaw Pokémon", PokemonType.WATER, null, 1.1, 25, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SHEER_FORCE, 405, 65, 80, 80, 59, 63, 58, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.FERALIGATR, 2, false, false, false, "Big Jaw Pokémon", PokemonType.WATER, null, 2.3, 88.8, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SHEER_FORCE, 530, 85, 105, 100, 79, 83, 78, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.SENTRET, 2, false, false, false, "Scout Pokémon", PokemonType.NORMAL, null, 0.8, 6, AbilityId.RUN_AWAY, AbilityId.KEEN_EYE, AbilityId.FRISK, 215, 35, 46, 34, 35, 45, 20, 255, 70, 43, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FURRET, 2, false, false, false, "Long Body Pokémon", PokemonType.NORMAL, null, 1.8, 32.5, AbilityId.RUN_AWAY, AbilityId.KEEN_EYE, AbilityId.FRISK, 415, 85, 76, 64, 45, 55, 90, 90, 70, 145, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HOOTHOOT, 2, false, false, false, "Owl Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.7, 21.2, AbilityId.INSOMNIA, AbilityId.KEEN_EYE, AbilityId.TINTED_LENS, 262, 60, 30, 30, 36, 56, 50, 255, 50, 52, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.NOCTOWL, 2, false, false, false, "Owl Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.6, 40.8, AbilityId.INSOMNIA, AbilityId.KEEN_EYE, AbilityId.TINTED_LENS, 452, 100, 50, 50, 86, 96, 70, 90, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LEDYBA, 2, false, false, false, "Five Star Pokémon", PokemonType.BUG, PokemonType.FLYING, 1, 10.8, AbilityId.SWARM, AbilityId.EARLY_BIRD, AbilityId.RATTLED, 265, 40, 20, 30, 40, 80, 55, 255, 70, 53, GrowthRate.FAST, 50, true), + new PokemonSpecies(SpeciesId.LEDIAN, 2, false, false, false, "Five Star Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.4, 35.6, AbilityId.SWARM, AbilityId.EARLY_BIRD, AbilityId.IRON_FIST, 390, 55, 35, 50, 55, 110, 85, 90, 70, 137, GrowthRate.FAST, 50, true), + new PokemonSpecies(SpeciesId.SPINARAK, 2, false, false, false, "String Spit Pokémon", PokemonType.BUG, PokemonType.POISON, 0.5, 8.5, AbilityId.SWARM, AbilityId.INSOMNIA, AbilityId.SNIPER, 250, 40, 60, 40, 40, 40, 30, 255, 70, 50, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.ARIADOS, 2, false, false, false, "Long Leg Pokémon", PokemonType.BUG, PokemonType.POISON, 1.1, 33.5, AbilityId.SWARM, AbilityId.INSOMNIA, AbilityId.SNIPER, 400, 70, 90, 70, 60, 70, 40, 90, 70, 140, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.CROBAT, 2, false, false, false, "Bat Pokémon", PokemonType.POISON, PokemonType.FLYING, 1.8, 75, AbilityId.INNER_FOCUS, AbilityId.NONE, AbilityId.INFILTRATOR, 535, 85, 90, 80, 70, 80, 130, 90, 50, 268, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CHINCHOU, 2, false, false, false, "Angler Pokémon", PokemonType.WATER, PokemonType.ELECTRIC, 0.5, 12, AbilityId.VOLT_ABSORB, AbilityId.ILLUMINATE, AbilityId.WATER_ABSORB, 330, 75, 38, 38, 56, 56, 67, 190, 50, 66, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.LANTURN, 2, false, false, false, "Light Pokémon", PokemonType.WATER, PokemonType.ELECTRIC, 1.2, 22.5, AbilityId.VOLT_ABSORB, AbilityId.ILLUMINATE, AbilityId.WATER_ABSORB, 460, 125, 58, 58, 76, 76, 67, 75, 50, 161, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.PICHU, 2, false, false, false, "Tiny Mouse Pokémon", PokemonType.ELECTRIC, null, 0.3, 2, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 205, 20, 40, 15, 35, 35, 60, 190, 70, 41, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 1.4, 2, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 205, 20, 40, 15, 35, 35, 60, 190, 70, 41, false, null, true), + new PokemonForm("Spiky-Eared", "spiky", PokemonType.ELECTRIC, null, 1.4, 2, AbilityId.STATIC, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 205, 20, 40, 15, 35, 35, 60, 190, 70, 41, false, null, true), + ), + new PokemonSpecies(SpeciesId.CLEFFA, 2, false, false, false, "Star Shape Pokémon", PokemonType.FAIRY, null, 0.3, 3, AbilityId.CUTE_CHARM, AbilityId.MAGIC_GUARD, AbilityId.FRIEND_GUARD, 218, 50, 25, 28, 45, 55, 15, 150, 140, 44, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.IGGLYBUFF, 2, false, false, false, "Balloon Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 0.3, 1, AbilityId.CUTE_CHARM, AbilityId.COMPETITIVE, AbilityId.FRIEND_GUARD, 210, 90, 30, 15, 40, 20, 15, 170, 50, 42, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.TOGEPI, 2, false, false, false, "Spike Ball Pokémon", PokemonType.FAIRY, null, 0.3, 1.5, AbilityId.HUSTLE, AbilityId.SERENE_GRACE, AbilityId.SUPER_LUCK, 245, 35, 20, 65, 40, 65, 20, 190, 50, 49, GrowthRate.FAST, 87.5, false), + new PokemonSpecies(SpeciesId.TOGETIC, 2, false, false, false, "Happiness Pokémon", PokemonType.FAIRY, PokemonType.FLYING, 0.6, 3.2, AbilityId.HUSTLE, AbilityId.SERENE_GRACE, AbilityId.SUPER_LUCK, 405, 55, 40, 85, 80, 105, 40, 75, 50, 142, GrowthRate.FAST, 87.5, false), + new PokemonSpecies(SpeciesId.NATU, 2, false, false, false, "Tiny Bird Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 0.2, 2, AbilityId.SYNCHRONIZE, AbilityId.EARLY_BIRD, AbilityId.MAGIC_BOUNCE, 320, 40, 50, 45, 70, 45, 70, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.XATU, 2, false, false, false, "Mystic Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.5, 15, AbilityId.SYNCHRONIZE, AbilityId.EARLY_BIRD, AbilityId.MAGIC_BOUNCE, 470, 65, 75, 70, 95, 70, 95, 75, 50, 165, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.MAREEP, 2, false, false, false, "Wool Pokémon", PokemonType.ELECTRIC, null, 0.6, 7.8, AbilityId.STATIC, AbilityId.NONE, AbilityId.PLUS, 280, 55, 40, 40, 65, 45, 35, 235, 70, 56, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.FLAAFFY, 2, false, false, false, "Wool Pokémon", PokemonType.ELECTRIC, null, 0.8, 13.3, AbilityId.STATIC, AbilityId.NONE, AbilityId.PLUS, 365, 70, 55, 55, 80, 60, 45, 120, 70, 128, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.AMPHAROS, 2, false, false, false, "Light Pokémon", PokemonType.ELECTRIC, null, 1.4, 61.5, AbilityId.STATIC, AbilityId.NONE, AbilityId.PLUS, 510, 90, 75, 85, 115, 90, 55, 45, 70, 255, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 1.4, 61.5, AbilityId.STATIC, AbilityId.NONE, AbilityId.PLUS, 510, 90, 75, 85, 115, 90, 55, 45, 70, 255, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ELECTRIC, PokemonType.DRAGON, 1.4, 61.5, AbilityId.MOLD_BREAKER, AbilityId.NONE, AbilityId.MOLD_BREAKER, 610, 90, 95, 105, 165, 110, 45, 45, 70, 255), + ), + new PokemonSpecies(SpeciesId.BELLOSSOM, 2, false, false, false, "Flower Pokémon", PokemonType.GRASS, null, 0.4, 5.8, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.HEALER, 490, 75, 80, 95, 90, 100, 50, 45, 50, 245, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.MARILL, 2, false, false, false, "Aqua Mouse Pokémon", PokemonType.WATER, PokemonType.FAIRY, 0.4, 8.5, AbilityId.THICK_FAT, AbilityId.HUGE_POWER, AbilityId.SAP_SIPPER, 250, 70, 20, 50, 20, 50, 40, 190, 50, 88, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.AZUMARILL, 2, false, false, false, "Aqua Rabbit Pokémon", PokemonType.WATER, PokemonType.FAIRY, 0.8, 28.5, AbilityId.THICK_FAT, AbilityId.HUGE_POWER, AbilityId.SAP_SIPPER, 420, 100, 50, 80, 60, 80, 50, 75, 50, 210, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.SUDOWOODO, 2, false, false, false, "Imitation Pokémon", PokemonType.ROCK, null, 1.2, 38, AbilityId.STURDY, AbilityId.ROCK_HEAD, AbilityId.RATTLED, 410, 70, 100, 115, 30, 65, 30, 65, 50, 144, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.POLITOED, 2, false, false, false, "Frog Pokémon", PokemonType.WATER, null, 1.1, 33.9, AbilityId.WATER_ABSORB, AbilityId.DAMP, AbilityId.DRIZZLE, 500, 90, 75, 75, 90, 100, 70, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.HOPPIP, 2, false, false, false, "Cottonweed Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.4, 0.5, AbilityId.CHLOROPHYLL, AbilityId.LEAF_GUARD, AbilityId.INFILTRATOR, 250, 35, 35, 40, 35, 55, 50, 255, 70, 50, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SKIPLOOM, 2, false, false, false, "Cottonweed Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.6, 1, AbilityId.CHLOROPHYLL, AbilityId.LEAF_GUARD, AbilityId.INFILTRATOR, 340, 55, 45, 50, 45, 65, 80, 120, 70, 119, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.JUMPLUFF, 2, false, false, false, "Cottonweed Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.8, 3, AbilityId.CHLOROPHYLL, AbilityId.LEAF_GUARD, AbilityId.INFILTRATOR, 460, 75, 55, 70, 55, 95, 110, 45, 70, 230, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.AIPOM, 2, false, false, false, "Long Tail Pokémon", PokemonType.NORMAL, null, 0.8, 11.5, AbilityId.RUN_AWAY, AbilityId.PICKUP, AbilityId.SKILL_LINK, 360, 55, 70, 55, 40, 55, 85, 45, 70, 72, GrowthRate.FAST, 50, true), + new PokemonSpecies(SpeciesId.SUNKERN, 2, false, false, false, "Seed Pokémon", PokemonType.GRASS, null, 0.3, 1.8, AbilityId.CHLOROPHYLL, AbilityId.SOLAR_POWER, AbilityId.EARLY_BIRD, 180, 30, 30, 30, 30, 30, 30, 235, 70, 36, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SUNFLORA, 2, false, false, false, "Sun Pokémon", PokemonType.GRASS, null, 0.8, 8.5, AbilityId.CHLOROPHYLL, AbilityId.SOLAR_POWER, AbilityId.EARLY_BIRD, 425, 75, 75, 55, 105, 85, 30, 120, 70, 149, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.YANMA, 2, false, false, false, "Clear Wing Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.2, 38, AbilityId.SPEED_BOOST, AbilityId.COMPOUND_EYES, AbilityId.FRISK, 390, 65, 65, 45, 75, 45, 95, 75, 70, 78, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WOOPER, 2, false, false, false, "Water Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.4, 8.5, AbilityId.DAMP, AbilityId.WATER_ABSORB, AbilityId.UNAWARE, 210, 55, 45, 45, 25, 25, 15, 255, 50, 42, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.QUAGSIRE, 2, false, false, false, "Water Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 1.4, 75, AbilityId.DAMP, AbilityId.WATER_ABSORB, AbilityId.UNAWARE, 430, 95, 85, 85, 65, 65, 35, 90, 50, 151, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.ESPEON, 2, false, false, false, "Sun Pokémon", PokemonType.PSYCHIC, null, 0.9, 26.5, AbilityId.SYNCHRONIZE, AbilityId.NONE, AbilityId.MAGIC_BOUNCE, 525, 65, 65, 60, 130, 95, 110, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.UMBREON, 2, false, false, false, "Moonlight Pokémon", PokemonType.DARK, null, 1, 27, AbilityId.SYNCHRONIZE, AbilityId.NONE, AbilityId.INNER_FOCUS, 525, 95, 65, 110, 60, 130, 65, 45, 35, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.MURKROW, 2, false, false, false, "Darkness Pokémon", PokemonType.DARK, PokemonType.FLYING, 0.5, 2.1, AbilityId.INSOMNIA, AbilityId.SUPER_LUCK, AbilityId.PRANKSTER, 405, 60, 85, 42, 85, 42, 91, 30, 35, 81, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.SLOWKING, 2, false, false, false, "Royal Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 2, 79.5, AbilityId.OBLIVIOUS, AbilityId.OWN_TEMPO, AbilityId.REGENERATOR, 490, 95, 75, 80, 100, 110, 30, 70, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MISDREAVUS, 2, false, false, false, "Screech Pokémon", PokemonType.GHOST, null, 0.7, 1, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 435, 60, 60, 60, 85, 85, 85, 45, 35, 87, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.UNOWN, 2, false, false, false, "Symbol Pokémon", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, GrowthRate.MEDIUM_FAST, null, false, false, + new PokemonForm("A", "a", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("B", "b", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("C", "c", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("D", "d", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("E", "e", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("F", "f", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("G", "g", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("H", "h", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("I", "i", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("J", "j", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("K", "k", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("L", "l", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("M", "m", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("N", "n", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("O", "o", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("P", "p", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("Q", "q", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("R", "r", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("S", "s", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("T", "t", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("U", "u", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("V", "v", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("W", "w", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("X", "x", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("Y", "y", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("Z", "z", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("!", "exclamation", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + new PokemonForm("?", "question", PokemonType.PSYCHIC, null, 0.5, 5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 336, 48, 72, 48, 72, 48, 48, 225, 70, 118, false, null, true), + ), + new PokemonSpecies(SpeciesId.WOBBUFFET, 2, false, false, false, "Patient Pokémon", PokemonType.PSYCHIC, null, 1.3, 28.5, AbilityId.SHADOW_TAG, AbilityId.NONE, AbilityId.TELEPATHY, 405, 190, 33, 58, 33, 58, 33, 45, 50, 142, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.GIRAFARIG, 2, false, false, false, "Long Neck Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 1.5, 41.5, AbilityId.INNER_FOCUS, AbilityId.EARLY_BIRD, AbilityId.SAP_SIPPER, 455, 70, 80, 65, 90, 65, 85, 60, 70, 159, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.PINECO, 2, false, false, false, "Bagworm Pokémon", PokemonType.BUG, null, 0.6, 7.2, AbilityId.STURDY, AbilityId.NONE, AbilityId.OVERCOAT, 290, 50, 65, 90, 35, 35, 15, 190, 70, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FORRETRESS, 2, false, false, false, "Bagworm Pokémon", PokemonType.BUG, PokemonType.STEEL, 1.2, 125.8, AbilityId.STURDY, AbilityId.NONE, AbilityId.OVERCOAT, 465, 75, 90, 140, 60, 60, 40, 75, 70, 163, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DUNSPARCE, 2, false, false, false, "Land Snake Pokémon", PokemonType.NORMAL, null, 1.5, 14, AbilityId.SERENE_GRACE, AbilityId.RUN_AWAY, AbilityId.RATTLED, 415, 100, 70, 70, 65, 65, 45, 190, 50, 145, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GLIGAR, 2, false, false, false, "Fly Scorpion Pokémon", PokemonType.GROUND, PokemonType.FLYING, 1.1, 64.8, AbilityId.HYPER_CUTTER, AbilityId.SAND_VEIL, AbilityId.IMMUNITY, 430, 65, 75, 105, 35, 65, 85, 60, 70, 86, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.STEELIX, 2, false, false, false, "Iron Snake Pokémon", PokemonType.STEEL, PokemonType.GROUND, 9.2, 400, AbilityId.ROCK_HEAD, AbilityId.STURDY, AbilityId.SHEER_FORCE, 510, 75, 85, 200, 55, 65, 30, 25, 50, 179, GrowthRate.MEDIUM_FAST, 50, true, true, + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.GROUND, 9.2, 400, AbilityId.ROCK_HEAD, AbilityId.STURDY, AbilityId.SHEER_FORCE, 510, 75, 85, 200, 55, 65, 30, 25, 50, 179, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, PokemonType.GROUND, 10.5, 740, AbilityId.SAND_FORCE, AbilityId.SAND_FORCE, AbilityId.SAND_FORCE, 610, 75, 125, 230, 55, 95, 30, 25, 50, 179, true), + ), + new PokemonSpecies(SpeciesId.SNUBBULL, 2, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 0.6, 7.8, AbilityId.INTIMIDATE, AbilityId.RUN_AWAY, AbilityId.RATTLED, 300, 60, 80, 50, 40, 40, 30, 190, 70, 60, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.GRANBULL, 2, false, false, false, "Fairy Pokémon", PokemonType.FAIRY, null, 1.4, 48.7, AbilityId.INTIMIDATE, AbilityId.QUICK_FEET, AbilityId.RATTLED, 450, 90, 120, 75, 60, 60, 45, 75, 70, 158, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.QWILFISH, 2, false, false, false, "Balloon Pokémon", PokemonType.WATER, PokemonType.POISON, 0.5, 3.9, AbilityId.POISON_POINT, AbilityId.SWIFT_SWIM, AbilityId.INTIMIDATE, 440, 65, 95, 85, 55, 55, 85, 45, 50, 88, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SCIZOR, 2, false, false, false, "Pincer Pokémon", PokemonType.BUG, PokemonType.STEEL, 1.8, 118, AbilityId.SWARM, AbilityId.TECHNICIAN, AbilityId.LIGHT_METAL, 500, 70, 130, 100, 55, 80, 65, 25, 50, 175, GrowthRate.MEDIUM_FAST, 50, true, true, + new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.STEEL, 1.8, 118, AbilityId.SWARM, AbilityId.TECHNICIAN, AbilityId.LIGHT_METAL, 500, 70, 130, 100, 55, 80, 65, 25, 50, 175, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.STEEL, 2, 125, AbilityId.TECHNICIAN, AbilityId.TECHNICIAN, AbilityId.TECHNICIAN, 600, 70, 150, 140, 65, 100, 75, 25, 50, 175, true), + ), + new PokemonSpecies(SpeciesId.SHUCKLE, 2, false, false, false, "Mold Pokémon", PokemonType.BUG, PokemonType.ROCK, 0.6, 20.5, AbilityId.STURDY, AbilityId.GLUTTONY, AbilityId.CONTRARY, 505, 20, 10, 230, 10, 230, 5, 190, 50, 177, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.HERACROSS, 2, false, false, false, "Single Horn Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 1.5, 54, AbilityId.SWARM, AbilityId.GUTS, AbilityId.MOXIE, 500, 80, 125, 75, 40, 95, 85, 45, 50, 175, GrowthRate.SLOW, 50, true, true, + new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.FIGHTING, 1.5, 54, AbilityId.SWARM, AbilityId.GUTS, AbilityId.MOXIE, 500, 80, 125, 75, 40, 95, 85, 45, 50, 175, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.BUG, PokemonType.FIGHTING, 1.7, 62.5, AbilityId.SKILL_LINK, AbilityId.SKILL_LINK, AbilityId.SKILL_LINK, 600, 80, 185, 115, 40, 105, 75, 45, 50, 175, true), + ), + new PokemonSpecies(SpeciesId.SNEASEL, 2, false, false, false, "Sharp Claw Pokémon", PokemonType.DARK, PokemonType.ICE, 0.9, 28, AbilityId.INNER_FOCUS, AbilityId.KEEN_EYE, AbilityId.PICKPOCKET, 430, 55, 95, 55, 35, 75, 115, 60, 35, 86, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.TEDDIURSA, 2, false, false, false, "Little Bear Pokémon", PokemonType.NORMAL, null, 0.6, 8.8, AbilityId.PICKUP, AbilityId.QUICK_FEET, AbilityId.HONEY_GATHER, 330, 60, 80, 50, 50, 50, 40, 120, 70, 66, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.URSARING, 2, false, false, false, "Hibernator Pokémon", PokemonType.NORMAL, null, 1.8, 125.8, AbilityId.GUTS, AbilityId.QUICK_FEET, AbilityId.UNNERVE, 500, 90, 130, 75, 75, 75, 55, 60, 70, 175, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.SLUGMA, 2, false, false, false, "Lava Pokémon", PokemonType.FIRE, null, 0.7, 35, AbilityId.MAGMA_ARMOR, AbilityId.FLAME_BODY, AbilityId.WEAK_ARMOR, 250, 40, 40, 40, 70, 40, 20, 190, 70, 50, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MAGCARGO, 2, false, false, false, "Lava Pokémon", PokemonType.FIRE, PokemonType.ROCK, 0.8, 55, AbilityId.MAGMA_ARMOR, AbilityId.FLAME_BODY, AbilityId.WEAK_ARMOR, 430, 60, 50, 120, 90, 80, 30, 75, 70, 151, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SWINUB, 2, false, false, false, "Pig Pokémon", PokemonType.ICE, PokemonType.GROUND, 0.4, 6.5, AbilityId.OBLIVIOUS, AbilityId.SNOW_CLOAK, AbilityId.THICK_FAT, 250, 50, 50, 40, 30, 30, 50, 225, 50, 50, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.PILOSWINE, 2, false, false, false, "Swine Pokémon", PokemonType.ICE, PokemonType.GROUND, 1.1, 55.8, AbilityId.OBLIVIOUS, AbilityId.SNOW_CLOAK, AbilityId.THICK_FAT, 450, 100, 100, 80, 60, 60, 50, 75, 50, 158, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.CORSOLA, 2, false, false, false, "Coral Pokémon", PokemonType.WATER, PokemonType.ROCK, 0.6, 5, AbilityId.HUSTLE, AbilityId.NATURAL_CURE, AbilityId.REGENERATOR, 410, 65, 55, 95, 65, 95, 35, 60, 50, 144, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.REMORAID, 2, false, false, false, "Jet Pokémon", PokemonType.WATER, null, 0.6, 12, AbilityId.HUSTLE, AbilityId.SNIPER, AbilityId.MOODY, 300, 35, 65, 35, 65, 35, 65, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.OCTILLERY, 2, false, false, false, "Jet Pokémon", PokemonType.WATER, null, 0.9, 28.5, AbilityId.SUCTION_CUPS, AbilityId.SNIPER, AbilityId.MOODY, 480, 75, 105, 75, 105, 75, 45, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.DELIBIRD, 2, false, false, false, "Delivery Pokémon", PokemonType.ICE, PokemonType.FLYING, 0.9, 16, AbilityId.VITAL_SPIRIT, AbilityId.HUSTLE, AbilityId.INSOMNIA, 330, 45, 55, 45, 65, 45, 75, 45, 50, 116, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.MANTINE, 2, false, false, false, "Kite Pokémon", PokemonType.WATER, PokemonType.FLYING, 2.1, 220, AbilityId.SWIFT_SWIM, AbilityId.WATER_ABSORB, AbilityId.WATER_VEIL, 485, 85, 40, 70, 80, 140, 70, 25, 50, 170, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.SKARMORY, 2, false, false, false, "Armor Bird Pokémon", PokemonType.STEEL, PokemonType.FLYING, 1.7, 50.5, AbilityId.KEEN_EYE, AbilityId.STURDY, AbilityId.WEAK_ARMOR, 465, 65, 80, 140, 40, 70, 70, 25, 50, 163, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HOUNDOUR, 2, false, false, false, "Dark Pokémon", PokemonType.DARK, PokemonType.FIRE, 0.6, 10.8, AbilityId.EARLY_BIRD, AbilityId.FLASH_FIRE, AbilityId.UNNERVE, 330, 45, 60, 30, 80, 50, 65, 120, 35, 66, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HOUNDOOM, 2, false, false, false, "Dark Pokémon", PokemonType.DARK, PokemonType.FIRE, 1.4, 35, AbilityId.EARLY_BIRD, AbilityId.FLASH_FIRE, AbilityId.UNNERVE, 500, 75, 90, 50, 110, 80, 95, 45, 35, 175, GrowthRate.SLOW, 50, true, true, + new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.FIRE, 1.4, 35, AbilityId.EARLY_BIRD, AbilityId.FLASH_FIRE, AbilityId.UNNERVE, 500, 75, 90, 50, 110, 80, 95, 45, 35, 175, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DARK, PokemonType.FIRE, 1.9, 49.5, AbilityId.SOLAR_POWER, AbilityId.SOLAR_POWER, AbilityId.SOLAR_POWER, 600, 75, 90, 90, 140, 90, 115, 45, 35, 175, true), + ), + new PokemonSpecies(SpeciesId.KINGDRA, 2, false, false, false, "Dragon Pokémon", PokemonType.WATER, PokemonType.DRAGON, 1.8, 152, AbilityId.SWIFT_SWIM, AbilityId.SNIPER, AbilityId.DAMP, 540, 75, 95, 95, 95, 95, 85, 45, 50, 270, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PHANPY, 2, false, false, false, "Long Nose Pokémon", PokemonType.GROUND, null, 0.5, 33.5, AbilityId.PICKUP, AbilityId.NONE, AbilityId.SAND_VEIL, 330, 90, 60, 60, 40, 40, 40, 120, 70, 66, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DONPHAN, 2, false, false, false, "Armor Pokémon", PokemonType.GROUND, null, 1.1, 120, AbilityId.STURDY, AbilityId.NONE, AbilityId.SAND_VEIL, 500, 90, 120, 120, 60, 60, 50, 60, 70, 175, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.PORYGON2, 2, false, false, false, "Virtual Pokémon", PokemonType.NORMAL, null, 0.6, 32.5, AbilityId.TRACE, AbilityId.DOWNLOAD, AbilityId.ANALYTIC, 515, 85, 80, 90, 105, 95, 60, 45, 50, 180, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.STANTLER, 2, false, false, false, "Big Horn Pokémon", PokemonType.NORMAL, null, 1.4, 71.2, AbilityId.INTIMIDATE, AbilityId.FRISK, AbilityId.SAP_SIPPER, 465, 73, 95, 62, 85, 65, 85, 45, 70, 163, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.SMEARGLE, 2, false, false, false, "Painter Pokémon", PokemonType.NORMAL, null, 1.2, 58, AbilityId.OWN_TEMPO, AbilityId.TECHNICIAN, AbilityId.MOODY, 250, 55, 20, 35, 20, 45, 75, 45, 70, 88, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.TYROGUE, 2, false, false, false, "Scuffle Pokémon", PokemonType.FIGHTING, null, 0.7, 21, AbilityId.GUTS, AbilityId.STEADFAST, AbilityId.VITAL_SPIRIT, 210, 35, 35, 35, 35, 35, 35, 75, 50, 42, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.HITMONTOP, 2, false, false, false, "Handstand Pokémon", PokemonType.FIGHTING, null, 1.4, 48, AbilityId.INTIMIDATE, AbilityId.TECHNICIAN, AbilityId.STEADFAST, 455, 50, 95, 95, 35, 110, 70, 45, 50, 159, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.SMOOCHUM, 2, false, false, false, "Kiss Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 0.4, 6, AbilityId.OBLIVIOUS, AbilityId.FOREWARN, AbilityId.HYDRATION, 305, 45, 30, 15, 85, 65, 65, 45, 50, 61, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.ELEKID, 2, false, false, false, "Electric Pokémon", PokemonType.ELECTRIC, null, 0.6, 23.5, AbilityId.STATIC, AbilityId.NONE, AbilityId.VITAL_SPIRIT, 360, 45, 63, 37, 65, 55, 95, 45, 50, 72, GrowthRate.MEDIUM_FAST, 75, false), + new PokemonSpecies(SpeciesId.MAGBY, 2, false, false, false, "Live Coal Pokémon", PokemonType.FIRE, null, 0.7, 21.4, AbilityId.FLAME_BODY, AbilityId.NONE, AbilityId.VITAL_SPIRIT, 365, 45, 75, 37, 70, 55, 83, 45, 50, 73, GrowthRate.MEDIUM_FAST, 75, false), + new PokemonSpecies(SpeciesId.MILTANK, 2, false, false, false, "Milk Cow Pokémon", PokemonType.NORMAL, null, 1.2, 75.5, AbilityId.THICK_FAT, AbilityId.SCRAPPY, AbilityId.SAP_SIPPER, 490, 95, 80, 105, 40, 70, 100, 45, 50, 172, GrowthRate.SLOW, 0, false), + new PokemonSpecies(SpeciesId.BLISSEY, 2, false, false, false, "Happiness Pokémon", PokemonType.NORMAL, null, 1.5, 46.8, AbilityId.NATURAL_CURE, AbilityId.SERENE_GRACE, AbilityId.HEALER, 540, 255, 10, 10, 75, 135, 55, 30, 140, 608, GrowthRate.FAST, 0, false), + new PokemonSpecies(SpeciesId.RAIKOU, 2, true, false, false, "Thunder Pokémon", PokemonType.ELECTRIC, null, 1.9, 178, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.INNER_FOCUS, 580, 90, 85, 75, 115, 100, 115, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ENTEI, 2, true, false, false, "Volcano Pokémon", PokemonType.FIRE, null, 2.1, 198, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.INNER_FOCUS, 580, 115, 115, 85, 90, 75, 100, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SUICUNE, 2, true, false, false, "Aurora Pokémon", PokemonType.WATER, null, 2, 187, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.INNER_FOCUS, 580, 100, 75, 115, 90, 115, 85, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.LARVITAR, 2, false, false, false, "Rock Skin Pokémon", PokemonType.ROCK, PokemonType.GROUND, 0.6, 72, AbilityId.GUTS, AbilityId.NONE, AbilityId.SAND_VEIL, 300, 50, 64, 50, 45, 50, 41, 45, 35, 60, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.PUPITAR, 2, false, false, false, "Hard Shell Pokémon", PokemonType.ROCK, PokemonType.GROUND, 1.2, 152, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.SHED_SKIN, 410, 70, 84, 70, 65, 70, 51, 45, 35, 144, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.TYRANITAR, 2, false, false, false, "Armor Pokémon", PokemonType.ROCK, PokemonType.DARK, 2, 202, AbilityId.SAND_STREAM, AbilityId.NONE, AbilityId.UNNERVE, 600, 100, 134, 110, 95, 100, 61, 45, 35, 300, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.DARK, 2, 202, AbilityId.SAND_STREAM, AbilityId.NONE, AbilityId.UNNERVE, 600, 100, 134, 110, 95, 100, 61, 45, 35, 300, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ROCK, PokemonType.DARK, 2.5, 255, AbilityId.SAND_STREAM, AbilityId.NONE, AbilityId.SAND_STREAM, 700, 100, 164, 150, 95, 120, 71, 45, 35, 300), + ), + new PokemonSpecies(SpeciesId.LUGIA, 2, false, true, false, "Diving Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 5.2, 216, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.MULTISCALE, 680, 106, 90, 130, 90, 154, 110, 3, 0, 340, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.HO_OH, 2, false, true, false, "Rainbow Pokémon", PokemonType.FIRE, PokemonType.FLYING, 3.8, 199, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.REGENERATOR, 680, 106, 130, 90, 110, 154, 90, 3, 0, 340, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.CELEBI, 2, false, false, true, "Time Travel Pokémon", PokemonType.PSYCHIC, PokemonType.GRASS, 0.6, 5, AbilityId.NATURAL_CURE, AbilityId.NONE, AbilityId.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, GrowthRate.MEDIUM_SLOW, null, false), + new PokemonSpecies(SpeciesId.TREECKO, 3, false, false, false, "Wood Gecko Pokémon", PokemonType.GRASS, null, 0.5, 5, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.UNBURDEN, 310, 40, 45, 35, 65, 55, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.GROVYLE, 3, false, false, false, "Wood Gecko Pokémon", PokemonType.GRASS, null, 0.9, 21.6, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.UNBURDEN, 405, 50, 65, 45, 85, 65, 95, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.SCEPTILE, 3, false, false, false, "Forest Pokémon", PokemonType.GRASS, null, 1.7, 52.2, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.UNBURDEN, 530, 70, 85, 65, 105, 85, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.GRASS, null, 1.7, 52.2, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.UNBURDEN, 530, 70, 85, 65, 105, 85, 120, 45, 50, 265, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GRASS, PokemonType.DRAGON, 1.9, 55.2, AbilityId.LIGHTNING_ROD, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 630, 70, 110, 75, 145, 85, 145, 45, 50, 265), + ), + new PokemonSpecies(SpeciesId.TORCHIC, 3, false, false, false, "Chick Pokémon", PokemonType.FIRE, null, 0.4, 2.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SPEED_BOOST, 310, 45, 60, 40, 70, 50, 45, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, true), + new PokemonSpecies(SpeciesId.COMBUSKEN, 3, false, false, false, "Young Fowl Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 0.9, 19.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SPEED_BOOST, 405, 60, 85, 60, 85, 60, 55, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, true), + new PokemonSpecies(SpeciesId.BLAZIKEN, 3, false, false, false, "Blaze Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1.9, 52, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SPEED_BOOST, 530, 80, 120, 70, 110, 70, 80, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, true, true, + new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.FIGHTING, 1.9, 52, AbilityId.BLAZE, AbilityId.NONE, AbilityId.SPEED_BOOST, 530, 80, 120, 70, 110, 70, 80, 45, 50, 265, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIRE, PokemonType.FIGHTING, 1.9, 52, AbilityId.SPEED_BOOST, AbilityId.NONE, AbilityId.SPEED_BOOST, 630, 80, 160, 80, 130, 80, 100, 45, 50, 265, true), + ), + new PokemonSpecies(SpeciesId.MUDKIP, 3, false, false, false, "Mud Fish Pokémon", PokemonType.WATER, null, 0.4, 7.6, AbilityId.TORRENT, AbilityId.NONE, AbilityId.DAMP, 310, 50, 70, 50, 50, 50, 40, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.MARSHTOMP, 3, false, false, false, "Mud Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.7, 28, AbilityId.TORRENT, AbilityId.NONE, AbilityId.DAMP, 405, 70, 85, 70, 60, 70, 50, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.SWAMPERT, 3, false, false, false, "Mud Fish Pokémon", PokemonType.WATER, PokemonType.GROUND, 1.5, 81.9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.DAMP, 535, 100, 110, 90, 85, 90, 60, 45, 50, 268, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.GROUND, 1.5, 81.9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.DAMP, 535, 100, 110, 90, 85, 90, 60, 45, 50, 268, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.GROUND, 1.9, 102, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.SWIFT_SWIM, 635, 100, 150, 110, 95, 110, 70, 45, 50, 268), + ), + new PokemonSpecies(SpeciesId.POOCHYENA, 3, false, false, false, "Bite Pokémon", PokemonType.DARK, null, 0.5, 13.6, AbilityId.RUN_AWAY, AbilityId.QUICK_FEET, AbilityId.RATTLED, 220, 35, 55, 35, 30, 30, 35, 255, 70, 56, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MIGHTYENA, 3, false, false, false, "Bite Pokémon", PokemonType.DARK, null, 1, 37, AbilityId.INTIMIDATE, AbilityId.QUICK_FEET, AbilityId.MOXIE, 420, 70, 90, 70, 60, 60, 70, 127, 70, 147, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ZIGZAGOON, 3, false, false, false, "Tiny Raccoon Pokémon", PokemonType.NORMAL, null, 0.4, 17.5, AbilityId.PICKUP, AbilityId.GLUTTONY, AbilityId.QUICK_FEET, 240, 38, 30, 41, 30, 41, 60, 255, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LINOONE, 3, false, false, false, "Rushing Pokémon", PokemonType.NORMAL, null, 0.5, 32.5, AbilityId.PICKUP, AbilityId.GLUTTONY, AbilityId.QUICK_FEET, 420, 78, 70, 61, 50, 61, 100, 90, 50, 147, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WURMPLE, 3, false, false, false, "Worm Pokémon", PokemonType.BUG, null, 0.3, 3.6, AbilityId.SHIELD_DUST, AbilityId.NONE, AbilityId.RUN_AWAY, 195, 45, 45, 35, 20, 30, 20, 255, 70, 56, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SILCOON, 3, false, false, false, "Cocoon Pokémon", PokemonType.BUG, null, 0.6, 10, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.SHED_SKIN, 205, 50, 35, 55, 25, 25, 15, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BEAUTIFLY, 3, false, false, false, "Butterfly Pokémon", PokemonType.BUG, PokemonType.FLYING, 1, 28.4, AbilityId.SWARM, AbilityId.NONE, AbilityId.RIVALRY, 395, 60, 70, 50, 100, 50, 65, 45, 70, 198, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.CASCOON, 3, false, false, false, "Cocoon Pokémon", PokemonType.BUG, null, 0.7, 11.5, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.SHED_SKIN, 205, 50, 35, 55, 25, 25, 15, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DUSTOX, 3, false, false, false, "Poison Moth Pokémon", PokemonType.BUG, PokemonType.POISON, 1.2, 31.6, AbilityId.SHIELD_DUST, AbilityId.NONE, AbilityId.COMPOUND_EYES, 385, 60, 50, 70, 50, 90, 65, 45, 70, 193, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.LOTAD, 3, false, false, false, "Water Weed Pokémon", PokemonType.WATER, PokemonType.GRASS, 0.5, 2.6, AbilityId.SWIFT_SWIM, AbilityId.RAIN_DISH, AbilityId.OWN_TEMPO, 220, 40, 30, 30, 40, 50, 30, 255, 50, 44, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.LOMBRE, 3, false, false, false, "Jolly Pokémon", PokemonType.WATER, PokemonType.GRASS, 1.2, 32.5, AbilityId.SWIFT_SWIM, AbilityId.RAIN_DISH, AbilityId.OWN_TEMPO, 340, 60, 50, 50, 60, 70, 50, 120, 50, 119, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.LUDICOLO, 3, false, false, false, "Carefree Pokémon", PokemonType.WATER, PokemonType.GRASS, 1.5, 55, AbilityId.SWIFT_SWIM, AbilityId.RAIN_DISH, AbilityId.OWN_TEMPO, 480, 80, 70, 70, 90, 100, 70, 45, 50, 240, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.SEEDOT, 3, false, false, false, "Acorn Pokémon", PokemonType.GRASS, null, 0.5, 4, AbilityId.CHLOROPHYLL, AbilityId.EARLY_BIRD, AbilityId.PICKPOCKET, 220, 40, 40, 50, 30, 30, 30, 255, 50, 44, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.NUZLEAF, 3, false, false, false, "Wily Pokémon", PokemonType.GRASS, PokemonType.DARK, 1, 28, AbilityId.CHLOROPHYLL, AbilityId.EARLY_BIRD, AbilityId.PICKPOCKET, 340, 70, 70, 40, 60, 40, 60, 120, 50, 119, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.SHIFTRY, 3, false, false, false, "Wicked Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.3, 59.6, AbilityId.CHLOROPHYLL, AbilityId.WIND_RIDER, AbilityId.PICKPOCKET, 480, 90, 100, 60, 90, 60, 80, 45, 50, 240, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.TAILLOW, 3, false, false, false, "Tiny Swallow Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2.3, AbilityId.GUTS, AbilityId.NONE, AbilityId.SCRAPPY, 270, 40, 55, 30, 30, 30, 85, 200, 70, 54, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SWELLOW, 3, false, false, false, "Swallow Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.7, 19.8, AbilityId.GUTS, AbilityId.NONE, AbilityId.SCRAPPY, 455, 60, 85, 60, 75, 50, 125, 45, 70, 159, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.WINGULL, 3, false, false, false, "Seagull Pokémon", PokemonType.WATER, PokemonType.FLYING, 0.6, 9.5, AbilityId.KEEN_EYE, AbilityId.HYDRATION, AbilityId.RAIN_DISH, 270, 40, 30, 30, 55, 30, 85, 190, 50, 54, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PELIPPER, 3, false, false, false, "Water Bird Pokémon", PokemonType.WATER, PokemonType.FLYING, 1.2, 28, AbilityId.KEEN_EYE, AbilityId.DRIZZLE, AbilityId.RAIN_DISH, 440, 60, 50, 100, 95, 70, 65, 45, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RALTS, 3, false, false, false, "Feeling Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 0.4, 6.6, AbilityId.SYNCHRONIZE, AbilityId.TRACE, AbilityId.TELEPATHY, 198, 28, 25, 25, 45, 35, 40, 235, 35, 40, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.KIRLIA, 3, false, false, false, "Emotion Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 0.8, 20.2, AbilityId.SYNCHRONIZE, AbilityId.TRACE, AbilityId.TELEPATHY, 278, 38, 35, 35, 65, 55, 50, 120, 35, 97, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.GARDEVOIR, 3, false, false, false, "Embrace Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.6, 48.4, AbilityId.SYNCHRONIZE, AbilityId.TRACE, AbilityId.TELEPATHY, 518, 68, 65, 65, 125, 115, 80, 45, 35, 259, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.6, 48.4, AbilityId.SYNCHRONIZE, AbilityId.TRACE, AbilityId.TELEPATHY, 518, 68, 65, 65, 125, 115, 80, 45, 35, 259, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, PokemonType.FAIRY, 1.6, 48.4, AbilityId.PIXILATE, AbilityId.PIXILATE, AbilityId.PIXILATE, 618, 68, 85, 65, 165, 135, 100, 45, 35, 259), + ), + new PokemonSpecies(SpeciesId.SURSKIT, 3, false, false, false, "Pond Skater Pokémon", PokemonType.BUG, PokemonType.WATER, 0.5, 1.7, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.RAIN_DISH, 269, 40, 30, 32, 50, 52, 65, 200, 70, 54, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MASQUERAIN, 3, false, false, false, "Eyeball Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.8, 3.6, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.UNNERVE, 454, 70, 60, 62, 100, 82, 80, 75, 70, 159, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SHROOMISH, 3, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, null, 0.4, 4.5, AbilityId.EFFECT_SPORE, AbilityId.POISON_HEAL, AbilityId.QUICK_FEET, 295, 60, 40, 60, 40, 60, 35, 255, 70, 59, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.BRELOOM, 3, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.2, 39.2, AbilityId.EFFECT_SPORE, AbilityId.POISON_HEAL, AbilityId.TECHNICIAN, 460, 60, 130, 80, 60, 60, 70, 90, 70, 161, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.SLAKOTH, 3, false, false, false, "Slacker Pokémon", PokemonType.NORMAL, null, 0.8, 24, AbilityId.TRUANT, AbilityId.NONE, AbilityId.STALL, 280, 60, 60, 60, 35, 35, 30, 255, 70, 56, GrowthRate.SLOW, 50, false), //Custom Hidden + new PokemonSpecies(SpeciesId.VIGOROTH, 3, false, false, false, "Wild Monkey Pokémon", PokemonType.NORMAL, null, 1.4, 46.5, AbilityId.VITAL_SPIRIT, AbilityId.NONE, AbilityId.INSOMNIA, 440, 80, 80, 80, 55, 55, 90, 120, 70, 154, GrowthRate.SLOW, 50, false), //Custom Hidden + new PokemonSpecies(SpeciesId.SLAKING, 3, false, false, false, "Lazy Pokémon", PokemonType.NORMAL, null, 2, 130.5, AbilityId.TRUANT, AbilityId.NONE, AbilityId.STALL, 670, 150, 160, 100, 95, 65, 100, 45, 70, 285, GrowthRate.SLOW, 50, false), //Custom Hidden + new PokemonSpecies(SpeciesId.NINCADA, 3, false, false, false, "Trainee Pokémon", PokemonType.BUG, PokemonType.GROUND, 0.5, 5.5, AbilityId.COMPOUND_EYES, AbilityId.NONE, AbilityId.RUN_AWAY, 266, 31, 45, 90, 30, 30, 40, 255, 50, 53, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.NINJASK, 3, false, false, false, "Ninja Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.8, 12, AbilityId.SPEED_BOOST, AbilityId.NONE, AbilityId.INFILTRATOR, 456, 61, 90, 45, 50, 50, 160, 120, 50, 160, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.SHEDINJA, 3, false, false, false, "Shed Pokémon", PokemonType.BUG, PokemonType.GHOST, 0.8, 1.2, AbilityId.WONDER_GUARD, AbilityId.NONE, AbilityId.NONE, 236, 1, 90, 45, 30, 30, 40, 45, 50, 83, GrowthRate.ERRATIC, null, false), + new PokemonSpecies(SpeciesId.WHISMUR, 3, false, false, false, "Whisper Pokémon", PokemonType.NORMAL, null, 0.6, 16.3, AbilityId.SOUNDPROOF, AbilityId.NONE, AbilityId.RATTLED, 240, 64, 51, 23, 51, 23, 28, 190, 50, 48, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.LOUDRED, 3, false, false, false, "Big Voice Pokémon", PokemonType.NORMAL, null, 1, 40.5, AbilityId.SOUNDPROOF, AbilityId.NONE, AbilityId.SCRAPPY, 360, 84, 71, 43, 71, 43, 48, 120, 50, 126, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.EXPLOUD, 3, false, false, false, "Loud Noise Pokémon", PokemonType.NORMAL, null, 1.5, 84, AbilityId.SOUNDPROOF, AbilityId.NONE, AbilityId.SCRAPPY, 490, 104, 91, 63, 91, 73, 68, 45, 50, 245, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.MAKUHITA, 3, false, false, false, "Guts Pokémon", PokemonType.FIGHTING, null, 1, 86.4, AbilityId.THICK_FAT, AbilityId.GUTS, AbilityId.SHEER_FORCE, 237, 72, 60, 30, 20, 30, 25, 180, 70, 47, GrowthRate.FLUCTUATING, 75, false), + new PokemonSpecies(SpeciesId.HARIYAMA, 3, false, false, false, "Arm Thrust Pokémon", PokemonType.FIGHTING, null, 2.3, 253.8, AbilityId.THICK_FAT, AbilityId.GUTS, AbilityId.SHEER_FORCE, 474, 144, 120, 60, 40, 60, 50, 200, 70, 166, GrowthRate.FLUCTUATING, 75, false), + new PokemonSpecies(SpeciesId.AZURILL, 3, false, false, false, "Polka Dot Pokémon", PokemonType.NORMAL, PokemonType.FAIRY, 0.2, 2, AbilityId.THICK_FAT, AbilityId.HUGE_POWER, AbilityId.SAP_SIPPER, 190, 50, 20, 40, 20, 40, 20, 150, 50, 38, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.NOSEPASS, 3, false, false, false, "Compass Pokémon", PokemonType.ROCK, null, 1, 97, AbilityId.STURDY, AbilityId.MAGNET_PULL, AbilityId.SAND_FORCE, 375, 30, 45, 135, 45, 90, 30, 255, 70, 75, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SKITTY, 3, false, false, false, "Kitten Pokémon", PokemonType.NORMAL, null, 0.6, 11, AbilityId.CUTE_CHARM, AbilityId.NORMALIZE, AbilityId.WONDER_SKIN, 260, 50, 45, 45, 35, 35, 50, 255, 70, 52, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.DELCATTY, 3, false, false, false, "Prim Pokémon", PokemonType.NORMAL, null, 1.1, 32.6, AbilityId.CUTE_CHARM, AbilityId.NORMALIZE, AbilityId.WONDER_SKIN, 400, 70, 65, 65, 55, 55, 90, 60, 70, 140, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.SABLEYE, 3, false, false, false, "Darkness Pokémon", PokemonType.DARK, PokemonType.GHOST, 0.5, 11, AbilityId.KEEN_EYE, AbilityId.STALL, AbilityId.PRANKSTER, 380, 50, 75, 75, 65, 65, 50, 45, 35, 133, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.GHOST, 0.5, 11, AbilityId.KEEN_EYE, AbilityId.STALL, AbilityId.PRANKSTER, 380, 50, 75, 75, 65, 65, 50, 45, 35, 133, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DARK, PokemonType.GHOST, 0.5, 161, AbilityId.MAGIC_BOUNCE, AbilityId.MAGIC_BOUNCE, AbilityId.MAGIC_BOUNCE, 480, 50, 85, 125, 85, 115, 20, 45, 35, 133), + ), + new PokemonSpecies(SpeciesId.MAWILE, 3, false, false, false, "Deceiver Pokémon", PokemonType.STEEL, PokemonType.FAIRY, 0.6, 11.5, AbilityId.HYPER_CUTTER, AbilityId.INTIMIDATE, AbilityId.SHEER_FORCE, 380, 50, 85, 85, 55, 55, 50, 45, 50, 133, GrowthRate.FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.FAIRY, 0.6, 11.5, AbilityId.HYPER_CUTTER, AbilityId.INTIMIDATE, AbilityId.SHEER_FORCE, 380, 50, 85, 85, 55, 55, 50, 45, 50, 133, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, PokemonType.FAIRY, 1, 23.5, AbilityId.HUGE_POWER, AbilityId.HUGE_POWER, AbilityId.HUGE_POWER, 480, 50, 105, 125, 55, 95, 50, 45, 50, 133), + ), + new PokemonSpecies(SpeciesId.ARON, 3, false, false, false, "Iron Armor Pokémon", PokemonType.STEEL, PokemonType.ROCK, 0.4, 60, AbilityId.STURDY, AbilityId.ROCK_HEAD, AbilityId.HEAVY_METAL, 330, 50, 70, 100, 40, 40, 30, 180, 35, 66, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.LAIRON, 3, false, false, false, "Iron Armor Pokémon", PokemonType.STEEL, PokemonType.ROCK, 0.9, 120, AbilityId.STURDY, AbilityId.ROCK_HEAD, AbilityId.HEAVY_METAL, 430, 60, 90, 140, 50, 50, 40, 90, 35, 151, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.AGGRON, 3, false, false, false, "Iron Armor Pokémon", PokemonType.STEEL, PokemonType.ROCK, 2.1, 360, AbilityId.STURDY, AbilityId.ROCK_HEAD, AbilityId.HEAVY_METAL, 530, 70, 110, 180, 60, 60, 50, 45, 35, 265, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.ROCK, 2.1, 360, AbilityId.STURDY, AbilityId.ROCK_HEAD, AbilityId.HEAVY_METAL, 530, 70, 110, 180, 60, 60, 50, 45, 35, 265, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, null, 2.2, 395, AbilityId.FILTER, AbilityId.FILTER, AbilityId.FILTER, 630, 70, 140, 230, 60, 80, 50, 45, 35, 265), + ), + new PokemonSpecies(SpeciesId.MEDITITE, 3, false, false, false, "Meditate Pokémon", PokemonType.FIGHTING, PokemonType.PSYCHIC, 0.6, 11.2, AbilityId.PURE_POWER, AbilityId.NONE, AbilityId.TELEPATHY, 280, 30, 40, 55, 40, 55, 60, 180, 70, 56, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.MEDICHAM, 3, false, false, false, "Meditate Pokémon", PokemonType.FIGHTING, PokemonType.PSYCHIC, 1.3, 31.5, AbilityId.PURE_POWER, AbilityId.NONE, AbilityId.TELEPATHY, 410, 60, 60, 75, 60, 75, 80, 90, 70, 144, GrowthRate.MEDIUM_FAST, 50, true, true, + new PokemonForm("Normal", "", PokemonType.FIGHTING, PokemonType.PSYCHIC, 1.3, 31.5, AbilityId.PURE_POWER, AbilityId.NONE, AbilityId.TELEPATHY, 410, 60, 60, 75, 60, 75, 80, 90, 70, 144, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIGHTING, PokemonType.PSYCHIC, 1.3, 31.5, AbilityId.PURE_POWER, AbilityId.NONE, AbilityId.PURE_POWER, 510, 60, 100, 85, 80, 85, 100, 90, 70, 144, true), + ), + new PokemonSpecies(SpeciesId.ELECTRIKE, 3, false, false, false, "Lightning Pokémon", PokemonType.ELECTRIC, null, 0.6, 15.2, AbilityId.STATIC, AbilityId.LIGHTNING_ROD, AbilityId.MINUS, 295, 40, 45, 40, 65, 40, 65, 120, 50, 59, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.MANECTRIC, 3, false, false, false, "Discharge Pokémon", PokemonType.ELECTRIC, null, 1.5, 40.2, AbilityId.STATIC, AbilityId.LIGHTNING_ROD, AbilityId.MINUS, 475, 70, 75, 60, 105, 60, 105, 45, 50, 166, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.ELECTRIC, null, 1.5, 40.2, AbilityId.STATIC, AbilityId.LIGHTNING_ROD, AbilityId.MINUS, 475, 70, 75, 60, 105, 60, 105, 45, 50, 166, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ELECTRIC, null, 1.8, 44, AbilityId.INTIMIDATE, AbilityId.INTIMIDATE, AbilityId.INTIMIDATE, 575, 70, 75, 80, 135, 80, 135, 45, 50, 166), + ), + new PokemonSpecies(SpeciesId.PLUSLE, 3, false, false, false, "Cheering Pokémon", PokemonType.ELECTRIC, null, 0.4, 4.2, AbilityId.PLUS, AbilityId.NONE, AbilityId.LIGHTNING_ROD, 405, 60, 50, 40, 85, 75, 95, 200, 70, 142, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MINUN, 3, false, false, false, "Cheering Pokémon", PokemonType.ELECTRIC, null, 0.4, 4.2, AbilityId.MINUS, AbilityId.NONE, AbilityId.VOLT_ABSORB, 405, 60, 40, 50, 75, 85, 95, 200, 70, 142, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.VOLBEAT, 3, false, false, false, "Firefly Pokémon", PokemonType.BUG, null, 0.7, 17.7, AbilityId.ILLUMINATE, AbilityId.SWARM, AbilityId.PRANKSTER, 430, 65, 73, 75, 47, 85, 85, 150, 70, 151, GrowthRate.ERRATIC, 100, false), + new PokemonSpecies(SpeciesId.ILLUMISE, 3, false, false, false, "Firefly Pokémon", PokemonType.BUG, null, 0.6, 17.7, AbilityId.OBLIVIOUS, AbilityId.TINTED_LENS, AbilityId.PRANKSTER, 430, 65, 47, 75, 73, 85, 85, 150, 70, 151, GrowthRate.FLUCTUATING, 0, false), + new PokemonSpecies(SpeciesId.ROSELIA, 3, false, false, false, "Thorn Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.3, 2, AbilityId.NATURAL_CURE, AbilityId.POISON_POINT, AbilityId.LEAF_GUARD, 400, 50, 60, 45, 100, 80, 65, 150, 50, 140, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.GULPIN, 3, false, false, false, "Stomach Pokémon", PokemonType.POISON, null, 0.4, 10.3, AbilityId.LIQUID_OOZE, AbilityId.STICKY_HOLD, AbilityId.GLUTTONY, 302, 70, 43, 53, 43, 53, 40, 225, 70, 60, GrowthRate.FLUCTUATING, 50, true), + new PokemonSpecies(SpeciesId.SWALOT, 3, false, false, false, "Poison Bag Pokémon", PokemonType.POISON, null, 1.7, 80, AbilityId.LIQUID_OOZE, AbilityId.STICKY_HOLD, AbilityId.GLUTTONY, 467, 100, 73, 83, 73, 83, 55, 75, 70, 163, GrowthRate.FLUCTUATING, 50, true), + new PokemonSpecies(SpeciesId.CARVANHA, 3, false, false, false, "Savage Pokémon", PokemonType.WATER, PokemonType.DARK, 0.8, 20.8, AbilityId.ROUGH_SKIN, AbilityId.NONE, AbilityId.SPEED_BOOST, 305, 45, 90, 20, 65, 20, 65, 225, 35, 61, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.SHARPEDO, 3, false, false, false, "Brutal Pokémon", PokemonType.WATER, PokemonType.DARK, 1.8, 88.8, AbilityId.ROUGH_SKIN, AbilityId.NONE, AbilityId.SPEED_BOOST, 460, 70, 120, 40, 95, 40, 95, 60, 35, 161, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.DARK, 1.8, 88.8, AbilityId.ROUGH_SKIN, AbilityId.NONE, AbilityId.SPEED_BOOST, 460, 70, 120, 40, 95, 40, 95, 60, 35, 161, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, PokemonType.DARK, 2.5, 130.3, AbilityId.STRONG_JAW, AbilityId.NONE, AbilityId.STRONG_JAW, 560, 70, 140, 70, 110, 65, 105, 60, 35, 161), + ), + new PokemonSpecies(SpeciesId.WAILMER, 3, false, false, false, "Ball Whale Pokémon", PokemonType.WATER, null, 2, 130, AbilityId.WATER_VEIL, AbilityId.OBLIVIOUS, AbilityId.PRESSURE, 400, 130, 70, 35, 70, 35, 60, 125, 50, 80, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.WAILORD, 3, false, false, false, "Float Whale Pokémon", PokemonType.WATER, null, 14.5, 398, AbilityId.WATER_VEIL, AbilityId.OBLIVIOUS, AbilityId.PRESSURE, 500, 170, 90, 45, 90, 45, 60, 60, 50, 175, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.NUMEL, 3, false, false, false, "Numb Pokémon", PokemonType.FIRE, PokemonType.GROUND, 0.7, 24, AbilityId.OBLIVIOUS, AbilityId.SIMPLE, AbilityId.OWN_TEMPO, 305, 60, 60, 40, 65, 45, 35, 255, 70, 61, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.CAMERUPT, 3, false, false, false, "Eruption Pokémon", PokemonType.FIRE, PokemonType.GROUND, 1.9, 220, AbilityId.MAGMA_ARMOR, AbilityId.SOLID_ROCK, AbilityId.ANGER_POINT, 460, 70, 100, 70, 105, 75, 40, 150, 70, 161, GrowthRate.MEDIUM_FAST, 50, true, true, + new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.GROUND, 1.9, 220, AbilityId.MAGMA_ARMOR, AbilityId.SOLID_ROCK, AbilityId.ANGER_POINT, 460, 70, 100, 70, 105, 75, 40, 150, 70, 161, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIRE, PokemonType.GROUND, 2.5, 320.5, AbilityId.SHEER_FORCE, AbilityId.SHEER_FORCE, AbilityId.SHEER_FORCE, 560, 70, 120, 100, 145, 105, 20, 150, 70, 161), + ), + new PokemonSpecies(SpeciesId.TORKOAL, 3, false, false, false, "Coal Pokémon", PokemonType.FIRE, null, 0.5, 80.4, AbilityId.WHITE_SMOKE, AbilityId.DROUGHT, AbilityId.SHELL_ARMOR, 470, 70, 85, 140, 85, 70, 20, 90, 50, 165, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SPOINK, 3, false, false, false, "Bounce Pokémon", PokemonType.PSYCHIC, null, 0.7, 30.6, AbilityId.THICK_FAT, AbilityId.OWN_TEMPO, AbilityId.GLUTTONY, 330, 60, 25, 35, 70, 80, 60, 255, 70, 66, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.GRUMPIG, 3, false, false, false, "Manipulate Pokémon", PokemonType.PSYCHIC, null, 0.9, 71.5, AbilityId.THICK_FAT, AbilityId.OWN_TEMPO, AbilityId.GLUTTONY, 470, 80, 45, 65, 90, 110, 80, 60, 70, 165, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.SPINDA, 3, false, false, false, "Spot Panda Pokémon", PokemonType.NORMAL, null, 1.1, 5, AbilityId.OWN_TEMPO, AbilityId.TANGLED_FEET, AbilityId.CONTRARY, 360, 60, 60, 60, 60, 60, 60, 255, 70, 126, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.TRAPINCH, 3, false, false, false, "Ant Pit Pokémon", PokemonType.GROUND, null, 0.7, 15, AbilityId.HYPER_CUTTER, AbilityId.ARENA_TRAP, AbilityId.SHEER_FORCE, 290, 45, 100, 45, 45, 45, 10, 255, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.VIBRAVA, 3, false, false, false, "Vibration Pokémon", PokemonType.GROUND, PokemonType.DRAGON, 1.1, 15.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 340, 50, 70, 50, 50, 50, 70, 120, 50, 119, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.FLYGON, 3, false, false, false, "Mystic Pokémon", PokemonType.GROUND, PokemonType.DRAGON, 2, 82, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 520, 80, 100, 80, 80, 80, 100, 45, 50, 260, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CACNEA, 3, false, false, false, "Cactus Pokémon", PokemonType.GRASS, null, 0.4, 51.3, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.WATER_ABSORB, 335, 50, 85, 40, 85, 40, 35, 190, 35, 67, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CACTURNE, 3, false, false, false, "Scarecrow Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.3, 77.4, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.WATER_ABSORB, 475, 70, 115, 60, 115, 60, 55, 60, 35, 166, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.SWABLU, 3, false, false, false, "Cotton Bird Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.4, 1.2, AbilityId.NATURAL_CURE, AbilityId.NONE, AbilityId.CLOUD_NINE, 310, 45, 40, 60, 40, 75, 50, 255, 50, 62, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.ALTARIA, 3, false, false, false, "Humming Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 1.1, 20.6, AbilityId.NATURAL_CURE, AbilityId.NONE, AbilityId.CLOUD_NINE, 490, 75, 70, 90, 70, 105, 80, 45, 50, 172, GrowthRate.ERRATIC, 50, false, true, + new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.FLYING, 1.1, 20.6, AbilityId.NATURAL_CURE, AbilityId.NONE, AbilityId.CLOUD_NINE, 490, 75, 70, 90, 70, 105, 80, 45, 50, 172, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.FAIRY, 1.5, 20.6, AbilityId.PIXILATE, AbilityId.NONE, AbilityId.PIXILATE, 590, 75, 110, 110, 110, 105, 80, 45, 50, 172), + ), + new PokemonSpecies(SpeciesId.ZANGOOSE, 3, false, false, false, "Cat Ferret Pokémon", PokemonType.NORMAL, null, 1.3, 40.3, AbilityId.IMMUNITY, AbilityId.NONE, AbilityId.TOXIC_BOOST, 458, 73, 115, 60, 60, 60, 90, 90, 70, 160, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.SEVIPER, 3, false, false, false, "Fang Snake Pokémon", PokemonType.POISON, null, 2.7, 52.5, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.INFILTRATOR, 458, 73, 100, 60, 100, 60, 65, 90, 70, 160, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.LUNATONE, 3, false, false, false, "Meteorite Pokémon", PokemonType.ROCK, PokemonType.PSYCHIC, 1, 168, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 460, 90, 55, 65, 95, 85, 70, 45, 50, 161, GrowthRate.FAST, null, false), + new PokemonSpecies(SpeciesId.SOLROCK, 3, false, false, false, "Meteorite Pokémon", PokemonType.ROCK, PokemonType.PSYCHIC, 1.2, 154, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 460, 90, 95, 85, 55, 65, 70, 45, 50, 161, GrowthRate.FAST, null, false), + new PokemonSpecies(SpeciesId.BARBOACH, 3, false, false, false, "Whiskers Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.4, 1.9, AbilityId.OBLIVIOUS, AbilityId.ANTICIPATION, AbilityId.HYDRATION, 288, 50, 48, 43, 46, 41, 60, 190, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WHISCASH, 3, false, false, false, "Whiskers Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.9, 23.6, AbilityId.OBLIVIOUS, AbilityId.ANTICIPATION, AbilityId.HYDRATION, 468, 110, 78, 73, 76, 71, 60, 75, 50, 164, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CORPHISH, 3, false, false, false, "Ruffian Pokémon", PokemonType.WATER, null, 0.6, 11.5, AbilityId.HYPER_CUTTER, AbilityId.SHELL_ARMOR, AbilityId.ADAPTABILITY, 308, 43, 80, 65, 50, 35, 35, 205, 50, 62, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.CRAWDAUNT, 3, false, false, false, "Rogue Pokémon", PokemonType.WATER, PokemonType.DARK, 1.1, 32.8, AbilityId.HYPER_CUTTER, AbilityId.SHELL_ARMOR, AbilityId.ADAPTABILITY, 468, 63, 120, 85, 90, 55, 55, 155, 50, 164, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.BALTOY, 3, false, false, false, "Clay Doll Pokémon", PokemonType.GROUND, PokemonType.PSYCHIC, 0.5, 21.5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 300, 40, 40, 55, 40, 70, 55, 255, 50, 60, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.CLAYDOL, 3, false, false, false, "Clay Doll Pokémon", PokemonType.GROUND, PokemonType.PSYCHIC, 1.5, 108, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 500, 60, 70, 105, 70, 120, 75, 90, 50, 175, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.LILEEP, 3, false, false, false, "Sea Lily Pokémon", PokemonType.ROCK, PokemonType.GRASS, 1, 23.8, AbilityId.SUCTION_CUPS, AbilityId.NONE, AbilityId.STORM_DRAIN, 355, 66, 41, 77, 61, 87, 23, 45, 50, 71, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.CRADILY, 3, false, false, false, "Barnacle Pokémon", PokemonType.ROCK, PokemonType.GRASS, 1.5, 60.4, AbilityId.SUCTION_CUPS, AbilityId.NONE, AbilityId.STORM_DRAIN, 495, 86, 81, 97, 81, 107, 43, 45, 50, 173, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.ANORITH, 3, false, false, false, "Old Shrimp Pokémon", PokemonType.ROCK, PokemonType.BUG, 0.7, 12.5, AbilityId.BATTLE_ARMOR, AbilityId.NONE, AbilityId.SWIFT_SWIM, 355, 45, 95, 50, 40, 50, 75, 45, 50, 71, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.ARMALDO, 3, false, false, false, "Plate Pokémon", PokemonType.ROCK, PokemonType.BUG, 1.5, 68.2, AbilityId.BATTLE_ARMOR, AbilityId.NONE, AbilityId.SWIFT_SWIM, 495, 75, 125, 100, 70, 80, 45, 45, 50, 173, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.FEEBAS, 3, false, false, false, "Fish Pokémon", PokemonType.WATER, null, 0.6, 7.4, AbilityId.SWIFT_SWIM, AbilityId.OBLIVIOUS, AbilityId.ADAPTABILITY, 200, 20, 15, 20, 10, 55, 80, 255, 50, 40, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.MILOTIC, 3, false, false, false, "Tender Pokémon", PokemonType.WATER, null, 6.2, 162, AbilityId.MARVEL_SCALE, AbilityId.COMPETITIVE, AbilityId.CUTE_CHARM, 540, 95, 60, 79, 100, 125, 81, 60, 50, 189, GrowthRate.ERRATIC, 50, true), + new PokemonSpecies(SpeciesId.CASTFORM, 3, false, false, false, "Weather Pokémon", PokemonType.NORMAL, null, 0.3, 0.8, AbilityId.FORECAST, AbilityId.NONE, AbilityId.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal Form", "", PokemonType.NORMAL, null, 0.3, 0.8, AbilityId.FORECAST, AbilityId.NONE, AbilityId.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147, false, null, true), + new PokemonForm("Sunny Form", "sunny", PokemonType.FIRE, null, 0.3, 0.8, AbilityId.FORECAST, AbilityId.NONE, AbilityId.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147), + new PokemonForm("Rainy Form", "rainy", PokemonType.WATER, null, 0.3, 0.8, AbilityId.FORECAST, AbilityId.NONE, AbilityId.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147), + new PokemonForm("Snowy Form", "snowy", PokemonType.ICE, null, 0.3, 0.8, AbilityId.FORECAST, AbilityId.NONE, AbilityId.NONE, 420, 70, 70, 70, 70, 70, 70, 45, 70, 147), + ), + new PokemonSpecies(SpeciesId.KECLEON, 3, false, false, false, "Color Swap Pokémon", PokemonType.NORMAL, null, 1, 22, AbilityId.COLOR_CHANGE, AbilityId.NONE, AbilityId.PROTEAN, 440, 60, 90, 70, 60, 120, 40, 200, 70, 154, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SHUPPET, 3, false, false, false, "Puppet Pokémon", PokemonType.GHOST, null, 0.6, 2.3, AbilityId.INSOMNIA, AbilityId.FRISK, AbilityId.CURSED_BODY, 295, 44, 75, 35, 63, 33, 45, 225, 35, 59, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.BANETTE, 3, false, false, false, "Marionette Pokémon", PokemonType.GHOST, null, 1.1, 12.5, AbilityId.INSOMNIA, AbilityId.FRISK, AbilityId.CURSED_BODY, 455, 64, 115, 65, 83, 63, 65, 45, 35, 159, GrowthRate.FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.GHOST, null, 1.1, 12.5, AbilityId.INSOMNIA, AbilityId.FRISK, AbilityId.CURSED_BODY, 455, 64, 115, 65, 83, 63, 65, 45, 35, 159, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GHOST, null, 1.2, 13, AbilityId.PRANKSTER, AbilityId.PRANKSTER, AbilityId.PRANKSTER, 555, 64, 165, 75, 93, 83, 75, 45, 35, 159), + ), + new PokemonSpecies(SpeciesId.DUSKULL, 3, false, false, false, "Requiem Pokémon", PokemonType.GHOST, null, 0.8, 15, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.FRISK, 295, 20, 40, 90, 30, 90, 25, 190, 35, 59, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.DUSCLOPS, 3, false, false, false, "Beckon Pokémon", PokemonType.GHOST, null, 1.6, 30.6, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.FRISK, 455, 40, 70, 130, 60, 130, 25, 90, 35, 159, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.TROPIUS, 3, false, false, false, "Fruit Pokémon", PokemonType.GRASS, PokemonType.FLYING, 2, 100, AbilityId.CHLOROPHYLL, AbilityId.SOLAR_POWER, AbilityId.HARVEST, 460, 99, 68, 83, 72, 87, 51, 200, 70, 161, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.CHIMECHO, 3, false, false, false, "Wind Chime Pokémon", PokemonType.PSYCHIC, null, 0.6, 1, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 455, 75, 50, 80, 95, 90, 65, 45, 70, 159, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.ABSOL, 3, false, false, false, "Disaster Pokémon", PokemonType.DARK, null, 1.2, 47, AbilityId.PRESSURE, AbilityId.SUPER_LUCK, AbilityId.JUSTIFIED, 465, 65, 130, 60, 75, 60, 75, 30, 35, 163, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.DARK, null, 1.2, 47, AbilityId.PRESSURE, AbilityId.SUPER_LUCK, AbilityId.JUSTIFIED, 465, 65, 130, 60, 75, 60, 75, 30, 35, 163, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DARK, null, 1.2, 49, AbilityId.MAGIC_BOUNCE, AbilityId.MAGIC_BOUNCE, AbilityId.MAGIC_BOUNCE, 565, 65, 150, 60, 115, 60, 115, 30, 35, 163), + ), + new PokemonSpecies(SpeciesId.WYNAUT, 3, false, false, false, "Bright Pokémon", PokemonType.PSYCHIC, null, 0.6, 14, AbilityId.SHADOW_TAG, AbilityId.NONE, AbilityId.TELEPATHY, 260, 95, 23, 48, 23, 48, 23, 125, 50, 52, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SNORUNT, 3, false, false, false, "Snow Hat Pokémon", PokemonType.ICE, null, 0.7, 16.8, AbilityId.INNER_FOCUS, AbilityId.ICE_BODY, AbilityId.MOODY, 300, 50, 50, 50, 50, 50, 50, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GLALIE, 3, false, false, false, "Face Pokémon", PokemonType.ICE, null, 1.5, 256.5, AbilityId.INNER_FOCUS, AbilityId.ICE_BODY, AbilityId.MOODY, 480, 80, 80, 80, 80, 80, 80, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.ICE, null, 1.5, 256.5, AbilityId.INNER_FOCUS, AbilityId.ICE_BODY, AbilityId.MOODY, 480, 80, 80, 80, 80, 80, 80, 75, 50, 168, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ICE, null, 2.1, 350.2, AbilityId.REFRIGERATE, AbilityId.REFRIGERATE, AbilityId.REFRIGERATE, 580, 80, 120, 80, 120, 80, 100, 75, 50, 168), + ), + new PokemonSpecies(SpeciesId.SPHEAL, 3, false, false, false, "Clap Pokémon", PokemonType.ICE, PokemonType.WATER, 0.8, 39.5, AbilityId.THICK_FAT, AbilityId.ICE_BODY, AbilityId.OBLIVIOUS, 290, 70, 40, 50, 55, 50, 25, 255, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SEALEO, 3, false, false, false, "Ball Roll Pokémon", PokemonType.ICE, PokemonType.WATER, 1.1, 87.6, AbilityId.THICK_FAT, AbilityId.ICE_BODY, AbilityId.OBLIVIOUS, 410, 90, 60, 70, 75, 70, 45, 120, 50, 144, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.WALREIN, 3, false, false, false, "Ice Break Pokémon", PokemonType.ICE, PokemonType.WATER, 1.4, 150.6, AbilityId.THICK_FAT, AbilityId.ICE_BODY, AbilityId.OBLIVIOUS, 530, 110, 80, 90, 95, 90, 65, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CLAMPERL, 3, false, false, false, "Bivalve Pokémon", PokemonType.WATER, null, 0.4, 52.5, AbilityId.SHELL_ARMOR, AbilityId.NONE, AbilityId.RATTLED, 345, 35, 64, 85, 74, 55, 32, 255, 70, 69, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.HUNTAIL, 3, false, false, false, "Deep Sea Pokémon", PokemonType.WATER, null, 1.7, 27, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.WATER_VEIL, 485, 55, 104, 105, 94, 75, 52, 60, 70, 170, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.GOREBYSS, 3, false, false, false, "South Sea Pokémon", PokemonType.WATER, null, 1.8, 22.6, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.HYDRATION, 485, 55, 84, 105, 114, 75, 52, 60, 70, 170, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.RELICANTH, 3, false, false, false, "Longevity Pokémon", PokemonType.WATER, PokemonType.ROCK, 1, 23.4, AbilityId.SWIFT_SWIM, AbilityId.ROCK_HEAD, AbilityId.STURDY, 485, 100, 90, 130, 45, 65, 55, 25, 50, 170, GrowthRate.SLOW, 87.5, true), + new PokemonSpecies(SpeciesId.LUVDISC, 3, false, false, false, "Rendezvous Pokémon", PokemonType.WATER, null, 0.6, 8.7, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.HYDRATION, 330, 43, 30, 55, 40, 65, 97, 225, 70, 116, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.BAGON, 3, false, false, false, "Rock Head Pokémon", PokemonType.DRAGON, null, 0.6, 42.1, AbilityId.ROCK_HEAD, AbilityId.NONE, AbilityId.SHEER_FORCE, 300, 45, 75, 60, 40, 30, 50, 45, 35, 60, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.SHELGON, 3, false, false, false, "Endurance Pokémon", PokemonType.DRAGON, null, 1.1, 110.5, AbilityId.ROCK_HEAD, AbilityId.NONE, AbilityId.OVERCOAT, 420, 65, 95, 100, 60, 50, 50, 45, 35, 147, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.SALAMENCE, 3, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 1.5, 102.6, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.MOXIE, 600, 95, 135, 80, 110, 80, 100, 45, 35, 300, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.FLYING, 1.5, 102.6, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.MOXIE, 600, 95, 135, 80, 110, 80, 100, 45, 35, 300, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.FLYING, 1.8, 112.6, AbilityId.AERILATE, AbilityId.NONE, AbilityId.AERILATE, 700, 95, 145, 130, 120, 90, 120, 45, 35, 300), + ), + new PokemonSpecies(SpeciesId.BELDUM, 3, false, false, false, "Iron Ball Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 0.6, 95.2, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.LIGHT_METAL, 300, 40, 55, 80, 35, 60, 30, 45, 35, 60, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Frigibax + new PokemonSpecies(SpeciesId.METANG, 3, false, false, false, "Iron Claw Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.2, 202.5, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.LIGHT_METAL, 420, 60, 75, 100, 55, 80, 50, 25, 35, 147, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Arctibax + new PokemonSpecies(SpeciesId.METAGROSS, 3, false, false, false, "Iron Leg Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.6, 550, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.LIGHT_METAL, 600, 80, 135, 130, 95, 90, 70, 10, 35, 300, GrowthRate.SLOW, null, false, true, //Custom Catchrate, matching Baxcalibur + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.PSYCHIC, 1.6, 550, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.LIGHT_METAL, 600, 80, 135, 130, 95, 90, 70, 3, 35, 300, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.STEEL, PokemonType.PSYCHIC, 2.5, 942.9, AbilityId.TOUGH_CLAWS, AbilityId.NONE, AbilityId.TOUGH_CLAWS, 700, 80, 145, 150, 105, 110, 110, 3, 35, 300), + ), + new PokemonSpecies(SpeciesId.REGIROCK, 3, true, false, false, "Rock Peak Pokémon", PokemonType.ROCK, null, 1.7, 230, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.STURDY, 580, 80, 100, 200, 50, 100, 50, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.REGICE, 3, true, false, false, "Iceberg Pokémon", PokemonType.ICE, null, 1.8, 175, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.ICE_BODY, 580, 80, 50, 100, 100, 200, 50, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.REGISTEEL, 3, true, false, false, "Iron Pokémon", PokemonType.STEEL, null, 1.9, 205, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.LIGHT_METAL, 580, 80, 75, 150, 75, 150, 50, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.LATIAS, 3, true, false, false, "Eon Pokémon", PokemonType.DRAGON, PokemonType.PSYCHIC, 1.4, 40, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 600, 80, 80, 90, 110, 130, 110, 3, 90, 300, GrowthRate.SLOW, 0, false, true, + new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.PSYCHIC, 1.4, 40, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 600, 80, 80, 90, 110, 130, 110, 3, 90, 300, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.PSYCHIC, 1.8, 52, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 700, 80, 100, 120, 140, 150, 110, 3, 90, 300), + ), + new PokemonSpecies(SpeciesId.LATIOS, 3, true, false, false, "Eon Pokémon", PokemonType.DRAGON, PokemonType.PSYCHIC, 2, 60, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 600, 80, 90, 80, 130, 110, 110, 3, 90, 300, GrowthRate.SLOW, 100, false, true, + new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.PSYCHIC, 2, 60, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 600, 80, 90, 80, 130, 110, 110, 3, 90, 300, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.PSYCHIC, 2.3, 70, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 700, 80, 130, 100, 160, 120, 110, 3, 90, 300), + ), + new PokemonSpecies(SpeciesId.KYOGRE, 3, false, true, false, "Sea Basin Pokémon", PokemonType.WATER, null, 4.5, 352, AbilityId.DRIZZLE, AbilityId.NONE, AbilityId.NONE, 670, 100, 100, 90, 150, 140, 90, 3, 0, 335, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, null, 4.5, 352, AbilityId.DRIZZLE, AbilityId.NONE, AbilityId.NONE, 670, 100, 100, 90, 150, 140, 90, 3, 0, 335, false, null, true), + new PokemonForm("Primal", "primal", PokemonType.WATER, null, 9.8, 430, AbilityId.PRIMORDIAL_SEA, AbilityId.NONE, AbilityId.NONE, 770, 100, 150, 90, 180, 160, 90, 3, 0, 335), + ), + new PokemonSpecies(SpeciesId.GROUDON, 3, false, true, false, "Continent Pokémon", PokemonType.GROUND, null, 3.5, 950, AbilityId.DROUGHT, AbilityId.NONE, AbilityId.NONE, 670, 100, 150, 140, 100, 90, 90, 3, 0, 335, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.GROUND, null, 3.5, 950, AbilityId.DROUGHT, AbilityId.NONE, AbilityId.NONE, 670, 100, 150, 140, 100, 90, 90, 3, 0, 335, false, null, true), + new PokemonForm("Primal", "primal", PokemonType.GROUND, PokemonType.FIRE, 5, 999.7, AbilityId.DESOLATE_LAND, AbilityId.NONE, AbilityId.NONE, 770, 100, 180, 160, 150, 90, 90, 3, 0, 335), + ), + new PokemonSpecies(SpeciesId.RAYQUAZA, 3, false, true, false, "Sky High Pokémon", PokemonType.DRAGON, PokemonType.FLYING, 7, 206.5, AbilityId.AIR_LOCK, AbilityId.NONE, AbilityId.NONE, 680, 105, 150, 90, 150, 90, 95, 45, 0, 340, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.FLYING, 7, 206.5, AbilityId.AIR_LOCK, AbilityId.NONE, AbilityId.NONE, 680, 105, 150, 90, 150, 90, 95, 45, 0, 340, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.FLYING, 10.8, 392, AbilityId.DELTA_STREAM, AbilityId.NONE, AbilityId.NONE, 780, 105, 180, 100, 180, 100, 115, 45, 0, 340), + ), + new PokemonSpecies(SpeciesId.JIRACHI, 3, false, false, true, "Wish Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 0.3, 1.1, AbilityId.SERENE_GRACE, AbilityId.NONE, AbilityId.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 100, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.DEOXYS, 3, false, false, true, "DNA Pokémon", PokemonType.PSYCHIC, null, 1.7, 60.8, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 600, 50, 150, 50, 150, 50, 150, 3, 0, 300, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal Forme", "normal", PokemonType.PSYCHIC, null, 1.7, 60.8, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 600, 50, 150, 50, 150, 50, 150, 3, 0, 300, false, "", true), + new PokemonForm("Attack Forme", "attack", PokemonType.PSYCHIC, null, 1.7, 60.8, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 600, 50, 180, 20, 180, 20, 150, 3, 0, 300), + new PokemonForm("Defense Forme", "defense", PokemonType.PSYCHIC, null, 1.7, 60.8, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 600, 50, 70, 160, 70, 160, 90, 3, 0, 300), + new PokemonForm("Speed Forme", "speed", PokemonType.PSYCHIC, null, 1.7, 60.8, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 600, 50, 95, 90, 95, 90, 180, 3, 0, 300), + ), + new PokemonSpecies(SpeciesId.TURTWIG, 4, false, false, false, "Tiny Leaf Pokémon", PokemonType.GRASS, null, 0.4, 10.2, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.SHELL_ARMOR, 318, 55, 68, 64, 45, 55, 31, 45, 70, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.GROTLE, 4, false, false, false, "Grove Pokémon", PokemonType.GRASS, null, 1.1, 97, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.SHELL_ARMOR, 405, 75, 89, 85, 55, 65, 36, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.TORTERRA, 4, false, false, false, "Continent Pokémon", PokemonType.GRASS, PokemonType.GROUND, 2.2, 310, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.SHELL_ARMOR, 525, 95, 109, 105, 75, 85, 56, 45, 70, 263, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.CHIMCHAR, 4, false, false, false, "Chimp Pokémon", PokemonType.FIRE, null, 0.5, 6.2, AbilityId.BLAZE, AbilityId.NONE, AbilityId.IRON_FIST, 309, 44, 58, 44, 58, 44, 61, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.MONFERNO, 4, false, false, false, "Playful Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 0.9, 22, AbilityId.BLAZE, AbilityId.NONE, AbilityId.IRON_FIST, 405, 64, 78, 52, 78, 52, 81, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.INFERNAPE, 4, false, false, false, "Flame Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1.2, 55, AbilityId.BLAZE, AbilityId.NONE, AbilityId.IRON_FIST, 534, 76, 104, 71, 104, 71, 108, 45, 70, 267, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.PIPLUP, 4, false, false, false, "Penguin Pokémon", PokemonType.WATER, null, 0.4, 5.2, AbilityId.TORRENT, AbilityId.NONE, AbilityId.COMPETITIVE, 314, 53, 51, 53, 61, 56, 40, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.PRINPLUP, 4, false, false, false, "Penguin Pokémon", PokemonType.WATER, null, 0.8, 23, AbilityId.TORRENT, AbilityId.NONE, AbilityId.COMPETITIVE, 405, 64, 66, 68, 81, 76, 50, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.EMPOLEON, 4, false, false, false, "Emperor Pokémon", PokemonType.WATER, PokemonType.STEEL, 1.7, 84.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.COMPETITIVE, 530, 84, 86, 88, 111, 101, 60, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.STARLY, 4, false, false, false, "Starling Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2, AbilityId.KEEN_EYE, AbilityId.NONE, AbilityId.RECKLESS, 245, 40, 55, 30, 30, 30, 60, 255, 70, 49, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.STARAVIA, 4, false, false, false, "Starling Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 15.5, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.RECKLESS, 340, 55, 75, 50, 40, 40, 80, 120, 70, 119, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.STARAPTOR, 4, false, false, false, "Predator Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.2, 24.9, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.RECKLESS, 485, 85, 120, 70, 50, 60, 100, 45, 70, 243, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.BIDOOF, 4, false, false, false, "Plump Mouse Pokémon", PokemonType.NORMAL, null, 0.5, 20, AbilityId.SIMPLE, AbilityId.UNAWARE, AbilityId.MOODY, 250, 59, 45, 40, 35, 40, 31, 255, 70, 50, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.BIBAREL, 4, false, false, false, "Beaver Pokémon", PokemonType.NORMAL, PokemonType.WATER, 1, 31.5, AbilityId.SIMPLE, AbilityId.UNAWARE, AbilityId.MOODY, 410, 79, 85, 60, 55, 60, 71, 127, 70, 144, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.KRICKETOT, 4, false, false, false, "Cricket Pokémon", PokemonType.BUG, null, 0.3, 2.2, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.RUN_AWAY, 194, 37, 25, 41, 25, 41, 25, 255, 70, 39, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.KRICKETUNE, 4, false, false, false, "Cricket Pokémon", PokemonType.BUG, null, 1, 25.5, AbilityId.SWARM, AbilityId.NONE, AbilityId.TECHNICIAN, 384, 77, 85, 51, 55, 51, 65, 45, 70, 134, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.SHINX, 4, false, false, false, "Flash Pokémon", PokemonType.ELECTRIC, null, 0.5, 9.5, AbilityId.RIVALRY, AbilityId.INTIMIDATE, AbilityId.GUTS, 263, 45, 65, 34, 40, 34, 45, 235, 50, 53, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.LUXIO, 4, false, false, false, "Spark Pokémon", PokemonType.ELECTRIC, null, 0.9, 30.5, AbilityId.RIVALRY, AbilityId.INTIMIDATE, AbilityId.GUTS, 363, 60, 85, 49, 60, 49, 60, 120, 100, 127, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.LUXRAY, 4, false, false, false, "Gleam Eyes Pokémon", PokemonType.ELECTRIC, null, 1.4, 42, AbilityId.RIVALRY, AbilityId.INTIMIDATE, AbilityId.GUTS, 523, 80, 120, 79, 95, 79, 70, 45, 50, 262, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.BUDEW, 4, false, false, false, "Bud Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.2, 1.2, AbilityId.NATURAL_CURE, AbilityId.POISON_POINT, AbilityId.LEAF_GUARD, 280, 40, 30, 35, 50, 70, 55, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ROSERADE, 4, false, false, false, "Bouquet Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.9, 14.5, AbilityId.NATURAL_CURE, AbilityId.POISON_POINT, AbilityId.TECHNICIAN, 515, 60, 70, 65, 125, 105, 90, 75, 50, 258, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.CRANIDOS, 4, false, false, false, "Head Butt Pokémon", PokemonType.ROCK, null, 0.9, 31.5, AbilityId.MOLD_BREAKER, AbilityId.NONE, AbilityId.SHEER_FORCE, 350, 67, 125, 40, 30, 30, 58, 45, 70, 70, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.RAMPARDOS, 4, false, false, false, "Head Butt Pokémon", PokemonType.ROCK, null, 1.6, 102.5, AbilityId.MOLD_BREAKER, AbilityId.NONE, AbilityId.SHEER_FORCE, 495, 97, 165, 60, 65, 50, 58, 45, 70, 173, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.SHIELDON, 4, false, false, false, "Shield Pokémon", PokemonType.ROCK, PokemonType.STEEL, 0.5, 57, AbilityId.STURDY, AbilityId.NONE, AbilityId.SOUNDPROOF, 350, 30, 42, 118, 42, 88, 30, 45, 70, 70, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.BASTIODON, 4, false, false, false, "Shield Pokémon", PokemonType.ROCK, PokemonType.STEEL, 1.3, 149.5, AbilityId.STURDY, AbilityId.NONE, AbilityId.SOUNDPROOF, 495, 60, 52, 168, 47, 138, 30, 45, 70, 173, GrowthRate.ERRATIC, 87.5, false), + new PokemonSpecies(SpeciesId.BURMY, 4, false, false, false, "Bagworm Pokémon", PokemonType.BUG, null, 0.2, 3.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Plant Cloak", "plant", PokemonType.BUG, null, 0.2, 3.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, false, null, true), + new PokemonForm("Sandy Cloak", "sandy", PokemonType.BUG, null, 0.2, 3.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, false, null, true), + new PokemonForm("Trash Cloak", "trash", PokemonType.BUG, null, 0.2, 3.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.OVERCOAT, 224, 40, 29, 45, 29, 45, 36, 120, 70, 45, false, null, true), + ), + new PokemonSpecies(SpeciesId.WORMADAM, 4, false, false, false, "Bagworm Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.5, 6.5, AbilityId.ANTICIPATION, AbilityId.NONE, AbilityId.OVERCOAT, 424, 60, 59, 85, 79, 105, 36, 45, 70, 148, GrowthRate.MEDIUM_FAST, 0, false, false, + new PokemonForm("Plant Cloak", "plant", PokemonType.BUG, PokemonType.GRASS, 0.5, 6.5, AbilityId.ANTICIPATION, AbilityId.NONE, AbilityId.OVERCOAT, 424, 60, 59, 85, 79, 105, 36, 45, 70, 148, false, null, true), + new PokemonForm("Sandy Cloak", "sandy", PokemonType.BUG, PokemonType.GROUND, 0.5, 6.5, AbilityId.ANTICIPATION, AbilityId.NONE, AbilityId.OVERCOAT, 424, 60, 79, 105, 59, 85, 36, 45, 70, 148, false, null, true), + new PokemonForm("Trash Cloak", "trash", PokemonType.BUG, PokemonType.STEEL, 0.5, 6.5, AbilityId.ANTICIPATION, AbilityId.NONE, AbilityId.OVERCOAT, 424, 60, 69, 95, 69, 95, 36, 45, 70, 148, false, null, true), + ), + new PokemonSpecies(SpeciesId.MOTHIM, 4, false, false, false, "Moth Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.9, 23.3, AbilityId.SWARM, AbilityId.NONE, AbilityId.TINTED_LENS, 424, 70, 94, 50, 94, 50, 66, 45, 70, 148, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.COMBEE, 4, false, false, false, "Tiny Bee Pokémon", PokemonType.BUG, PokemonType.FLYING, 0.3, 5.5, AbilityId.HONEY_GATHER, AbilityId.NONE, AbilityId.HUSTLE, 244, 30, 30, 42, 30, 42, 70, 120, 50, 49, GrowthRate.MEDIUM_SLOW, 87.5, true), + new PokemonSpecies(SpeciesId.VESPIQUEN, 4, false, false, false, "Beehive Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.2, 38.5, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.UNNERVE, 474, 70, 80, 102, 80, 102, 40, 45, 50, 166, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.PACHIRISU, 4, false, false, false, "EleSquirrel Pokémon", PokemonType.ELECTRIC, null, 0.4, 3.9, AbilityId.RUN_AWAY, AbilityId.PICKUP, AbilityId.VOLT_ABSORB, 405, 60, 45, 70, 45, 90, 95, 200, 100, 142, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.BUIZEL, 4, false, false, false, "Sea Weasel Pokémon", PokemonType.WATER, null, 0.7, 29.5, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.WATER_VEIL, 330, 55, 65, 35, 60, 30, 85, 190, 70, 66, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.FLOATZEL, 4, false, false, false, "Sea Weasel Pokémon", PokemonType.WATER, null, 1.1, 33.5, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.WATER_VEIL, 495, 85, 105, 55, 85, 50, 115, 75, 70, 173, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.CHERUBI, 4, false, false, false, "Cherry Pokémon", PokemonType.GRASS, null, 0.4, 3.3, AbilityId.CHLOROPHYLL, AbilityId.NONE, AbilityId.NONE, 275, 45, 35, 45, 62, 53, 35, 190, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CHERRIM, 4, false, false, false, "Blossom Pokémon", PokemonType.GRASS, null, 0.5, 9.3, AbilityId.FLOWER_GIFT, AbilityId.NONE, AbilityId.NONE, 450, 70, 60, 70, 87, 78, 85, 75, 50, 158, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Overcast Form", "overcast", PokemonType.GRASS, null, 0.5, 9.3, AbilityId.FLOWER_GIFT, AbilityId.NONE, AbilityId.NONE, 450, 70, 60, 70, 87, 78, 85, 75, 50, 158, false, null, true), + new PokemonForm("Sunshine Form", "sunshine", PokemonType.GRASS, null, 0.5, 9.3, AbilityId.FLOWER_GIFT, AbilityId.NONE, AbilityId.NONE, 450, 70, 60, 70, 87, 78, 85, 75, 50, 158), + ), + new PokemonSpecies(SpeciesId.SHELLOS, 4, false, false, false, "Sea Slug Pokémon", PokemonType.WATER, null, 0.3, 6.3, AbilityId.STICKY_HOLD, AbilityId.STORM_DRAIN, AbilityId.SAND_FORCE, 325, 76, 48, 48, 57, 62, 34, 190, 50, 65, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("East Sea", "east", PokemonType.WATER, null, 0.3, 6.3, AbilityId.STICKY_HOLD, AbilityId.STORM_DRAIN, AbilityId.SAND_FORCE, 325, 76, 48, 48, 57, 62, 34, 190, 50, 65, false, null, true), + new PokemonForm("West Sea", "west", PokemonType.WATER, null, 0.3, 6.3, AbilityId.STICKY_HOLD, AbilityId.STORM_DRAIN, AbilityId.SAND_FORCE, 325, 76, 48, 48, 57, 62, 34, 190, 50, 65, false, null, true), + ), + new PokemonSpecies(SpeciesId.GASTRODON, 4, false, false, false, "Sea Slug Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.9, 29.9, AbilityId.STICKY_HOLD, AbilityId.STORM_DRAIN, AbilityId.SAND_FORCE, 475, 111, 83, 68, 92, 82, 39, 75, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("East Sea", "east", PokemonType.WATER, PokemonType.GROUND, 0.9, 29.9, AbilityId.STICKY_HOLD, AbilityId.STORM_DRAIN, AbilityId.SAND_FORCE, 475, 111, 83, 68, 92, 82, 39, 75, 50, 166, false, null, true), + new PokemonForm("West Sea", "west", PokemonType.WATER, PokemonType.GROUND, 0.9, 29.9, AbilityId.STICKY_HOLD, AbilityId.STORM_DRAIN, AbilityId.SAND_FORCE, 475, 111, 83, 68, 92, 82, 39, 75, 50, 166, false, null, true), + ), + new PokemonSpecies(SpeciesId.AMBIPOM, 4, false, false, false, "Long Tail Pokémon", PokemonType.NORMAL, null, 1.2, 20.3, AbilityId.TECHNICIAN, AbilityId.PICKUP, AbilityId.SKILL_LINK, 482, 75, 100, 66, 60, 66, 115, 45, 100, 169, GrowthRate.FAST, 50, true), + new PokemonSpecies(SpeciesId.DRIFLOON, 4, false, false, false, "Balloon Pokémon", PokemonType.GHOST, PokemonType.FLYING, 0.4, 1.2, AbilityId.AFTERMATH, AbilityId.UNBURDEN, AbilityId.FLARE_BOOST, 348, 90, 50, 34, 60, 44, 70, 125, 50, 70, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.DRIFBLIM, 4, false, false, false, "Blimp Pokémon", PokemonType.GHOST, PokemonType.FLYING, 1.2, 15, AbilityId.AFTERMATH, AbilityId.UNBURDEN, AbilityId.FLARE_BOOST, 498, 150, 80, 44, 90, 54, 80, 60, 50, 174, GrowthRate.FLUCTUATING, 50, false), + new PokemonSpecies(SpeciesId.BUNEARY, 4, false, false, false, "Rabbit Pokémon", PokemonType.NORMAL, null, 0.4, 5.5, AbilityId.RUN_AWAY, AbilityId.KLUTZ, AbilityId.LIMBER, 350, 55, 66, 44, 44, 56, 85, 190, 0, 70, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LOPUNNY, 4, false, false, false, "Rabbit Pokémon", PokemonType.NORMAL, null, 1.2, 33.3, AbilityId.CUTE_CHARM, AbilityId.KLUTZ, AbilityId.LIMBER, 480, 65, 76, 84, 54, 96, 105, 60, 140, 168, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.NORMAL, null, 1.2, 33.3, AbilityId.CUTE_CHARM, AbilityId.KLUTZ, AbilityId.LIMBER, 480, 65, 76, 84, 54, 96, 105, 60, 140, 168, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, PokemonType.FIGHTING, 1.3, 28.3, AbilityId.SCRAPPY, AbilityId.SCRAPPY, AbilityId.SCRAPPY, 580, 65, 136, 94, 54, 96, 135, 60, 140, 168), + ), + new PokemonSpecies(SpeciesId.MISMAGIUS, 4, false, false, false, "Magical Pokémon", PokemonType.GHOST, null, 0.9, 4.4, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 495, 60, 60, 60, 105, 105, 105, 45, 35, 173, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.HONCHKROW, 4, false, false, false, "Big Boss Pokémon", PokemonType.DARK, PokemonType.FLYING, 0.9, 27.3, AbilityId.INSOMNIA, AbilityId.SUPER_LUCK, AbilityId.MOXIE, 505, 100, 125, 52, 105, 52, 71, 30, 35, 177, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GLAMEOW, 4, false, false, false, "Catty Pokémon", PokemonType.NORMAL, null, 0.5, 3.9, AbilityId.LIMBER, AbilityId.OWN_TEMPO, AbilityId.KEEN_EYE, 310, 49, 55, 42, 42, 37, 85, 190, 70, 62, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.PURUGLY, 4, false, false, false, "Tiger Cat Pokémon", PokemonType.NORMAL, null, 1, 43.8, AbilityId.THICK_FAT, AbilityId.OWN_TEMPO, AbilityId.DEFIANT, 452, 71, 82, 64, 64, 59, 112, 75, 70, 158, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.CHINGLING, 4, false, false, false, "Bell Pokémon", PokemonType.PSYCHIC, null, 0.2, 0.6, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 285, 45, 30, 50, 65, 50, 45, 120, 70, 57, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.STUNKY, 4, false, false, false, "Skunk Pokémon", PokemonType.POISON, PokemonType.DARK, 0.4, 19.2, AbilityId.STENCH, AbilityId.AFTERMATH, AbilityId.KEEN_EYE, 329, 63, 63, 47, 41, 41, 74, 225, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SKUNTANK, 4, false, false, false, "Skunk Pokémon", PokemonType.POISON, PokemonType.DARK, 1, 38, AbilityId.STENCH, AbilityId.AFTERMATH, AbilityId.KEEN_EYE, 479, 103, 93, 67, 71, 61, 84, 60, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BRONZOR, 4, false, false, false, "Bronze Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 0.5, 60.5, AbilityId.LEVITATE, AbilityId.HEATPROOF, AbilityId.HEAVY_METAL, 300, 57, 24, 86, 24, 86, 23, 255, 50, 60, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.BRONZONG, 4, false, false, false, "Bronze Bell Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.3, 187, AbilityId.LEVITATE, AbilityId.HEATPROOF, AbilityId.HEAVY_METAL, 500, 67, 89, 116, 79, 116, 33, 90, 50, 175, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.BONSLY, 4, false, false, false, "Bonsai Pokémon", PokemonType.ROCK, null, 0.5, 15, AbilityId.STURDY, AbilityId.ROCK_HEAD, AbilityId.RATTLED, 290, 50, 80, 95, 10, 45, 10, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MIME_JR, 4, false, false, false, "Mime Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 0.6, 13, AbilityId.SOUNDPROOF, AbilityId.FILTER, AbilityId.TECHNICIAN, 310, 20, 25, 45, 70, 90, 60, 145, 50, 62, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HAPPINY, 4, false, false, false, "Playhouse Pokémon", PokemonType.NORMAL, null, 0.6, 24.4, AbilityId.NATURAL_CURE, AbilityId.SERENE_GRACE, AbilityId.FRIEND_GUARD, 220, 100, 5, 5, 15, 65, 30, 130, 140, 110, GrowthRate.FAST, 0, false), + new PokemonSpecies(SpeciesId.CHATOT, 4, false, false, false, "Music Note Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.5, 1.9, AbilityId.KEEN_EYE, AbilityId.TANGLED_FEET, AbilityId.BIG_PECKS, 411, 76, 65, 45, 92, 42, 91, 30, 35, 144, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SPIRITOMB, 4, false, false, false, "Forbidden Pokémon", PokemonType.GHOST, PokemonType.DARK, 1, 108, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.INFILTRATOR, 485, 50, 92, 108, 92, 108, 35, 100, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GIBLE, 4, false, false, false, "Land Shark Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 0.7, 20.5, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.ROUGH_SKIN, 300, 58, 70, 45, 40, 45, 42, 45, 50, 60, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.GABITE, 4, false, false, false, "Cave Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 1.4, 56, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.ROUGH_SKIN, 410, 68, 90, 65, 50, 55, 82, 45, 50, 144, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.GARCHOMP, 4, false, false, false, "Mach Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 1.9, 95, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.ROUGH_SKIN, 600, 108, 130, 95, 80, 85, 102, 45, 50, 300, GrowthRate.SLOW, 50, true, true, + new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.GROUND, 1.9, 95, AbilityId.SAND_VEIL, AbilityId.NONE, AbilityId.ROUGH_SKIN, 600, 108, 130, 95, 80, 85, 102, 45, 50, 300, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.DRAGON, PokemonType.GROUND, 1.9, 95, AbilityId.SAND_FORCE, AbilityId.NONE, AbilityId.SAND_FORCE, 700, 108, 170, 115, 120, 95, 92, 45, 50, 300, true), + ), + new PokemonSpecies(SpeciesId.MUNCHLAX, 4, false, false, false, "Big Eater Pokémon", PokemonType.NORMAL, null, 0.6, 105, AbilityId.PICKUP, AbilityId.THICK_FAT, AbilityId.GLUTTONY, 390, 135, 85, 40, 40, 85, 5, 50, 50, 78, GrowthRate.SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.RIOLU, 4, false, false, false, "Emanation Pokémon", PokemonType.FIGHTING, null, 0.7, 20.2, AbilityId.STEADFAST, AbilityId.INNER_FOCUS, AbilityId.PRANKSTER, 285, 40, 70, 40, 35, 40, 60, 75, 50, 57, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.LUCARIO, 4, false, false, false, "Aura Pokémon", PokemonType.FIGHTING, PokemonType.STEEL, 1.2, 54, AbilityId.STEADFAST, AbilityId.INNER_FOCUS, AbilityId.JUSTIFIED, 525, 70, 110, 70, 115, 70, 90, 45, 50, 184, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.FIGHTING, PokemonType.STEEL, 1.2, 54, AbilityId.STEADFAST, AbilityId.INNER_FOCUS, AbilityId.JUSTIFIED, 525, 70, 110, 70, 115, 70, 90, 45, 50, 184, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.FIGHTING, PokemonType.STEEL, 1.3, 57.5, AbilityId.ADAPTABILITY, AbilityId.ADAPTABILITY, AbilityId.ADAPTABILITY, 625, 70, 145, 88, 140, 70, 112, 45, 50, 184), + ), + new PokemonSpecies(SpeciesId.HIPPOPOTAS, 4, false, false, false, "Hippo Pokémon", PokemonType.GROUND, null, 0.8, 49.5, AbilityId.SAND_STREAM, AbilityId.NONE, AbilityId.SAND_FORCE, 330, 68, 72, 78, 38, 42, 32, 140, 50, 66, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.HIPPOWDON, 4, false, false, false, "Heavyweight Pokémon", PokemonType.GROUND, null, 2, 300, AbilityId.SAND_STREAM, AbilityId.NONE, AbilityId.SAND_FORCE, 525, 108, 112, 118, 68, 72, 47, 60, 50, 184, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.SKORUPI, 4, false, false, false, "Scorpion Pokémon", PokemonType.POISON, PokemonType.BUG, 0.8, 12, AbilityId.BATTLE_ARMOR, AbilityId.SNIPER, AbilityId.KEEN_EYE, 330, 40, 50, 90, 30, 55, 65, 120, 50, 66, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.DRAPION, 4, false, false, false, "Ogre Scorpion Pokémon", PokemonType.POISON, PokemonType.DARK, 1.3, 61.5, AbilityId.BATTLE_ARMOR, AbilityId.SNIPER, AbilityId.KEEN_EYE, 500, 70, 90, 110, 60, 75, 95, 45, 50, 175, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.CROAGUNK, 4, false, false, false, "Toxic Mouth Pokémon", PokemonType.POISON, PokemonType.FIGHTING, 0.7, 23, AbilityId.ANTICIPATION, AbilityId.DRY_SKIN, AbilityId.POISON_TOUCH, 300, 48, 61, 40, 61, 40, 50, 140, 100, 60, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.TOXICROAK, 4, false, false, false, "Toxic Mouth Pokémon", PokemonType.POISON, PokemonType.FIGHTING, 1.3, 44.4, AbilityId.ANTICIPATION, AbilityId.DRY_SKIN, AbilityId.POISON_TOUCH, 490, 83, 106, 65, 86, 65, 85, 75, 50, 172, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.CARNIVINE, 4, false, false, false, "Bug Catcher Pokémon", PokemonType.GRASS, null, 1.4, 27, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 454, 74, 100, 72, 90, 72, 46, 200, 70, 159, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.FINNEON, 4, false, false, false, "Wing Fish Pokémon", PokemonType.WATER, null, 0.4, 7, AbilityId.SWIFT_SWIM, AbilityId.STORM_DRAIN, AbilityId.WATER_VEIL, 330, 49, 49, 56, 49, 61, 66, 190, 70, 66, GrowthRate.ERRATIC, 50, true), + new PokemonSpecies(SpeciesId.LUMINEON, 4, false, false, false, "Neon Pokémon", PokemonType.WATER, null, 1.2, 24, AbilityId.SWIFT_SWIM, AbilityId.STORM_DRAIN, AbilityId.WATER_VEIL, 460, 69, 69, 76, 69, 86, 91, 75, 70, 161, GrowthRate.ERRATIC, 50, true), + new PokemonSpecies(SpeciesId.MANTYKE, 4, false, false, false, "Kite Pokémon", PokemonType.WATER, PokemonType.FLYING, 1, 65, AbilityId.SWIFT_SWIM, AbilityId.WATER_ABSORB, AbilityId.WATER_VEIL, 345, 45, 20, 50, 60, 120, 50, 25, 50, 69, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.SNOVER, 4, false, false, false, "Frost Tree Pokémon", PokemonType.GRASS, PokemonType.ICE, 1, 50.5, AbilityId.SNOW_WARNING, AbilityId.NONE, AbilityId.SOUNDPROOF, 334, 60, 62, 50, 62, 60, 40, 120, 50, 67, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.ABOMASNOW, 4, false, false, false, "Frost Tree Pokémon", PokemonType.GRASS, PokemonType.ICE, 2.2, 135.5, AbilityId.SNOW_WARNING, AbilityId.NONE, AbilityId.SOUNDPROOF, 494, 90, 92, 75, 92, 85, 60, 60, 50, 173, GrowthRate.SLOW, 50, true, true, + new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.ICE, 2.2, 135.5, AbilityId.SNOW_WARNING, AbilityId.NONE, AbilityId.SOUNDPROOF, 494, 90, 92, 75, 92, 85, 60, 60, 50, 173, true, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GRASS, PokemonType.ICE, 2.7, 185, AbilityId.SNOW_WARNING, AbilityId.NONE, AbilityId.SNOW_WARNING, 594, 90, 132, 105, 132, 105, 30, 60, 50, 173, true), + ), + new PokemonSpecies(SpeciesId.WEAVILE, 4, false, false, false, "Sharp Claw Pokémon", PokemonType.DARK, PokemonType.ICE, 1.1, 34, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.PICKPOCKET, 510, 70, 120, 65, 45, 85, 125, 45, 35, 179, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.MAGNEZONE, 4, false, false, false, "Magnet Area Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 1.2, 180, AbilityId.MAGNET_PULL, AbilityId.STURDY, AbilityId.ANALYTIC, 535, 70, 70, 115, 130, 90, 60, 30, 50, 268, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.LICKILICKY, 4, false, false, false, "Licking Pokémon", PokemonType.NORMAL, null, 1.7, 140, AbilityId.OWN_TEMPO, AbilityId.OBLIVIOUS, AbilityId.CLOUD_NINE, 515, 110, 85, 95, 80, 95, 50, 30, 50, 180, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RHYPERIOR, 4, false, false, false, "Drill Pokémon", PokemonType.GROUND, PokemonType.ROCK, 2.4, 282.8, AbilityId.LIGHTNING_ROD, AbilityId.SOLID_ROCK, AbilityId.RECKLESS, 535, 115, 140, 130, 55, 55, 40, 30, 50, 268, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.TANGROWTH, 4, false, false, false, "Vine Pokémon", PokemonType.GRASS, null, 2, 128.6, AbilityId.CHLOROPHYLL, AbilityId.LEAF_GUARD, AbilityId.REGENERATOR, 535, 100, 100, 125, 110, 50, 50, 30, 50, 187, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.ELECTIVIRE, 4, false, false, false, "Thunderbolt Pokémon", PokemonType.ELECTRIC, null, 1.8, 138.6, AbilityId.MOTOR_DRIVE, AbilityId.NONE, AbilityId.VITAL_SPIRIT, 540, 75, 123, 67, 95, 85, 95, 30, 50, 270, GrowthRate.MEDIUM_FAST, 75, false), + new PokemonSpecies(SpeciesId.MAGMORTAR, 4, false, false, false, "Blast Pokémon", PokemonType.FIRE, null, 1.6, 68, AbilityId.FLAME_BODY, AbilityId.NONE, AbilityId.VITAL_SPIRIT, 540, 75, 95, 67, 125, 95, 83, 30, 50, 270, GrowthRate.MEDIUM_FAST, 75, false), + new PokemonSpecies(SpeciesId.TOGEKISS, 4, false, false, false, "Jubilee Pokémon", PokemonType.FAIRY, PokemonType.FLYING, 1.5, 38, AbilityId.HUSTLE, AbilityId.SERENE_GRACE, AbilityId.SUPER_LUCK, 545, 85, 50, 95, 120, 115, 80, 30, 50, 273, GrowthRate.FAST, 87.5, false), + new PokemonSpecies(SpeciesId.YANMEGA, 4, false, false, false, "Ogre Darner Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.9, 51.5, AbilityId.SPEED_BOOST, AbilityId.TINTED_LENS, AbilityId.FRISK, 515, 86, 76, 86, 116, 56, 95, 30, 70, 180, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LEAFEON, 4, false, false, false, "Verdant Pokémon", PokemonType.GRASS, null, 1, 25.5, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.CHLOROPHYLL, 525, 65, 110, 130, 60, 65, 95, 45, 35, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.GLACEON, 4, false, false, false, "Fresh Snow Pokémon", PokemonType.ICE, null, 0.8, 25.9, AbilityId.SNOW_CLOAK, AbilityId.NONE, AbilityId.ICE_BODY, 525, 65, 60, 110, 130, 95, 65, 45, 35, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.GLISCOR, 4, false, false, false, "Fang Scorpion Pokémon", PokemonType.GROUND, PokemonType.FLYING, 2, 42.5, AbilityId.HYPER_CUTTER, AbilityId.SAND_VEIL, AbilityId.POISON_HEAL, 510, 75, 95, 125, 45, 75, 95, 30, 70, 179, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.MAMOSWINE, 4, false, false, false, "Twin Tusk Pokémon", PokemonType.ICE, PokemonType.GROUND, 2.5, 291, AbilityId.OBLIVIOUS, AbilityId.SNOW_CLOAK, AbilityId.THICK_FAT, 530, 110, 130, 80, 70, 60, 80, 50, 50, 265, GrowthRate.SLOW, 50, true), + new PokemonSpecies(SpeciesId.PORYGON_Z, 4, false, false, false, "Virtual Pokémon", PokemonType.NORMAL, null, 0.9, 34, AbilityId.ADAPTABILITY, AbilityId.DOWNLOAD, AbilityId.ANALYTIC, 535, 85, 80, 70, 135, 75, 90, 30, 50, 268, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.GALLADE, 4, false, false, false, "Blade Pokémon", PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 52, AbilityId.STEADFAST, AbilityId.SHARPNESS, AbilityId.JUSTIFIED, 518, 68, 125, 65, 65, 115, 80, 45, 35, 259, GrowthRate.SLOW, 100, false, true, + new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 52, AbilityId.STEADFAST, AbilityId.SHARPNESS, AbilityId.JUSTIFIED, 518, 68, 125, 65, 65, 115, 80, 45, 35, 259, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 56.4, AbilityId.INNER_FOCUS, AbilityId.INNER_FOCUS, AbilityId.INNER_FOCUS, 618, 68, 165, 95, 65, 115, 110, 45, 35, 259), + ), + new PokemonSpecies(SpeciesId.PROBOPASS, 4, false, false, false, "Compass Pokémon", PokemonType.ROCK, PokemonType.STEEL, 1.4, 340, AbilityId.STURDY, AbilityId.MAGNET_PULL, AbilityId.SAND_FORCE, 525, 60, 55, 145, 75, 150, 40, 60, 70, 184, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DUSKNOIR, 4, false, false, false, "Gripper Pokémon", PokemonType.GHOST, null, 2.2, 106.6, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.FRISK, 525, 45, 100, 135, 65, 135, 45, 45, 35, 263, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.FROSLASS, 4, false, false, false, "Snow Land Pokémon", PokemonType.ICE, PokemonType.GHOST, 1.3, 26.6, AbilityId.SNOW_CLOAK, AbilityId.NONE, AbilityId.CURSED_BODY, 480, 70, 80, 70, 80, 70, 110, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.ROTOM, 4, false, false, false, "Plasma Pokémon", PokemonType.ELECTRIC, PokemonType.GHOST, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 440, 50, 50, 77, 95, 77, 91, 45, 50, 154, GrowthRate.MEDIUM_FAST, null, false, false, + new PokemonForm("Normal", "", PokemonType.ELECTRIC, PokemonType.GHOST, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 440, 50, 50, 77, 95, 77, 91, 45, 50, 154, false, null, true), + new PokemonForm("Heat", "heat", PokemonType.ELECTRIC, PokemonType.FIRE, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), + new PokemonForm("Wash", "wash", PokemonType.ELECTRIC, PokemonType.WATER, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), + new PokemonForm("Frost", "frost", PokemonType.ELECTRIC, PokemonType.ICE, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), + new PokemonForm("Fan", "fan", PokemonType.ELECTRIC, PokemonType.FLYING, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), + new PokemonForm("Mow", "mow", PokemonType.ELECTRIC, PokemonType.GRASS, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 520, 50, 65, 107, 105, 107, 86, 45, 50, 182, false, null, true), + ), + new PokemonSpecies(SpeciesId.UXIE, 4, true, false, false, "Knowledge Pokémon", PokemonType.PSYCHIC, null, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 580, 75, 75, 130, 75, 130, 95, 3, 140, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.MESPRIT, 4, true, false, false, "Emotion Pokémon", PokemonType.PSYCHIC, null, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 580, 80, 105, 105, 105, 105, 80, 3, 140, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.AZELF, 4, true, false, false, "Willpower Pokémon", PokemonType.PSYCHIC, null, 0.3, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 580, 75, 125, 70, 125, 70, 115, 3, 140, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.DIALGA, 4, false, true, false, "Temporal Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 5.4, 683, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 100, 120, 120, 150, 100, 90, 3, 0, 340, GrowthRate.SLOW, null, false, false, + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.DRAGON, 5.4, 683, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 100, 120, 120, 150, 100, 90, 3, 0, 340, false, null, true), + new PokemonForm("Origin Forme", "origin", PokemonType.STEEL, PokemonType.DRAGON, 7, 848.7, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 100, 100, 120, 150, 120, 90, 3, 0, 340), + ), + new PokemonSpecies(SpeciesId.PALKIA, 4, false, true, false, "Spatial Pokémon", PokemonType.WATER, PokemonType.DRAGON, 4.2, 336, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 90, 120, 100, 150, 120, 100, 3, 0, 340, GrowthRate.SLOW, null, false, false, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.DRAGON, 4.2, 336, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 90, 120, 100, 150, 120, 100, 3, 0, 340, false, null, true), + new PokemonForm("Origin Forme", "origin", PokemonType.WATER, PokemonType.DRAGON, 6.3, 659, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 90, 100, 100, 150, 120, 120, 3, 0, 340), + ), + new PokemonSpecies(SpeciesId.HEATRAN, 4, true, false, false, "Lava Dome Pokémon", PokemonType.FIRE, PokemonType.STEEL, 1.7, 430, AbilityId.FLASH_FIRE, AbilityId.NONE, AbilityId.FLAME_BODY, 600, 91, 90, 106, 130, 106, 77, 3, 100, 300, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.REGIGIGAS, 4, true, false, false, "Colossal Pokémon", PokemonType.NORMAL, null, 3.7, 420, AbilityId.SLOW_START, AbilityId.NONE, AbilityId.NORMALIZE, 670, 110, 160, 110, 80, 110, 100, 3, 0, 335, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.GIRATINA, 4, false, true, false, "Renegade Pokémon", PokemonType.GHOST, PokemonType.DRAGON, 4.5, 750, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340, GrowthRate.SLOW, null, false, true, + new PokemonForm("Altered Forme", "altered", PokemonType.GHOST, PokemonType.DRAGON, 4.5, 750, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.TELEPATHY, 680, 150, 100, 120, 100, 120, 90, 3, 0, 340, false, null, true), + new PokemonForm("Origin Forme", "origin", PokemonType.GHOST, PokemonType.DRAGON, 6.9, 650, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.LEVITATE, 680, 150, 120, 100, 120, 100, 90, 3, 0, 340), + ), + new PokemonSpecies(SpeciesId.CRESSELIA, 4, true, false, false, "Lunar Pokémon", PokemonType.PSYCHIC, null, 1.5, 85.6, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 580, 120, 70, 110, 75, 120, 85, 3, 100, 300, GrowthRate.SLOW, 0, false), + new PokemonSpecies(SpeciesId.PHIONE, 4, false, false, true, "Sea Drifter Pokémon", PokemonType.WATER, null, 0.4, 3.1, AbilityId.HYDRATION, AbilityId.NONE, AbilityId.NONE, 480, 80, 80, 80, 80, 80, 80, 30, 70, 240, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.MANAPHY, 4, false, false, true, "Seafaring Pokémon", PokemonType.WATER, null, 0.3, 1.4, AbilityId.HYDRATION, AbilityId.NONE, AbilityId.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 70, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.DARKRAI, 4, false, false, true, "Pitch-Black Pokémon", PokemonType.DARK, null, 1.5, 50.5, AbilityId.BAD_DREAMS, AbilityId.NONE, AbilityId.NONE, 600, 70, 90, 90, 135, 90, 125, 3, 0, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SHAYMIN, 4, false, false, true, "Gratitude Pokémon", PokemonType.GRASS, null, 0.2, 2.1, AbilityId.NATURAL_CURE, AbilityId.NONE, AbilityId.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, GrowthRate.MEDIUM_SLOW, null, false, true, + new PokemonForm("Land Forme", "land", PokemonType.GRASS, null, 0.2, 2.1, AbilityId.NATURAL_CURE, AbilityId.NONE, AbilityId.NONE, 600, 100, 100, 100, 100, 100, 100, 45, 100, 300, false, null, true), + new PokemonForm("Sky Forme", "sky", PokemonType.GRASS, PokemonType.FLYING, 0.4, 5.2, AbilityId.SERENE_GRACE, AbilityId.NONE, AbilityId.NONE, 600, 100, 103, 75, 120, 75, 127, 45, 100, 300), + ), + new PokemonSpecies(SpeciesId.ARCEUS, 4, false, false, true, "Alpha Pokémon", PokemonType.NORMAL, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "normal", PokemonType.NORMAL, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360, false, null, true), + new PokemonForm("Fighting", "fighting", PokemonType.FIGHTING, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Flying", "flying", PokemonType.FLYING, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Poison", "poison", PokemonType.POISON, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Ground", "ground", PokemonType.GROUND, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Rock", "rock", PokemonType.ROCK, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Bug", "bug", PokemonType.BUG, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Ghost", "ghost", PokemonType.GHOST, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Steel", "steel", PokemonType.STEEL, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Fire", "fire", PokemonType.FIRE, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Water", "water", PokemonType.WATER, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Grass", "grass", PokemonType.GRASS, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Electric", "electric", PokemonType.ELECTRIC, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Psychic", "psychic", PokemonType.PSYCHIC, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Ice", "ice", PokemonType.ICE, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Dragon", "dragon", PokemonType.DRAGON, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Dark", "dark", PokemonType.DARK, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("Fairy", "fairy", PokemonType.FAIRY, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360), + new PokemonForm("???", "unknown", PokemonType.UNKNOWN, null, 3.2, 320, AbilityId.MULTITYPE, AbilityId.NONE, AbilityId.NONE, 720, 120, 120, 120, 120, 120, 120, 3, 0, 360, false, null, false, true), + ), + new PokemonSpecies(SpeciesId.VICTINI, 5, false, false, true, "Victory Pokémon", PokemonType.PSYCHIC, PokemonType.FIRE, 0.4, 4, AbilityId.VICTORY_STAR, AbilityId.NONE, AbilityId.NONE, 600, 100, 100, 100, 100, 100, 100, 3, 100, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SNIVY, 5, false, false, false, "Grass Snake Pokémon", PokemonType.GRASS, null, 0.6, 8.1, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.CONTRARY, 308, 45, 45, 55, 45, 55, 63, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.SERVINE, 5, false, false, false, "Grass Snake Pokémon", PokemonType.GRASS, null, 0.8, 16, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.CONTRARY, 413, 60, 60, 75, 60, 75, 83, 45, 70, 145, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.SERPERIOR, 5, false, false, false, "Regal Pokémon", PokemonType.GRASS, null, 3.3, 63, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.CONTRARY, 528, 75, 75, 95, 75, 95, 113, 45, 70, 264, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.TEPIG, 5, false, false, false, "Fire Pig Pokémon", PokemonType.FIRE, null, 0.5, 9.9, AbilityId.BLAZE, AbilityId.NONE, AbilityId.THICK_FAT, 308, 65, 63, 45, 45, 45, 45, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.PIGNITE, 5, false, false, false, "Fire Pig Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1, 55.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.THICK_FAT, 418, 90, 93, 55, 70, 55, 55, 45, 70, 146, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.EMBOAR, 5, false, false, false, "Mega Fire Pig Pokémon", PokemonType.FIRE, PokemonType.FIGHTING, 1.6, 150, AbilityId.BLAZE, AbilityId.NONE, AbilityId.RECKLESS, 528, 110, 123, 65, 100, 65, 65, 45, 70, 264, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.OSHAWOTT, 5, false, false, false, "Sea Otter Pokémon", PokemonType.WATER, null, 0.5, 5.9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SHELL_ARMOR, 308, 55, 55, 45, 63, 45, 45, 45, 70, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.DEWOTT, 5, false, false, false, "Discipline Pokémon", PokemonType.WATER, null, 0.8, 24.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SHELL_ARMOR, 413, 75, 75, 60, 83, 60, 60, 45, 70, 145, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.SAMUROTT, 5, false, false, false, "Formidable Pokémon", PokemonType.WATER, null, 1.5, 94.6, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SHELL_ARMOR, 528, 95, 100, 85, 108, 70, 70, 45, 70, 264, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.PATRAT, 5, false, false, false, "Scout Pokémon", PokemonType.NORMAL, null, 0.5, 11.6, AbilityId.RUN_AWAY, AbilityId.KEEN_EYE, AbilityId.ANALYTIC, 255, 45, 55, 39, 35, 39, 42, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WATCHOG, 5, false, false, false, "Lookout Pokémon", PokemonType.NORMAL, null, 1.1, 27, AbilityId.ILLUMINATE, AbilityId.KEEN_EYE, AbilityId.ANALYTIC, 420, 60, 85, 69, 60, 69, 77, 255, 70, 147, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LILLIPUP, 5, false, false, false, "Puppy Pokémon", PokemonType.NORMAL, null, 0.4, 4.1, AbilityId.VITAL_SPIRIT, AbilityId.PICKUP, AbilityId.RUN_AWAY, 275, 45, 60, 45, 25, 45, 55, 255, 50, 55, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.HERDIER, 5, false, false, false, "Loyal Dog Pokémon", PokemonType.NORMAL, null, 0.9, 14.7, AbilityId.INTIMIDATE, AbilityId.SAND_RUSH, AbilityId.SCRAPPY, 370, 65, 80, 65, 35, 65, 60, 120, 50, 130, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.STOUTLAND, 5, false, false, false, "Big-Hearted Pokémon", PokemonType.NORMAL, null, 1.2, 61, AbilityId.INTIMIDATE, AbilityId.SAND_RUSH, AbilityId.SCRAPPY, 500, 85, 110, 90, 45, 90, 80, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.PURRLOIN, 5, false, false, false, "Devious Pokémon", PokemonType.DARK, null, 0.4, 10.1, AbilityId.LIMBER, AbilityId.UNBURDEN, AbilityId.PRANKSTER, 281, 41, 50, 37, 50, 37, 66, 255, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LIEPARD, 5, false, false, false, "Cruel Pokémon", PokemonType.DARK, null, 1.1, 37.5, AbilityId.LIMBER, AbilityId.UNBURDEN, AbilityId.PRANKSTER, 446, 64, 88, 50, 88, 50, 106, 90, 50, 156, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PANSAGE, 5, false, false, false, "Grass Monkey Pokémon", PokemonType.GRASS, null, 0.6, 10.5, AbilityId.GLUTTONY, AbilityId.NONE, AbilityId.OVERGROW, 316, 50, 53, 48, 53, 48, 64, 190, 70, 63, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.SIMISAGE, 5, false, false, false, "Thorn Monkey Pokémon", PokemonType.GRASS, null, 1.1, 30.5, AbilityId.GLUTTONY, AbilityId.NONE, AbilityId.OVERGROW, 498, 75, 98, 63, 98, 63, 101, 75, 70, 174, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.PANSEAR, 5, false, false, false, "High Temp Pokémon", PokemonType.FIRE, null, 0.6, 11, AbilityId.GLUTTONY, AbilityId.NONE, AbilityId.BLAZE, 316, 50, 53, 48, 53, 48, 64, 190, 70, 63, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.SIMISEAR, 5, false, false, false, "Ember Pokémon", PokemonType.FIRE, null, 1, 28, AbilityId.GLUTTONY, AbilityId.NONE, AbilityId.BLAZE, 498, 75, 98, 63, 98, 63, 101, 75, 70, 174, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.PANPOUR, 5, false, false, false, "Spray Pokémon", PokemonType.WATER, null, 0.6, 13.5, AbilityId.GLUTTONY, AbilityId.NONE, AbilityId.TORRENT, 316, 50, 53, 48, 53, 48, 64, 190, 70, 63, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.SIMIPOUR, 5, false, false, false, "Geyser Pokémon", PokemonType.WATER, null, 1, 29, AbilityId.GLUTTONY, AbilityId.NONE, AbilityId.TORRENT, 498, 75, 98, 63, 98, 63, 101, 75, 70, 174, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.MUNNA, 5, false, false, false, "Dream Eater Pokémon", PokemonType.PSYCHIC, null, 0.6, 23.3, AbilityId.FOREWARN, AbilityId.SYNCHRONIZE, AbilityId.TELEPATHY, 292, 76, 25, 45, 67, 55, 24, 190, 50, 58, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.MUSHARNA, 5, false, false, false, "Drowsing Pokémon", PokemonType.PSYCHIC, null, 1.1, 60.5, AbilityId.FOREWARN, AbilityId.SYNCHRONIZE, AbilityId.TELEPATHY, 487, 116, 55, 85, 107, 95, 29, 75, 50, 170, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.PIDOVE, 5, false, false, false, "Tiny Pigeon Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 2.1, AbilityId.BIG_PECKS, AbilityId.SUPER_LUCK, AbilityId.RIVALRY, 264, 50, 55, 50, 36, 30, 43, 255, 50, 53, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.TRANQUILL, 5, false, false, false, "Wild Pigeon Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 15, AbilityId.BIG_PECKS, AbilityId.SUPER_LUCK, AbilityId.RIVALRY, 358, 62, 77, 62, 50, 42, 65, 120, 50, 125, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.UNFEZANT, 5, false, false, false, "Proud Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.2, 29, AbilityId.BIG_PECKS, AbilityId.SUPER_LUCK, AbilityId.RIVALRY, 488, 80, 115, 80, 65, 55, 93, 45, 50, 244, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.BLITZLE, 5, false, false, false, "Electrified Pokémon", PokemonType.ELECTRIC, null, 0.8, 29.8, AbilityId.LIGHTNING_ROD, AbilityId.MOTOR_DRIVE, AbilityId.SAP_SIPPER, 295, 45, 60, 32, 50, 32, 76, 190, 70, 59, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ZEBSTRIKA, 5, false, false, false, "Thunderbolt Pokémon", PokemonType.ELECTRIC, null, 1.6, 79.5, AbilityId.LIGHTNING_ROD, AbilityId.MOTOR_DRIVE, AbilityId.SAP_SIPPER, 497, 75, 100, 63, 80, 63, 116, 75, 70, 174, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ROGGENROLA, 5, false, false, false, "Mantle Pokémon", PokemonType.ROCK, null, 0.4, 18, AbilityId.STURDY, AbilityId.WEAK_ARMOR, AbilityId.SAND_FORCE, 280, 55, 75, 85, 25, 25, 15, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.BOLDORE, 5, false, false, false, "Ore Pokémon", PokemonType.ROCK, null, 0.9, 102, AbilityId.STURDY, AbilityId.WEAK_ARMOR, AbilityId.SAND_FORCE, 390, 70, 105, 105, 50, 40, 20, 120, 50, 137, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GIGALITH, 5, false, false, false, "Compressed Pokémon", PokemonType.ROCK, null, 1.7, 260, AbilityId.STURDY, AbilityId.SAND_STREAM, AbilityId.SAND_FORCE, 515, 85, 135, 130, 60, 80, 25, 45, 50, 258, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.WOOBAT, 5, false, false, false, "Bat Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 0.4, 2.1, AbilityId.UNAWARE, AbilityId.KLUTZ, AbilityId.SIMPLE, 323, 65, 45, 43, 55, 43, 72, 190, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SWOOBAT, 5, false, false, false, "Courting Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 0.9, 10.5, AbilityId.UNAWARE, AbilityId.KLUTZ, AbilityId.SIMPLE, 425, 67, 57, 55, 77, 55, 114, 45, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DRILBUR, 5, false, false, false, "Mole Pokémon", PokemonType.GROUND, null, 0.3, 8.5, AbilityId.SAND_RUSH, AbilityId.SAND_FORCE, AbilityId.MOLD_BREAKER, 328, 60, 85, 40, 30, 45, 68, 120, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.EXCADRILL, 5, false, false, false, "Subterrene Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.7, 40.4, AbilityId.SAND_RUSH, AbilityId.SAND_FORCE, AbilityId.MOLD_BREAKER, 508, 110, 135, 60, 50, 65, 88, 60, 50, 178, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.AUDINO, 5, false, false, false, "Hearing Pokémon", PokemonType.NORMAL, null, 1.1, 31, AbilityId.HEALER, AbilityId.REGENERATOR, AbilityId.KLUTZ, 445, 103, 60, 86, 60, 86, 50, 255, 50, 390, GrowthRate.FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.NORMAL, null, 1.1, 31, AbilityId.HEALER, AbilityId.REGENERATOR, AbilityId.KLUTZ, 445, 103, 60, 86, 60, 86, 50, 255, 50, 390, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.NORMAL, PokemonType.FAIRY, 1.5, 32, AbilityId.REGENERATOR, AbilityId.REGENERATOR, AbilityId.REGENERATOR, 545, 103, 60, 126, 80, 126, 50, 255, 50, 390), //Custom Ability, base form Hidden Ability + ), + new PokemonSpecies(SpeciesId.TIMBURR, 5, false, false, false, "Muscular Pokémon", PokemonType.FIGHTING, null, 0.6, 12.5, AbilityId.GUTS, AbilityId.SHEER_FORCE, AbilityId.IRON_FIST, 305, 75, 80, 55, 25, 35, 35, 180, 70, 61, GrowthRate.MEDIUM_SLOW, 75, false), + new PokemonSpecies(SpeciesId.GURDURR, 5, false, false, false, "Muscular Pokémon", PokemonType.FIGHTING, null, 1.2, 40, AbilityId.GUTS, AbilityId.SHEER_FORCE, AbilityId.IRON_FIST, 405, 85, 105, 85, 40, 50, 40, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 75, false), + new PokemonSpecies(SpeciesId.CONKELDURR, 5, false, false, false, "Muscular Pokémon", PokemonType.FIGHTING, null, 1.4, 87, AbilityId.GUTS, AbilityId.SHEER_FORCE, AbilityId.IRON_FIST, 505, 105, 140, 95, 55, 65, 45, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 75, false), + new PokemonSpecies(SpeciesId.TYMPOLE, 5, false, false, false, "Tadpole Pokémon", PokemonType.WATER, null, 0.5, 4.5, AbilityId.SWIFT_SWIM, AbilityId.HYDRATION, AbilityId.WATER_ABSORB, 294, 50, 50, 40, 50, 40, 64, 255, 50, 59, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.PALPITOAD, 5, false, false, false, "Vibration Pokémon", PokemonType.WATER, PokemonType.GROUND, 0.8, 17, AbilityId.SWIFT_SWIM, AbilityId.HYDRATION, AbilityId.WATER_ABSORB, 384, 75, 65, 55, 65, 55, 69, 120, 50, 134, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SEISMITOAD, 5, false, false, false, "Vibration Pokémon", PokemonType.WATER, PokemonType.GROUND, 1.5, 62, AbilityId.SWIFT_SWIM, AbilityId.POISON_TOUCH, AbilityId.WATER_ABSORB, 509, 105, 95, 75, 85, 75, 74, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.THROH, 5, false, false, false, "Judo Pokémon", PokemonType.FIGHTING, null, 1.3, 55.5, AbilityId.GUTS, AbilityId.INNER_FOCUS, AbilityId.MOLD_BREAKER, 465, 120, 100, 85, 30, 85, 45, 45, 50, 163, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.SAWK, 5, false, false, false, "Karate Pokémon", PokemonType.FIGHTING, null, 1.4, 51, AbilityId.STURDY, AbilityId.INNER_FOCUS, AbilityId.MOLD_BREAKER, 465, 75, 125, 75, 30, 75, 85, 45, 50, 163, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.SEWADDLE, 5, false, false, false, "Sewing Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.3, 2.5, AbilityId.SWARM, AbilityId.CHLOROPHYLL, AbilityId.OVERCOAT, 310, 45, 53, 70, 40, 60, 42, 255, 70, 62, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SWADLOON, 5, false, false, false, "Leaf-Wrapped Pokémon", PokemonType.BUG, PokemonType.GRASS, 0.5, 7.3, AbilityId.LEAF_GUARD, AbilityId.CHLOROPHYLL, AbilityId.OVERCOAT, 380, 55, 63, 90, 50, 80, 42, 120, 70, 133, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.LEAVANNY, 5, false, false, false, "Nurturing Pokémon", PokemonType.BUG, PokemonType.GRASS, 1.2, 20.5, AbilityId.SWARM, AbilityId.CHLOROPHYLL, AbilityId.OVERCOAT, 500, 75, 103, 80, 70, 80, 92, 45, 70, 250, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.VENIPEDE, 5, false, false, false, "Centipede Pokémon", PokemonType.BUG, PokemonType.POISON, 0.4, 5.3, AbilityId.POISON_POINT, AbilityId.SWARM, AbilityId.SPEED_BOOST, 260, 30, 45, 59, 30, 39, 57, 255, 50, 52, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.WHIRLIPEDE, 5, false, false, false, "Curlipede Pokémon", PokemonType.BUG, PokemonType.POISON, 1.2, 58.5, AbilityId.POISON_POINT, AbilityId.SWARM, AbilityId.SPEED_BOOST, 360, 40, 55, 99, 40, 79, 47, 120, 50, 126, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SCOLIPEDE, 5, false, false, false, "Megapede Pokémon", PokemonType.BUG, PokemonType.POISON, 2.5, 200.5, AbilityId.POISON_POINT, AbilityId.SWARM, AbilityId.SPEED_BOOST, 485, 60, 100, 89, 55, 69, 112, 45, 50, 243, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.COTTONEE, 5, false, false, false, "Cotton Puff Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 0.3, 0.6, AbilityId.PRANKSTER, AbilityId.INFILTRATOR, AbilityId.CHLOROPHYLL, 280, 40, 27, 60, 37, 50, 66, 190, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WHIMSICOTT, 5, false, false, false, "Windveiled Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 0.7, 6.6, AbilityId.PRANKSTER, AbilityId.INFILTRATOR, AbilityId.CHLOROPHYLL, 480, 60, 67, 85, 77, 75, 116, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PETILIL, 5, false, false, false, "Bulb Pokémon", PokemonType.GRASS, null, 0.5, 6.6, AbilityId.CHLOROPHYLL, AbilityId.OWN_TEMPO, AbilityId.LEAF_GUARD, 280, 45, 35, 50, 70, 50, 30, 190, 50, 56, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.LILLIGANT, 5, false, false, false, "Flowering Pokémon", PokemonType.GRASS, null, 1.1, 16.3, AbilityId.CHLOROPHYLL, AbilityId.OWN_TEMPO, AbilityId.LEAF_GUARD, 480, 70, 60, 75, 110, 75, 90, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.BASCULIN, 5, false, false, false, "Hostile Pokémon", PokemonType.WATER, null, 1, 18, AbilityId.RECKLESS, AbilityId.ADAPTABILITY, AbilityId.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Red-Striped Form", "red-striped", PokemonType.WATER, null, 1, 18, AbilityId.RECKLESS, AbilityId.ADAPTABILITY, AbilityId.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, false, null, true), + new PokemonForm("Blue-Striped Form", "blue-striped", PokemonType.WATER, null, 1, 18, AbilityId.ROCK_HEAD, AbilityId.ADAPTABILITY, AbilityId.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, false, null, true), + new PokemonForm("White-Striped Form", "white-striped", PokemonType.WATER, null, 1, 18, AbilityId.RATTLED, AbilityId.ADAPTABILITY, AbilityId.MOLD_BREAKER, 460, 70, 92, 65, 80, 55, 98, 25, 50, 161, false, null, true), + ), + new PokemonSpecies(SpeciesId.SANDILE, 5, false, false, false, "Desert Croc Pokémon", PokemonType.GROUND, PokemonType.DARK, 0.7, 15.2, AbilityId.INTIMIDATE, AbilityId.MOXIE, AbilityId.ANGER_POINT, 292, 50, 72, 35, 35, 35, 65, 180, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.KROKOROK, 5, false, false, false, "Desert Croc Pokémon", PokemonType.GROUND, PokemonType.DARK, 1, 33.4, AbilityId.INTIMIDATE, AbilityId.MOXIE, AbilityId.ANGER_POINT, 351, 60, 82, 45, 45, 45, 74, 90, 50, 123, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.KROOKODILE, 5, false, false, false, "Intimidation Pokémon", PokemonType.GROUND, PokemonType.DARK, 1.5, 96.3, AbilityId.INTIMIDATE, AbilityId.MOXIE, AbilityId.ANGER_POINT, 519, 95, 117, 80, 65, 70, 92, 45, 50, 260, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.DARUMAKA, 5, false, false, false, "Zen Charm Pokémon", PokemonType.FIRE, null, 0.6, 37.5, AbilityId.HUSTLE, AbilityId.NONE, AbilityId.INNER_FOCUS, 315, 70, 90, 45, 15, 45, 50, 120, 50, 63, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.DARMANITAN, 5, false, false, false, "Blazing Pokémon", PokemonType.FIRE, null, 1.3, 92.9, AbilityId.SHEER_FORCE, AbilityId.NONE, AbilityId.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Standard Mode", "", PokemonType.FIRE, null, 1.3, 92.9, AbilityId.SHEER_FORCE, AbilityId.NONE, AbilityId.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, false, null, true), + new PokemonForm("Zen Mode", "zen", PokemonType.FIRE, PokemonType.PSYCHIC, 1.3, 92.9, AbilityId.SHEER_FORCE, AbilityId.NONE, AbilityId.ZEN_MODE, 540, 105, 30, 105, 140, 105, 55, 60, 50, 189), + ), + new PokemonSpecies(SpeciesId.MARACTUS, 5, false, false, false, "Cactus Pokémon", PokemonType.GRASS, null, 1, 28, AbilityId.WATER_ABSORB, AbilityId.CHLOROPHYLL, AbilityId.STORM_DRAIN, 461, 75, 86, 67, 106, 67, 60, 255, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DWEBBLE, 5, false, false, false, "Rock Inn Pokémon", PokemonType.BUG, PokemonType.ROCK, 0.3, 14.5, AbilityId.STURDY, AbilityId.SHELL_ARMOR, AbilityId.WEAK_ARMOR, 325, 50, 65, 85, 35, 35, 55, 190, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CRUSTLE, 5, false, false, false, "Stone Home Pokémon", PokemonType.BUG, PokemonType.ROCK, 1.4, 200, AbilityId.STURDY, AbilityId.SHELL_ARMOR, AbilityId.WEAK_ARMOR, 485, 70, 105, 125, 65, 75, 45, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SCRAGGY, 5, false, false, false, "Shedding Pokémon", PokemonType.DARK, PokemonType.FIGHTING, 0.6, 11.8, AbilityId.SHED_SKIN, AbilityId.MOXIE, AbilityId.INTIMIDATE, 348, 50, 75, 70, 35, 70, 48, 180, 35, 70, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SCRAFTY, 5, false, false, false, "Hoodlum Pokémon", PokemonType.DARK, PokemonType.FIGHTING, 1.1, 30, AbilityId.SHED_SKIN, AbilityId.MOXIE, AbilityId.INTIMIDATE, 488, 65, 90, 115, 45, 115, 58, 90, 50, 171, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SIGILYPH, 5, false, false, false, "Avianoid Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.4, 14, AbilityId.WONDER_SKIN, AbilityId.MAGIC_GUARD, AbilityId.TINTED_LENS, 490, 72, 58, 80, 103, 80, 97, 45, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.YAMASK, 5, false, false, false, "Spirit Pokémon", PokemonType.GHOST, null, 0.5, 1.5, AbilityId.MUMMY, AbilityId.NONE, AbilityId.NONE, 303, 38, 30, 85, 55, 65, 30, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.COFAGRIGUS, 5, false, false, false, "Coffin Pokémon", PokemonType.GHOST, null, 1.7, 76.5, AbilityId.MUMMY, AbilityId.NONE, AbilityId.NONE, 483, 58, 50, 145, 95, 105, 30, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TIRTOUGA, 5, false, false, false, "Prototurtle Pokémon", PokemonType.WATER, PokemonType.ROCK, 0.7, 16.5, AbilityId.SOLID_ROCK, AbilityId.STURDY, AbilityId.SWIFT_SWIM, 355, 54, 78, 103, 53, 45, 22, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.CARRACOSTA, 5, false, false, false, "Prototurtle Pokémon", PokemonType.WATER, PokemonType.ROCK, 1.2, 81, AbilityId.SOLID_ROCK, AbilityId.STURDY, AbilityId.SWIFT_SWIM, 495, 74, 108, 133, 83, 65, 32, 45, 50, 173, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.ARCHEN, 5, false, false, false, "First Bird Pokémon", PokemonType.ROCK, PokemonType.FLYING, 0.5, 9.5, AbilityId.DEFEATIST, AbilityId.NONE, AbilityId.WIMP_OUT, 401, 55, 112, 45, 74, 45, 70, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), //Custom Hidden + new PokemonSpecies(SpeciesId.ARCHEOPS, 5, false, false, false, "First Bird Pokémon", PokemonType.ROCK, PokemonType.FLYING, 1.4, 32, AbilityId.DEFEATIST, AbilityId.NONE, AbilityId.EMERGENCY_EXIT, 567, 75, 140, 65, 112, 65, 110, 45, 50, 177, GrowthRate.MEDIUM_FAST, 87.5, false), //Custom Hidden + new PokemonSpecies(SpeciesId.TRUBBISH, 5, false, false, false, "Trash Bag Pokémon", PokemonType.POISON, null, 0.6, 31, AbilityId.STENCH, AbilityId.STICKY_HOLD, AbilityId.AFTERMATH, 329, 50, 50, 62, 40, 62, 65, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GARBODOR, 5, false, false, false, "Trash Heap Pokémon", PokemonType.POISON, null, 1.9, 107.3, AbilityId.STENCH, AbilityId.WEAK_ARMOR, AbilityId.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.POISON, null, 1.9, 107.3, AbilityId.STENCH, AbilityId.WEAK_ARMOR, AbilityId.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.POISON, PokemonType.STEEL, 21, 999.9, AbilityId.TOXIC_DEBRIS, AbilityId.TOXIC_DEBRIS, AbilityId.TOXIC_DEBRIS, 574, 115, 121, 102, 81, 102, 53, 60, 50, 166), + ), + new PokemonSpecies(SpeciesId.ZORUA, 5, false, false, false, "Tricky Fox Pokémon", PokemonType.DARK, null, 0.7, 12.5, AbilityId.ILLUSION, AbilityId.NONE, AbilityId.NONE, 330, 40, 65, 40, 80, 40, 65, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.ZOROARK, 5, false, false, false, "Illusion Fox Pokémon", PokemonType.DARK, null, 1.6, 81.1, AbilityId.ILLUSION, AbilityId.NONE, AbilityId.NONE, 510, 60, 105, 60, 120, 60, 105, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.MINCCINO, 5, false, false, false, "Chinchilla Pokémon", PokemonType.NORMAL, null, 0.4, 5.8, AbilityId.CUTE_CHARM, AbilityId.TECHNICIAN, AbilityId.SKILL_LINK, 300, 55, 50, 40, 40, 40, 75, 255, 50, 60, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.CINCCINO, 5, false, false, false, "Scarf Pokémon", PokemonType.NORMAL, null, 0.5, 7.5, AbilityId.CUTE_CHARM, AbilityId.TECHNICIAN, AbilityId.SKILL_LINK, 470, 75, 95, 60, 65, 60, 115, 60, 50, 165, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.GOTHITA, 5, false, false, false, "Fixation Pokémon", PokemonType.PSYCHIC, null, 0.4, 5.8, AbilityId.FRISK, AbilityId.COMPETITIVE, AbilityId.SHADOW_TAG, 290, 45, 30, 50, 55, 65, 45, 200, 50, 58, GrowthRate.MEDIUM_SLOW, 25, false), + new PokemonSpecies(SpeciesId.GOTHORITA, 5, false, false, false, "Manipulate Pokémon", PokemonType.PSYCHIC, null, 0.7, 18, AbilityId.FRISK, AbilityId.COMPETITIVE, AbilityId.SHADOW_TAG, 390, 60, 45, 70, 75, 85, 55, 100, 50, 137, GrowthRate.MEDIUM_SLOW, 25, false), + new PokemonSpecies(SpeciesId.GOTHITELLE, 5, false, false, false, "Astral Body Pokémon", PokemonType.PSYCHIC, null, 1.5, 44, AbilityId.FRISK, AbilityId.COMPETITIVE, AbilityId.SHADOW_TAG, 490, 70, 55, 95, 95, 110, 65, 50, 50, 245, GrowthRate.MEDIUM_SLOW, 25, false), + new PokemonSpecies(SpeciesId.SOLOSIS, 5, false, false, false, "Cell Pokémon", PokemonType.PSYCHIC, null, 0.3, 1, AbilityId.OVERCOAT, AbilityId.MAGIC_GUARD, AbilityId.REGENERATOR, 290, 45, 30, 40, 105, 50, 20, 200, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.DUOSION, 5, false, false, false, "Mitosis Pokémon", PokemonType.PSYCHIC, null, 0.6, 8, AbilityId.OVERCOAT, AbilityId.MAGIC_GUARD, AbilityId.REGENERATOR, 370, 65, 40, 50, 125, 60, 30, 100, 50, 130, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.REUNICLUS, 5, false, false, false, "Multiplying Pokémon", PokemonType.PSYCHIC, null, 1, 20.1, AbilityId.OVERCOAT, AbilityId.MAGIC_GUARD, AbilityId.REGENERATOR, 490, 110, 65, 75, 125, 85, 30, 50, 50, 245, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.DUCKLETT, 5, false, false, false, "Water Bird Pokémon", PokemonType.WATER, PokemonType.FLYING, 0.5, 5.5, AbilityId.KEEN_EYE, AbilityId.BIG_PECKS, AbilityId.HYDRATION, 305, 62, 44, 50, 44, 50, 55, 190, 70, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SWANNA, 5, false, false, false, "White Bird Pokémon", PokemonType.WATER, PokemonType.FLYING, 1.3, 24.2, AbilityId.KEEN_EYE, AbilityId.BIG_PECKS, AbilityId.HYDRATION, 473, 75, 87, 63, 87, 63, 98, 45, 70, 166, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.VANILLITE, 5, false, false, false, "Fresh Snow Pokémon", PokemonType.ICE, null, 0.4, 5.7, AbilityId.ICE_BODY, AbilityId.SNOW_CLOAK, AbilityId.WEAK_ARMOR, 305, 36, 50, 50, 65, 60, 44, 255, 50, 61, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.VANILLISH, 5, false, false, false, "Icy Snow Pokémon", PokemonType.ICE, null, 1.1, 41, AbilityId.ICE_BODY, AbilityId.SNOW_CLOAK, AbilityId.WEAK_ARMOR, 395, 51, 65, 65, 80, 75, 59, 120, 50, 138, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.VANILLUXE, 5, false, false, false, "Snowstorm Pokémon", PokemonType.ICE, null, 1.3, 57.5, AbilityId.ICE_BODY, AbilityId.SNOW_WARNING, AbilityId.WEAK_ARMOR, 535, 71, 95, 85, 110, 95, 79, 45, 50, 268, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.DEERLING, 5, false, false, false, "Season Pokémon", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Spring Form", "spring", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), + new PokemonForm("Summer Form", "summer", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), + new PokemonForm("Autumn Form", "autumn", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), + new PokemonForm("Winter Form", "winter", PokemonType.NORMAL, PokemonType.GRASS, 0.6, 19.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 335, 60, 60, 50, 40, 50, 75, 190, 70, 67, false, null, true), + ), + new PokemonSpecies(SpeciesId.SAWSBUCK, 5, false, false, false, "Season Pokémon", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Spring Form", "spring", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), + new PokemonForm("Summer Form", "summer", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), + new PokemonForm("Autumn Form", "autumn", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), + new PokemonForm("Winter Form", "winter", PokemonType.NORMAL, PokemonType.GRASS, 1.9, 92.5, AbilityId.CHLOROPHYLL, AbilityId.SAP_SIPPER, AbilityId.SERENE_GRACE, 475, 80, 100, 70, 60, 70, 95, 75, 70, 166, false, null, true), + ), + new PokemonSpecies(SpeciesId.EMOLGA, 5, false, false, false, "Sky Squirrel Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 0.4, 5, AbilityId.STATIC, AbilityId.NONE, AbilityId.MOTOR_DRIVE, 428, 55, 75, 60, 75, 60, 103, 200, 50, 150, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.KARRABLAST, 5, false, false, false, "Clamping Pokémon", PokemonType.BUG, null, 0.5, 5.9, AbilityId.SWARM, AbilityId.SHED_SKIN, AbilityId.NO_GUARD, 315, 50, 75, 45, 40, 45, 60, 200, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ESCAVALIER, 5, false, false, false, "Cavalry Pokémon", PokemonType.BUG, PokemonType.STEEL, 1, 33, AbilityId.SWARM, AbilityId.SHELL_ARMOR, AbilityId.OVERCOAT, 495, 70, 135, 105, 60, 105, 20, 75, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FOONGUS, 5, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.2, 1, AbilityId.EFFECT_SPORE, AbilityId.NONE, AbilityId.REGENERATOR, 294, 69, 55, 45, 55, 55, 15, 190, 50, 59, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.AMOONGUSS, 5, false, false, false, "Mushroom Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.6, 10.5, AbilityId.EFFECT_SPORE, AbilityId.NONE, AbilityId.REGENERATOR, 464, 114, 85, 70, 85, 80, 30, 75, 50, 162, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FRILLISH, 5, false, false, false, "Floating Pokémon", PokemonType.WATER, PokemonType.GHOST, 1.2, 33, AbilityId.WATER_ABSORB, AbilityId.CURSED_BODY, AbilityId.DAMP, 335, 55, 40, 50, 65, 85, 40, 190, 50, 67, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.JELLICENT, 5, false, false, false, "Floating Pokémon", PokemonType.WATER, PokemonType.GHOST, 2.2, 135, AbilityId.WATER_ABSORB, AbilityId.CURSED_BODY, AbilityId.DAMP, 480, 100, 60, 70, 85, 105, 60, 60, 50, 168, GrowthRate.MEDIUM_FAST, 50, true), + new PokemonSpecies(SpeciesId.ALOMOMOLA, 5, false, false, false, "Caring Pokémon", PokemonType.WATER, null, 1.2, 31.6, AbilityId.HEALER, AbilityId.HYDRATION, AbilityId.REGENERATOR, 470, 165, 75, 80, 40, 45, 65, 75, 70, 165, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.JOLTIK, 5, false, false, false, "Attaching Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 0.1, 0.6, AbilityId.COMPOUND_EYES, AbilityId.UNNERVE, AbilityId.SWARM, 319, 50, 47, 50, 57, 50, 65, 190, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALVANTULA, 5, false, false, false, "EleSpider Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 0.8, 14.3, AbilityId.COMPOUND_EYES, AbilityId.UNNERVE, AbilityId.SWARM, 472, 70, 77, 60, 97, 60, 108, 75, 50, 165, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FERROSEED, 5, false, false, false, "Thorn Seed Pokémon", PokemonType.GRASS, PokemonType.STEEL, 0.6, 18.8, AbilityId.IRON_BARBS, AbilityId.NONE, AbilityId.ANTICIPATION, 305, 44, 50, 91, 24, 86, 10, 255, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FERROTHORN, 5, false, false, false, "Thorn Pod Pokémon", PokemonType.GRASS, PokemonType.STEEL, 1, 110, AbilityId.IRON_BARBS, AbilityId.NONE, AbilityId.ANTICIPATION, 489, 74, 94, 131, 54, 116, 20, 90, 50, 171, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.KLINK, 5, false, false, false, "Gear Pokémon", PokemonType.STEEL, null, 0.3, 21, AbilityId.PLUS, AbilityId.MINUS, AbilityId.CLEAR_BODY, 300, 40, 55, 70, 45, 60, 30, 130, 50, 60, GrowthRate.MEDIUM_SLOW, null, false), + new PokemonSpecies(SpeciesId.KLANG, 5, false, false, false, "Gear Pokémon", PokemonType.STEEL, null, 0.6, 51, AbilityId.PLUS, AbilityId.MINUS, AbilityId.CLEAR_BODY, 440, 60, 80, 95, 70, 85, 50, 60, 50, 154, GrowthRate.MEDIUM_SLOW, null, false), + new PokemonSpecies(SpeciesId.KLINKLANG, 5, false, false, false, "Gear Pokémon", PokemonType.STEEL, null, 0.6, 81, AbilityId.PLUS, AbilityId.MINUS, AbilityId.CLEAR_BODY, 520, 60, 100, 115, 70, 85, 90, 30, 50, 260, GrowthRate.MEDIUM_SLOW, null, false), + new PokemonSpecies(SpeciesId.TYNAMO, 5, false, false, false, "EleFish Pokémon", PokemonType.ELECTRIC, null, 0.2, 0.3, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 275, 35, 55, 40, 45, 40, 60, 190, 70, 55, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.EELEKTRIK, 5, false, false, false, "EleFish Pokémon", PokemonType.ELECTRIC, null, 1.2, 22, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 405, 65, 85, 70, 75, 70, 40, 60, 70, 142, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.EELEKTROSS, 5, false, false, false, "EleFish Pokémon", PokemonType.ELECTRIC, null, 2.1, 80.5, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 515, 85, 115, 80, 105, 80, 50, 30, 70, 258, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.ELGYEM, 5, false, false, false, "Cerebral Pokémon", PokemonType.PSYCHIC, null, 0.5, 9, AbilityId.TELEPATHY, AbilityId.SYNCHRONIZE, AbilityId.ANALYTIC, 335, 55, 55, 55, 85, 55, 30, 255, 50, 67, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BEHEEYEM, 5, false, false, false, "Cerebral Pokémon", PokemonType.PSYCHIC, null, 1, 34.5, AbilityId.TELEPATHY, AbilityId.SYNCHRONIZE, AbilityId.ANALYTIC, 485, 75, 75, 75, 125, 95, 40, 90, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LITWICK, 5, false, false, false, "Candle Pokémon", PokemonType.GHOST, PokemonType.FIRE, 0.3, 3.1, AbilityId.FLASH_FIRE, AbilityId.FLAME_BODY, AbilityId.INFILTRATOR, 275, 50, 30, 55, 65, 55, 20, 190, 50, 55, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.LAMPENT, 5, false, false, false, "Lamp Pokémon", PokemonType.GHOST, PokemonType.FIRE, 0.6, 13, AbilityId.FLASH_FIRE, AbilityId.FLAME_BODY, AbilityId.INFILTRATOR, 370, 60, 40, 60, 95, 60, 55, 90, 50, 130, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CHANDELURE, 5, false, false, false, "Luring Pokémon", PokemonType.GHOST, PokemonType.FIRE, 1, 34.3, AbilityId.FLASH_FIRE, AbilityId.FLAME_BODY, AbilityId.INFILTRATOR, 520, 60, 55, 90, 145, 90, 80, 45, 50, 260, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.AXEW, 5, false, false, false, "Tusk Pokémon", PokemonType.DRAGON, null, 0.6, 18, AbilityId.RIVALRY, AbilityId.MOLD_BREAKER, AbilityId.UNNERVE, 320, 46, 87, 60, 30, 40, 57, 75, 35, 64, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.FRAXURE, 5, false, false, false, "Axe Jaw Pokémon", PokemonType.DRAGON, null, 1, 36, AbilityId.RIVALRY, AbilityId.MOLD_BREAKER, AbilityId.UNNERVE, 410, 66, 117, 70, 40, 50, 67, 60, 35, 144, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HAXORUS, 5, false, false, false, "Axe Jaw Pokémon", PokemonType.DRAGON, null, 1.8, 105.5, AbilityId.RIVALRY, AbilityId.MOLD_BREAKER, AbilityId.UNNERVE, 540, 76, 147, 90, 60, 70, 97, 45, 35, 270, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.CUBCHOO, 5, false, false, false, "Chill Pokémon", PokemonType.ICE, null, 0.5, 8.5, AbilityId.SNOW_CLOAK, AbilityId.SLUSH_RUSH, AbilityId.RATTLED, 305, 55, 70, 40, 60, 40, 40, 120, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BEARTIC, 5, false, false, false, "Freezing Pokémon", PokemonType.ICE, null, 2.6, 260, AbilityId.SNOW_CLOAK, AbilityId.SLUSH_RUSH, AbilityId.SWIFT_SWIM, 505, 95, 130, 80, 70, 80, 50, 60, 50, 177, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CRYOGONAL, 5, false, false, false, "Crystallizing Pokémon", PokemonType.ICE, null, 1.1, 148, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 515, 80, 50, 50, 95, 135, 105, 25, 50, 180, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.SHELMET, 5, false, false, false, "Snail Pokémon", PokemonType.BUG, null, 0.4, 7.7, AbilityId.HYDRATION, AbilityId.SHELL_ARMOR, AbilityId.OVERCOAT, 305, 50, 40, 85, 40, 65, 25, 200, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ACCELGOR, 5, false, false, false, "Shell Out Pokémon", PokemonType.BUG, null, 0.8, 25.3, AbilityId.HYDRATION, AbilityId.STICKY_HOLD, AbilityId.UNBURDEN, 495, 80, 70, 40, 100, 60, 145, 75, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.STUNFISK, 5, false, false, false, "Trap Pokémon", PokemonType.GROUND, PokemonType.ELECTRIC, 0.7, 11, AbilityId.STATIC, AbilityId.LIMBER, AbilityId.SAND_VEIL, 471, 109, 66, 84, 81, 99, 32, 75, 70, 165, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MIENFOO, 5, false, false, false, "Martial Arts Pokémon", PokemonType.FIGHTING, null, 0.9, 20, AbilityId.INNER_FOCUS, AbilityId.REGENERATOR, AbilityId.RECKLESS, 350, 45, 85, 50, 55, 50, 65, 180, 50, 70, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.MIENSHAO, 5, false, false, false, "Martial Arts Pokémon", PokemonType.FIGHTING, null, 1.4, 35.5, AbilityId.INNER_FOCUS, AbilityId.REGENERATOR, AbilityId.RECKLESS, 510, 65, 125, 60, 95, 60, 105, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.DRUDDIGON, 5, false, false, false, "Cave Pokémon", PokemonType.DRAGON, null, 1.6, 139, AbilityId.ROUGH_SKIN, AbilityId.SHEER_FORCE, AbilityId.MOLD_BREAKER, 485, 77, 120, 90, 60, 90, 48, 45, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GOLETT, 5, false, false, false, "Automaton Pokémon", PokemonType.GROUND, PokemonType.GHOST, 1, 92, AbilityId.IRON_FIST, AbilityId.KLUTZ, AbilityId.NO_GUARD, 303, 59, 74, 50, 35, 50, 35, 190, 50, 61, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.GOLURK, 5, false, false, false, "Automaton Pokémon", PokemonType.GROUND, PokemonType.GHOST, 2.8, 330, AbilityId.IRON_FIST, AbilityId.KLUTZ, AbilityId.NO_GUARD, 483, 89, 124, 80, 55, 80, 55, 90, 50, 169, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.PAWNIARD, 5, false, false, false, "Sharp Blade Pokémon", PokemonType.DARK, PokemonType.STEEL, 0.5, 10.2, AbilityId.DEFIANT, AbilityId.INNER_FOCUS, AbilityId.PRESSURE, 340, 45, 85, 70, 40, 40, 60, 120, 35, 68, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BISHARP, 5, false, false, false, "Sword Blade Pokémon", PokemonType.DARK, PokemonType.STEEL, 1.6, 70, AbilityId.DEFIANT, AbilityId.INNER_FOCUS, AbilityId.PRESSURE, 490, 65, 125, 100, 60, 70, 70, 45, 35, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BOUFFALANT, 5, false, false, false, "Bash Buffalo Pokémon", PokemonType.NORMAL, null, 1.6, 94.6, AbilityId.RECKLESS, AbilityId.SAP_SIPPER, AbilityId.SOUNDPROOF, 490, 95, 110, 95, 40, 95, 55, 45, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RUFFLET, 5, false, false, false, "Eaglet Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.5, 10.5, AbilityId.KEEN_EYE, AbilityId.SHEER_FORCE, AbilityId.HUSTLE, 350, 70, 83, 50, 37, 50, 60, 190, 50, 70, GrowthRate.SLOW, 100, false), + new PokemonSpecies(SpeciesId.BRAVIARY, 5, false, false, false, "Valiant Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.5, 41, AbilityId.KEEN_EYE, AbilityId.SHEER_FORCE, AbilityId.DEFIANT, 510, 100, 123, 75, 57, 75, 80, 60, 50, 179, GrowthRate.SLOW, 100, false), + new PokemonSpecies(SpeciesId.VULLABY, 5, false, false, false, "Diapered Pokémon", PokemonType.DARK, PokemonType.FLYING, 0.5, 9, AbilityId.BIG_PECKS, AbilityId.OVERCOAT, AbilityId.WEAK_ARMOR, 370, 70, 55, 75, 45, 65, 60, 190, 35, 74, GrowthRate.SLOW, 0, false), + new PokemonSpecies(SpeciesId.MANDIBUZZ, 5, false, false, false, "Bone Vulture Pokémon", PokemonType.DARK, PokemonType.FLYING, 1.2, 39.5, AbilityId.BIG_PECKS, AbilityId.OVERCOAT, AbilityId.WEAK_ARMOR, 510, 110, 65, 105, 55, 95, 80, 60, 35, 179, GrowthRate.SLOW, 0, false), + new PokemonSpecies(SpeciesId.HEATMOR, 5, false, false, false, "Anteater Pokémon", PokemonType.FIRE, null, 1.4, 58, AbilityId.GLUTTONY, AbilityId.FLASH_FIRE, AbilityId.WHITE_SMOKE, 484, 85, 97, 66, 105, 66, 65, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DURANT, 5, false, false, false, "Iron Ant Pokémon", PokemonType.BUG, PokemonType.STEEL, 0.3, 33, AbilityId.SWARM, AbilityId.HUSTLE, AbilityId.TRUANT, 484, 58, 109, 112, 48, 48, 109, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DEINO, 5, false, false, false, "Irate Pokémon", PokemonType.DARK, PokemonType.DRAGON, 0.8, 17.3, AbilityId.HUSTLE, AbilityId.NONE, AbilityId.NONE, 300, 52, 65, 50, 45, 50, 38, 45, 35, 60, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.ZWEILOUS, 5, false, false, false, "Hostile Pokémon", PokemonType.DARK, PokemonType.DRAGON, 1.4, 50, AbilityId.HUSTLE, AbilityId.NONE, AbilityId.NONE, 420, 72, 85, 70, 65, 70, 58, 45, 35, 147, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HYDREIGON, 5, false, false, false, "Brutal Pokémon", PokemonType.DARK, PokemonType.DRAGON, 1.8, 160, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 600, 92, 105, 90, 125, 90, 98, 45, 35, 300, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.LARVESTA, 5, false, false, false, "Torch Pokémon", PokemonType.BUG, PokemonType.FIRE, 1.1, 28.8, AbilityId.FLAME_BODY, AbilityId.NONE, AbilityId.SWARM, 360, 55, 85, 55, 50, 55, 60, 45, 50, 72, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.VOLCARONA, 5, false, false, false, "Sun Pokémon", PokemonType.BUG, PokemonType.FIRE, 1.6, 46, AbilityId.FLAME_BODY, AbilityId.NONE, AbilityId.SWARM, 550, 85, 60, 65, 135, 105, 100, 15, 50, 275, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.COBALION, 5, true, false, false, "Iron Will Pokémon", PokemonType.STEEL, PokemonType.FIGHTING, 2.1, 250, AbilityId.JUSTIFIED, AbilityId.NONE, AbilityId.NONE, 580, 91, 90, 129, 90, 72, 108, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.TERRAKION, 5, true, false, false, "Cavern Pokémon", PokemonType.ROCK, PokemonType.FIGHTING, 1.9, 260, AbilityId.JUSTIFIED, AbilityId.NONE, AbilityId.NONE, 580, 91, 129, 90, 72, 90, 108, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.VIRIZION, 5, true, false, false, "Grassland Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 2, 200, AbilityId.JUSTIFIED, AbilityId.NONE, AbilityId.NONE, 580, 91, 90, 72, 90, 129, 108, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.TORNADUS, 5, true, false, false, "Cyclone Pokémon", PokemonType.FLYING, null, 1.5, 63, AbilityId.PRANKSTER, AbilityId.NONE, AbilityId.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, GrowthRate.SLOW, 100, false, true, + new PokemonForm("Incarnate Forme", "incarnate", PokemonType.FLYING, null, 1.5, 63, AbilityId.PRANKSTER, AbilityId.NONE, AbilityId.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, false, null, true), + new PokemonForm("Therian Forme", "therian", PokemonType.FLYING, null, 1.4, 63, AbilityId.REGENERATOR, AbilityId.NONE, AbilityId.REGENERATOR, 580, 79, 100, 80, 110, 90, 121, 3, 90, 290), + ), + new PokemonSpecies(SpeciesId.THUNDURUS, 5, true, false, false, "Bolt Strike Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.5, 61, AbilityId.PRANKSTER, AbilityId.NONE, AbilityId.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, GrowthRate.SLOW, 100, false, true, + new PokemonForm("Incarnate Forme", "incarnate", PokemonType.ELECTRIC, PokemonType.FLYING, 1.5, 61, AbilityId.PRANKSTER, AbilityId.NONE, AbilityId.DEFIANT, 580, 79, 115, 70, 125, 80, 111, 3, 90, 290, false, null, true), + new PokemonForm("Therian Forme", "therian", PokemonType.ELECTRIC, PokemonType.FLYING, 3, 61, AbilityId.VOLT_ABSORB, AbilityId.NONE, AbilityId.VOLT_ABSORB, 580, 79, 105, 70, 145, 80, 101, 3, 90, 290), + ), + new PokemonSpecies(SpeciesId.RESHIRAM, 5, false, true, false, "Vast White Pokémon", PokemonType.DRAGON, PokemonType.FIRE, 3.2, 330, AbilityId.TURBOBLAZE, AbilityId.NONE, AbilityId.NONE, 680, 100, 120, 100, 150, 120, 90, 3, 0, 340, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ZEKROM, 5, false, true, false, "Deep Black Pokémon", PokemonType.DRAGON, PokemonType.ELECTRIC, 2.9, 345, AbilityId.TERAVOLT, AbilityId.NONE, AbilityId.NONE, 680, 100, 150, 120, 120, 100, 90, 3, 0, 340, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.LANDORUS, 5, true, false, false, "Abundance Pokémon", PokemonType.GROUND, PokemonType.FLYING, 1.5, 68, AbilityId.SAND_FORCE, AbilityId.NONE, AbilityId.SHEER_FORCE, 600, 89, 125, 90, 115, 80, 101, 3, 90, 300, GrowthRate.SLOW, 100, false, true, + new PokemonForm("Incarnate Forme", "incarnate", PokemonType.GROUND, PokemonType.FLYING, 1.5, 68, AbilityId.SAND_FORCE, AbilityId.NONE, AbilityId.SHEER_FORCE, 600, 89, 125, 90, 115, 80, 101, 3, 90, 300, false, null, true), + new PokemonForm("Therian Forme", "therian", PokemonType.GROUND, PokemonType.FLYING, 1.3, 68, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.INTIMIDATE, 600, 89, 145, 90, 105, 80, 91, 3, 90, 300), + ), + new PokemonSpecies(SpeciesId.KYUREM, 5, false, true, false, "Boundary Pokémon", PokemonType.DRAGON, PokemonType.ICE, 3, 325, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 660, 125, 130, 90, 130, 90, 95, 3, 0, 330, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.DRAGON, PokemonType.ICE, 3, 325, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 660, 125, 130, 90, 130, 90, 95, 3, 0, 330, false, null, true), + new PokemonForm("Black", "black", PokemonType.DRAGON, PokemonType.ICE, 3.3, 325, AbilityId.TERAVOLT, AbilityId.NONE, AbilityId.NONE, 700, 125, 170, 100, 120, 90, 95, 3, 0, 350), + new PokemonForm("White", "white", PokemonType.DRAGON, PokemonType.ICE, 3.6, 325, AbilityId.TURBOBLAZE, AbilityId.NONE, AbilityId.NONE, 700, 125, 120, 90, 170, 100, 95, 3, 0, 350), + ), + new PokemonSpecies(SpeciesId.KELDEO, 5, false, false, true, "Colt Pokémon", PokemonType.WATER, PokemonType.FIGHTING, 1.4, 48.5, AbilityId.JUSTIFIED, AbilityId.NONE, AbilityId.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290, GrowthRate.SLOW, null, false, true, + new PokemonForm("Ordinary Form", "ordinary", PokemonType.WATER, PokemonType.FIGHTING, 1.4, 48.5, AbilityId.JUSTIFIED, AbilityId.NONE, AbilityId.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290, false, null, true), + new PokemonForm("Resolute", "resolute", PokemonType.WATER, PokemonType.FIGHTING, 1.4, 48.5, AbilityId.JUSTIFIED, AbilityId.NONE, AbilityId.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290), + ), + new PokemonSpecies(SpeciesId.MELOETTA, 5, false, false, true, "Melody Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 0.6, 6.5, AbilityId.SERENE_GRACE, AbilityId.NONE, AbilityId.NONE, 600, 100, 77, 77, 128, 128, 90, 3, 100, 300, GrowthRate.SLOW, null, false, true, + new PokemonForm("Aria Forme", "aria", PokemonType.NORMAL, PokemonType.PSYCHIC, 0.6, 6.5, AbilityId.SERENE_GRACE, AbilityId.NONE, AbilityId.NONE, 600, 100, 77, 77, 128, 128, 90, 3, 100, 300, false, null, true), + new PokemonForm("Pirouette Forme", "pirouette", PokemonType.NORMAL, PokemonType.FIGHTING, 0.6, 6.5, AbilityId.SERENE_GRACE, AbilityId.NONE, AbilityId.NONE, 600, 100, 128, 90, 77, 77, 128, 3, 100, 300, false, null, true), + ), + new PokemonSpecies(SpeciesId.GENESECT, 5, false, false, true, "Paleozoic Pokémon", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, AbilityId.DOWNLOAD, AbilityId.NONE, AbilityId.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, AbilityId.DOWNLOAD, AbilityId.NONE, AbilityId.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300, false, null, true), + new PokemonForm("Shock Drive", "shock", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, AbilityId.DOWNLOAD, AbilityId.NONE, AbilityId.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), + new PokemonForm("Burn Drive", "burn", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, AbilityId.DOWNLOAD, AbilityId.NONE, AbilityId.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), + new PokemonForm("Chill Drive", "chill", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, AbilityId.DOWNLOAD, AbilityId.NONE, AbilityId.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), + new PokemonForm("Douse Drive", "douse", PokemonType.BUG, PokemonType.STEEL, 1.5, 82.5, AbilityId.DOWNLOAD, AbilityId.NONE, AbilityId.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 300), + ), + new PokemonSpecies(SpeciesId.CHESPIN, 6, false, false, false, "Spiny Nut Pokémon", PokemonType.GRASS, null, 0.4, 9, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.BULLETPROOF, 313, 56, 61, 65, 48, 45, 38, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.QUILLADIN, 6, false, false, false, "Spiny Armor Pokémon", PokemonType.GRASS, null, 0.7, 29, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.BULLETPROOF, 405, 61, 78, 95, 56, 58, 57, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.CHESNAUGHT, 6, false, false, false, "Spiny Armor Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.6, 90, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.BULLETPROOF, 530, 88, 107, 122, 74, 75, 64, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.FENNEKIN, 6, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 0.4, 9.4, AbilityId.BLAZE, AbilityId.NONE, AbilityId.MAGICIAN, 307, 40, 45, 40, 62, 60, 60, 45, 70, 61, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.BRAIXEN, 6, false, false, false, "Fox Pokémon", PokemonType.FIRE, null, 1, 14.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.MAGICIAN, 409, 59, 59, 58, 90, 70, 73, 45, 70, 143, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.DELPHOX, 6, false, false, false, "Fox Pokémon", PokemonType.FIRE, PokemonType.PSYCHIC, 1.5, 39, AbilityId.BLAZE, AbilityId.NONE, AbilityId.MAGICIAN, 534, 75, 69, 72, 114, 100, 104, 45, 70, 267, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.FROAKIE, 6, false, false, false, "Bubble Frog Pokémon", PokemonType.WATER, null, 0.3, 7, AbilityId.TORRENT, AbilityId.NONE, AbilityId.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false, false, + new PokemonForm("Normal", "", PokemonType.WATER, null, 0.3, 7, AbilityId.TORRENT, AbilityId.NONE, AbilityId.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, null, true), + new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.3, 7, AbilityId.TORRENT, AbilityId.NONE, AbilityId.TORRENT, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, "", true), + ), + new PokemonSpecies(SpeciesId.FROGADIER, 6, false, false, false, "Bubble Frog Pokémon", PokemonType.WATER, null, 0.6, 10.9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false, false, + new PokemonForm("Normal", "", PokemonType.WATER, null, 0.6, 10.9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, null, true), + new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.6, 10.9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.NONE, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, "", true), + ), + new PokemonSpecies(SpeciesId.GRENINJA, 6, false, false, false, "Ninja Pokémon", PokemonType.WATER, PokemonType.DARK, 1.5, 40, AbilityId.TORRENT, AbilityId.NONE, AbilityId.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, false, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.DARK, 1.5, 40, AbilityId.TORRENT, AbilityId.NONE, AbilityId.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, false, null, true), + new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, PokemonType.DARK, 1.5, 40, AbilityId.BATTLE_BOND, AbilityId.NONE, AbilityId.BATTLE_BOND, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, false, "", true), + new PokemonForm("Ash", "ash", PokemonType.WATER, PokemonType.DARK, 1.5, 40, AbilityId.BATTLE_BOND, AbilityId.NONE, AbilityId.NONE, 640, 72, 145, 67, 153, 71, 132, 45, 70, 265), + ), + new PokemonSpecies(SpeciesId.BUNNELBY, 6, false, false, false, "Digging Pokémon", PokemonType.NORMAL, null, 0.4, 5, AbilityId.PICKUP, AbilityId.CHEEK_POUCH, AbilityId.HUGE_POWER, 237, 38, 36, 38, 32, 36, 57, 255, 50, 47, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DIGGERSBY, 6, false, false, false, "Digging Pokémon", PokemonType.NORMAL, PokemonType.GROUND, 1, 42.4, AbilityId.PICKUP, AbilityId.CHEEK_POUCH, AbilityId.HUGE_POWER, 423, 85, 56, 77, 50, 77, 78, 127, 50, 148, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FLETCHLING, 6, false, false, false, "Tiny Robin Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 1.7, AbilityId.BIG_PECKS, AbilityId.NONE, AbilityId.GALE_WINGS, 278, 45, 50, 43, 40, 38, 62, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.FLETCHINDER, 6, false, false, false, "Ember Pokémon", PokemonType.FIRE, PokemonType.FLYING, 0.7, 16, AbilityId.FLAME_BODY, AbilityId.NONE, AbilityId.GALE_WINGS, 382, 62, 73, 55, 56, 52, 84, 120, 50, 134, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.TALONFLAME, 6, false, false, false, "Scorching Pokémon", PokemonType.FIRE, PokemonType.FLYING, 1.2, 24.5, AbilityId.FLAME_BODY, AbilityId.NONE, AbilityId.GALE_WINGS, 499, 78, 81, 71, 74, 69, 126, 45, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SCATTERBUG, 6, false, false, false, "Scatterdust Pokémon", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Meadow Pattern", "meadow", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Icy Snow Pattern", "icy-snow", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Polar Pattern", "polar", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Tundra Pattern", "tundra", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Continental Pattern", "continental", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Garden Pattern", "garden", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Elegant Pattern", "elegant", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Modern Pattern", "modern", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Marine Pattern", "marine", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Archipelago Pattern", "archipelago", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("High Plains Pattern", "high-plains", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Sandstorm Pattern", "sandstorm", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("River Pattern", "river", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Monsoon Pattern", "monsoon", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Savanna Pattern", "savanna", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Sun Pattern", "sun", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Ocean Pattern", "ocean", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Jungle Pattern", "jungle", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Fancy Pattern", "fancy", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + new PokemonForm("Poké Ball Pattern", "poke-ball", PokemonType.BUG, null, 0.3, 2.5, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 200, 38, 35, 40, 27, 25, 35, 255, 70, 40, false, "", true), + ), + new PokemonSpecies(SpeciesId.SPEWPA, 6, false, false, false, "Scatterdust Pokémon", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.SHED_SKIN, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Meadow Pattern", "meadow", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Icy Snow Pattern", "icy-snow", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Polar Pattern", "polar", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Tundra Pattern", "tundra", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Continental Pattern", "continental", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Garden Pattern", "garden", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Elegant Pattern", "elegant", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Modern Pattern", "modern", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Marine Pattern", "marine", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Archipelago Pattern", "archipelago", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("High Plains Pattern", "high-plains", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Sandstorm Pattern", "sandstorm", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("River Pattern", "river", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Monsoon Pattern", "monsoon", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Savanna Pattern", "savanna", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Sun Pattern", "sun", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Ocean Pattern", "ocean", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Jungle Pattern", "jungle", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Fancy Pattern", "fancy", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + new PokemonForm("Poké Ball Pattern", "poke-ball", PokemonType.BUG, null, 0.3, 8.4, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.FRIEND_GUARD, 213, 45, 22, 60, 27, 30, 29, 120, 70, 75, false, "", true), + ), + new PokemonSpecies(SpeciesId.VIVILLON, 6, false, false, false, "Scale Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Meadow Pattern", "meadow", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Icy Snow Pattern", "icy-snow", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Polar Pattern", "polar", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Tundra Pattern", "tundra", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Continental Pattern", "continental", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Garden Pattern", "garden", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Elegant Pattern", "elegant", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Modern Pattern", "modern", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Marine Pattern", "marine", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Archipelago Pattern", "archipelago", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("High Plains Pattern", "high-plains", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Sandstorm Pattern", "sandstorm", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("River Pattern", "river", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Monsoon Pattern", "monsoon", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Savanna Pattern", "savanna", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Sun Pattern", "sun", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Ocean Pattern", "ocean", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Jungle Pattern", "jungle", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Fancy Pattern", "fancy", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + new PokemonForm("Poké Ball Pattern", "poke-ball", PokemonType.BUG, PokemonType.FLYING, 1.2, 17, AbilityId.SHIELD_DUST, AbilityId.COMPOUND_EYES, AbilityId.FRIEND_GUARD, 411, 80, 52, 50, 90, 50, 89, 45, 70, 206, false, null, true), + ), + new PokemonSpecies(SpeciesId.LITLEO, 6, false, false, false, "Lion Cub Pokémon", PokemonType.FIRE, PokemonType.NORMAL, 0.6, 13.5, AbilityId.RIVALRY, AbilityId.UNNERVE, AbilityId.MOXIE, 369, 62, 50, 58, 73, 54, 72, 220, 70, 74, GrowthRate.MEDIUM_SLOW, 12.5, false), + new PokemonSpecies(SpeciesId.PYROAR, 6, false, false, false, "Royal Pokémon", PokemonType.FIRE, PokemonType.NORMAL, 1.5, 81.5, AbilityId.RIVALRY, AbilityId.UNNERVE, AbilityId.MOXIE, 507, 86, 68, 72, 109, 66, 106, 65, 70, 177, GrowthRate.MEDIUM_SLOW, 12.5, true), + new PokemonSpecies(SpeciesId.FLABEBE, 6, false, false, false, "Single Bloom Pokémon", PokemonType.FAIRY, null, 0.1, 0.1, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, GrowthRate.MEDIUM_FAST, 0, false, false, + new PokemonForm("Red Flower", "red", PokemonType.FAIRY, null, 0.1, 0.1, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), + new PokemonForm("Yellow Flower", "yellow", PokemonType.FAIRY, null, 0.1, 0.1, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), + new PokemonForm("Orange Flower", "orange", PokemonType.FAIRY, null, 0.1, 0.1, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), + new PokemonForm("Blue Flower", "blue", PokemonType.FAIRY, null, 0.1, 0.1, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), + new PokemonForm("White Flower", "white", PokemonType.FAIRY, null, 0.1, 0.1, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 303, 44, 38, 39, 61, 79, 42, 225, 70, 61, false, null, true), + ), + new PokemonSpecies(SpeciesId.FLOETTE, 6, false, false, false, "Single Bloom Pokémon", PokemonType.FAIRY, null, 0.2, 0.9, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, GrowthRate.MEDIUM_FAST, 0, false, false, + new PokemonForm("Red Flower", "red", PokemonType.FAIRY, null, 0.2, 0.9, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), + new PokemonForm("Yellow Flower", "yellow", PokemonType.FAIRY, null, 0.2, 0.9, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), + new PokemonForm("Orange Flower", "orange", PokemonType.FAIRY, null, 0.2, 0.9, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), + new PokemonForm("Blue Flower", "blue", PokemonType.FAIRY, null, 0.2, 0.9, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), + new PokemonForm("White Flower", "white", PokemonType.FAIRY, null, 0.2, 0.9, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 371, 54, 45, 47, 75, 98, 52, 120, 70, 130, false, null, true), + ), + new PokemonSpecies(SpeciesId.FLORGES, 6, false, false, false, "Garden Pokémon", PokemonType.FAIRY, null, 1.1, 10, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, GrowthRate.MEDIUM_FAST, 0, false, false, + new PokemonForm("Red Flower", "red", PokemonType.FAIRY, null, 1.1, 10, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), + new PokemonForm("Yellow Flower", "yellow", PokemonType.FAIRY, null, 1.1, 10, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), + new PokemonForm("Orange Flower", "orange", PokemonType.FAIRY, null, 1.1, 10, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), + new PokemonForm("Blue Flower", "blue", PokemonType.FAIRY, null, 1.1, 10, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), + new PokemonForm("White Flower", "white", PokemonType.FAIRY, null, 1.1, 10, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 552, 78, 65, 68, 112, 154, 75, 45, 70, 276, false, null, true), + ), + new PokemonSpecies(SpeciesId.SKIDDO, 6, false, false, false, "Mount Pokémon", PokemonType.GRASS, null, 0.9, 31, AbilityId.SAP_SIPPER, AbilityId.NONE, AbilityId.GRASS_PELT, 350, 66, 65, 48, 62, 57, 52, 200, 70, 70, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GOGOAT, 6, false, false, false, "Mount Pokémon", PokemonType.GRASS, null, 1.7, 91, AbilityId.SAP_SIPPER, AbilityId.NONE, AbilityId.GRASS_PELT, 531, 123, 100, 62, 97, 81, 68, 45, 70, 186, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PANCHAM, 6, false, false, false, "Playful Pokémon", PokemonType.FIGHTING, null, 0.6, 8, AbilityId.IRON_FIST, AbilityId.MOLD_BREAKER, AbilityId.SCRAPPY, 348, 67, 82, 62, 46, 48, 43, 220, 50, 70, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PANGORO, 6, false, false, false, "Daunting Pokémon", PokemonType.FIGHTING, PokemonType.DARK, 2.1, 136, AbilityId.IRON_FIST, AbilityId.MOLD_BREAKER, AbilityId.SCRAPPY, 495, 95, 124, 78, 69, 71, 58, 65, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FURFROU, 6, false, false, false, "Poodle Pokémon", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Natural Form", "", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Heart Trim", "heart", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Star Trim", "star", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Diamond Trim", "diamond", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Debutante Trim", "debutante", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Matron Trim", "matron", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Dandy Trim", "dandy", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("La Reine Trim", "la-reine", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Kabuki Trim", "kabuki", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + new PokemonForm("Pharaoh Trim", "pharaoh", PokemonType.NORMAL, null, 1.2, 28, AbilityId.FUR_COAT, AbilityId.NONE, AbilityId.NONE, 472, 75, 80, 60, 65, 90, 102, 160, 70, 165, false, null, true), + ), + new PokemonSpecies(SpeciesId.ESPURR, 6, false, false, false, "Restraint Pokémon", PokemonType.PSYCHIC, null, 0.3, 3.5, AbilityId.KEEN_EYE, AbilityId.INFILTRATOR, AbilityId.OWN_TEMPO, 355, 62, 48, 54, 63, 60, 68, 190, 50, 71, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MEOWSTIC, 6, false, false, false, "Constraint Pokémon", PokemonType.PSYCHIC, null, 0.6, 8.5, AbilityId.KEEN_EYE, AbilityId.INFILTRATOR, AbilityId.PRANKSTER, 466, 74, 48, 76, 83, 81, 104, 75, 50, 163, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Male", "male", PokemonType.PSYCHIC, null, 0.6, 8.5, AbilityId.KEEN_EYE, AbilityId.INFILTRATOR, AbilityId.PRANKSTER, 466, 74, 48, 76, 83, 81, 104, 75, 50, 163, false, "", true), + new PokemonForm("Female", "female", PokemonType.PSYCHIC, null, 0.6, 8.5, AbilityId.KEEN_EYE, AbilityId.INFILTRATOR, AbilityId.COMPETITIVE, 466, 74, 48, 76, 83, 81, 104, 75, 50, 163, false, null, true), + ), + new PokemonSpecies(SpeciesId.HONEDGE, 6, false, false, false, "Sword Pokémon", PokemonType.STEEL, PokemonType.GHOST, 0.8, 2, AbilityId.NO_GUARD, AbilityId.NONE, AbilityId.NONE, 325, 45, 80, 100, 35, 37, 28, 180, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DOUBLADE, 6, false, false, false, "Sword Pokémon", PokemonType.STEEL, PokemonType.GHOST, 0.8, 4.5, AbilityId.NO_GUARD, AbilityId.NONE, AbilityId.NONE, 448, 59, 110, 150, 45, 49, 35, 90, 50, 157, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.AEGISLASH, 6, false, false, false, "Royal Sword Pokémon", PokemonType.STEEL, PokemonType.GHOST, 1.7, 53, AbilityId.STANCE_CHANGE, AbilityId.NONE, AbilityId.NONE, 500, 60, 50, 140, 50, 140, 60, 45, 50, 250, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Shield Forme", "shield", PokemonType.STEEL, PokemonType.GHOST, 1.7, 53, AbilityId.STANCE_CHANGE, AbilityId.NONE, AbilityId.NONE, 500, 60, 50, 140, 50, 140, 60, 45, 50, 250, false, "", true), + new PokemonForm("Blade Forme", "blade", PokemonType.STEEL, PokemonType.GHOST, 1.7, 53, AbilityId.STANCE_CHANGE, AbilityId.NONE, AbilityId.NONE, 500, 60, 140, 50, 140, 50, 60, 45, 50, 250), + ), + new PokemonSpecies(SpeciesId.SPRITZEE, 6, false, false, false, "Perfume Pokémon", PokemonType.FAIRY, null, 0.2, 0.5, AbilityId.HEALER, AbilityId.NONE, AbilityId.AROMA_VEIL, 341, 78, 52, 60, 63, 65, 23, 200, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.AROMATISSE, 6, false, false, false, "Fragrance Pokémon", PokemonType.FAIRY, null, 0.8, 15.5, AbilityId.HEALER, AbilityId.NONE, AbilityId.AROMA_VEIL, 462, 101, 72, 72, 99, 89, 29, 140, 50, 162, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SWIRLIX, 6, false, false, false, "Cotton Candy Pokémon", PokemonType.FAIRY, null, 0.4, 3.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.UNBURDEN, 341, 62, 48, 66, 59, 57, 49, 200, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SLURPUFF, 6, false, false, false, "Meringue Pokémon", PokemonType.FAIRY, null, 0.8, 5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.UNBURDEN, 480, 82, 80, 86, 85, 75, 72, 140, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.INKAY, 6, false, false, false, "Revolving Pokémon", PokemonType.DARK, PokemonType.PSYCHIC, 0.4, 3.5, AbilityId.CONTRARY, AbilityId.SUCTION_CUPS, AbilityId.INFILTRATOR, 288, 53, 54, 53, 37, 46, 45, 190, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MALAMAR, 6, false, false, false, "Overturning Pokémon", PokemonType.DARK, PokemonType.PSYCHIC, 1.5, 47, AbilityId.CONTRARY, AbilityId.SUCTION_CUPS, AbilityId.INFILTRATOR, 482, 86, 92, 88, 68, 75, 73, 80, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BINACLE, 6, false, false, false, "Two-Handed Pokémon", PokemonType.ROCK, PokemonType.WATER, 0.5, 31, AbilityId.TOUGH_CLAWS, AbilityId.SNIPER, AbilityId.PICKPOCKET, 306, 42, 52, 67, 39, 56, 50, 120, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BARBARACLE, 6, false, false, false, "Collective Pokémon", PokemonType.ROCK, PokemonType.WATER, 1.3, 96, AbilityId.TOUGH_CLAWS, AbilityId.SNIPER, AbilityId.PICKPOCKET, 500, 72, 105, 115, 54, 86, 68, 45, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SKRELP, 6, false, false, false, "Mock Kelp Pokémon", PokemonType.POISON, PokemonType.WATER, 0.5, 7.3, AbilityId.POISON_POINT, AbilityId.POISON_TOUCH, AbilityId.ADAPTABILITY, 320, 50, 60, 60, 60, 60, 30, 225, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DRAGALGE, 6, false, false, false, "Mock Kelp Pokémon", PokemonType.POISON, PokemonType.DRAGON, 1.8, 81.5, AbilityId.POISON_POINT, AbilityId.POISON_TOUCH, AbilityId.ADAPTABILITY, 494, 65, 75, 90, 97, 123, 44, 55, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CLAUNCHER, 6, false, false, false, "Water Gun Pokémon", PokemonType.WATER, null, 0.5, 8.3, AbilityId.MEGA_LAUNCHER, AbilityId.NONE, AbilityId.NONE, 330, 50, 53, 62, 58, 63, 44, 225, 50, 66, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.CLAWITZER, 6, false, false, false, "Howitzer Pokémon", PokemonType.WATER, null, 1.3, 35.3, AbilityId.MEGA_LAUNCHER, AbilityId.NONE, AbilityId.NONE, 500, 71, 73, 88, 120, 89, 59, 55, 50, 100, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HELIOPTILE, 6, false, false, false, "Generator Pokémon", PokemonType.ELECTRIC, PokemonType.NORMAL, 0.5, 6, AbilityId.DRY_SKIN, AbilityId.SAND_VEIL, AbilityId.SOLAR_POWER, 289, 44, 38, 33, 61, 43, 70, 190, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HELIOLISK, 6, false, false, false, "Generator Pokémon", PokemonType.ELECTRIC, PokemonType.NORMAL, 1, 21, AbilityId.DRY_SKIN, AbilityId.SAND_VEIL, AbilityId.SOLAR_POWER, 481, 62, 55, 52, 109, 94, 109, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TYRUNT, 6, false, false, false, "Royal Heir Pokémon", PokemonType.ROCK, PokemonType.DRAGON, 0.8, 26, AbilityId.STRONG_JAW, AbilityId.NONE, AbilityId.STURDY, 362, 58, 89, 77, 45, 45, 48, 45, 50, 72, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.TYRANTRUM, 6, false, false, false, "Despot Pokémon", PokemonType.ROCK, PokemonType.DRAGON, 2.5, 270, AbilityId.STRONG_JAW, AbilityId.NONE, AbilityId.ROCK_HEAD, 521, 82, 121, 119, 69, 59, 71, 45, 50, 182, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.AMAURA, 6, false, false, false, "Tundra Pokémon", PokemonType.ROCK, PokemonType.ICE, 1.3, 25.2, AbilityId.REFRIGERATE, AbilityId.NONE, AbilityId.SNOW_WARNING, 362, 77, 59, 50, 67, 63, 46, 45, 50, 72, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.AURORUS, 6, false, false, false, "Tundra Pokémon", PokemonType.ROCK, PokemonType.ICE, 2.7, 225, AbilityId.REFRIGERATE, AbilityId.NONE, AbilityId.SNOW_WARNING, 521, 123, 77, 72, 99, 92, 58, 45, 50, 104, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.SYLVEON, 6, false, false, false, "Intertwining Pokémon", PokemonType.FAIRY, null, 1, 23.5, AbilityId.CUTE_CHARM, AbilityId.NONE, AbilityId.PIXILATE, 525, 95, 65, 65, 110, 130, 60, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.HAWLUCHA, 6, false, false, false, "Wrestling Pokémon", PokemonType.FIGHTING, PokemonType.FLYING, 0.8, 21.5, AbilityId.LIMBER, AbilityId.UNBURDEN, AbilityId.MOLD_BREAKER, 500, 78, 92, 75, 74, 63, 118, 100, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DEDENNE, 6, false, false, false, "Antenna Pokémon", PokemonType.ELECTRIC, PokemonType.FAIRY, 0.2, 2.2, AbilityId.CHEEK_POUCH, AbilityId.PICKUP, AbilityId.PLUS, 431, 67, 58, 57, 81, 67, 101, 180, 50, 151, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CARBINK, 6, false, false, false, "Jewel Pokémon", PokemonType.ROCK, PokemonType.FAIRY, 0.3, 5.7, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.STURDY, 500, 50, 50, 150, 50, 150, 50, 60, 50, 100, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.GOOMY, 6, false, false, false, "Soft Tissue Pokémon", PokemonType.DRAGON, null, 0.3, 2.8, AbilityId.SAP_SIPPER, AbilityId.HYDRATION, AbilityId.GOOEY, 300, 45, 50, 35, 55, 75, 40, 45, 35, 60, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.SLIGGOO, 6, false, false, false, "Soft Tissue Pokémon", PokemonType.DRAGON, null, 0.8, 17.5, AbilityId.SAP_SIPPER, AbilityId.HYDRATION, AbilityId.GOOEY, 452, 68, 75, 53, 83, 113, 60, 45, 35, 158, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.GOODRA, 6, false, false, false, "Dragon Pokémon", PokemonType.DRAGON, null, 2, 150.5, AbilityId.SAP_SIPPER, AbilityId.HYDRATION, AbilityId.GOOEY, 600, 90, 100, 70, 110, 150, 80, 45, 35, 300, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.KLEFKI, 6, false, false, false, "Key Ring Pokémon", PokemonType.STEEL, PokemonType.FAIRY, 0.2, 3, AbilityId.PRANKSTER, AbilityId.NONE, AbilityId.MAGICIAN, 470, 57, 80, 91, 80, 87, 75, 75, 50, 165, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.PHANTUMP, 6, false, false, false, "Stump Pokémon", PokemonType.GHOST, PokemonType.GRASS, 0.4, 7, AbilityId.NATURAL_CURE, AbilityId.FRISK, AbilityId.HARVEST, 309, 43, 70, 48, 50, 60, 38, 120, 50, 62, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TREVENANT, 6, false, false, false, "Elder Tree Pokémon", PokemonType.GHOST, PokemonType.GRASS, 1.5, 71, AbilityId.NATURAL_CURE, AbilityId.FRISK, AbilityId.HARVEST, 474, 85, 110, 76, 65, 82, 56, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PUMPKABOO, 6, false, false, false, "Pumpkin Pokémon", PokemonType.GHOST, PokemonType.GRASS, 0.4, 5, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 335, 49, 66, 70, 44, 55, 51, 120, 50, 67, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Average Size", "", PokemonType.GHOST, PokemonType.GRASS, 0.4, 5, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 335, 49, 66, 70, 44, 55, 51, 120, 50, 67, false, null, true), + new PokemonForm("Small Size", "small", PokemonType.GHOST, PokemonType.GRASS, 0.3, 3.5, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 335, 44, 66, 70, 44, 55, 56, 120, 50, 67, false, "", true), + new PokemonForm("Large Size", "large", PokemonType.GHOST, PokemonType.GRASS, 0.5, 7.5, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 335, 54, 66, 70, 44, 55, 46, 120, 50, 67, false, "", true), + new PokemonForm("Super Size", "super", PokemonType.GHOST, PokemonType.GRASS, 0.8, 15, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 335, 59, 66, 70, 44, 55, 41, 120, 50, 67, false, "", true), + ), + new PokemonSpecies(SpeciesId.GOURGEIST, 6, false, false, false, "Pumpkin Pokémon", PokemonType.GHOST, PokemonType.GRASS, 0.9, 12.5, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 494, 65, 90, 122, 58, 75, 84, 60, 50, 173, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Average Size", "", PokemonType.GHOST, PokemonType.GRASS, 0.9, 12.5, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 494, 65, 90, 122, 58, 75, 84, 60, 50, 173, false, null, true), + new PokemonForm("Small Size", "small", PokemonType.GHOST, PokemonType.GRASS, 0.7, 9.5, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 494, 55, 85, 122, 58, 75, 99, 60, 50, 173, false, "", true), + new PokemonForm("Large Size", "large", PokemonType.GHOST, PokemonType.GRASS, 1.1, 14, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 494, 75, 95, 122, 58, 75, 69, 60, 50, 173, false, "", true), + new PokemonForm("Super Size", "super", PokemonType.GHOST, PokemonType.GRASS, 1.7, 39, AbilityId.PICKUP, AbilityId.FRISK, AbilityId.INSOMNIA, 494, 85, 100, 122, 58, 75, 54, 60, 50, 173, false, "", true), + ), + new PokemonSpecies(SpeciesId.BERGMITE, 6, false, false, false, "Ice Chunk Pokémon", PokemonType.ICE, null, 1, 99.5, AbilityId.OWN_TEMPO, AbilityId.ICE_BODY, AbilityId.STURDY, 304, 55, 69, 85, 32, 35, 28, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.AVALUGG, 6, false, false, false, "Iceberg Pokémon", PokemonType.ICE, null, 2, 505, AbilityId.OWN_TEMPO, AbilityId.ICE_BODY, AbilityId.STURDY, 514, 95, 117, 184, 44, 46, 28, 55, 50, 180, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.NOIBAT, 6, false, false, false, "Sound Wave Pokémon", PokemonType.FLYING, PokemonType.DRAGON, 0.5, 8, AbilityId.FRISK, AbilityId.INFILTRATOR, AbilityId.TELEPATHY, 245, 40, 30, 35, 45, 40, 55, 190, 50, 49, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.NOIVERN, 6, false, false, false, "Sound Wave Pokémon", PokemonType.FLYING, PokemonType.DRAGON, 1.5, 85, AbilityId.FRISK, AbilityId.INFILTRATOR, AbilityId.TELEPATHY, 535, 85, 70, 80, 97, 80, 123, 45, 50, 187, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.XERNEAS, 6, false, true, false, "Life Pokémon", PokemonType.FAIRY, null, 3, 215, AbilityId.FAIRY_AURA, AbilityId.NONE, AbilityId.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, GrowthRate.SLOW, null, false, true, + new PokemonForm("Neutral Mode", "neutral", PokemonType.FAIRY, null, 3, 215, AbilityId.FAIRY_AURA, AbilityId.NONE, AbilityId.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, false, null, true), + new PokemonForm("Active Mode", "active", PokemonType.FAIRY, null, 3, 215, AbilityId.FAIRY_AURA, AbilityId.NONE, AbilityId.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340) + ), + new PokemonSpecies(SpeciesId.YVELTAL, 6, false, true, false, "Destruction Pokémon", PokemonType.DARK, PokemonType.FLYING, 5.8, 203, AbilityId.DARK_AURA, AbilityId.NONE, AbilityId.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 340, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ZYGARDE, 6, false, true, false, "Order Pokémon", PokemonType.DRAGON, PokemonType.GROUND, 5, 305, AbilityId.AURA_BREAK, AbilityId.NONE, AbilityId.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, GrowthRate.SLOW, null, false, false, + new PokemonForm("50% Forme", "50", PokemonType.DRAGON, PokemonType.GROUND, 5, 305, AbilityId.AURA_BREAK, AbilityId.NONE, AbilityId.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, "", true), + new PokemonForm("10% Forme", "10", PokemonType.DRAGON, PokemonType.GROUND, 1.2, 33.5, AbilityId.AURA_BREAK, AbilityId.NONE, AbilityId.NONE, 486, 54, 100, 71, 61, 85, 115, 3, 0, 243, false, null, true), + new PokemonForm("50% Forme Power Construct", "50-pc", PokemonType.DRAGON, PokemonType.GROUND, 5, 305, AbilityId.POWER_CONSTRUCT, AbilityId.NONE, AbilityId.NONE, 600, 108, 100, 121, 81, 95, 95, 3, 0, 300, false, "", true), + new PokemonForm("10% Forme Power Construct", "10-pc", PokemonType.DRAGON, PokemonType.GROUND, 1.2, 33.5, AbilityId.POWER_CONSTRUCT, AbilityId.NONE, AbilityId.NONE, 486, 54, 100, 71, 61, 85, 115, 3, 0, 243, false, "10", true), + new PokemonForm("Complete Forme (50% PC)", "complete", PokemonType.DRAGON, PokemonType.GROUND, 4.5, 610, AbilityId.POWER_CONSTRUCT, AbilityId.NONE, AbilityId.NONE, 708, 216, 100, 121, 91, 95, 85, 3, 0, 354), + new PokemonForm("Complete Forme (10% PC)", "10-complete", PokemonType.DRAGON, PokemonType.GROUND, 4.5, 610, AbilityId.POWER_CONSTRUCT, AbilityId.NONE, AbilityId.NONE, 708, 216, 100, 121, 91, 95, 85, 3, 0, 354, false, "complete"), + ), + new PokemonSpecies(SpeciesId.DIANCIE, 6, false, false, true, "Jewel Pokémon", PokemonType.ROCK, PokemonType.FAIRY, 0.7, 8.8, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.NONE, 600, 50, 100, 150, 100, 150, 50, 3, 50, 300, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.FAIRY, 0.7, 8.8, AbilityId.CLEAR_BODY, AbilityId.NONE, AbilityId.NONE, 600, 50, 100, 150, 100, 150, 50, 3, 50, 300, false, null, true), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.ROCK, PokemonType.FAIRY, 1.1, 27.8, AbilityId.MAGIC_BOUNCE, AbilityId.NONE, AbilityId.NONE, 700, 50, 160, 110, 160, 110, 110, 3, 50, 300), + ), + new PokemonSpecies(SpeciesId.HOOPA, 6, false, false, true, "Mischief Pokémon", PokemonType.PSYCHIC, PokemonType.GHOST, 0.5, 9, AbilityId.MAGICIAN, AbilityId.NONE, AbilityId.NONE, 600, 80, 110, 60, 150, 130, 70, 3, 100, 300, GrowthRate.SLOW, null, false, false, + new PokemonForm("Hoopa Confined", "", PokemonType.PSYCHIC, PokemonType.GHOST, 0.5, 9, AbilityId.MAGICIAN, AbilityId.NONE, AbilityId.NONE, 600, 80, 110, 60, 150, 130, 70, 3, 100, 300, false, null, true), + new PokemonForm("Hoopa Unbound", "unbound", PokemonType.PSYCHIC, PokemonType.DARK, 6.5, 490, AbilityId.MAGICIAN, AbilityId.NONE, AbilityId.NONE, 680, 80, 160, 60, 170, 130, 80, 3, 100, 340), + ), + new PokemonSpecies(SpeciesId.VOLCANION, 6, false, false, true, "Steam Pokémon", PokemonType.FIRE, PokemonType.WATER, 1.7, 195, AbilityId.WATER_ABSORB, AbilityId.NONE, AbilityId.NONE, 600, 80, 110, 120, 130, 90, 70, 3, 100, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ROWLET, 7, false, false, false, "Grass Quill Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.3, 1.5, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.LONG_REACH, 320, 68, 55, 55, 50, 50, 42, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.DARTRIX, 7, false, false, false, "Blade Quill Pokémon", PokemonType.GRASS, PokemonType.FLYING, 0.7, 16, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.LONG_REACH, 420, 78, 75, 75, 70, 70, 52, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.DECIDUEYE, 7, false, false, false, "Arrow Quill Pokémon", PokemonType.GRASS, PokemonType.GHOST, 1.6, 36.6, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.LONG_REACH, 530, 78, 107, 75, 100, 100, 70, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.LITTEN, 7, false, false, false, "Fire Cat Pokémon", PokemonType.FIRE, null, 0.4, 4.3, AbilityId.BLAZE, AbilityId.NONE, AbilityId.INTIMIDATE, 320, 45, 65, 40, 60, 40, 70, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.TORRACAT, 7, false, false, false, "Fire Cat Pokémon", PokemonType.FIRE, null, 0.7, 25, AbilityId.BLAZE, AbilityId.NONE, AbilityId.INTIMIDATE, 420, 65, 85, 50, 80, 50, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.INCINEROAR, 7, false, false, false, "Heel Pokémon", PokemonType.FIRE, PokemonType.DARK, 1.8, 83, AbilityId.BLAZE, AbilityId.NONE, AbilityId.INTIMIDATE, 530, 95, 115, 90, 80, 90, 60, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.POPPLIO, 7, false, false, false, "Sea Lion Pokémon", PokemonType.WATER, null, 0.4, 7.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.LIQUID_VOICE, 320, 50, 54, 54, 66, 56, 40, 45, 50, 64, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.BRIONNE, 7, false, false, false, "Pop Star Pokémon", PokemonType.WATER, null, 0.6, 17.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.LIQUID_VOICE, 420, 60, 69, 69, 91, 81, 50, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.PRIMARINA, 7, false, false, false, "Soloist Pokémon", PokemonType.WATER, PokemonType.FAIRY, 1.8, 44, AbilityId.TORRENT, AbilityId.NONE, AbilityId.LIQUID_VOICE, 530, 80, 74, 74, 126, 116, 60, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.PIKIPEK, 7, false, false, false, "Woodpecker Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.3, 1.2, AbilityId.KEEN_EYE, AbilityId.SKILL_LINK, AbilityId.PICKUP, 265, 35, 75, 30, 30, 30, 65, 255, 70, 53, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TRUMBEAK, 7, false, false, false, "Bugle Beak Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 14.8, AbilityId.KEEN_EYE, AbilityId.SKILL_LINK, AbilityId.PICKUP, 355, 55, 85, 50, 40, 50, 75, 120, 70, 124, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TOUCANNON, 7, false, false, false, "Cannon Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 1.1, 26, AbilityId.KEEN_EYE, AbilityId.SKILL_LINK, AbilityId.SHEER_FORCE, 485, 80, 120, 75, 75, 75, 60, 45, 70, 243, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.YUNGOOS, 7, false, false, false, "Loitering Pokémon", PokemonType.NORMAL, null, 0.4, 6, AbilityId.STAKEOUT, AbilityId.STRONG_JAW, AbilityId.ADAPTABILITY, 253, 48, 70, 30, 30, 30, 45, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GUMSHOOS, 7, false, false, false, "Stakeout Pokémon", PokemonType.NORMAL, null, 0.7, 14.2, AbilityId.STAKEOUT, AbilityId.STRONG_JAW, AbilityId.ADAPTABILITY, 418, 88, 110, 60, 55, 60, 45, 127, 70, 146, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GRUBBIN, 7, false, false, false, "Larva Pokémon", PokemonType.BUG, null, 0.4, 4.4, AbilityId.SWARM, AbilityId.NONE, AbilityId.NONE, 300, 47, 62, 45, 55, 45, 46, 255, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CHARJABUG, 7, false, false, false, "Battery Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 0.5, 10.5, AbilityId.BATTERY, AbilityId.NONE, AbilityId.NONE, 400, 57, 82, 95, 55, 75, 36, 120, 50, 140, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.VIKAVOLT, 7, false, false, false, "Stag Beetle Pokémon", PokemonType.BUG, PokemonType.ELECTRIC, 1.5, 45, AbilityId.LEVITATE, AbilityId.NONE, AbilityId.NONE, 500, 77, 70, 90, 145, 75, 43, 45, 50, 250, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CRABRAWLER, 7, false, false, false, "Boxing Pokémon", PokemonType.FIGHTING, null, 0.6, 7, AbilityId.HYPER_CUTTER, AbilityId.IRON_FIST, AbilityId.ANGER_POINT, 338, 47, 82, 57, 42, 47, 63, 225, 70, 68, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CRABOMINABLE, 7, false, false, false, "Woolly Crab Pokémon", PokemonType.FIGHTING, PokemonType.ICE, 1.7, 180, AbilityId.HYPER_CUTTER, AbilityId.IRON_FIST, AbilityId.ANGER_POINT, 478, 97, 132, 77, 62, 67, 43, 60, 70, 167, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ORICORIO, 7, false, false, false, "Dancing Pokémon", PokemonType.FIRE, PokemonType.FLYING, 0.6, 3.4, AbilityId.DANCER, AbilityId.NONE, AbilityId.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, GrowthRate.MEDIUM_FAST, 25, false, false, + new PokemonForm("Baile Style", "baile", PokemonType.FIRE, PokemonType.FLYING, 0.6, 3.4, AbilityId.DANCER, AbilityId.NONE, AbilityId.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, "", true), + new PokemonForm("Pom-Pom Style", "pompom", PokemonType.ELECTRIC, PokemonType.FLYING, 0.6, 3.4, AbilityId.DANCER, AbilityId.NONE, AbilityId.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, null, true), + new PokemonForm("Pau Style", "pau", PokemonType.PSYCHIC, PokemonType.FLYING, 0.6, 3.4, AbilityId.DANCER, AbilityId.NONE, AbilityId.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, null, true), + new PokemonForm("Sensu Style", "sensu", PokemonType.GHOST, PokemonType.FLYING, 0.6, 3.4, AbilityId.DANCER, AbilityId.NONE, AbilityId.NONE, 476, 75, 70, 70, 98, 70, 93, 45, 70, 167, false, null, true), + ), + new PokemonSpecies(SpeciesId.CUTIEFLY, 7, false, false, false, "Bee Fly Pokémon", PokemonType.BUG, PokemonType.FAIRY, 0.1, 0.2, AbilityId.HONEY_GATHER, AbilityId.SHIELD_DUST, AbilityId.SWEET_VEIL, 304, 40, 45, 40, 55, 40, 84, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RIBOMBEE, 7, false, false, false, "Bee Fly Pokémon", PokemonType.BUG, PokemonType.FAIRY, 0.2, 0.5, AbilityId.HONEY_GATHER, AbilityId.SHIELD_DUST, AbilityId.SWEET_VEIL, 464, 60, 55, 60, 95, 70, 124, 75, 50, 162, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ROCKRUFF, 7, false, false, false, "Puppy Pokémon", PokemonType.ROCK, null, 0.5, 9.2, AbilityId.KEEN_EYE, AbilityId.VITAL_SPIRIT, AbilityId.STEADFAST, 280, 45, 65, 40, 30, 40, 60, 190, 50, 56, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Normal", "", PokemonType.ROCK, null, 0.5, 9.2, AbilityId.KEEN_EYE, AbilityId.VITAL_SPIRIT, AbilityId.STEADFAST, 280, 45, 65, 40, 30, 40, 60, 190, 50, 56, false, null, true), + new PokemonForm("Own Tempo", "own-tempo", PokemonType.ROCK, null, 0.5, 9.2, AbilityId.OWN_TEMPO, AbilityId.NONE, AbilityId.OWN_TEMPO, 280, 45, 65, 40, 30, 40, 60, 190, 50, 56, false, "", true), + ), + new PokemonSpecies(SpeciesId.LYCANROC, 7, false, false, false, "Wolf Pokémon", PokemonType.ROCK, null, 0.8, 25, AbilityId.KEEN_EYE, AbilityId.SAND_RUSH, AbilityId.STEADFAST, 487, 75, 115, 65, 55, 65, 112, 90, 50, 170, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Midday Form", "midday", PokemonType.ROCK, null, 0.8, 25, AbilityId.KEEN_EYE, AbilityId.SAND_RUSH, AbilityId.STEADFAST, 487, 75, 115, 65, 55, 65, 112, 90, 50, 170, false, "", true), + new PokemonForm("Midnight Form", "midnight", PokemonType.ROCK, null, 1.1, 25, AbilityId.KEEN_EYE, AbilityId.VITAL_SPIRIT, AbilityId.NO_GUARD, 487, 85, 115, 75, 55, 75, 82, 90, 50, 170, false, null, true), + new PokemonForm("Dusk Form", "dusk", PokemonType.ROCK, null, 0.8, 25, AbilityId.TOUGH_CLAWS, AbilityId.TOUGH_CLAWS, AbilityId.TOUGH_CLAWS, 487, 75, 117, 65, 55, 65, 110, 90, 50, 170, false, null, true), + ), + new PokemonSpecies(SpeciesId.WISHIWASHI, 7, false, false, false, "Small Fry Pokémon", PokemonType.WATER, null, 0.2, 0.3, AbilityId.SCHOOLING, AbilityId.NONE, AbilityId.NONE, 175, 45, 20, 20, 25, 25, 40, 60, 50, 61, GrowthRate.FAST, 50, false, false, + new PokemonForm("Solo Form", "", PokemonType.WATER, null, 0.2, 0.3, AbilityId.SCHOOLING, AbilityId.NONE, AbilityId.NONE, 175, 45, 20, 20, 25, 25, 40, 60, 50, 61, false, null, true), + new PokemonForm("School", "school", PokemonType.WATER, null, 8.2, 78.6, AbilityId.SCHOOLING, AbilityId.NONE, AbilityId.NONE, 620, 45, 140, 130, 140, 135, 30, 60, 50, 217), + ), + new PokemonSpecies(SpeciesId.MAREANIE, 7, false, false, false, "Brutal Star Pokémon", PokemonType.POISON, PokemonType.WATER, 0.4, 8, AbilityId.MERCILESS, AbilityId.LIMBER, AbilityId.REGENERATOR, 305, 50, 53, 62, 43, 52, 45, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TOXAPEX, 7, false, false, false, "Brutal Star Pokémon", PokemonType.POISON, PokemonType.WATER, 0.7, 14.5, AbilityId.MERCILESS, AbilityId.LIMBER, AbilityId.REGENERATOR, 495, 50, 63, 152, 53, 142, 35, 75, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MUDBRAY, 7, false, false, false, "Donkey Pokémon", PokemonType.GROUND, null, 1, 110, AbilityId.OWN_TEMPO, AbilityId.STAMINA, AbilityId.INNER_FOCUS, 385, 70, 100, 70, 45, 55, 45, 190, 50, 77, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MUDSDALE, 7, false, false, false, "Draft Horse Pokémon", PokemonType.GROUND, null, 2.5, 920, AbilityId.OWN_TEMPO, AbilityId.STAMINA, AbilityId.INNER_FOCUS, 500, 100, 125, 100, 55, 85, 35, 60, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DEWPIDER, 7, false, false, false, "Water Bubble Pokémon", PokemonType.WATER, PokemonType.BUG, 0.3, 4, AbilityId.WATER_BUBBLE, AbilityId.NONE, AbilityId.WATER_ABSORB, 269, 38, 40, 52, 40, 72, 27, 200, 50, 54, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ARAQUANID, 7, false, false, false, "Water Bubble Pokémon", PokemonType.WATER, PokemonType.BUG, 1.8, 82, AbilityId.WATER_BUBBLE, AbilityId.NONE, AbilityId.WATER_ABSORB, 454, 68, 70, 92, 50, 132, 42, 100, 50, 159, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FOMANTIS, 7, false, false, false, "Sickle Grass Pokémon", PokemonType.GRASS, null, 0.3, 1.5, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.CONTRARY, 250, 40, 55, 35, 50, 35, 35, 190, 50, 50, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LURANTIS, 7, false, false, false, "Bloom Sickle Pokémon", PokemonType.GRASS, null, 0.9, 18.5, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.CONTRARY, 480, 70, 105, 90, 80, 90, 45, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MORELULL, 7, false, false, false, "Illuminating Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 0.2, 1.5, AbilityId.ILLUMINATE, AbilityId.EFFECT_SPORE, AbilityId.RAIN_DISH, 285, 40, 35, 55, 65, 75, 15, 190, 50, 57, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SHIINOTIC, 7, false, false, false, "Illuminating Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 1, 11.5, AbilityId.ILLUMINATE, AbilityId.EFFECT_SPORE, AbilityId.RAIN_DISH, 405, 60, 45, 80, 90, 100, 30, 75, 50, 142, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SALANDIT, 7, false, false, false, "Toxic Lizard Pokémon", PokemonType.POISON, PokemonType.FIRE, 0.6, 4.8, AbilityId.CORROSION, AbilityId.NONE, AbilityId.OBLIVIOUS, 320, 48, 44, 40, 71, 40, 77, 120, 50, 64, GrowthRate.MEDIUM_FAST, 87.5, false), + new PokemonSpecies(SpeciesId.SALAZZLE, 7, false, false, false, "Toxic Lizard Pokémon", PokemonType.POISON, PokemonType.FIRE, 1.2, 22.2, AbilityId.CORROSION, AbilityId.NONE, AbilityId.OBLIVIOUS, 480, 68, 64, 60, 111, 60, 117, 45, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.STUFFUL, 7, false, false, false, "Flailing Pokémon", PokemonType.NORMAL, PokemonType.FIGHTING, 0.5, 6.8, AbilityId.FLUFFY, AbilityId.KLUTZ, AbilityId.CUTE_CHARM, 340, 70, 75, 50, 45, 50, 50, 140, 50, 68, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BEWEAR, 7, false, false, false, "Strong Arm Pokémon", PokemonType.NORMAL, PokemonType.FIGHTING, 2.1, 135, AbilityId.FLUFFY, AbilityId.KLUTZ, AbilityId.UNNERVE, 500, 120, 125, 80, 55, 60, 60, 70, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BOUNSWEET, 7, false, false, false, "Fruit Pokémon", PokemonType.GRASS, null, 0.3, 3.2, AbilityId.LEAF_GUARD, AbilityId.OBLIVIOUS, AbilityId.SWEET_VEIL, 210, 42, 30, 38, 30, 38, 32, 235, 50, 42, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.STEENEE, 7, false, false, false, "Fruit Pokémon", PokemonType.GRASS, null, 0.7, 8.2, AbilityId.LEAF_GUARD, AbilityId.OBLIVIOUS, AbilityId.SWEET_VEIL, 290, 52, 40, 48, 40, 48, 62, 120, 50, 102, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.TSAREENA, 7, false, false, false, "Fruit Pokémon", PokemonType.GRASS, null, 1.2, 21.4, AbilityId.LEAF_GUARD, AbilityId.QUEENLY_MAJESTY, AbilityId.SWEET_VEIL, 510, 72, 120, 98, 50, 98, 72, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.COMFEY, 7, false, false, false, "Posy Picker Pokémon", PokemonType.FAIRY, null, 0.1, 0.3, AbilityId.FLOWER_VEIL, AbilityId.TRIAGE, AbilityId.NATURAL_CURE, 485, 51, 52, 90, 82, 110, 100, 60, 50, 170, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.ORANGURU, 7, false, false, false, "Sage Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 1.5, 76, AbilityId.INNER_FOCUS, AbilityId.TELEPATHY, AbilityId.SYMBIOSIS, 490, 90, 60, 80, 90, 110, 60, 45, 50, 172, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.PASSIMIAN, 7, false, false, false, "Teamwork Pokémon", PokemonType.FIGHTING, null, 2, 82.8, AbilityId.RECEIVER, AbilityId.NONE, AbilityId.DEFIANT, 490, 100, 120, 90, 40, 60, 80, 45, 50, 172, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.WIMPOD, 7, false, false, false, "Turn Tail Pokémon", PokemonType.BUG, PokemonType.WATER, 0.5, 12, AbilityId.WIMP_OUT, AbilityId.NONE, AbilityId.RUN_AWAY, 230, 25, 35, 40, 20, 30, 80, 90, 50, 46, GrowthRate.MEDIUM_FAST, 50, false), //Custom Hidden + new PokemonSpecies(SpeciesId.GOLISOPOD, 7, false, false, false, "Hard Scale Pokémon", PokemonType.BUG, PokemonType.WATER, 2, 108, AbilityId.EMERGENCY_EXIT, AbilityId.NONE, AbilityId.ANTICIPATION, 530, 75, 125, 140, 60, 90, 40, 45, 50, 186, GrowthRate.MEDIUM_FAST, 50, false), //Custom Hidden + new PokemonSpecies(SpeciesId.SANDYGAST, 7, false, false, false, "Sand Heap Pokémon", PokemonType.GHOST, PokemonType.GROUND, 0.5, 70, AbilityId.WATER_COMPACTION, AbilityId.NONE, AbilityId.SAND_VEIL, 320, 55, 55, 80, 70, 45, 15, 140, 50, 64, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PALOSSAND, 7, false, false, false, "Sand Castle Pokémon", PokemonType.GHOST, PokemonType.GROUND, 1.3, 250, AbilityId.WATER_COMPACTION, AbilityId.NONE, AbilityId.SAND_VEIL, 480, 85, 75, 110, 100, 75, 35, 60, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PYUKUMUKU, 7, false, false, false, "Sea Cucumber Pokémon", PokemonType.WATER, null, 0.3, 1.2, AbilityId.INNARDS_OUT, AbilityId.NONE, AbilityId.UNAWARE, 410, 55, 60, 130, 30, 130, 5, 60, 50, 144, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.TYPE_NULL, 7, true, false, false, "Synthetic Pokémon", PokemonType.NORMAL, null, 1.9, 120.5, AbilityId.BATTLE_ARMOR, AbilityId.NONE, AbilityId.NONE, 534, 95, 95, 95, 95, 95, 59, 3, 0, 107, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SILVALLY, 7, true, false, false, "Synthetic Pokémon", PokemonType.NORMAL, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285, GrowthRate.SLOW, null, false, false, + new PokemonForm("Type: Normal", "normal", PokemonType.NORMAL, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285, false, "", true), + new PokemonForm("Type: Fighting", "fighting", PokemonType.FIGHTING, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Flying", "flying", PokemonType.FLYING, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Poison", "poison", PokemonType.POISON, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Ground", "ground", PokemonType.GROUND, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Rock", "rock", PokemonType.ROCK, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Bug", "bug", PokemonType.BUG, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Ghost", "ghost", PokemonType.GHOST, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Steel", "steel", PokemonType.STEEL, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Fire", "fire", PokemonType.FIRE, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Water", "water", PokemonType.WATER, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Grass", "grass", PokemonType.GRASS, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Electric", "electric", PokemonType.ELECTRIC, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Psychic", "psychic", PokemonType.PSYCHIC, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Ice", "ice", PokemonType.ICE, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Dragon", "dragon", PokemonType.DRAGON, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Dark", "dark", PokemonType.DARK, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + new PokemonForm("Type: Fairy", "fairy", PokemonType.FAIRY, null, 2.3, 100.5, AbilityId.RKS_SYSTEM, AbilityId.NONE, AbilityId.NONE, 570, 95, 95, 95, 95, 95, 95, 3, 0, 285), + ), + new PokemonSpecies(SpeciesId.MINIOR, 7, false, false, false, "Meteor Pokémon", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, GrowthRate.MEDIUM_SLOW, null, false, false, + new PokemonForm("Red Meteor Form", "red-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), + new PokemonForm("Orange Meteor Form", "orange-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), + new PokemonForm("Yellow Meteor Form", "yellow-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), + new PokemonForm("Green Meteor Form", "green-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), + new PokemonForm("Blue Meteor Form", "blue-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), + new PokemonForm("Indigo Meteor Form", "indigo-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), + new PokemonForm("Violet Meteor Form", "violet-meteor", PokemonType.ROCK, PokemonType.FLYING, 0.3, 40, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 440, 60, 60, 100, 60, 100, 60, 30, 70, 154, false, "", true), + new PokemonForm("Red Core Form", "red", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), + new PokemonForm("Orange Core Form", "orange", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), + new PokemonForm("Yellow Core Form", "yellow", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), + new PokemonForm("Green Core Form", "green", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), + new PokemonForm("Blue Core Form", "blue", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), + new PokemonForm("Indigo Core Form", "indigo", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), + new PokemonForm("Violet Core Form", "violet", PokemonType.ROCK, PokemonType.FLYING, 0.3, 0.3, AbilityId.SHIELDS_DOWN, AbilityId.NONE, AbilityId.NONE, 500, 60, 100, 60, 100, 60, 120, 30, 70, 175, false, null, true), + ), + new PokemonSpecies(SpeciesId.KOMALA, 7, false, false, false, "Drowsing Pokémon", PokemonType.NORMAL, null, 0.4, 19.9, AbilityId.COMATOSE, AbilityId.NONE, AbilityId.NONE, 480, 65, 115, 65, 75, 95, 65, 45, 70, 168, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.TURTONATOR, 7, false, false, false, "Blast Turtle Pokémon", PokemonType.FIRE, PokemonType.DRAGON, 2, 212, AbilityId.SHELL_ARMOR, AbilityId.NONE, AbilityId.NONE, 485, 60, 78, 135, 91, 85, 36, 70, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TOGEDEMARU, 7, false, false, false, "Roly-Poly Pokémon", PokemonType.ELECTRIC, PokemonType.STEEL, 0.3, 3.3, AbilityId.IRON_BARBS, AbilityId.LIGHTNING_ROD, AbilityId.STURDY, 435, 65, 98, 63, 40, 73, 96, 180, 50, 152, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MIMIKYU, 7, false, false, false, "Disguise Pokémon", PokemonType.GHOST, PokemonType.FAIRY, 0.2, 0.7, AbilityId.DISGUISE, AbilityId.NONE, AbilityId.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Disguised Form", "disguised", PokemonType.GHOST, PokemonType.FAIRY, 0.2, 0.7, AbilityId.DISGUISE, AbilityId.NONE, AbilityId.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167, false, null, true), + new PokemonForm("Busted Form", "busted", PokemonType.GHOST, PokemonType.FAIRY, 0.2, 0.7, AbilityId.DISGUISE, AbilityId.NONE, AbilityId.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167), + ), + new PokemonSpecies(SpeciesId.BRUXISH, 7, false, false, false, "Gnash Teeth Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 0.9, 19, AbilityId.DAZZLING, AbilityId.STRONG_JAW, AbilityId.WONDER_SKIN, 475, 68, 105, 70, 70, 70, 92, 80, 70, 166, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DRAMPA, 7, false, false, false, "Placid Pokémon", PokemonType.NORMAL, PokemonType.DRAGON, 3, 185, AbilityId.BERSERK, AbilityId.SAP_SIPPER, AbilityId.CLOUD_NINE, 485, 78, 60, 85, 135, 91, 36, 70, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DHELMISE, 7, false, false, false, "Sea Creeper Pokémon", PokemonType.GHOST, PokemonType.GRASS, 3.9, 210, AbilityId.STEELWORKER, AbilityId.NONE, AbilityId.NONE, 517, 70, 131, 100, 86, 90, 40, 25, 50, 181, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.JANGMO_O, 7, false, false, false, "Scaly Pokémon", PokemonType.DRAGON, null, 0.6, 29.7, AbilityId.BULLETPROOF, AbilityId.SOUNDPROOF, AbilityId.OVERCOAT, 300, 45, 55, 65, 45, 45, 45, 45, 50, 60, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HAKAMO_O, 7, false, false, false, "Scaly Pokémon", PokemonType.DRAGON, PokemonType.FIGHTING, 1.2, 47, AbilityId.BULLETPROOF, AbilityId.SOUNDPROOF, AbilityId.OVERCOAT, 420, 55, 75, 90, 65, 70, 65, 45, 50, 147, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.KOMMO_O, 7, false, false, false, "Scaly Pokémon", PokemonType.DRAGON, PokemonType.FIGHTING, 1.6, 78.2, AbilityId.BULLETPROOF, AbilityId.SOUNDPROOF, AbilityId.OVERCOAT, 600, 75, 110, 125, 100, 105, 85, 45, 50, 300, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.TAPU_KOKO, 7, true, false, false, "Land Spirit Pokémon", PokemonType.ELECTRIC, PokemonType.FAIRY, 1.8, 20.5, AbilityId.ELECTRIC_SURGE, AbilityId.NONE, AbilityId.TELEPATHY, 570, 70, 115, 85, 95, 75, 130, 3, 50, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.TAPU_LELE, 7, true, false, false, "Land Spirit Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.2, 18.6, AbilityId.PSYCHIC_SURGE, AbilityId.NONE, AbilityId.TELEPATHY, 570, 70, 85, 75, 130, 115, 95, 3, 50, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.TAPU_BULU, 7, true, false, false, "Land Spirit Pokémon", PokemonType.GRASS, PokemonType.FAIRY, 1.9, 45.5, AbilityId.GRASSY_SURGE, AbilityId.NONE, AbilityId.TELEPATHY, 570, 70, 130, 115, 85, 95, 75, 3, 50, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.TAPU_FINI, 7, true, false, false, "Land Spirit Pokémon", PokemonType.WATER, PokemonType.FAIRY, 1.3, 21.2, AbilityId.MISTY_SURGE, AbilityId.NONE, AbilityId.TELEPATHY, 570, 70, 75, 115, 95, 130, 85, 3, 50, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.COSMOG, 7, true, false, false, "Nebula Pokémon", PokemonType.PSYCHIC, null, 0.2, 0.1, AbilityId.UNAWARE, AbilityId.NONE, AbilityId.NONE, 200, 43, 29, 31, 29, 31, 37, 45, 0, 40, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.COSMOEM, 7, true, false, false, "Protostar Pokémon", PokemonType.PSYCHIC, null, 0.1, 999.9, AbilityId.STURDY, AbilityId.NONE, AbilityId.NONE, 400, 43, 29, 131, 29, 131, 37, 45, 0, 140, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SOLGALEO, 7, false, true, false, "Sunne Pokémon", PokemonType.PSYCHIC, PokemonType.STEEL, 3.4, 230, AbilityId.FULL_METAL_BODY, AbilityId.NONE, AbilityId.NONE, 680, 137, 137, 107, 113, 89, 97, 45, 0, 340, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.LUNALA, 7, false, true, false, "Moone Pokémon", PokemonType.PSYCHIC, PokemonType.GHOST, 4, 120, AbilityId.SHADOW_SHIELD, AbilityId.NONE, AbilityId.NONE, 680, 137, 113, 89, 137, 107, 97, 45, 0, 340, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.NIHILEGO, 7, true, false, false, "Parasite Pokémon", PokemonType.ROCK, PokemonType.POISON, 1.2, 55.5, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 109, 53, 47, 127, 131, 103, 45, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.BUZZWOLE, 7, true, false, false, "Swollen Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 2.4, 333.6, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 107, 139, 139, 53, 53, 79, 45, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.PHEROMOSA, 7, true, false, false, "Lissome Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 1.8, 25, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 71, 137, 37, 137, 37, 151, 45, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.XURKITREE, 7, true, false, false, "Glowing Pokémon", PokemonType.ELECTRIC, null, 3.8, 100, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 83, 89, 71, 173, 71, 83, 45, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.CELESTEELA, 7, true, false, false, "Launch Pokémon", PokemonType.STEEL, PokemonType.FLYING, 9.2, 999.9, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 97, 101, 103, 107, 101, 61, 45, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.KARTANA, 7, true, false, false, "Drawn Sword Pokémon", PokemonType.GRASS, PokemonType.STEEL, 0.3, 0.1, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 59, 181, 131, 59, 31, 109, 45, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.GUZZLORD, 7, true, false, false, "Junkivore Pokémon", PokemonType.DARK, PokemonType.DRAGON, 5.5, 888, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 223, 101, 53, 97, 53, 43, 45, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.NECROZMA, 7, false, true, false, "Prism Pokémon", PokemonType.PSYCHIC, null, 2.4, 230, AbilityId.PRISM_ARMOR, AbilityId.NONE, AbilityId.NONE, 600, 97, 107, 101, 127, 89, 79, 255, 0, 300, GrowthRate.SLOW, null, false, false, + new PokemonForm("Normal", "", PokemonType.PSYCHIC, null, 2.4, 230, AbilityId.PRISM_ARMOR, AbilityId.NONE, AbilityId.NONE, 600, 97, 107, 101, 127, 89, 79, 255, 0, 300, false, null, true), + new PokemonForm("Dusk Mane", "dusk-mane", PokemonType.PSYCHIC, PokemonType.STEEL, 3.8, 460, AbilityId.PRISM_ARMOR, AbilityId.NONE, AbilityId.NONE, 680, 97, 157, 127, 113, 109, 77, 255, 0, 340), + new PokemonForm("Dawn Wings", "dawn-wings", PokemonType.PSYCHIC, PokemonType.GHOST, 4.2, 350, AbilityId.PRISM_ARMOR, AbilityId.NONE, AbilityId.NONE, 680, 97, 113, 109, 157, 127, 77, 255, 0, 340), + new PokemonForm("Ultra", "ultra", PokemonType.PSYCHIC, PokemonType.DRAGON, 7.5, 230, AbilityId.NEUROFORCE, AbilityId.NONE, AbilityId.NONE, 754, 97, 167, 97, 167, 97, 129, 255, 0, 377), + ), + new PokemonSpecies(SpeciesId.MAGEARNA, 7, false, false, true, "Artificial Pokémon", PokemonType.STEEL, PokemonType.FAIRY, 1, 80.5, AbilityId.SOUL_HEART, AbilityId.NONE, AbilityId.NONE, 600, 80, 95, 115, 130, 115, 65, 3, 0, 300, GrowthRate.SLOW, null, false, false, + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.FAIRY, 1, 80.5, AbilityId.SOUL_HEART, AbilityId.NONE, AbilityId.NONE, 600, 80, 95, 115, 130, 115, 65, 3, 0, 300, false, null, true), + new PokemonForm("Original", "original", PokemonType.STEEL, PokemonType.FAIRY, 1, 80.5, AbilityId.SOUL_HEART, AbilityId.NONE, AbilityId.NONE, 600, 80, 95, 115, 130, 115, 65, 3, 0, 300, false, null, true), + ), + new PokemonSpecies(SpeciesId.MARSHADOW, 7, false, false, true, "Gloomdweller Pokémon", PokemonType.FIGHTING, PokemonType.GHOST, 0.7, 22.2, AbilityId.TECHNICIAN, AbilityId.NONE, AbilityId.NONE, 600, 90, 125, 80, 90, 90, 125, 3, 0, 300, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.FIGHTING, PokemonType.GHOST, 0.7, 22.2, AbilityId.TECHNICIAN, AbilityId.NONE, AbilityId.NONE, 600, 90, 125, 80, 90, 90, 125, 3, 0, 300, false, null, true), + new PokemonForm("Zenith", "zenith", PokemonType.FIGHTING, PokemonType.GHOST, 0.7, 22.2, AbilityId.TECHNICIAN, AbilityId.NONE, AbilityId.NONE, 600, 90, 125, 80, 90, 90, 125, 3, 0, 300, false, null, false, true) + ), + new PokemonSpecies(SpeciesId.POIPOLE, 7, true, false, false, "Poison Pin Pokémon", PokemonType.POISON, null, 0.6, 1.8, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 420, 67, 73, 67, 73, 67, 73, 45, 0, 210, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.NAGANADEL, 7, true, false, false, "Poison Pin Pokémon", PokemonType.POISON, PokemonType.DRAGON, 3.6, 150, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 540, 73, 73, 73, 127, 73, 121, 45, 0, 270, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.STAKATAKA, 7, true, false, false, "Rampart Pokémon", PokemonType.ROCK, PokemonType.STEEL, 5.5, 820, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 61, 131, 211, 53, 101, 13, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.BLACEPHALON, 7, true, false, false, "Fireworks Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.8, 13, AbilityId.BEAST_BOOST, AbilityId.NONE, AbilityId.NONE, 570, 53, 127, 53, 151, 79, 107, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ZERAORA, 7, false, false, true, "Thunderclap Pokémon", PokemonType.ELECTRIC, null, 1.5, 44.5, AbilityId.VOLT_ABSORB, AbilityId.NONE, AbilityId.NONE, 600, 88, 112, 75, 102, 80, 143, 3, 0, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.MELTAN, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 0.2, 8, AbilityId.MAGNET_PULL, AbilityId.NONE, AbilityId.NONE, 300, 46, 65, 65, 55, 35, 34, 3, 0, 150, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.MELMETAL, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 2.5, 800, AbilityId.IRON_FIST, AbilityId.NONE, AbilityId.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.STEEL, null, 2.5, 800, AbilityId.IRON_FIST, AbilityId.NONE, AbilityId.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, null, 25, 999.9, AbilityId.IRON_FIST, AbilityId.NONE, AbilityId.NONE, 700, 170, 158, 158, 95, 75, 44, 3, 0, 300), + ), + new PokemonSpecies(SpeciesId.GROOKEY, 8, false, false, false, "Chimp Pokémon", PokemonType.GRASS, null, 0.3, 5, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.GRASSY_SURGE, 310, 50, 65, 50, 40, 40, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.THWACKEY, 8, false, false, false, "Beat Pokémon", PokemonType.GRASS, null, 0.7, 14, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.RILLABOOM, 8, false, false, false, "Drummer Pokémon", PokemonType.GRASS, null, 2.1, 90, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.GRASS, null, 2.1, 90, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, null, 28, 999.9, AbilityId.GRASSY_SURGE, AbilityId.NONE, AbilityId.GRASSY_SURGE, 630, 125, 140, 105, 90, 85, 85, 45, 50, 265), + ), + new PokemonSpecies(SpeciesId.SCORBUNNY, 8, false, false, false, "Rabbit Pokémon", PokemonType.FIRE, null, 0.3, 4.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.LIBERO, 310, 50, 71, 40, 40, 40, 69, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.RABOOT, 8, false, false, false, "Rabbit Pokémon", PokemonType.FIRE, null, 0.6, 9, AbilityId.BLAZE, AbilityId.NONE, AbilityId.LIBERO, 420, 65, 86, 60, 55, 60, 94, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.CINDERACE, 8, false, false, false, "Striker Pokémon", PokemonType.FIRE, null, 1.4, 33, AbilityId.BLAZE, AbilityId.NONE, AbilityId.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.FIRE, null, 1.4, 33, AbilityId.BLAZE, AbilityId.NONE, AbilityId.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, null, 27, 999.9, AbilityId.LIBERO, AbilityId.NONE, AbilityId.LIBERO, 630, 100, 141, 80, 95, 80, 134, 45, 50, 265), + ), + new PokemonSpecies(SpeciesId.SOBBLE, 8, false, false, false, "Water Lizard Pokémon", PokemonType.WATER, null, 0.3, 4, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SNIPER, 310, 50, 40, 40, 70, 40, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.DRIZZILE, 8, false, false, false, "Water Lizard Pokémon", PokemonType.WATER, null, 0.7, 11.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SNIPER, 420, 65, 60, 55, 95, 55, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.INTELEON, 8, false, false, false, "Secret Agent Pokémon", PokemonType.WATER, null, 1.9, 45.2, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, null, 1.9, 45.2, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 40, 999.9, AbilityId.SNIPER, AbilityId.NONE, AbilityId.SNIPER, 630, 95, 117, 67, 147, 67, 137, 45, 50, 265), + ), + new PokemonSpecies(SpeciesId.SKWOVET, 8, false, false, false, "Cheeky Pokémon", PokemonType.NORMAL, null, 0.3, 2.5, AbilityId.CHEEK_POUCH, AbilityId.NONE, AbilityId.GLUTTONY, 275, 70, 55, 55, 35, 35, 25, 255, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GREEDENT, 8, false, false, false, "Greedy Pokémon", PokemonType.NORMAL, null, 0.6, 6, AbilityId.CHEEK_POUCH, AbilityId.NONE, AbilityId.GLUTTONY, 460, 120, 95, 95, 55, 75, 20, 90, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ROOKIDEE, 8, false, false, false, "Tiny Bird Pokémon", PokemonType.FLYING, null, 0.2, 1.8, AbilityId.KEEN_EYE, AbilityId.UNNERVE, AbilityId.BIG_PECKS, 245, 38, 47, 35, 33, 35, 57, 255, 50, 49, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CORVISQUIRE, 8, false, false, false, "Raven Pokémon", PokemonType.FLYING, null, 0.8, 16, AbilityId.KEEN_EYE, AbilityId.UNNERVE, AbilityId.BIG_PECKS, 365, 68, 67, 55, 43, 55, 77, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CORVIKNIGHT, 8, false, false, false, "Raven Pokémon", PokemonType.FLYING, PokemonType.STEEL, 2.2, 75, AbilityId.PRESSURE, AbilityId.UNNERVE, AbilityId.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.FLYING, PokemonType.STEEL, 2.2, 75, AbilityId.PRESSURE, AbilityId.UNNERVE, AbilityId.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FLYING, PokemonType.STEEL, 14, 999.9, AbilityId.MIRROR_ARMOR, AbilityId.MIRROR_ARMOR, AbilityId.MIRROR_ARMOR, 595, 118, 112, 135, 63, 90, 77, 45, 50, 248), + ), + new PokemonSpecies(SpeciesId.BLIPBUG, 8, false, false, false, "Larva Pokémon", PokemonType.BUG, null, 0.4, 8, AbilityId.SWARM, AbilityId.COMPOUND_EYES, AbilityId.TELEPATHY, 180, 25, 20, 20, 25, 45, 45, 255, 50, 36, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DOTTLER, 8, false, false, false, "Radome Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 19.5, AbilityId.SWARM, AbilityId.COMPOUND_EYES, AbilityId.TELEPATHY, 335, 50, 35, 80, 50, 90, 30, 120, 50, 117, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ORBEETLE, 8, false, false, false, "Seven Spot Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 40.8, AbilityId.SWARM, AbilityId.FRISK, AbilityId.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 40.8, AbilityId.SWARM, AbilityId.FRISK, AbilityId.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.PSYCHIC, 14, 999.9, AbilityId.TRACE, AbilityId.TRACE, AbilityId.TRACE, 605, 75, 50, 140, 100, 150, 90, 45, 50, 253), + ), + new PokemonSpecies(SpeciesId.NICKIT, 8, false, false, false, "Fox Pokémon", PokemonType.DARK, null, 0.6, 8.9, AbilityId.RUN_AWAY, AbilityId.UNBURDEN, AbilityId.STAKEOUT, 245, 40, 28, 28, 47, 52, 50, 255, 50, 49, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.THIEVUL, 8, false, false, false, "Fox Pokémon", PokemonType.DARK, null, 1.2, 19.9, AbilityId.RUN_AWAY, AbilityId.UNBURDEN, AbilityId.STAKEOUT, 455, 70, 58, 58, 87, 92, 90, 127, 50, 159, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.GOSSIFLEUR, 8, false, false, false, "Flowering Pokémon", PokemonType.GRASS, null, 0.4, 2.2, AbilityId.COTTON_DOWN, AbilityId.REGENERATOR, AbilityId.EFFECT_SPORE, 250, 40, 40, 60, 40, 60, 10, 190, 50, 50, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ELDEGOSS, 8, false, false, false, "Cotton Bloom Pokémon", PokemonType.GRASS, null, 0.5, 2.5, AbilityId.COTTON_DOWN, AbilityId.REGENERATOR, AbilityId.EFFECT_SPORE, 460, 60, 50, 90, 80, 120, 60, 75, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WOOLOO, 8, false, false, false, "Sheep Pokémon", PokemonType.NORMAL, null, 0.6, 6, AbilityId.FLUFFY, AbilityId.RUN_AWAY, AbilityId.BULLETPROOF, 270, 42, 40, 55, 40, 45, 48, 255, 50, 122, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DUBWOOL, 8, false, false, false, "Sheep Pokémon", PokemonType.NORMAL, null, 1.3, 43, AbilityId.FLUFFY, AbilityId.STEADFAST, AbilityId.BULLETPROOF, 490, 72, 80, 100, 60, 90, 88, 127, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CHEWTLE, 8, false, false, false, "Snapping Pokémon", PokemonType.WATER, null, 0.3, 8.5, AbilityId.STRONG_JAW, AbilityId.SHELL_ARMOR, AbilityId.SWIFT_SWIM, 284, 50, 64, 50, 38, 38, 44, 255, 50, 57, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DREDNAW, 8, false, false, false, "Bite Pokémon", PokemonType.WATER, PokemonType.ROCK, 1, 115.5, AbilityId.STRONG_JAW, AbilityId.SHELL_ARMOR, AbilityId.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.ROCK, 1, 115.5, AbilityId.STRONG_JAW, AbilityId.SHELL_ARMOR, AbilityId.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ROCK, 24, 999.9, AbilityId.STRONG_JAW, AbilityId.STRONG_JAW, AbilityId.STRONG_JAW, 585, 115, 137, 115, 61, 83, 74, 75, 50, 170), + ), + new PokemonSpecies(SpeciesId.YAMPER, 8, false, false, false, "Puppy Pokémon", PokemonType.ELECTRIC, null, 0.3, 13.5, AbilityId.BALL_FETCH, AbilityId.NONE, AbilityId.RATTLED, 270, 59, 45, 50, 40, 50, 26, 255, 50, 54, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.BOLTUND, 8, false, false, false, "Dog Pokémon", PokemonType.ELECTRIC, null, 1, 34, AbilityId.STRONG_JAW, AbilityId.NONE, AbilityId.COMPETITIVE, 490, 69, 90, 60, 90, 60, 121, 45, 50, 172, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.ROLYCOLY, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, null, 0.3, 12, AbilityId.STEAM_ENGINE, AbilityId.HEATPROOF, AbilityId.FLASH_FIRE, 240, 30, 40, 50, 40, 50, 30, 255, 50, 48, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CARKOL, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, PokemonType.FIRE, 1.1, 78, AbilityId.STEAM_ENGINE, AbilityId.FLAME_BODY, AbilityId.FLASH_FIRE, 410, 80, 60, 90, 60, 70, 50, 120, 50, 144, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.COALOSSAL, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, PokemonType.FIRE, 2.8, 310.5, AbilityId.STEAM_ENGINE, AbilityId.FLAME_BODY, AbilityId.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.FIRE, 2.8, 310.5, AbilityId.STEAM_ENGINE, AbilityId.FLAME_BODY, AbilityId.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ROCK, PokemonType.FIRE, 42, 999.9, AbilityId.STEAM_ENGINE, AbilityId.STEAM_ENGINE, AbilityId.STEAM_ENGINE, 610, 140, 100, 132, 95, 100, 43, 45, 50, 255), + ), + new PokemonSpecies(SpeciesId.APPLIN, 8, false, false, false, "Apple Core Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.2, 0.5, AbilityId.RIPEN, AbilityId.GLUTTONY, AbilityId.BULLETPROOF, 260, 40, 40, 80, 40, 40, 20, 255, 50, 52, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.FLAPPLE, 8, false, false, false, "Apple Wing Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.3, 1, AbilityId.RIPEN, AbilityId.GLUTTONY, AbilityId.HUSTLE, 485, 70, 110, 80, 95, 60, 70, 45, 50, 170, GrowthRate.ERRATIC, 50, false, true, + new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.DRAGON, 0.3, 1, AbilityId.RIPEN, AbilityId.GLUTTONY, AbilityId.HUSTLE, 485, 70, 110, 80, 95, 60, 70, 45, 50, 170, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.DRAGON, 24, 999.9, AbilityId.HUSTLE, AbilityId.HUSTLE, AbilityId.HUSTLE, 585, 100, 125, 90, 105, 70, 95, 45, 50, 170), + ), + new PokemonSpecies(SpeciesId.APPLETUN, 8, false, false, false, "Apple Nectar Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.4, 13, AbilityId.RIPEN, AbilityId.GLUTTONY, AbilityId.THICK_FAT, 485, 110, 85, 80, 100, 80, 30, 45, 50, 170, GrowthRate.ERRATIC, 50, false, true, + new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.DRAGON, 0.4, 13, AbilityId.RIPEN, AbilityId.GLUTTONY, AbilityId.THICK_FAT, 485, 110, 85, 80, 100, 80, 30, 45, 50, 170, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.DRAGON, 24, 999.9, AbilityId.THICK_FAT, AbilityId.THICK_FAT, AbilityId.THICK_FAT, 585, 150, 100, 95, 115, 95, 30, 45, 50, 170), + ), + new PokemonSpecies(SpeciesId.SILICOBRA, 8, false, false, false, "Sand Snake Pokémon", PokemonType.GROUND, null, 2.2, 7.6, AbilityId.SAND_SPIT, AbilityId.SHED_SKIN, AbilityId.SAND_VEIL, 315, 52, 57, 75, 35, 50, 46, 255, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SANDACONDA, 8, false, false, false, "Sand Snake Pokémon", PokemonType.GROUND, null, 3.8, 65.5, AbilityId.SAND_SPIT, AbilityId.SHED_SKIN, AbilityId.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.GROUND, null, 3.8, 65.5, AbilityId.SAND_SPIT, AbilityId.SHED_SKIN, AbilityId.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GROUND, null, 22, 999.9, AbilityId.SAND_SPIT, AbilityId.SAND_SPIT, AbilityId.SAND_SPIT, 610, 102, 137, 140, 70, 80, 81, 120, 50, 179), + ), + new PokemonSpecies(SpeciesId.CRAMORANT, 8, false, false, false, "Gulp Pokémon", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, AbilityId.GULP_MISSILE, AbilityId.NONE, AbilityId.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Normal", "", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, AbilityId.GULP_MISSILE, AbilityId.NONE, AbilityId.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, false, null, true), + new PokemonForm("Gulping Form", "gulping", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, AbilityId.GULP_MISSILE, AbilityId.NONE, AbilityId.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166), + new PokemonForm("Gorging Form", "gorging", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, AbilityId.GULP_MISSILE, AbilityId.NONE, AbilityId.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166), + ), + new PokemonSpecies(SpeciesId.ARROKUDA, 8, false, false, false, "Rush Pokémon", PokemonType.WATER, null, 0.5, 1, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.PROPELLER_TAIL, 280, 41, 63, 40, 40, 30, 66, 255, 50, 56, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.BARRASKEWDA, 8, false, false, false, "Skewer Pokémon", PokemonType.WATER, null, 1.3, 30, AbilityId.SWIFT_SWIM, AbilityId.NONE, AbilityId.PROPELLER_TAIL, 490, 61, 123, 60, 60, 50, 136, 60, 50, 172, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.TOXEL, 8, false, false, false, "Baby Pokémon", PokemonType.ELECTRIC, PokemonType.POISON, 0.4, 11, AbilityId.RATTLED, AbilityId.STATIC, AbilityId.KLUTZ, 242, 40, 38, 35, 54, 35, 40, 75, 50, 48, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.TOXTRICITY, 8, false, false, false, "Punk Pokémon", PokemonType.ELECTRIC, PokemonType.POISON, 1.6, 40, AbilityId.PUNK_ROCK, AbilityId.PLUS, AbilityId.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Amped Form", "amped", PokemonType.ELECTRIC, PokemonType.POISON, 1.6, 40, AbilityId.PUNK_ROCK, AbilityId.PLUS, AbilityId.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, false, "", true), + new PokemonForm("Low-Key Form", "lowkey", PokemonType.ELECTRIC, PokemonType.POISON, 1.6, 40, AbilityId.PUNK_ROCK, AbilityId.MINUS, AbilityId.TECHNICIAN, 502, 75, 98, 70, 114, 70, 75, 45, 50, 176, false, "lowkey", true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ELECTRIC, PokemonType.POISON, 24, 999.9, AbilityId.PUNK_ROCK, AbilityId.PUNK_ROCK, AbilityId.PUNK_ROCK, 602, 114, 105, 82, 137, 82, 82, 45, 50, 176), + ), + new PokemonSpecies(SpeciesId.SIZZLIPEDE, 8, false, false, false, "Radiator Pokémon", PokemonType.FIRE, PokemonType.BUG, 0.7, 1, AbilityId.FLASH_FIRE, AbilityId.WHITE_SMOKE, AbilityId.FLAME_BODY, 305, 50, 65, 45, 50, 50, 45, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CENTISKORCH, 8, false, false, false, "Radiator Pokémon", PokemonType.FIRE, PokemonType.BUG, 3, 120, AbilityId.FLASH_FIRE, AbilityId.WHITE_SMOKE, AbilityId.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.BUG, 3, 120, AbilityId.FLASH_FIRE, AbilityId.WHITE_SMOKE, AbilityId.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.BUG, 75, 999.9, AbilityId.FLASH_FIRE, AbilityId.FLASH_FIRE, AbilityId.FLASH_FIRE, 625, 130, 125, 75, 94, 100, 101, 75, 50, 184), + ), + new PokemonSpecies(SpeciesId.CLOBBOPUS, 8, false, false, false, "Tantrum Pokémon", PokemonType.FIGHTING, null, 0.6, 4, AbilityId.LIMBER, AbilityId.NONE, AbilityId.TECHNICIAN, 310, 50, 68, 60, 50, 50, 32, 180, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GRAPPLOCT, 8, false, false, false, "Jujitsu Pokémon", PokemonType.FIGHTING, null, 1.6, 39, AbilityId.LIMBER, AbilityId.NONE, AbilityId.TECHNICIAN, 480, 80, 118, 90, 70, 80, 42, 45, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SINISTEA, 8, false, false, false, "Black Tea Pokémon", PokemonType.GHOST, null, 0.1, 0.2, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.CURSED_BODY, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, GrowthRate.MEDIUM_FAST, null, false, false, + new PokemonForm("Phony Form", "phony", PokemonType.GHOST, null, 0.1, 0.2, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.CURSED_BODY, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, "", true), + new PokemonForm("Antique Form", "antique", PokemonType.GHOST, null, 0.1, 0.2, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.CURSED_BODY, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, "", true, true), + ), + new PokemonSpecies(SpeciesId.POLTEAGEIST, 8, false, false, false, "Black Tea Pokémon", PokemonType.GHOST, null, 0.2, 0.4, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.CURSED_BODY, 508, 60, 65, 65, 134, 114, 70, 60, 50, 178, GrowthRate.MEDIUM_FAST, null, false, false, + new PokemonForm("Phony Form", "phony", PokemonType.GHOST, null, 0.2, 0.4, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.CURSED_BODY, 508, 60, 65, 65, 134, 114, 70, 60, 50, 178, false, "", true), + new PokemonForm("Antique Form", "antique", PokemonType.GHOST, null, 0.2, 0.4, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.CURSED_BODY, 508, 60, 65, 65, 134, 114, 70, 60, 50, 178, false, "", true, true), + ), + new PokemonSpecies(SpeciesId.HATENNA, 8, false, false, false, "Calm Pokémon", PokemonType.PSYCHIC, null, 0.4, 3.4, AbilityId.HEALER, AbilityId.ANTICIPATION, AbilityId.MAGIC_BOUNCE, 265, 42, 30, 45, 56, 53, 39, 235, 50, 53, GrowthRate.SLOW, 0, false), + new PokemonSpecies(SpeciesId.HATTREM, 8, false, false, false, "Serene Pokémon", PokemonType.PSYCHIC, null, 0.6, 4.8, AbilityId.HEALER, AbilityId.ANTICIPATION, AbilityId.MAGIC_BOUNCE, 370, 57, 40, 65, 86, 73, 49, 120, 50, 130, GrowthRate.SLOW, 0, false), + new PokemonSpecies(SpeciesId.HATTERENE, 8, false, false, false, "Silent Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 2.1, 5.1, AbilityId.HEALER, AbilityId.ANTICIPATION, AbilityId.MAGIC_BOUNCE, 510, 57, 90, 95, 136, 103, 29, 45, 50, 255, GrowthRate.SLOW, 0, false, true, + new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.FAIRY, 2.1, 5.1, AbilityId.HEALER, AbilityId.ANTICIPATION, AbilityId.MAGIC_BOUNCE, 510, 57, 90, 95, 136, 103, 29, 45, 50, 255, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.PSYCHIC, PokemonType.FAIRY, 26, 999.9, AbilityId.MAGIC_BOUNCE, AbilityId.MAGIC_BOUNCE, AbilityId.MAGIC_BOUNCE, 610, 87, 100, 110, 146, 118, 49, 45, 50, 255), + ), + new PokemonSpecies(SpeciesId.IMPIDIMP, 8, false, false, false, "Wily Pokémon", PokemonType.DARK, PokemonType.FAIRY, 0.4, 5.5, AbilityId.PRANKSTER, AbilityId.FRISK, AbilityId.PICKPOCKET, 265, 45, 45, 30, 55, 40, 50, 255, 50, 53, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.MORGREM, 8, false, false, false, "Devious Pokémon", PokemonType.DARK, PokemonType.FAIRY, 0.8, 12.5, AbilityId.PRANKSTER, AbilityId.FRISK, AbilityId.PICKPOCKET, 370, 65, 60, 45, 75, 55, 70, 120, 50, 130, GrowthRate.MEDIUM_FAST, 100, false), + new PokemonSpecies(SpeciesId.GRIMMSNARL, 8, false, false, false, "Bulk Up Pokémon", PokemonType.DARK, PokemonType.FAIRY, 1.5, 61, AbilityId.PRANKSTER, AbilityId.FRISK, AbilityId.PICKPOCKET, 510, 95, 120, 65, 95, 75, 60, 45, 50, 255, GrowthRate.MEDIUM_FAST, 100, false, true, + new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.FAIRY, 1.5, 61, AbilityId.PRANKSTER, AbilityId.FRISK, AbilityId.PICKPOCKET, 510, 95, 120, 65, 95, 75, 60, 45, 50, 255, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.DARK, PokemonType.FAIRY, 32, 999.9, AbilityId.PRANKSTER, AbilityId.PRANKSTER, AbilityId.PRANKSTER, 610, 130, 138, 75, 110, 92, 65, 45, 50, 255), + ), + new PokemonSpecies(SpeciesId.OBSTAGOON, 8, false, false, false, "Blocking Pokémon", PokemonType.DARK, PokemonType.NORMAL, 1.6, 46, AbilityId.RECKLESS, AbilityId.GUTS, AbilityId.DEFIANT, 520, 93, 90, 101, 60, 81, 95, 45, 50, 260, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PERRSERKER, 8, false, false, false, "Viking Pokémon", PokemonType.STEEL, null, 0.8, 28, AbilityId.BATTLE_ARMOR, AbilityId.TOUGH_CLAWS, AbilityId.STEELY_SPIRIT, 440, 70, 110, 100, 50, 60, 50, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CURSOLA, 8, false, false, false, "Coral Pokémon", PokemonType.GHOST, null, 1, 0.4, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.PERISH_BODY, 510, 60, 95, 50, 145, 130, 30, 30, 50, 179, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.SIRFETCHD, 8, false, false, false, "Wild Duck Pokémon", PokemonType.FIGHTING, null, 0.8, 117, AbilityId.STEADFAST, AbilityId.NONE, AbilityId.SCRAPPY, 507, 62, 135, 95, 68, 82, 65, 45, 50, 177, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MR_RIME, 8, false, false, false, "Comedian Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 1.5, 58.2, AbilityId.TANGLED_FEET, AbilityId.SCREEN_CLEANER, AbilityId.ICE_BODY, 520, 80, 85, 75, 110, 100, 70, 45, 50, 182, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RUNERIGUS, 8, false, false, false, "Grudge Pokémon", PokemonType.GROUND, PokemonType.GHOST, 1.6, 66.6, AbilityId.WANDERING_SPIRIT, AbilityId.NONE, AbilityId.NONE, 483, 58, 95, 145, 50, 105, 30, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.MILCERY, 8, false, false, false, "Cream Pokémon", PokemonType.FAIRY, null, 0.2, 0.3, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 270, 45, 40, 40, 50, 61, 34, 200, 50, 54, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.ALCREMIE, 8, false, false, false, "Cream Pokémon", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, GrowthRate.MEDIUM_FAST, 0, false, true, + new PokemonForm("Vanilla Cream", "vanilla-cream", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, "", true), + new PokemonForm("Ruby Cream", "ruby-cream", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("Matcha Cream", "matcha-cream", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("Mint Cream", "mint-cream", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("Lemon Cream", "lemon-cream", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("Salted Cream", "salted-cream", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("Ruby Swirl", "ruby-swirl", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("Caramel Swirl", "caramel-swirl", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("Rainbow Swirl", "rainbow-swirl", PokemonType.FAIRY, null, 0.3, 0.5, AbilityId.SWEET_VEIL, AbilityId.NONE, AbilityId.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FAIRY, null, 30, 999.9, AbilityId.MISTY_SURGE, AbilityId.NONE, AbilityId.MISTY_SURGE, 595, 105, 70, 85, 130, 141, 64, 100, 50, 173), + ), + new PokemonSpecies(SpeciesId.FALINKS, 8, false, false, false, "Formation Pokémon", PokemonType.FIGHTING, null, 3, 62, AbilityId.BATTLE_ARMOR, AbilityId.NONE, AbilityId.DEFIANT, 470, 65, 100, 100, 70, 60, 75, 45, 50, 165, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.PINCURCHIN, 8, false, false, false, "Sea Urchin Pokémon", PokemonType.ELECTRIC, null, 0.3, 1, AbilityId.LIGHTNING_ROD, AbilityId.NONE, AbilityId.ELECTRIC_SURGE, 435, 48, 101, 95, 91, 85, 15, 75, 50, 152, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SNOM, 8, false, false, false, "Worm Pokémon", PokemonType.ICE, PokemonType.BUG, 0.3, 3.8, AbilityId.SHIELD_DUST, AbilityId.NONE, AbilityId.ICE_SCALES, 185, 30, 25, 35, 45, 30, 20, 190, 50, 37, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FROSMOTH, 8, false, false, false, "Frost Moth Pokémon", PokemonType.ICE, PokemonType.BUG, 1.3, 42, AbilityId.SHIELD_DUST, AbilityId.NONE, AbilityId.ICE_SCALES, 475, 70, 65, 60, 125, 90, 65, 75, 50, 166, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.STONJOURNER, 8, false, false, false, "Big Rock Pokémon", PokemonType.ROCK, null, 2.5, 520, AbilityId.POWER_SPOT, AbilityId.NONE, AbilityId.NONE, 470, 100, 125, 135, 20, 20, 70, 60, 50, 165, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.EISCUE, 8, false, false, false, "Penguin Pokémon", PokemonType.ICE, null, 1.4, 89, AbilityId.ICE_FACE, AbilityId.NONE, AbilityId.NONE, 470, 75, 80, 110, 65, 90, 50, 60, 50, 165, GrowthRate.SLOW, 50, false, false, + new PokemonForm("Ice Face", "", PokemonType.ICE, null, 1.4, 89, AbilityId.ICE_FACE, AbilityId.NONE, AbilityId.NONE, 470, 75, 80, 110, 65, 90, 50, 60, 50, 165, false, null, true), + new PokemonForm("No Ice", "no-ice", PokemonType.ICE, null, 1.4, 89, AbilityId.ICE_FACE, AbilityId.NONE, AbilityId.NONE, 470, 75, 80, 70, 65, 50, 130, 60, 50, 165), + ), + new PokemonSpecies(SpeciesId.INDEEDEE, 8, false, false, false, "Emotion Pokémon", PokemonType.PSYCHIC, PokemonType.NORMAL, 0.9, 28, AbilityId.INNER_FOCUS, AbilityId.SYNCHRONIZE, AbilityId.PSYCHIC_SURGE, 475, 60, 65, 55, 105, 95, 95, 30, 140, 166, GrowthRate.FAST, 50, false, false, + new PokemonForm("Male", "male", PokemonType.PSYCHIC, PokemonType.NORMAL, 0.9, 28, AbilityId.INNER_FOCUS, AbilityId.SYNCHRONIZE, AbilityId.PSYCHIC_SURGE, 475, 60, 65, 55, 105, 95, 95, 30, 140, 166, false, "", true), + new PokemonForm("Female", "female", PokemonType.PSYCHIC, PokemonType.NORMAL, 0.9, 28, AbilityId.OWN_TEMPO, AbilityId.SYNCHRONIZE, AbilityId.PSYCHIC_SURGE, 475, 70, 55, 65, 95, 105, 85, 30, 140, 166, false, null, true), + ), + new PokemonSpecies(SpeciesId.MORPEKO, 8, false, false, false, "Two-Sided Pokémon", PokemonType.ELECTRIC, PokemonType.DARK, 0.3, 3, AbilityId.HUNGER_SWITCH, AbilityId.NONE, AbilityId.NONE, 436, 58, 95, 58, 70, 58, 97, 180, 50, 153, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Full Belly Mode", "full-belly", PokemonType.ELECTRIC, PokemonType.DARK, 0.3, 3, AbilityId.HUNGER_SWITCH, AbilityId.NONE, AbilityId.NONE, 436, 58, 95, 58, 70, 58, 97, 180, 50, 153, false, "", true), + new PokemonForm("Hangry Mode", "hangry", PokemonType.ELECTRIC, PokemonType.DARK, 0.3, 3, AbilityId.HUNGER_SWITCH, AbilityId.NONE, AbilityId.NONE, 436, 58, 95, 58, 70, 58, 97, 180, 50, 153), + ), + new PokemonSpecies(SpeciesId.CUFANT, 8, false, false, false, "Copperderm Pokémon", PokemonType.STEEL, null, 1.2, 100, AbilityId.SHEER_FORCE, AbilityId.NONE, AbilityId.HEAVY_METAL, 330, 72, 80, 49, 40, 49, 40, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.COPPERAJAH, 8, false, false, false, "Copperderm Pokémon", PokemonType.STEEL, null, 3, 650, AbilityId.SHEER_FORCE, AbilityId.NONE, AbilityId.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.STEEL, null, 3, 650, AbilityId.SHEER_FORCE, AbilityId.NONE, AbilityId.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.GROUND, 23, 999.9, AbilityId.MOLD_BREAKER, AbilityId.NONE, AbilityId.MOLD_BREAKER, 600, 177, 155, 79, 90, 79, 20, 90, 50, 175), + ), + new PokemonSpecies(SpeciesId.DRACOZOLT, 8, false, false, false, "Fossil Pokémon", PokemonType.ELECTRIC, PokemonType.DRAGON, 1.8, 190, AbilityId.VOLT_ABSORB, AbilityId.HUSTLE, AbilityId.SAND_RUSH, 505, 90, 100, 90, 80, 70, 75, 45, 50, 177, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ARCTOZOLT, 8, false, false, false, "Fossil Pokémon", PokemonType.ELECTRIC, PokemonType.ICE, 2.3, 150, AbilityId.VOLT_ABSORB, AbilityId.STATIC, AbilityId.SLUSH_RUSH, 505, 90, 100, 90, 90, 80, 55, 45, 50, 177, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.DRACOVISH, 8, false, false, false, "Fossil Pokémon", PokemonType.WATER, PokemonType.DRAGON, 2.3, 215, AbilityId.WATER_ABSORB, AbilityId.STRONG_JAW, AbilityId.SAND_RUSH, 505, 90, 90, 100, 70, 80, 75, 45, 50, 177, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ARCTOVISH, 8, false, false, false, "Fossil Pokémon", PokemonType.WATER, PokemonType.ICE, 2, 175, AbilityId.WATER_ABSORB, AbilityId.ICE_BODY, AbilityId.SLUSH_RUSH, 505, 90, 90, 100, 80, 90, 55, 45, 50, 177, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.DURALUDON, 8, false, false, false, "Alloy Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 1.8, 40, AbilityId.LIGHT_METAL, AbilityId.HEAVY_METAL, AbilityId.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, GrowthRate.MEDIUM_FAST, 50, false, true, + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.DRAGON, 1.8, 40, AbilityId.LIGHT_METAL, AbilityId.HEAVY_METAL, AbilityId.STALWART, 535, 70, 95, 115, 120, 50, 85, 45, 50, 187, false, null, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.DRAGON, 43, 999.9, AbilityId.LIGHTNING_ROD, AbilityId.LIGHTNING_ROD, AbilityId.LIGHTNING_ROD, 635, 100, 110, 120, 175, 60, 70, 45, 50, 187), + ), + new PokemonSpecies(SpeciesId.DREEPY, 8, false, false, false, "Lingering Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 0.5, 2, AbilityId.CLEAR_BODY, AbilityId.INFILTRATOR, AbilityId.CURSED_BODY, 270, 28, 60, 30, 40, 30, 82, 45, 50, 54, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.DRAKLOAK, 8, false, false, false, "Caretaker Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 1.4, 11, AbilityId.CLEAR_BODY, AbilityId.INFILTRATOR, AbilityId.CURSED_BODY, 410, 68, 80, 50, 60, 50, 102, 45, 50, 144, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.DRAGAPULT, 8, false, false, false, "Stealth Pokémon", PokemonType.DRAGON, PokemonType.GHOST, 3, 50, AbilityId.CLEAR_BODY, AbilityId.INFILTRATOR, AbilityId.CURSED_BODY, 600, 88, 120, 75, 100, 75, 142, 45, 50, 300, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.ZACIAN, 8, false, true, false, "Warrior Pokémon", PokemonType.FAIRY, null, 2.8, 110, AbilityId.INTREPID_SWORD, AbilityId.NONE, AbilityId.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, GrowthRate.SLOW, null, false, false, + new PokemonForm("Hero of Many Battles", "hero-of-many-battles", PokemonType.FAIRY, null, 2.8, 110, AbilityId.INTREPID_SWORD, AbilityId.NONE, AbilityId.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, false, "", true), + new PokemonForm("Crowned", "crowned", PokemonType.FAIRY, PokemonType.STEEL, 2.8, 355, AbilityId.INTREPID_SWORD, AbilityId.NONE, AbilityId.NONE, 700, 92, 150, 115, 80, 115, 148, 10, 0, 360), + ), + new PokemonSpecies(SpeciesId.ZAMAZENTA, 8, false, true, false, "Warrior Pokémon", PokemonType.FIGHTING, null, 2.9, 210, AbilityId.DAUNTLESS_SHIELD, AbilityId.NONE, AbilityId.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, GrowthRate.SLOW, null, false, false, + new PokemonForm("Hero of Many Battles", "hero-of-many-battles", PokemonType.FIGHTING, null, 2.9, 210, AbilityId.DAUNTLESS_SHIELD, AbilityId.NONE, AbilityId.NONE, 660, 92, 120, 115, 80, 115, 138, 10, 0, 335, false, "", true), + new PokemonForm("Crowned", "crowned", PokemonType.FIGHTING, PokemonType.STEEL, 2.9, 785, AbilityId.DAUNTLESS_SHIELD, AbilityId.NONE, AbilityId.NONE, 700, 92, 120, 140, 80, 140, 128, 10, 0, 360), + ), + new PokemonSpecies(SpeciesId.ETERNATUS, 8, false, true, false, "Gigantic Pokémon", PokemonType.POISON, PokemonType.DRAGON, 20, 950, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.POISON, PokemonType.DRAGON, 20, 950, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, false, null, true), + new PokemonForm("E-Max", "eternamax", PokemonType.POISON, PokemonType.DRAGON, 100, 999.9, AbilityId.PRESSURE, AbilityId.NONE, AbilityId.NONE, 1125, 255, 115, 250, 125, 250, 130, 255, 0, 345), + ), + new PokemonSpecies(SpeciesId.KUBFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, null, 0.6, 12, AbilityId.INNER_FOCUS, AbilityId.NONE, AbilityId.NONE, 385, 60, 90, 60, 53, 50, 72, 3, 50, 77, GrowthRate.SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.URSHIFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, GrowthRate.SLOW, 87.5, false, true, + new PokemonForm("Single Strike Style", "single-strike", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, "", true), + new PokemonForm("Rapid Strike Style", "rapid-strike", PokemonType.FIGHTING, PokemonType.WATER, 1.9, 105, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, null, true), + new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, PokemonType.FIGHTING, PokemonType.DARK, 29, 999.9, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275), + new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, PokemonType.FIGHTING, PokemonType.WATER, 26, 999.9, AbilityId.UNSEEN_FIST, AbilityId.NONE, AbilityId.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275), + ), + new PokemonSpecies(SpeciesId.ZARUDE, 8, false, false, true, "Rogue Monkey Pokémon", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, GrowthRate.SLOW, null, false, false, + new PokemonForm("Normal", "", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, false, null, true), + new PokemonForm("Dada", "dada", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, AbilityId.LEAF_GUARD, AbilityId.NONE, AbilityId.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, false, null, true), + ), + new PokemonSpecies(SpeciesId.REGIELEKI, 8, true, false, false, "Electron Pokémon", PokemonType.ELECTRIC, null, 1.2, 145, AbilityId.TRANSISTOR, AbilityId.NONE, AbilityId.NONE, 580, 80, 100, 50, 100, 50, 200, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.REGIDRAGO, 8, true, false, false, "Dragon Orb Pokémon", PokemonType.DRAGON, null, 2.1, 200, AbilityId.DRAGONS_MAW, AbilityId.NONE, AbilityId.NONE, 580, 200, 100, 50, 100, 50, 80, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.GLASTRIER, 8, true, false, false, "Wild Horse Pokémon", PokemonType.ICE, null, 2.2, 800, AbilityId.CHILLING_NEIGH, AbilityId.NONE, AbilityId.NONE, 580, 100, 145, 130, 65, 110, 30, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SPECTRIER, 8, true, false, false, "Swift Horse Pokémon", PokemonType.GHOST, null, 2, 44.5, AbilityId.GRIM_NEIGH, AbilityId.NONE, AbilityId.NONE, 580, 100, 65, 60, 145, 80, 130, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.CALYREX, 8, false, true, false, "King Pokémon", PokemonType.PSYCHIC, PokemonType.GRASS, 1.1, 7.7, AbilityId.UNNERVE, AbilityId.NONE, AbilityId.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, GrowthRate.SLOW, null, false, true, + new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.GRASS, 1.1, 7.7, AbilityId.UNNERVE, AbilityId.NONE, AbilityId.NONE, 500, 100, 80, 80, 80, 80, 80, 3, 100, 250, false, null, true), + new PokemonForm("Ice", "ice", PokemonType.PSYCHIC, PokemonType.ICE, 2.4, 809.1, AbilityId.AS_ONE_GLASTRIER, AbilityId.NONE, AbilityId.NONE, 680, 100, 165, 150, 85, 130, 50, 3, 100, 340), + new PokemonForm("Shadow", "shadow", PokemonType.PSYCHIC, PokemonType.GHOST, 2.4, 53.6, AbilityId.AS_ONE_SPECTRIER, AbilityId.NONE, AbilityId.NONE, 680, 100, 85, 80, 165, 100, 150, 3, 100, 340), + ), + new PokemonSpecies(SpeciesId.WYRDEER, 8, false, false, false, "Big Horn Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 1.8, 95.1, AbilityId.INTIMIDATE, AbilityId.FRISK, AbilityId.SAP_SIPPER, 525, 103, 105, 72, 105, 75, 65, 135, 50, 263, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.KLEAVOR, 8, false, false, false, "Axe Pokémon", PokemonType.BUG, PokemonType.ROCK, 1.8, 89, AbilityId.SWARM, AbilityId.SHEER_FORCE, AbilityId.SHARPNESS, 500, 70, 135, 95, 45, 70, 85, 115, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.URSALUNA, 8, false, false, false, "Peat Pokémon", PokemonType.GROUND, PokemonType.NORMAL, 2.4, 290, AbilityId.GUTS, AbilityId.BULLETPROOF, AbilityId.UNNERVE, 550, 130, 140, 105, 45, 80, 50, 75, 50, 275, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BASCULEGION, 8, false, false, false, "Big Fish Pokémon", PokemonType.WATER, PokemonType.GHOST, 3, 110, AbilityId.SWIFT_SWIM, AbilityId.ADAPTABILITY, AbilityId.MOLD_BREAKER, 530, 120, 112, 65, 80, 75, 78, 135, 50, 265, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Male", "male", PokemonType.WATER, PokemonType.GHOST, 3, 110, AbilityId.SWIFT_SWIM, AbilityId.ADAPTABILITY, AbilityId.MOLD_BREAKER, 530, 120, 112, 65, 80, 75, 78, 135, 50, 265, false, "", true), + new PokemonForm("Female", "female", PokemonType.WATER, PokemonType.GHOST, 3, 110, AbilityId.SWIFT_SWIM, AbilityId.ADAPTABILITY, AbilityId.MOLD_BREAKER, 530, 120, 92, 65, 100, 75, 78, 135, 50, 265, false, null, true), + ), + new PokemonSpecies(SpeciesId.SNEASLER, 8, false, false, false, "Free Climb Pokémon", PokemonType.FIGHTING, PokemonType.POISON, 1.3, 43, AbilityId.PRESSURE, AbilityId.UNBURDEN, AbilityId.POISON_TOUCH, 510, 80, 130, 60, 40, 80, 120, 135, 50, 102, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.OVERQWIL, 8, false, false, false, "Pin Cluster Pokémon", PokemonType.DARK, PokemonType.POISON, 2.5, 60.5, AbilityId.POISON_POINT, AbilityId.SWIFT_SWIM, AbilityId.INTIMIDATE, 510, 85, 115, 95, 65, 65, 85, 135, 50, 179, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ENAMORUS, 8, true, false, false, "Love-Hate Pokémon", PokemonType.FAIRY, PokemonType.FLYING, 1.6, 48, AbilityId.CUTE_CHARM, AbilityId.NONE, AbilityId.CONTRARY, 580, 74, 115, 70, 135, 80, 106, 3, 50, 116, GrowthRate.SLOW, 0, false, true, + new PokemonForm("Incarnate Forme", "incarnate", PokemonType.FAIRY, PokemonType.FLYING, 1.6, 48, AbilityId.CUTE_CHARM, AbilityId.NONE, AbilityId.CONTRARY, 580, 74, 115, 70, 135, 80, 106, 3, 50, 116, false, null, true), + new PokemonForm("Therian Forme", "therian", PokemonType.FAIRY, PokemonType.FLYING, 1.6, 48, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.OVERCOAT, 580, 74, 115, 110, 135, 100, 46, 3, 50, 116), + ), + new PokemonSpecies(SpeciesId.SPRIGATITO, 9, false, false, false, "Grass Cat Pokémon", PokemonType.GRASS, null, 0.4, 4.1, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.PROTEAN, 310, 40, 61, 54, 45, 45, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.FLORAGATO, 9, false, false, false, "Grass Cat Pokémon", PokemonType.GRASS, null, 0.9, 12.2, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.PROTEAN, 410, 61, 80, 63, 60, 63, 83, 45, 50, 144, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.MEOWSCARADA, 9, false, false, false, "Magician Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.5, 31.2, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.PROTEAN, 530, 76, 110, 70, 81, 70, 123, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.FUECOCO, 9, false, false, false, "Fire Croc Pokémon", PokemonType.FIRE, null, 0.4, 9.8, AbilityId.BLAZE, AbilityId.NONE, AbilityId.UNAWARE, 310, 67, 45, 59, 63, 40, 36, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.CROCALOR, 9, false, false, false, "Fire Croc Pokémon", PokemonType.FIRE, null, 1, 30.7, AbilityId.BLAZE, AbilityId.NONE, AbilityId.UNAWARE, 411, 81, 55, 78, 90, 58, 49, 45, 50, 144, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.SKELEDIRGE, 9, false, false, false, "Singer Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.6, 326.5, AbilityId.BLAZE, AbilityId.NONE, AbilityId.UNAWARE, 530, 104, 75, 100, 110, 75, 66, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.QUAXLY, 9, false, false, false, "Duckling Pokémon", PokemonType.WATER, null, 0.5, 6.1, AbilityId.TORRENT, AbilityId.NONE, AbilityId.MOXIE, 310, 55, 65, 45, 50, 45, 50, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.QUAXWELL, 9, false, false, false, "Practicing Pokémon", PokemonType.WATER, null, 1.2, 21.5, AbilityId.TORRENT, AbilityId.NONE, AbilityId.MOXIE, 410, 70, 85, 65, 65, 60, 65, 45, 50, 144, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.QUAQUAVAL, 9, false, false, false, "Dancer Pokémon", PokemonType.WATER, PokemonType.FIGHTING, 1.8, 61.9, AbilityId.TORRENT, AbilityId.NONE, AbilityId.MOXIE, 530, 85, 120, 80, 85, 75, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.LECHONK, 9, false, false, false, "Hog Pokémon", PokemonType.NORMAL, null, 0.5, 10.2, AbilityId.AROMA_VEIL, AbilityId.GLUTTONY, AbilityId.THICK_FAT, 254, 54, 45, 40, 35, 45, 35, 255, 50, 51, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.OINKOLOGNE, 9, false, false, false, "Hog Pokémon", PokemonType.NORMAL, null, 1, 120, AbilityId.LINGERING_AROMA, AbilityId.GLUTTONY, AbilityId.THICK_FAT, 489, 110, 100, 75, 59, 80, 65, 100, 50, 171, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Male", "male", PokemonType.NORMAL, null, 1, 120, AbilityId.LINGERING_AROMA, AbilityId.GLUTTONY, AbilityId.THICK_FAT, 489, 110, 100, 75, 59, 80, 65, 100, 50, 171, false, "", true), + new PokemonForm("Female", "female", PokemonType.NORMAL, null, 1, 120, AbilityId.AROMA_VEIL, AbilityId.GLUTTONY, AbilityId.THICK_FAT, 489, 115, 90, 70, 59, 90, 65, 100, 50, 171, false, null, true), + ), + new PokemonSpecies(SpeciesId.TAROUNTULA, 9, false, false, false, "String Ball Pokémon", PokemonType.BUG, null, 0.3, 4, AbilityId.INSOMNIA, AbilityId.NONE, AbilityId.STAKEOUT, 210, 35, 41, 45, 29, 40, 20, 255, 50, 42, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.SPIDOPS, 9, false, false, false, "Trap Pokémon", PokemonType.BUG, null, 1, 16.5, AbilityId.INSOMNIA, AbilityId.NONE, AbilityId.STAKEOUT, 404, 60, 79, 92, 52, 86, 35, 120, 50, 141, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.NYMBLE, 9, false, false, false, "Grasshopper Pokémon", PokemonType.BUG, null, 0.2, 1, AbilityId.SWARM, AbilityId.NONE, AbilityId.TINTED_LENS, 210, 33, 46, 40, 21, 25, 45, 190, 20, 42, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.LOKIX, 9, false, false, false, "Grasshopper Pokémon", PokemonType.BUG, PokemonType.DARK, 1, 17.5, AbilityId.SWARM, AbilityId.NONE, AbilityId.TINTED_LENS, 450, 71, 102, 78, 52, 55, 92, 30, 0, 158, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PAWMI, 9, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, null, 0.3, 2.5, AbilityId.STATIC, AbilityId.NATURAL_CURE, AbilityId.IRON_FIST, 240, 45, 50, 20, 40, 25, 60, 190, 50, 48, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PAWMO, 9, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, PokemonType.FIGHTING, 0.4, 6.5, AbilityId.VOLT_ABSORB, AbilityId.NATURAL_CURE, AbilityId.IRON_FIST, 350, 60, 75, 40, 50, 40, 85, 80, 50, 123, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.PAWMOT, 9, false, false, false, "Hands-On Pokémon", PokemonType.ELECTRIC, PokemonType.FIGHTING, 0.9, 41, AbilityId.VOLT_ABSORB, AbilityId.NATURAL_CURE, AbilityId.IRON_FIST, 490, 70, 115, 70, 70, 60, 105, 45, 50, 245, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TANDEMAUS, 9, false, false, false, "Couple Pokémon", PokemonType.NORMAL, null, 0.3, 1.8, AbilityId.RUN_AWAY, AbilityId.PICKUP, AbilityId.OWN_TEMPO, 305, 50, 50, 45, 40, 45, 75, 150, 50, 61, GrowthRate.FAST, null, false), + new PokemonSpecies(SpeciesId.MAUSHOLD, 9, false, false, false, "Family Pokémon", PokemonType.NORMAL, null, 0.3, 2.3, AbilityId.FRIEND_GUARD, AbilityId.CHEEK_POUCH, AbilityId.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165, GrowthRate.FAST, null, false, false, + new PokemonForm("Family of Four", "four", PokemonType.NORMAL, null, 0.3, 2.8, AbilityId.FRIEND_GUARD, AbilityId.CHEEK_POUCH, AbilityId.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), + new PokemonForm("Family of Three", "three", PokemonType.NORMAL, null, 0.3, 2.3, AbilityId.FRIEND_GUARD, AbilityId.CHEEK_POUCH, AbilityId.TECHNICIAN, 470, 74, 75, 70, 65, 75, 111, 75, 50, 165), + ), + new PokemonSpecies(SpeciesId.FIDOUGH, 9, false, false, false, "Puppy Pokémon", PokemonType.FAIRY, null, 0.3, 10.9, AbilityId.OWN_TEMPO, AbilityId.NONE, AbilityId.KLUTZ, 312, 37, 55, 70, 30, 55, 65, 190, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.DACHSBUN, 9, false, false, false, "Dog Pokémon", PokemonType.FAIRY, null, 0.5, 14.9, AbilityId.WELL_BAKED_BODY, AbilityId.NONE, AbilityId.AROMA_VEIL, 477, 57, 80, 115, 50, 80, 95, 90, 50, 167, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SMOLIV, 9, false, false, false, "Olive Pokémon", PokemonType.GRASS, PokemonType.NORMAL, 0.3, 6.5, AbilityId.EARLY_BIRD, AbilityId.NONE, AbilityId.HARVEST, 260, 41, 35, 45, 58, 51, 30, 255, 50, 52, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.DOLLIV, 9, false, false, false, "Olive Pokémon", PokemonType.GRASS, PokemonType.NORMAL, 0.6, 11.9, AbilityId.EARLY_BIRD, AbilityId.NONE, AbilityId.HARVEST, 354, 52, 53, 60, 78, 78, 33, 120, 50, 124, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ARBOLIVA, 9, false, false, false, "Olive Pokémon", PokemonType.GRASS, PokemonType.NORMAL, 1.4, 48.2, AbilityId.SEED_SOWER, AbilityId.NONE, AbilityId.HARVEST, 510, 78, 69, 90, 125, 109, 39, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SQUAWKABILLY, 9, false, false, false, "Parrot Pokémon", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, AbilityId.INTIMIDATE, AbilityId.HUSTLE, AbilityId.GUTS, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, GrowthRate.ERRATIC, 50, false, false, + new PokemonForm("Green Plumage", "green-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, AbilityId.INTIMIDATE, AbilityId.HUSTLE, AbilityId.GUTS, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), + new PokemonForm("Blue Plumage", "blue-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, AbilityId.INTIMIDATE, AbilityId.HUSTLE, AbilityId.GUTS, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), + new PokemonForm("Yellow Plumage", "yellow-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, AbilityId.INTIMIDATE, AbilityId.HUSTLE, AbilityId.SHEER_FORCE, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), + new PokemonForm("White Plumage", "white-plumage", PokemonType.NORMAL, PokemonType.FLYING, 0.6, 2.4, AbilityId.INTIMIDATE, AbilityId.HUSTLE, AbilityId.SHEER_FORCE, 417, 82, 96, 51, 45, 51, 92, 190, 50, 146, false, null, true), + ), + new PokemonSpecies(SpeciesId.NACLI, 9, false, false, false, "Rock Salt Pokémon", PokemonType.ROCK, null, 0.4, 16, AbilityId.PURIFYING_SALT, AbilityId.STURDY, AbilityId.CLEAR_BODY, 280, 55, 55, 75, 35, 35, 25, 255, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.NACLSTACK, 9, false, false, false, "Rock Salt Pokémon", PokemonType.ROCK, null, 0.6, 105, AbilityId.PURIFYING_SALT, AbilityId.STURDY, AbilityId.CLEAR_BODY, 355, 60, 60, 100, 35, 65, 35, 120, 50, 124, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GARGANACL, 9, false, false, false, "Rock Salt Pokémon", PokemonType.ROCK, null, 2.3, 240, AbilityId.PURIFYING_SALT, AbilityId.STURDY, AbilityId.CLEAR_BODY, 500, 100, 100, 130, 45, 90, 35, 45, 50, 250, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CHARCADET, 9, false, false, false, "Fire Child Pokémon", PokemonType.FIRE, null, 0.6, 10.5, AbilityId.FLASH_FIRE, AbilityId.NONE, AbilityId.FLAME_BODY, 255, 40, 50, 40, 50, 40, 35, 90, 50, 51, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.ARMAROUGE, 9, false, false, false, "Fire Warrior Pokémon", PokemonType.FIRE, PokemonType.PSYCHIC, 1.5, 85, AbilityId.FLASH_FIRE, AbilityId.NONE, AbilityId.WEAK_ARMOR, 525, 85, 60, 100, 125, 80, 75, 25, 20, 263, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.CERULEDGE, 9, false, false, false, "Fire Blades Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.6, 62, AbilityId.FLASH_FIRE, AbilityId.NONE, AbilityId.WEAK_ARMOR, 525, 75, 125, 80, 60, 100, 85, 25, 20, 263, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.TADBULB, 9, false, false, false, "EleTadpole Pokémon", PokemonType.ELECTRIC, null, 0.3, 0.4, AbilityId.OWN_TEMPO, AbilityId.STATIC, AbilityId.DAMP, 272, 61, 31, 41, 59, 35, 45, 190, 50, 54, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BELLIBOLT, 9, false, false, false, "EleFrog Pokémon", PokemonType.ELECTRIC, null, 1.2, 113, AbilityId.ELECTROMORPHOSIS, AbilityId.STATIC, AbilityId.DAMP, 495, 109, 64, 91, 103, 83, 45, 50, 50, 173, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WATTREL, 9, false, false, false, "Storm Petrel Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 0.4, 3.6, AbilityId.WIND_POWER, AbilityId.VOLT_ABSORB, AbilityId.COMPETITIVE, 280, 40, 40, 35, 55, 40, 70, 180, 50, 56, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.KILOWATTREL, 9, false, false, false, "Frigatebird Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.4, 38.6, AbilityId.WIND_POWER, AbilityId.VOLT_ABSORB, AbilityId.COMPETITIVE, 490, 70, 70, 60, 105, 60, 125, 90, 50, 172, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.MASCHIFF, 9, false, false, false, "Rascal Pokémon", PokemonType.DARK, null, 0.5, 16, AbilityId.INTIMIDATE, AbilityId.RUN_AWAY, AbilityId.STAKEOUT, 340, 60, 78, 60, 40, 51, 51, 150, 50, 68, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.MABOSSTIFF, 9, false, false, false, "Boss Pokémon", PokemonType.DARK, null, 1.1, 61, AbilityId.INTIMIDATE, AbilityId.GUARD_DOG, AbilityId.STAKEOUT, 505, 80, 120, 90, 60, 70, 85, 75, 50, 177, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.SHROODLE, 9, false, false, false, "Toxic Mouse Pokémon", PokemonType.POISON, PokemonType.NORMAL, 0.2, 0.7, AbilityId.UNBURDEN, AbilityId.PICKPOCKET, AbilityId.PRANKSTER, 290, 40, 65, 35, 40, 35, 75, 190, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GRAFAIAI, 9, false, false, false, "Toxic Monkey Pokémon", PokemonType.POISON, PokemonType.NORMAL, 0.7, 27.2, AbilityId.UNBURDEN, AbilityId.POISON_TOUCH, AbilityId.PRANKSTER, 485, 63, 95, 65, 80, 72, 110, 90, 50, 170, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.BRAMBLIN, 9, false, false, false, "Tumbleweed Pokémon", PokemonType.GRASS, PokemonType.GHOST, 0.6, 0.6, AbilityId.WIND_RIDER, AbilityId.NONE, AbilityId.INFILTRATOR, 275, 40, 65, 30, 45, 35, 60, 190, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BRAMBLEGHAST, 9, false, false, false, "Tumbleweed Pokémon", PokemonType.GRASS, PokemonType.GHOST, 1.2, 6, AbilityId.WIND_RIDER, AbilityId.NONE, AbilityId.INFILTRATOR, 480, 55, 115, 70, 80, 70, 90, 45, 50, 168, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.TOEDSCOOL, 9, false, false, false, "Woodear Pokémon", PokemonType.GROUND, PokemonType.GRASS, 0.9, 33, AbilityId.MYCELIUM_MIGHT, AbilityId.NONE, AbilityId.NONE, 335, 40, 40, 35, 50, 100, 70, 190, 50, 67, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.TOEDSCRUEL, 9, false, false, false, "Woodear Pokémon", PokemonType.GROUND, PokemonType.GRASS, 1.9, 58, AbilityId.MYCELIUM_MIGHT, AbilityId.NONE, AbilityId.NONE, 515, 80, 70, 65, 80, 120, 100, 90, 50, 180, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.KLAWF, 9, false, false, false, "Ambush Pokémon", PokemonType.ROCK, null, 1.3, 79, AbilityId.ANGER_SHELL, AbilityId.SHELL_ARMOR, AbilityId.REGENERATOR, 450, 70, 100, 115, 35, 55, 75, 120, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CAPSAKID, 9, false, false, false, "Spicy Pepper Pokémon", PokemonType.GRASS, null, 0.3, 3, AbilityId.CHLOROPHYLL, AbilityId.INSOMNIA, AbilityId.KLUTZ, 304, 50, 62, 40, 62, 40, 50, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.SCOVILLAIN, 9, false, false, false, "Spicy Pepper Pokémon", PokemonType.GRASS, PokemonType.FIRE, 0.9, 15, AbilityId.CHLOROPHYLL, AbilityId.INSOMNIA, AbilityId.MOODY, 486, 65, 108, 65, 108, 65, 75, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.RELLOR, 9, false, false, false, "Rolling Pokémon", PokemonType.BUG, null, 0.2, 1, AbilityId.COMPOUND_EYES, AbilityId.NONE, AbilityId.SHED_SKIN, 270, 41, 50, 60, 31, 58, 30, 190, 50, 54, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.RABSCA, 9, false, false, false, "Rolling Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.3, 3.5, AbilityId.SYNCHRONIZE, AbilityId.NONE, AbilityId.TELEPATHY, 470, 75, 50, 85, 115, 100, 45, 45, 50, 165, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.FLITTLE, 9, false, false, false, "Frill Pokémon", PokemonType.PSYCHIC, null, 0.2, 1.5, AbilityId.ANTICIPATION, AbilityId.FRISK, AbilityId.SPEED_BOOST, 255, 30, 35, 30, 55, 30, 75, 120, 50, 51, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ESPATHRA, 9, false, false, false, "Ostrich Pokémon", PokemonType.PSYCHIC, null, 1.9, 90, AbilityId.OPPORTUNIST, AbilityId.FRISK, AbilityId.SPEED_BOOST, 481, 95, 60, 60, 101, 60, 105, 60, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.TINKATINK, 9, false, false, false, "Metalsmith Pokémon", PokemonType.FAIRY, PokemonType.STEEL, 0.4, 8.9, AbilityId.MOLD_BREAKER, AbilityId.OWN_TEMPO, AbilityId.PICKPOCKET, 297, 50, 45, 45, 35, 64, 58, 190, 50, 59, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.TINKATUFF, 9, false, false, false, "Hammer Pokémon", PokemonType.FAIRY, PokemonType.STEEL, 0.7, 59.1, AbilityId.MOLD_BREAKER, AbilityId.OWN_TEMPO, AbilityId.PICKPOCKET, 380, 65, 55, 55, 45, 82, 78, 90, 50, 133, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.TINKATON, 9, false, false, false, "Hammer Pokémon", PokemonType.FAIRY, PokemonType.STEEL, 0.7, 112.8, AbilityId.MOLD_BREAKER, AbilityId.OWN_TEMPO, AbilityId.PICKPOCKET, 506, 85, 75, 77, 70, 105, 94, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 0, false), + new PokemonSpecies(SpeciesId.WIGLETT, 9, false, false, false, "Garden Eel Pokémon", PokemonType.WATER, null, 1.2, 1.8, AbilityId.GOOEY, AbilityId.RATTLED, AbilityId.SAND_VEIL, 245, 10, 55, 25, 35, 25, 95, 255, 50, 49, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.WUGTRIO, 9, false, false, false, "Garden Eel Pokémon", PokemonType.WATER, null, 1.2, 5.4, AbilityId.GOOEY, AbilityId.RATTLED, AbilityId.SAND_VEIL, 425, 35, 100, 50, 50, 70, 120, 50, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BOMBIRDIER, 9, false, false, false, "Item Drop Pokémon", PokemonType.FLYING, PokemonType.DARK, 1.5, 42.9, AbilityId.BIG_PECKS, AbilityId.KEEN_EYE, AbilityId.ROCKY_PAYLOAD, 485, 70, 103, 85, 60, 85, 82, 25, 50, 243, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.FINIZEN, 9, false, false, false, "Dolphin Pokémon", PokemonType.WATER, null, 1.3, 60.2, AbilityId.WATER_VEIL, AbilityId.NONE, AbilityId.NONE, 315, 70, 45, 40, 45, 40, 75, 200, 50, 63, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.PALAFIN, 9, false, false, false, "Dolphin Pokémon", PokemonType.WATER, null, 1.3, 60.2, AbilityId.ZERO_TO_HERO, AbilityId.NONE, AbilityId.NONE, 457, 100, 70, 72, 53, 62, 100, 45, 50, 160, GrowthRate.SLOW, 50, false, true, + new PokemonForm("Zero Form", "zero", PokemonType.WATER, null, 1.3, 60.2, AbilityId.ZERO_TO_HERO, AbilityId.NONE, AbilityId.ZERO_TO_HERO, 457, 100, 70, 72, 53, 62, 100, 45, 50, 160, false, null, true), + new PokemonForm("Hero Form", "hero", PokemonType.WATER, null, 1.8, 97.4, AbilityId.ZERO_TO_HERO, AbilityId.NONE, AbilityId.ZERO_TO_HERO, 650, 100, 160, 97, 106, 87, 100, 45, 50, 160), + ), + new PokemonSpecies(SpeciesId.VAROOM, 9, false, false, false, "Single-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1, 35, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.SLOW_START, 300, 45, 70, 63, 30, 45, 47, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.REVAVROOM, 9, false, false, false, "Multi-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, false, null, true), + new PokemonForm("Segin Starmobile", "segin-starmobile", PokemonType.STEEL, PokemonType.DARK, 1.8, 240, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.INTIMIDATE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Schedar Starmobile", "schedar-starmobile", PokemonType.STEEL, PokemonType.FIRE, 1.8, 240, AbilityId.SPEED_BOOST, AbilityId.NONE, AbilityId.SPEED_BOOST, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Navi Starmobile", "navi-starmobile", PokemonType.STEEL, PokemonType.POISON, 1.8, 240, AbilityId.TOXIC_DEBRIS, AbilityId.NONE, AbilityId.TOXIC_DEBRIS, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Ruchbah Starmobile", "ruchbah-starmobile", PokemonType.STEEL, PokemonType.FAIRY, 1.8, 240, AbilityId.MISTY_SURGE, AbilityId.NONE, AbilityId.MISTY_SURGE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Caph Starmobile", "caph-starmobile", PokemonType.STEEL, PokemonType.FIGHTING, 1.8, 240, AbilityId.STAMINA, AbilityId.NONE, AbilityId.STAMINA, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + ), + new PokemonSpecies(SpeciesId.CYCLIZAR, 9, false, false, false, "Mount Pokémon", PokemonType.DRAGON, PokemonType.NORMAL, 1.6, 63, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.REGENERATOR, 501, 70, 95, 65, 85, 65, 121, 190, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ORTHWORM, 9, false, false, false, "Earthworm Pokémon", PokemonType.STEEL, null, 2.5, 310, AbilityId.EARTH_EATER, AbilityId.NONE, AbilityId.SAND_VEIL, 480, 70, 85, 145, 60, 55, 65, 25, 50, 240, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.GLIMMET, 9, false, false, false, "Ore Pokémon", PokemonType.ROCK, PokemonType.POISON, 0.7, 8, AbilityId.TOXIC_DEBRIS, AbilityId.NONE, AbilityId.CORROSION, 350, 48, 35, 42, 105, 60, 60, 70, 50, 70, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GLIMMORA, 9, false, false, false, "Ore Pokémon", PokemonType.ROCK, PokemonType.POISON, 1.5, 45, AbilityId.TOXIC_DEBRIS, AbilityId.NONE, AbilityId.CORROSION, 525, 83, 55, 90, 130, 81, 86, 25, 50, 184, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GREAVARD, 9, false, false, false, "Ghost Dog Pokémon", PokemonType.GHOST, null, 0.6, 35, AbilityId.PICKUP, AbilityId.NONE, AbilityId.FLUFFY, 290, 50, 61, 60, 30, 55, 34, 120, 50, 58, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.HOUNDSTONE, 9, false, false, false, "Ghost Dog Pokémon", PokemonType.GHOST, null, 2, 15, AbilityId.SAND_RUSH, AbilityId.NONE, AbilityId.FLUFFY, 488, 72, 101, 100, 50, 97, 68, 60, 50, 171, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.FLAMIGO, 9, false, false, false, "Synchronize Pokémon", PokemonType.FLYING, PokemonType.FIGHTING, 1.6, 37, AbilityId.SCRAPPY, AbilityId.TANGLED_FEET, AbilityId.COSTAR, 500, 82, 115, 74, 75, 64, 90, 100, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CETODDLE, 9, false, false, false, "Terra Whale Pokémon", PokemonType.ICE, null, 1.2, 45, AbilityId.THICK_FAT, AbilityId.SNOW_CLOAK, AbilityId.SHEER_FORCE, 334, 108, 68, 45, 30, 40, 43, 150, 50, 67, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.CETITAN, 9, false, false, false, "Terra Whale Pokémon", PokemonType.ICE, null, 4.5, 700, AbilityId.THICK_FAT, AbilityId.SLUSH_RUSH, AbilityId.SHEER_FORCE, 521, 170, 113, 65, 45, 55, 73, 50, 50, 182, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.VELUZA, 9, false, false, false, "Jettison Pokémon", PokemonType.WATER, PokemonType.PSYCHIC, 2.5, 90, AbilityId.MOLD_BREAKER, AbilityId.NONE, AbilityId.SHARPNESS, 478, 90, 102, 73, 78, 65, 70, 100, 50, 167, GrowthRate.FAST, 50, false), + new PokemonSpecies(SpeciesId.DONDOZO, 9, false, false, false, "Big Catfish Pokémon", PokemonType.WATER, null, 12, 220, AbilityId.UNAWARE, AbilityId.OBLIVIOUS, AbilityId.WATER_VEIL, 530, 150, 100, 115, 65, 65, 35, 25, 50, 265, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.TATSUGIRI, 9, false, false, false, "Mimicry Pokémon", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, AbilityId.COMMANDER, AbilityId.NONE, AbilityId.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, GrowthRate.MEDIUM_SLOW, 50, false, false, + new PokemonForm("Curly Form", "curly", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, AbilityId.COMMANDER, AbilityId.NONE, AbilityId.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, false, null, true), + new PokemonForm("Droopy Form", "droopy", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, AbilityId.COMMANDER, AbilityId.NONE, AbilityId.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, false, null, true), + new PokemonForm("Stretchy Form", "stretchy", PokemonType.DRAGON, PokemonType.WATER, 0.3, 8, AbilityId.COMMANDER, AbilityId.NONE, AbilityId.STORM_DRAIN, 475, 68, 50, 60, 120, 95, 82, 100, 50, 166, false, null, true), + ), + new PokemonSpecies(SpeciesId.ANNIHILAPE, 9, false, false, false, "Rage Monkey Pokémon", PokemonType.FIGHTING, PokemonType.GHOST, 1.2, 56, AbilityId.VITAL_SPIRIT, AbilityId.INNER_FOCUS, AbilityId.DEFIANT, 535, 110, 115, 80, 50, 90, 90, 45, 50, 268, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.CLODSIRE, 9, false, false, false, "Spiny Fish Pokémon", PokemonType.POISON, PokemonType.GROUND, 1.8, 223, AbilityId.POISON_POINT, AbilityId.WATER_ABSORB, AbilityId.UNAWARE, 430, 130, 75, 60, 45, 100, 20, 90, 50, 151, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.FARIGIRAF, 9, false, false, false, "Long Neck Pokémon", PokemonType.NORMAL, PokemonType.PSYCHIC, 3.2, 160, AbilityId.CUD_CHEW, AbilityId.ARMOR_TAIL, AbilityId.SAP_SIPPER, 520, 120, 90, 70, 110, 70, 60, 45, 50, 260, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.DUDUNSPARCE, 9, false, false, false, "Land Snake Pokémon", PokemonType.NORMAL, null, 3.6, 39.2, AbilityId.SERENE_GRACE, AbilityId.RUN_AWAY, AbilityId.RATTLED, 520, 125, 100, 80, 85, 75, 55, 45, 50, 182, GrowthRate.MEDIUM_FAST, 50, false, false, + new PokemonForm("Two-Segment Form", "two-segment", PokemonType.NORMAL, null, 3.6, 39.2, AbilityId.SERENE_GRACE, AbilityId.RUN_AWAY, AbilityId.RATTLED, 520, 125, 100, 80, 85, 75, 55, 45, 50, 182, false, ""), + new PokemonForm("Three-Segment Form", "three-segment", PokemonType.NORMAL, null, 4.5, 47.4, AbilityId.SERENE_GRACE, AbilityId.RUN_AWAY, AbilityId.RATTLED, 520, 125, 100, 80, 85, 75, 55, 45, 50, 182), + ), + new PokemonSpecies(SpeciesId.KINGAMBIT, 9, false, false, false, "Big Blade Pokémon", PokemonType.DARK, PokemonType.STEEL, 2, 120, AbilityId.DEFIANT, AbilityId.SUPREME_OVERLORD, AbilityId.PRESSURE, 550, 100, 135, 120, 60, 85, 50, 25, 50, 275, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GREAT_TUSK, 9, false, false, false, "Paradox Pokémon", PokemonType.GROUND, PokemonType.FIGHTING, 2.2, 320, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 570, 115, 131, 131, 53, 53, 87, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SCREAM_TAIL, 9, false, false, false, "Paradox Pokémon", PokemonType.FAIRY, PokemonType.PSYCHIC, 1.2, 8, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 570, 115, 65, 99, 65, 115, 111, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.BRUTE_BONNET, 9, false, false, false, "Paradox Pokémon", PokemonType.GRASS, PokemonType.DARK, 1.2, 21, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 570, 111, 127, 99, 79, 99, 55, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.FLUTTER_MANE, 9, false, false, false, "Paradox Pokémon", PokemonType.GHOST, PokemonType.FAIRY, 1.4, 4, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 570, 55, 55, 55, 135, 135, 135, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SLITHER_WING, 9, false, false, false, "Paradox Pokémon", PokemonType.BUG, PokemonType.FIGHTING, 3.2, 92, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 570, 85, 135, 79, 85, 105, 81, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.SANDY_SHOCKS, 9, false, false, false, "Paradox Pokémon", PokemonType.ELECTRIC, PokemonType.GROUND, 2.3, 60, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 570, 85, 81, 97, 121, 85, 101, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_TREADS, 9, false, false, false, "Paradox Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.9, 240, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 570, 90, 112, 120, 72, 70, 106, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_BUNDLE, 9, false, false, false, "Paradox Pokémon", PokemonType.ICE, PokemonType.WATER, 0.6, 11, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 570, 56, 80, 114, 124, 60, 136, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_HANDS, 9, false, false, false, "Paradox Pokémon", PokemonType.FIGHTING, PokemonType.ELECTRIC, 1.8, 380.7, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 570, 154, 140, 108, 50, 68, 50, 50, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_JUGULIS, 9, false, false, false, "Paradox Pokémon", PokemonType.DARK, PokemonType.FLYING, 1.3, 111, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 570, 94, 80, 86, 122, 80, 108, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_MOTH, 9, false, false, false, "Paradox Pokémon", PokemonType.FIRE, PokemonType.POISON, 1.2, 36, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 570, 80, 70, 60, 140, 110, 110, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_THORNS, 9, false, false, false, "Paradox Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 1.6, 303, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 570, 100, 134, 110, 70, 84, 72, 30, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.FRIGIBAX, 9, false, false, false, "Ice Fin Pokémon", PokemonType.DRAGON, PokemonType.ICE, 0.5, 17, AbilityId.THERMAL_EXCHANGE, AbilityId.NONE, AbilityId.ICE_BODY, 320, 65, 75, 45, 35, 45, 55, 45, 50, 64, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.ARCTIBAX, 9, false, false, false, "Ice Fin Pokémon", PokemonType.DRAGON, PokemonType.ICE, 0.8, 30, AbilityId.THERMAL_EXCHANGE, AbilityId.NONE, AbilityId.ICE_BODY, 423, 90, 95, 66, 45, 65, 62, 25, 50, 148, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.BAXCALIBUR, 9, false, false, false, "Ice Dragon Pokémon", PokemonType.DRAGON, PokemonType.ICE, 2.1, 210, AbilityId.THERMAL_EXCHANGE, AbilityId.NONE, AbilityId.ICE_BODY, 600, 115, 145, 92, 75, 86, 87, 10, 50, 300, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.GIMMIGHOUL, 9, false, false, false, "Coin Chest Pokémon", PokemonType.GHOST, null, 0.3, 5, AbilityId.RATTLED, AbilityId.NONE, AbilityId.NONE, 300, 45, 30, 70, 75, 70, 10, 45, 50, 60, GrowthRate.SLOW, null, false, false, + new PokemonForm("Chest Form", "chest", PokemonType.GHOST, null, 0.3, 5, AbilityId.RATTLED, AbilityId.NONE, AbilityId.NONE, 300, 45, 30, 70, 75, 70, 10, 45, 50, 60, false, "", true), + new PokemonForm("Roaming Form", "roaming", PokemonType.GHOST, null, 0.1, 1, AbilityId.RUN_AWAY, AbilityId.NONE, AbilityId.NONE, 300, 45, 30, 25, 75, 45, 80, 45, 50, 60, false, null, true), + ), + new PokemonSpecies(SpeciesId.GHOLDENGO, 9, false, false, false, "Coin Entity Pokémon", PokemonType.STEEL, PokemonType.GHOST, 1.2, 30, AbilityId.GOOD_AS_GOLD, AbilityId.NONE, AbilityId.NONE, 550, 87, 60, 95, 133, 91, 84, 45, 50, 275, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.WO_CHIEN, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.GRASS, 1.5, 74.2, AbilityId.TABLETS_OF_RUIN, AbilityId.NONE, AbilityId.NONE, 570, 85, 85, 100, 95, 135, 70, 6, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.CHIEN_PAO, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.ICE, 1.9, 152.2, AbilityId.SWORD_OF_RUIN, AbilityId.NONE, AbilityId.NONE, 570, 80, 120, 80, 90, 65, 135, 6, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.TING_LU, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.GROUND, 2.7, 699.7, AbilityId.VESSEL_OF_RUIN, AbilityId.NONE, AbilityId.NONE, 570, 155, 110, 125, 55, 80, 45, 6, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.CHI_YU, 9, true, false, false, "Ruinous Pokémon", PokemonType.DARK, PokemonType.FIRE, 0.4, 4.9, AbilityId.BEADS_OF_RUIN, AbilityId.NONE, AbilityId.NONE, 570, 55, 80, 80, 135, 120, 100, 6, 0, 285, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ROARING_MOON, 9, false, false, false, "Paradox Pokémon", PokemonType.DRAGON, PokemonType.DARK, 2, 380, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 590, 105, 139, 71, 55, 101, 119, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_VALIANT, 9, false, false, false, "Paradox Pokémon", PokemonType.FAIRY, PokemonType.FIGHTING, 1.4, 35, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 590, 74, 130, 90, 120, 60, 116, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.KORAIDON, 9, false, true, false, "Paradox Pokémon", PokemonType.FIGHTING, PokemonType.DRAGON, 2.5, 303, AbilityId.ORICHALCUM_PULSE, AbilityId.NONE, AbilityId.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, + new PokemonForm("Apex Build", "apex-build", PokemonType.FIGHTING, PokemonType.DRAGON, 2.5, 303, AbilityId.ORICHALCUM_PULSE, AbilityId.NONE, AbilityId.NONE, 670, 100, 135, 115, 85, 100, 135, 3, 0, 335, false, null, true), + ), + new PokemonSpecies(SpeciesId.MIRAIDON, 9, false, true, false, "Paradox Pokémon", PokemonType.ELECTRIC, PokemonType.DRAGON, 3.5, 240, AbilityId.HADRON_ENGINE, AbilityId.NONE, AbilityId.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335, GrowthRate.SLOW, null, false, false, + new PokemonForm("Ultimate Mode", "ultimate-mode", PokemonType.ELECTRIC, PokemonType.DRAGON, 3.5, 240, AbilityId.HADRON_ENGINE, AbilityId.NONE, AbilityId.NONE, 670, 100, 85, 100, 135, 115, 135, 3, 0, 335, false, null, true), + ), + new PokemonSpecies(SpeciesId.WALKING_WAKE, 9, false, false, false, "Paradox Pokémon", PokemonType.WATER, PokemonType.DRAGON, 3.5, 280, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 590, 99, 83, 91, 125, 83, 109, 10, 0, 295, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Gouging Fire and Raging Bolt + new PokemonSpecies(SpeciesId.IRON_LEAVES, 9, false, false, false, "Paradox Pokémon", PokemonType.GRASS, PokemonType.PSYCHIC, 1.5, 125, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 590, 90, 130, 88, 70, 108, 104, 10, 0, 295, GrowthRate.SLOW, null, false), //Custom Catchrate, matching Iron Boulder and Iron Crown + new PokemonSpecies(SpeciesId.DIPPLIN, 9, false, false, false, "Candy Apple Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.4, 4.4, AbilityId.SUPERSWEET_SYRUP, AbilityId.GLUTTONY, AbilityId.STICKY_HOLD, 485, 80, 80, 110, 95, 80, 40, 45, 50, 170, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.POLTCHAGEIST, 9, false, false, false, "Matcha Pokémon", PokemonType.GRASS, PokemonType.GHOST, 0.1, 1.1, AbilityId.HOSPITALITY, AbilityId.NONE, AbilityId.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, GrowthRate.SLOW, null, false, false, + new PokemonForm("Counterfeit Form", "counterfeit", PokemonType.GRASS, PokemonType.GHOST, 0.1, 1.1, AbilityId.HOSPITALITY, AbilityId.NONE, AbilityId.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, null, true), + new PokemonForm("Artisan Form", "artisan", PokemonType.GRASS, PokemonType.GHOST, 0.1, 1.1, AbilityId.HOSPITALITY, AbilityId.NONE, AbilityId.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, null, false, true), + ), + new PokemonSpecies(SpeciesId.SINISTCHA, 9, false, false, false, "Matcha Pokémon", PokemonType.GRASS, PokemonType.GHOST, 0.2, 2.2, AbilityId.HOSPITALITY, AbilityId.NONE, AbilityId.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178, GrowthRate.SLOW, null, false, false, + new PokemonForm("Unremarkable Form", "unremarkable", PokemonType.GRASS, PokemonType.GHOST, 0.2, 2.2, AbilityId.HOSPITALITY, AbilityId.NONE, AbilityId.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178), + new PokemonForm("Masterpiece Form", "masterpiece", PokemonType.GRASS, PokemonType.GHOST, 0.2, 2.2, AbilityId.HOSPITALITY, AbilityId.NONE, AbilityId.HEATPROOF, 508, 71, 60, 106, 121, 80, 70, 60, 50, 178, false, null, false, true), + ), + new PokemonSpecies(SpeciesId.OKIDOGI, 9, true, false, false, "Retainer Pokémon", PokemonType.POISON, PokemonType.FIGHTING, 1.8, 92.2, AbilityId.TOXIC_CHAIN, AbilityId.NONE, AbilityId.GUARD_DOG, 555, 88, 128, 115, 58, 86, 80, 3, 0, 276, GrowthRate.SLOW, 100, false), + new PokemonSpecies(SpeciesId.MUNKIDORI, 9, true, false, false, "Retainer Pokémon", PokemonType.POISON, PokemonType.PSYCHIC, 1, 12.2, AbilityId.TOXIC_CHAIN, AbilityId.NONE, AbilityId.FRISK, 555, 88, 75, 66, 130, 90, 106, 3, 0, 276, GrowthRate.SLOW, 100, false), + new PokemonSpecies(SpeciesId.FEZANDIPITI, 9, true, false, false, "Retainer Pokémon", PokemonType.POISON, PokemonType.FAIRY, 1.4, 30.1, AbilityId.TOXIC_CHAIN, AbilityId.NONE, AbilityId.TECHNICIAN, 555, 88, 91, 82, 70, 125, 99, 3, 0, 276, GrowthRate.SLOW, 100, false), + new PokemonSpecies(SpeciesId.OGERPON, 9, true, false, false, "Mask Pokémon", PokemonType.GRASS, null, 1.2, 39.8, AbilityId.DEFIANT, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, GrowthRate.SLOW, 0, false, false, + new PokemonForm("Teal Mask", "teal-mask", PokemonType.GRASS, null, 1.2, 39.8, AbilityId.DEFIANT, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275, false, null, true), + new PokemonForm("Wellspring Mask", "wellspring-mask", PokemonType.GRASS, PokemonType.WATER, 1.2, 39.8, AbilityId.WATER_ABSORB, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), + new PokemonForm("Hearthflame Mask", "hearthflame-mask", PokemonType.GRASS, PokemonType.FIRE, 1.2, 39.8, AbilityId.MOLD_BREAKER, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), + new PokemonForm("Cornerstone Mask", "cornerstone-mask", PokemonType.GRASS, PokemonType.ROCK, 1.2, 39.8, AbilityId.STURDY, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), + new PokemonForm("Teal Mask Terastallized", "teal-mask-tera", PokemonType.GRASS, null, 1.2, 39.8, AbilityId.EMBODY_ASPECT_TEAL, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), + new PokemonForm("Wellspring Mask Terastallized", "wellspring-mask-tera", PokemonType.GRASS, PokemonType.WATER, 1.2, 39.8, AbilityId.EMBODY_ASPECT_WELLSPRING, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), + new PokemonForm("Hearthflame Mask Terastallized", "hearthflame-mask-tera", PokemonType.GRASS, PokemonType.FIRE, 1.2, 39.8, AbilityId.EMBODY_ASPECT_HEARTHFLAME, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), + new PokemonForm("Cornerstone Mask Terastallized", "cornerstone-mask-tera", PokemonType.GRASS, PokemonType.ROCK, 1.2, 39.8, AbilityId.EMBODY_ASPECT_CORNERSTONE, AbilityId.NONE, AbilityId.NONE, 550, 80, 120, 84, 60, 96, 110, 5, 50, 275), + ), + new PokemonSpecies(SpeciesId.ARCHALUDON, 9, false, false, false, "Alloy Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 2, 60, AbilityId.STAMINA, AbilityId.STURDY, AbilityId.STALWART, 600, 90, 105, 130, 125, 65, 85, 10, 50, 300, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HYDRAPPLE, 9, false, false, false, "Apple Hydra Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 1.8, 93, AbilityId.SUPERSWEET_SYRUP, AbilityId.REGENERATOR, AbilityId.STICKY_HOLD, 540, 106, 80, 110, 120, 80, 44, 10, 50, 270, GrowthRate.ERRATIC, 50, false), + new PokemonSpecies(SpeciesId.GOUGING_FIRE, 9, false, false, false, "Paradox Pokémon", PokemonType.FIRE, PokemonType.DRAGON, 3.5, 590, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 590, 105, 115, 121, 65, 93, 91, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.RAGING_BOLT, 9, false, false, false, "Paradox Pokémon", PokemonType.ELECTRIC, PokemonType.DRAGON, 5.2, 480, AbilityId.PROTOSYNTHESIS, AbilityId.NONE, AbilityId.NONE, 590, 125, 73, 91, 137, 89, 75, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_BOULDER, 9, false, false, false, "Paradox Pokémon", PokemonType.ROCK, PokemonType.PSYCHIC, 1.5, 162.5, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 590, 90, 120, 80, 68, 108, 124, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.IRON_CROWN, 9, false, false, false, "Paradox Pokémon", PokemonType.STEEL, PokemonType.PSYCHIC, 1.6, 156, AbilityId.QUARK_DRIVE, AbilityId.NONE, AbilityId.NONE, 590, 90, 72, 100, 122, 108, 98, 10, 0, 295, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.TERAPAGOS, 9, false, true, false, "Tera Pokémon", PokemonType.NORMAL, null, 0.2, 6.5, AbilityId.TERA_SHIFT, AbilityId.NONE, AbilityId.NONE, 450, 90, 65, 85, 65, 85, 60, 5, 50, 90, GrowthRate.SLOW, 50, false, false, + new PokemonForm("Normal Form", "", PokemonType.NORMAL, null, 0.2, 6.5, AbilityId.TERA_SHIFT, AbilityId.NONE, AbilityId.NONE, 450, 90, 65, 85, 65, 85, 60, 5, 50, 90, false, null, true), + new PokemonForm("Terastal Form", "terastal", PokemonType.NORMAL, null, 0.3, 16, AbilityId.TERA_SHELL, AbilityId.NONE, AbilityId.NONE, 600, 95, 95, 110, 105, 110, 85, 5, 50, 120), + new PokemonForm("Stellar Form", "stellar", PokemonType.NORMAL, null, 1.7, 77, AbilityId.TERAFORM_ZERO, AbilityId.NONE, AbilityId.NONE, 700, 160, 105, 110, 130, 110, 85, 5, 50, 140), + ), + new PokemonSpecies(SpeciesId.PECHARUNT, 9, false, false, true, "Subjugation Pokémon", PokemonType.POISON, PokemonType.GHOST, 0.3, 0.3, AbilityId.POISON_PUPPETEER, AbilityId.NONE, AbilityId.NONE, 600, 88, 88, 160, 88, 88, 88, 3, 0, 300, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.ALOLA_RATTATA, 7, false, false, false, "Mouse Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.3, 3.8, AbilityId.GLUTTONY, AbilityId.HUSTLE, AbilityId.THICK_FAT, 253, 30, 56, 35, 25, 35, 72, 255, 70, 51, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_RATICATE, 7, false, false, false, "Mouse Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.7, 25.5, AbilityId.GLUTTONY, AbilityId.HUSTLE, AbilityId.THICK_FAT, 413, 75, 71, 70, 40, 80, 77, 127, 70, 145, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_RAICHU, 7, false, false, false, "Mouse Pokémon", PokemonType.ELECTRIC, PokemonType.PSYCHIC, 0.7, 21, AbilityId.SURGE_SURFER, AbilityId.NONE, AbilityId.NONE, 485, 60, 85, 50, 95, 85, 110, 75, 50, 243, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_SANDSHREW, 7, false, false, false, "Mouse Pokémon", PokemonType.ICE, PokemonType.STEEL, 0.7, 40, AbilityId.SNOW_CLOAK, AbilityId.NONE, AbilityId.SLUSH_RUSH, 300, 50, 75, 90, 10, 35, 40, 255, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_SANDSLASH, 7, false, false, false, "Mouse Pokémon", PokemonType.ICE, PokemonType.STEEL, 1.2, 55, AbilityId.SNOW_CLOAK, AbilityId.NONE, AbilityId.SLUSH_RUSH, 450, 75, 100, 120, 25, 65, 65, 90, 50, 158, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_VULPIX, 7, false, false, false, "Fox Pokémon", PokemonType.ICE, null, 0.6, 9.9, AbilityId.SNOW_CLOAK, AbilityId.NONE, AbilityId.SNOW_WARNING, 299, 38, 41, 40, 50, 65, 65, 190, 50, 60, GrowthRate.MEDIUM_FAST, 25, false), + new PokemonSpecies(SpeciesId.ALOLA_NINETALES, 7, false, false, false, "Fox Pokémon", PokemonType.ICE, PokemonType.FAIRY, 1.1, 19.9, AbilityId.SNOW_CLOAK, AbilityId.NONE, AbilityId.SNOW_WARNING, 505, 73, 67, 75, 81, 100, 109, 75, 50, 177, GrowthRate.MEDIUM_FAST, 25, false), + new PokemonSpecies(SpeciesId.ALOLA_DIGLETT, 7, false, false, false, "Mole Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.2, 1, AbilityId.SAND_VEIL, AbilityId.TANGLING_HAIR, AbilityId.SAND_FORCE, 265, 10, 55, 30, 35, 45, 90, 255, 50, 53, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_DUGTRIO, 7, false, false, false, "Mole Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.7, 66.6, AbilityId.SAND_VEIL, AbilityId.TANGLING_HAIR, AbilityId.SAND_FORCE, 425, 35, 100, 60, 50, 70, 110, 50, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_MEOWTH, 7, false, false, false, "Scratch Cat Pokémon", PokemonType.DARK, null, 0.4, 4.2, AbilityId.PICKUP, AbilityId.TECHNICIAN, AbilityId.RATTLED, 290, 40, 35, 35, 50, 40, 90, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_PERSIAN, 7, false, false, false, "Classy Cat Pokémon", PokemonType.DARK, null, 1.1, 33, AbilityId.FUR_COAT, AbilityId.TECHNICIAN, AbilityId.RATTLED, 440, 65, 60, 60, 75, 65, 115, 90, 50, 154, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_GEODUDE, 7, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 0.4, 20.3, AbilityId.MAGNET_PULL, AbilityId.STURDY, AbilityId.GALVANIZE, 300, 40, 80, 100, 30, 30, 20, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_GRAVELER, 7, false, false, false, "Rock Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 1, 110, AbilityId.MAGNET_PULL, AbilityId.STURDY, AbilityId.GALVANIZE, 390, 55, 95, 115, 45, 45, 35, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_GOLEM, 7, false, false, false, "Megaton Pokémon", PokemonType.ROCK, PokemonType.ELECTRIC, 1.7, 316, AbilityId.MAGNET_PULL, AbilityId.STURDY, AbilityId.GALVANIZE, 495, 80, 120, 130, 55, 65, 45, 45, 70, 223, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_GRIMER, 7, false, false, false, "Sludge Pokémon", PokemonType.POISON, PokemonType.DARK, 0.7, 42, AbilityId.POISON_TOUCH, AbilityId.GLUTTONY, AbilityId.POWER_OF_ALCHEMY, 325, 80, 80, 50, 40, 50, 25, 190, 70, 65, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_MUK, 7, false, false, false, "Sludge Pokémon", PokemonType.POISON, PokemonType.DARK, 1, 52, AbilityId.POISON_TOUCH, AbilityId.GLUTTONY, AbilityId.POWER_OF_ALCHEMY, 500, 105, 105, 75, 65, 100, 50, 75, 70, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_EXEGGUTOR, 7, false, false, false, "Coconut Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 10.9, 415.6, AbilityId.FRISK, AbilityId.NONE, AbilityId.HARVEST, 530, 95, 105, 85, 125, 75, 45, 45, 50, 186, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.ALOLA_MAROWAK, 7, false, false, false, "Bone Keeper Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1, 34, AbilityId.CURSED_BODY, AbilityId.LIGHTNING_ROD, AbilityId.ROCK_HEAD, 425, 60, 80, 110, 50, 80, 45, 75, 50, 149, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.ETERNAL_FLOETTE, 6, true, false, false, "Single Bloom Pokémon", PokemonType.FAIRY, null, 0.2, 0.9, AbilityId.FLOWER_VEIL, AbilityId.NONE, AbilityId.SYMBIOSIS, 551, 74, 65, 67, 125, 128, 92, 120, 70, 243, GrowthRate.MEDIUM_FAST, 0, false), //Marked as Sub-Legend, for casing purposes + new PokemonSpecies(SpeciesId.GALAR_MEOWTH, 8, false, false, false, "Scratch Cat Pokémon", PokemonType.STEEL, null, 0.4, 7.5, AbilityId.PICKUP, AbilityId.TOUGH_CLAWS, AbilityId.UNNERVE, 290, 50, 65, 55, 40, 40, 40, 255, 50, 58, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_PONYTA, 8, false, false, false, "Fire Horse Pokémon", PokemonType.PSYCHIC, null, 0.8, 24, AbilityId.RUN_AWAY, AbilityId.PASTEL_VEIL, AbilityId.ANTICIPATION, 410, 50, 85, 55, 65, 65, 90, 190, 50, 82, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_RAPIDASH, 8, false, false, false, "Fire Horse Pokémon", PokemonType.PSYCHIC, PokemonType.FAIRY, 1.7, 80, AbilityId.RUN_AWAY, AbilityId.PASTEL_VEIL, AbilityId.ANTICIPATION, 500, 65, 100, 70, 80, 80, 105, 60, 50, 175, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_SLOWPOKE, 8, false, false, false, "Dopey Pokémon", PokemonType.PSYCHIC, null, 1.2, 36, AbilityId.GLUTTONY, AbilityId.OWN_TEMPO, AbilityId.REGENERATOR, 315, 90, 65, 65, 40, 40, 15, 190, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_SLOWBRO, 8, false, false, false, "Hermit Crab Pokémon", PokemonType.POISON, PokemonType.PSYCHIC, 1.6, 70.5, AbilityId.QUICK_DRAW, AbilityId.OWN_TEMPO, AbilityId.REGENERATOR, 490, 95, 100, 95, 100, 70, 30, 75, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_FARFETCHD, 8, false, false, false, "Wild Duck Pokémon", PokemonType.FIGHTING, null, 0.8, 42, AbilityId.STEADFAST, AbilityId.NONE, AbilityId.SCRAPPY, 377, 52, 95, 55, 58, 62, 55, 45, 50, 132, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_WEEZING, 8, false, false, false, "Poison Gas Pokémon", PokemonType.POISON, PokemonType.FAIRY, 3, 16, AbilityId.LEVITATE, AbilityId.NEUTRALIZING_GAS, AbilityId.MISTY_SURGE, 490, 65, 90, 120, 85, 70, 60, 60, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_MR_MIME, 8, false, false, false, "Barrier Pokémon", PokemonType.ICE, PokemonType.PSYCHIC, 1.4, 56.8, AbilityId.VITAL_SPIRIT, AbilityId.SCREEN_CLEANER, AbilityId.ICE_BODY, 460, 50, 65, 65, 90, 90, 100, 45, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_ARTICUNO, 8, true, false, false, "Freeze Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.7, 50.9, AbilityId.COMPETITIVE, AbilityId.NONE, AbilityId.NONE, 580, 90, 85, 85, 125, 100, 95, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.GALAR_ZAPDOS, 8, true, false, false, "Electric Pokémon", PokemonType.FIGHTING, PokemonType.FLYING, 1.6, 58.2, AbilityId.DEFIANT, AbilityId.NONE, AbilityId.NONE, 580, 90, 125, 90, 85, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.GALAR_MOLTRES, 8, true, false, false, "Flame Pokémon", PokemonType.DARK, PokemonType.FLYING, 2, 66, AbilityId.BERSERK, AbilityId.NONE, AbilityId.NONE, 580, 90, 85, 90, 100, 125, 90, 3, 35, 290, GrowthRate.SLOW, null, false), + new PokemonSpecies(SpeciesId.GALAR_SLOWKING, 8, false, false, false, "Royal Pokémon", PokemonType.POISON, PokemonType.PSYCHIC, 1.8, 79.5, AbilityId.CURIOUS_MEDICINE, AbilityId.OWN_TEMPO, AbilityId.REGENERATOR, 490, 95, 65, 80, 110, 110, 30, 70, 50, 172, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_CORSOLA, 8, false, false, false, "Coral Pokémon", PokemonType.GHOST, null, 0.6, 0.5, AbilityId.WEAK_ARMOR, AbilityId.NONE, AbilityId.CURSED_BODY, 410, 60, 55, 100, 65, 100, 30, 60, 50, 144, GrowthRate.FAST, 25, false), + new PokemonSpecies(SpeciesId.GALAR_ZIGZAGOON, 8, false, false, false, "Tiny Raccoon Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.4, 17.5, AbilityId.PICKUP, AbilityId.GLUTTONY, AbilityId.QUICK_FEET, 240, 38, 30, 41, 30, 41, 60, 255, 50, 56, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_LINOONE, 8, false, false, false, "Rushing Pokémon", PokemonType.DARK, PokemonType.NORMAL, 0.5, 32.5, AbilityId.PICKUP, AbilityId.GLUTTONY, AbilityId.QUICK_FEET, 420, 78, 70, 61, 50, 61, 100, 90, 50, 147, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_DARUMAKA, 8, false, false, false, "Zen Charm Pokémon", PokemonType.ICE, null, 0.7, 40, AbilityId.HUSTLE, AbilityId.NONE, AbilityId.INNER_FOCUS, 315, 70, 90, 45, 15, 45, 50, 120, 50, 63, GrowthRate.MEDIUM_SLOW, 50, false), + new PokemonSpecies(SpeciesId.GALAR_DARMANITAN, 8, false, false, false, "Blazing Pokémon", PokemonType.ICE, null, 1.7, 120, AbilityId.GORILLA_TACTICS, AbilityId.NONE, AbilityId.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false, true, + new PokemonForm("Standard Mode", "", PokemonType.ICE, null, 1.7, 120, AbilityId.GORILLA_TACTICS, AbilityId.NONE, AbilityId.ZEN_MODE, 480, 105, 140, 55, 30, 55, 95, 60, 50, 168, false, null, true), + new PokemonForm("Zen Mode", "zen", PokemonType.ICE, PokemonType.FIRE, 1.7, 120, AbilityId.GORILLA_TACTICS, AbilityId.NONE, AbilityId.ZEN_MODE, 540, 105, 160, 55, 30, 55, 135, 60, 50, 189), + ), + new PokemonSpecies(SpeciesId.GALAR_YAMASK, 8, false, false, false, "Spirit Pokémon", PokemonType.GROUND, PokemonType.GHOST, 0.5, 1.5, AbilityId.WANDERING_SPIRIT, AbilityId.NONE, AbilityId.NONE, 303, 38, 55, 85, 30, 65, 30, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.GALAR_STUNFISK, 8, false, false, false, "Trap Pokémon", PokemonType.GROUND, PokemonType.STEEL, 0.7, 20.5, AbilityId.MIMICRY, AbilityId.NONE, AbilityId.NONE, 471, 109, 81, 99, 66, 84, 32, 75, 70, 165, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HISUI_GROWLITHE, 8, false, false, false, "Puppy Pokémon", PokemonType.FIRE, PokemonType.ROCK, 0.8, 22.7, AbilityId.INTIMIDATE, AbilityId.FLASH_FIRE, AbilityId.ROCK_HEAD, 350, 60, 75, 45, 65, 50, 55, 190, 50, 70, GrowthRate.SLOW, 75, false), + new PokemonSpecies(SpeciesId.HISUI_ARCANINE, 8, false, false, false, "Legendary Pokémon", PokemonType.FIRE, PokemonType.ROCK, 2, 168, AbilityId.INTIMIDATE, AbilityId.FLASH_FIRE, AbilityId.ROCK_HEAD, 555, 95, 115, 80, 95, 80, 90, 85, 50, 194, GrowthRate.SLOW, 75, false), + new PokemonSpecies(SpeciesId.HISUI_VOLTORB, 8, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, PokemonType.GRASS, 0.5, 13, AbilityId.SOUNDPROOF, AbilityId.STATIC, AbilityId.AFTERMATH, 330, 40, 30, 50, 55, 55, 100, 190, 80, 66, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.HISUI_ELECTRODE, 8, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, PokemonType.GRASS, 1.2, 81, AbilityId.SOUNDPROOF, AbilityId.STATIC, AbilityId.AFTERMATH, 490, 60, 50, 70, 80, 80, 150, 60, 70, 172, GrowthRate.MEDIUM_FAST, null, false), + new PokemonSpecies(SpeciesId.HISUI_TYPHLOSION, 8, false, false, false, "Volcano Pokémon", PokemonType.FIRE, PokemonType.GHOST, 1.6, 69.8, AbilityId.BLAZE, AbilityId.NONE, AbilityId.FRISK, 534, 73, 84, 78, 119, 85, 95, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.HISUI_QWILFISH, 8, false, false, false, "Balloon Pokémon", PokemonType.DARK, PokemonType.POISON, 0.5, 3.9, AbilityId.POISON_POINT, AbilityId.SWIFT_SWIM, AbilityId.INTIMIDATE, 440, 65, 95, 85, 55, 55, 85, 45, 50, 88, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HISUI_SNEASEL, 8, false, false, false, "Sharp Claw Pokémon", PokemonType.FIGHTING, PokemonType.POISON, 0.9, 27, AbilityId.INNER_FOCUS, AbilityId.KEEN_EYE, AbilityId.PICKPOCKET, 430, 55, 95, 55, 35, 75, 115, 60, 35, 86, GrowthRate.MEDIUM_SLOW, 50, true), + new PokemonSpecies(SpeciesId.HISUI_SAMUROTT, 8, false, false, false, "Formidable Pokémon", PokemonType.WATER, PokemonType.DARK, 1.5, 58.2, AbilityId.TORRENT, AbilityId.NONE, AbilityId.SHARPNESS, 528, 90, 108, 80, 100, 65, 85, 45, 80, 238, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.HISUI_LILLIGANT, 8, false, false, false, "Flowering Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.2, 19.2, AbilityId.CHLOROPHYLL, AbilityId.HUSTLE, AbilityId.LEAF_GUARD, 480, 70, 105, 75, 50, 75, 105, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false), + new PokemonSpecies(SpeciesId.HISUI_ZORUA, 8, false, false, false, "Tricky Fox Pokémon", PokemonType.NORMAL, PokemonType.GHOST, 0.7, 12.5, AbilityId.ILLUSION, AbilityId.NONE, AbilityId.NONE, 330, 35, 60, 40, 85, 40, 70, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.HISUI_ZOROARK, 8, false, false, false, "Illusion Fox Pokémon", PokemonType.NORMAL, PokemonType.GHOST, 1.6, 83, AbilityId.ILLUSION, AbilityId.NONE, AbilityId.NONE, 510, 55, 100, 60, 125, 60, 110, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.HISUI_BRAVIARY, 8, false, false, false, "Valiant Pokémon", PokemonType.PSYCHIC, PokemonType.FLYING, 1.7, 43.4, AbilityId.KEEN_EYE, AbilityId.SHEER_FORCE, AbilityId.TINTED_LENS, 510, 110, 83, 70, 112, 70, 65, 60, 50, 179, GrowthRate.SLOW, 100, false), + new PokemonSpecies(SpeciesId.HISUI_SLIGGOO, 8, false, false, false, "Soft Tissue Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 0.7, 68.5, AbilityId.SAP_SIPPER, AbilityId.SHELL_ARMOR, AbilityId.GOOEY, 452, 58, 75, 83, 83, 113, 40, 45, 35, 158, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HISUI_GOODRA, 8, false, false, false, "Dragon Pokémon", PokemonType.STEEL, PokemonType.DRAGON, 1.7, 334.1, AbilityId.SAP_SIPPER, AbilityId.SHELL_ARMOR, AbilityId.GOOEY, 600, 80, 100, 100, 110, 150, 60, 45, 35, 270, GrowthRate.SLOW, 50, false), + new PokemonSpecies(SpeciesId.HISUI_AVALUGG, 8, false, false, false, "Iceberg Pokémon", PokemonType.ICE, PokemonType.ROCK, 1.4, 262.4, AbilityId.STRONG_JAW, AbilityId.ICE_BODY, AbilityId.STURDY, 514, 95, 127, 184, 34, 36, 38, 55, 50, 180, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.HISUI_DECIDUEYE, 8, false, false, false, "Arrow Quill Pokémon", PokemonType.GRASS, PokemonType.FIGHTING, 1.6, 37, AbilityId.OVERGROW, AbilityId.NONE, AbilityId.SCRAPPY, 530, 88, 112, 80, 95, 95, 60, 45, 50, 239, GrowthRate.MEDIUM_SLOW, 87.5, false), + new PokemonSpecies(SpeciesId.PALDEA_TAUROS, 9, false, false, false, "Wild Bull Pokémon", PokemonType.FIGHTING, null, 1.4, 115, AbilityId.INTIMIDATE, AbilityId.ANGER_POINT, AbilityId.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, GrowthRate.SLOW, 100, false, false, + new PokemonForm("Combat Breed", "combat", PokemonType.FIGHTING, null, 1.4, 115, AbilityId.INTIMIDATE, AbilityId.ANGER_POINT, AbilityId.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, false, "", true), + new PokemonForm("Blaze Breed", "blaze", PokemonType.FIGHTING, PokemonType.FIRE, 1.4, 85, AbilityId.INTIMIDATE, AbilityId.ANGER_POINT, AbilityId.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, false, null, true), + new PokemonForm("Aqua Breed", "aqua", PokemonType.FIGHTING, PokemonType.WATER, 1.4, 110, AbilityId.INTIMIDATE, AbilityId.ANGER_POINT, AbilityId.CUD_CHEW, 490, 75, 110, 105, 30, 70, 100, 45, 50, 172, false, null, true), + ), + new PokemonSpecies(SpeciesId.PALDEA_WOOPER, 9, false, false, false, "Water Fish Pokémon", PokemonType.POISON, PokemonType.GROUND, 0.4, 11, AbilityId.POISON_POINT, AbilityId.WATER_ABSORB, AbilityId.UNAWARE, 210, 55, 45, 45, 25, 25, 15, 255, 50, 42, GrowthRate.MEDIUM_FAST, 50, false), + new PokemonSpecies(SpeciesId.BLOODMOON_URSALUNA, 9, true, false, false, "Peat Pokémon", PokemonType.GROUND, PokemonType.NORMAL, 2.7, 333, AbilityId.MINDS_EYE, AbilityId.NONE, AbilityId.NONE, 555, 113, 70, 120, 135, 65, 52, 75, 50, 278, GrowthRate.MEDIUM_FAST, 50, false), //Marked as Sub-Legend, for casing purposes ); } diff --git a/src/data/trainers/evil-admin-trainer-pools.ts b/src/data/trainers/evil-admin-trainer-pools.ts index fe68cf50c9c..7c0336e784e 100644 --- a/src/data/trainers/evil-admin-trainer-pools.ts +++ b/src/data/trainers/evil-admin-trainer-pools.ts @@ -1,438 +1,443 @@ import type { TrainerTierPools } from "#app/data/trainers/typedefs"; import { TrainerPoolTier } from "#enums/trainer-pool-tier"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; /** Team Rocket's admin trainer pool. */ const ROCKET: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.RATTATA, - Species.SPEAROW, - Species.EKANS, - Species.VILEPLUME, - Species.DIGLETT, - Species.GROWLITHE, - Species.GRIMER, - Species.DROWZEE, - Species.VOLTORB, - Species.EXEGGCUTE, - Species.CUBONE, - Species.KOFFING, - Species.MAGIKARP, - Species.ZUBAT, - Species.ONIX, - Species.HOUNDOUR, - Species.MURKROW, + SpeciesId.RATTATA, + SpeciesId.SPEAROW, + SpeciesId.EKANS, + SpeciesId.VILEPLUME, + SpeciesId.DIGLETT, + SpeciesId.GROWLITHE, + SpeciesId.GRIMER, + SpeciesId.DROWZEE, + SpeciesId.VOLTORB, + SpeciesId.EXEGGCUTE, + SpeciesId.CUBONE, + SpeciesId.KOFFING, + SpeciesId.MAGIKARP, + SpeciesId.ZUBAT, + SpeciesId.ONIX, + SpeciesId.HOUNDOUR, + SpeciesId.MURKROW, ], [TrainerPoolTier.UNCOMMON]: [ - Species.ABRA, - Species.GASTLY, - Species.OMANYTE, - Species.KABUTO, - Species.PORYGON, - Species.MANKEY, - Species.SCYTHER, - Species.ELEKID, - Species.MAGBY, - Species.ALOLA_SANDSHREW, - Species.ALOLA_MEOWTH, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRIMER, - Species.PALDEA_TAUROS, + SpeciesId.ABRA, + SpeciesId.GASTLY, + SpeciesId.OMANYTE, + SpeciesId.KABUTO, + SpeciesId.PORYGON, + SpeciesId.MANKEY, + SpeciesId.SCYTHER, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRIMER, + SpeciesId.PALDEA_TAUROS, ], - [TrainerPoolTier.RARE]: [Species.DRATINI, Species.LARVITAR], + [TrainerPoolTier.RARE]: [SpeciesId.DRATINI, SpeciesId.LARVITAR], }; /** Team Magma's admin trainer pool */ const MAGMA: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.DIGLETT, - Species.GROWLITHE, - Species.VULPIX, - Species.KOFFING, - Species.RHYHORN, - Species.SLUGMA, - Species.HOUNDOUR, - Species.POOCHYENA, - Species.TORKOAL, - Species.ZANGOOSE, - Species.SOLROCK, - Species.BALTOY, - Species.ROLYCOLY, + SpeciesId.DIGLETT, + SpeciesId.GROWLITHE, + SpeciesId.VULPIX, + SpeciesId.KOFFING, + SpeciesId.RHYHORN, + SpeciesId.SLUGMA, + SpeciesId.HOUNDOUR, + SpeciesId.POOCHYENA, + SpeciesId.TORKOAL, + SpeciesId.ZANGOOSE, + SpeciesId.SOLROCK, + SpeciesId.BALTOY, + SpeciesId.ROLYCOLY, ], [TrainerPoolTier.UNCOMMON]: [ - Species.MAGBY, - Species.TRAPINCH, - Species.LILEEP, - Species.ANORITH, - Species.GOLETT, - Species.FLETCHLING, - Species.SALANDIT, - Species.TURTONATOR, - Species.TOEDSCOOL, - Species.CAPSAKID, - Species.HISUI_GROWLITHE, + SpeciesId.MAGBY, + SpeciesId.TRAPINCH, + SpeciesId.LILEEP, + SpeciesId.ANORITH, + SpeciesId.GOLETT, + SpeciesId.FLETCHLING, + SpeciesId.SALANDIT, + SpeciesId.TURTONATOR, + SpeciesId.TOEDSCOOL, + SpeciesId.CAPSAKID, + SpeciesId.HISUI_GROWLITHE, ], - [TrainerPoolTier.RARE]: [Species.CHARCADET, Species.ARON], + [TrainerPoolTier.RARE]: [SpeciesId.CHARCADET, SpeciesId.ARON], }; const AQUA: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.TENTACOOL, - Species.GRIMER, - Species.AZURILL, - Species.CHINCHOU, - Species.REMORAID, - Species.POOCHYENA, - Species.LOTAD, - Species.WINGULL, - Species.WAILMER, - Species.SEVIPER, - Species.BARBOACH, - Species.CORPHISH, - Species.SPHEAL, - Species.CLAMPERL, + SpeciesId.TENTACOOL, + SpeciesId.GRIMER, + SpeciesId.AZURILL, + SpeciesId.CHINCHOU, + SpeciesId.REMORAID, + SpeciesId.POOCHYENA, + SpeciesId.LOTAD, + SpeciesId.WINGULL, + SpeciesId.WAILMER, + SpeciesId.SEVIPER, + SpeciesId.BARBOACH, + SpeciesId.CORPHISH, + SpeciesId.SPHEAL, + SpeciesId.CLAMPERL, ], [TrainerPoolTier.UNCOMMON]: [ - Species.MANTYKE, - Species.HORSEA, - Species.FEEBAS, - Species.TYMPOLE, - Species.SKRELP, - Species.WIMPOD, - Species.DHELMISE, - Species.ARROKUDA, - Species.CLOBBOPUS, - Species.HISUI_QWILFISH, - Species.WIGLETT, + SpeciesId.MANTYKE, + SpeciesId.HORSEA, + SpeciesId.FEEBAS, + SpeciesId.TYMPOLE, + SpeciesId.SKRELP, + SpeciesId.WIMPOD, + SpeciesId.DHELMISE, + SpeciesId.ARROKUDA, + SpeciesId.CLOBBOPUS, + SpeciesId.HISUI_QWILFISH, + SpeciesId.WIGLETT, ], - [TrainerPoolTier.RARE]: [Species.BASCULEGION, Species.DONDOZO], + [TrainerPoolTier.RARE]: [SpeciesId.BASCULEGION, SpeciesId.DONDOZO], }; const GALACTIC: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.ZUBAT, - Species.MAGNEMITE, - Species.RHYHORN, - Species.TANGELA, - Species.LICKITUNG, - Species.MAGIKARP, - Species.YANMA, - Species.MURKROW, - Species.SWINUB, - Species.ELEKID, - Species.MAGBY, - Species.BRONZOR, - Species.SKORUPI, + SpeciesId.ZUBAT, + SpeciesId.MAGNEMITE, + SpeciesId.RHYHORN, + SpeciesId.TANGELA, + SpeciesId.LICKITUNG, + SpeciesId.MAGIKARP, + SpeciesId.YANMA, + SpeciesId.MURKROW, + SpeciesId.SWINUB, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.BRONZOR, + SpeciesId.SKORUPI, ], [TrainerPoolTier.UNCOMMON]: [ - Species.ABRA, - Species.GLIGAR, - Species.SNEASEL, - Species.DUSKULL, - Species.DRIFLOON, - Species.CRANIDOS, - Species.SHIELDON, - Species.ROTOM, - Species.HISUI_QWILFISH, + SpeciesId.ABRA, + SpeciesId.GLIGAR, + SpeciesId.SNEASEL, + SpeciesId.DUSKULL, + SpeciesId.DRIFLOON, + SpeciesId.CRANIDOS, + SpeciesId.SHIELDON, + SpeciesId.ROTOM, + SpeciesId.HISUI_QWILFISH, + ], + [TrainerPoolTier.RARE]: [ + SpeciesId.SPIRITOMB, + SpeciesId.TEDDIURSA, + SpeciesId.HISUI_SNEASEL, + SpeciesId.HISUI_LILLIGANT, ], - [TrainerPoolTier.RARE]: [Species.SPIRITOMB, Species.TEDDIURSA, Species.HISUI_SNEASEL, Species.HISUI_LILLIGANT], }; const PLASMA_ZINZOLIN: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.SNEASEL, - Species.SWINUB, - Species.SNORUNT, - Species.SNOVER, - Species.TIMBURR, - Species.TYMPOLE, - Species.SANDILE, - Species.DARUMAKA, - Species.VANILLITE, - Species.FOONGUS, - Species.FRILLISH, - Species.JOLTIK, - Species.FERROSEED, - Species.CUBCHOO, - Species.GALAR_DARUMAKA, + SpeciesId.SNEASEL, + SpeciesId.SWINUB, + SpeciesId.SNORUNT, + SpeciesId.SNOVER, + SpeciesId.TIMBURR, + SpeciesId.TYMPOLE, + SpeciesId.SANDILE, + SpeciesId.DARUMAKA, + SpeciesId.VANILLITE, + SpeciesId.FOONGUS, + SpeciesId.FRILLISH, + SpeciesId.JOLTIK, + SpeciesId.FERROSEED, + SpeciesId.CUBCHOO, + SpeciesId.GALAR_DARUMAKA, ], [TrainerPoolTier.UNCOMMON]: [ - Species.SPHEAL, - Species.DRILBUR, - Species.SIGILYPH, - Species.YAMASK, - Species.ZORUA, - Species.TYNAMO, - Species.MIENFOO, - Species.GOLETT, - Species.PAWNIARD, - Species.VULLABY, - Species.DURANT, - Species.BERGMITE, - Species.EISCUE, - Species.ALOLA_SANDSHREW, - Species.HISUI_ZORUA, + SpeciesId.SPHEAL, + SpeciesId.DRILBUR, + SpeciesId.SIGILYPH, + SpeciesId.YAMASK, + SpeciesId.ZORUA, + SpeciesId.TYNAMO, + SpeciesId.MIENFOO, + SpeciesId.GOLETT, + SpeciesId.PAWNIARD, + SpeciesId.VULLABY, + SpeciesId.DURANT, + SpeciesId.BERGMITE, + SpeciesId.EISCUE, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.HISUI_ZORUA, ], - [TrainerPoolTier.RARE]: [Species.DEINO, Species.FRIGIBAX, Species.HISUI_BRAVIARY], + [TrainerPoolTier.RARE]: [SpeciesId.DEINO, SpeciesId.FRIGIBAX, SpeciesId.HISUI_BRAVIARY], }; const PLASMA_COLRESS: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.MAGNEMITE, - Species.GRIMER, - Species.VOLTORB, - Species.PORYGON, - Species.BRONZOR, - Species.ROTOM, - Species.MUNNA, - Species.DWEBBLE, - Species.FERROSEED, - Species.ELGYEM, + SpeciesId.MAGNEMITE, + SpeciesId.GRIMER, + SpeciesId.VOLTORB, + SpeciesId.PORYGON, + SpeciesId.BRONZOR, + SpeciesId.ROTOM, + SpeciesId.MUNNA, + SpeciesId.DWEBBLE, + SpeciesId.FERROSEED, + SpeciesId.ELGYEM, ], [TrainerPoolTier.UNCOMMON]: [ - Species.BELDUM, - Species.SIGILYPH, - Species.TIRTOUGA, - Species.ARCHEN, - Species.TYNAMO, - Species.GOLETT, - Species.BLIPBUG, - Species.VAROOM, - Species.ALOLA_GRIMER, - Species.HISUI_VOLTORB, + SpeciesId.BELDUM, + SpeciesId.SIGILYPH, + SpeciesId.TIRTOUGA, + SpeciesId.ARCHEN, + SpeciesId.TYNAMO, + SpeciesId.GOLETT, + SpeciesId.BLIPBUG, + SpeciesId.VAROOM, + SpeciesId.ALOLA_GRIMER, + SpeciesId.HISUI_VOLTORB, ], - [TrainerPoolTier.RARE]: [Species.ELEKID, Species.MAGBY, Species.PAWNIARD, Species.DURALUDON], + [TrainerPoolTier.RARE]: [SpeciesId.ELEKID, SpeciesId.MAGBY, SpeciesId.PAWNIARD, SpeciesId.DURALUDON], }; const FLARE: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.ELECTRIKE, - Species.SKORUPI, - Species.PURRLOIN, - Species.FOONGUS, - Species.BUNNELBY, - Species.FLETCHLING, - Species.LITLEO, - Species.PANGORO, - Species.ESPURR, - Species.INKAY, - Species.CLAUNCHER, - Species.HELIOPTILE, + SpeciesId.ELECTRIKE, + SpeciesId.SKORUPI, + SpeciesId.PURRLOIN, + SpeciesId.FOONGUS, + SpeciesId.BUNNELBY, + SpeciesId.FLETCHLING, + SpeciesId.LITLEO, + SpeciesId.PANGORO, + SpeciesId.ESPURR, + SpeciesId.INKAY, + SpeciesId.CLAUNCHER, + SpeciesId.HELIOPTILE, ], [TrainerPoolTier.UNCOMMON]: [ - Species.HOUNDOUR, - Species.SNEASEL, - Species.LITWICK, - Species.HONEDGE, - Species.BINACLE, - Species.SKRELP, - Species.NOIBAT, - Species.PHANTUMP, - Species.PUMPKABOO, + SpeciesId.HOUNDOUR, + SpeciesId.SNEASEL, + SpeciesId.LITWICK, + SpeciesId.HONEDGE, + SpeciesId.BINACLE, + SpeciesId.SKRELP, + SpeciesId.NOIBAT, + SpeciesId.PHANTUMP, + SpeciesId.PUMPKABOO, ], - [TrainerPoolTier.RARE]: [Species.GOOMY, Species.HISUI_AVALUGG], + [TrainerPoolTier.RARE]: [SpeciesId.GOOMY, SpeciesId.HISUI_AVALUGG], }; const AETHER: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.ABRA, - Species.SLOWPOKE, - Species.MAGNEMITE, - Species.EXEGGUTOR, - Species.NATU, - Species.BALTOY, - Species.MIME_JR, - Species.ELGYEM, - Species.INKAY, - Species.BRUXISH, - Species.BLIPBUG, - Species.ALOLA_RAICHU, + SpeciesId.ABRA, + SpeciesId.SLOWPOKE, + SpeciesId.MAGNEMITE, + SpeciesId.EXEGGUTOR, + SpeciesId.NATU, + SpeciesId.BALTOY, + SpeciesId.MIME_JR, + SpeciesId.ELGYEM, + SpeciesId.INKAY, + SpeciesId.BRUXISH, + SpeciesId.BLIPBUG, + SpeciesId.ALOLA_RAICHU, ], [TrainerPoolTier.UNCOMMON]: [ - Species.RALTS, - Species.MEDITITE, - Species.BELDUM, - Species.SOLOSIS, - Species.HATENNA, - Species.STANTLER, - Species.GIRAFARIG, - Species.ALOLA_GRIMER, - Species.GALAR_SLOWPOKE, + SpeciesId.RALTS, + SpeciesId.MEDITITE, + SpeciesId.BELDUM, + SpeciesId.SOLOSIS, + SpeciesId.HATENNA, + SpeciesId.STANTLER, + SpeciesId.GIRAFARIG, + SpeciesId.ALOLA_GRIMER, + SpeciesId.GALAR_SLOWPOKE, ], - [TrainerPoolTier.RARE]: [Species.PORYGON, Species.ARMAROUGE], + [TrainerPoolTier.RARE]: [SpeciesId.PORYGON, SpeciesId.ARMAROUGE], }; const SKULL: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.GASTLY, - Species.KOFFING, - Species.ZUBAT, - Species.VENONAT, - Species.STUNKY, - Species.CROAGUNK, - Species.VENIPEDE, - Species.SCRAGGY, - Species.MAREANIE, - Species.FOMANTIS, - Species.ALOLA_GRIMER, + SpeciesId.GASTLY, + SpeciesId.KOFFING, + SpeciesId.ZUBAT, + SpeciesId.VENONAT, + SpeciesId.STUNKY, + SpeciesId.CROAGUNK, + SpeciesId.VENIPEDE, + SpeciesId.SCRAGGY, + SpeciesId.MAREANIE, + SpeciesId.FOMANTIS, + SpeciesId.ALOLA_GRIMER, ], [TrainerPoolTier.UNCOMMON]: [ - Species.NIDORAN_F, - Species.SKORUPI, - Species.PAWNIARD, - Species.VULLABY, - Species.TOXEL, - Species.GLIMMET, - Species.PALDEA_WOOPER, - Species.GALAR_SLOWPOKE, + SpeciesId.NIDORAN_F, + SpeciesId.SKORUPI, + SpeciesId.PAWNIARD, + SpeciesId.VULLABY, + SpeciesId.TOXEL, + SpeciesId.GLIMMET, + SpeciesId.PALDEA_WOOPER, + SpeciesId.GALAR_SLOWPOKE, ], - [TrainerPoolTier.RARE]: [Species.SKRELP, Species.HISUI_SNEASEL], + [TrainerPoolTier.RARE]: [SpeciesId.SKRELP, SpeciesId.HISUI_SNEASEL], }; const MACRO_COSMOS: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.VULPIX, - Species.FEEBAS, - Species.MAWILE, - Species.FROSLASS, - Species.GOTHITA, - Species.FLABEBE, - Species.SALANDIT, - Species.TSAREENA, - Species.SINISTEA, - Species.HATENNA, - Species.INDEEDEE, - Species.GALAR_PONYTA, + SpeciesId.VULPIX, + SpeciesId.FEEBAS, + SpeciesId.MAWILE, + SpeciesId.FROSLASS, + SpeciesId.GOTHITA, + SpeciesId.FLABEBE, + SpeciesId.SALANDIT, + SpeciesId.TSAREENA, + SpeciesId.SINISTEA, + SpeciesId.HATENNA, + SpeciesId.INDEEDEE, + SpeciesId.GALAR_PONYTA, ], [TrainerPoolTier.UNCOMMON]: [ - Species.TOGEPI, - Species.VULLABY, - Species.MAREANIE, - Species.CUFANT, - Species.TINKATINK, - Species.ALOLA_VULPIX, - Species.GALAR_CORSOLA, + SpeciesId.TOGEPI, + SpeciesId.VULLABY, + SpeciesId.MAREANIE, + SpeciesId.CUFANT, + SpeciesId.TINKATINK, + SpeciesId.ALOLA_VULPIX, + SpeciesId.GALAR_CORSOLA, ], - [TrainerPoolTier.RARE]: [Species.APPLIN, Species.HISUI_LILLIGANT], + [TrainerPoolTier.RARE]: [SpeciesId.APPLIN, SpeciesId.HISUI_LILLIGANT], }; const STAR_DARK: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.MURKROW, - Species.SEEDOT, - Species.SABLEYE, - Species.CACNEA, - Species.STUNKY, - Species.SANDILE, - Species.INKAY, - Species.NYMBLE, - Species.MASCHIFF, + SpeciesId.MURKROW, + SpeciesId.SEEDOT, + SpeciesId.SABLEYE, + SpeciesId.CACNEA, + SpeciesId.STUNKY, + SpeciesId.SANDILE, + SpeciesId.INKAY, + SpeciesId.NYMBLE, + SpeciesId.MASCHIFF, ], [TrainerPoolTier.UNCOMMON]: [ - Species.UMBREON, - Species.CORPHISH, - Species.SNEASEL, - Species.ZORUA, - Species.IMPIDIMP, - Species.BOMBIRDIER, - Species.GALAR_ZIGZAGOON, + SpeciesId.UMBREON, + SpeciesId.CORPHISH, + SpeciesId.SNEASEL, + SpeciesId.ZORUA, + SpeciesId.IMPIDIMP, + SpeciesId.BOMBIRDIER, + SpeciesId.GALAR_ZIGZAGOON, ], - [TrainerPoolTier.RARE]: [Species.DEINO, Species.SPRIGATITO], + [TrainerPoolTier.RARE]: [SpeciesId.DEINO, SpeciesId.SPRIGATITO], }; const STAR_FIRE: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.GROWLITHE, - Species.HOUNDOUR, - Species.NUMEL, - Species.TORKOAL, - Species.FLETCHLING, - Species.LITLEO, - Species.SIZZLIPEDE, - Species.ROLYCOLY, - Species.CAPSAKID, + SpeciesId.GROWLITHE, + SpeciesId.HOUNDOUR, + SpeciesId.NUMEL, + SpeciesId.TORKOAL, + SpeciesId.FLETCHLING, + SpeciesId.LITLEO, + SpeciesId.SIZZLIPEDE, + SpeciesId.ROLYCOLY, + SpeciesId.CAPSAKID, ], [TrainerPoolTier.UNCOMMON]: [ - Species.PONYTA, - Species.FLAREON, - Species.MAGBY, - Species.DARUMAKA, - Species.LITWICK, - Species.SALANDIT, - Species.TURTONATOR, + SpeciesId.PONYTA, + SpeciesId.FLAREON, + SpeciesId.MAGBY, + SpeciesId.DARUMAKA, + SpeciesId.LITWICK, + SpeciesId.SALANDIT, + SpeciesId.TURTONATOR, ], - [TrainerPoolTier.RARE]: [Species.LARVESTA, Species.FUECOCO], + [TrainerPoolTier.RARE]: [SpeciesId.LARVESTA, SpeciesId.FUECOCO], }; const STAR_POISON: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.GRIMER, - Species.VENONAT, - Species.SEVIPER, - Species.STUNKY, - Species.FOONGUS, - Species.MAREANIE, - Species.TOXEL, - Species.GRAFAIAI, - Species.PALDEA_WOOPER, + SpeciesId.GRIMER, + SpeciesId.VENONAT, + SpeciesId.SEVIPER, + SpeciesId.STUNKY, + SpeciesId.FOONGUS, + SpeciesId.MAREANIE, + SpeciesId.TOXEL, + SpeciesId.GRAFAIAI, + SpeciesId.PALDEA_WOOPER, ], [TrainerPoolTier.UNCOMMON]: [ - Species.ZUBAT, - Species.GASTLY, - Species.SKRELP, - Species.OVERQWIL, - Species.ALOLA_GRIMER, - Species.GALAR_SLOWPOKE, + SpeciesId.ZUBAT, + SpeciesId.GASTLY, + SpeciesId.SKRELP, + SpeciesId.OVERQWIL, + SpeciesId.ALOLA_GRIMER, + SpeciesId.GALAR_SLOWPOKE, ], - [TrainerPoolTier.RARE]: [Species.GLIMMET, Species.BULBASAUR], + [TrainerPoolTier.RARE]: [SpeciesId.GLIMMET, SpeciesId.BULBASAUR], }; const STAR_FAIRY: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.IGGLYBUFF, - Species.AZURILL, - Species.COTTONEE, - Species.FLABEBE, - Species.KLEFKI, - Species.CUTIEFLY, - Species.HATENNA, - Species.TINKATINK, + SpeciesId.IGGLYBUFF, + SpeciesId.AZURILL, + SpeciesId.COTTONEE, + SpeciesId.FLABEBE, + SpeciesId.KLEFKI, + SpeciesId.CUTIEFLY, + SpeciesId.HATENNA, + SpeciesId.TINKATINK, ], [TrainerPoolTier.UNCOMMON]: [ - Species.CLEFFA, - Species.TOGEPI, - Species.GARDEVOIR, - Species.SYLVEON, - Species.MIMIKYU, - Species.IMPIDIMP, - Species.ALOLA_VULPIX, + SpeciesId.CLEFFA, + SpeciesId.TOGEPI, + SpeciesId.GARDEVOIR, + SpeciesId.SYLVEON, + SpeciesId.MIMIKYU, + SpeciesId.IMPIDIMP, + SpeciesId.ALOLA_VULPIX, ], - [TrainerPoolTier.RARE]: [Species.GALAR_PONYTA, Species.POPPLIO], + [TrainerPoolTier.RARE]: [SpeciesId.GALAR_PONYTA, SpeciesId.POPPLIO], }; const STAR_FIGHTING: TrainerTierPools = { [TrainerPoolTier.COMMON]: [ - Species.TYROGUE, - Species.SHROOMISH, - Species.MAKUHITA, - Species.RIOLU, - Species.CROAGUNK, - Species.SCRAGGY, - Species.MIENFOO, - Species.PASSIMIAN, - Species.PAWMI, + SpeciesId.TYROGUE, + SpeciesId.SHROOMISH, + SpeciesId.MAKUHITA, + SpeciesId.RIOLU, + SpeciesId.CROAGUNK, + SpeciesId.SCRAGGY, + SpeciesId.MIENFOO, + SpeciesId.PASSIMIAN, + SpeciesId.PAWMI, ], [TrainerPoolTier.UNCOMMON]: [ - Species.MEDITITE, - Species.GALLADE, - Species.TIMBURR, - Species.HAWLUCHA, - Species.STUFFUL, - Species.FALINKS, - Species.FLAMIGO, - Species.PALDEA_TAUROS, + SpeciesId.MEDITITE, + SpeciesId.GALLADE, + SpeciesId.TIMBURR, + SpeciesId.HAWLUCHA, + SpeciesId.STUFFUL, + SpeciesId.FALINKS, + SpeciesId.FLAMIGO, + SpeciesId.PALDEA_TAUROS, ], - [TrainerPoolTier.RARE]: [Species.JANGMO_O, Species.QUAXLY], + [TrainerPoolTier.RARE]: [SpeciesId.JANGMO_O, SpeciesId.QUAXLY], }; export type EvilTeam = diff --git a/src/data/trainers/trainer-config.ts b/src/data/trainers/trainer-config.ts index 839a1cdc0cc..6408bf94eac 100644 --- a/src/data/trainers/trainer-config.ts +++ b/src/data/trainers/trainer-config.ts @@ -23,11 +23,11 @@ import { evilAdminTrainerPools } from "./evil-admin-trainer-pools"; // Enum imports import { PartyMemberStrength } from "#enums/party-member-strength"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { PokeballType } from "#enums/pokeball"; import { PokemonType } from "#enums/pokemon-type"; -import { Moves } from "#enums/moves"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { AbilityId } from "#enums/ability-id"; import { TeraAIMode } from "#enums/tera-ai-mode"; import { TrainerPoolTier } from "#enums/trainer-pool-tier"; import { TrainerSlot } from "#enums/trainer-slot"; @@ -445,7 +445,7 @@ export class TrainerConfig { return this; } - setSpeciesPools(speciesPools: TrainerTierPools | Species[]): TrainerConfig { + setSpeciesPools(speciesPools: TrainerTierPools | SpeciesId[]): TrainerConfig { this.speciesPools = (Array.isArray(speciesPools) ? { [TrainerPoolTier.COMMON]: speciesPools } : speciesPools) as unknown as TrainerTierPools; @@ -480,7 +480,7 @@ export class TrainerConfig { const partyMemberIndexes = new Array(party.length) .fill(null) .map((_, i) => i) - .filter(i => shedinjaCanTera || party[i].species.speciesId !== Species.SHEDINJA); // Shedinja can only Tera on Bug specialty type (or no specialty type) + .filter(i => shedinjaCanTera || party[i].species.speciesId !== SpeciesId.SHEDINJA); // Shedinja can only Tera on Bug specialty type (or no specialty type) const setPartySlot = !isNullOrUndefined(slot) ? Phaser.Math.Wrap(slot, 0, party.length) : -1; // If we have a tera slot defined, wrap it to party size. for (let t = 0; t < Math.min(count(), party.length); t++) { const randomIndex = @@ -530,14 +530,14 @@ export class TrainerConfig { * Initializes the trainer configuration for an evil team admin. * @param title The title of the evil team admin. * @param poolName The evil team the admin belongs to. - * @param {Species | Species[]} signatureSpecies The signature species for the evil team leader. + * @param {SpeciesId | SpeciesId[]} signatureSpecies The signature species for the evil team leader. * @param specialtyType The specialty Type of the admin, if they have one * @returns {TrainerConfig} The updated TrainerConfig instance. * **/ initForEvilTeamAdmin( title: string, poolName: EvilTeam, - signatureSpecies: (Species | Species[])[], + signatureSpecies: (SpeciesId | SpeciesId[])[], specialtyType?: PokemonType, ): TrainerConfig { if (!getIsInitialized()) { @@ -600,14 +600,14 @@ export class TrainerConfig { /** * Initializes the trainer configuration for an evil team leader. Temporarily hardcoding evil leader teams though. - * @param {Species | Species[]} signatureSpecies The signature species for the evil team leader. + * @param {SpeciesId | SpeciesId[]} signatureSpecies The signature species for the evil team leader. * @param {PokemonType} specialtyType The specialty type for the evil team Leader. * @param boolean Whether or not this is the rematch fight * @returns {TrainerConfig} The updated TrainerConfig instance. * **/ initForEvilTeamLeader( title: string, - signatureSpecies: (Species | Species[])[], + signatureSpecies: (SpeciesId | SpeciesId[])[], rematch = false, specialtyType?: PokemonType, ): TrainerConfig { @@ -644,7 +644,7 @@ export class TrainerConfig { /** * Initializes the trainer configuration for a Gym Leader. - * @param {Species | Species[]} signatureSpecies The signature species for the Gym Leader. Added to party in reverse order. + * @param {SpeciesId | SpeciesId[]} signatureSpecies The signature species for the Gym Leader. Added to party in reverse order. * @param isMale Whether the Gym Leader is Male or Not (for localization of the title). * @param {PokemonType} specialtyType The specialty type for the Gym Leader. * @param ignoreMinTeraWave Whether the Gym Leader always uses Tera (true), or only Teras after {@linkcode GYM_LEADER_TERA_WAVE} (false). Defaults to false. @@ -652,7 +652,7 @@ export class TrainerConfig { * @returns {TrainerConfig} The updated TrainerConfig instance. * **/ initForGymLeader( - signatureSpecies: (Species | Species[])[], + signatureSpecies: (SpeciesId | SpeciesId[])[], isMale: boolean, specialtyType: PokemonType, ignoreMinTeraWave = false, @@ -714,7 +714,7 @@ export class TrainerConfig { * @returns The updated TrainerConfig instance. **/ initForEliteFour( - signatureSpecies: (Species | Species[])[], + signatureSpecies: (SpeciesId | SpeciesId[])[], isMale: boolean, specialtyType?: PokemonType, teraSlot?: number, @@ -769,7 +769,7 @@ export class TrainerConfig { /** * Initializes the trainer configuration for a Champion. - * @param {Species | Species[]} signatureSpecies The signature species for the Champion. + * @param {SpeciesId | SpeciesId[]} signatureSpecies The signature species for the Champion. * @param isMale Whether the Champion is Male or Female (for localization of the title). * @returns {TrainerConfig} The updated TrainerConfig instance. **/ @@ -989,7 +989,7 @@ let t = 0; * @param postProcess */ export function getRandomPartyMemberFunc( - speciesPool: Species[], + speciesPool: SpeciesId[], trainerSlot: TrainerSlot = TrainerSlot.TRAINER, ignoreEvolution = false, postProcess?: (enemyPokemon: EnemyPokemon) => void, @@ -1057,7 +1057,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.ARTIST]: new TrainerConfig(++t) .setEncounterBgm(TrainerType.RICH) .setPartyTemplates(trainerPartyTemplates.ONE_STRONG, trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.THREE_AVG) - .setSpeciesPools([Species.SMEARGLE]), + .setSpeciesPools([SpeciesId.SMEARGLE]), [TrainerType.BACKERS]: new TrainerConfig(++t) .setHasGenders("Backers") .setDoubleOnly() @@ -1074,33 +1074,33 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.RHYHORN, - Species.AIPOM, - Species.MAKUHITA, - Species.MAWILE, - Species.NUMEL, - Species.LILLIPUP, - Species.SANDILE, - Species.WOOLOO, + SpeciesId.RHYHORN, + SpeciesId.AIPOM, + SpeciesId.MAKUHITA, + SpeciesId.MAWILE, + SpeciesId.NUMEL, + SpeciesId.LILLIPUP, + SpeciesId.SANDILE, + SpeciesId.WOOLOO, ], [TrainerPoolTier.UNCOMMON]: [ - Species.GIRAFARIG, - Species.ZANGOOSE, - Species.SEVIPER, - Species.CUBCHOO, - Species.PANCHAM, - Species.SKIDDO, - Species.MUDBRAY, + SpeciesId.GIRAFARIG, + SpeciesId.ZANGOOSE, + SpeciesId.SEVIPER, + SpeciesId.CUBCHOO, + SpeciesId.PANCHAM, + SpeciesId.SKIDDO, + SpeciesId.MUDBRAY, ], [TrainerPoolTier.RARE]: [ - Species.TAUROS, - Species.STANTLER, - Species.DARUMAKA, - Species.BOUFFALANT, - Species.DEERLING, - Species.IMPIDIMP, + SpeciesId.TAUROS, + SpeciesId.STANTLER, + SpeciesId.DARUMAKA, + SpeciesId.BOUFFALANT, + SpeciesId.DEERLING, + SpeciesId.IMPIDIMP, ], - [TrainerPoolTier.SUPER_RARE]: [Species.GALAR_DARUMAKA, Species.TEDDIURSA], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.GALAR_DARUMAKA, SpeciesId.TEDDIURSA], }), [TrainerType.BAKER]: new TrainerConfig(++t) .setEncounterBgm(TrainerType.CLERK) @@ -1111,23 +1111,23 @@ export const trainerConfigs: TrainerConfigs = { a => !!a && [ - Abilities.WHITE_SMOKE, - Abilities.GLUTTONY, - Abilities.HONEY_GATHER, - Abilities.HARVEST, - Abilities.CHEEK_POUCH, - Abilities.SWEET_VEIL, - Abilities.RIPEN, - Abilities.PURIFYING_SALT, - Abilities.WELL_BAKED_BODY, - Abilities.SUPERSWEET_SYRUP, - Abilities.HOSPITALITY, + AbilityId.WHITE_SMOKE, + AbilityId.GLUTTONY, + AbilityId.HONEY_GATHER, + AbilityId.HARVEST, + AbilityId.CHEEK_POUCH, + AbilityId.SWEET_VEIL, + AbilityId.RIPEN, + AbilityId.PURIFYING_SALT, + AbilityId.WELL_BAKED_BODY, + AbilityId.SUPERSWEET_SYRUP, + AbilityId.HOSPITALITY, ].includes(a), ) || s .getLevelMoves() .some(plm => - [Moves.SOFT_BOILED, Moves.SPORE, Moves.MILK_DRINK, Moves.OVERHEAT, Moves.TEATIME].includes(plm[1]), + [MoveId.SOFT_BOILED, MoveId.SPORE, MoveId.MILK_DRINK, MoveId.OVERHEAT, MoveId.TEATIME].includes(plm[1]), ), ), // Mons with baking related abilities or who learn Overheat, Teatime, Milk Drink, Spore, or Soft-Boiled by level [TrainerType.BEAUTY]: new TrainerConfig(++t) @@ -1143,53 +1143,65 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.MEOWTH, - Species.GOLDEEN, - Species.MAREEP, - Species.MARILL, - Species.SKITTY, - Species.GLAMEOW, - Species.PURRLOIN, + SpeciesId.MEOWTH, + SpeciesId.GOLDEEN, + SpeciesId.MAREEP, + SpeciesId.MARILL, + SpeciesId.SKITTY, + SpeciesId.GLAMEOW, + SpeciesId.PURRLOIN, ], [TrainerPoolTier.UNCOMMON]: [ - Species.SMOOCHUM, - Species.ROSELIA, - Species.LUVDISC, - Species.BLITZLE, - Species.SEWADDLE, - Species.PETILIL, - Species.MINCCINO, - Species.GOTHITA, - Species.SPRITZEE, - Species.FLITTLE, + SpeciesId.SMOOCHUM, + SpeciesId.ROSELIA, + SpeciesId.LUVDISC, + SpeciesId.BLITZLE, + SpeciesId.SEWADDLE, + SpeciesId.PETILIL, + SpeciesId.MINCCINO, + SpeciesId.GOTHITA, + SpeciesId.SPRITZEE, + SpeciesId.FLITTLE, ], [TrainerPoolTier.RARE]: [ - Species.FEEBAS, - Species.FURFROU, - Species.SALANDIT, - Species.BRUXISH, - Species.HATENNA, - Species.SNOM, - Species.ALOLA_VULPIX, + SpeciesId.FEEBAS, + SpeciesId.FURFROU, + SpeciesId.SALANDIT, + SpeciesId.BRUXISH, + SpeciesId.HATENNA, + SpeciesId.SNOM, + SpeciesId.ALOLA_VULPIX, + ], + [TrainerPoolTier.SUPER_RARE]: [ + SpeciesId.CLAMPERL, + SpeciesId.AMAURA, + SpeciesId.SYLVEON, + SpeciesId.GOOMY, + SpeciesId.POPPLIO, ], - [TrainerPoolTier.SUPER_RARE]: [Species.CLAMPERL, Species.AMAURA, Species.SYLVEON, Species.GOOMY, Species.POPPLIO], }), [TrainerType.BIKER]: new TrainerConfig(++t) .setMoneyMultiplier(1.4) .setEncounterBgm(TrainerType.ROUGHNECK) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.EKANS, Species.KOFFING, Species.CROAGUNK, Species.VENIPEDE, Species.SCRAGGY], - [TrainerPoolTier.UNCOMMON]: [ - Species.GRIMER, - Species.VOLTORB, - Species.TEDDIURSA, - Species.MAGBY, - Species.SKORUPI, - Species.SANDILE, - Species.PAWNIARD, - Species.SHROODLE, + [TrainerPoolTier.COMMON]: [ + SpeciesId.EKANS, + SpeciesId.KOFFING, + SpeciesId.CROAGUNK, + SpeciesId.VENIPEDE, + SpeciesId.SCRAGGY, ], - [TrainerPoolTier.RARE]: [Species.VAROOM, Species.CYCLIZAR], + [TrainerPoolTier.UNCOMMON]: [ + SpeciesId.GRIMER, + SpeciesId.VOLTORB, + SpeciesId.TEDDIURSA, + SpeciesId.MAGBY, + SpeciesId.SKORUPI, + SpeciesId.SANDILE, + SpeciesId.PAWNIARD, + SpeciesId.SHROODLE, + ], + [TrainerPoolTier.RARE]: [SpeciesId.VAROOM, SpeciesId.CYCLIZAR], }), [TrainerType.BLACK_BELT]: new TrainerConfig(++t) .setHasGenders("Battle Girl", TrainerType.PSYCHIC) @@ -1207,41 +1219,41 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.NIDORAN_F, - Species.NIDORAN_M, - Species.MACHOP, - Species.MAKUHITA, - Species.MEDITITE, - Species.CROAGUNK, - Species.TIMBURR, + SpeciesId.NIDORAN_F, + SpeciesId.NIDORAN_M, + SpeciesId.MACHOP, + SpeciesId.MAKUHITA, + SpeciesId.MEDITITE, + SpeciesId.CROAGUNK, + SpeciesId.TIMBURR, ], [TrainerPoolTier.UNCOMMON]: [ - Species.MANKEY, - Species.POLIWRATH, - Species.TYROGUE, - Species.BRELOOM, - Species.SCRAGGY, - Species.MIENFOO, - Species.PANCHAM, - Species.STUFFUL, - Species.CRABRAWLER, + SpeciesId.MANKEY, + SpeciesId.POLIWRATH, + SpeciesId.TYROGUE, + SpeciesId.BRELOOM, + SpeciesId.SCRAGGY, + SpeciesId.MIENFOO, + SpeciesId.PANCHAM, + SpeciesId.STUFFUL, + SpeciesId.CRABRAWLER, ], [TrainerPoolTier.RARE]: [ - Species.HERACROSS, - Species.RIOLU, - Species.THROH, - Species.SAWK, - Species.PASSIMIAN, - Species.CLOBBOPUS, + SpeciesId.HERACROSS, + SpeciesId.RIOLU, + SpeciesId.THROH, + SpeciesId.SAWK, + SpeciesId.PASSIMIAN, + SpeciesId.CLOBBOPUS, ], [TrainerPoolTier.SUPER_RARE]: [ - Species.HITMONTOP, - Species.INFERNAPE, - Species.GALLADE, - Species.HAWLUCHA, - Species.HAKAMO_O, + SpeciesId.HITMONTOP, + SpeciesId.INFERNAPE, + SpeciesId.GALLADE, + SpeciesId.HAWLUCHA, + SpeciesId.HAKAMO_O, ], - [TrainerPoolTier.ULTRA_RARE]: [Species.KUBFU], + [TrainerPoolTier.ULTRA_RARE]: [SpeciesId.KUBFU], }), [TrainerType.BREEDER]: new TrainerConfig(++t) .setMoneyMultiplier(1.325) @@ -1269,21 +1281,21 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.MEOWTH, - Species.PSYDUCK, - Species.BUDEW, - Species.PIDOVE, - Species.CINCCINO, - Species.LITLEO, + SpeciesId.MEOWTH, + SpeciesId.PSYDUCK, + SpeciesId.BUDEW, + SpeciesId.PIDOVE, + SpeciesId.CINCCINO, + SpeciesId.LITLEO, ], [TrainerPoolTier.UNCOMMON]: [ - Species.JIGGLYPUFF, - Species.MAGNEMITE, - Species.MARILL, - Species.COTTONEE, - Species.SKIDDO, + SpeciesId.JIGGLYPUFF, + SpeciesId.MAGNEMITE, + SpeciesId.MARILL, + SpeciesId.COTTONEE, + SpeciesId.SKIDDO, ], - [TrainerPoolTier.RARE]: [Species.BUIZEL, Species.SNEASEL, Species.KLEFKI, Species.INDEEDEE], + [TrainerPoolTier.RARE]: [SpeciesId.BUIZEL, SpeciesId.SNEASEL, SpeciesId.KLEFKI, SpeciesId.INDEEDEE], }), [TrainerType.CYCLIST]: new TrainerConfig(++t) .setMoneyMultiplier(1.3) @@ -1292,16 +1304,28 @@ export const trainerConfigs: TrainerConfigs = { .setEncounterBgm(TrainerType.CYCLIST) .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.DODUO, Species.PICHU, Species.TAILLOW, Species.STARLY, Species.PONYTA], - [TrainerPoolTier.UNCOMMON]: [ - Species.ELECTRIKE, - Species.SHINX, - Species.BLITZLE, - Species.DUCKLETT, - Species.WATTREL, + [TrainerPoolTier.COMMON]: [ + SpeciesId.DODUO, + SpeciesId.PICHU, + SpeciesId.TAILLOW, + SpeciesId.STARLY, + SpeciesId.PONYTA, ], - [TrainerPoolTier.RARE]: [Species.YANMA, Species.NINJASK, Species.WHIRLIPEDE, Species.EMOLGA, Species.SKIDDO], - [TrainerPoolTier.SUPER_RARE]: [Species.ACCELGOR, Species.DREEPY], + [TrainerPoolTier.UNCOMMON]: [ + SpeciesId.ELECTRIKE, + SpeciesId.SHINX, + SpeciesId.BLITZLE, + SpeciesId.DUCKLETT, + SpeciesId.WATTREL, + ], + [TrainerPoolTier.RARE]: [ + SpeciesId.YANMA, + SpeciesId.NINJASK, + SpeciesId.WHIRLIPEDE, + SpeciesId.EMOLGA, + SpeciesId.SKIDDO, + ], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.ACCELGOR, SpeciesId.DREEPY], }), [TrainerType.DANCER]: new TrainerConfig(++t) .setMoneyMultiplier(1.55) @@ -1313,10 +1337,10 @@ export const trainerConfigs: TrainerConfigs = { trainerPartyTemplates.TWO_WEAK_SAME_TWO_WEAK_SAME, ) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.RALTS, Species.SPOINK, Species.LOTAD, Species.BUDEW], - [TrainerPoolTier.UNCOMMON]: [Species.SPINDA, Species.SWABLU, Species.MARACTUS], - [TrainerPoolTier.RARE]: [Species.BELLOSSOM, Species.HITMONTOP, Species.MIME_JR, Species.ORICORIO], - [TrainerPoolTier.SUPER_RARE]: [Species.QUAXLY, Species.JANGMO_O], + [TrainerPoolTier.COMMON]: [SpeciesId.RALTS, SpeciesId.SPOINK, SpeciesId.LOTAD, SpeciesId.BUDEW], + [TrainerPoolTier.UNCOMMON]: [SpeciesId.SPINDA, SpeciesId.SWABLU, SpeciesId.MARACTUS], + [TrainerPoolTier.RARE]: [SpeciesId.BELLOSSOM, SpeciesId.HITMONTOP, SpeciesId.MIME_JR, SpeciesId.ORICORIO], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.QUAXLY, SpeciesId.JANGMO_O], }), [TrainerType.DEPOT_AGENT]: new TrainerConfig(++t) .setMoneyMultiplier(1.45) @@ -1333,11 +1357,11 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("Medical Team") .setMoneyMultiplier(3) .setEncounterBgm(TrainerType.CLERK) - .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.HEAL_PULSE)), + .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === MoveId.HEAL_PULSE)), [TrainerType.FIREBREATHER]: new TrainerConfig(++t) .setMoneyMultiplier(1.4) .setEncounterBgm(TrainerType.ROUGHNECK) - .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.SMOG) || s.isOfType(PokemonType.FIRE)), + .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === MoveId.SMOG) || s.isOfType(PokemonType.FIRE)), [TrainerType.FISHERMAN]: new TrainerConfig(++t) .setMoneyMultiplier(1.25) .setEncounterBgm(TrainerType.BACKPACKER) @@ -1351,41 +1375,41 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.TENTACOOL, - Species.MAGIKARP, - Species.GOLDEEN, - Species.STARYU, - Species.REMORAID, - Species.SKRELP, - Species.CLAUNCHER, - Species.ARROKUDA, + SpeciesId.TENTACOOL, + SpeciesId.MAGIKARP, + SpeciesId.GOLDEEN, + SpeciesId.STARYU, + SpeciesId.REMORAID, + SpeciesId.SKRELP, + SpeciesId.CLAUNCHER, + SpeciesId.ARROKUDA, ], [TrainerPoolTier.UNCOMMON]: [ - Species.POLIWAG, - Species.SHELLDER, - Species.KRABBY, - Species.HORSEA, - Species.CARVANHA, - Species.BARBOACH, - Species.CORPHISH, - Species.FINNEON, - Species.TYMPOLE, - Species.BASCULIN, - Species.FRILLISH, - Species.INKAY, + SpeciesId.POLIWAG, + SpeciesId.SHELLDER, + SpeciesId.KRABBY, + SpeciesId.HORSEA, + SpeciesId.CARVANHA, + SpeciesId.BARBOACH, + SpeciesId.CORPHISH, + SpeciesId.FINNEON, + SpeciesId.TYMPOLE, + SpeciesId.BASCULIN, + SpeciesId.FRILLISH, + SpeciesId.INKAY, ], [TrainerPoolTier.RARE]: [ - Species.CHINCHOU, - Species.CORSOLA, - Species.WAILMER, - Species.CLAMPERL, - Species.LUVDISC, - Species.MANTYKE, - Species.ALOMOMOLA, - Species.TATSUGIRI, - Species.VELUZA, + SpeciesId.CHINCHOU, + SpeciesId.CORSOLA, + SpeciesId.WAILMER, + SpeciesId.CLAMPERL, + SpeciesId.LUVDISC, + SpeciesId.MANTYKE, + SpeciesId.ALOMOMOLA, + SpeciesId.TATSUGIRI, + SpeciesId.VELUZA, ], - [TrainerPoolTier.SUPER_RARE]: [Species.LAPRAS, Species.FEEBAS, Species.RELICANTH, Species.DONDOZO], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.LAPRAS, SpeciesId.FEEBAS, SpeciesId.RELICANTH, SpeciesId.DONDOZO], }), [TrainerType.GUITARIST]: new TrainerConfig(++t) .setMoneyMultiplier(1.2) @@ -1394,7 +1418,7 @@ export const trainerConfigs: TrainerConfigs = { .setSpeciesFilter(s => s.isOfType(PokemonType.ELECTRIC)), [TrainerType.HARLEQUIN]: new TrainerConfig(++t) .setEncounterBgm(TrainerType.PSYCHIC) - .setSpeciesFilter(s => tmSpecies[Moves.TRICK_ROOM].indexOf(s.speciesId) > -1), + .setSpeciesFilter(s => tmSpecies[MoveId.TRICK_ROOM].indexOf(s.speciesId) > -1), [TrainerType.HIKER]: new TrainerConfig(++t) .setEncounterBgm(TrainerType.BACKPACKER) .setPartyTemplates( @@ -1406,39 +1430,39 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.SANDSHREW, - Species.DIGLETT, - Species.GEODUDE, - Species.MACHOP, - Species.ARON, - Species.ROGGENROLA, - Species.DRILBUR, - Species.NACLI, + SpeciesId.SANDSHREW, + SpeciesId.DIGLETT, + SpeciesId.GEODUDE, + SpeciesId.MACHOP, + SpeciesId.ARON, + SpeciesId.ROGGENROLA, + SpeciesId.DRILBUR, + SpeciesId.NACLI, ], [TrainerPoolTier.UNCOMMON]: [ - Species.ZUBAT, - Species.RHYHORN, - Species.ONIX, - Species.CUBONE, - Species.WOOBAT, - Species.SWINUB, - Species.NOSEPASS, - Species.HIPPOPOTAS, - Species.DWEBBLE, - Species.KLAWF, - Species.TOEDSCOOL, + SpeciesId.ZUBAT, + SpeciesId.RHYHORN, + SpeciesId.ONIX, + SpeciesId.CUBONE, + SpeciesId.WOOBAT, + SpeciesId.SWINUB, + SpeciesId.NOSEPASS, + SpeciesId.HIPPOPOTAS, + SpeciesId.DWEBBLE, + SpeciesId.KLAWF, + SpeciesId.TOEDSCOOL, ], [TrainerPoolTier.RARE]: [ - Species.TORKOAL, - Species.TRAPINCH, - Species.BARBOACH, - Species.GOLETT, - Species.ALOLA_DIGLETT, - Species.ALOLA_GEODUDE, - Species.GALAR_STUNFISK, - Species.PALDEA_WOOPER, + SpeciesId.TORKOAL, + SpeciesId.TRAPINCH, + SpeciesId.BARBOACH, + SpeciesId.GOLETT, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.GALAR_STUNFISK, + SpeciesId.PALDEA_WOOPER, ], - [TrainerPoolTier.SUPER_RARE]: [Species.MAGBY, Species.LARVITAR], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.MAGBY, SpeciesId.LARVITAR], }), [TrainerType.HOOLIGANS]: new TrainerConfig(++t) .setDoubleOnly() @@ -1466,7 +1490,7 @@ export const trainerConfigs: TrainerConfigs = { trainerPartyTemplates.TWO_WEAK_ONE_AVG, trainerPartyTemplates.TWO_AVG, ) - .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.SING)), + .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === MoveId.SING)), [TrainerType.HEX_MANIAC]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) .setEncounterBgm(TrainerType.PSYCHIC) @@ -1490,19 +1514,19 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.VULPIX, - Species.GROWLITHE, - Species.SNUBBULL, - Species.POOCHYENA, - Species.ELECTRIKE, - Species.LILLIPUP, - Species.YAMPER, - Species.FIDOUGH, + SpeciesId.VULPIX, + SpeciesId.GROWLITHE, + SpeciesId.SNUBBULL, + SpeciesId.POOCHYENA, + SpeciesId.ELECTRIKE, + SpeciesId.LILLIPUP, + SpeciesId.YAMPER, + SpeciesId.FIDOUGH, ], - [TrainerPoolTier.UNCOMMON]: [Species.HOUNDOUR, Species.ROCKRUFF, Species.MASCHIFF], - [TrainerPoolTier.RARE]: [Species.JOLTEON, Species.RIOLU], + [TrainerPoolTier.UNCOMMON]: [SpeciesId.HOUNDOUR, SpeciesId.ROCKRUFF, SpeciesId.MASCHIFF], + [TrainerPoolTier.RARE]: [SpeciesId.JOLTEON, SpeciesId.RIOLU], [TrainerPoolTier.SUPER_RARE]: [], - [TrainerPoolTier.ULTRA_RARE]: [Species.ENTEI, Species.SUICUNE, Species.RAIKOU], + [TrainerPoolTier.ULTRA_RARE]: [SpeciesId.ENTEI, SpeciesId.SUICUNE, SpeciesId.RAIKOU], }), [TrainerType.PARASOL_LADY]: new TrainerConfig(++t) .setMoneyMultiplier(1.55) @@ -1520,14 +1544,14 @@ export const trainerConfigs: TrainerConfigs = { a => !!a && [ - Abilities.DRIZZLE, - Abilities.SWIFT_SWIM, - Abilities.HYDRATION, - Abilities.RAIN_DISH, - Abilities.DRY_SKIN, - Abilities.WIND_POWER, + AbilityId.DRIZZLE, + AbilityId.SWIFT_SWIM, + AbilityId.HYDRATION, + AbilityId.RAIN_DISH, + AbilityId.DRY_SKIN, + AbilityId.WIND_POWER, ].includes(a), - ) || s.getLevelMoves().some(plm => plm[1] === Moves.RAIN_DANCE), + ) || s.getLevelMoves().some(plm => plm[1] === MoveId.RAIN_DANCE), ), // Mons with rain abilities or who learn Rain Dance by level [TrainerType.PILOT]: new TrainerConfig(++t) .setMoneyMultiplier(1.75) @@ -1538,7 +1562,7 @@ export const trainerConfigs: TrainerConfigs = { trainerPartyTemplates.TWO_AVG, trainerPartyTemplates.THREE_AVG, ) - .setSpeciesFilter(s => tmSpecies[Moves.FLY].indexOf(s.speciesId) > -1), + .setSpeciesFilter(s => tmSpecies[MoveId.FLY].indexOf(s.speciesId) > -1), [TrainerType.POKEFAN]: new TrainerConfig(++t) .setMoneyMultiplier(1.4) .setName("PokéFan") @@ -1554,7 +1578,7 @@ export const trainerConfigs: TrainerConfigs = { trainerPartyTemplates.FIVE_WEAK, trainerPartyTemplates.SIX_WEAKER_SAME, ) - .setSpeciesFilter(s => tmSpecies[Moves.HELPING_HAND].indexOf(s.speciesId) > -1), + .setSpeciesFilter(s => tmSpecies[MoveId.HELPING_HAND].indexOf(s.speciesId) > -1), [TrainerType.PRESCHOOLER]: new TrainerConfig(++t) .setMoneyMultiplier(0.2) .setEncounterBgm(TrainerType.YOUNGSTER) @@ -1568,28 +1592,28 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.CATERPIE, - Species.PICHU, - Species.SANDSHREW, - Species.LEDYBA, - Species.BUDEW, - Species.BURMY, - Species.WOOLOO, - Species.PAWMI, - Species.SMOLIV, + SpeciesId.CATERPIE, + SpeciesId.PICHU, + SpeciesId.SANDSHREW, + SpeciesId.LEDYBA, + SpeciesId.BUDEW, + SpeciesId.BURMY, + SpeciesId.WOOLOO, + SpeciesId.PAWMI, + SpeciesId.SMOLIV, ], [TrainerPoolTier.UNCOMMON]: [ - Species.EEVEE, - Species.CLEFFA, - Species.IGGLYBUFF, - Species.SWINUB, - Species.WOOPER, - Species.DRIFLOON, - Species.DEDENNE, - Species.STUFFUL, + SpeciesId.EEVEE, + SpeciesId.CLEFFA, + SpeciesId.IGGLYBUFF, + SpeciesId.SWINUB, + SpeciesId.WOOPER, + SpeciesId.DRIFLOON, + SpeciesId.DEDENNE, + SpeciesId.STUFFUL, ], - [TrainerPoolTier.RARE]: [Species.RALTS, Species.RIOLU, Species.JOLTIK, Species.TANDEMAUS], - [TrainerPoolTier.SUPER_RARE]: [Species.DARUMAKA, Species.TINKATINK], + [TrainerPoolTier.RARE]: [SpeciesId.RALTS, SpeciesId.RIOLU, SpeciesId.JOLTIK, SpeciesId.TANDEMAUS], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.DARUMAKA, SpeciesId.TINKATINK], }), [TrainerType.PSYCHIC]: new TrainerConfig(++t) .setHasGenders("Psychic Female") @@ -1605,28 +1629,34 @@ export const trainerConfigs: TrainerConfigs = { ) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.ABRA, - Species.DROWZEE, - Species.RALTS, - Species.SPOINK, - Species.GOTHITA, - Species.SOLOSIS, - Species.BLIPBUG, - Species.ESPURR, - Species.HATENNA, + SpeciesId.ABRA, + SpeciesId.DROWZEE, + SpeciesId.RALTS, + SpeciesId.SPOINK, + SpeciesId.GOTHITA, + SpeciesId.SOLOSIS, + SpeciesId.BLIPBUG, + SpeciesId.ESPURR, + SpeciesId.HATENNA, ], [TrainerPoolTier.UNCOMMON]: [ - Species.MIME_JR, - Species.EXEGGCUTE, - Species.MEDITITE, - Species.NATU, - Species.EXEGGCUTE, - Species.WOOBAT, - Species.INKAY, - Species.ORANGURU, + SpeciesId.MIME_JR, + SpeciesId.EXEGGCUTE, + SpeciesId.MEDITITE, + SpeciesId.NATU, + SpeciesId.EXEGGCUTE, + SpeciesId.WOOBAT, + SpeciesId.INKAY, + SpeciesId.ORANGURU, ], - [TrainerPoolTier.RARE]: [Species.ELGYEM, Species.SIGILYPH, Species.BALTOY, Species.GIRAFARIG, Species.MEOWSTIC], - [TrainerPoolTier.SUPER_RARE]: [Species.BELDUM, Species.ESPEON, Species.STANTLER], + [TrainerPoolTier.RARE]: [ + SpeciesId.ELGYEM, + SpeciesId.SIGILYPH, + SpeciesId.BALTOY, + SpeciesId.GIRAFARIG, + SpeciesId.MEOWSTIC, + ], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.BELDUM, SpeciesId.ESPEON, SpeciesId.STANTLER], }), [TrainerType.RANGER]: new TrainerConfig(++t) .setMoneyMultiplier(1.4) @@ -1636,44 +1666,44 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("Pokémon Rangers") .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.PICHU, - Species.GROWLITHE, - Species.PONYTA, - Species.ZIGZAGOON, - Species.SEEDOT, - Species.BIDOOF, - Species.RIOLU, - Species.SEWADDLE, - Species.SKIDDO, - Species.SALANDIT, - Species.YAMPER, + SpeciesId.PICHU, + SpeciesId.GROWLITHE, + SpeciesId.PONYTA, + SpeciesId.ZIGZAGOON, + SpeciesId.SEEDOT, + SpeciesId.BIDOOF, + SpeciesId.RIOLU, + SpeciesId.SEWADDLE, + SpeciesId.SKIDDO, + SpeciesId.SALANDIT, + SpeciesId.YAMPER, ], [TrainerPoolTier.UNCOMMON]: [ - Species.AZURILL, - Species.TAUROS, - Species.MAREEP, - Species.FARFETCHD, - Species.TEDDIURSA, - Species.SHROOMISH, - Species.ELECTRIKE, - Species.BUDEW, - Species.BUIZEL, - Species.MUDBRAY, - Species.STUFFUL, + SpeciesId.AZURILL, + SpeciesId.TAUROS, + SpeciesId.MAREEP, + SpeciesId.FARFETCHD, + SpeciesId.TEDDIURSA, + SpeciesId.SHROOMISH, + SpeciesId.ELECTRIKE, + SpeciesId.BUDEW, + SpeciesId.BUIZEL, + SpeciesId.MUDBRAY, + SpeciesId.STUFFUL, ], [TrainerPoolTier.RARE]: [ - Species.EEVEE, - Species.SCYTHER, - Species.KANGASKHAN, - Species.RALTS, - Species.MUNCHLAX, - Species.ZORUA, - Species.PALDEA_TAUROS, - Species.TINKATINK, - Species.CYCLIZAR, - Species.FLAMIGO, + SpeciesId.EEVEE, + SpeciesId.SCYTHER, + SpeciesId.KANGASKHAN, + SpeciesId.RALTS, + SpeciesId.MUNCHLAX, + SpeciesId.ZORUA, + SpeciesId.PALDEA_TAUROS, + SpeciesId.TINKATINK, + SpeciesId.CYCLIZAR, + SpeciesId.FLAMIGO, ], - [TrainerPoolTier.SUPER_RARE]: [Species.LARVESTA], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.LARVESTA], }), [TrainerType.RICH]: new TrainerConfig(++t) .setMoneyMultiplier(3.25) @@ -1713,40 +1743,46 @@ export const trainerConfigs: TrainerConfigs = { .setMoneyMultiplier(1.7) .setEncounterBgm(TrainerType.SCIENTIST) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.MAGNEMITE, Species.GRIMER, Species.DROWZEE, Species.VOLTORB, Species.KOFFING], + [TrainerPoolTier.COMMON]: [ + SpeciesId.MAGNEMITE, + SpeciesId.GRIMER, + SpeciesId.DROWZEE, + SpeciesId.VOLTORB, + SpeciesId.KOFFING, + ], [TrainerPoolTier.UNCOMMON]: [ - Species.BALTOY, - Species.BRONZOR, - Species.FERROSEED, - Species.KLINK, - Species.CHARJABUG, - Species.BLIPBUG, - Species.HELIOPTILE, + SpeciesId.BALTOY, + SpeciesId.BRONZOR, + SpeciesId.FERROSEED, + SpeciesId.KLINK, + SpeciesId.CHARJABUG, + SpeciesId.BLIPBUG, + SpeciesId.HELIOPTILE, ], [TrainerPoolTier.RARE]: [ - Species.ABRA, - Species.DITTO, - Species.PORYGON, - Species.ELEKID, - Species.SOLOSIS, - Species.GALAR_WEEZING, + SpeciesId.ABRA, + SpeciesId.DITTO, + SpeciesId.PORYGON, + SpeciesId.ELEKID, + SpeciesId.SOLOSIS, + SpeciesId.GALAR_WEEZING, ], [TrainerPoolTier.SUPER_RARE]: [ - Species.OMANYTE, - Species.KABUTO, - Species.AERODACTYL, - Species.LILEEP, - Species.ANORITH, - Species.CRANIDOS, - Species.SHIELDON, - Species.TIRTOUGA, - Species.ARCHEN, - Species.ARCTOVISH, - Species.ARCTOZOLT, - Species.DRACOVISH, - Species.DRACOZOLT, + SpeciesId.OMANYTE, + SpeciesId.KABUTO, + SpeciesId.AERODACTYL, + SpeciesId.LILEEP, + SpeciesId.ANORITH, + SpeciesId.CRANIDOS, + SpeciesId.SHIELDON, + SpeciesId.TIRTOUGA, + SpeciesId.ARCHEN, + SpeciesId.ARCTOVISH, + SpeciesId.ARCTOZOLT, + SpeciesId.DRACOVISH, + SpeciesId.DRACOZOLT, ], - [TrainerPoolTier.ULTRA_RARE]: [Species.ROTOM, Species.MELTAN], + [TrainerPoolTier.ULTRA_RARE]: [SpeciesId.ROTOM, SpeciesId.MELTAN], }), [TrainerType.SMASHER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), [TrainerType.SNOW_WORKER]: new TrainerConfig(++t) @@ -1763,17 +1799,23 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("School Kids") .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.ODDISH, - Species.EXEGGCUTE, - Species.TEDDIURSA, - Species.WURMPLE, - Species.RALTS, - Species.SHROOMISH, - Species.FLETCHLING, + SpeciesId.ODDISH, + SpeciesId.EXEGGCUTE, + SpeciesId.TEDDIURSA, + SpeciesId.WURMPLE, + SpeciesId.RALTS, + SpeciesId.SHROOMISH, + SpeciesId.FLETCHLING, ], - [TrainerPoolTier.UNCOMMON]: [Species.VOLTORB, Species.WHISMUR, Species.MEDITITE, Species.MIME_JR, Species.NYMBLE], - [TrainerPoolTier.RARE]: [Species.TANGELA, Species.EEVEE, Species.YANMA], - [TrainerPoolTier.SUPER_RARE]: [Species.TADBULB], + [TrainerPoolTier.UNCOMMON]: [ + SpeciesId.VOLTORB, + SpeciesId.WHISMUR, + SpeciesId.MEDITITE, + SpeciesId.MIME_JR, + SpeciesId.NYMBLE, + ], + [TrainerPoolTier.RARE]: [SpeciesId.TANGELA, SpeciesId.EEVEE, SpeciesId.YANMA], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.TADBULB], }), [TrainerType.SWIMMER]: new TrainerConfig(++t) .setMoneyMultiplier(1.3) @@ -1796,28 +1838,28 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 0, getRandomPartyMemberFunc([ - Species.PLUSLE, - Species.VOLBEAT, - Species.PACHIRISU, - Species.SILCOON, - Species.METAPOD, - Species.IGGLYBUFF, - Species.PETILIL, - Species.EEVEE, + SpeciesId.PLUSLE, + SpeciesId.VOLBEAT, + SpeciesId.PACHIRISU, + SpeciesId.SILCOON, + SpeciesId.METAPOD, + SpeciesId.IGGLYBUFF, + SpeciesId.PETILIL, + SpeciesId.EEVEE, ]), ) .setPartyMemberFunc( 1, getRandomPartyMemberFunc( [ - Species.MINUN, - Species.ILLUMISE, - Species.EMOLGA, - Species.CASCOON, - Species.KAKUNA, - Species.CLEFFA, - Species.COTTONEE, - Species.EEVEE, + SpeciesId.MINUN, + SpeciesId.ILLUMISE, + SpeciesId.EMOLGA, + SpeciesId.CASCOON, + SpeciesId.KAKUNA, + SpeciesId.CLEFFA, + SpeciesId.COTTONEE, + SpeciesId.EEVEE, ], TrainerSlot.TRAINER_PARTNER, ), @@ -1836,15 +1878,15 @@ export const trainerConfigs: TrainerConfigs = { .setEncounterBgm(TrainerType.CLERK) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.CLEFFA, - Species.CHATOT, - Species.PANSAGE, - Species.PANSEAR, - Species.PANPOUR, - Species.MINCCINO, + SpeciesId.CLEFFA, + SpeciesId.CHATOT, + SpeciesId.PANSAGE, + SpeciesId.PANSEAR, + SpeciesId.PANPOUR, + SpeciesId.MINCCINO, ], - [TrainerPoolTier.UNCOMMON]: [Species.TROPIUS, Species.PETILIL, Species.BOUNSWEET, Species.INDEEDEE], - [TrainerPoolTier.RARE]: [Species.APPLIN, Species.SINISTEA, Species.POLTCHAGEIST], + [TrainerPoolTier.UNCOMMON]: [SpeciesId.TROPIUS, SpeciesId.PETILIL, SpeciesId.BOUNSWEET, SpeciesId.INDEEDEE], + [TrainerPoolTier.RARE]: [SpeciesId.APPLIN, SpeciesId.SINISTEA, SpeciesId.POLTCHAGEIST], }), [TrainerType.WORKER]: new TrainerConfig(++t) .setHasGenders("Worker Female") @@ -1859,16 +1901,16 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("Beginners") .setPartyTemplates(trainerPartyTemplates.TWO_WEAKER) .setSpeciesPools([ - Species.CATERPIE, - Species.WEEDLE, - Species.RATTATA, - Species.SENTRET, - Species.POOCHYENA, - Species.ZIGZAGOON, - Species.WURMPLE, - Species.BIDOOF, - Species.PATRAT, - Species.LILLIPUP, + SpeciesId.CATERPIE, + SpeciesId.WEEDLE, + SpeciesId.RATTATA, + SpeciesId.SENTRET, + SpeciesId.POOCHYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.WURMPLE, + SpeciesId.BIDOOF, + SpeciesId.PATRAT, + SpeciesId.LILLIPUP, ]), [TrainerType.ROCKET_GRUNT]: new TrainerConfig(++t) .setHasGenders("Rocket Grunt Female") @@ -1881,51 +1923,51 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.WEEDLE, - Species.RATTATA, - Species.EKANS, - Species.SANDSHREW, - Species.ZUBAT, - Species.ODDISH, - Species.GEODUDE, - Species.SLOWPOKE, - Species.GRIMER, - Species.KOFFING, + SpeciesId.WEEDLE, + SpeciesId.RATTATA, + SpeciesId.EKANS, + SpeciesId.SANDSHREW, + SpeciesId.ZUBAT, + SpeciesId.ODDISH, + SpeciesId.GEODUDE, + SpeciesId.SLOWPOKE, + SpeciesId.GRIMER, + SpeciesId.KOFFING, ], [TrainerPoolTier.UNCOMMON]: [ - Species.MANKEY, - Species.GROWLITHE, - Species.MAGNEMITE, - Species.ONIX, - Species.VOLTORB, - Species.EXEGGCUTE, - Species.CUBONE, - Species.LICKITUNG, - Species.TAUROS, - Species.MAGIKARP, - Species.MURKROW, - Species.ELEKID, - Species.MAGBY, + SpeciesId.MANKEY, + SpeciesId.GROWLITHE, + SpeciesId.MAGNEMITE, + SpeciesId.ONIX, + SpeciesId.VOLTORB, + SpeciesId.EXEGGCUTE, + SpeciesId.CUBONE, + SpeciesId.LICKITUNG, + SpeciesId.TAUROS, + SpeciesId.MAGIKARP, + SpeciesId.MURKROW, + SpeciesId.ELEKID, + SpeciesId.MAGBY, ], [TrainerPoolTier.RARE]: [ - Species.ABRA, - Species.GASTLY, - Species.SCYTHER, - Species.PORYGON, - Species.OMANYTE, - Species.KABUTO, - Species.ALOLA_RATTATA, - Species.ALOLA_SANDSHREW, - Species.ALOLA_MEOWTH, - Species.ALOLA_GEODUDE, - Species.ALOLA_GRIMER, - Species.PALDEA_TAUROS, + SpeciesId.ABRA, + SpeciesId.GASTLY, + SpeciesId.SCYTHER, + SpeciesId.PORYGON, + SpeciesId.OMANYTE, + SpeciesId.KABUTO, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_GRIMER, + SpeciesId.PALDEA_TAUROS, ], - [TrainerPoolTier.SUPER_RARE]: [Species.DRATINI, Species.LARVITAR], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.DRATINI, SpeciesId.LARVITAR], }), [TrainerType.ARCHER]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("rocket_admin", "rocket", [Species.HOUNDOOM]) + .initForEvilTeamAdmin("rocket_admin", "rocket", [SpeciesId.HOUNDOOM]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_rocket_grunt") @@ -1933,7 +1975,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.ARIANA]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("rocket_admin_female", "rocket", [Species.ARBOK]) + .initForEvilTeamAdmin("rocket_admin_female", "rocket", [SpeciesId.ARBOK]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_rocket_grunt") @@ -1941,7 +1983,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.PROTON]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("rocket_admin", "rocket", [Species.CROBAT]) + .initForEvilTeamAdmin("rocket_admin", "rocket", [SpeciesId.CROBAT]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_rocket_grunt") @@ -1949,7 +1991,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.PETREL]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("rocket_admin", "rocket", [Species.WEEZING]) + .initForEvilTeamAdmin("rocket_admin", "rocket", [SpeciesId.WEEZING]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_rocket_grunt") @@ -1966,39 +2008,39 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.DIGLETT, - Species.GROWLITHE, - Species.SLUGMA, - Species.POOCHYENA, - Species.ZIGZAGOON, - Species.NUMEL, - Species.TORKOAL, - Species.BALTOY, + SpeciesId.DIGLETT, + SpeciesId.GROWLITHE, + SpeciesId.SLUGMA, + SpeciesId.POOCHYENA, + SpeciesId.ZIGZAGOON, + SpeciesId.NUMEL, + SpeciesId.TORKOAL, + SpeciesId.BALTOY, ], [TrainerPoolTier.UNCOMMON]: [ - Species.RHYHORN, - Species.PHANPY, - Species.MAGBY, - Species.ZANGOOSE, - Species.SOLROCK, - Species.HEATMOR, - Species.ROLYCOLY, - Species.CAPSAKID, + SpeciesId.RHYHORN, + SpeciesId.PHANPY, + SpeciesId.MAGBY, + SpeciesId.ZANGOOSE, + SpeciesId.SOLROCK, + SpeciesId.HEATMOR, + SpeciesId.ROLYCOLY, + SpeciesId.CAPSAKID, ], [TrainerPoolTier.RARE]: [ - Species.TRAPINCH, - Species.LILEEP, - Species.ANORITH, - Species.GOLETT, - Species.TURTONATOR, - Species.TOEDSCOOL, - Species.HISUI_GROWLITHE, + SpeciesId.TRAPINCH, + SpeciesId.LILEEP, + SpeciesId.ANORITH, + SpeciesId.GOLETT, + SpeciesId.TURTONATOR, + SpeciesId.TOEDSCOOL, + SpeciesId.HISUI_GROWLITHE, ], - [TrainerPoolTier.SUPER_RARE]: [Species.CHARCADET, Species.ARON], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.CHARCADET, SpeciesId.ARON], }), [TrainerType.TABITHA]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("magma_admin", "magma", [Species.CAMERUPT]) + .initForEvilTeamAdmin("magma_admin", "magma", [SpeciesId.CAMERUPT]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_aqua_magma_grunt") @@ -2006,7 +2048,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.COURTNEY]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("magma_admin_female", "magma", [Species.CAMERUPT]) + .initForEvilTeamAdmin("magma_admin_female", "magma", [SpeciesId.CAMERUPT]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_aqua_magma_grunt") @@ -2023,42 +2065,42 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.QWILFISH, - Species.REMORAID, - Species.ZIGZAGOON, - Species.LOTAD, - Species.WINGULL, - Species.CARVANHA, - Species.WAILMER, - Species.BARBOACH, - Species.CORPHISH, - Species.SPHEAL, + SpeciesId.QWILFISH, + SpeciesId.REMORAID, + SpeciesId.ZIGZAGOON, + SpeciesId.LOTAD, + SpeciesId.WINGULL, + SpeciesId.CARVANHA, + SpeciesId.WAILMER, + SpeciesId.BARBOACH, + SpeciesId.CORPHISH, + SpeciesId.SPHEAL, ], [TrainerPoolTier.UNCOMMON]: [ - Species.TENTACOOL, - Species.HORSEA, - Species.CHINCHOU, - Species.WOOPER, - Species.AZURILL, - Species.SEVIPER, - Species.CLAMPERL, - Species.WIMPOD, - Species.CLOBBOPUS, + SpeciesId.TENTACOOL, + SpeciesId.HORSEA, + SpeciesId.CHINCHOU, + SpeciesId.WOOPER, + SpeciesId.AZURILL, + SpeciesId.SEVIPER, + SpeciesId.CLAMPERL, + SpeciesId.WIMPOD, + SpeciesId.CLOBBOPUS, ], [TrainerPoolTier.RARE]: [ - Species.MANTYKE, - Species.TYMPOLE, - Species.SKRELP, - Species.ARROKUDA, - Species.WIGLETT, - Species.HISUI_QWILFISH, - Species.PALDEA_WOOPER, + SpeciesId.MANTYKE, + SpeciesId.TYMPOLE, + SpeciesId.SKRELP, + SpeciesId.ARROKUDA, + SpeciesId.WIGLETT, + SpeciesId.HISUI_QWILFISH, + SpeciesId.PALDEA_WOOPER, ], - [TrainerPoolTier.SUPER_RARE]: [Species.BASCULEGION, Species.DONDOZO], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.BASCULEGION, SpeciesId.DONDOZO], }), [TrainerType.MATT]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("aqua_admin", "aqua", [Species.SHARPEDO]) + .initForEvilTeamAdmin("aqua_admin", "aqua", [SpeciesId.SHARPEDO]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_aqua_magma_grunt") @@ -2066,7 +2108,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.SHELLY]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("aqua_admin_female", "aqua", [Species.SHARPEDO]) + .initForEvilTeamAdmin("aqua_admin_female", "aqua", [SpeciesId.SHARPEDO]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_aqua_magma_grunt") @@ -2083,40 +2125,40 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.WURMPLE, - Species.SHINX, - Species.BURMY, - Species.DRIFLOON, - Species.GLAMEOW, - Species.STUNKY, - Species.BRONZOR, - Species.CROAGUNK, - Species.CARNIVINE, + SpeciesId.WURMPLE, + SpeciesId.SHINX, + SpeciesId.BURMY, + SpeciesId.DRIFLOON, + SpeciesId.GLAMEOW, + SpeciesId.STUNKY, + SpeciesId.BRONZOR, + SpeciesId.CROAGUNK, + SpeciesId.CARNIVINE, ], [TrainerPoolTier.UNCOMMON]: [ - Species.ZUBAT, - Species.LICKITUNG, - Species.RHYHORN, - Species.TANGELA, - Species.YANMA, - Species.GLIGAR, - Species.SWINUB, - Species.SKORUPI, + SpeciesId.ZUBAT, + SpeciesId.LICKITUNG, + SpeciesId.RHYHORN, + SpeciesId.TANGELA, + SpeciesId.YANMA, + SpeciesId.GLIGAR, + SpeciesId.SWINUB, + SpeciesId.SKORUPI, ], [TrainerPoolTier.RARE]: [ - Species.SNEASEL, - Species.TEDDIURSA, - Species.ELEKID, - Species.MAGBY, - Species.DUSKULL, - Species.HISUI_GROWLITHE, - Species.HISUI_QWILFISH, + SpeciesId.SNEASEL, + SpeciesId.TEDDIURSA, + SpeciesId.ELEKID, + SpeciesId.MAGBY, + SpeciesId.DUSKULL, + SpeciesId.HISUI_GROWLITHE, + SpeciesId.HISUI_QWILFISH, ], - [TrainerPoolTier.SUPER_RARE]: [Species.SPIRITOMB, Species.ROTOM, Species.HISUI_SNEASEL], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.SPIRITOMB, SpeciesId.ROTOM, SpeciesId.HISUI_SNEASEL], }), [TrainerType.JUPITER]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.SKUNTANK]) + .initForEvilTeamAdmin("galactic_commander_female", "galactic", [SpeciesId.SKUNTANK]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_galactic_admin") @@ -2124,7 +2166,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.MARS]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("galactic_commander_female", "galactic", [Species.PURUGLY]) + .initForEvilTeamAdmin("galactic_commander_female", "galactic", [SpeciesId.PURUGLY]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_galactic_admin") @@ -2132,7 +2174,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.SATURN]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("galactic_commander", "galactic", [Species.TOXICROAK]) + .initForEvilTeamAdmin("galactic_commander", "galactic", [SpeciesId.TOXICROAK]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_galactic_admin") @@ -2149,42 +2191,42 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.PATRAT, - Species.LILLIPUP, - Species.PURRLOIN, - Species.WOOBAT, - Species.TYMPOLE, - Species.SANDILE, - Species.SCRAGGY, - Species.TRUBBISH, - Species.VANILLITE, + SpeciesId.PATRAT, + SpeciesId.LILLIPUP, + SpeciesId.PURRLOIN, + SpeciesId.WOOBAT, + SpeciesId.TYMPOLE, + SpeciesId.SANDILE, + SpeciesId.SCRAGGY, + SpeciesId.TRUBBISH, + SpeciesId.VANILLITE, ], [TrainerPoolTier.UNCOMMON]: [ - Species.TIMBURR, - Species.VENIPEDE, - Species.DARUMAKA, - Species.FOONGUS, - Species.FRILLISH, - Species.JOLTIK, - Species.KLINK, - Species.CUBCHOO, - Species.GOLETT, + SpeciesId.TIMBURR, + SpeciesId.VENIPEDE, + SpeciesId.DARUMAKA, + SpeciesId.FOONGUS, + SpeciesId.FRILLISH, + SpeciesId.JOLTIK, + SpeciesId.KLINK, + SpeciesId.CUBCHOO, + SpeciesId.GOLETT, ], [TrainerPoolTier.RARE]: [ - Species.DRILBUR, - Species.ZORUA, - Species.MIENFOO, - Species.PAWNIARD, - Species.BOUFFALANT, - Species.RUFFLET, - Species.VULLABY, - Species.DURANT, + SpeciesId.DRILBUR, + SpeciesId.ZORUA, + SpeciesId.MIENFOO, + SpeciesId.PAWNIARD, + SpeciesId.BOUFFALANT, + SpeciesId.RUFFLET, + SpeciesId.VULLABY, + SpeciesId.DURANT, ], - [TrainerPoolTier.SUPER_RARE]: [Species.AXEW, Species.DRUDDIGON, Species.DEINO, Species.HISUI_ZORUA], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.AXEW, SpeciesId.DRUDDIGON, SpeciesId.DEINO, SpeciesId.HISUI_ZORUA], }), [TrainerType.ZINZOLIN]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("plasma_sage", "plasma_zinzolin", [Species.CRYOGONAL]) + .initForEvilTeamAdmin("plasma_sage", "plasma_zinzolin", [SpeciesId.CRYOGONAL]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_plasma_grunt") @@ -2192,7 +2234,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.COLRESS]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("plasma_boss", "plasma_colress", [Species.KLINKLANG]) + .initForEvilTeamAdmin("plasma_boss", "plasma_colress", [SpeciesId.KLINKLANG]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_colress") .setMixedBattleBgm("battle_colress") @@ -2209,36 +2251,36 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.HOUNDOUR, - Species.GULPIN, - Species.SKORUPI, - Species.CROAGUNK, - Species.PURRLOIN, - Species.SCRAGGY, - Species.FLETCHLING, - Species.SCATTERBUG, - Species.LITLEO, - Species.ESPURR, - Species.INKAY, + SpeciesId.HOUNDOUR, + SpeciesId.GULPIN, + SpeciesId.SKORUPI, + SpeciesId.CROAGUNK, + SpeciesId.PURRLOIN, + SpeciesId.SCRAGGY, + SpeciesId.FLETCHLING, + SpeciesId.SCATTERBUG, + SpeciesId.LITLEO, + SpeciesId.ESPURR, + SpeciesId.INKAY, ], [TrainerPoolTier.UNCOMMON]: [ - Species.POOCHYENA, - Species.ELECTRIKE, - Species.FOONGUS, - Species.PANCHAM, - Species.BINACLE, - Species.SKRELP, - Species.CLAUNCHER, - Species.HELIOPTILE, - Species.PHANTUMP, - Species.PUMPKABOO, + SpeciesId.POOCHYENA, + SpeciesId.ELECTRIKE, + SpeciesId.FOONGUS, + SpeciesId.PANCHAM, + SpeciesId.BINACLE, + SpeciesId.SKRELP, + SpeciesId.CLAUNCHER, + SpeciesId.HELIOPTILE, + SpeciesId.PHANTUMP, + SpeciesId.PUMPKABOO, ], - [TrainerPoolTier.RARE]: [Species.SNEASEL, Species.LITWICK, Species.PAWNIARD, Species.NOIBAT], - [TrainerPoolTier.SUPER_RARE]: [Species.SLIGGOO, Species.HISUI_SLIGGOO, Species.HISUI_AVALUGG], + [TrainerPoolTier.RARE]: [SpeciesId.SNEASEL, SpeciesId.LITWICK, SpeciesId.PAWNIARD, SpeciesId.NOIBAT], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.SLIGGOO, SpeciesId.HISUI_SLIGGOO, SpeciesId.HISUI_AVALUGG], }), [TrainerType.BRYONY]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("flare_admin_female", "flare", [Species.LIEPARD]) + .initForEvilTeamAdmin("flare_admin_female", "flare", [SpeciesId.LIEPARD]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_flare_grunt") @@ -2246,7 +2288,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()), [TrainerType.XEROSIC]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("flare_admin", "flare", [Species.MALAMAR]) + .initForEvilTeamAdmin("flare_admin", "flare", [SpeciesId.MALAMAR]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_flare_grunt") @@ -2263,49 +2305,49 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.CORSOLA, - Species.LILLIPUP, - Species.PIKIPEK, - Species.YUNGOOS, - Species.ROCKRUFF, - Species.MORELULL, - Species.BOUNSWEET, - Species.COMFEY, - Species.KOMALA, - Species.TOGEDEMARU, - Species.ALOLA_RAICHU, - Species.ALOLA_DIGLETT, - Species.ALOLA_GEODUDE, - Species.ALOLA_EXEGGUTOR, + SpeciesId.CORSOLA, + SpeciesId.LILLIPUP, + SpeciesId.PIKIPEK, + SpeciesId.YUNGOOS, + SpeciesId.ROCKRUFF, + SpeciesId.MORELULL, + SpeciesId.BOUNSWEET, + SpeciesId.COMFEY, + SpeciesId.KOMALA, + SpeciesId.TOGEDEMARU, + SpeciesId.ALOLA_RAICHU, + SpeciesId.ALOLA_DIGLETT, + SpeciesId.ALOLA_GEODUDE, + SpeciesId.ALOLA_EXEGGUTOR, ], [TrainerPoolTier.UNCOMMON]: [ - Species.POLIWAG, - Species.CRABRAWLER, - Species.ORICORIO, - Species.CUTIEFLY, - Species.WISHIWASHI, - Species.MUDBRAY, - Species.STUFFUL, - Species.ORANGURU, - Species.PASSIMIAN, - Species.PYUKUMUKU, - Species.BRUXISH, - Species.ALOLA_SANDSHREW, - Species.ALOLA_VULPIX, - Species.ALOLA_MAROWAK, + SpeciesId.POLIWAG, + SpeciesId.CRABRAWLER, + SpeciesId.ORICORIO, + SpeciesId.CUTIEFLY, + SpeciesId.WISHIWASHI, + SpeciesId.MUDBRAY, + SpeciesId.STUFFUL, + SpeciesId.ORANGURU, + SpeciesId.PASSIMIAN, + SpeciesId.PYUKUMUKU, + SpeciesId.BRUXISH, + SpeciesId.ALOLA_SANDSHREW, + SpeciesId.ALOLA_VULPIX, + SpeciesId.ALOLA_MAROWAK, ], [TrainerPoolTier.RARE]: [ - Species.MINIOR, - Species.TURTONATOR, - Species.MIMIKYU, - Species.DRAMPA, - Species.GALAR_CORSOLA, + SpeciesId.MINIOR, + SpeciesId.TURTONATOR, + SpeciesId.MIMIKYU, + SpeciesId.DRAMPA, + SpeciesId.GALAR_CORSOLA, ], - [TrainerPoolTier.SUPER_RARE]: [Species.PORYGON, Species.JANGMO_O], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.PORYGON, SpeciesId.JANGMO_O], }), [TrainerType.FABA]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("aether_admin", "aether", [Species.HYPNO]) + .initForEvilTeamAdmin("aether_admin", "aether", [SpeciesId.HYPNO]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_aether_grunt") @@ -2322,44 +2364,44 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.EKANS, - Species.VENONAT, - Species.DROWZEE, - Species.KOFFING, - Species.SPINARAK, - Species.SCRAGGY, - Species.TRUBBISH, - Species.MAREANIE, - Species.SALANDIT, - Species.ALOLA_RATTATA, - Species.ALOLA_MEOWTH, - Species.ALOLA_GRIMER, + SpeciesId.EKANS, + SpeciesId.VENONAT, + SpeciesId.DROWZEE, + SpeciesId.KOFFING, + SpeciesId.SPINARAK, + SpeciesId.SCRAGGY, + SpeciesId.TRUBBISH, + SpeciesId.MAREANIE, + SpeciesId.SALANDIT, + SpeciesId.ALOLA_RATTATA, + SpeciesId.ALOLA_MEOWTH, + SpeciesId.ALOLA_GRIMER, ], [TrainerPoolTier.UNCOMMON]: [ - Species.ZUBAT, - Species.GASTLY, - Species.HOUNDOUR, - Species.SABLEYE, - Species.VENIPEDE, - Species.SANDILE, - Species.VULLABY, - Species.PANCHAM, - Species.FOMANTIS, - Species.ALOLA_MAROWAK, + SpeciesId.ZUBAT, + SpeciesId.GASTLY, + SpeciesId.HOUNDOUR, + SpeciesId.SABLEYE, + SpeciesId.VENIPEDE, + SpeciesId.SANDILE, + SpeciesId.VULLABY, + SpeciesId.PANCHAM, + SpeciesId.FOMANTIS, + SpeciesId.ALOLA_MAROWAK, ], [TrainerPoolTier.RARE]: [ - Species.PAWNIARD, - Species.WISHIWASHI, - Species.SANDYGAST, - Species.MIMIKYU, - Species.DHELMISE, - Species.NYMBLE, + SpeciesId.PAWNIARD, + SpeciesId.WISHIWASHI, + SpeciesId.SANDYGAST, + SpeciesId.MIMIKYU, + SpeciesId.DHELMISE, + SpeciesId.NYMBLE, ], - [TrainerPoolTier.SUPER_RARE]: [Species.GRUBBIN, Species.DEWPIDER], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.GRUBBIN, SpeciesId.DEWPIDER], }), [TrainerType.PLUMERIA]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("skull_admin", "skull", [Species.SALAZZLE]) + .initForEvilTeamAdmin("skull_admin", "skull", [SpeciesId.SALAZZLE]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_skull_admin") @@ -2376,43 +2418,43 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.STEELIX, - Species.MAWILE, - Species.FERROSEED, - Species.KLINK, - Species.SKWOVET, - Species.ROOKIDEE, - Species.ROLYCOLY, - Species.CUFANT, - Species.GALAR_MEOWTH, - Species.GALAR_ZIGZAGOON, + SpeciesId.STEELIX, + SpeciesId.MAWILE, + SpeciesId.FERROSEED, + SpeciesId.KLINK, + SpeciesId.SKWOVET, + SpeciesId.ROOKIDEE, + SpeciesId.ROLYCOLY, + SpeciesId.CUFANT, + SpeciesId.GALAR_MEOWTH, + SpeciesId.GALAR_ZIGZAGOON, ], [TrainerPoolTier.UNCOMMON]: [ - Species.MAGNEMITE, - Species.RIOLU, - Species.DRILBUR, - Species.APPLIN, - Species.CRAMORANT, - Species.ARROKUDA, - Species.SINISTEA, - Species.HATENNA, - Species.FALINKS, - Species.GALAR_PONYTA, - Species.GALAR_YAMASK, + SpeciesId.MAGNEMITE, + SpeciesId.RIOLU, + SpeciesId.DRILBUR, + SpeciesId.APPLIN, + SpeciesId.CRAMORANT, + SpeciesId.ARROKUDA, + SpeciesId.SINISTEA, + SpeciesId.HATENNA, + SpeciesId.FALINKS, + SpeciesId.GALAR_PONYTA, + SpeciesId.GALAR_YAMASK, ], [TrainerPoolTier.RARE]: [ - Species.SCIZOR, - Species.BELDUM, - Species.HONEDGE, - Species.GALAR_FARFETCHD, - Species.GALAR_MR_MIME, - Species.GALAR_DARUMAKA, + SpeciesId.SCIZOR, + SpeciesId.BELDUM, + SpeciesId.HONEDGE, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.GALAR_MR_MIME, + SpeciesId.GALAR_DARUMAKA, ], - [TrainerPoolTier.SUPER_RARE]: [Species.DURALUDON, Species.DREEPY], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.DURALUDON, SpeciesId.DREEPY], }), [TrainerType.OLEANA]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("macro_admin", "macro_cosmos", [Species.GARBODOR]) + .initForEvilTeamAdmin("macro_admin", "macro_cosmos", [SpeciesId.GARBODOR]) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_oleana") @@ -2429,57 +2471,57 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ - Species.DUNSPARCE, - Species.HOUNDOUR, - Species.AZURILL, - Species.GULPIN, - Species.FOONGUS, - Species.FLETCHLING, - Species.LITLEO, - Species.FLABEBE, - Species.CRABRAWLER, - Species.NYMBLE, - Species.PAWMI, - Species.FIDOUGH, - Species.SQUAWKABILLY, - Species.MASCHIFF, - Species.SHROODLE, - Species.KLAWF, - Species.WIGLETT, - Species.PALDEA_WOOPER, + SpeciesId.DUNSPARCE, + SpeciesId.HOUNDOUR, + SpeciesId.AZURILL, + SpeciesId.GULPIN, + SpeciesId.FOONGUS, + SpeciesId.FLETCHLING, + SpeciesId.LITLEO, + SpeciesId.FLABEBE, + SpeciesId.CRABRAWLER, + SpeciesId.NYMBLE, + SpeciesId.PAWMI, + SpeciesId.FIDOUGH, + SpeciesId.SQUAWKABILLY, + SpeciesId.MASCHIFF, + SpeciesId.SHROODLE, + SpeciesId.KLAWF, + SpeciesId.WIGLETT, + SpeciesId.PALDEA_WOOPER, ], [TrainerPoolTier.UNCOMMON]: [ - Species.KOFFING, - Species.EEVEE, - Species.GIRAFARIG, - Species.RALTS, - Species.TORKOAL, - Species.SEVIPER, - Species.SCRAGGY, - Species.ZORUA, - Species.MIMIKYU, - Species.IMPIDIMP, - Species.FALINKS, - Species.CAPSAKID, - Species.TINKATINK, - Species.BOMBIRDIER, - Species.CYCLIZAR, - Species.FLAMIGO, - Species.PALDEA_TAUROS, + SpeciesId.KOFFING, + SpeciesId.EEVEE, + SpeciesId.GIRAFARIG, + SpeciesId.RALTS, + SpeciesId.TORKOAL, + SpeciesId.SEVIPER, + SpeciesId.SCRAGGY, + SpeciesId.ZORUA, + SpeciesId.MIMIKYU, + SpeciesId.IMPIDIMP, + SpeciesId.FALINKS, + SpeciesId.CAPSAKID, + SpeciesId.TINKATINK, + SpeciesId.BOMBIRDIER, + SpeciesId.CYCLIZAR, + SpeciesId.FLAMIGO, + SpeciesId.PALDEA_TAUROS, ], [TrainerPoolTier.RARE]: [ - Species.MANKEY, - Species.PAWNIARD, - Species.CHARCADET, - Species.FLITTLE, - Species.VAROOM, - Species.ORTHWORM, + SpeciesId.MANKEY, + SpeciesId.PAWNIARD, + SpeciesId.CHARCADET, + SpeciesId.FLITTLE, + SpeciesId.VAROOM, + SpeciesId.ORTHWORM, ], - [TrainerPoolTier.SUPER_RARE]: [Species.DONDOZO, Species.GIMMIGHOUL], + [TrainerPoolTier.SUPER_RARE]: [SpeciesId.DONDOZO, SpeciesId.GIMMIGHOUL], }), [TrainerType.GIACOMO]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("star_admin", "star_dark", [Species.KINGAMBIT], PokemonType.DARK) + .initForEvilTeamAdmin("star_admin", "star_dark", [SpeciesId.KINGAMBIT], PokemonType.DARK) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_star_admin") @@ -2487,19 +2529,19 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.REVAVROOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Segin Starmobile p.moveset = [ - new PokemonMove(Moves.WICKED_TORQUE), - new PokemonMove(Moves.SPIN_OUT), - new PokemonMove(Moves.SHIFT_GEAR), - new PokemonMove(Moves.HIGH_HORSEPOWER), + new PokemonMove(MoveId.WICKED_TORQUE), + new PokemonMove(MoveId.SPIN_OUT), + new PokemonMove(MoveId.SHIFT_GEAR), + new PokemonMove(MoveId.HIGH_HORSEPOWER), ]; }), ), [TrainerType.MELA]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("star_admin", "star_fire", [Species.ARMAROUGE], PokemonType.FIRE) + .initForEvilTeamAdmin("star_admin", "star_fire", [SpeciesId.ARMAROUGE], PokemonType.FIRE) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_star_admin") @@ -2507,19 +2549,19 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.REVAVROOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => { p.formIndex = 2; // Schedar Starmobile p.moveset = [ - new PokemonMove(Moves.BLAZING_TORQUE), - new PokemonMove(Moves.SPIN_OUT), - new PokemonMove(Moves.SHIFT_GEAR), - new PokemonMove(Moves.HIGH_HORSEPOWER), + new PokemonMove(MoveId.BLAZING_TORQUE), + new PokemonMove(MoveId.SPIN_OUT), + new PokemonMove(MoveId.SHIFT_GEAR), + new PokemonMove(MoveId.HIGH_HORSEPOWER), ]; }), ), [TrainerType.ATTICUS]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("star_admin", "star_poison", [Species.REVAVROOM], PokemonType.POISON) + .initForEvilTeamAdmin("star_admin", "star_poison", [SpeciesId.REVAVROOM], PokemonType.POISON) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_star_admin") @@ -2527,19 +2569,19 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.REVAVROOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => { p.formIndex = 3; // Navi Starmobile p.moveset = [ - new PokemonMove(Moves.NOXIOUS_TORQUE), - new PokemonMove(Moves.SPIN_OUT), - new PokemonMove(Moves.SHIFT_GEAR), - new PokemonMove(Moves.HIGH_HORSEPOWER), + new PokemonMove(MoveId.NOXIOUS_TORQUE), + new PokemonMove(MoveId.SPIN_OUT), + new PokemonMove(MoveId.SHIFT_GEAR), + new PokemonMove(MoveId.HIGH_HORSEPOWER), ]; }), ), [TrainerType.ORTEGA]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("star_admin", "star_fairy", [Species.DACHSBUN], PokemonType.FAIRY) + .initForEvilTeamAdmin("star_admin", "star_fairy", [SpeciesId.DACHSBUN], PokemonType.FAIRY) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_star_admin") @@ -2547,19 +2589,19 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.REVAVROOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => { p.formIndex = 4; // Ruchbah Starmobile p.moveset = [ - new PokemonMove(Moves.MAGICAL_TORQUE), - new PokemonMove(Moves.SPIN_OUT), - new PokemonMove(Moves.SHIFT_GEAR), - new PokemonMove(Moves.HIGH_HORSEPOWER), + new PokemonMove(MoveId.MAGICAL_TORQUE), + new PokemonMove(MoveId.SPIN_OUT), + new PokemonMove(MoveId.SHIFT_GEAR), + new PokemonMove(MoveId.HIGH_HORSEPOWER), ]; }), ), [TrainerType.ERI]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) - .initForEvilTeamAdmin("star_admin", "star_fighting", [Species.ANNIHILAPE], PokemonType.FIGHTING) + .initForEvilTeamAdmin("star_admin", "star_fighting", [SpeciesId.ANNIHILAPE], PokemonType.FIGHTING) .setEncounterBgm(TrainerType.PLASMA_GRUNT) .setBattleBgm("battle_plasma_grunt") .setMixedBattleBgm("battle_star_admin") @@ -2567,13 +2609,13 @@ export const trainerConfigs: TrainerConfigs = { .setPartyTemplateFunc(() => getEvilGruntPartyTemplate()) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.REVAVROOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => { p.formIndex = 5; // Caph Starmobile p.moveset = [ - new PokemonMove(Moves.COMBAT_TORQUE), - new PokemonMove(Moves.SPIN_OUT), - new PokemonMove(Moves.SHIFT_GEAR), - new PokemonMove(Moves.HIGH_HORSEPOWER), + new PokemonMove(MoveId.COMBAT_TORQUE), + new PokemonMove(MoveId.SPIN_OUT), + new PokemonMove(MoveId.SHIFT_GEAR), + new PokemonMove(MoveId.HIGH_HORSEPOWER), ]; }), ), @@ -2858,27 +2900,27 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_kanto_gym") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.DEWGONG], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DEWGONG], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 0; // Thick Fat p.generateAndPopulateMoveset(); }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SLOWBRO, Species.GALAR_SLOWBRO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SLOWBRO, SpeciesId.GALAR_SLOWBRO], TrainerSlot.TRAINER, true, p => { // Tera Ice Slowbro/G-Slowbro p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.ICE_BEAM)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.ICE_BEAM)) { // Check if Ice Beam is in the moveset, if not, replace the third move with Ice Beam. - p.moveset[2] = new PokemonMove(Moves.ICE_BEAM); + p.moveset[2] = new PokemonMove(MoveId.ICE_BEAM); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.JYNX])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CLOYSTER, Species.ALOLA_SANDSLASH])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.JYNX])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CLOYSTER, SpeciesId.ALOLA_SANDSLASH])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LAPRAS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -2887,23 +2929,23 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["BRUNO"], true, PokemonType.FIGHTING, 2) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HITMONLEE, Species.HITMONCHAN, Species.HITMONTOP])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.HITMONLEE, SpeciesId.HITMONCHAN, SpeciesId.HITMONTOP])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.STEELIX], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.STEELIX], TrainerSlot.TRAINER, true, p => { // Tera Fighting Steelix p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BODY_PRESS)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.BODY_PRESS)) { // Check if Body Press is in the moveset, if not, replace the third move with Body Press. - p.moveset[2] = new PokemonMove(Moves.BODY_PRESS); + p.moveset[2] = new PokemonMove(MoveId.BODY_PRESS); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.POLIWRATH])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ANNIHILAPE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.POLIWRATH])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.ANNIHILAPE])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.MACHAMP], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MACHAMP], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -2912,23 +2954,23 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["AGATHA"], false, PokemonType.GHOST, 2) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MISMAGIUS])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.MISMAGIUS])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.ARBOK, Species.WEEZING], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ARBOK, SpeciesId.WEEZING], TrainerSlot.TRAINER, true, p => { // Tera Ghost Arbok/Weezing p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_MAROWAK])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CURSOLA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.ALOLA_MAROWAK])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CURSOLA])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GENGAR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -2938,23 +2980,23 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["LANCE"], true, PokemonType.DRAGON, 2) .setBattleBgm("battle_kanto_gym") .setMixedBattleBgm("battle_kanto_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KINGDRA])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.KINGDRA])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.GYARADOS, Species.AERODACTYL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GYARADOS, SpeciesId.AERODACTYL], TrainerSlot.TRAINER, true, p => { // Tera Dragon Gyarados/Aerodactyl p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_EXEGGUTOR])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SALAMENCE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.ALOLA_EXEGGUTOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.SALAMENCE])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.DRAGONITE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DRAGONITE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -2963,13 +3005,13 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["WILL"], true, PokemonType.PSYCHIC, 2) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.JYNX])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SLOWKING, Species.GALAR_SLOWKING])) // Tera Psychic Slowking/G-Slowking - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EXEGGUTOR])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WYRDEER, Species.FARIGIRAF])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.JYNX])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.SLOWKING, SpeciesId.GALAR_SLOWKING])) // Tera Psychic Slowking/G-Slowking + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.EXEGGUTOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.WYRDEER, SpeciesId.FARIGIRAF])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.XATU], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.XATU], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -2980,17 +3022,17 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_johto_gym") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.VENOMOTH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.VENOMOTH], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Tinted Lens p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MUK, Species.WEEZING])) // Tera Poison Muk/Weezing - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TENTACRUEL])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SNEASLER, Species.OVERQWIL])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.MUK, SpeciesId.WEEZING])) // Tera Poison Muk/Weezing + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.TENTACRUEL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.SNEASLER, SpeciesId.OVERQWIL])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CROBAT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CROBAT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -2999,23 +3041,23 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["KAREN"], false, PokemonType.DARK, 2) .setBattleBgm("battle_johto_gym") .setMixedBattleBgm("battle_johto_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.UMBREON])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.UMBREON])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GENGAR], TrainerSlot.TRAINER, true, p => { // Tera Dark Gengar p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DARK_PULSE)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.DARK_PULSE)) { // Check if Dark Pulse is in the moveset, if not, replace the third move with Dark Pulse. - p.moveset[2] = new PokemonMove(Moves.DARK_PULSE); + p.moveset[2] = new PokemonMove(MoveId.DARK_PULSE); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HONCHKROW])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.WEAVILE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.HONCHKROW])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.WEAVILE])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HOUNDOOM], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3025,17 +3067,17 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_hoenn_elite") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.MIGHTYENA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MIGHTYENA], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 0; // Intimidate p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.OBSTAGOON])) // Tera Dark Obstagoon - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SHIFTRY, Species.CACTURNE])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SHARPEDO, Species.CRAWDAUNT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.OBSTAGOON])) // Tera Dark Obstagoon + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SHIFTRY, SpeciesId.CACTURNE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.SHARPEDO, SpeciesId.CRAWDAUNT])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.ABSOL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ABSOL], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3043,19 +3085,19 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.PHOEBE]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["PHOEBE"], false, PokemonType.GHOST, 2) .setMixedBattleBgm("battle_hoenn_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SABLEYE])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BANETTE])) // Tera Ghost Banette - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DRIFBLIM, Species.MISMAGIUS])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.SABLEYE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.BANETTE])) // Tera Ghost Banette + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.DRIFBLIM, SpeciesId.MISMAGIUS])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.ORICORIO, Species.ALOLA_MAROWAK], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ORICORIO, SpeciesId.ALOLA_MAROWAK], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - p.formIndex = p.species.speciesId === Species.ORICORIO ? 3 : 0; // Oricorio-Sensu + p.formIndex = p.species.speciesId === SpeciesId.ORICORIO ? 3 : 0; // Oricorio-Sensu }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.DUSKNOIR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DUSKNOIR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3065,17 +3107,17 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_hoenn_elite") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.ABOMASNOW], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ABOMASNOW], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 0; // Snow Warning p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GLALIE])) // Tera Ice Glalie - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FROSLASS])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ALOLA_NINETALES])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.GLALIE])) // Tera Ice Glalie + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.FROSLASS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.ALOLA_NINETALES])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.WALREIN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.WALREIN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3083,23 +3125,23 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.DRAKE]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["DRAKE"], true, PokemonType.DRAGON, 2) .setMixedBattleBgm("battle_hoenn_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALTARIA])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.ALTARIA])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.DHELMISE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DHELMISE], TrainerSlot.TRAINER, true, p => { // Tera Dragon Dhelmise p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FLYGON])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.KINGDRA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.FLYGON])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.KINGDRA])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.SALAMENCE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SALAMENCE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3108,20 +3150,20 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["AARON"], true, PokemonType.BUG, 5) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.YANMEGA])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HERACROSS])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.VESPIQUEN])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SCIZOR, Species.KLEAVOR])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.YANMEGA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.HERACROSS])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.VESPIQUEN])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.SCIZOR, SpeciesId.KLEAVOR])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.DRAPION], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DRAPION], TrainerSlot.TRAINER, true, p => { // Tera Bug Drapion p.setBoss(true, 2); p.abilityIndex = 1; // Sniper p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.X_SCISSOR)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.X_SCISSOR)) { // Check if X-Scissor is in the moveset, if not, replace the third move with X-Scissor. - p.moveset[2] = new PokemonMove(Moves.X_SCISSOR); + p.moveset[2] = new PokemonMove(MoveId.X_SCISSOR); } }), ), @@ -3129,20 +3171,20 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["BERTHA"], false, PokemonType.GROUND, 2) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.WHISCASH])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.WHISCASH])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.HIPPOWDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HIPPOWDON], TrainerSlot.TRAINER, true, p => { // Tera Ground Hippowdon p.abilityIndex = 0; // Sand Stream p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GLISCOR])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAMOSWINE, Species.URSALUNA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GLISCOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.MAMOSWINE, SpeciesId.URSALUNA])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.RHYPERIOR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RHYPERIOR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.abilityIndex = 1; // Solid Rock p.generateAndPopulateMoveset(); @@ -3152,23 +3194,23 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["FLINT"], true, PokemonType.FIRE, 2) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.RAPIDASH])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.RAPIDASH])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.STEELIX, Species.LOPUNNY], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.STEELIX, SpeciesId.LOPUNNY], TrainerSlot.TRAINER, true, p => { // Tera Fire Steelix/Lopunny p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.INFERNAPE])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ARCANINE, Species.HISUI_ARCANINE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.INFERNAPE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.ARCANINE, SpeciesId.HISUI_ARCANINE])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.MAGMORTAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MAGMORTAR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3177,13 +3219,13 @@ export const trainerConfigs: TrainerConfigs = { .initForEliteFour(signatureSpecies["LUCIAN"], true, PokemonType.PSYCHIC, 2) .setBattleBgm("battle_sinnoh_gym") .setMixedBattleBgm("battle_sinnoh_gym") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ESPEON, Species.ALAKAZAM])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.FARIGIRAF])) // Tera Psychic Farigiraf - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRONZONG])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MR_RIME, Species.HISUI_BRAVIARY])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.ESPEON, SpeciesId.ALAKAZAM])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.FARIGIRAF])) // Tera Psychic Farigiraf + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.BRONZONG])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.MR_RIME, SpeciesId.HISUI_BRAVIARY])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GALLADE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.abilityIndex = 1; // Sharpness p.generateAndPopulateMoveset(); @@ -3192,13 +3234,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.SHAUNTAL]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["SHAUNTAL"], false, PokemonType.GHOST, 2) .setMixedBattleBgm("battle_unova_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COFAGRIGUS])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GOLURK])) // Tera Ghost Golurk - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.JELLICENT])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MISMAGIUS, Species.FROSLASS])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.COFAGRIGUS])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.GOLURK])) // Tera Ghost Golurk + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.JELLICENT])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.MISMAGIUS, SpeciesId.FROSLASS])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CHANDELURE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CHANDELURE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3206,13 +3248,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.MARSHAL]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["MARSHAL"], true, PokemonType.FIGHTING, 2) .setMixedBattleBgm("battle_unova_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.THROH, Species.SAWK])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MIENSHAO])) // Tera Fighting Mienshao - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EMBOAR])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BRELOOM, Species.TOXICROAK])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.THROH, SpeciesId.SAWK])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.MIENSHAO])) // Tera Fighting Mienshao + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.EMBOAR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.BRELOOM, SpeciesId.TOXICROAK])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CONKELDURR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CONKELDURR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3220,13 +3262,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.GRIMSLEY]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["GRIMSLEY"], true, PokemonType.DARK, 2) .setMixedBattleBgm("battle_unova_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LIEPARD])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.KROOKODILE])) // Tera Dark Krookodile - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCRAFTY])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ZOROARK, Species.HISUI_SAMUROTT])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.LIEPARD])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.KROOKODILE])) // Tera Dark Krookodile + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SCRAFTY])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.ZOROARK, SpeciesId.HISUI_SAMUROTT])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.KINGAMBIT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KINGAMBIT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3234,19 +3276,19 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.CAITLIN]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["CAITLIN"], false, PokemonType.PSYCHIC, 2) .setMixedBattleBgm("battle_unova_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MUSHARNA])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.REUNICLUS])) // Tera Psychic Reuniclus + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.MUSHARNA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.REUNICLUS])) // Tera Psychic Reuniclus .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GALLADE], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Sharpness p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SIGILYPH, Species.HISUI_BRAVIARY])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.SIGILYPH, SpeciesId.HISUI_BRAVIARY])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GOTHITELLE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GOTHITELLE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3256,23 +3298,23 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_kalos_elite") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.PYROAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PYROAR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HOUNDOOM])) // Tera Fire Houndoom + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.HOUNDOOM])) // Tera Fire Houndoom .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TORKOAL], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Drought p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CHANDELURE, Species.DELPHOX])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CHANDELURE, SpeciesId.DELPHOX])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TALONFLAME], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3280,13 +3322,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.SIEBOLD]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["SIEBOLD"], true, PokemonType.WATER, 2) .setMixedBattleBgm("battle_kalos_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.CLAWITZER])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GYARADOS])) // Tera Water Gyarados - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.STARMIE])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BLASTOISE, Species.DONDOZO])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.CLAWITZER])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.GYARADOS])) // Tera Water Gyarados + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.STARMIE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.BLASTOISE, SpeciesId.DONDOZO])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.BARBARACLE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BARBARACLE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.abilityIndex = 1; // Tough Claws p.generateAndPopulateMoveset(); @@ -3295,23 +3337,23 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.WIKSTROM]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["WIKSTROM"], true, PokemonType.STEEL, 2) .setMixedBattleBgm("battle_kalos_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KLEFKI])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.KLEFKI])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.CERULEDGE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CERULEDGE], TrainerSlot.TRAINER, true, p => { // Tera Steel Ceruledge p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.IRON_HEAD)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.IRON_HEAD)) { // Check if Iron Head is in the moveset, if not, replace the third move with Iron Head. - p.moveset[2] = new PokemonMove(Moves.IRON_HEAD); + p.moveset[2] = new PokemonMove(MoveId.IRON_HEAD); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCIZOR])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CORVIKNIGHT])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SCIZOR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CORVIKNIGHT])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.AEGISLASH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.AEGISLASH], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3319,13 +3361,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.DRASNA]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["DRASNA"], false, PokemonType.DRAGON, 2) .setMixedBattleBgm("battle_kalos_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRAGALGE])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GARCHOMP])) // Tera Dragon Garchomp - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALTARIA])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.DRUDDIGON])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DRAGALGE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.GARCHOMP])) // Tera Dragon Garchomp + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.ALTARIA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.DRUDDIGON])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.NOIVERN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.NOIVERN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3333,23 +3375,23 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.HALA]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["HALA"], true, PokemonType.FIGHTING, 2) .setMixedBattleBgm("battle_alola_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HARIYAMA])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.HARIYAMA])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.INCINEROAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.INCINEROAR], TrainerSlot.TRAINER, true, p => { // Tera Fighting Incineroar p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.CROSS_CHOP)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.CROSS_CHOP)) { // Check if Cross Chop is in the moveset, if not, replace the third move with Cross Chop. - p.moveset[2] = new PokemonMove(Moves.CROSS_CHOP); + p.moveset[2] = new PokemonMove(MoveId.CROSS_CHOP); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BEWEAR])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.POLIWRATH, Species.ANNIHILAPE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.BEWEAR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.POLIWRATH, SpeciesId.ANNIHILAPE])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CRABOMINABLE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CRABOMINABLE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3357,13 +3399,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.MOLAYNE]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["MOLAYNE"], true, PokemonType.STEEL, 2) .setMixedBattleBgm("battle_alola_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.KLEFKI])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.ALOLA_SANDSLASH])) // Tera Steel A-Sandslash - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MAGNEZONE])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.METAGROSS, Species.KINGAMBIT])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.KLEFKI])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.ALOLA_SANDSLASH])) // Tera Steel A-Sandslash + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.MAGNEZONE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.METAGROSS, SpeciesId.KINGAMBIT])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.ALOLA_DUGTRIO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ALOLA_DUGTRIO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3373,17 +3415,17 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_alola_elite") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.GIGALITH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GIGALITH], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Sand Stream p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PROBOPASS])) // Tera Rock Probopass - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ALOLA_GOLEM])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.RELICANTH, Species.CARBINK])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.PROBOPASS])) // Tera Rock Probopass + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.ALOLA_GOLEM])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.RELICANTH, SpeciesId.CARBINK])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LYCANROC], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.formIndex = 1; p.generateAndPopulateMoveset(); @@ -3392,13 +3434,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.ACEROLA]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["ACEROLA"], false, PokemonType.GHOST, 2) .setMixedBattleBgm("battle_alola_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRIFBLIM])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MIMIKYU])) // Tera Ghost Mimikyu - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DHELMISE])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.FROSLASS])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DRIFBLIM])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.MIMIKYU])) // Tera Ghost Mimikyu + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.DHELMISE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.FROSLASS])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.PALOSSAND], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PALOSSAND], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3406,23 +3448,23 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.KAHILI]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["KAHILI"], false, PokemonType.FLYING, 2) .setMixedBattleBgm("battle_alola_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HAWLUCHA])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.HAWLUCHA])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.DECIDUEYE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DECIDUEYE], TrainerSlot.TRAINER, true, p => { // Tera Flying Decidueye p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.BRAVE_BIRD)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.BRAVE_BIRD)) { // Check if Brave Bird is in the moveset, if not, replace the third move with Brave Bird. - p.moveset[2] = new PokemonMove(Moves.BRAVE_BIRD); + p.moveset[2] = new PokemonMove(MoveId.BRAVE_BIRD); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BRAVIARY, Species.MANDIBUZZ])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ORICORIO])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.BRAVIARY, SpeciesId.MANDIBUZZ])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.ORICORIO])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.TOUCANNON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TOUCANNON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3431,23 +3473,23 @@ export const trainerConfigs: TrainerConfigs = { .setName("Marnie") .initForEliteFour(signatureSpecies["MARNIE_ELITE"], false, PokemonType.DARK, 2) .setMixedBattleBgm("battle_galar_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LIEPARD])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.LIEPARD])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.TOXICROAK], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TOXICROAK], TrainerSlot.TRAINER, true, p => { // Tera Dark Toxicroak p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.SUCKER_PUNCH)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.SUCKER_PUNCH)) { // Check if Sucker Punch is in the moveset, if not, replace the third move with Sucker Punch. - p.moveset[2] = new PokemonMove(Moves.SUCKER_PUNCH); + p.moveset[2] = new PokemonMove(MoveId.SUCKER_PUNCH); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SCRAFTY, Species.PANGORO])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MORPEKO])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SCRAFTY, SpeciesId.PANGORO])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.MORPEKO])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GRIMMSNARL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GRIMMSNARL], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3456,29 +3498,29 @@ export const trainerConfigs: TrainerConfigs = { .setName("Nessa") .initForEliteFour(signatureSpecies["NESSA_ELITE"], false, PokemonType.WATER, 2) .setMixedBattleBgm("battle_galar_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GOLISOPOD])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.GOLISOPOD])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.EISCUE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.EISCUE], TrainerSlot.TRAINER, true, p => { // Tera Water Eiscue p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.LIQUIDATION)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.LIQUIDATION)) { // Check if Liquidation is in the moveset, if not, replace the third move with Liquidation. - p.moveset[2] = new PokemonMove(Moves.LIQUIDATION); + p.moveset[2] = new PokemonMove(MoveId.LIQUIDATION); } }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PELIPPER], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Drizzle p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TOXAPEX])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.TOXAPEX])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.DREDNAW], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DREDNAW], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3487,13 +3529,13 @@ export const trainerConfigs: TrainerConfigs = { .setName("Bea") .initForEliteFour(signatureSpecies["BEA_ELITE"], false, PokemonType.FIGHTING, 2) .setMixedBattleBgm("battle_galar_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.HAWLUCHA])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.SIRFETCHD])) // Tera Fighting Sirfetch'd - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GRAPPLOCT, Species.FALINKS])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HITMONTOP])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.HAWLUCHA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.SIRFETCHD])) // Tera Fighting Sirfetch'd + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GRAPPLOCT, SpeciesId.FALINKS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.HITMONTOP])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.MACHAMP], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MACHAMP], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3502,13 +3544,13 @@ export const trainerConfigs: TrainerConfigs = { .setName("Allister") .initForEliteFour(signatureSpecies["ALLISTER_ELITE"], true, PokemonType.GHOST, 2) .setMixedBattleBgm("battle_galar_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DUSKNOIR])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.RUNERIGUS])) // Tera Ghost Runerigus - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.POLTEAGEIST, Species.SINISTCHA])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CURSOLA])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DUSKNOIR])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.RUNERIGUS])) // Tera Ghost Runerigus + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.POLTEAGEIST, SpeciesId.SINISTCHA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CURSOLA])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GENGAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GENGAR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3517,24 +3559,24 @@ export const trainerConfigs: TrainerConfigs = { .setName("Raihan") .initForEliteFour(signatureSpecies["RAIHAN_ELITE"], true, PokemonType.DRAGON, 2) .setMixedBattleBgm("battle_galar_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.FLYGON])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.FLYGON])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TORKOAL], TrainerSlot.TRAINER, true, p => { // Tera Dragon Torkoal p.abilityIndex = 1; // Drought p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GOODRA])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.TURTONATOR])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GOODRA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.TURTONATOR])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ARCHALUDON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3542,13 +3584,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.RIKA]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["RIKA"], false, PokemonType.GROUND, 5) .setMixedBattleBgm("battle_paldea_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DUGTRIO])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DONPHAN])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SWAMPERT, Species.TORTERRA])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CAMERUPT])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DUGTRIO])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.DONPHAN])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SWAMPERT, SpeciesId.TORTERRA])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CAMERUPT])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CLODSIRE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CLODSIRE], TrainerSlot.TRAINER, true, p => { // Tera Ground Clodsire p.setBoss(true, 2); p.generateAndPopulateMoveset(); @@ -3557,19 +3599,19 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.POPPY]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["POPPY"], false, PokemonType.STEEL, 5) .setMixedBattleBgm("battle_paldea_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COPPERAJAH])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MAGNEZONE])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.COPPERAJAH])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.MAGNEZONE])) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.BRONZONG, Species.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { - p.abilityIndex = p.species.speciesId === Species.BRONZONG ? 0 : 1; // Levitate Bronzong, Unnerve Corviknight + getRandomPartyMemberFunc([SpeciesId.BRONZONG, SpeciesId.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { + p.abilityIndex = p.species.speciesId === SpeciesId.BRONZONG ? 0 : 1; // Levitate Bronzong, Unnerve Corviknight p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.STEELIX])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.STEELIX])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.TINKATON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TINKATON], TrainerSlot.TRAINER, true, p => { // Tera Steel Tinkaton p.setBoss(true, 2); p.generateAndPopulateMoveset(); @@ -3579,13 +3621,13 @@ export const trainerConfigs: TrainerConfigs = { .setName("Larry") .initForEliteFour(signatureSpecies["LARRY_ELITE"], true, PokemonType.FLYING, 5) .setMixedBattleBgm("battle_paldea_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALTARIA])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.BOMBIRDIER])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.TROPIUS])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.STARAPTOR])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.ALTARIA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.BOMBIRDIER])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.TROPIUS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.STARAPTOR])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.FLAMIGO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.FLAMIGO], TrainerSlot.TRAINER, true, p => { // Tera Flying Flamigo p.setBoss(true, 2); p.generateAndPopulateMoveset(); @@ -3594,13 +3636,13 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.HASSEL]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["HASSEL"], true, PokemonType.DRAGON, 5) .setMixedBattleBgm("battle_paldea_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.NOIVERN])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DRAGALGE])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FLAPPLE, Species.APPLETUN, Species.HYDRAPPLE])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.HAXORUS])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.NOIVERN])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.DRAGALGE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.FLAPPLE, SpeciesId.APPLETUN, SpeciesId.HYDRAPPLE])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.HAXORUS])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.BAXCALIBUR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BAXCALIBUR], TrainerSlot.TRAINER, true, p => { // Tera Dragon Baxcalibur p.setBoss(true, 2); p.generateAndPopulateMoveset(); @@ -3611,36 +3653,36 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_bb_elite") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.ROTOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ROTOM], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Heat Rotom p.generateAndPopulateMoveset(); }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.EXEGGUTOR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.EXEGGUTOR], TrainerSlot.TRAINER, true, p => { // Tera Fire Exeggutor p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.TALONFLAME], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TALONFLAME], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.SUNNY_DAY)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.SUNNY_DAY)) { // Check if Sunny Day is in the moveset, if not, replace the third move with Sunny Day. - p.moveset[2] = new PokemonMove(Moves.SUNNY_DAY); + p.moveset[2] = new PokemonMove(MoveId.SUNNY_DAY); } }), ) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAGMORTAR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.MAGMORTAR])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.BLAZIKEN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BLAZIKEN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3648,23 +3690,23 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.AMARYS]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["AMARYS"], false, PokemonType.STEEL, 2) .setMixedBattleBgm("battle_bb_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.SKARMORY])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.REUNICLUS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REUNICLUS], TrainerSlot.TRAINER, true, p => { // Tera Steel Reuniclus p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.FLASH_CANNON)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.FLASH_CANNON)) { // Check if Flash Cannon is in the moveset, if not, replace the third move with Flash Cannon. - p.moveset[2] = new PokemonMove(Moves.FLASH_CANNON); + p.moveset[2] = new PokemonMove(MoveId.FLASH_CANNON); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.EMPOLEON])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.SCIZOR])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.EMPOLEON])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.SCIZOR])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.METAGROSS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3672,42 +3714,42 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.LACEY]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["LACEY"], false, PokemonType.FAIRY, 5) .setMixedBattleBgm("battle_bb_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.WHIMSICOTT])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.PRIMARINA])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GRANBULL])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.ALCREMIE])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.WHIMSICOTT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.PRIMARINA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GRANBULL])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.ALCREMIE])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.EXCADRILL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.EXCADRILL], TrainerSlot.TRAINER, true, p => { // Tera Fairy Excadrill p.setBoss(true, 2); p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } }), ), [TrainerType.DRAYTON]: new TrainerConfig(++t) .initForEliteFour(signatureSpecies["DRAYTON"], true, PokemonType.DRAGON, 2) .setMixedBattleBgm("battle_bb_elite") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRAGONITE])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DRAGONITE])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SCEPTILE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SCEPTILE], TrainerSlot.TRAINER, true, p => { // Tera Dragon Sceptile p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.DUAL_CHOP)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.DUAL_CHOP)) { // Check if Dual Chop is in the moveset, if not, replace the third move with Dual Chop. - p.moveset[2] = new PokemonMove(Moves.DUAL_CHOP); + p.moveset[2] = new PokemonMove(MoveId.DUAL_CHOP); } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HAXORUS])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.KINGDRA, Species.DRACOVISH])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.HAXORUS])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.KINGDRA, SpeciesId.DRACOVISH])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ARCHALUDON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), @@ -3720,20 +3762,20 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("blue_red_double") .setDoubleTrainerType(TrainerType.RED) .setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALAKAZAM])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MACHAMP])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.ALAKAZAM])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.MACHAMP])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.HO_OH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HO_OH], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.RHYPERIOR, Species.ELECTIVIRE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.RHYPERIOR, SpeciesId.ELECTIVIRE])) .setPartyMemberFunc( 4, getRandomPartyMemberFunc( - [Species.ARCANINE, Species.EXEGGUTOR, Species.GYARADOS], + [SpeciesId.ARCANINE, SpeciesId.EXEGGUTOR, SpeciesId.GYARADOS], TrainerSlot.TRAINER, true, p => { @@ -3744,7 +3786,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.PIDGEOT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PIDGEOT], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Pidgeot p.generateAndPopulateMoveset(); p.generateName(); @@ -3761,25 +3803,25 @@ export const trainerConfigs: TrainerConfigs = { .setDoubleTitle("champion_double") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.PIKACHU], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PIKACHU], TrainerSlot.TRAINER, true, p => { p.formIndex = 8; // G-Max Pikachu p.generateAndPopulateMoveset(); p.generateName(); p.gender = Gender.MALE; }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ESPEON, Species.UMBREON, Species.SYLVEON])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ESPEON, SpeciesId.UMBREON, SpeciesId.SYLVEON])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.LUGIA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LUGIA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.MEGANIUM, SpeciesId.TYPHLOSION, SpeciesId.FERALIGATR])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.SNORLAX], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SNORLAX], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), @@ -3787,7 +3829,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc( - [Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE], + [SpeciesId.VENUSAUR, SpeciesId.CHARIZARD, SpeciesId.BLASTOISE], TrainerSlot.TRAINER, true, p => { @@ -3804,28 +3846,33 @@ export const trainerConfigs: TrainerConfigs = { .initForChampion(true) .setBattleBgm("battle_johto_champion") .setMixedBattleBgm("battle_johto_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GYARADOS, Species.KINGDRA])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.AERODACTYL])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.GYARADOS, SpeciesId.KINGDRA])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.AERODACTYL])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SALAMENCE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SALAMENCE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Salamence p.generateAndPopulateMoveset(); p.generateName(); }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.CHARIZARD])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.CHARIZARD])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.TYRANITAR, Species.GARCHOMP, Species.KOMMO_O], TrainerSlot.TRAINER, true, p => { - p.teraType = PokemonType.DRAGON; - p.generateAndPopulateMoveset(); - p.abilityIndex = p.species.speciesId === Species.KOMMO_O ? 1 : 2; // Soundproof Kommo-o, Unnerve Tyranitar, Rough Skin Garchomp - }), + getRandomPartyMemberFunc( + [SpeciesId.TYRANITAR, SpeciesId.GARCHOMP, SpeciesId.KOMMO_O], + TrainerSlot.TRAINER, + true, + p => { + p.teraType = PokemonType.DRAGON; + p.generateAndPopulateMoveset(); + p.abilityIndex = p.species.speciesId === SpeciesId.KOMMO_O ? 1 : 2; // Soundproof Kommo-o, Unnerve Tyranitar, Rough Skin Garchomp + }, + ), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.DRAGONITE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DRAGONITE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); @@ -3839,26 +3886,31 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("steven_wallace_double") .setDoubleTrainerType(TrainerType.WALLACE) .setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.CRADILY, Species.ARMALDO])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.SKARMORY])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.CRADILY, SpeciesId.ARMALDO])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.AGGRON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.AGGRON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GOLURK, Species.RUNERIGUS])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GOLURK, SpeciesId.RUNERIGUS])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.REGIROCK, Species.REGICE, Species.REGISTEEL], TrainerSlot.TRAINER, true, p => { - p.generateAndPopulateMoveset(); - p.pokeball = PokeballType.ULTRA_BALL; - }), + getRandomPartyMemberFunc( + [SpeciesId.REGIROCK, SpeciesId.REGICE, SpeciesId.REGISTEEL], + TrainerSlot.TRAINER, + true, + p => { + p.generateAndPopulateMoveset(); + p.pokeball = PokeballType.ULTRA_BALL; + }, + ), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.METAGROSS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.METAGROSS], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Metagross p.generateAndPopulateMoveset(); p.generateName(); @@ -3874,32 +3926,32 @@ export const trainerConfigs: TrainerConfigs = { .setDoubleTitle("champion_double") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PELIPPER], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Drizzle p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LUDICOLO])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.LUDICOLO])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.LATIAS, Species.LATIOS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LATIAS, SpeciesId.LATIOS], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Latios or Mega Latias p.generateAndPopulateMoveset(); p.generateName(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.SWAMPERT, Species.GASTRODON, Species.SEISMITOAD])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.SWAMPERT, SpeciesId.GASTRODON, SpeciesId.SEISMITOAD])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.REGIELEKI, Species.REGIDRAGO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REGIELEKI, SpeciesId.REGIDRAGO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.MILOTIC], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MILOTIC], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; p.setBoss(true, 2); @@ -3910,11 +3962,11 @@ export const trainerConfigs: TrainerConfigs = { .initForChampion(false) .setBattleBgm("battle_sinnoh_champion") .setMixedBattleBgm("battle_sinnoh_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SPIRITOMB])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LUCARIO])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.SPIRITOMB])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.LUCARIO])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.GIRATINA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GIRATINA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), @@ -3922,7 +3974,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 3, getRandomPartyMemberFunc( - [Species.MILOTIC, Species.ROSERADE, Species.HISUI_ARCANINE], + [SpeciesId.MILOTIC, SpeciesId.ROSERADE, SpeciesId.HISUI_ARCANINE], TrainerSlot.TRAINER, true, p => { @@ -3933,14 +3985,14 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.TOGEKISS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TOGEKISS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GARCHOMP], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GARCHOMP], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Garchomp p.generateAndPopulateMoveset(); p.generateName(); @@ -3955,11 +4007,11 @@ export const trainerConfigs: TrainerConfigs = { .setDoubleTitle("champion_double") .setBattleBgm("battle_champion_alder") .setMixedBattleBgm("battle_champion_alder") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BOUFFALANT, Species.BRAVIARY])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.BOUFFALANT, SpeciesId.BRAVIARY])) .setPartyMemberFunc( 1, getRandomPartyMemberFunc( - [Species.HISUI_LILLIGANT, Species.HISUI_ZOROARK, Species.BASCULEGION], + [SpeciesId.HISUI_LILLIGANT, SpeciesId.HISUI_ZOROARK, SpeciesId.BASCULEGION], TrainerSlot.TRAINER, true, p => { @@ -3970,14 +4022,14 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.ZEKROM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ZEKROM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.KELDEO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KELDEO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), @@ -3985,18 +4037,18 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 4, getRandomPartyMemberFunc( - [Species.CHANDELURE, Species.KROOKODILE, Species.REUNICLUS, Species.CONKELDURR], + [SpeciesId.CHANDELURE, SpeciesId.KROOKODILE, SpeciesId.REUNICLUS, SpeciesId.CONKELDURR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - p.teraType = p.species.speciesId === Species.KROOKODILE ? PokemonType.DARK : p.species.type1; + p.teraType = p.species.speciesId === SpeciesId.KROOKODILE ? PokemonType.DARK : p.species.type1; }, ), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.VOLCARONA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.VOLCARONA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); @@ -4010,11 +4062,11 @@ export const trainerConfigs: TrainerConfigs = { .setHasDouble("iris_alder_double") .setDoubleTrainerType(TrainerType.ALDER) .setDoubleTitle("champion_double") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRUDDIGON])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ARCHEOPS])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.DRUDDIGON])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ARCHEOPS])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.RESHIRAM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RESHIRAM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), @@ -4022,7 +4074,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 3, getRandomPartyMemberFunc( - [Species.SALAMENCE, Species.HYDREIGON, Species.ARCHALUDON], + [SpeciesId.SALAMENCE, SpeciesId.HYDREIGON, SpeciesId.ARCHALUDON], TrainerSlot.TRAINER, true, p => { @@ -4033,7 +4085,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.LAPRAS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LAPRAS], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // G-Max Lapras p.generateAndPopulateMoveset(); p.generateName(); @@ -4041,7 +4093,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.HAXORUS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HAXORUS], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 1; // Mold Breaker p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; @@ -4054,21 +4106,21 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_kalos_champion") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.HAWLUCHA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HAWLUCHA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.TREVENANT, Species.GOURGEIST])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.TREVENANT, SpeciesId.GOURGEIST])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.XERNEAS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.XERNEAS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.TYRANTRUM, Species.AURORUS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TYRANTRUM, SpeciesId.AURORUS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 2; // Rock Head Tyrantrum, Snow Warning Aurorus p.teraType = p.species.type2!; @@ -4076,14 +4128,14 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.GOODRA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GOODRA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GARDEVOIR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GARDEVOIR], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Mega Gardevoir p.generateAndPopulateMoveset(); p.generateName(); @@ -4096,16 +4148,16 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_champion_kukui") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LYCANROC], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 2; // Dusk Lycanroc }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MAGNEZONE, Species.ALOLA_NINETALES])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.MAGNEZONE, SpeciesId.ALOLA_NINETALES])) .setPartyMemberFunc( 2, getRandomPartyMemberFunc( - [Species.TORNADUS, Species.THUNDURUS, Species.LANDORUS], + [SpeciesId.TORNADUS, SpeciesId.THUNDURUS, SpeciesId.LANDORUS], TrainerSlot.TRAINER, true, p => { @@ -4117,7 +4169,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.TAPU_KOKO, Species.TAPU_FINI], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TAPU_KOKO, SpeciesId.TAPU_FINI], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); p.pokeball = PokeballType.ULTRA_BALL; @@ -4125,14 +4177,14 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.SNORLAX], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SNORLAX], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 1; // G-Max Snorlax }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.INCINEROAR, Species.HISUI_DECIDUEYE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.INCINEROAR, SpeciesId.HISUI_DECIDUEYE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.teraType = p.species.type2!; @@ -4142,18 +4194,18 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.HAU]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_alola_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALOLA_RAICHU])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.NOIVERN])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.ALOLA_RAICHU])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.NOIVERN])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SOLGALEO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SOLGALEO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.TAPU_LELE, Species.TAPU_BULU], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TAPU_LELE, SpeciesId.TAPU_BULU], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.teraType = p.species.type1; @@ -4161,7 +4213,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.ZYGARDE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ZYGARDE], TrainerSlot.TRAINER, true, p => { p.formIndex = 1; // Zygarde 10% forme, Aura Break p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; @@ -4169,30 +4221,30 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.DECIDUEYE, Species.PRIMARINA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DECIDUEYE, SpeciesId.PRIMARINA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); - p.gender = p.species.speciesId === Species.PRIMARINA ? Gender.FEMALE : Gender.MALE; + p.gender = p.species.speciesId === SpeciesId.PRIMARINA ? Gender.FEMALE : Gender.MALE; }), ) .setInstantTera(3), // Tera Psychic Tapu Lele / Grass Tapu Bulu [TrainerType.LEON]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_galar_champion") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AEGISLASH])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.RHYPERIOR, Species.SEISMITOAD, Species.MR_RIME])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.AEGISLASH])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.RHYPERIOR, SpeciesId.SEISMITOAD, SpeciesId.MR_RIME])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.ZACIAN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ZACIAN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DRAGAPULT])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.DRAGAPULT])) .setPartyMemberFunc( 4, getRandomPartyMemberFunc( - [Species.RILLABOOM, Species.CINDERACE, Species.INTELEON], + [SpeciesId.RILLABOOM, SpeciesId.CINDERACE, SpeciesId.INTELEON], TrainerSlot.TRAINER, true, p => { @@ -4203,7 +4255,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CHARIZARD], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CHARIZARD], TrainerSlot.TRAINER, true, p => { p.formIndex = 3; // G-Max Charizard p.generateAndPopulateMoveset(); p.generateName(); @@ -4216,21 +4268,21 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_mustard") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.KOMMO_O], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KOMMO_O], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GALAR_SLOWBRO, SpeciesId.GALAR_SLOWKING], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.teraType = p.species.type1; @@ -4238,14 +4290,14 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.GALAR_DARMANITAN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GALAR_DARMANITAN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.BLASTOISE, Species.VENUSAUR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BLASTOISE, SpeciesId.VENUSAUR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.setBoss(true, 2); p.pokeball = PokeballType.ULTRA_BALL; @@ -4253,7 +4305,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.URSHIFU], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.URSHIFU], TrainerSlot.TRAINER, true, p => { p.formIndex = randSeedIntRange(2, 3); // Random G-Max Urshifu p.generateAndPopulateMoveset(); p.generateName(); @@ -4267,29 +4319,29 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_champion_geeta") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.GLIMMORA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GLIMMORA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.ESPATHRA, Species.VELUZA])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.ESPATHRA, SpeciesId.VELUZA])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.MIRAIDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MIRAIDON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.BAXCALIBUR])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.BAXCALIBUR])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.CHESNAUGHT, SpeciesId.DELPHOX, SpeciesId.GRENINJA])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.KINGAMBIT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KINGAMBIT], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TERA_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TERA_BLAST)) { // Check if Tera Blast is in the moveset, if not, replace the third move with Tera Blast. - p.moveset[2] = new PokemonMove(Moves.TERA_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TERA_BLAST); } p.abilityIndex = 1; // Supreme Overlord p.teraType = PokemonType.FLYING; @@ -4301,23 +4353,23 @@ export const trainerConfigs: TrainerConfigs = { .setMixedBattleBgm("battle_champion_nemona") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LYCANROC], TrainerSlot.TRAINER, true, p => { p.formIndex = 0; // Midday form p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PAWMOT])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.PAWMOT])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.KORAIDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KORAIDON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GHOLDENGO])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GHOLDENGO])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.ARMAROUGE, Species.CERULEDGE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ARMAROUGE, SpeciesId.CERULEDGE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.teraType = p.species.type2!; }), @@ -4325,7 +4377,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 5, getRandomPartyMemberFunc( - [Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], + [SpeciesId.MEOWSCARADA, SpeciesId.SKELEDIRGE, SpeciesId.QUAQUAVAL], TrainerSlot.TRAINER, true, p => { @@ -4339,43 +4391,43 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.KIERAN]: new TrainerConfig(++t) .initForChampion(true) .setMixedBattleBgm("battle_champion_kieran") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.POLIWRATH, Species.POLITOED])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.POLIWRATH, SpeciesId.POLITOED])) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.INCINEROAR, Species.GRIMMSNARL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.INCINEROAR, SpeciesId.GRIMMSNARL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - p.abilityIndex = p.species.speciesId === Species.INCINEROAR ? 2 : 0; // Intimidate Incineroar, Prankster Grimmsnarl + p.abilityIndex = p.species.speciesId === SpeciesId.INCINEROAR ? 2 : 0; // Intimidate Incineroar, Prankster Grimmsnarl }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.TERAPAGOS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TERAPAGOS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.URSALUNA, Species.BLOODMOON_URSALUNA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.URSALUNA, SpeciesId.BLOODMOON_URSALUNA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.OGERPON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.OGERPON], TrainerSlot.TRAINER, true, p => { p.formIndex = randSeedInt(4); // Random Ogerpon Tera Mask p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.IVY_CUDGEL)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.IVY_CUDGEL)) { // Check if Ivy Cudgel is in the moveset, if not, replace the first move with Ivy Cudgel. - p.moveset[0] = new PokemonMove(Moves.IVY_CUDGEL); + p.moveset[0] = new PokemonMove(MoveId.IVY_CUDGEL); } }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.HYDRAPPLE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HYDRAPPLE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.setBoss(true, 2); @@ -4401,33 +4453,33 @@ export const trainerConfigs: TrainerConfigs = { 0, getRandomPartyMemberFunc( [ - Species.BULBASAUR, - Species.CHARMANDER, - Species.SQUIRTLE, - Species.CHIKORITA, - Species.CYNDAQUIL, - Species.TOTODILE, - Species.TREECKO, - Species.TORCHIC, - Species.MUDKIP, - Species.TURTWIG, - Species.CHIMCHAR, - Species.PIPLUP, - Species.SNIVY, - Species.TEPIG, - Species.OSHAWOTT, - Species.CHESPIN, - Species.FENNEKIN, - Species.FROAKIE, - Species.ROWLET, - Species.LITTEN, - Species.POPPLIO, - Species.GROOKEY, - Species.SCORBUNNY, - Species.SOBBLE, - Species.SPRIGATITO, - Species.FUECOCO, - Species.QUAXLY, + SpeciesId.BULBASAUR, + SpeciesId.CHARMANDER, + SpeciesId.SQUIRTLE, + SpeciesId.CHIKORITA, + SpeciesId.CYNDAQUIL, + SpeciesId.TOTODILE, + SpeciesId.TREECKO, + SpeciesId.TORCHIC, + SpeciesId.MUDKIP, + SpeciesId.TURTWIG, + SpeciesId.CHIMCHAR, + SpeciesId.PIPLUP, + SpeciesId.SNIVY, + SpeciesId.TEPIG, + SpeciesId.OSHAWOTT, + SpeciesId.CHESPIN, + SpeciesId.FENNEKIN, + SpeciesId.FROAKIE, + SpeciesId.ROWLET, + SpeciesId.LITTEN, + SpeciesId.POPPLIO, + SpeciesId.GROOKEY, + SpeciesId.SCORBUNNY, + SpeciesId.SOBBLE, + SpeciesId.SPRIGATITO, + SpeciesId.FUECOCO, + SpeciesId.QUAXLY, ], TrainerSlot.TRAINER, true, @@ -4438,15 +4490,15 @@ export const trainerConfigs: TrainerConfigs = { 1, getRandomPartyMemberFunc( [ - Species.PIDGEY, - Species.HOOTHOOT, - Species.TAILLOW, - Species.STARLY, - Species.PIDOVE, - Species.FLETCHLING, - Species.PIKIPEK, - Species.ROOKIDEE, - Species.WATTREL, + SpeciesId.PIDGEY, + SpeciesId.HOOTHOOT, + SpeciesId.TAILLOW, + SpeciesId.STARLY, + SpeciesId.PIDOVE, + SpeciesId.FLETCHLING, + SpeciesId.PIKIPEK, + SpeciesId.ROOKIDEE, + SpeciesId.WATTREL, ], TrainerSlot.TRAINER, true, @@ -4468,33 +4520,33 @@ export const trainerConfigs: TrainerConfigs = { 0, getRandomPartyMemberFunc( [ - Species.IVYSAUR, - Species.CHARMELEON, - Species.WARTORTLE, - Species.BAYLEEF, - Species.QUILAVA, - Species.CROCONAW, - Species.GROVYLE, - Species.COMBUSKEN, - Species.MARSHTOMP, - Species.GROTLE, - Species.MONFERNO, - Species.PRINPLUP, - Species.SERVINE, - Species.PIGNITE, - Species.DEWOTT, - Species.QUILLADIN, - Species.BRAIXEN, - Species.FROGADIER, - Species.DARTRIX, - Species.TORRACAT, - Species.BRIONNE, - Species.THWACKEY, - Species.RABOOT, - Species.DRIZZILE, - Species.FLORAGATO, - Species.CROCALOR, - Species.QUAXWELL, + SpeciesId.IVYSAUR, + SpeciesId.CHARMELEON, + SpeciesId.WARTORTLE, + SpeciesId.BAYLEEF, + SpeciesId.QUILAVA, + SpeciesId.CROCONAW, + SpeciesId.GROVYLE, + SpeciesId.COMBUSKEN, + SpeciesId.MARSHTOMP, + SpeciesId.GROTLE, + SpeciesId.MONFERNO, + SpeciesId.PRINPLUP, + SpeciesId.SERVINE, + SpeciesId.PIGNITE, + SpeciesId.DEWOTT, + SpeciesId.QUILLADIN, + SpeciesId.BRAIXEN, + SpeciesId.FROGADIER, + SpeciesId.DARTRIX, + SpeciesId.TORRACAT, + SpeciesId.BRIONNE, + SpeciesId.THWACKEY, + SpeciesId.RABOOT, + SpeciesId.DRIZZILE, + SpeciesId.FLORAGATO, + SpeciesId.CROCALOR, + SpeciesId.QUAXWELL, ], TrainerSlot.TRAINER, true, @@ -4505,15 +4557,15 @@ export const trainerConfigs: TrainerConfigs = { 1, getRandomPartyMemberFunc( [ - Species.PIDGEOTTO, - Species.HOOTHOOT, - Species.TAILLOW, - Species.STARAVIA, - Species.TRANQUILL, - Species.FLETCHINDER, - Species.TRUMBEAK, - Species.CORVISQUIRE, - Species.WATTREL, + SpeciesId.PIDGEOTTO, + SpeciesId.HOOTHOOT, + SpeciesId.TAILLOW, + SpeciesId.STARAVIA, + SpeciesId.TRANQUILL, + SpeciesId.FLETCHINDER, + SpeciesId.TRUMBEAK, + SpeciesId.CORVISQUIRE, + SpeciesId.WATTREL, ], TrainerSlot.TRAINER, true, @@ -4543,33 +4595,33 @@ export const trainerConfigs: TrainerConfigs = { 0, getRandomPartyMemberFunc( [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.SERPERIOR, - Species.EMBOAR, - Species.SAMUROTT, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.GRENINJA, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.PRIMARINA, - Species.RILLABOOM, - Species.CINDERACE, - Species.INTELEON, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.QUAQUAVAL, + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.SERPERIOR, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.GRENINJA, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.PRIMARINA, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAQUAVAL, ], TrainerSlot.TRAINER, true, @@ -4580,15 +4632,15 @@ export const trainerConfigs: TrainerConfigs = { 1, getRandomPartyMemberFunc( [ - Species.PIDGEOT, - Species.NOCTOWL, - Species.SWELLOW, - Species.STARAPTOR, - Species.UNFEZANT, - Species.TALONFLAME, - Species.TOUCANNON, - Species.CORVIKNIGHT, - Species.KILOWATTREL, + SpeciesId.PIDGEOT, + SpeciesId.NOCTOWL, + SpeciesId.SWELLOW, + SpeciesId.STARAPTOR, + SpeciesId.UNFEZANT, + SpeciesId.TALONFLAME, + SpeciesId.TOUCANNON, + SpeciesId.CORVIKNIGHT, + SpeciesId.KILOWATTREL, ], TrainerSlot.TRAINER, true, @@ -4621,33 +4673,33 @@ export const trainerConfigs: TrainerConfigs = { 0, getRandomPartyMemberFunc( [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.SERPERIOR, - Species.EMBOAR, - Species.SAMUROTT, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.GRENINJA, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.PRIMARINA, - Species.RILLABOOM, - Species.CINDERACE, - Species.INTELEON, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.QUAQUAVAL, + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.SERPERIOR, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.GRENINJA, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.PRIMARINA, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAQUAVAL, ], TrainerSlot.TRAINER, true, @@ -4661,15 +4713,15 @@ export const trainerConfigs: TrainerConfigs = { 1, getRandomPartyMemberFunc( [ - Species.PIDGEOT, - Species.NOCTOWL, - Species.SWELLOW, - Species.STARAPTOR, - Species.UNFEZANT, - Species.TALONFLAME, - Species.TOUCANNON, - Species.CORVIKNIGHT, - Species.KILOWATTREL, + SpeciesId.PIDGEOT, + SpeciesId.NOCTOWL, + SpeciesId.SWELLOW, + SpeciesId.STARAPTOR, + SpeciesId.UNFEZANT, + SpeciesId.TALONFLAME, + SpeciesId.TOUCANNON, + SpeciesId.CORVIKNIGHT, + SpeciesId.KILOWATTREL, ], TrainerSlot.TRAINER, true, @@ -4702,33 +4754,33 @@ export const trainerConfigs: TrainerConfigs = { 0, getRandomPartyMemberFunc( [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.SERPERIOR, - Species.EMBOAR, - Species.SAMUROTT, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.GRENINJA, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.PRIMARINA, - Species.RILLABOOM, - Species.CINDERACE, - Species.INTELEON, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.QUAQUAVAL, + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.SERPERIOR, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.GRENINJA, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.PRIMARINA, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAQUAVAL, ], TrainerSlot.TRAINER, true, @@ -4743,15 +4795,15 @@ export const trainerConfigs: TrainerConfigs = { 1, getRandomPartyMemberFunc( [ - Species.PIDGEOT, - Species.NOCTOWL, - Species.SWELLOW, - Species.STARAPTOR, - Species.UNFEZANT, - Species.TALONFLAME, - Species.TOUCANNON, - Species.CORVIKNIGHT, - Species.KILOWATTREL, + SpeciesId.PIDGEOT, + SpeciesId.NOCTOWL, + SpeciesId.SWELLOW, + SpeciesId.STARAPTOR, + SpeciesId.UNFEZANT, + SpeciesId.TALONFLAME, + SpeciesId.TOUCANNON, + SpeciesId.CORVIKNIGHT, + SpeciesId.KILOWATTREL, ], TrainerSlot.TRAINER, true, @@ -4769,7 +4821,7 @@ export const trainerConfigs: TrainerConfigs = { .setSpeciesFilter(species => species.baseTotal >= 540) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RAYQUAZA], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 3); p.pokeball = PokeballType.MASTER_BALL; p.shiny = timedEventManager.getClassicTrainerShinyChance() === 0; @@ -4793,33 +4845,33 @@ export const trainerConfigs: TrainerConfigs = { 0, getRandomPartyMemberFunc( [ - Species.VENUSAUR, - Species.CHARIZARD, - Species.BLASTOISE, - Species.MEGANIUM, - Species.TYPHLOSION, - Species.FERALIGATR, - Species.SCEPTILE, - Species.BLAZIKEN, - Species.SWAMPERT, - Species.TORTERRA, - Species.INFERNAPE, - Species.EMPOLEON, - Species.SERPERIOR, - Species.EMBOAR, - Species.SAMUROTT, - Species.CHESNAUGHT, - Species.DELPHOX, - Species.GRENINJA, - Species.DECIDUEYE, - Species.INCINEROAR, - Species.PRIMARINA, - Species.RILLABOOM, - Species.CINDERACE, - Species.INTELEON, - Species.MEOWSCARADA, - Species.SKELEDIRGE, - Species.QUAQUAVAL, + SpeciesId.VENUSAUR, + SpeciesId.CHARIZARD, + SpeciesId.BLASTOISE, + SpeciesId.MEGANIUM, + SpeciesId.TYPHLOSION, + SpeciesId.FERALIGATR, + SpeciesId.SCEPTILE, + SpeciesId.BLAZIKEN, + SpeciesId.SWAMPERT, + SpeciesId.TORTERRA, + SpeciesId.INFERNAPE, + SpeciesId.EMPOLEON, + SpeciesId.SERPERIOR, + SpeciesId.EMBOAR, + SpeciesId.SAMUROTT, + SpeciesId.CHESNAUGHT, + SpeciesId.DELPHOX, + SpeciesId.GRENINJA, + SpeciesId.DECIDUEYE, + SpeciesId.INCINEROAR, + SpeciesId.PRIMARINA, + SpeciesId.RILLABOOM, + SpeciesId.CINDERACE, + SpeciesId.INTELEON, + SpeciesId.MEOWSCARADA, + SpeciesId.SKELEDIRGE, + SpeciesId.QUAQUAVAL, ], TrainerSlot.TRAINER, true, @@ -4835,15 +4887,15 @@ export const trainerConfigs: TrainerConfigs = { 1, getRandomPartyMemberFunc( [ - Species.PIDGEOT, - Species.NOCTOWL, - Species.SWELLOW, - Species.STARAPTOR, - Species.UNFEZANT, - Species.TALONFLAME, - Species.TOUCANNON, - Species.CORVIKNIGHT, - Species.KILOWATTREL, + SpeciesId.PIDGEOT, + SpeciesId.NOCTOWL, + SpeciesId.SWELLOW, + SpeciesId.STARAPTOR, + SpeciesId.UNFEZANT, + SpeciesId.TALONFLAME, + SpeciesId.TOUCANNON, + SpeciesId.CORVIKNIGHT, + SpeciesId.KILOWATTREL, ], TrainerSlot.TRAINER, true, @@ -4865,7 +4917,7 @@ export const trainerConfigs: TrainerConfigs = { .setSpeciesFilter(species => species.baseTotal >= 540) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RAYQUAZA], TrainerSlot.TRAINER, true, p => { p.setBoss(); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -4884,17 +4936,17 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.PERSIAN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PERSIAN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.DUGTRIO, Species.ALOLA_DUGTRIO])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.HONCHKROW])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.NIDOQUEEN, Species.NIDOKING])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.DUGTRIO, SpeciesId.ALOLA_DUGTRIO])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.HONCHKROW])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.NIDOQUEEN, SpeciesId.NIDOKING])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.RHYPERIOR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RHYPERIOR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.abilityIndex = 1; // Solid Rock @@ -4902,7 +4954,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KANGASKHAN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -4917,7 +4969,7 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.TYRANITAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TYRANITAR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -4925,29 +4977,29 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.GASTRODON, Species.SEISMITOAD], TrainerSlot.TRAINER, true, p => { - if (p.species.speciesId === Species.GASTRODON) { + getRandomPartyMemberFunc([SpeciesId.GASTRODON, SpeciesId.SEISMITOAD], TrainerSlot.TRAINER, true, p => { + if (p.species.speciesId === SpeciesId.GASTRODON) { p.abilityIndex = 0; // Storm Drain - } else if (p.species.speciesId === Species.SEISMITOAD) { + } else if (p.species.speciesId === SpeciesId.SEISMITOAD) { p.abilityIndex = 2; // Water Absorb } }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.GARCHOMP, Species.EXCADRILL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GARCHOMP, SpeciesId.EXCADRILL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; - if (p.species.speciesId === Species.GARCHOMP) { + if (p.species.speciesId === SpeciesId.GARCHOMP) { p.abilityIndex = 2; // Rough Skin - } else if (p.species.speciesId === Species.EXCADRILL) { + } else if (p.species.speciesId === SpeciesId.EXCADRILL) { p.abilityIndex = 0; // Sand Rush } }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.RHYPERIOR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RHYPERIOR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.abilityIndex = 1; // Solid Rock @@ -4955,7 +5007,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.KANGASKHAN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KANGASKHAN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -4965,7 +5017,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.MEWTWO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MEWTWO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -4976,20 +5028,20 @@ export const trainerConfigs: TrainerConfigs = { .initForEvilTeamLeader("Magma Boss", []) .setMixedBattleBgm("battle_aqua_magma_boss") .setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SOLROCK])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.TALONFLAME])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.WEEZING, Species.GALAR_WEEZING])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.SOLROCK])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.TALONFLAME])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.WEEZING, SpeciesId.GALAR_WEEZING])) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TORKOAL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 1; // Drought }), ) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.DONPHAN])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.DONPHAN])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CAMERUPT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5005,7 +5057,7 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.TYPHLOSION, Species.SOLROCK], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TYPHLOSION, SpeciesId.SOLROCK], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5013,32 +5065,32 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.NINETALES, Species.TORKOAL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.NINETALES, SpeciesId.TORKOAL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.NINETALES) { + if (p.species.speciesId === SpeciesId.NINETALES) { p.abilityIndex = 2; // Drought - } else if (p.species.speciesId === Species.TORKOAL) { + } else if (p.species.speciesId === SpeciesId.TORKOAL) { p.abilityIndex = 1; // Drought } }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SCOVILLAIN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SCOVILLAIN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 0; // Chlorophyll }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.GREAT_TUSK], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GREAT_TUSK], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.CAMERUPT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CAMERUPT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5049,7 +5101,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GROUDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GROUDON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5060,26 +5112,26 @@ export const trainerConfigs: TrainerConfigs = { .initForEvilTeamLeader("Aqua Boss", []) .setMixedBattleBgm("battle_aqua_magma_boss") .setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LUDICOLO])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.LUDICOLO])) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PELIPPER], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 1; // Drizzle }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MUK, Species.ALOLA_MUK])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.WAILORD])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.MUK, SpeciesId.ALOLA_MUK])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.WAILORD])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.QWILFISH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.QWILFISH], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 1; // Swift Swim }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SHARPEDO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5095,7 +5147,7 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.LUDICOLO, Species.EMPOLEON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LUDICOLO, SpeciesId.EMPOLEON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5103,26 +5155,26 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.POLITOED, Species.PELIPPER], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.POLITOED, SpeciesId.PELIPPER], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.POLITOED) { + if (p.species.speciesId === SpeciesId.POLITOED) { p.abilityIndex = 2; // Drizzle - } else if (p.species.speciesId === Species.PELIPPER) { + } else if (p.species.speciesId === SpeciesId.PELIPPER) { p.abilityIndex = 1; // Drizzle } }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.DHELMISE])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.DHELMISE])) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.OVERQWIL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.OVERQWIL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 1; // Swift Swim }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.SHARPEDO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SHARPEDO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5133,7 +5185,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.KYOGRE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KYOGRE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5144,13 +5196,13 @@ export const trainerConfigs: TrainerConfigs = { .initForEvilTeamLeader("Galactic Boss", []) .setMixedBattleBgm("battle_galactic_boss") .setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GYARADOS])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HONCHKROW, Species.HISUI_BRAVIARY])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MAGNEZONE])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.UXIE, Species.MESPRIT, Species.AZELF])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.GYARADOS])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.HONCHKROW, SpeciesId.HISUI_BRAVIARY])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.MAGNEZONE])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.UXIE, SpeciesId.MESPRIT, SpeciesId.AZELF])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HOUNDOOM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; // Mega Houndoom @@ -5159,7 +5211,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.WEAVILE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5173,22 +5225,22 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.CROBAT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CROBAT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MAGNEZONE])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.MAGNEZONE])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.UXIE, Species.MESPRIT, Species.AZELF], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.UXIE, SpeciesId.MESPRIT, SpeciesId.AZELF], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.HOUNDOOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HOUNDOOM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = 1; // Mega Houndoom @@ -5197,7 +5249,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.WEAVILE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.WEAVILE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5206,7 +5258,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.DIALGA, Species.PALKIA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DIALGA, SpeciesId.PALKIA], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5217,14 +5269,14 @@ export const trainerConfigs: TrainerConfigs = { .initForEvilTeamLeader("Plasma Boss", []) .setMixedBattleBgm("battle_plasma_boss") .setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.COFAGRIGUS])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.SEISMITOAD])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.GALVANTULA, Species.EELEKTROSS])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DRAPION, Species.TOXICROAK])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.KINGAMBIT])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.COFAGRIGUS])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.SEISMITOAD])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.GALVANTULA, SpeciesId.EELEKTROSS])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.DRAPION, SpeciesId.TOXICROAK])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.KINGAMBIT])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.HYDREIGON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HYDREIGON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5238,43 +5290,43 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.RUNERIGUS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RUNERIGUS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); }), ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.JELLICENT, Species.BASCULEGION], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.JELLICENT, SpeciesId.BASCULEGION], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; p.formIndex = 0; }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.KINGAMBIT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.KINGAMBIT])) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.VOLCARONA, Species.IRON_MOTH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.VOLCARONA, SpeciesId.IRON_MOTH], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.HYDREIGON, Species.IRON_JUGULIS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HYDREIGON, SpeciesId.IRON_JUGULIS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; - if (p.species.speciesId === Species.HYDREIGON) { + if (p.species.speciesId === SpeciesId.HYDREIGON) { p.gender = Gender.MALE; - } else if (p.species.speciesId === Species.IRON_JUGULIS) { + } else if (p.species.speciesId === SpeciesId.IRON_JUGULIS) { p.gender = Gender.GENDERLESS; } }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.KYUREM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KYUREM], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5285,36 +5337,36 @@ export const trainerConfigs: TrainerConfigs = { .initForEvilTeamLeader("Flare Boss", []) .setMixedBattleBgm("battle_flare_boss") .setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.MIENSHAO])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HONCHKROW, Species.TALONFLAME])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.MIENSHAO])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.HONCHKROW, SpeciesId.TALONFLAME])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.PYROAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PYROAR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.MALE; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.DRAGALGE, Species.CLAWITZER], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DRAGALGE, SpeciesId.CLAWITZER], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.DRAGALGE) { + if (p.species.speciesId === SpeciesId.DRAGALGE) { p.abilityIndex = 2; // Adaptability - } else if (p.species.speciesId === Species.CLAWITZER) { + } else if (p.species.speciesId === SpeciesId.CLAWITZER) { p.abilityIndex = 0; // Mega Launcher } }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.GALLADE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GALLADE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 1; // Sharpness }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GYARADOS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GYARADOS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5330,7 +5382,7 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.PYROAR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PYROAR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.gender = Gender.MALE; @@ -5338,26 +5390,26 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.DRAGALGE, Species.CLAWITZER], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DRAGALGE, SpeciesId.CLAWITZER], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.DRAGALGE) { + if (p.species.speciesId === SpeciesId.DRAGALGE) { p.abilityIndex = 2; // Adaptability - } else if (p.species.speciesId === Species.CLAWITZER) { + } else if (p.species.speciesId === SpeciesId.CLAWITZER) { p.abilityIndex = 0; // Mega Launcher } }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.AEGISLASH, Species.HISUI_GOODRA])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.AEGISLASH, SpeciesId.HISUI_GOODRA])) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.IRON_VALIANT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.IRON_VALIANT], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.GYARADOS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GYARADOS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5368,7 +5420,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.ZYGARDE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ZYGARDE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5382,18 +5434,18 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.CLEFABLE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CLEFABLE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.LILLIGANT, Species.HISUI_LILLIGANT])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.MILOTIC, Species.PRIMARINA])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GALAR_SLOWBRO, Species.GALAR_SLOWKING])) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.BEWEAR])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.LILLIGANT, SpeciesId.HISUI_LILLIGANT])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.MILOTIC, SpeciesId.PRIMARINA])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GALAR_SLOWBRO, SpeciesId.GALAR_SLOWKING])) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.BEWEAR])) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.NIHILEGO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.NIHILEGO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; @@ -5406,35 +5458,35 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.CLEFABLE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CLEFABLE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.MILOTIC, Species.PRIMARINA])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.MILOTIC, SpeciesId.PRIMARINA])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SILVALLY], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SILVALLY], TrainerSlot.TRAINER, true, p => { p.formIndex = randSeedInt(18); // Random Silvally Form p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.MULTI_ATTACK)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.MULTI_ATTACK)) { // Check if Multi Attack is in the moveset, if not, replace the first move with Multi Attack. - p.moveset[0] = new PokemonMove(Moves.MULTI_ATTACK); + p.moveset[0] = new PokemonMove(MoveId.MULTI_ATTACK); } }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.PHEROMOSA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PHEROMOSA], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.NIHILEGO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.NIHILEGO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; @@ -5442,7 +5494,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.NECROZMA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.NECROZMA], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.formIndex = 2; // Dawn Wings p.generateAndPopulateMoveset(); @@ -5456,31 +5508,31 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.YANMEGA, Species.LOKIX], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.YANMEGA, SpeciesId.LOKIX], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.YANMEGA) { + if (p.species.speciesId === SpeciesId.YANMEGA) { p.abilityIndex = 1; // Tinted Lens - } else if (p.species.speciesId === Species.LOKIX) { + } else if (p.species.speciesId === SpeciesId.LOKIX) { p.abilityIndex = 2; // Tinted Lens } }), ) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.HERACROSS])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.HERACROSS])) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SCIZOR, Species.KLEAVOR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SCIZOR, SpeciesId.KLEAVOR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.SCIZOR) { + if (p.species.speciesId === SpeciesId.SCIZOR) { p.abilityIndex = 1; // Technician - } else if (p.species.speciesId === Species.KLEAVOR) { + } else if (p.species.speciesId === SpeciesId.KLEAVOR) { p.abilityIndex = 2; // Sharpness } }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GALVANTULA, Species.VIKAVOLT])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GALVANTULA, SpeciesId.VIKAVOLT])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.PINSIR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PINSIR], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 1; // Mega Pinsir p.pokeball = PokeballType.ULTRA_BALL; @@ -5489,7 +5541,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.GOLISOPOD], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GOLISOPOD], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.gender = Gender.MALE; @@ -5502,7 +5554,7 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.GOLISOPOD], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GOLISOPOD], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.abilityIndex = 2; // Anticipation @@ -5511,41 +5563,41 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.BUZZWOLE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BUZZWOLE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.CRAWDAUNT, Species.HISUI_SAMUROTT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CRAWDAUNT, SpeciesId.HISUI_SAMUROTT], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 2; // Sharpness Hisuian Samurott, Adaptability Crawdaunt }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.XURKITREE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.XURKITREE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.GENESECT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GENESECT], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.formIndex = randSeedInt(4, 1); // Shock, Burn, Chill, or Douse Drive - if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === Moves.TECHNO_BLAST)) { + if (!p.moveset.some(move => !isNullOrUndefined(move) && move.moveId === MoveId.TECHNO_BLAST)) { // Check if Techno Blast is in the moveset, if not, replace the third move with Techno Blast. - p.moveset[2] = new PokemonMove(Moves.TECHNO_BLAST); + p.moveset[2] = new PokemonMove(MoveId.TECHNO_BLAST); } }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.PINSIR], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.PINSIR], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.formIndex = 1; // Mega Pinsir p.generateAndPopulateMoveset(); @@ -5560,42 +5612,42 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ARCHALUDON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.ESCAVALIER, Species.FERROTHORN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ESCAVALIER, SpeciesId.FERROTHORN], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.SIRFETCHD, Species.MR_RIME], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SIRFETCHD, SpeciesId.MR_RIME], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CORVIKNIGHT], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.KLINKLANG, Species.PERRSERKER], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.KLINKLANG, SpeciesId.PERRSERKER], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.COPPERAJAH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.COPPERAJAH], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.formIndex = 1; // G-Max Copperajah @@ -5611,7 +5663,7 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.ARCHALUDON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ARCHALUDON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5619,14 +5671,14 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.AEGISLASH, Species.GHOLDENGO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.AEGISLASH, SpeciesId.GHOLDENGO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.DRACOZOLT, Species.DRACOVISH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.DRACOZOLT, SpeciesId.DRACOVISH], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; p.abilityIndex = 1; // Strong Jaw Dracovish, Hustle Dracozolt @@ -5634,7 +5686,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.MELMETAL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.MELMETAL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), @@ -5642,7 +5694,7 @@ export const trainerConfigs: TrainerConfigs = { .setPartyMemberFunc( 4, getRandomPartyMemberFunc( - [Species.GALAR_ARTICUNO, Species.GALAR_ZAPDOS, Species.GALAR_MOLTRES], + [SpeciesId.GALAR_ARTICUNO, SpeciesId.GALAR_ZAPDOS, SpeciesId.GALAR_MOLTRES], TrainerSlot.TRAINER, true, p => { @@ -5654,7 +5706,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.COPPERAJAH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.COPPERAJAH], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.formIndex = 1; // G-Max Copperajah @@ -5668,13 +5720,13 @@ export const trainerConfigs: TrainerConfigs = { .initForEvilTeamLeader("Star Boss", []) .setMixedBattleBgm("battle_star_boss") .setVictoryBgm("victory_team_plasma") - .setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.JOLTEON, Species.LEAFEON])) - .setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.VAPOREON, Species.UMBREON])) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.ESPEON, Species.GLACEON])) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.FLAREON])) + .setPartyMemberFunc(0, getRandomPartyMemberFunc([SpeciesId.JOLTEON, SpeciesId.LEAFEON])) + .setPartyMemberFunc(1, getRandomPartyMemberFunc([SpeciesId.VAPOREON, SpeciesId.UMBREON])) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.ESPEON, SpeciesId.GLACEON])) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.FLAREON])) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.SYLVEON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SYLVEON], TrainerSlot.TRAINER, true, p => { p.abilityIndex = 2; // Pixilate p.generateAndPopulateMoveset(); p.gender = Gender.FEMALE; @@ -5682,7 +5734,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.EEVEE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.EEVEE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.formIndex = 2; // G-Max Eevee @@ -5698,7 +5750,7 @@ export const trainerConfigs: TrainerConfigs = { .setVictoryBgm("victory_team_plasma") .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.SYLVEON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SYLVEON], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.abilityIndex = 2; // Pixilate p.generateAndPopulateMoveset(); @@ -5707,21 +5759,21 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.ROTOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ROTOM], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = randSeedInt(5, 1); // Heat, Wash, Frost, Fan, or Mow }), ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.RAIKOU, Species.ENTEI, Species.SUICUNE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RAIKOU, SpeciesId.ENTEI, SpeciesId.SUICUNE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; }), ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.REVAVROOM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REVAVROOM], TrainerSlot.TRAINER, true, p => { p.formIndex = randSeedInt(5, 1); // Random Starmobile form p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ROGUE_BALL; @@ -5729,7 +5781,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 4, - getRandomPartyMemberFunc([Species.ZAMAZENTA], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ZAMAZENTA], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5737,7 +5789,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.EEVEE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.EEVEE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.formIndex = 2; @@ -5751,7 +5803,7 @@ export const trainerConfigs: TrainerConfigs = { .initForStatTrainer(true) .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.CLAYDOL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CLAYDOL], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 3); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5759,10 +5811,10 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.VENUSAUR, Species.COALOSSAL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.VENUSAUR, SpeciesId.COALOSSAL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.GREAT_BALL; - if (p.species.speciesId === Species.VENUSAUR) { + if (p.species.speciesId === SpeciesId.VENUSAUR) { p.formIndex = 2; // Gmax p.abilityIndex = 2; // Venusaur gets Chlorophyll } else { @@ -5773,7 +5825,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.AGGRON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.AGGRON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 1; // Mega p.generateName(); @@ -5781,15 +5833,15 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 3, - getRandomPartyMemberFunc([Species.TORKOAL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.TORKOAL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.abilityIndex = 1; // Drought }), ) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.GREAT_TUSK], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.GREAT_TUSK], TrainerSlot.TRAINER, true)) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.HEATRAN], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.HEATRAN], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5800,7 +5852,7 @@ export const trainerConfigs: TrainerConfigs = { .initForStatTrainer() .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.BLISSEY], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.BLISSEY], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 3); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5808,7 +5860,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.SNORLAX, Species.LAPRAS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.SNORLAX, SpeciesId.LAPRAS], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.GREAT_BALL; p.formIndex = 1; // Gmax @@ -5817,20 +5869,20 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.AUDINO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.AUDINO], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 1; // Mega p.generateName(); }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.GOODRA], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.IRON_HANDS], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.GOODRA], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.IRON_HANDS], TrainerSlot.TRAINER, true)) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.CRESSELIA, Species.ENAMORUS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CRESSELIA, SpeciesId.ENAMORUS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.ENAMORUS) { + if (p.species.speciesId === SpeciesId.ENAMORUS) { p.formIndex = 1; // Therian p.generateName(); } @@ -5842,7 +5894,7 @@ export const trainerConfigs: TrainerConfigs = { .initForStatTrainer() .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.ARCANINE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ARCANINE], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 3); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.ULTRA_BALL; @@ -5850,7 +5902,7 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.CINDERACE, Species.INTELEON], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.CINDERACE, SpeciesId.INTELEON], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.GREAT_BALL; p.formIndex = 1; // Gmax @@ -5859,17 +5911,17 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 2, - getRandomPartyMemberFunc([Species.AERODACTYL], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.AERODACTYL], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.formIndex = 1; // Mega p.generateName(); }), ) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.DRAGAPULT], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.IRON_BUNDLE], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.DRAGAPULT], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.IRON_BUNDLE], TrainerSlot.TRAINER, true)) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.REGIELEKI], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REGIELEKI], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5880,7 +5932,7 @@ export const trainerConfigs: TrainerConfigs = { .initForStatTrainer() .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.ALAKAZAM], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.ALAKAZAM], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.formIndex = 1; @@ -5890,19 +5942,19 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.GENGAR, Species.HATTERENE], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.GENGAR, SpeciesId.HATTERENE], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.GREAT_BALL; - p.formIndex = p.species.speciesId === Species.GENGAR ? 2 : 1; // Gmax + p.formIndex = p.species.speciesId === SpeciesId.GENGAR ? 2 : 1; // Gmax p.generateName(); }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.FLUTTER_MANE], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.HYDREIGON], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.MAGNEZONE], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.FLUTTER_MANE], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.HYDREIGON], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.MAGNEZONE], TrainerSlot.TRAINER, true)) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.LATIOS, Species.LATIAS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LATIOS, SpeciesId.LATIAS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.pokeball = PokeballType.MASTER_BALL; @@ -5913,7 +5965,7 @@ export const trainerConfigs: TrainerConfigs = { .initForStatTrainer(true) .setPartyMemberFunc( 0, - getRandomPartyMemberFunc([Species.LUCARIO], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.LUCARIO], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); p.formIndex = 1; @@ -5923,22 +5975,22 @@ export const trainerConfigs: TrainerConfigs = { ) .setPartyMemberFunc( 1, - getRandomPartyMemberFunc([Species.RILLABOOM, Species.CENTISKORCH], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.RILLABOOM, SpeciesId.CENTISKORCH], TrainerSlot.TRAINER, true, p => { p.generateAndPopulateMoveset(); p.pokeball = PokeballType.GREAT_BALL; p.formIndex = 1; // Gmax p.generateName(); }), ) - .setPartyMemberFunc(2, getRandomPartyMemberFunc([Species.TYRANITAR], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(3, getRandomPartyMemberFunc([Species.ROARING_MOON], TrainerSlot.TRAINER, true)) - .setPartyMemberFunc(4, getRandomPartyMemberFunc([Species.URSALUNA], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(2, getRandomPartyMemberFunc([SpeciesId.TYRANITAR], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(3, getRandomPartyMemberFunc([SpeciesId.ROARING_MOON], TrainerSlot.TRAINER, true)) + .setPartyMemberFunc(4, getRandomPartyMemberFunc([SpeciesId.URSALUNA], TrainerSlot.TRAINER, true)) .setPartyMemberFunc( 5, - getRandomPartyMemberFunc([Species.REGIGIGAS, Species.LANDORUS], TrainerSlot.TRAINER, true, p => { + getRandomPartyMemberFunc([SpeciesId.REGIGIGAS, SpeciesId.LANDORUS], TrainerSlot.TRAINER, true, p => { p.setBoss(true, 2); p.generateAndPopulateMoveset(); - if (p.species.speciesId === Species.LANDORUS) { + if (p.species.speciesId === SpeciesId.LANDORUS) { p.formIndex = 1; // Therian p.generateName(); } diff --git a/src/data/trainers/typedefs.ts b/src/data/trainers/typedefs.ts index c6d286e961e..3df2ba3f5f8 100644 --- a/src/data/trainers/typedefs.ts +++ b/src/data/trainers/typedefs.ts @@ -1,7 +1,7 @@ import type { EnemyPokemon } from "#app/field/pokemon"; import type { PersistentModifier } from "#app/modifier/modifier"; import type { PartyMemberStrength } from "#enums/party-member-strength"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import type { TrainerConfig } from "./trainer-config"; import type { TrainerPartyTemplate } from "./TrainerPartyTemplate"; @@ -11,7 +11,7 @@ export type GenModifiersFunc = (party: EnemyPokemon[]) => PersistentModifier[]; export type GenAIFunc = (party: EnemyPokemon[]) => void; export interface TrainerTierPools { - [key: number]: Species[]; + [key: number]: SpeciesId[]; } export interface TrainerConfigs { [key: number]: TrainerConfig; diff --git a/src/data/weather.ts b/src/data/weather.ts index be9107798df..3bd2e38824d 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -1,4 +1,4 @@ -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { WeatherType } from "#enums/weather-type"; import { getPokemonNameWithAffix } from "../messages"; import type Pokemon from "../field/pokemon"; @@ -289,13 +289,13 @@ export function getRandomWeatherType(arena: Arena): WeatherType { let weatherPool: WeatherPoolEntry[] = []; const hasSun = arena.getTimeOfDay() < 2; switch (arena.biomeType) { - case Biome.GRASS: + case BiomeId.GRASS: weatherPool = [{ weatherType: WeatherType.NONE, weight: 7 }]; if (hasSun) { weatherPool.push({ weatherType: WeatherType.SUNNY, weight: 3 }); } break; - case Biome.TALL_GRASS: + case BiomeId.TALL_GRASS: weatherPool = [ { weatherType: WeatherType.NONE, weight: 8 }, { weatherType: WeatherType.RAIN, weight: 5 }, @@ -304,26 +304,26 @@ export function getRandomWeatherType(arena: Arena): WeatherType { weatherPool.push({ weatherType: WeatherType.SUNNY, weight: 8 }); } break; - case Biome.FOREST: + case BiomeId.FOREST: weatherPool = [ { weatherType: WeatherType.NONE, weight: 8 }, { weatherType: WeatherType.RAIN, weight: 5 }, ]; break; - case Biome.SEA: + case BiomeId.SEA: weatherPool = [ { weatherType: WeatherType.NONE, weight: 3 }, { weatherType: WeatherType.RAIN, weight: 12 }, ]; break; - case Biome.SWAMP: + case BiomeId.SWAMP: weatherPool = [ { weatherType: WeatherType.NONE, weight: 3 }, { weatherType: WeatherType.RAIN, weight: 4 }, { weatherType: WeatherType.FOG, weight: 1 }, ]; break; - case Biome.BEACH: + case BiomeId.BEACH: weatherPool = [ { weatherType: WeatherType.NONE, weight: 8 }, { weatherType: WeatherType.RAIN, weight: 3 }, @@ -332,17 +332,17 @@ export function getRandomWeatherType(arena: Arena): WeatherType { weatherPool.push({ weatherType: WeatherType.SUNNY, weight: 5 }); } break; - case Biome.LAKE: + case BiomeId.LAKE: weatherPool = [ { weatherType: WeatherType.NONE, weight: 10 }, { weatherType: WeatherType.RAIN, weight: 5 }, { weatherType: WeatherType.FOG, weight: 1 }, ]; break; - case Biome.SEABED: + case BiomeId.SEABED: weatherPool = [{ weatherType: WeatherType.RAIN, weight: 1 }]; break; - case Biome.BADLANDS: + case BiomeId.BADLANDS: weatherPool = [ { weatherType: WeatherType.NONE, weight: 8 }, { weatherType: WeatherType.SANDSTORM, weight: 2 }, @@ -351,26 +351,26 @@ export function getRandomWeatherType(arena: Arena): WeatherType { weatherPool.push({ weatherType: WeatherType.SUNNY, weight: 5 }); } break; - case Biome.DESERT: + case BiomeId.DESERT: weatherPool = [{ weatherType: WeatherType.SANDSTORM, weight: 2 }]; if (hasSun) { weatherPool.push({ weatherType: WeatherType.SUNNY, weight: 2 }); } break; - case Biome.ICE_CAVE: + case BiomeId.ICE_CAVE: weatherPool = [ { weatherType: WeatherType.NONE, weight: 3 }, { weatherType: WeatherType.SNOW, weight: 4 }, { weatherType: WeatherType.HAIL, weight: 1 }, ]; break; - case Biome.MEADOW: + case BiomeId.MEADOW: weatherPool = [{ weatherType: WeatherType.NONE, weight: 2 }]; if (hasSun) { weatherPool.push({ weatherType: WeatherType.SUNNY, weight: 2 }); } break; - case Biome.VOLCANO: + case BiomeId.VOLCANO: weatherPool = [ { weatherType: hasSun ? WeatherType.SUNNY : WeatherType.NONE, @@ -378,25 +378,25 @@ export function getRandomWeatherType(arena: Arena): WeatherType { }, ]; break; - case Biome.GRAVEYARD: + case BiomeId.GRAVEYARD: weatherPool = [ { weatherType: WeatherType.NONE, weight: 3 }, { weatherType: WeatherType.FOG, weight: 1 }, ]; break; - case Biome.JUNGLE: + case BiomeId.JUNGLE: weatherPool = [ { weatherType: WeatherType.NONE, weight: 8 }, { weatherType: WeatherType.RAIN, weight: 2 }, ]; break; - case Biome.SNOWY_FOREST: + case BiomeId.SNOWY_FOREST: weatherPool = [ { weatherType: WeatherType.SNOW, weight: 7 }, { weatherType: WeatherType.HAIL, weight: 1 }, ]; break; - case Biome.ISLAND: + case BiomeId.ISLAND: weatherPool = [ { weatherType: WeatherType.NONE, weight: 5 }, { weatherType: WeatherType.RAIN, weight: 1 }, @@ -407,7 +407,7 @@ export function getRandomWeatherType(arena: Arena): WeatherType { break; } - if (arena.biomeType === Biome.TOWN && timedEventManager.isEventActive()) { + if (arena.biomeType === BiomeId.TOWN && timedEventManager.isEventActive()) { timedEventManager.getWeather()?.map(w => weatherPool.push(w)); } diff --git a/src/enums/MoveFlags.ts b/src/enums/MoveFlags.ts index 0fc85fddec6..1155417da6d 100644 --- a/src/enums/MoveFlags.ts +++ b/src/enums/MoveFlags.ts @@ -4,11 +4,11 @@ export enum MoveFlags { IGNORE_PROTECT = 1 << 1, /** * Sound-based moves have the following effects: - * - Pokemon with the {@linkcode Abilities.SOUNDPROOF Soundproof Ability} are unaffected by other Pokemon's sound-based moves. - * - Pokemon affected by {@linkcode Moves.THROAT_CHOP Throat Chop} cannot use sound-based moves for two turns. - * - Sound-based moves used by a Pokemon with {@linkcode Abilities.LIQUID_VOICE Liquid Voice} become Water-type moves. - * - Sound-based moves used by a Pokemon with {@linkcode Abilities.PUNK_ROCK Punk Rock} are boosted by 30%. Pokemon with Punk Rock also take half damage from sound-based moves. - * - All sound-based moves (except Howl) can hit Pokemon behind an active {@linkcode Moves.SUBSTITUTE Substitute}. + * - Pokemon with the {@linkcode AbilityId.SOUNDPROOF Soundproof Ability} are unaffected by other Pokemon's sound-based moves. + * - Pokemon affected by {@linkcode MoveId.THROAT_CHOP Throat Chop} cannot use sound-based moves for two turns. + * - Sound-based moves used by a Pokemon with {@linkcode AbilityId.LIQUID_VOICE Liquid Voice} become Water-type moves. + * - Sound-based moves used by a Pokemon with {@linkcode AbilityId.PUNK_ROCK Punk Rock} are boosted by 30%. Pokemon with Punk Rock also take half damage from sound-based moves. + * - All sound-based moves (except Howl) can hit Pokemon behind an active {@linkcode MoveId.SUBSTITUTE Substitute}. * * cf https://bulbapedia.bulbagarden.net/wiki/Sound-based_move */ @@ -20,19 +20,19 @@ export enum MoveFlags { PUNCHING_MOVE = 1 << 7, SLICING_MOVE = 1 << 8, /** - * Indicates a move should be affected by {@linkcode Abilities.RECKLESS} + * Indicates a move should be affected by {@linkcode AbilityId.RECKLESS} * @see {@linkcode Move.recklessMove()} */ RECKLESS_MOVE = 1 << 9, - /** Indicates a move should be affected by {@linkcode Abilities.BULLETPROOF} */ + /** Indicates a move should be affected by {@linkcode AbilityId.BULLETPROOF} */ BALLBOMB_MOVE = 1 << 10, - /** Grass types and pokemon with {@linkcode Abilities.OVERCOAT} are immune to powder moves */ + /** Grass types and pokemon with {@linkcode AbilityId.OVERCOAT} are immune to powder moves */ POWDER_MOVE = 1 << 11, - /** Indicates a move should trigger {@linkcode Abilities.DANCER} */ + /** Indicates a move should trigger {@linkcode AbilityId.DANCER} */ DANCE_MOVE = 1 << 12, - /** Indicates a move should trigger {@linkcode Abilities.WIND_RIDER} */ + /** Indicates a move should trigger {@linkcode AbilityId.WIND_RIDER} */ WIND_MOVE = 1 << 13, - /** Indicates a move should trigger {@linkcode Abilities.TRIAGE} */ + /** Indicates a move should trigger {@linkcode AbilityId.TRIAGE} */ TRIAGE_MOVE = 1 << 14, IGNORE_ABILITIES = 1 << 15, /** Enables all hits of a multi-hit move to be accuracy checked individually */ @@ -41,6 +41,6 @@ export enum MoveFlags { IGNORE_SUBSTITUTE = 1 << 17, /** Indicates a move is able to be redirected to allies in a double battle if the attacker faints */ REDIRECT_COUNTER = 1 << 18, - /** Indicates a move is able to be reflected by {@linkcode Abilities.MAGIC_BOUNCE} and {@linkcode Moves.MAGIC_COAT} */ + /** Indicates a move is able to be reflected by {@linkcode AbilityId.MAGIC_BOUNCE} and {@linkcode MoveId.MAGIC_COAT} */ REFLECTABLE = 1 << 19 } diff --git a/src/enums/abilities.ts b/src/enums/ability-id.ts similarity index 99% rename from src/enums/abilities.ts rename to src/enums/ability-id.ts index 4bf1b4984a9..c9681fb1109 100644 --- a/src/enums/abilities.ts +++ b/src/enums/ability-id.ts @@ -1,4 +1,4 @@ -export enum Abilities { +export enum AbilityId { /**{@link https://bulbapedia.bulbagarden.net/wiki/None_(ability) | Source} */ NONE, /**{@link https://bulbapedia.bulbagarden.net/wiki/Stench_(ability) | Source} */ diff --git a/src/enums/biome.ts b/src/enums/biome-id.ts similarity index 95% rename from src/enums/biome.ts rename to src/enums/biome-id.ts index 7284528767d..08a0d742738 100644 --- a/src/enums/biome.ts +++ b/src/enums/biome-id.ts @@ -1,4 +1,4 @@ -export enum Biome { +export enum BiomeId { // TODO: Should -1 be part of the enum signature (for "unknown place") TOWN, PLAINS, diff --git a/src/enums/moves.ts b/src/enums/move-id.ts similarity index 99% rename from src/enums/moves.ts rename to src/enums/move-id.ts index ee685e85fbe..e9894d9138d 100644 --- a/src/enums/moves.ts +++ b/src/enums/move-id.ts @@ -1,4 +1,4 @@ -export enum Moves { +export enum MoveId { /**{@link https://bulbapedia.bulbagarden.net/wiki/None_(move) | Source} */ NONE, /**{@link https://bulbapedia.bulbagarden.net/wiki/Pound_(move) | Source} */ diff --git a/src/enums/species.ts b/src/enums/species-id.ts similarity index 99% rename from src/enums/species.ts rename to src/enums/species-id.ts index 3d410deec1a..4eaec4ad9b5 100644 --- a/src/enums/species.ts +++ b/src/enums/species-id.ts @@ -1,4 +1,4 @@ -export enum Species { +export enum SpeciesId { /**{@link https://bulbapedia.bulbagarden.net/wiki/Bulbasaur_(Pokémon) | Source} */ BULBASAUR = 1, /**{@link https://bulbapedia.bulbagarden.net/wiki/Ivysaur_(Pokémon) | Source} */ diff --git a/src/field/arena.ts b/src/field/arena.ts index f083180490b..2ec98c53afa 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -31,19 +31,19 @@ import type Pokemon from "#app/field/pokemon"; import Overrides from "#app/overrides"; import { TagAddedEvent, TagRemovedEvent, TerrainChangedEvent, WeatherChangedEvent } from "#app/events/arena"; import type { ArenaTagType } from "#enums/arena-tag-type"; -import { Biome } from "#enums/biome"; -import type { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import type { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { TimeOfDay } from "#enums/time-of-day"; import { TrainerType } from "#enums/trainer-type"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { SpeciesFormChangeRevertWeatherFormTrigger, SpeciesFormChangeWeatherTrigger } from "#app/data/pokemon-forms"; import { CommonAnimPhase } from "#app/phases/common-anim-phase"; import { WeatherType } from "#enums/weather-type"; import { FieldEffectModifier } from "#app/modifier/modifier"; export class Arena { - public biomeType: Biome; + public biomeType: BiomeId; public weather: Weather | null; public terrain: Terrain | null; public tags: ArenaTag[]; @@ -64,7 +64,7 @@ export class Arena { public readonly eventTarget: EventTarget = new EventTarget(); - constructor(biome: Biome, bgm: string, playerFaints = 0) { + constructor(biome: BiomeId, bgm: string, playerFaints = 0) { this.biomeType = biome; this.tags = []; this.bgm = bgm; @@ -116,7 +116,7 @@ export class Arena { const isBossSpecies = !!globalScene.getEncounterBossSegments(waveIndex, level) && !!this.pokemonPool[BiomePoolTier.BOSS].length && - (this.biomeType !== Biome.END || globalScene.gameMode.isClassic || globalScene.gameMode.isWaveFinal(waveIndex)); + (this.biomeType !== BiomeId.END || globalScene.gameMode.isClassic || globalScene.gameMode.isWaveFinal(waveIndex)); const randVal = isBossSpecies ? 64 : 512; // luck influences encounter rarity let luckModifier = 0; @@ -153,9 +153,9 @@ export class Arena { ret = globalScene.randomSpecies(waveIndex, level); } else { const entry = tierPool[randSeedInt(tierPool.length)]; - let species: Species; + let species: SpeciesId; if (typeof entry === "number") { - species = entry as Species; + species = entry as SpeciesId; } else { const levelThresholds = Object.keys(entry); for (let l = levelThresholds.length - 1; l >= 0; l--) { @@ -199,7 +199,7 @@ export class Arena { const newSpeciesId = ret.getWildSpeciesForLevel(level, true, isBoss ?? isBossSpecies, globalScene.gameMode); if (newSpeciesId !== ret.speciesId) { - console.log("Replaced", Species[ret.speciesId], "with", Species[newSpeciesId]); + console.log("Replaced", SpeciesId[ret.speciesId], "with", SpeciesId[newSpeciesId]); ret = getPokemonSpecies(newSpeciesId); } return ret; @@ -239,30 +239,30 @@ export class Arena { getSpeciesFormIndex(species: PokemonSpecies): number { switch (species.speciesId) { - case Species.BURMY: - case Species.WORMADAM: + case SpeciesId.BURMY: + case SpeciesId.WORMADAM: switch (this.biomeType) { - case Biome.BEACH: + case BiomeId.BEACH: return 1; - case Biome.SLUM: + case BiomeId.SLUM: return 2; } break; - case Species.ROTOM: + case SpeciesId.ROTOM: switch (this.biomeType) { - case Biome.VOLCANO: + case BiomeId.VOLCANO: return 1; - case Biome.SEA: + case BiomeId.SEA: return 2; - case Biome.ICE_CAVE: + case BiomeId.ICE_CAVE: return 3; - case Biome.MOUNTAIN: + case BiomeId.MOUNTAIN: return 4; - case Biome.TALL_GRASS: + case BiomeId.TALL_GRASS: return 5; } break; - case Species.LYCANROC: + case SpeciesId.LYCANROC: const timeOfDay = this.getTimeOfDay(); switch (timeOfDay) { case TimeOfDay.DAY: @@ -281,9 +281,9 @@ export class Arena { getBgTerrainColorRatioForBiome(): number { switch (this.biomeType) { - case Biome.SPACE: + case BiomeId.SPACE: return 1; - case Biome.END: + case BiomeId.END: return 0; } @@ -372,8 +372,8 @@ export class Arena { */ triggerWeatherBasedFormChanges(): void { globalScene.getField(true).forEach(p => { - const isCastformWithForecast = p.hasAbility(Abilities.FORECAST) && p.species.speciesId === Species.CASTFORM; - const isCherrimWithFlowerGift = p.hasAbility(Abilities.FLOWER_GIFT) && p.species.speciesId === Species.CHERRIM; + const isCastformWithForecast = p.hasAbility(AbilityId.FORECAST) && p.species.speciesId === SpeciesId.CASTFORM; + const isCherrimWithFlowerGift = p.hasAbility(AbilityId.FLOWER_GIFT) && p.species.speciesId === SpeciesId.CHERRIM; if (isCastformWithForecast || isCherrimWithFlowerGift) { globalScene.triggerPokemonFormChange(p, SpeciesFormChangeWeatherTrigger); @@ -387,9 +387,9 @@ export class Arena { triggerWeatherBasedFormChangesToNormal(): void { globalScene.getField(true).forEach(p => { const isCastformWithForecast = - p.hasAbility(Abilities.FORECAST, false, true) && p.species.speciesId === Species.CASTFORM; + p.hasAbility(AbilityId.FORECAST, false, true) && p.species.speciesId === SpeciesId.CASTFORM; const isCherrimWithFlowerGift = - p.hasAbility(Abilities.FLOWER_GIFT, false, true) && p.species.speciesId === Species.CHERRIM; + p.hasAbility(AbilityId.FLOWER_GIFT, false, true) && p.species.speciesId === SpeciesId.CHERRIM; if (isCastformWithForecast || isCherrimWithFlowerGift) { return globalScene.triggerPokemonFormChange(p, SpeciesFormChangeRevertWeatherFormTrigger); @@ -488,42 +488,42 @@ export class Arena { */ getTrainerChance(): number { switch (this.biomeType) { - case Biome.METROPOLIS: + case BiomeId.METROPOLIS: return 2; - case Biome.SLUM: - case Biome.BEACH: - case Biome.DOJO: - case Biome.CONSTRUCTION_SITE: + case BiomeId.SLUM: + case BiomeId.BEACH: + case BiomeId.DOJO: + case BiomeId.CONSTRUCTION_SITE: return 4; - case Biome.PLAINS: - case Biome.GRASS: - case Biome.LAKE: - case Biome.CAVE: + case BiomeId.PLAINS: + case BiomeId.GRASS: + case BiomeId.LAKE: + case BiomeId.CAVE: return 6; - case Biome.TALL_GRASS: - case Biome.FOREST: - case Biome.SEA: - case Biome.SWAMP: - case Biome.MOUNTAIN: - case Biome.BADLANDS: - case Biome.DESERT: - case Biome.MEADOW: - case Biome.POWER_PLANT: - case Biome.GRAVEYARD: - case Biome.FACTORY: - case Biome.SNOWY_FOREST: + case BiomeId.TALL_GRASS: + case BiomeId.FOREST: + case BiomeId.SEA: + case BiomeId.SWAMP: + case BiomeId.MOUNTAIN: + case BiomeId.BADLANDS: + case BiomeId.DESERT: + case BiomeId.MEADOW: + case BiomeId.POWER_PLANT: + case BiomeId.GRAVEYARD: + case BiomeId.FACTORY: + case BiomeId.SNOWY_FOREST: return 8; - case Biome.ICE_CAVE: - case Biome.VOLCANO: - case Biome.RUINS: - case Biome.WASTELAND: - case Biome.JUNGLE: - case Biome.FAIRY_CAVE: + case BiomeId.ICE_CAVE: + case BiomeId.VOLCANO: + case BiomeId.RUINS: + case BiomeId.WASTELAND: + case BiomeId.JUNGLE: + case BiomeId.FAIRY_CAVE: return 12; - case Biome.SEABED: - case Biome.ABYSS: - case Biome.SPACE: - case Biome.TEMPLE: + case BiomeId.SEABED: + case BiomeId.ABYSS: + case BiomeId.SPACE: + case BiomeId.TEMPLE: return 16; default: return 0; @@ -532,7 +532,7 @@ export class Arena { getTimeOfDay(): TimeOfDay { switch (this.biomeType) { - case Biome.ABYSS: + case BiomeId.ABYSS: return TimeOfDay.NIGHT; } @@ -555,16 +555,16 @@ export class Arena { isOutside(): boolean { switch (this.biomeType) { - case Biome.SEABED: - case Biome.CAVE: - case Biome.ICE_CAVE: - case Biome.POWER_PLANT: - case Biome.DOJO: - case Biome.FACTORY: - case Biome.ABYSS: - case Biome.FAIRY_CAVE: - case Biome.TEMPLE: - case Biome.LABORATORY: + case BiomeId.SEABED: + case BiomeId.CAVE: + case BiomeId.ICE_CAVE: + case BiomeId.POWER_PLANT: + case BiomeId.DOJO: + case BiomeId.FACTORY: + case BiomeId.ABYSS: + case BiomeId.FAIRY_CAVE: + case BiomeId.TEMPLE: + case BiomeId.LABORATORY: return false; default: return true; @@ -589,7 +589,7 @@ export class Arena { return this.overrideTint(); } switch (this.biomeType) { - case Biome.ABYSS: + case BiomeId.ABYSS: return [64, 64, 64]; default: return [128, 128, 128]; @@ -615,9 +615,9 @@ export class Arena { return this.overrideTint(); } switch (this.biomeType) { - case Biome.ABYSS: - case Biome.SPACE: - case Biome.END: + case BiomeId.ABYSS: + case BiomeId.SPACE: + case BiomeId.END: return this.getDayTint(); } @@ -674,7 +674,7 @@ export class Arena { * Adds a new tag to the arena * @param tagType {@linkcode ArenaTagType} the tag being added * @param turnCount How many turns the tag lasts - * @param sourceMove {@linkcode Moves} the move the tag came from, or `undefined` if not from a move + * @param sourceMove {@linkcode MoveId} the move the tag came from, or `undefined` if not from a move * @param sourceId The ID of the pokemon in play the tag came from (see {@linkcode BattleScene.getPokemonById}) * @param side {@linkcode ArenaTagSide} which side(s) the tag applies to * @param quiet If a message should be queued on screen to announce the tag being added @@ -684,7 +684,7 @@ export class Arena { addTag( tagType: ArenaTagType, turnCount: number, - sourceMove: Moves | undefined, + sourceMove: MoveId | undefined, sourceId: number, side: ArenaTagSide = ArenaTagSide.BOTH, quiet = false, @@ -835,78 +835,78 @@ export class Arena { /** The loop point of any given biome track, read as seconds and milliseconds. */ getBgmLoopPoint(): number { switch (this.biomeType) { - case Biome.TOWN: + case BiomeId.TOWN: return 7.288; - case Biome.PLAINS: + case BiomeId.PLAINS: return 17.485; - case Biome.GRASS: + case BiomeId.GRASS: return 1.995; - case Biome.TALL_GRASS: + case BiomeId.TALL_GRASS: return 9.608; - case Biome.METROPOLIS: + case BiomeId.METROPOLIS: return 141.47; - case Biome.FOREST: + case BiomeId.FOREST: return 0.341; - case Biome.SEA: + case BiomeId.SEA: return 0.024; - case Biome.SWAMP: + case BiomeId.SWAMP: return 4.461; - case Biome.BEACH: + case BiomeId.BEACH: return 3.462; - case Biome.LAKE: + case BiomeId.LAKE: return 7.215; - case Biome.SEABED: + case BiomeId.SEABED: return 2.6; - case Biome.MOUNTAIN: + case BiomeId.MOUNTAIN: return 4.018; - case Biome.BADLANDS: + case BiomeId.BADLANDS: return 17.79; - case Biome.CAVE: + case BiomeId.CAVE: return 14.24; - case Biome.DESERT: + case BiomeId.DESERT: return 1.143; - case Biome.ICE_CAVE: + case BiomeId.ICE_CAVE: return 0.0; - case Biome.MEADOW: + case BiomeId.MEADOW: return 3.891; - case Biome.POWER_PLANT: + case BiomeId.POWER_PLANT: return 9.447; - case Biome.VOLCANO: + case BiomeId.VOLCANO: return 17.637; - case Biome.GRAVEYARD: + case BiomeId.GRAVEYARD: return 13.711; - case Biome.DOJO: + case BiomeId.DOJO: return 6.205; - case Biome.FACTORY: + case BiomeId.FACTORY: return 4.985; - case Biome.RUINS: + case BiomeId.RUINS: return 0.0; - case Biome.WASTELAND: + case BiomeId.WASTELAND: return 6.336; - case Biome.ABYSS: + case BiomeId.ABYSS: return 5.13; - case Biome.SPACE: + case BiomeId.SPACE: return 20.036; - case Biome.CONSTRUCTION_SITE: + case BiomeId.CONSTRUCTION_SITE: return 1.222; - case Biome.JUNGLE: + case BiomeId.JUNGLE: return 0.0; - case Biome.FAIRY_CAVE: + case BiomeId.FAIRY_CAVE: return 4.542; - case Biome.TEMPLE: + case BiomeId.TEMPLE: return 2.547; - case Biome.ISLAND: + case BiomeId.ISLAND: return 2.751; - case Biome.LABORATORY: + case BiomeId.LABORATORY: return 114.862; - case Biome.SLUM: + case BiomeId.SLUM: return 0.0; - case Biome.SNOWY_FOREST: + case BiomeId.SNOWY_FOREST: return 3.047; - case Biome.END: + case BiomeId.END: return 17.153; default: - console.warn(`missing bgm loop-point for biome "${Biome[this.biomeType]}" (=${this.biomeType})`); + console.warn(`missing bgm loop-point for biome "${BiomeId[this.biomeType]}" (=${this.biomeType})`); return 0; } } @@ -916,37 +916,37 @@ export class Arena { } } -export function getBiomeKey(biome: Biome): string { - return Biome[biome].toLowerCase(); +export function getBiomeKey(biome: BiomeId): string { + return BiomeId[biome].toLowerCase(); } -export function getBiomeHasProps(biomeType: Biome): boolean { +export function getBiomeHasProps(biomeType: BiomeId): boolean { switch (biomeType) { - case Biome.METROPOLIS: - case Biome.BEACH: - case Biome.LAKE: - case Biome.SEABED: - case Biome.MOUNTAIN: - case Biome.BADLANDS: - case Biome.CAVE: - case Biome.DESERT: - case Biome.ICE_CAVE: - case Biome.MEADOW: - case Biome.POWER_PLANT: - case Biome.VOLCANO: - case Biome.GRAVEYARD: - case Biome.FACTORY: - case Biome.RUINS: - case Biome.WASTELAND: - case Biome.ABYSS: - case Biome.CONSTRUCTION_SITE: - case Biome.JUNGLE: - case Biome.FAIRY_CAVE: - case Biome.TEMPLE: - case Biome.SNOWY_FOREST: - case Biome.ISLAND: - case Biome.LABORATORY: - case Biome.END: + case BiomeId.METROPOLIS: + case BiomeId.BEACH: + case BiomeId.LAKE: + case BiomeId.SEABED: + case BiomeId.MOUNTAIN: + case BiomeId.BADLANDS: + case BiomeId.CAVE: + case BiomeId.DESERT: + case BiomeId.ICE_CAVE: + case BiomeId.MEADOW: + case BiomeId.POWER_PLANT: + case BiomeId.VOLCANO: + case BiomeId.GRAVEYARD: + case BiomeId.FACTORY: + case BiomeId.RUINS: + case BiomeId.WASTELAND: + case BiomeId.ABYSS: + case BiomeId.CONSTRUCTION_SITE: + case BiomeId.JUNGLE: + case BiomeId.FAIRY_CAVE: + case BiomeId.TEMPLE: + case BiomeId.SNOWY_FOREST: + case BiomeId.ISLAND: + case BiomeId.LABORATORY: + case BiomeId.END: return true; } @@ -955,7 +955,7 @@ export function getBiomeHasProps(biomeType: Biome): boolean { export class ArenaBase extends Phaser.GameObjects.Container { public player: boolean; - public biome: Biome; + public biome: BiomeId; public propValue: number; public base: Phaser.GameObjects.Sprite; public props: Phaser.GameObjects.Sprite[]; @@ -978,7 +978,7 @@ export class ArenaBase extends Phaser.GameObjects.Container { : []; } - setBiome(biome: Biome, propValue?: number): void { + setBiome(biome: BiomeId, propValue?: number): void { const hasProps = getBiomeHasProps(biome); const biomeKey = getBiomeKey(biome); const baseKey = `${biomeKey}_${this.player ? "a" : "b"}`; diff --git a/src/field/mystery-encounter-intro.ts b/src/field/mystery-encounter-intro.ts index b6212b6b031..f6702c690bd 100644 --- a/src/field/mystery-encounter-intro.ts +++ b/src/field/mystery-encounter-intro.ts @@ -1,13 +1,13 @@ import type { GameObjects } from "phaser"; import { globalScene } from "#app/global-scene"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import { isNullOrUndefined } from "#app/utils/common"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import type { Variant } from "#app/sprites/variant"; import { doShinySparkleAnim } from "#app/field/anims"; -import PlayAnimationConfig = Phaser.Types.Animations.PlayAnimationConfig; import { loadPokemonVariantAssets } from "#app/sprites/pokemon-sprite"; +import PlayAnimationConfig = Phaser.Types.Animations.PlayAnimationConfig; type KnownFileRoot = | "arenas" @@ -39,7 +39,7 @@ export class MysteryEncounterSpriteConfig { /** Refer to [/public/images](../../public/images) directorty for all folder names */ fileRoot: (KnownFileRoot & string) | string; /** Optional replacement for `spriteKey`/`fileRoot`. Just know this defaults to male/genderless, form 0, no shiny */ - species?: Species; + species?: SpeciesId; /** Enable shadow. Defaults to `false` */ hasShadow?: boolean = false; /** Disable animation. Defaults to `false` */ diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 329ba06fd09..cd8563cfb30 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -220,14 +220,14 @@ import i18next from "i18next"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { applyChallenges, ChallengeType } from "#app/data/challenge"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattleSpec } from "#enums/battle-spec"; import { BattlerTagType } from "#enums/battler-tag-type"; import type { BerryType } from "#enums/berry-type"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { getPokemonNameWithAffix } from "#app/messages"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { FaintPhase } from "#app/phases/faint-phase"; @@ -333,8 +333,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public status: Status | null; public friendship: number; public metLevel: number; - public metBiome: Biome | -1; - public metSpecies: Species; + public metBiome: BiomeId | -1; + public metSpecies: SpeciesId; public metWave: number; public luck: number; public pauseEvolutions: boolean; @@ -381,7 +381,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public maskEnabled: boolean; public maskSprite: Phaser.GameObjects.Sprite | null; - public usedTMs: Moves[]; + public usedTMs: MoveId[]; private shinySparkle: Phaser.GameObjects.Sprite; @@ -1123,7 +1123,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Get this {@linkcode Pokemon}'s {@linkcode PokemonSpeciesForm}. - * @param ignoreOverride - Whether to ignore overridden species from {@linkcode Moves.TRANSFORM}, default `false`. + * @param ignoreOverride - Whether to ignore overridden species from {@linkcode MoveId.TRANSFORM}, default `false`. * This overrides `useIllusion` if `true`. * @param useIllusion - `true` to use the speciesForm of the illusion; default `false`. */ @@ -1571,7 +1571,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (this.status && this.status.effect === StatusEffect.PARALYSIS) { ret >>= 1; } - if (this.getTag(BattlerTagType.UNBURDEN) && this.hasAbility(Abilities.UNBURDEN)) { + if (this.getTag(BattlerTagType.UNBURDEN) && this.hasAbility(AbilityId.UNBURDEN)) { ret *= 2; } break; @@ -1601,7 +1601,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (s === Stat.HP) { statHolder.value = statHolder.value + this.level + 10; globalScene.applyModifier(PokemonIncrementingStatModifier, this.isPlayer(), this, s, statHolder); - if (this.hasAbility(Abilities.WONDER_GUARD, false, true)) { + if (this.hasAbility(AbilityId.WONDER_GUARD, false, true)) { statHolder.value = 1; } if (this.hp > statHolder.value || this.hp === undefined) { @@ -1817,21 +1817,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } /** - * Checks if the {@linkcode Pokemon} has a fusion with the specified {@linkcode Species}. - * @param species the pokemon {@linkcode Species} to check - * @returns `true` if the {@linkcode Pokemon} has a fusion with the specified {@linkcode Species}, `false` otherwise + * Checks if the {@linkcode Pokemon} has a fusion with the specified {@linkcode SpeciesId}. + * @param species the pokemon {@linkcode SpeciesId} to check + * @returns `true` if the {@linkcode Pokemon} has a fusion with the specified {@linkcode SpeciesId}, `false` otherwise */ - hasFusionSpecies(species: Species): boolean { + hasFusionSpecies(species: SpeciesId): boolean { return this.fusionSpecies?.speciesId === species; } /** - * Checks if the {@linkcode Pokemon} has is the specified {@linkcode Species} or is fused with it. - * @param species the pokemon {@linkcode Species} to check + * Checks if the {@linkcode Pokemon} has is the specified {@linkcode SpeciesId} or is fused with it. + * @param species the pokemon {@linkcode SpeciesId} to check * @param formKey If provided, requires the species to be in that form * @returns `true` if the pokemon is the species or is fused with it, `false` otherwise */ - hasSpecies(species: Species, formKey?: string): boolean { + hasSpecies(species: SpeciesId, formKey?: string): boolean { if (isNullOrUndefined(formKey)) { return this.species.speciesId === species || this.fusionSpecies?.speciesId === species; } @@ -1848,7 +1848,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const ret = !ignoreOverride && this.summonData.moveset ? this.summonData.moveset : this.moveset; // Overrides moveset based on arrays specified in overrides.ts - let overrideArray: Moves | Array = this.isPlayer() + let overrideArray: MoveId | Array = this.isPlayer() ? Overrides.MOVESET_OVERRIDE : Overrides.OPP_MOVESET_OVERRIDE; if (!Array.isArray(overrideArray)) { @@ -1858,7 +1858,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (!this.isPlayer()) { this.moveset = []; } - overrideArray.forEach((move: Moves, index: number) => { + overrideArray.forEach((move: MoveId, index: number) => { const ppUsed = this.moveset[index]?.ppUsed ?? 0; this.moveset[index] = new PokemonMove(move, Math.min(ppUsed, allMoves[move].pp)); }); @@ -1871,11 +1871,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * Checks which egg moves have been unlocked for the {@linkcode Pokemon} based * on the species it was met at or by the first {@linkcode Pokemon} in its evolution * line that can act as a starter and provides those egg moves. - * @returns an array of {@linkcode Moves}, the length of which is determined by how many + * @returns an array of {@linkcode MoveId}, the length of which is determined by how many * egg moves are unlocked for that species. */ - getUnlockedEggMoves(): Moves[] { - const moves: Moves[] = []; + getUnlockedEggMoves(): MoveId[] { + const moves: MoveId[] = []; const species = this.metSpecies in speciesEggMoves ? this.metSpecies : this.getSpeciesForm(true).getRootSpeciesId(true); if (species in speciesEggMoves) { @@ -1894,10 +1894,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * * Available egg moves are only included if the {@linkcode Pokemon} was * in the starting party of the run and if Fresh Start is not active. - * @returns an array of {@linkcode Moves}, the length of which is determined + * @returns an array of {@linkcode MoveId}, the length of which is determined * by how many learnable moves there are for the {@linkcode Pokemon}. */ - public getLearnableLevelMoves(): Moves[] { + public getLearnableLevelMoves(): MoveId[] { let levelMoves = this.getLevelMoves(1, true, false, true).map(lm => lm[1]); if (this.metBiome === -1 && !globalScene.gameMode.isFreshStartChallenge() && !globalScene.gameMode.isDaily) { levelMoves = this.getUnlockedEggMoves().concat(levelMoves); @@ -2071,7 +2071,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return allAbilities[this.customPokemonData.ability]; } let abilityId = this.getSpeciesForm(ignoreOverride).getAbility(this.abilityIndex); - if (abilityId === Abilities.NONE) { + if (abilityId === AbilityId.NONE) { abilityId = this.species.ability1; } return allAbilities[abilityId]; @@ -2165,9 +2165,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return false; } if ( - ((Overrides.PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE || Overrides.HAS_PASSIVE_ABILITY_OVERRIDE) && + ((Overrides.PASSIVE_ABILITY_OVERRIDE !== AbilityId.NONE || Overrides.HAS_PASSIVE_ABILITY_OVERRIDE) && this.isPlayer()) || - ((Overrides.OPP_PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE || Overrides.OPP_HAS_PASSIVE_ABILITY_OVERRIDE) && + ((Overrides.OPP_PASSIVE_ABILITY_OVERRIDE !== AbilityId.NONE || Overrides.OPP_HAS_PASSIVE_ABILITY_OVERRIDE) && !this.isPlayer()) ) { return true; @@ -2238,7 +2238,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param ignoreOverride Whether to ignore ability changing effects; default `false` * @returns `true` if the ability is present and active */ - public hasAbility(ability: Abilities, canApply = true, ignoreOverride = false): boolean { + public hasAbility(ability: AbilityId, canApply = true, ignoreOverride = false): boolean { if (this.getAbility(ignoreOverride).id === ability && (!canApply || this.canApplyAbility())) { return true; } @@ -2291,11 +2291,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @returns the pokemon's current tera {@linkcode PokemonType} */ getTeraType(): PokemonType { - if (this.hasSpecies(Species.TERAPAGOS)) { + if (this.hasSpecies(SpeciesId.TERAPAGOS)) { return PokemonType.STELLAR; } - if (this.hasSpecies(Species.OGERPON)) { - const ogerponForm = this.species.speciesId === Species.OGERPON ? this.formIndex : this.fusionFormIndex; + if (this.hasSpecies(SpeciesId.OGERPON)) { + const ogerponForm = this.species.speciesId === SpeciesId.OGERPON ? this.formIndex : this.fusionFormIndex; switch (ogerponForm) { case 0: case 4: @@ -2311,7 +2311,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return PokemonType.ROCK; } } - if (this.hasSpecies(Species.SHEDINJA)) { + if (this.hasSpecies(SpeciesId.SHEDINJA)) { return PokemonType.BUG; } return this.teraType; @@ -2321,7 +2321,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return ( !!this.getTag(GroundedTag) || (!this.isOfType(PokemonType.FLYING, true, true) && - !this.hasAbility(Abilities.LEVITATE) && + !this.hasAbility(AbilityId.LEVITATE) && !this.getTag(BattlerTagType.FLOATING) && !this.getTag(SemiInvulnerableTag)) ); @@ -2382,8 +2382,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { // then bypass the check for ion deluge and electrify if ( this.isTerastallized && - (move.id === Moves.TERA_BLAST || - (move.id === Moves.TERA_STARSTORM && moveTypeHolder.value === PokemonType.STELLAR)) + (move.id === MoveId.TERA_BLAST || + (move.id === MoveId.TERA_STARSTORM && moveTypeHolder.value === PokemonType.STELLAR)) ) { return moveTypeHolder.value as PokemonType; } @@ -2780,7 +2780,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * @param ret the output array to be pushed into. */ private getUniqueMoves(levelMoves: LevelMoves, ret: LevelMoves): void { - const uniqueMoves: Moves[] = []; + const uniqueMoves: MoveId[] = []; for (const lm of levelMoves) { if (!uniqueMoves.find(m => m === lm[1])) { uniqueMoves.push(lm[1]); @@ -2794,12 +2794,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * * @returns list of egg moves */ - getEggMoves(): Moves[] | undefined { + getEggMoves(): MoveId[] | undefined { return speciesEggMoves[this.getSpeciesForm().getRootSpeciesId()]; } - setMove(moveIndex: number, moveId: Moves): void { - if (moveId === Moves.NONE) { + setMove(moveIndex: number, moveId: MoveId): void { + if (moveId === MoveId.NONE) { return; } const move = new PokemonMove(moveId); @@ -2822,7 +2822,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { */ trySetShiny(thresholdOverride?: number): boolean { // Shiny Pokemon should not spawn in the end biome in endless - if (globalScene.gameMode.isEndless && globalScene.arena.biomeType === Biome.END) { + if (globalScene.gameMode.isEndless && globalScene.arena.biomeType === BiomeId.END) { return false; } @@ -2987,7 +2987,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { !species.mythical && !species.isTrainerForbidden() && species.speciesId !== this.species.speciesId && - species.speciesId !== Species.DITTO + species.speciesId !== SpeciesId.DITTO ); }; @@ -3050,7 +3050,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** Generates a semi-random moveset for a Pokemon */ public generateAndPopulateMoveset(): void { this.moveset = []; - let movePool: [Moves, number][] = []; + let movePool: [MoveId, number][] = []; const allLevelMoves = this.getLevelMoves(1, true, true); if (!allLevelMoves) { console.warn("Error encountered trying to generate moveset for:", this.species.name); @@ -3079,7 +3079,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (this.hasTrainer()) { const tms = Object.keys(tmSpecies); for (const tm of tms) { - const moveId = Number.parseInt(tm) as Moves; + const moveId = Number.parseInt(tm) as MoveId; let compatible = false; for (const p of tmSpecies[tm]) { if (Array.isArray(p)) { @@ -3202,7 +3202,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (this.isBoss()) { weightMultiplier += 0.4; } - const baseWeights: [Moves, number][] = movePool.map(m => [m[0], Math.ceil(Math.pow(m[1], weightMultiplier) * 100)]); + const baseWeights: [MoveId, number][] = movePool.map(m => [ + m[0], + Math.ceil(Math.pow(m[1], weightMultiplier) * 100), + ]); // All Pokemon force a STAB move first const stabMovePool = baseWeights.filter( @@ -3656,7 +3659,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if ( source.isTerastallized && source.getTeraType() === PokemonType.STELLAR && - (!source.stellarTypesBoosted.includes(moveType) || source.hasSpecies(Species.TERAPAGOS)) + (!source.stellarTypesBoosted.includes(moveType) || source.hasSpecies(SpeciesId.TERAPAGOS)) ) { stabMultiplier.value += matchesSourceType ? 0.5 : 0.2; } @@ -3724,7 +3727,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if (cancelled.value || isTypeImmune) { return { cancelled: cancelled.value, - result: move.id === Moves.SHEER_COLD ? HitResult.IMMUNE : HitResult.NO_EFFECT, + result: move.id === MoveId.SHEER_COLD ? HitResult.IMMUNE : HitResult.NO_EFFECT, damage: 0, }; } @@ -4131,7 +4134,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return !cancelled.value; } - addTag(tagType: BattlerTagType, turnCount = 0, sourceMove?: Moves, sourceId?: number): boolean { + addTag(tagType: BattlerTagType, turnCount = 0, sourceMove?: MoveId, sourceId?: number): boolean { const existingTag = this.getTag(tagType); if (existingTag) { existingTag.onOverlap(this); @@ -4281,7 +4284,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if ( !tag.isBatonPassable || (tag.tagType === BattlerTagType.TELEKINESIS && - this.species.speciesId === Species.GENGAR && + this.species.speciesId === SpeciesId.GENGAR && this.getFormKey() === "mega") ) { continue; @@ -4300,19 +4303,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Gets whether the given move is currently disabled for this Pokemon. * - * @param moveId - The {@linkcode Moves} ID of the move to check + * @param moveId - The {@linkcode MoveId} ID of the move to check * @returns `true` if the move is disabled for this Pokemon, otherwise `false` * * @see {@linkcode MoveRestrictionBattlerTag} */ - public isMoveRestricted(moveId: Moves, pokemon?: Pokemon): boolean { + public isMoveRestricted(moveId: MoveId, pokemon?: Pokemon): boolean { return this.getRestrictingTag(moveId, pokemon) !== null; } /** * Gets whether the given move is currently disabled for the user based on the player's target selection * - * @param moveId - The {@linkcode Moves} ID of the move to check + * @param moveId - The {@linkcode MoveId} ID of the move to check * @param user - The move user * @param target - The target of the move * @@ -4320,7 +4323,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { * * @see {@linkcode MoveRestrictionBattlerTag} */ - isMoveTargetRestricted(moveId: Moves, user: Pokemon, target: Pokemon): boolean { + isMoveTargetRestricted(moveId: MoveId, user: Pokemon, target: Pokemon): boolean { for (const tag of this.findTags(t => t instanceof MoveRestrictionBattlerTag)) { if ((tag as MoveRestrictionBattlerTag).isMoveTargetRestricted(moveId, user, target)) { return (tag as MoveRestrictionBattlerTag) !== null; @@ -4332,12 +4335,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Gets the {@link MoveRestrictionBattlerTag} that is restricting a move, if it exists. * - * @param moveId - {@linkcode Moves} ID of the move to check + * @param moveId - {@linkcode MoveId} ID of the move to check * @param user - {@linkcode Pokemon} the move user, optional and used when the target is a factor in the move's restricted status * @param target - {@linkcode Pokemon} the target of the move, optional and used when the target is a factor in the move's restricted status * @returns The first tag on this Pokemon that restricts the move, or `null` if the move is not restricted. */ - getRestrictingTag(moveId: Moves, user?: Pokemon, target?: Pokemon): MoveRestrictionBattlerTag | null { + getRestrictingTag(moveId: MoveId, user?: Pokemon, target?: Pokemon): MoveRestrictionBattlerTag | null { for (const tag of this.findTags(t => t instanceof MoveRestrictionBattlerTag)) { if ((tag as MoveRestrictionBattlerTag).isMoveRestricted(moveId, user)) { return tag as MoveRestrictionBattlerTag; @@ -4899,7 +4902,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { if ( this.hasAbilityWithAttr(CommanderAbAttr) && globalScene.currentBattle.double && - this.getAlly()?.species.speciesId === Species.DONDOZO + this.getAlly()?.species.speciesId === SpeciesId.DONDOZO ) { this.setVisible(false); } @@ -5509,7 +5512,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { export class PlayerPokemon extends Pokemon { protected battleInfo: PlayerBattleInfo; - public compatibleTms: Moves[]; + public compatibleTms: MoveId[]; constructor( species: PokemonSpecies, @@ -5580,7 +5583,7 @@ export class PlayerPokemon extends Pokemon { const tms = Object.keys(tmSpecies); for (const tm of tms) { - const moveId = Number.parseInt(tm) as Moves; + const moveId = Number.parseInt(tm) as MoveId; let compatible = false; for (const p of tmSpecies[tm]) { if (Array.isArray(p)) { @@ -5677,7 +5680,7 @@ export class PlayerPokemon extends Pokemon { } // Add to candy progress for this mon's starter species and its fused species (if it has one) starterData.forEach((sd: StarterDataEntry, i: number) => { - const speciesId = !i ? starterSpeciesId : (fusionStarterSpeciesId as Species); + const speciesId = !i ? starterSpeciesId : (fusionStarterSpeciesId as SpeciesId); sd.friendship = (sd.friendship || 0) + starterAmount.value; if (sd.friendship >= getStarterValueFriendshipCap(speciesStarterCosts[speciesId])) { globalScene.gameData.addStarterCandy(getPokemonSpecies(speciesId), 1); @@ -5812,7 +5815,7 @@ export class PlayerPokemon extends Pokemon { this.updateInfo(true).then(() => resolve()); }); }; - if (preEvolution.speciesId === Species.GIMMIGHOUL) { + if (preEvolution.speciesId === SpeciesId.GIMMIGHOUL) { const evotracker = this.getHeldItems().filter(m => m instanceof EvoTrackerModifier)[0] ?? null; if (evotracker) { globalScene.removeModifier(evotracker); @@ -5832,7 +5835,7 @@ export class PlayerPokemon extends Pokemon { const isFusion = evolution instanceof FusionSpeciesFormEvolution; const evoSpecies = !isFusion ? this.species : this.fusionSpecies; - if (evoSpecies?.speciesId === Species.NINCADA && evolution.speciesId === Species.NINJASK) { + if (evoSpecies?.speciesId === SpeciesId.NINCADA && evolution.speciesId === SpeciesId.NINJASK) { const newEvolution = pokemonEvolutions[evoSpecies.speciesId][1]; if (newEvolution.condition?.predicate(this)) { @@ -6108,7 +6111,7 @@ export class EnemyPokemon extends Pokemon { this.luck = (this.shiny ? this.variant + 1 : 0) + (this.fusionShiny ? this.fusionVariant + 1 : 0); - let prevolution: Species; + let prevolution: SpeciesId; let speciesId = species.speciesId; while ((prevolution = pokemonPrevolutions[speciesId])) { const evolution = pokemonEvolutions[prevolution].find( @@ -6164,30 +6167,30 @@ export class EnemyPokemon extends Pokemon { generateAndPopulateMoveset(formIndex?: number): void { switch (true) { - case this.species.speciesId === Species.SMEARGLE: + case this.species.speciesId === SpeciesId.SMEARGLE: this.moveset = [ - new PokemonMove(Moves.SKETCH), - new PokemonMove(Moves.SKETCH), - new PokemonMove(Moves.SKETCH), - new PokemonMove(Moves.SKETCH), + new PokemonMove(MoveId.SKETCH), + new PokemonMove(MoveId.SKETCH), + new PokemonMove(MoveId.SKETCH), + new PokemonMove(MoveId.SKETCH), ]; break; - case this.species.speciesId === Species.ETERNATUS: + case this.species.speciesId === SpeciesId.ETERNATUS: this.moveset = (formIndex !== undefined ? formIndex : this.formIndex) ? [ - new PokemonMove(Moves.DYNAMAX_CANNON), - new PokemonMove(Moves.CROSS_POISON), - new PokemonMove(Moves.FLAMETHROWER), - new PokemonMove(Moves.RECOVER, 0, -4), + new PokemonMove(MoveId.DYNAMAX_CANNON), + new PokemonMove(MoveId.CROSS_POISON), + new PokemonMove(MoveId.FLAMETHROWER), + new PokemonMove(MoveId.RECOVER, 0, -4), ] : [ - new PokemonMove(Moves.ETERNABEAM), - new PokemonMove(Moves.SLUDGE_BOMB), - new PokemonMove(Moves.FLAMETHROWER), - new PokemonMove(Moves.COSMIC_POWER), + new PokemonMove(MoveId.ETERNABEAM), + new PokemonMove(MoveId.SLUDGE_BOMB), + new PokemonMove(MoveId.FLAMETHROWER), + new PokemonMove(MoveId.COSMIC_POWER), ]; if (globalScene.gameMode.hasChallenge(Challenges.INVERSE_BATTLE)) { - this.moveset[2] = new PokemonMove(Moves.THUNDERBOLT); + this.moveset[2] = new PokemonMove(MoveId.THUNDERBOLT); } break; default: @@ -6273,7 +6276,7 @@ export class EnemyPokemon extends Pokemon { moveTargets.some(p => { const doesNotFail = move.applyConditions(this, p, move) || - [Moves.SUCKER_PUNCH, Moves.UPPER_HAND, Moves.THUNDERCLAP].includes(move.id); + [MoveId.SUCKER_PUNCH, MoveId.UPPER_HAND, MoveId.THUNDERCLAP].includes(move.id); return ( doesNotFail && p.getAttackDamage({ @@ -6332,7 +6335,7 @@ export class EnemyPokemon extends Pokemon { */ if ( (move.name.endsWith(" (N)") || !move.applyConditions(this, target, move)) && - ![Moves.SUCKER_PUNCH, Moves.UPPER_HAND, Moves.THUNDERCLAP].includes(move.id) + ![MoveId.SUCKER_PUNCH, MoveId.UPPER_HAND, MoveId.THUNDERCLAP].includes(move.id) ) { targetScore = -20; } else if (move instanceof AttackMove) { @@ -6417,17 +6420,17 @@ export class EnemyPokemon extends Pokemon { } return { - move: Moves.STRUGGLE, - targets: this.getNextTargets(Moves.STRUGGLE), + move: MoveId.STRUGGLE, + targets: this.getNextTargets(MoveId.STRUGGLE), }; } /** * Determines the Pokemon the given move would target if used by this Pokemon - * @param moveId {@linkcode Moves} The move to be used + * @param moveId {@linkcode MoveId} The move to be used * @returns The indexes of the Pokemon the given move would target */ - getNextTargets(moveId: Moves): BattlerIndex[] { + getNextTargets(moveId: MoveId): BattlerIndex[] { const moveTargets = getMoveTargets(this, moveId); const targets = globalScene.getField(true).filter(p => moveTargets.targets.indexOf(p.getBattlerIndex()) > -1); // If the move is multi-target, return all targets' indexes @@ -6702,7 +6705,6 @@ export class EnemyPokemon extends Pokemon { return ret; } - /** * Show or hide the type effectiveness multiplier window * Passing undefined will hide the window @@ -6735,7 +6737,7 @@ interface IllusionData { fusionVariant: Variant; }; /** The species of the illusion */ - species: Species; + species: SpeciesId; /** The formIndex of the illusion */ formIndex: number; /** The gender of the illusion */ @@ -6753,7 +6755,7 @@ interface IllusionData { } export interface TurnMove { - move: Moves; + move: MoveId; targets: BattlerIndex[]; result?: MoveResult; virtual?: boolean; @@ -6762,7 +6764,7 @@ export interface TurnMove { } export interface AttackMoveResult { - move: Moves; + move: MoveId; result: DamageResult; damage: number; critical: boolean; @@ -6785,8 +6787,8 @@ export class PokemonSummonData { // TODO: Move these into a separate class & add rage fist hit count public speciesForm: PokemonSpeciesForm | null = null; public fusionSpeciesForm: PokemonSpeciesForm | null = null; - public ability: Abilities | undefined; - public passiveAbility: Abilities | undefined; + public ability: AbilityId | undefined; + public passiveAbility: AbilityId | undefined; public gender: Gender | undefined; public fusionGender: Gender | undefined; public stats: number[] = [0, 0, 0, 0, 0, 0]; @@ -6800,7 +6802,7 @@ export class PokemonSummonData { public illusion: IllusionData | null = null; public illusionBroken = false; - /** Array containing all berries eaten in the last turn; used by {@linkcode Abilities.CUD_CHEW} */ + /** Array containing all berries eaten in the last turn; used by {@linkcode AbilityId.CUD_CHEW} */ public berriesEatenLast: BerryType[] = []; /** @@ -6849,7 +6851,7 @@ export class PokemonTempSummonData { * Reset on switch and new wave, but not stored in `SummonData` to avoid being written to the save file. * Used to evaluate "first turn only" conditions such as - * {@linkcode Moves.FAKE_OUT | Fake Out} and {@linkcode Moves.FIRST_IMPRESSION | First Impression}). + * {@linkcode MoveId.FAKE_OUT | Fake Out} and {@linkcode MoveId.FIRST_IMPRESSION | First Impression}). */ waveTurnCount = 1; } @@ -6859,11 +6861,11 @@ export class PokemonTempSummonData { * Resets at the start of a new battle (but not on switch). */ export class PokemonBattleData { - /** Counter tracking direct hits this Pokemon has received during this battle; used for {@linkcode Moves.RAGE_FIST} */ + /** Counter tracking direct hits this Pokemon has received during this battle; used for {@linkcode MoveId.RAGE_FIST} */ public hitCount = 0; - /** Whether this Pokemon has eaten a berry this battle; used for {@linkcode Moves.BELCH} */ + /** Whether this Pokemon has eaten a berry this battle; used for {@linkcode MoveId.BELCH} */ public hasEatenBerry = false; - /** Array containing all berries eaten and not yet recovered during this current battle; used by {@linkcode Abilities.HARVEST} */ + /** Array containing all berries eaten and not yet recovered during this current battle; used by {@linkcode AbilityId.HARVEST} */ public berriesEaten: BerryType[] = []; constructor(source?: PokemonBattleData | Partial) { @@ -6886,7 +6888,7 @@ export class PokemonWaveData { * A set of all the abilities this {@linkcode Pokemon} has used in this wave. * Used to track once per battle conditions, as well as (hopefully) by the updated AI for move effectiveness. */ - public abilitiesApplied: Set = new Set(); + public abilitiesApplied: Set = new Set(); /** Whether the pokemon's ability has been revealed or not */ public abilityRevealed = false; } @@ -6913,7 +6915,7 @@ export class PokemonTurnData { public statStagesIncreased = false; public statStagesDecreased = false; public moveEffectiveness: TypeDamageMultiplier | null = null; - public combiningPledge?: Moves; + public combiningPledge?: MoveId; public switchedInThisTurn = false; public failedRunAway = false; public joinedRound = false; @@ -6924,7 +6926,7 @@ export class PokemonTurnData { public extraTurns = 0; /** * All berries eaten by this pokemon in this turn. - * Saved into {@linkcode PokemonSummonData | SummonData} by {@linkcode Abilities.CUD_CHEW} on turn end. + * Saved into {@linkcode PokemonSummonData | SummonData} by {@linkcode AbilityId.CUD_CHEW} on turn end. * @see {@linkcode PokemonSummonData.berriesEatenLast} */ public berriesEaten: BerryType[] = []; @@ -6993,7 +6995,7 @@ export interface DamageCalculationResult { * @see {@linkcode getName} - returns name of {@linkcode Move}. **/ export class PokemonMove { - public moveId: Moves; + public moveId: MoveId; public ppUsed: number; public ppUp: number; public virtual: boolean; @@ -7004,7 +7006,7 @@ export class PokemonMove { */ public maxPpOverride?: number; - constructor(moveId: Moves, ppUsed = 0, ppUp = 0, virtual = false, maxPpOverride?: number) { + constructor(moveId: MoveId, ppUsed = 0, ppUp = 0, virtual = false, maxPpOverride?: number) { this.moveId = moveId; this.ppUsed = ppUsed; this.ppUp = ppUp; diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 6b0a54b2103..244a23185da 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -17,7 +17,7 @@ import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; import { getIsInitialized, initI18n } from "#app/plugins/i18n"; import i18next from "i18next"; import { PartyMemberStrength } from "#enums/party-member-strength"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TrainerType } from "#enums/trainer-type"; import { signatureSpecies } from "#app/data/balance/signature-species"; @@ -358,7 +358,7 @@ export default class Trainer extends Phaser.GameObjects.Container { } // Create an empty species pool (which will be set to one of the species pools based on the index) - let newSpeciesPool: Species[] = []; + let newSpeciesPool: SpeciesId[] = []; let useNewSpeciesPool = false; // If we are in a double battle of named trainers, we need to use alternate species pools (generate half the party from each trainer) @@ -399,9 +399,9 @@ export default class Trainer extends Phaser.GameObjects.Container { if (!(index % 2)) { // Since the only currently allowed double battle with named trainers is Tate & Liza, we need to make sure that Solrock is the first pokemon in the party for Tate and Lunatone for Liza if (index === 0 && TrainerType[this.config.trainerType] === TrainerType[TrainerType.TATE]) { - newSpeciesPool = [Species.SOLROCK]; + newSpeciesPool = [SpeciesId.SOLROCK]; } else if (index === 0 && TrainerType[this.config.trainerType] === TrainerType[TrainerType.LIZA]) { - newSpeciesPool = [Species.LUNATONE]; + newSpeciesPool = [SpeciesId.LUNATONE]; } else { newSpeciesPool = speciesPoolFiltered; } @@ -409,9 +409,9 @@ export default class Trainer extends Phaser.GameObjects.Container { // If the index is odd, use the species pool for the partner trainer (that way he only uses his own pokemon in battle) // Since the only currently allowed double battle with named trainers is Tate & Liza, we need to make sure that Solrock is the first pokemon in the party for Tate and Lunatone for Liza if (index === 1 && TrainerType[this.config.trainerTypeDouble] === TrainerType[TrainerType.TATE]) { - newSpeciesPool = [Species.SOLROCK]; + newSpeciesPool = [SpeciesId.SOLROCK]; } else if (index === 1 && TrainerType[this.config.trainerTypeDouble] === TrainerType[TrainerType.LIZA]) { - newSpeciesPool = [Species.LUNATONE]; + newSpeciesPool = [SpeciesId.LUNATONE]; } else { newSpeciesPool = speciesPoolPartnerFiltered; } @@ -542,10 +542,10 @@ export default class Trainer extends Phaser.GameObjects.Container { /** * Checks if the enemy trainer already has the Pokemon species in their party - * @param baseSpecies - The base {@linkcode Species} of the current Pokemon + * @param baseSpecies - The base {@linkcode SpeciesId} of the current Pokemon * @returns `true` if the species is already present in the party */ - checkDuplicateSpecies(baseSpecies: Species): boolean { + checkDuplicateSpecies(baseSpecies: SpeciesId): boolean { const staticSpecies = (signatureSpecies[TrainerType[this.config.trainerType]] ?? []).flat(1).map(s => { let root = s; while (pokemonPrevolutions.hasOwnProperty(root)) { diff --git a/src/game-mode.ts b/src/game-mode.ts index 97398d2b0a9..7ad8a6a83e9 100644 --- a/src/game-mode.ts +++ b/src/game-mode.ts @@ -8,8 +8,8 @@ import { allSpecies } from "./data/pokemon-species"; import type { Arena } from "./field/arena"; import Overrides from "#app/overrides"; import { isNullOrUndefined, randSeedInt, randSeedItem } from "#app/utils/common"; -import { Biome } from "#enums/biome"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { SpeciesId } from "#enums/species-id"; import { Challenges } from "./enums/challenges"; import { globalScene } from "#app/global-scene"; import { getDailyStartingBiome } from "./data/daily-run"; @@ -128,7 +128,7 @@ export class GameMode implements GameModeConfig { * - random biome for Daily mode * - Town */ - getStartingBiome(): Biome { + getStartingBiome(): BiomeId { if (!isNullOrUndefined(Overrides.STARTING_BIOME_OVERRIDE)) { return Overrides.STARTING_BIOME_OVERRIDE; } @@ -137,7 +137,7 @@ export class GameMode implements GameModeConfig { case GameModes.DAILY: return getDailyStartingBiome(); default: - return Biome.TOWN; + return BiomeId.TOWN; } } @@ -202,14 +202,14 @@ export class GameMode implements GameModeConfig { return false; } - isTrainerBoss(waveIndex: number, biomeType: Biome, offsetGym: boolean): boolean { + isTrainerBoss(waveIndex: number, biomeType: BiomeId, offsetGym: boolean): boolean { switch (this.modeId) { case GameModes.DAILY: return waveIndex > 10 && waveIndex < 50 && !(waveIndex % 10); default: return ( waveIndex % 30 === (offsetGym ? 0 : 20) && - (biomeType !== Biome.END || this.isClassic || this.isWaveFinal(waveIndex)) + (biomeType !== BiomeId.END || this.isClassic || this.isWaveFinal(waveIndex)) ); } } @@ -220,8 +220,8 @@ export class GameMode implements GameModeConfig { s => (s.subLegendary || s.legendary || s.mythical) && s.baseTotal >= 600 && - s.speciesId !== Species.ETERNATUS && - s.speciesId !== Species.ARCEUS, + s.speciesId !== SpeciesId.ETERNATUS && + s.speciesId !== SpeciesId.ARCEUS, ); return randSeedItem(allFinalBossSpecies); } diff --git a/src/loading-scene.ts b/src/loading-scene.ts index 914e6e961e2..67ca9a28bc5 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -18,7 +18,7 @@ import { initChallenges } from "#app/data/challenge"; import i18next from "i18next"; import { initStatsKeys } from "#app/ui/game-stats-ui-handler"; import { initVouchers } from "#app/system/voucher"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { initMysteryEncounters } from "#app/data/mystery-encounters/mystery-encounters"; import { timedEventManager } from "./global-event-manager"; @@ -177,8 +177,8 @@ export class LoadingScene extends SceneBase { this.loadImage("default_bg", "arenas"); // Load arena images - getEnumValues(Biome).map(bt => { - const btKey = Biome[bt].toLowerCase(); + getEnumValues(BiomeId).map(bt => { + const btKey = BiomeId[bt].toLowerCase(); const isBaseAnimated = btKey === "end"; const baseAKey = `${btKey}_a`; const baseBKey = `${btKey}_b`; diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 912e12f19dc..ccbc202407b 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -116,13 +116,13 @@ import { padInt, randSeedInt, } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Nature } from "#enums/nature"; import { PokeballType } from "#enums/pokeball"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { SpeciesFormKey } from "#enums/species-form-key"; import type { PermanentStat, TempBattleStat } from "#enums/stat"; import { getStatKey, Stat, TEMP_BATTLE_STATS } from "#enums/stat"; @@ -430,7 +430,7 @@ export class TerastallizeModifierType extends PokemonModifierType { (pokemon: PlayerPokemon) => { if ( [pokemon.species.speciesId, pokemon.fusionSpecies?.speciesId].filter( - s => s === Species.TERAPAGOS || s === Species.OGERPON || s === Species.SHEDINJA, + s => s === SpeciesId.TERAPAGOS || s === SpeciesId.OGERPON || s === SpeciesId.SHEDINJA, ).length > 0 ) { return PartyUiHandler.NoEffectMessage; @@ -1165,9 +1165,9 @@ export class PokemonMultiHitModifierType extends PokemonHeldItemModifierType { } export class TmModifierType extends PokemonModifierType { - public moveId: Moves; + public moveId: MoveId; - constructor(moveId: Moves) { + constructor(moveId: MoveId) { super( "", `tm_${PokemonType[allMoves[moveId].type].toLowerCase()}`, @@ -1439,37 +1439,37 @@ class SpeciesStatBoosterModifierTypeGenerator extends ModifierTypeGenerator { LIGHT_BALL: { stats: [Stat.ATK, Stat.SPATK], multiplier: 2, - species: [Species.PIKACHU], + species: [SpeciesId.PIKACHU], rare: true, }, THICK_CLUB: { stats: [Stat.ATK], multiplier: 2, - species: [Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK], + species: [SpeciesId.CUBONE, SpeciesId.MAROWAK, SpeciesId.ALOLA_MAROWAK], rare: true, }, METAL_POWDER: { stats: [Stat.DEF], multiplier: 2, - species: [Species.DITTO], + species: [SpeciesId.DITTO], rare: true, }, QUICK_POWDER: { stats: [Stat.SPD], multiplier: 2, - species: [Species.DITTO], + species: [SpeciesId.DITTO], rare: true, }, DEEP_SEA_SCALE: { stats: [Stat.SPDEF], multiplier: 2, - species: [Species.CLAMPERL], + species: [SpeciesId.CLAMPERL], rare: false, }, DEEP_SEA_TOOTH: { stats: [Stat.SPATK], multiplier: 2, - species: [Species.CLAMPERL], + species: [SpeciesId.CLAMPERL], rare: false, }, }; @@ -1498,7 +1498,7 @@ class SpeciesStatBoosterModifierTypeGenerator extends ModifierTypeGenerator { const speciesId = p.getSpeciesForm(true).speciesId; const fusionSpeciesId = p.isFusion() ? p.getFusionSpeciesForm(true).speciesId : null; // TODO: Use commented boolean when Fling is implemented - const hasFling = false; /* p.getMoveset(true).some(m => m.moveId === Moves.FLING) */ + const hasFling = false; /* p.getMoveset(true).some(m => m.moveId === MoveId.FLING) */ for (const i in values) { const checkedSpecies = values[i].species; @@ -1517,7 +1517,7 @@ class SpeciesStatBoosterModifierTypeGenerator extends ModifierTypeGenerator { if (checkedSpecies.includes(speciesId) || (!!fusionSpeciesId && checkedSpecies.includes(fusionSpeciesId))) { // Add weight if party member has a matching species or, if applicable, a matching fusion species weights[i]++; - } else if (checkedSpecies.includes(Species.PIKACHU) && hasFling) { + } else if (checkedSpecies.includes(SpeciesId.PIKACHU) && hasFling) { // Add weight to Light Ball if party member has Fling weights[i]++; } @@ -1553,8 +1553,8 @@ class SpeciesStatBoosterModifierTypeGenerator extends ModifierTypeGenerator { class TmModifierTypeGenerator extends ModifierTypeGenerator { constructor(tier: ModifierTier) { super((party: Pokemon[], pregenArgs?: any[]) => { - if (pregenArgs && pregenArgs.length === 1 && pregenArgs[0] in Moves) { - return new TmModifierType(pregenArgs[0] as Moves); + if (pregenArgs && pregenArgs.length === 1 && pregenArgs[0] in MoveId) { + return new TmModifierType(pregenArgs[0] as MoveId); } const partyMemberCompatibleTms = party.map(p => { const previousLevelMoves = p.getLearnableLevelMoves(); @@ -1588,7 +1588,9 @@ class EvolutionItemModifierTypeGenerator extends ModifierTypeGenerator { .filter( p => pokemonEvolutions.hasOwnProperty(p.species.speciesId) && - (!p.pauseEvolutions || p.species.speciesId === Species.SLOWPOKE || p.species.speciesId === Species.EEVEE), + (!p.pauseEvolutions || + p.species.speciesId === SpeciesId.SLOWPOKE || + p.species.speciesId === SpeciesId.EEVEE), ) .flatMap(p => { const evolutions = pokemonEvolutions[p.species.speciesId]; @@ -1606,8 +1608,8 @@ class EvolutionItemModifierTypeGenerator extends ModifierTypeGenerator { p.fusionSpecies && pokemonEvolutions.hasOwnProperty(p.fusionSpecies.speciesId) && (!p.pauseEvolutions || - p.fusionSpecies.speciesId === Species.SLOWPOKE || - p.fusionSpecies.speciesId === Species.EEVEE), + p.fusionSpecies.speciesId === SpeciesId.SLOWPOKE || + p.fusionSpecies.speciesId === SpeciesId.EEVEE), ) .flatMap(p => { const evolutions = pokemonEvolutions[p.fusionSpecies!.speciesId]; @@ -1671,7 +1673,7 @@ class FormChangeItemModifierTypeGenerator extends ModifierTypeGenerator { ), ); - if (p.species.speciesId === Species.NECROZMA) { + if (p.species.speciesId === SpeciesId.NECROZMA) { // technically we could use a simplified version and check for formChanges.length > 3, but in case any code changes later, this might break... let foundULTRA_Z = false, foundN_LUNA = false, @@ -1904,7 +1906,7 @@ export type GeneratorModifierOverride = { } | { name: keyof Pick; - type?: Moves; + type?: MoveId; } ); @@ -1932,7 +1934,7 @@ export const modifierTypes = { new PokemonHeldItemModifierType( "modifierType:ModifierType.EVOLUTION_TRACKER_GIMMIGHOUL", "relic_gold", - (type, args) => new EvoTrackerModifier(type, (args[0] as Pokemon).id, Species.GIMMIGHOUL, 10), + (type, args) => new EvoTrackerModifier(type, (args[0] as Pokemon).id, SpeciesId.GIMMIGHOUL, 10), ), MEGA_BRACELET: () => @@ -2046,7 +2048,9 @@ export const modifierTypes = { } const teraTypes: PokemonType[] = []; for (const p of party) { - if (!(p.hasSpecies(Species.TERAPAGOS) || p.hasSpecies(Species.OGERPON) || p.hasSpecies(Species.SHEDINJA))) { + if ( + !(p.hasSpecies(SpeciesId.TERAPAGOS) || p.hasSpecies(SpeciesId.OGERPON) || p.hasSpecies(SpeciesId.SHEDINJA)) + ) { teraTypes.push(p.teraType); } } @@ -2125,9 +2129,9 @@ export const modifierTypes = { "leek", (type, args) => new SpeciesCritBoosterModifier(type, (args[0] as Pokemon).id, 2, [ - Species.FARFETCHD, - Species.GALAR_FARFETCHD, - Species.SIRFETCHD, + SpeciesId.FARFETCHD, + SpeciesId.GALAR_FARFETCHD, + SpeciesId.SIRFETCHD, ]), ), @@ -2674,7 +2678,8 @@ const modifierPool: ModifierPool = { new WeightedModifierType(modifierTypes.BASE_STAT_BOOSTER, 3), new WeightedModifierType(modifierTypes.TERA_SHARD, (party: Pokemon[]) => party.filter( - p => !(p.hasSpecies(Species.TERAPAGOS) || p.hasSpecies(Species.OGERPON) || p.hasSpecies(Species.SHEDINJA)), + p => + !(p.hasSpecies(SpeciesId.TERAPAGOS) || p.hasSpecies(SpeciesId.OGERPON) || p.hasSpecies(SpeciesId.SHEDINJA)), ).length > 0 ? 1 : 0, @@ -2744,7 +2749,7 @@ const modifierPool: ModifierPool = { new WeightedModifierType( modifierTypes.LEEK, (party: Pokemon[]) => { - const checkedSpecies = [Species.FARFETCHD, Species.GALAR_FARFETCHD, Species.SIRFETCHD]; + const checkedSpecies = [SpeciesId.FARFETCHD, SpeciesId.GALAR_FARFETCHD, SpeciesId.SIRFETCHD]; // If a party member doesn't already have a Leek and is one of the relevant species, Leek can appear return party.some( p => @@ -2771,25 +2776,25 @@ const modifierPool: ModifierPool = { const canSetStatus = p.canSetStatus(StatusEffect.TOXIC, true, true, null, true); // Moves that take advantage of obtaining the actual status effect - const hasStatusMoves = [Moves.FACADE, Moves.PSYCHO_SHIFT].some(m => moveset.includes(m)); + const hasStatusMoves = [MoveId.FACADE, MoveId.PSYCHO_SHIFT].some(m => moveset.includes(m)); // Moves that take advantage of being able to give the target a status orb // TODO: Take moves (Trick, Fling, Switcheroo) from comment when they are implemented const hasItemMoves = [ - /* Moves.TRICK, Moves.FLING, Moves.SWITCHEROO */ + /* MoveId.TRICK, MoveId.FLING, MoveId.SWITCHEROO */ ].some(m => moveset.includes(m)); if (canSetStatus) { // Abilities that take advantage of obtaining the actual status effect, separated based on specificity to the orb const hasGeneralAbility = [ - Abilities.QUICK_FEET, - Abilities.GUTS, - Abilities.MARVEL_SCALE, - Abilities.MAGIC_GUARD, + AbilityId.QUICK_FEET, + AbilityId.GUTS, + AbilityId.MARVEL_SCALE, + AbilityId.MAGIC_GUARD, ].some(a => p.hasAbility(a, false, true)); - const hasSpecificAbility = [Abilities.TOXIC_BOOST, Abilities.POISON_HEAL].some(a => + const hasSpecificAbility = [AbilityId.TOXIC_BOOST, AbilityId.POISON_HEAL].some(a => p.hasAbility(a, false, true), ); - const hasOppositeAbility = [Abilities.FLARE_BOOST].some(a => p.hasAbility(a, false, true)); + const hasOppositeAbility = [AbilityId.FLARE_BOOST].some(a => p.hasAbility(a, false, true)); return hasSpecificAbility || (hasGeneralAbility && !hasOppositeAbility) || hasStatusMoves; } @@ -2817,23 +2822,23 @@ const modifierPool: ModifierPool = { const canSetStatus = p.canSetStatus(StatusEffect.BURN, true, true, null, true); // Moves that take advantage of obtaining the actual status effect - const hasStatusMoves = [Moves.FACADE, Moves.PSYCHO_SHIFT].some(m => moveset.includes(m)); + const hasStatusMoves = [MoveId.FACADE, MoveId.PSYCHO_SHIFT].some(m => moveset.includes(m)); // Moves that take advantage of being able to give the target a status orb // TODO: Take moves (Trick, Fling, Switcheroo) from comment when they are implemented const hasItemMoves = [ - /* Moves.TRICK, Moves.FLING, Moves.SWITCHEROO */ + /* MoveId.TRICK, MoveId.FLING, MoveId.SWITCHEROO */ ].some(m => moveset.includes(m)); if (canSetStatus) { // Abilities that take advantage of obtaining the actual status effect, separated based on specificity to the orb const hasGeneralAbility = [ - Abilities.QUICK_FEET, - Abilities.GUTS, - Abilities.MARVEL_SCALE, - Abilities.MAGIC_GUARD, + AbilityId.QUICK_FEET, + AbilityId.GUTS, + AbilityId.MARVEL_SCALE, + AbilityId.MAGIC_GUARD, ].some(a => p.hasAbility(a, false, true)); - const hasSpecificAbility = [Abilities.FLARE_BOOST].some(a => p.hasAbility(a, false, true)); - const hasOppositeAbility = [Abilities.TOXIC_BOOST, Abilities.POISON_HEAL].some(a => + const hasSpecificAbility = [AbilityId.FLARE_BOOST].some(a => p.hasAbility(a, false, true)); + const hasOppositeAbility = [AbilityId.TOXIC_BOOST, AbilityId.POISON_HEAL].some(a => p.hasAbility(a, false, true), ); @@ -2865,31 +2870,31 @@ const modifierPool: ModifierPool = { const moveset = p.getMoveset(true).map(m => m.moveId); const hasAbility = [ - Abilities.DROUGHT, - Abilities.ORICHALCUM_PULSE, - Abilities.DRIZZLE, - Abilities.SAND_STREAM, - Abilities.SAND_SPIT, - Abilities.SNOW_WARNING, - Abilities.ELECTRIC_SURGE, - Abilities.HADRON_ENGINE, - Abilities.PSYCHIC_SURGE, - Abilities.GRASSY_SURGE, - Abilities.SEED_SOWER, - Abilities.MISTY_SURGE, + AbilityId.DROUGHT, + AbilityId.ORICHALCUM_PULSE, + AbilityId.DRIZZLE, + AbilityId.SAND_STREAM, + AbilityId.SAND_SPIT, + AbilityId.SNOW_WARNING, + AbilityId.ELECTRIC_SURGE, + AbilityId.HADRON_ENGINE, + AbilityId.PSYCHIC_SURGE, + AbilityId.GRASSY_SURGE, + AbilityId.SEED_SOWER, + AbilityId.MISTY_SURGE, ].some(a => p.hasAbility(a, false, true)); const hasMoves = [ - Moves.SUNNY_DAY, - Moves.RAIN_DANCE, - Moves.SANDSTORM, - Moves.SNOWSCAPE, - Moves.HAIL, - Moves.CHILLY_RECEPTION, - Moves.ELECTRIC_TERRAIN, - Moves.PSYCHIC_TERRAIN, - Moves.GRASSY_TERRAIN, - Moves.MISTY_TERRAIN, + MoveId.SUNNY_DAY, + MoveId.RAIN_DANCE, + MoveId.SANDSTORM, + MoveId.SNOWSCAPE, + MoveId.HAIL, + MoveId.CHILLY_RECEPTION, + MoveId.ELECTRIC_TERRAIN, + MoveId.PSYCHIC_TERRAIN, + MoveId.GRASSY_TERRAIN, + MoveId.MISTY_TERRAIN, ].some(m => moveset.includes(m)); return hasAbility || hasMoves; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 42e0155bdd8..11631b64451 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -18,10 +18,10 @@ import { addTextObject, TextStyle } from "#app/ui/text"; import { BooleanHolder, hslToHex, isNullOrUndefined, NumberHolder, toDmgValue } from "#app/utils/common"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import type { Nature } from "#enums/nature"; import type { PokeballType } from "#enums/pokeball"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { type PermanentStat, type TempBattleStat, BATTLE_STATS, Stat, TEMP_BATTLE_STATS } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import type { PokemonType } from "#enums/pokemon-type"; @@ -873,11 +873,11 @@ export class BaseStatModifier extends PokemonHeldItemModifier { } export class EvoTrackerModifier extends PokemonHeldItemModifier { - protected species: Species; + protected species: SpeciesId; protected required: number; public isTransferable = false; - constructor(type: ModifierType, pokemonId: number, species: Species, required: number, stackCount?: number) { + constructor(type: ModifierType, pokemonId: number, species: SpeciesId, required: number, stackCount?: number) { super(type, pokemonId, stackCount); this.species = species; this.required = required; @@ -1268,20 +1268,20 @@ export class EvolutionStatBoosterModifier extends StatBoosterModifier { /** * Modifier used for held items that Applies {@linkcode Stat} boost(s) using a - * multiplier if the holder is of a specific {@linkcode Species}. + * multiplier if the holder is of a specific {@linkcode SpeciesId}. * @extends StatBoosterModifier * @see {@linkcode apply} */ export class SpeciesStatBoosterModifier extends StatBoosterModifier { /** The species that the held item's stat boost(s) apply to */ - private species: Species[]; + private species: SpeciesId[]; constructor( type: ModifierType, pokemonId: number, stats: Stat[], multiplier: number, - species: Species[], + species: SpeciesId[], stackCount?: number, ) { super(type, pokemonId, stats, multiplier, stackCount); @@ -1316,7 +1316,7 @@ export class SpeciesStatBoosterModifier extends StatBoosterModifier { } /** - * Checks if the incoming stat is listed in {@linkcode stats} and if the holder's {@linkcode Species} + * Checks if the incoming stat is listed in {@linkcode stats} and if the holder's {@linkcode SpeciesId} * (or its fused species) is listed in {@linkcode species}. * @param pokemon {@linkcode Pokemon} that holds the item * @param stat {@linkcode Stat} being checked at the time @@ -1333,11 +1333,11 @@ export class SpeciesStatBoosterModifier extends StatBoosterModifier { /** * Checks if either parameter is included in the corresponding lists - * @param speciesId {@linkcode Species} being checked + * @param speciesId {@linkcode SpeciesId} being checked * @param stat {@linkcode Stat} being checked * @returns `true` if both parameters are in {@linkcode species} and {@linkcode stats} respectively, false otherwise */ - contains(speciesId: Species, stat: Stat): boolean { + contains(speciesId: SpeciesId, stat: Stat): boolean { return this.species.includes(speciesId) && this.stats.includes(stat); } } @@ -1391,15 +1391,21 @@ export class CritBoosterModifier extends PokemonHeldItemModifier { /** * Modifier used for held items that apply critical-hit stage boost(s) - * if the holder is of a specific {@linkcode Species}. + * if the holder is of a specific {@linkcode SpeciesId}. * @extends CritBoosterModifier * @see {@linkcode shouldApply} */ export class SpeciesCritBoosterModifier extends CritBoosterModifier { /** The species that the held item's critical-hit stage boost applies to */ - private species: Species[]; + private species: SpeciesId[]; - constructor(type: ModifierType, pokemonId: number, stageIncrement: number, species: Species[], stackCount?: number) { + constructor( + type: ModifierType, + pokemonId: number, + stageIncrement: number, + species: SpeciesId[], + stackCount?: number, + ) { super(type, pokemonId, stageIncrement, stackCount); this.species = species; @@ -1424,7 +1430,7 @@ export class SpeciesCritBoosterModifier extends CritBoosterModifier { } /** - * Checks if the holder's {@linkcode Species} (or its fused species) is listed + * Checks if the holder's {@linkcode SpeciesId} (or its fused species) is listed * in {@linkcode species}. * @param pokemon {@linkcode Pokemon} that holds the held item * @param critStage {@linkcode NumberHolder} that holds the resulting critical-hit level @@ -1621,7 +1627,7 @@ export class BypassSpeedChanceModifier extends PokemonHeldItemModifier { /** * Class for Pokemon held items like King's Rock - * Because King's Rock can be stacked in PokeRogue, unlike mainline, it does not receive a boost from Abilities.SERENE_GRACE + * Because King's Rock can be stacked in PokeRogue, unlike mainline, it does not receive a boost from AbilityId.SERENE_GRACE */ export class FlinchChanceModifier extends PokemonHeldItemModifier { private chance: number; @@ -2112,7 +2118,7 @@ export class TerrastalizeModifier extends ConsumablePokemonModifier { return ( super.shouldApply(playerPokemon) && [playerPokemon?.species.speciesId, playerPokemon?.fusionSpecies?.speciesId].filter( - s => s === Species.TERAPAGOS || s === Species.OGERPON || s === Species.SHEDINJA, + s => s === SpeciesId.TERAPAGOS || s === SpeciesId.OGERPON || s === SpeciesId.SHEDINJA, ).length === 0 ); } @@ -2774,14 +2780,14 @@ export class PokemonMultiHitModifier extends PokemonHeldItemModifier { /** * For each stack, converts 25 percent of attack damage into an additional strike. * @param pokemon The {@linkcode Pokemon} using the move - * @param moveId The {@linkcode Moves | identifier} for the move being used + * @param moveId The {@linkcode MoveId | identifier} for the move being used * @param count {@linkcode NumberHolder} holding the move's hit count for this turn * @param damageMultiplier {@linkcode NumberHolder} holding a damage multiplier applied to a strike of this move * @returns always `true` */ override apply( pokemon: Pokemon, - moveId: Moves, + moveId: MoveId, count: NumberHolder | null = null, damageMultiplier: NumberHolder | null = null, ): boolean { @@ -2924,7 +2930,7 @@ export class MoneyRewardModifier extends ConsumableModifier { globalScene.addMoney(moneyAmount.value); globalScene.getPlayerParty().map(p => { - if (p.species?.speciesId === Species.GIMMIGHOUL || p.fusionSpecies?.speciesId === Species.GIMMIGHOUL) { + if (p.species?.speciesId === SpeciesId.GIMMIGHOUL || p.fusionSpecies?.speciesId === SpeciesId.GIMMIGHOUL) { p.evoCounter ? (p.evoCounter += Math.min(Math.floor(this.moneyMultiplier), 3)) : (p.evoCounter = Math.min(Math.floor(this.moneyMultiplier), 3)); diff --git a/src/overrides.ts b/src/overrides.ts index 95c758d7c43..86e1708248d 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -5,17 +5,17 @@ import { FormChangeItem } from "#app/data/pokemon-forms"; import { type ModifierOverride } from "#app/modifier/modifier-type"; import { Variant } from "#app/sprites/variant"; import { Unlockables } from "#app/system/unlockables"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattleType } from "#enums/battle-type"; import { BerryType } from "#enums/berry-type"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { EggTier } from "#enums/egg-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PokeballType } from "#enums/pokeball"; import { PokemonType } from "#enums/pokemon-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { TimeOfDay } from "#enums/time-of-day"; @@ -38,8 +38,8 @@ import { WeatherType } from "#enums/weather-type"; * @example * ``` * const overrides = { - * ABILITY_OVERRIDE: Abilities.PROTEAN, - * PASSIVE_ABILITY_OVERRIDE: Abilities.PIXILATE, + * ABILITY_OVERRIDE: AbilityId.PROTEAN, + * PASSIVE_ABILITY_OVERRIDE: AbilityId.PIXILATE, * } * ``` */ @@ -73,7 +73,7 @@ class DefaultOverrides { */ readonly BATTLE_STYLE_OVERRIDE: BattleStyle | null = null; readonly STARTING_WAVE_OVERRIDE: number = 0; - readonly STARTING_BIOME_OVERRIDE: Biome | null = null; + readonly STARTING_BIOME_OVERRIDE: BiomeId | null = null; readonly ARENA_TINT_OVERRIDE: TimeOfDay | null = null; /** Multiplies XP gained by this value including 0. Set to null to ignore the override. */ readonly XP_MULTIPLIER_OVERRIDE: number | null = null; @@ -124,11 +124,11 @@ class DefaultOverrides { * @example * ``` * const STARTER_FORM_OVERRIDES = { - * [Species.DARMANITAN]: 1 + * [SpeciesId.DARMANITAN]: 1 * } * ``` */ - readonly STARTER_FORM_OVERRIDES: Partial> = {}; + readonly STARTER_FORM_OVERRIDES: Partial> = {}; /** default 5 or 20 for Daily */ readonly STARTING_LEVEL_OVERRIDE: number = 0; @@ -136,9 +136,9 @@ class DefaultOverrides { * SPECIES OVERRIDE * will only apply to the first starter in your party or each enemy pokemon * default is 0 to not override - * @example SPECIES_OVERRIDE = Species.Bulbasaur; + * @example SPECIES_OVERRIDE = SpeciesId.Bulbasaur; */ - readonly STARTER_SPECIES_OVERRIDE: Species | number = 0; + readonly STARTER_SPECIES_OVERRIDE: SpeciesId | number = 0; /** * This will force your starter to be a random fusion */ @@ -146,20 +146,20 @@ class DefaultOverrides { /** * This will override the species of the fusion */ - readonly STARTER_FUSION_SPECIES_OVERRIDE: Species | number = 0; - readonly ABILITY_OVERRIDE: Abilities = Abilities.NONE; - readonly PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE; + readonly STARTER_FUSION_SPECIES_OVERRIDE: SpeciesId | number = 0; + readonly ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; + readonly PASSIVE_ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; readonly HAS_PASSIVE_ABILITY_OVERRIDE: boolean | null = null; readonly STATUS_OVERRIDE: StatusEffect = StatusEffect.NONE; readonly GENDER_OVERRIDE: Gender | null = null; - readonly MOVESET_OVERRIDE: Moves | Array = []; + readonly MOVESET_OVERRIDE: MoveId | Array = []; readonly SHINY_OVERRIDE: boolean | null = null; readonly VARIANT_OVERRIDE: Variant | null = null; // -------------------------- // OPPONENT / ENEMY OVERRIDES // -------------------------- - readonly OPP_SPECIES_OVERRIDE: Species | number = 0; + readonly OPP_SPECIES_OVERRIDE: SpeciesId | number = 0; /** * This will make all opponents fused Pokemon */ @@ -167,18 +167,18 @@ class DefaultOverrides { /** * This will override the species of the fusion only when the opponent is already a fusion */ - readonly OPP_FUSION_SPECIES_OVERRIDE: Species | number = 0; + readonly OPP_FUSION_SPECIES_OVERRIDE: SpeciesId | number = 0; readonly OPP_LEVEL_OVERRIDE: number = 0; - readonly OPP_ABILITY_OVERRIDE: Abilities = Abilities.NONE; - readonly OPP_PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE; + readonly OPP_ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; + readonly OPP_PASSIVE_ABILITY_OVERRIDE: AbilityId = AbilityId.NONE; readonly OPP_HAS_PASSIVE_ABILITY_OVERRIDE: boolean | null = null; readonly OPP_STATUS_OVERRIDE: StatusEffect = StatusEffect.NONE; readonly OPP_GENDER_OVERRIDE: Gender | null = null; - readonly OPP_MOVESET_OVERRIDE: Moves | Array = []; + readonly OPP_MOVESET_OVERRIDE: MoveId | Array = []; readonly OPP_SHINY_OVERRIDE: boolean | null = null; readonly OPP_VARIANT_OVERRIDE: Variant | null = null; readonly OPP_IVS_OVERRIDE: number | number[] = []; - readonly OPP_FORM_OVERRIDES: Partial> = {}; + readonly OPP_FORM_OVERRIDES: Partial> = {}; /** * Override to give the enemy Pokemon a given amount of health segments * diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index b027469ea5e..989f19c944f 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -71,7 +71,7 @@ export class BerryPhase extends FieldPhase { } globalScene.updateModifiers(pokemon.isPlayer()); - // Abilities.CHEEK_POUCH only works once per round of nom noms + // AbilityId.CHEEK_POUCH only works once per round of nom noms applyAbAttrs(HealFromBerryUseAbAttr, pokemon, new BooleanHolder(false)); } } diff --git a/src/phases/command-phase.ts b/src/phases/command-phase.ts index c3e558e1d86..3f18ea95777 100644 --- a/src/phases/command-phase.ts +++ b/src/phases/command-phase.ts @@ -6,10 +6,10 @@ import { TrappedTag } from "#app/data/battler-tags"; import type { MoveTargetSet } from "#app/data/moves/move"; import { getMoveTargets } from "#app/data/moves/move"; import { speciesStarterCosts } from "#app/data/balance/starters"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import { Biome } from "#app/enums/biome"; -import { Moves } from "#app/enums/moves"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; import { PokeballType } from "#enums/pokeball"; import type { PlayerPokemon, TurnMove } from "#app/field/pokemon"; import { FieldPosition } from "#app/field/pokemon"; @@ -44,7 +44,7 @@ export class CommandPhase extends FieldPhase { const cursorResetEvent = globalScene.currentBattle.battleType === BattleType.MYSTERY_ENCOUNTER || globalScene.currentBattle.battleType === BattleType.TRAINER || - globalScene.arena.biomeType === Biome.END; + globalScene.arena.biomeType === BiomeId.END; if (commandUiHandler) { if ( @@ -80,7 +80,7 @@ export class CommandPhase extends FieldPhase { ) { globalScene.currentBattle.turnCommands[this.fieldIndex] = { command: Command.FIGHT, - move: { move: Moves.NONE, targets: [] }, + move: { move: MoveId.NONE, targets: [] }, skip: true, }; } @@ -157,15 +157,15 @@ export class CommandPhase extends FieldPhase { playerPokemon.trySelectMove(cursor, args[0] as boolean) || (useStruggle = cursor > -1 && !playerPokemon.getMoveset().filter(m => m.isUsable(playerPokemon)).length) ) { - let moveId: Moves; + let moveId: MoveId; if (useStruggle) { - moveId = Moves.STRUGGLE; + moveId = MoveId.STRUGGLE; } else if (turnMove !== undefined) { moveId = turnMove.move; } else if (cursor > -1) { moveId = playerPokemon.getMoveset()[cursor].moveId; } else { - moveId = Moves.NONE; + moveId = MoveId.NONE; } const turnCommand: TurnCommand = { @@ -241,7 +241,7 @@ export class CommandPhase extends FieldPhase { .some(p => !globalScene.gameData.dexData[p.species.speciesId].caughtAttr) && globalScene.gameData.getStarterCount(d => !!d.caughtAttr) < Object.keys(speciesStarterCosts).length - 1; if ( - globalScene.arena.biomeType === Biome.END && + globalScene.arena.biomeType === BiomeId.END && (!globalScene.gameMode.isClassic || globalScene.gameMode.isFreshStartChallenge() || notInDex) ) { globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); @@ -308,7 +308,7 @@ export class CommandPhase extends FieldPhase { if ( targetPokemon?.isBoss() && targetPokemon?.bossSegmentIndex >= 1 && - !targetPokemon?.hasAbility(Abilities.WONDER_GUARD, false, true) && + !targetPokemon?.hasAbility(AbilityId.WONDER_GUARD, false, true) && cursor < PokeballType.MASTER_BALL ) { globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); @@ -344,7 +344,7 @@ export class CommandPhase extends FieldPhase { const mysteryEncounterFleeAllowed = currentBattle.mysteryEncounter?.fleeAllowed; if ( !isSwitch && - (arena.biomeType === Biome.END || + (arena.biomeType === BiomeId.END || (!isNullOrUndefined(mysteryEncounterFleeAllowed) && !mysteryEncounterFleeAllowed)) ) { globalScene.ui.setMode(UiMode.COMMAND, this.fieldIndex); diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 3cfd2b9a901..c7308fc5a64 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -37,10 +37,10 @@ import { handleTutorial, Tutorial } from "#app/tutorial"; import { UiMode } from "#enums/ui-mode"; import { randSeedInt, randSeedItem } from "#app/utils/common"; import { BattleSpec } from "#enums/battle-spec"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; import { PlayerGender } from "#enums/player-gender"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { overrideHeldItems, overrideModifiers } from "#app/modifier/modifier"; import i18next from "i18next"; import { WEIGHT_INCREMENT_ON_SPAWN_MISS } from "#app/data/mystery-encounters/mystery-encounters"; @@ -120,7 +120,7 @@ export class EncounterPhase extends BattlePhase { if ( globalScene.findModifier(m => m instanceof BoostBugSpawnModifier) && !globalScene.gameMode.isBoss(battle.waveIndex) && - globalScene.arena.biomeType !== Biome.END && + globalScene.arena.biomeType !== BiomeId.END && randSeedInt(10) === 0 ) { enemySpecies = getGoldenBugNetSpecies(level); @@ -158,7 +158,7 @@ export class EncounterPhase extends BattlePhase { ); } - if (enemyPokemon.species.speciesId === Species.ETERNATUS) { + if (enemyPokemon.species.speciesId === SpeciesId.ETERNATUS) { if ( globalScene.gameMode.isClassic && (battle.battleSpec === BattleSpec.FINAL_BOSS || globalScene.gameMode.isWaveFinal(battle.waveIndex)) @@ -556,7 +556,7 @@ export class EncounterPhase extends BattlePhase { } /** This sets Eternatus' held item to be untransferrable, preventing it from being stolen */ if ( - enemyPokemon.species.speciesId === Species.ETERNATUS && + enemyPokemon.species.speciesId === SpeciesId.ETERNATUS && (globalScene.gameMode.isBattleClassicFinalBoss(globalScene.currentBattle.waveIndex) || globalScene.gameMode.isEndlessMajorBoss(globalScene.currentBattle.waveIndex)) ) { diff --git a/src/phases/enemy-command-phase.ts b/src/phases/enemy-command-phase.ts index 166b8c1ae2d..2a1719f9002 100644 --- a/src/phases/enemy-command-phase.ts +++ b/src/phases/enemy-command-phase.ts @@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene"; import { BattlerIndex } from "#app/battle"; import { Command } from "#app/ui/command-ui-handler"; import { FieldPhase } from "./field-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; /** @@ -38,7 +38,7 @@ export class EnemyCommandPhase extends FieldPhase { if ( battle.double && - enemyPokemon.hasAbility(Abilities.COMMANDER) && + enemyPokemon.hasAbility(AbilityId.COMMANDER) && enemyPokemon.getAlly()?.getTag(BattlerTagType.COMMANDED) ) { this.skipTurn = true; diff --git a/src/phases/learn-move-phase.ts b/src/phases/learn-move-phase.ts index c585679ba4f..65679a7ade7 100644 --- a/src/phases/learn-move-phase.ts +++ b/src/phases/learn-move-phase.ts @@ -3,7 +3,7 @@ import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; import type Move from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; import { SpeciesFormChangeMoveLearnedTrigger } from "#app/data/pokemon-forms"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { getPokemonNameWithAffix } from "#app/messages"; import Overrides from "#app/overrides"; import EvolutionSceneHandler from "#app/ui/evolution-scene-handler"; @@ -24,14 +24,14 @@ export enum LearnMoveType { } export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { - private moveId: Moves; + private moveId: MoveId; private messageMode: UiMode; private learnMoveType: LearnMoveType; private cost: number; constructor( partyMemberIndex: number, - moveId: Moves, + moveId: MoveId, learnMoveType: LearnMoveType = LearnMoveType.LEARN_MOVE, cost = -1, ) { @@ -49,7 +49,7 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { const currentMoveset = pokemon.getMoveset(); // The game first checks if the Pokemon already has the move and ends the phase if it does. - const hasMoveAlready = currentMoveset.some(m => m.moveId === move.id) && this.moveId !== Moves.SKETCH; + const hasMoveAlready = currentMoveset.some(m => m.moveId === move.id) && this.moveId !== MoveId.SKETCH; if (hasMoveAlready) { return this.end(); } diff --git a/src/phases/load-move-anim-phase.ts b/src/phases/load-move-anim-phase.ts index 3d914f738a7..c0b6cd58c54 100644 --- a/src/phases/load-move-anim-phase.ts +++ b/src/phases/load-move-anim-phase.ts @@ -1,5 +1,5 @@ import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import { Phase } from "#app/phase"; /** @@ -8,7 +8,7 @@ import { Phase } from "#app/phase"; * isn't already loaded (e.g. for Metronome) */ export class LoadMoveAnimPhase extends Phase { - constructor(protected moveId: Moves) { + constructor(protected moveId: MoveId) { super(); } diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index e3773952214..636f85f0f82 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -48,7 +48,7 @@ import { MoveTarget } from "#enums/MoveTarget"; import { MoveCategory } from "#enums/MoveCategory"; import { SpeciesFormChangePostMoveTrigger } from "#app/data/pokemon-forms"; import { PokemonType } from "#enums/pokemon-type"; -import { DamageResult, PokemonMove, type TurnMove } from "#app/field/pokemon"; +import { type DamageResult, PokemonMove, type TurnMove } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { HitResult, MoveResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -65,14 +65,14 @@ import { PokemonPhase } from "#app/phases/pokemon-phase"; import { BooleanHolder, isNullOrUndefined, NumberHolder } from "#app/utils/common"; import type { nil } from "#app/utils/common"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import i18next from "i18next"; import type { Phase } from "#app/phase"; import { ShowAbilityPhase } from "./show-ability-phase"; import { MovePhase } from "./move-phase"; import { MoveEndPhase } from "./move-end-phase"; import { HideAbilityPhase } from "#app/phases/hide-ability-phase"; -import { TypeDamageMultiplier } from "#app/data/type"; +import type { TypeDamageMultiplier } from "#app/data/type"; import { HitCheckResult } from "#enums/hit-check-result"; import type Move from "#app/data/moves/move"; import { isFieldTargeted } from "#app/data/moves/move-utils"; @@ -220,7 +220,7 @@ export class MoveEffectPhase extends PokemonPhase { break; case HitCheckResult.NO_EFFECT: globalScene.queueMessage( - i18next.t(this.move.id === Moves.SHEER_COLD ? "battle:hitResultImmune" : "battle:hitResultNoEffect", { + i18next.t(this.move.id === MoveId.SHEER_COLD ? "battle:hitResultImmune" : "battle:hitResultNoEffect", { pokemonName: getPokemonNameWithAffix(target), }), ); @@ -351,7 +351,7 @@ export class MoveEffectPhase extends PokemonPhase { ) { const firstTarget = this.getFirstTarget(); new MoveAnim( - move.id as Moves, + move.id as MoveId, user, firstTarget?.getBattlerIndex() ?? BattlerIndex.ATTACKER, // Some moves used in mystery encounters should be played even on an empty field @@ -609,12 +609,12 @@ export class MoveEffectPhase extends PokemonPhase { * @returns `true` if the move should bypass accuracy and semi-invulnerability * * Accuracy and semi-invulnerability can be bypassed by: - * - An ability like {@linkcode Abilities.NO_GUARD | No Guard} - * - A poison type using {@linkcode Moves.TOXIC | Toxic} - * - A move like {@linkcode Moves.LOCK_ON | Lock-On} or {@linkcode Moves.MIND_READER | Mind Reader}. + * - An ability like {@linkcode AbilityId.NO_GUARD | No Guard} + * - A poison type using {@linkcode MoveId.TOXIC | Toxic} + * - A move like {@linkcode MoveId.LOCK_ON | Lock-On} or {@linkcode MoveId.MIND_READER | Mind Reader}. * - A field-targeted move like spikes * - * Does *not* check against effects {@linkcode Moves.GLAIVE_RUSH | Glaive Rush} status (which + * Does *not* check against effects {@linkcode MoveId.GLAIVE_RUSH | Glaive Rush} status (which * should not bypass semi-invulnerability), or interactions like Earthquake hitting against Dig, * (which should not bypass the accuracy check). * @@ -809,7 +809,7 @@ export class MoveEffectPhase extends PokemonPhase { */ applyMoveAttrs(StatChangeBeforeDmgCalcAttr, user, target, this.move); - const { result: result, damage: dmg } = target.getAttackDamage({ + const { result, damage: dmg } = target.getAttackDamage({ source: user, move: this.move, ignoreAbility: false, diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index d7cbf1b9a6f..1ccf5b7957e 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -44,10 +44,10 @@ import { MoveChargePhase } from "#app/phases/move-charge-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; import { NumberHolder } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { StatusEffect } from "#enums/status-effect"; import i18next from "i18next"; @@ -138,7 +138,7 @@ export class MovePhase extends BattlePhase { /** * Shows whether the current move has been forced to the end of the turn - * Needed for speed order, see {@linkcode Moves.QUASH} + * Needed for speed order, see {@linkcode MoveId.QUASH} * */ public isForcedLast(): boolean { return this.forcedLast; @@ -147,7 +147,7 @@ export class MovePhase extends BattlePhase { public start(): void { super.start(); - console.log(Moves[this.move.moveId]); + console.log(MoveId[this.move.moveId]); // Check if move is unusable (e.g. because it's out of PP due to a mid-turn Spite). if (!this.canMove(true)) { @@ -201,14 +201,14 @@ export class MovePhase extends BattlePhase { this.end(); } - /** Check for cancellation edge cases - no targets remaining, or {@linkcode Moves.NONE} is in the queue */ + /** Check for cancellation edge cases - no targets remaining, or {@linkcode MoveId.NONE} is in the queue */ protected resolveFinalPreMoveCancellationChecks(): void { const targets = this.getActiveTargetPokemon(); const moveQueue = this.pokemon.getMoveQueue(); if ( (targets.length === 0 && !this.move.getMove().hasAttr(AddArenaTrapTagAttr)) || - (moveQueue.length && moveQueue[0].move === Moves.NONE) + (moveQueue.length && moveQueue[0].move === MoveId.NONE) ) { this.showMoveText(); this.showFailedText(); @@ -294,7 +294,7 @@ export class MovePhase extends BattlePhase { protected lapsePreMoveAndMoveTags(): void { this.pokemon.lapseTags(BattlerTagLapseType.PRE_MOVE); - // TODO: does this intentionally happen before the no targets/Moves.NONE on queue cancellation case is checked? + // TODO: does this intentionally happen before the no targets/MoveId.NONE on queue cancellation case is checked? if (!this.followUp && this.canMove() && !this.cancelled) { this.pokemon.lapseTags(BattlerTagLapseType.MOVE); } @@ -410,7 +410,7 @@ export class MovePhase extends BattlePhase { new MoveEffectPhase(this.pokemon.getBattlerIndex(), this.targets, move, this.reflected, this.move.virtual), ); } else { - if ([Moves.ROAR, Moves.WHIRLWIND, Moves.TRICK_OR_TREAT, Moves.FORESTS_CURSE].includes(this.move.moveId)) { + if ([MoveId.ROAR, MoveId.WHIRLWIND, MoveId.TRICK_OR_TREAT, MoveId.FORESTS_CURSE].includes(this.move.moveId)) { applyPreAttackAbAttrs(PokemonTypeChangeAbAttr, this.pokemon, null, this.move.getMove()); } @@ -486,7 +486,7 @@ export class MovePhase extends BattlePhase { } /** - * Applies PP increasing abilities (currently only {@link Abilities.PRESSURE Pressure}) if they exist on the target pokemon. + * Applies PP increasing abilities (currently only {@link AbilityId.PRESSURE Pressure}) if they exist on the target pokemon. * Note that targets must include only active pokemon. * * TODO: This hardcodes the PP increase at 1 per opponent, rather than deferring to the ability. @@ -526,7 +526,7 @@ export class MovePhase extends BattlePhase { if ( redirectTag && (!redirectTag.powder || - (!this.pokemon.isOfType(PokemonType.GRASS) && !this.pokemon.hasAbility(Abilities.OVERCOAT))) + (!this.pokemon.isOfType(PokemonType.GRASS) && !this.pokemon.hasAbility(AbilityId.OVERCOAT))) ) { redirectTarget.value = p.getBattlerIndex(); redirectedByAbility = false; @@ -594,8 +594,8 @@ export class MovePhase extends BattlePhase { /** * Handles the case where the move was cancelled or failed: - * - Uses PP if the move failed (not cancelled) and should use PP (failed moves are not affected by {@link Abilities.PRESSURE Pressure}) - * - Records a cancelled OR failed move in move history, so abilities like {@link Abilities.TRUANT Truant} don't trigger on the + * - Uses PP if the move failed (not cancelled) and should use PP (failed moves are not affected by {@link AbilityId.PRESSURE Pressure}) + * - Records a cancelled OR failed move in move history, so abilities like {@link AbilityId.TRUANT Truant} don't trigger on the * next turn and soft-lock. * - Lapses `MOVE_EFFECT` tags: * - Semi-invulnerable battler tags (Fly/Dive/etc.) are intended to lapse on move effects, but also need @@ -603,7 +603,7 @@ export class MovePhase extends BattlePhase { * * TODO: ...this seems weird. * - Lapses `AFTER_MOVE` tags: - * - This handles the effects of {@link Moves.SUBSTITUTE Substitute} + * - This handles the effects of {@link MoveId.SUBSTITUTE Substitute} * - Removes the second turn of charge moves */ protected handlePreMoveFailures(): void { @@ -623,7 +623,7 @@ export class MovePhase extends BattlePhase { } this.pokemon.pushMoveHistory({ - move: Moves.NONE, + move: MoveId.NONE, result: MoveResult.FAIL, targets: this.targets, }); @@ -636,11 +636,11 @@ export class MovePhase extends BattlePhase { } /** - * Displays the move's usage text to the player, unless it's a charge turn (ie: {@link Moves.SOLAR_BEAM Solar Beam}), - * the pokemon is on a recharge turn (ie: {@link Moves.HYPER_BEAM Hyper Beam}), or a 2-turn move was interrupted (ie: {@link Moves.FLY Fly}). + * Displays the move's usage text to the player, unless it's a charge turn (ie: {@link MoveId.SOLAR_BEAM Solar Beam}), + * the pokemon is on a recharge turn (ie: {@link MoveId.HYPER_BEAM Hyper Beam}), or a 2-turn move was interrupted (ie: {@link MoveId.FLY Fly}). */ public showMoveText(): void { - if (this.move.moveId === Moves.NONE) { + if (this.move.moveId === MoveId.NONE) { return; } diff --git a/src/phases/pokemon-anim-phase.ts b/src/phases/pokemon-anim-phase.ts index 1889b238f05..e9f0097459a 100644 --- a/src/phases/pokemon-anim-phase.ts +++ b/src/phases/pokemon-anim-phase.ts @@ -4,7 +4,7 @@ import type Pokemon from "#app/field/pokemon"; import { BattlePhase } from "#app/phases/battle-phase"; import { isNullOrUndefined } from "#app/utils/common"; import { PokemonAnimType } from "#enums/pokemon-anim-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; export class PokemonAnimPhase extends BattlePhase { /** The type of animation to play in this phase */ @@ -247,7 +247,7 @@ export class PokemonAnimPhase extends BattlePhase { } const dondozo = this.pokemon.getAlly(); - if (dondozo?.species?.speciesId !== Species.DONDOZO) { + if (dondozo?.species?.speciesId !== SpeciesId.DONDOZO) { return this.end(); } diff --git a/src/phases/pokemon-transform-phase.ts b/src/phases/pokemon-transform-phase.ts index b33689321b5..23a9a983bae 100644 --- a/src/phases/pokemon-transform-phase.ts +++ b/src/phases/pokemon-transform-phase.ts @@ -1,6 +1,6 @@ import type { BattlerIndex } from "#app/battle"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { EFFECTIVE_STATS, BATTLE_STATS } from "#enums/stat"; import { PokemonMove } from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; @@ -54,7 +54,7 @@ export class PokemonTransformPhase extends PokemonPhase { return new PokemonMove(m.moveId, 0, 0, false, Math.min(m.getMove().pp, 5)); } console.warn(`Transform: somehow iterating over a ${m} value when copying moveset!`); - return new PokemonMove(Moves.NONE); + return new PokemonMove(MoveId.NONE); }); user.summonData.types = target.getTypes(); diff --git a/src/phases/select-biome-phase.ts b/src/phases/select-biome-phase.ts index efd376eb5ba..a7736b16811 100644 --- a/src/phases/select-biome-phase.ts +++ b/src/phases/select-biome-phase.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; import { biomeLinks, getBiomeName } from "#app/data/balance/biomes"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MoneyInterestModifier, MapModifier } from "#app/modifier/modifier"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import { UiMode } from "#enums/ui-mode"; @@ -18,7 +18,7 @@ export class SelectBiomePhase extends BattlePhase { const currentBiome = globalScene.arena.biomeType; const nextWaveIndex = globalScene.currentBattle.waveIndex + 1; - const setNextBiome = (nextBiome: Biome) => { + const setNextBiome = (nextBiome: BiomeId) => { if (nextWaveIndex % 10 === 1) { globalScene.applyModifiers(MoneyInterestModifier, true); globalScene.unshiftPhase(new PartyHealPhase(false)); @@ -32,11 +32,11 @@ export class SelectBiomePhase extends BattlePhase { (globalScene.gameMode.isDaily && globalScene.gameMode.isWaveFinal(nextWaveIndex)) || (globalScene.gameMode.hasShortBiomes && !(nextWaveIndex % 50)) ) { - setNextBiome(Biome.END); + setNextBiome(BiomeId.END); } else if (globalScene.gameMode.hasRandomBiomes) { setNextBiome(this.generateNextBiome(nextWaveIndex)); } else if (Array.isArray(biomeLinks[currentBiome])) { - const biomes: Biome[] = (biomeLinks[currentBiome] as (Biome | [Biome, number])[]) + const biomes: BiomeId[] = (biomeLinks[currentBiome] as (BiomeId | [BiomeId, number])[]) .filter(b => !Array.isArray(b) || !randSeedInt(b[1])) .map(b => (!Array.isArray(b) ? b : b[0])); @@ -60,15 +60,15 @@ export class SelectBiomePhase extends BattlePhase { setNextBiome(biomes[randSeedInt(biomes.length)]); } } else if (biomeLinks.hasOwnProperty(currentBiome)) { - setNextBiome(biomeLinks[currentBiome] as Biome); + setNextBiome(biomeLinks[currentBiome] as BiomeId); } else { setNextBiome(this.generateNextBiome(nextWaveIndex)); } } - generateNextBiome(waveIndex: number): Biome { + generateNextBiome(waveIndex: number): BiomeId { if (!(waveIndex % 50)) { - return Biome.END; + return BiomeId.END; } return globalScene.generateRandomBiome(waveIndex); } diff --git a/src/phases/select-starter-phase.ts b/src/phases/select-starter-phase.ts index 0a76df31a2c..6d333f4001c 100644 --- a/src/phases/select-starter-phase.ts +++ b/src/phases/select-starter-phase.ts @@ -10,7 +10,7 @@ import { TitlePhase } from "#app/phases/title-phase"; import { SaveSlotUiMode } from "#app/ui/save-slot-select-ui-handler"; import type { Starter } from "#app/ui/starter-select-ui-handler"; import { UiMode } from "#enums/ui-mode"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import SoundFade from "phaser3-rex-plugins/plugins/soundfade"; import { isNullOrUndefined } from "#app/utils/common"; @@ -43,7 +43,7 @@ export class SelectStarterPhase extends Phase { const loadPokemonAssets: Promise[] = []; starters.forEach((starter: Starter, i: number) => { if (!i && Overrides.STARTER_SPECIES_OVERRIDE) { - starter.species = getPokemonSpecies(Overrides.STARTER_SPECIES_OVERRIDE as Species); + starter.species = getPokemonSpecies(Overrides.STARTER_SPECIES_OVERRIDE as SpeciesId); } const starterProps = globalScene.gameData.getSpeciesDexAttrProps(starter.species, starter.dexAttr); let starterFormIndex = Math.min(starterProps.formIndex, Math.max(starter.species.forms.length - 1, 0)); diff --git a/src/phases/switch-biome-phase.ts b/src/phases/switch-biome-phase.ts index f708830318e..69a6c97cd9a 100644 --- a/src/phases/switch-biome-phase.ts +++ b/src/phases/switch-biome-phase.ts @@ -1,12 +1,12 @@ import { globalScene } from "#app/global-scene"; -import type { Biome } from "#app/enums/biome"; +import type { BiomeId } from "#enums/biome-id"; import { getBiomeKey } from "#app/field/arena"; import { BattlePhase } from "./battle-phase"; export class SwitchBiomePhase extends BattlePhase { - private nextBiome: Biome; + private nextBiome: BiomeId; - constructor(nextBiome: Biome) { + constructor(nextBiome: BiomeId) { super(); this.nextBiome = nextBiome; diff --git a/src/phases/trainer-victory-phase.ts b/src/phases/trainer-victory-phase.ts index f7005b1300d..daf5c38e57b 100644 --- a/src/phases/trainer-victory-phase.ts +++ b/src/phases/trainer-victory-phase.ts @@ -9,7 +9,7 @@ import { ModifierRewardPhase } from "./modifier-reward-phase"; import { MoneyRewardPhase } from "./money-reward-phase"; import { TrainerSlot } from "#enums/trainer-slot"; import { globalScene } from "#app/global-scene"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { achvs } from "#app/system/achv"; import { timedEventManager } from "#app/global-event-manager"; @@ -57,7 +57,7 @@ export class TrainerVictoryPhase extends BattlePhase { } // Breeders in Space achievement if ( - globalScene.arena.biomeType === Biome.SPACE && + globalScene.arena.biomeType === BiomeId.SPACE && (trainerType === TrainerType.BREEDER || trainerType === TrainerType.EXPERT_POKEMON_BREEDER) ) { globalScene.validateAchv(achvs.BREEDERS_IN_SPACE); diff --git a/src/phases/turn-start-phase.ts b/src/phases/turn-start-phase.ts index de510ef07d7..a02d869af10 100644 --- a/src/phases/turn-start-phase.ts +++ b/src/phases/turn-start-phase.ts @@ -1,7 +1,7 @@ import { applyAbAttrs, BypassSpeedChanceAbAttr, PreventBypassSpeedChanceAbAttr } from "#app/data/abilities/ability"; import { MoveHeaderAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Stat } from "#app/enums/stat"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; @@ -228,7 +228,7 @@ export class TurnStartPhase extends FieldPhase { ? playerActivePokemon[0] : playerActivePokemon[1]; // check if either active pokemon has the ability "Run Away" - const hasRunAway = playerActivePokemon.find(p => p.hasAbility(Abilities.RUN_AWAY)); + const hasRunAway = playerActivePokemon.find(p => p.hasAbility(AbilityId.RUN_AWAY)); runningPokemon = hasRunAway !== undefined ? hasRunAway : fasterPokemon; } } diff --git a/src/sprites/pokemon-asset-loader.ts b/src/sprites/pokemon-asset-loader.ts index 4ce88f4f1fb..980d242a880 100644 --- a/src/sprites/pokemon-asset-loader.ts +++ b/src/sprites/pokemon-asset-loader.ts @@ -1,11 +1,11 @@ -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import { initMoveAnim, loadMoveAnimAssets } from "#app/data/battle-anims"; /** * Asynchronously load the animations and assets for the provided moves. * @param moveIds - An array of move IDs to load assets for. */ -export async function loadMoveAnimations(moveIds: Moves[]): Promise { +export async function loadMoveAnimations(moveIds: MoveId[]): Promise { await Promise.allSettled(moveIds.map(m => initMoveAnim(m))); await loadMoveAnimAssets(moveIds); } diff --git a/src/system/arena-data.ts b/src/system/arena-data.ts index 07396b31d1b..29423d10207 100644 --- a/src/system/arena-data.ts +++ b/src/system/arena-data.ts @@ -1,12 +1,12 @@ import { Arena } from "../field/arena"; import type { ArenaTag } from "../data/arena-tag"; import { loadArenaTag } from "../data/arena-tag"; -import type { Biome } from "#enums/biome"; +import type { BiomeId } from "#enums/biome-id"; import { Weather } from "../data/weather"; import { Terrain } from "#app/data/terrain"; export default class ArenaData { - public biome: Biome; + public biome: BiomeId; public weather: Weather | null; public terrain: Terrain | null; public tags: ArenaTag[]; diff --git a/src/system/egg-data.ts b/src/system/egg-data.ts index 8fb8335bcf7..63f9e17d7be 100644 --- a/src/system/egg-data.ts +++ b/src/system/egg-data.ts @@ -1,5 +1,5 @@ import type { EggTier } from "#enums/egg-type"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import type { VariantTier } from "#enums/variant-tier"; import { EGG_SEED, Egg } from "../data/egg"; import type { EggSourceType } from "#app/enums/egg-source-types"; @@ -12,7 +12,7 @@ export default class EggData { public timestamp: number; public variantTier: VariantTier; public isShiny: boolean; - public species: Species; + public species: SpeciesId; public eggMoveIndex: number; public overrideHiddenAbility: boolean; diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 5711ad338c3..bc74ab15930 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -43,9 +43,9 @@ import { StatusEffect } from "#enums/status-effect"; import ChallengeData from "#app/system/challenge-data"; import { Device } from "#enums/devices"; import { GameDataType } from "#enums/game-data-type"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import { PlayerGender } from "#enums/player-gender"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { applyChallenges, ChallengeType } from "#app/data/challenge"; import { WeatherType } from "#enums/weather-type"; import { TerrainType } from "#app/data/terrain"; @@ -63,34 +63,34 @@ import { ArenaTrapTag } from "#app/data/arena-tag"; import { pokemonFormChanges } from "#app/data/pokemon-forms"; import type { PokemonType } from "#enums/pokemon-type"; -export const defaultStarterSpecies: Species[] = [ - Species.BULBASAUR, - Species.CHARMANDER, - Species.SQUIRTLE, - Species.CHIKORITA, - Species.CYNDAQUIL, - Species.TOTODILE, - Species.TREECKO, - Species.TORCHIC, - Species.MUDKIP, - Species.TURTWIG, - Species.CHIMCHAR, - Species.PIPLUP, - Species.SNIVY, - Species.TEPIG, - Species.OSHAWOTT, - Species.CHESPIN, - Species.FENNEKIN, - Species.FROAKIE, - Species.ROWLET, - Species.LITTEN, - Species.POPPLIO, - Species.GROOKEY, - Species.SCORBUNNY, - Species.SOBBLE, - Species.SPRIGATITO, - Species.FUECOCO, - Species.QUAXLY, +export const defaultStarterSpecies: SpeciesId[] = [ + SpeciesId.BULBASAUR, + SpeciesId.CHARMANDER, + SpeciesId.SQUIRTLE, + SpeciesId.CHIKORITA, + SpeciesId.CYNDAQUIL, + SpeciesId.TOTODILE, + SpeciesId.TREECKO, + SpeciesId.TORCHIC, + SpeciesId.MUDKIP, + SpeciesId.TURTWIG, + SpeciesId.CHIMCHAR, + SpeciesId.PIPLUP, + SpeciesId.SNIVY, + SpeciesId.TEPIG, + SpeciesId.OSHAWOTT, + SpeciesId.CHESPIN, + SpeciesId.FENNEKIN, + SpeciesId.FROAKIE, + SpeciesId.ROWLET, + SpeciesId.LITTEN, + SpeciesId.POPPLIO, + SpeciesId.GROOKEY, + SpeciesId.SCORBUNNY, + SpeciesId.SOBBLE, + SpeciesId.SPRIGATITO, + SpeciesId.FUECOCO, + SpeciesId.QUAXLY, ]; const saveKey = "x0i2O7WRiANTqPmZ"; // Temporary; secure encryption is not yet necessary @@ -205,7 +205,7 @@ export interface DexEntry { ivs: number[]; } -export type StarterMoveset = [Moves] | [Moves, Moves] | [Moves, Moves, Moves] | [Moves, Moves, Moves, Moves]; +export type StarterMoveset = [MoveId] | [MoveId, MoveId] | [MoveId, MoveId, MoveId] | [MoveId, MoveId, MoveId, MoveId]; export interface StarterFormMoveData { [key: number]: StarterMoveset; @@ -555,7 +555,7 @@ export class GameData { this.migrateStarterAbilities(systemData, this.starterData); - const starterIds = Object.keys(this.starterData).map(s => Number.parseInt(s) as Species); + const starterIds = Object.keys(this.starterData).map(s => Number.parseInt(s) as SpeciesId); for (const s of starterIds) { this.starterData[s].candyCount += systemData.dexData[s].caughtCount; this.starterData[s].candyCount += systemData.dexData[s].hatchedCount * 2; @@ -1720,7 +1720,7 @@ export class GameData { private initStarterData(): void { const starterData: StarterData = {}; - const starterSpeciesIds = Object.keys(speciesStarterCosts).map(k => Number.parseInt(k) as Species); + const starterSpeciesIds = Object.keys(speciesStarterCosts).map(k => Number.parseInt(k) as SpeciesId); for (const speciesId of starterSpeciesIds) { starterData[speciesId] = { @@ -1815,16 +1815,16 @@ export class GameData { const formKey = pokemon.getFormKey(); if (formIndex > 0) { // In case a Pikachu with formIndex > 0 was unlocked, base form Pichu is also unlocked - if (pokemon.species.speciesId === Species.PIKACHU && species.speciesId === Species.PICHU) { + if (pokemon.species.speciesId === SpeciesId.PIKACHU && species.speciesId === SpeciesId.PICHU) { dexEntry.caughtAttr |= globalScene.gameData.getFormAttr(0); } - if (pokemon.species.speciesId === Species.URSHIFU) { + if (pokemon.species.speciesId === SpeciesId.URSHIFU) { if (formIndex === 2) { dexEntry.caughtAttr |= globalScene.gameData.getFormAttr(0); } else if (formIndex === 3) { dexEntry.caughtAttr |= globalScene.gameData.getFormAttr(1); } - } else if (pokemon.species.speciesId === Species.ZYGARDE) { + } else if (pokemon.species.speciesId === SpeciesId.ZYGARDE) { if (formIndex === 4) { dexEntry.caughtAttr |= globalScene.gameData.getFormAttr(2); } else if (formIndex === 5) { @@ -1929,7 +1929,7 @@ export class GameData { } incrementRibbonCount(species: PokemonSpecies, forStarter = false): number { - const speciesIdToIncrement: Species = species.getRootSpeciesId(forStarter); + const speciesIdToIncrement: SpeciesId = species.getRootSpeciesId(forStarter); if (!this.starterData[speciesIdToIncrement].classicWinCount) { this.starterData[speciesIdToIncrement].classicWinCount = 0; @@ -2040,7 +2040,7 @@ export class GameData { } //recursively unlock nature for species and prevolutions - const _unlockSpeciesNature = (speciesId: Species) => { + const _unlockSpeciesNature = (speciesId: SpeciesId) => { this.dexData[speciesId].natureAttr |= 1 << (nature + 1); if (pokemonPrevolutions.hasOwnProperty(speciesId)) { _unlockSpeciesNature(pokemonPrevolutions[speciesId]); @@ -2049,7 +2049,7 @@ export class GameData { _unlockSpeciesNature(species.speciesId); } - updateSpeciesDexIvs(speciesId: Species, ivs: number[]): void { + updateSpeciesDexIvs(speciesId: SpeciesId, ivs: number[]): void { let dexEntry: DexEntry; do { dexEntry = globalScene.gameData.dexData[speciesId]; @@ -2180,7 +2180,7 @@ export class GameData { return ret; } - getSpeciesStarterValue(speciesId: Species): number { + getSpeciesStarterValue(speciesId: SpeciesId): number { const baseValue = speciesStarterCosts[speciesId]; let value = baseValue; @@ -2231,7 +2231,7 @@ export class GameData { } migrateStarterAbilities(systemData: SystemSaveData, initialStarterData?: StarterData): void { - const starterIds = Object.keys(this.starterData).map(s => Number.parseInt(s) as Species); + const starterIds = Object.keys(this.starterData).map(s => Number.parseInt(s) as SpeciesId); const starterData = initialStarterData || systemData.starterData; const dexData = systemData.dexData; for (const s of starterIds) { diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 00169678ed0..62fb2f4a2e4 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -8,16 +8,16 @@ import { Status } from "../data/status-effect"; import Pokemon, { EnemyPokemon, PokemonBattleData, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "#enums/trainer-slot"; import type { Variant } from "#app/sprites/variant"; -import type { Biome } from "#enums/biome"; -import type { Moves } from "#enums/moves"; -import type { Species } from "#enums/species"; +import type { BiomeId } from "#enums/biome-id"; +import type { MoveId } from "#enums/move-id"; +import type { SpeciesId } from "#enums/species-id"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import type { PokemonType } from "#enums/pokemon-type"; export default class PokemonData { public id: number; public player: boolean; - public species: Species; + public species: SpeciesId; public nickname: string; public formIndex: number; public abilityIndex: number; @@ -37,19 +37,19 @@ export default class PokemonData { public status: Status | null; public friendship: number; public metLevel: number; - public metBiome: Biome | -1; // -1 for starters - public metSpecies: Species; + public metBiome: BiomeId | -1; // -1 for starters + public metSpecies: SpeciesId; public metWave: number; // 0 for unknown (previous saves), -1 for starters public luck: number; public pauseEvolutions: boolean; public pokerus: boolean; - public usedTMs: Moves[]; + public usedTMs: MoveId[]; public evoCounter: number; public teraType: PokemonType; public isTerastallized: boolean; public stellarTypesBoosted: PokemonType[]; - public fusionSpecies: Species; + public fusionSpecies: SpeciesId; public fusionFormIndex: number; public fusionAbilityIndex: number; public fusionShiny: boolean; diff --git a/src/system/version_migration/versions/v1_8_3.ts b/src/system/version_migration/versions/v1_8_3.ts index 6e2d96d3673..cce37a53767 100644 --- a/src/system/version_migration/versions/v1_8_3.ts +++ b/src/system/version_migration/versions/v1_8_3.ts @@ -1,7 +1,7 @@ import type { SystemSaveMigrator } from "#app/@types/SystemSaveMigrator"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { DexAttr, type SystemSaveData } from "#app/system/game-data"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; /** * If a starter is caught, but the only forms registered as caught are not starterSelectable, @@ -17,7 +17,7 @@ const migratePichuForms: SystemSaveMigrator = { const caughtAttr = data.dexData[sd]?.caughtAttr; const species = getPokemonSpecies(sd); // An extra check because you never know - if (species.speciesId === Species.PICHU && caughtAttr) { + if (species.speciesId === SpeciesId.PICHU && caughtAttr) { // Ensuring that only existing forms are unlocked data.dexData[sd].caughtAttr &= species.getFullUnlocksData(); // If no forms are unlocked now, since Pichu is caught, we unlock form 0 diff --git a/src/system/version_migration/versions/v1_9_0.ts b/src/system/version_migration/versions/v1_9_0.ts index c517896cf45..0f22b85d072 100644 --- a/src/system/version_migration/versions/v1_9_0.ts +++ b/src/system/version_migration/versions/v1_9_0.ts @@ -2,7 +2,7 @@ import type { SessionSaveMigrator } from "#app/@types/SessionSaveMigrator"; import { PokemonMove } from "#app/field/pokemon"; import type { SessionSaveData } from "#app/system/game-data"; import type PokemonData from "#app/system/pokemon-data"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; /** * Migrate all lingering rage fist data inside `CustomPokemonData`, @@ -15,7 +15,7 @@ const migratePartyData: SessionSaveMigrator = { // this stuff is copied straight from the constructor fwiw const mapParty = (pkmnData: PokemonData) => { // remove empty moves from moveset - pkmnData.moveset = (pkmnData.moveset ?? [new PokemonMove(Moves.TACKLE), new PokemonMove(Moves.GROWL)]) + pkmnData.moveset = (pkmnData.moveset ?? [new PokemonMove(MoveId.TACKLE), new PokemonMove(MoveId.GROWL)]) .filter(m => !!m) .map(m => PokemonMove.loadMove(m)); // only edit summondata moveset if exists diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts index 163afdc098b..976463a16a7 100644 --- a/src/timed-event-manager.ts +++ b/src/timed-event-manager.ts @@ -3,7 +3,7 @@ import { TextStyle, addTextObject } from "#app/ui/text"; import type { nil } from "#app/utils/common"; import { isNullOrUndefined } from "#app/utils/common"; import i18next from "i18next"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import type { WeatherPoolEntry } from "#app/data/weather"; import { WeatherType } from "#enums/weather-type"; import { CLASSIC_CANDY_FRIENDSHIP_MULTIPLIER } from "./data/balance/starters"; @@ -26,7 +26,7 @@ interface EventBanner { } interface EventEncounter { - species: Species; + species: SpeciesId; blockEvolution?: boolean; formIndex?: number; } @@ -62,7 +62,7 @@ interface TimedEvent extends EventBanner { delibirdyBuff?: string[]; weather?: WeatherPoolEntry[]; mysteryEncounterTierChanges?: EventMysteryEncounterTier[]; - luckBoostedSpecies?: Species[]; + luckBoostedSpecies?: SpeciesId[]; boostFusions?: boolean; //MODIFIER REWORK PLEASE classicWaveRewards?: EventWaveReward[]; // Rival battle rewards trainerShinyChance?: number; // Odds over 65536 of trainer mon generating as shiny @@ -82,26 +82,26 @@ const timedEvents: TimedEvent[] = [ scale: 0.21, availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN"], eventEncounters: [ - { species: Species.GIMMIGHOUL, blockEvolution: true }, - { species: Species.DELIBIRD }, - { species: Species.STANTLER }, - { species: Species.CYNDAQUIL }, - { species: Species.PIPLUP }, - { species: Species.CHESPIN }, - { species: Species.BALTOY }, - { species: Species.SNOVER }, - { species: Species.CHINGLING }, - { species: Species.LITWICK }, - { species: Species.CUBCHOO }, - { species: Species.SWIRLIX }, - { species: Species.AMAURA }, - { species: Species.MUDBRAY }, - { species: Species.ROLYCOLY }, - { species: Species.MILCERY }, - { species: Species.SMOLIV }, - { species: Species.ALOLA_VULPIX }, - { species: Species.GALAR_DARUMAKA }, - { species: Species.IRON_BUNDLE }, + { species: SpeciesId.GIMMIGHOUL, blockEvolution: true }, + { species: SpeciesId.DELIBIRD }, + { species: SpeciesId.STANTLER }, + { species: SpeciesId.CYNDAQUIL }, + { species: SpeciesId.PIPLUP }, + { species: SpeciesId.CHESPIN }, + { species: SpeciesId.BALTOY }, + { species: SpeciesId.SNOVER }, + { species: SpeciesId.CHINGLING }, + { species: SpeciesId.LITWICK }, + { species: SpeciesId.CUBCHOO }, + { species: SpeciesId.SWIRLIX }, + { species: SpeciesId.AMAURA }, + { species: SpeciesId.MUDBRAY }, + { species: SpeciesId.ROLYCOLY }, + { species: SpeciesId.MILCERY }, + { species: SpeciesId.SMOLIV }, + { species: SpeciesId.ALOLA_VULPIX }, + { species: SpeciesId.GALAR_DARUMAKA }, + { species: SpeciesId.IRON_BUNDLE }, ], delibirdyBuff: ["CATCHING_CHARM", "SHINY_CHARM", "ABILITY_CHARM", "EXP_CHARM", "SUPER_EXP_CHARM", "HEALING_CHARM"], weather: [{ weatherType: WeatherType.SNOW, weight: 1 }], @@ -138,59 +138,59 @@ const timedEvents: TimedEvent[] = [ scale: 0.21, availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN"], eventEncounters: [ - { species: Species.EKANS }, - { species: Species.ONIX }, - { species: Species.DRATINI }, - { species: Species.CLEFFA }, - { species: Species.UMBREON }, - { species: Species.DUNSPARCE }, - { species: Species.TEDDIURSA }, - { species: Species.SEVIPER }, - { species: Species.LUNATONE }, - { species: Species.CHINGLING }, - { species: Species.SNIVY }, - { species: Species.DARUMAKA }, - { species: Species.DRAMPA }, - { species: Species.SILICOBRA }, - { species: Species.BLOODMOON_URSALUNA }, + { species: SpeciesId.EKANS }, + { species: SpeciesId.ONIX }, + { species: SpeciesId.DRATINI }, + { species: SpeciesId.CLEFFA }, + { species: SpeciesId.UMBREON }, + { species: SpeciesId.DUNSPARCE }, + { species: SpeciesId.TEDDIURSA }, + { species: SpeciesId.SEVIPER }, + { species: SpeciesId.LUNATONE }, + { species: SpeciesId.CHINGLING }, + { species: SpeciesId.SNIVY }, + { species: SpeciesId.DARUMAKA }, + { species: SpeciesId.DRAMPA }, + { species: SpeciesId.SILICOBRA }, + { species: SpeciesId.BLOODMOON_URSALUNA }, ], luckBoostedSpecies: [ - Species.EKANS, - Species.ARBOK, - Species.ONIX, - Species.STEELIX, - Species.DRATINI, - Species.DRAGONAIR, - Species.DRAGONITE, - Species.CLEFFA, - Species.CLEFAIRY, - Species.CLEFABLE, - Species.UMBREON, - Species.DUNSPARCE, - Species.DUDUNSPARCE, - Species.TEDDIURSA, - Species.URSARING, - Species.URSALUNA, - Species.SEVIPER, - Species.LUNATONE, - Species.RAYQUAZA, - Species.CHINGLING, - Species.CHIMECHO, - Species.CRESSELIA, - Species.DARKRAI, - Species.SNIVY, - Species.SERVINE, - Species.SERPERIOR, - Species.DARUMAKA, - Species.DARMANITAN, - Species.ZYGARDE, - Species.DRAMPA, - Species.LUNALA, - Species.BLACEPHALON, - Species.SILICOBRA, - Species.SANDACONDA, - Species.ROARING_MOON, - Species.BLOODMOON_URSALUNA, + SpeciesId.EKANS, + SpeciesId.ARBOK, + SpeciesId.ONIX, + SpeciesId.STEELIX, + SpeciesId.DRATINI, + SpeciesId.DRAGONAIR, + SpeciesId.DRAGONITE, + SpeciesId.CLEFFA, + SpeciesId.CLEFAIRY, + SpeciesId.CLEFABLE, + SpeciesId.UMBREON, + SpeciesId.DUNSPARCE, + SpeciesId.DUDUNSPARCE, + SpeciesId.TEDDIURSA, + SpeciesId.URSARING, + SpeciesId.URSALUNA, + SpeciesId.SEVIPER, + SpeciesId.LUNATONE, + SpeciesId.RAYQUAZA, + SpeciesId.CHINGLING, + SpeciesId.CHIMECHO, + SpeciesId.CRESSELIA, + SpeciesId.DARKRAI, + SpeciesId.SNIVY, + SpeciesId.SERVINE, + SpeciesId.SERPERIOR, + SpeciesId.DARUMAKA, + SpeciesId.DARMANITAN, + SpeciesId.ZYGARDE, + SpeciesId.DRAMPA, + SpeciesId.LUNALA, + SpeciesId.BLACEPHALON, + SpeciesId.SILICOBRA, + SpeciesId.SANDACONDA, + SpeciesId.ROARING_MOON, + SpeciesId.BLOODMOON_URSALUNA, ], classicWaveRewards: [ { wave: 8, type: "SHINY_CHARM" }, @@ -210,28 +210,28 @@ const timedEvents: TimedEvent[] = [ scale: 0.21, availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN"], eventEncounters: [ - { species: Species.NIDORAN_F }, - { species: Species.NIDORAN_M }, - { species: Species.IGGLYBUFF }, - { species: Species.SMOOCHUM }, - { species: Species.VOLBEAT }, - { species: Species.ILLUMISE }, - { species: Species.ROSELIA }, - { species: Species.LUVDISC }, - { species: Species.WOOBAT }, - { species: Species.FRILLISH }, - { species: Species.ALOMOMOLA }, - { species: Species.FURFROU, formIndex: 1 }, // Heart Trim - { species: Species.ESPURR }, - { species: Species.SPRITZEE }, - { species: Species.SWIRLIX }, - { species: Species.APPLIN }, - { species: Species.MILCERY }, - { species: Species.INDEEDEE }, - { species: Species.TANDEMAUS }, - { species: Species.ENAMORUS }, + { species: SpeciesId.NIDORAN_F }, + { species: SpeciesId.NIDORAN_M }, + { species: SpeciesId.IGGLYBUFF }, + { species: SpeciesId.SMOOCHUM }, + { species: SpeciesId.VOLBEAT }, + { species: SpeciesId.ILLUMISE }, + { species: SpeciesId.ROSELIA }, + { species: SpeciesId.LUVDISC }, + { species: SpeciesId.WOOBAT }, + { species: SpeciesId.FRILLISH }, + { species: SpeciesId.ALOMOMOLA }, + { species: SpeciesId.FURFROU, formIndex: 1 }, // Heart Trim + { species: SpeciesId.ESPURR }, + { species: SpeciesId.SPRITZEE }, + { species: SpeciesId.SWIRLIX }, + { species: SpeciesId.APPLIN }, + { species: SpeciesId.MILCERY }, + { species: SpeciesId.INDEEDEE }, + { species: SpeciesId.TANDEMAUS }, + { species: SpeciesId.ENAMORUS }, ], - luckBoostedSpecies: [Species.LUVDISC], + luckBoostedSpecies: [SpeciesId.LUVDISC], classicWaveRewards: [ { wave: 8, type: "SHINY_CHARM" }, { wave: 8, type: "ABILITY_CHARM" }, @@ -249,39 +249,39 @@ const timedEvents: TimedEvent[] = [ scale: 0.21, availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN"], eventEncounters: [ - { species: Species.PIKACHU, formIndex: 1, blockEvolution: true }, // Partner Form - { species: Species.EEVEE, formIndex: 1, blockEvolution: true }, // Partner Form - { species: Species.CHIKORITA }, - { species: Species.TOTODILE }, - { species: Species.TEPIG }, + { species: SpeciesId.PIKACHU, formIndex: 1, blockEvolution: true }, // Partner Form + { species: SpeciesId.EEVEE, formIndex: 1, blockEvolution: true }, // Partner Form + { species: SpeciesId.CHIKORITA }, + { species: SpeciesId.TOTODILE }, + { species: SpeciesId.TEPIG }, ], luckBoostedSpecies: [ - Species.PICHU, - Species.PIKACHU, - Species.RAICHU, - Species.ALOLA_RAICHU, - Species.PSYDUCK, - Species.GOLDUCK, - Species.EEVEE, - Species.FLAREON, - Species.JOLTEON, - Species.VAPOREON, - Species.ESPEON, - Species.UMBREON, - Species.LEAFEON, - Species.GLACEON, - Species.SYLVEON, - Species.CHIKORITA, - Species.BAYLEEF, - Species.MEGANIUM, - Species.TOTODILE, - Species.CROCONAW, - Species.FERALIGATR, - Species.TEPIG, - Species.PIGNITE, - Species.EMBOAR, - Species.ZYGARDE, - Species.ETERNAL_FLOETTE, + SpeciesId.PICHU, + SpeciesId.PIKACHU, + SpeciesId.RAICHU, + SpeciesId.ALOLA_RAICHU, + SpeciesId.PSYDUCK, + SpeciesId.GOLDUCK, + SpeciesId.EEVEE, + SpeciesId.FLAREON, + SpeciesId.JOLTEON, + SpeciesId.VAPOREON, + SpeciesId.ESPEON, + SpeciesId.UMBREON, + SpeciesId.LEAFEON, + SpeciesId.GLACEON, + SpeciesId.SYLVEON, + SpeciesId.CHIKORITA, + SpeciesId.BAYLEEF, + SpeciesId.MEGANIUM, + SpeciesId.TOTODILE, + SpeciesId.CROCONAW, + SpeciesId.FERALIGATR, + SpeciesId.TEPIG, + SpeciesId.PIGNITE, + SpeciesId.EMBOAR, + SpeciesId.ZYGARDE, + SpeciesId.ETERNAL_FLOETTE, ], classicWaveRewards: [ { wave: 8, type: "SHINY_CHARM" }, @@ -321,28 +321,28 @@ const timedEvents: TimedEvent[] = [ shinyMultiplier: 2, upgradeUnlockedVouchers: true, eventEncounters: [ - { species: Species.HOPPIP }, - { species: Species.CELEBI }, - { species: Species.VOLBEAT }, - { species: Species.ILLUMISE }, - { species: Species.SPOINK }, - { species: Species.LILEEP }, - { species: Species.SHINX }, - { species: Species.PACHIRISU }, - { species: Species.CHERUBI }, - { species: Species.MUNCHLAX }, - { species: Species.TEPIG }, - { species: Species.PANSAGE }, - { species: Species.PANSEAR }, - { species: Species.PANPOUR }, - { species: Species.DARUMAKA }, - { species: Species.ARCHEN }, - { species: Species.DEERLING, formIndex: 0 }, // Spring Deerling - { species: Species.CLAUNCHER }, - { species: Species.WISHIWASHI }, - { species: Species.DRAMPA }, - { species: Species.JANGMO_O }, - { species: Species.APPLIN }, + { species: SpeciesId.HOPPIP }, + { species: SpeciesId.CELEBI }, + { species: SpeciesId.VOLBEAT }, + { species: SpeciesId.ILLUMISE }, + { species: SpeciesId.SPOINK }, + { species: SpeciesId.LILEEP }, + { species: SpeciesId.SHINX }, + { species: SpeciesId.PACHIRISU }, + { species: SpeciesId.CHERUBI }, + { species: SpeciesId.MUNCHLAX }, + { species: SpeciesId.TEPIG }, + { species: SpeciesId.PANSAGE }, + { species: SpeciesId.PANSEAR }, + { species: SpeciesId.PANPOUR }, + { species: SpeciesId.DARUMAKA }, + { species: SpeciesId.ARCHEN }, + { species: SpeciesId.DEERLING, formIndex: 0 }, // Spring Deerling + { species: SpeciesId.CLAUNCHER }, + { species: SpeciesId.WISHIWASHI }, + { species: SpeciesId.DRAMPA }, + { species: SpeciesId.JANGMO_O }, + { species: SpeciesId.APPLIN }, ], classicWaveRewards: [ { wave: 8, type: "SHINY_CHARM" }, @@ -510,8 +510,8 @@ export class TimedEventManager { return ret; } - getEventLuckBoostedSpecies(): Species[] { - const ret: Species[] = []; + getEventLuckBoostedSpecies(): SpeciesId[] { + const ret: SpeciesId[] = []; timedEvents .filter(te => this.isActive(te)) .map(te => { diff --git a/src/ui/battle-flyout.ts b/src/ui/battle-flyout.ts index f8ef5fc1ec4..9a2180eccee 100644 --- a/src/ui/battle-flyout.ts +++ b/src/ui/battle-flyout.ts @@ -6,7 +6,7 @@ import type Move from "#app/data/moves/move"; import type { BerryUsedEvent, MoveUsedEvent } from "../events/battle-scene"; import { BattleSceneEventType } from "../events/battle-scene"; import { BerryType } from "#enums/berry-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { UiTheme } from "#enums/ui-theme"; import { getPokemonNameWithAffix } from "#app/messages"; @@ -154,7 +154,7 @@ export default class BattleFlyout extends Phaser.GameObjects.Container { /** Updates all of the {@linkcode MoveInfo} objects in the moveInfo array */ private onMoveUsed(event: Event) { const moveUsedEvent = event as MoveUsedEvent; - if (!moveUsedEvent || moveUsedEvent.pokemonId !== this.pokemon?.id || moveUsedEvent.move.id === Moves.STRUGGLE) { + if (!moveUsedEvent || moveUsedEvent.pokemonId !== this.pokemon?.id || moveUsedEvent.move.id === MoveId.STRUGGLE) { // Ignore Struggle return; } diff --git a/src/ui/candy-bar.ts b/src/ui/candy-bar.ts index f7a01b83093..189a418eec8 100644 --- a/src/ui/candy-bar.ts +++ b/src/ui/candy-bar.ts @@ -3,14 +3,14 @@ import { globalScene } from "#app/global-scene"; import { TextStyle, addTextObject } from "./text"; import { argbFromRgba } from "@material/material-color-utilities"; import { rgbHexToRgba } from "#app/utils/common"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; export default class CandyBar extends Phaser.GameObjects.Container { private bg: Phaser.GameObjects.NineSlice; private candyIcon: Phaser.GameObjects.Sprite; private candyOverlayIcon: Phaser.GameObjects.Sprite; private countText: Phaser.GameObjects.Text; - private speciesId: Species; + private speciesId: SpeciesId; private tween: Phaser.Tweens.Tween | null; private autoHideTimer: NodeJS.Timeout | null; @@ -47,7 +47,7 @@ export default class CandyBar extends Phaser.GameObjects.Container { this.shown = false; } - showStarterSpeciesCandy(starterSpeciesId: Species, count: number): Promise { + showStarterSpeciesCandy(starterSpeciesId: SpeciesId, count: number): Promise { return new Promise(resolve => { if (this.shown) { if (this.speciesId === starterSpeciesId) { diff --git a/src/ui/command-ui-handler.ts b/src/ui/command-ui-handler.ts index ff27e9c41c0..fbfd4d2623b 100644 --- a/src/ui/command-ui-handler.ts +++ b/src/ui/command-ui-handler.ts @@ -10,7 +10,7 @@ import { globalScene } from "#app/global-scene"; import { TerastallizeAccessModifier } from "#app/modifier/modifier"; import { PokemonType } from "#enums/pokemon-type"; import { getTypeRgb } from "#app/data/type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; export enum Command { FIGHT = 0, @@ -198,7 +198,7 @@ export default class CommandUiHandler extends UiHandler { const hasTeraMod = !!globalScene.getModifiers(TerastallizeAccessModifier).length; const activePokemon = globalScene.getField()[this.fieldIndex]; const isBlockedForm = - activePokemon.isMega() || activePokemon.isMax() || activePokemon.hasSpecies(Species.NECROZMA, "ultra"); + activePokemon.isMega() || activePokemon.isMax() || activePokemon.hasSpecies(SpeciesId.NECROZMA, "ultra"); const currentTeras = globalScene.arena.playerTerasUsed; const plannedTera = globalScene.currentBattle.preTurnCommands[0]?.command === Command.TERA && this.fieldIndex > 0 ? 1 : 0; diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 74d4e5bcb17..452ffcf5192 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -25,8 +25,8 @@ import { applyChallenges, ChallengeType } from "#app/data/challenge"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; import i18next from "i18next"; import type BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { getPokemonNameWithAffix } from "#app/messages"; import type { CommandPhase } from "#app/phases/command-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; @@ -184,7 +184,7 @@ export default class PartyUiHandler extends MessageUiHandler { private selectCallback: PartySelectCallback | PartyModifierTransferSelectCallback | null; private selectFilter: PokemonSelectFilter | PokemonModifierTransferSelectFilter; private moveSelectFilter: PokemonMoveSelectFilter; - private tmMoveId: Moves; + private tmMoveId: MoveId; private showMovePp: boolean; private iconAnimHandler: PokemonIconAnimHandler; @@ -346,7 +346,7 @@ export default class PartyUiHandler extends MessageUiHandler { args.length > 4 && args[4] instanceof Function ? (args[4] as PokemonMoveSelectFilter) : PartyUiHandler.FilterAllMoves; - this.tmMoveId = args.length > 5 && args[5] ? args[5] : Moves.NONE; + this.tmMoveId = args.length > 5 && args[5] ? args[5] : MoveId.NONE; this.showMovePp = args.length > 6 && args[6]; this.partyContainer.setVisible(true); @@ -1165,8 +1165,7 @@ export default class PartyUiHandler extends MessageUiHandler { this.partyUiMode !== PartyUiMode.FAINT_SWITCH && globalScene.findModifier( m => - m instanceof SwitchEffectTransferModifier && - m.pokemonId === globalScene.getPlayerField()[this.fieldIndex].id, + m instanceof SwitchEffectTransferModifier && m.pokemonId === globalScene.getPlayerField()[this.fieldIndex].id, ) ); } @@ -1579,7 +1578,7 @@ export default class PartyUiHandler extends MessageUiHandler { formChangeItemModifiers = formChangeItemModifiers.filter( m => m.active || m.formChangeItem === FormChangeItem.ULTRANECROZIUM_Z, ); - } else if (pokemon.species.speciesId === Species.NECROZMA) { + } else if (pokemon.species.speciesId === SpeciesId.NECROZMA) { // no form is currently active. the user has to activate some form, except ULTRANECROZIUM_Z formChangeItemModifiers = formChangeItemModifiers.filter( m => m.formChangeItem !== FormChangeItem.ULTRANECROZIUM_Z, @@ -1654,7 +1653,7 @@ class PartySlot extends Phaser.GameObjects.Container { pokemon: PlayerPokemon, iconAnimHandler: PokemonIconAnimHandler, partyUiMode: PartyUiMode, - tmMoveId: Moves, + tmMoveId: MoveId, ) { super( globalScene, @@ -1677,7 +1676,7 @@ class PartySlot extends Phaser.GameObjects.Container { return this.pokemon; } - setup(partyUiMode: PartyUiMode, tmMoveId: Moves) { + setup(partyUiMode: PartyUiMode, tmMoveId: MoveId) { const currentLanguage = i18next.resolvedLanguage ?? "en"; const offsetJa = currentLanguage === "ja"; diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index ab729db8c26..263842bd4f9 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -36,8 +36,8 @@ import MoveInfoOverlay from "#app/ui/move-info-overlay"; import PokedexInfoOverlay from "#app/ui/pokedex-info-overlay"; import { getEggTierForSpecies } from "#app/data/egg"; import { Device } from "#enums/devices"; -import type { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import type { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Button } from "#enums/buttons"; import { EggSourceType } from "#enums/egg-source-types"; import { @@ -58,9 +58,9 @@ import { getEnumKeys } from "#app/utils/common"; import { speciesTmMoves } from "#app/data/balance/tms"; import type { BiomeTierTod } from "#app/data/balance/biomes"; import { BiomePoolTier, catchableSpecies } from "#app/data/balance/biomes"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { TimeOfDay } from "#app/enums/time-of-day"; -import type { Abilities } from "#app/enums/abilities"; +import type { AbilityId } from "#enums/ability-id"; import { BaseStatsOverlay } from "#app/ui/base-stats-overlay"; import { globalScene } from "#app/global-scene"; import type BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText"; @@ -203,15 +203,15 @@ export default class PokedexPageUiHandler extends MessageUiHandler { private species: PokemonSpecies; private starterId: number; private formIndex: number; - private speciesLoaded: Map = new Map(); + private speciesLoaded: Map = new Map(); private levelMoves: LevelMoves; - private eggMoves: Moves[] = []; + private eggMoves: MoveId[] = []; private hasEggMoves: boolean[] = []; - private tmMoves: Moves[] = []; - private ability1: Abilities; - private ability2: Abilities | undefined; - private abilityHidden: Abilities | undefined; - private passive: Abilities; + private tmMoves: MoveId[] = []; + private ability1: AbilityId; + private ability2: AbilityId | undefined; + private abilityHidden: AbilityId | undefined; + private passive: AbilityId; private hasPassive: boolean; private hasAbilities: number[]; private biomes: BiomeTierTod[]; @@ -256,7 +256,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { protected scale = 0.1666666667; private menuDescriptions: string[]; private isFormGender: boolean; - private filteredIndices: Species[] | null = null; + private filteredIndices: SpeciesId[] | null = null; private availableVariants: number; private unlockedVariants: boolean[]; @@ -824,7 +824,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { const allBiomes = catchableSpecies[species.speciesId] ?? []; this.preBiomes = this.sanitizeBiomes( (catchableSpecies[this.starterId] ?? []).filter( - b => !allBiomes.some(bm => b.biome === bm.biome && b.tier === bm.tier) && !(b.biome === Biome.TOWN), + b => !allBiomes.some(bm => b.biome === bm.biome && b.tier === bm.tier) && !(b.biome === BiomeId.TOWN), ), this.starterId, ); @@ -863,13 +863,13 @@ export default class PokedexPageUiHandler extends MessageUiHandler { // Function to ensure that forms appear in the appropriate biome and tod sanitizeBiomes(biomes: BiomeTierTod[], speciesId: number): BiomeTierTod[] { - if (speciesId === Species.BURMY || speciesId === Species.WORMADAM) { + if (speciesId === SpeciesId.BURMY || speciesId === SpeciesId.WORMADAM) { return biomes.filter(b => { const formIndex = (() => { switch (b.biome) { - case Biome.BEACH: + case BiomeId.BEACH: return 1; - case Biome.SLUM: + case BiomeId.SLUM: return 2; default: return 0; @@ -878,19 +878,19 @@ export default class PokedexPageUiHandler extends MessageUiHandler { return this.formIndex === formIndex; }); } - if (speciesId === Species.ROTOM) { + if (speciesId === SpeciesId.ROTOM) { return biomes.filter(b => { const formIndex = (() => { switch (b.biome) { - case Biome.VOLCANO: + case BiomeId.VOLCANO: return 1; - case Biome.SEA: + case BiomeId.SEA: return 2; - case Biome.ICE_CAVE: + case BiomeId.ICE_CAVE: return 3; - case Biome.MOUNTAIN: + case BiomeId.MOUNTAIN: return 4; - case Biome.TALL_GRASS: + case BiomeId.TALL_GRASS: return 5; default: return 0; @@ -899,7 +899,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { return this.formIndex === formIndex; }); } - if (speciesId === Species.LYCANROC) { + if (speciesId === SpeciesId.LYCANROC) { return biomes.filter(b => { const formIndex = (() => { switch (b.tod[0]) { @@ -1089,11 +1089,11 @@ export default class PokedexPageUiHandler extends MessageUiHandler { * @returns the id of the corresponding starter */ getStarterSpeciesId(speciesId): number { - if (speciesId === Species.PIKACHU) { + if (speciesId === SpeciesId.PIKACHU) { if ([0, 1, 8].includes(this.formIndex)) { - return Species.PICHU; + return SpeciesId.PICHU; } - return Species.PIKACHU; + return SpeciesId.PIKACHU; } if (speciesStarterCosts.hasOwnProperty(speciesId)) { return speciesId; @@ -1477,7 +1477,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.biomes.map(b => { options.push({ label: - i18next.t(`biome:${Biome[b.biome].toUpperCase()}`) + + i18next.t(`biome:${BiomeId[b.biome].toUpperCase()}`) + " - " + i18next.t(`biome:${BiomePoolTier[b.tier].toUpperCase()}`) + (b.tod.length === 1 && b.tod[0] === -1 @@ -1498,7 +1498,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.preBiomes.map(b => { options.push({ label: - i18next.t(`biome:${Biome[b.biome].toUpperCase()}`) + + i18next.t(`biome:${BiomeId[b.biome].toUpperCase()}`) + " - " + i18next.t(`biome:${BiomePoolTier[b.tier].toUpperCase()}`) + (b.tod.length === 1 && b.tod[0] === -1 @@ -2581,7 +2581,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.pokemonUncaughtText.setVisible(false); this.pokemonCaughtCountText.setText(`${this.speciesStarterDexEntry?.caughtCount}`); - if (species.speciesId === Species.MANAPHY || species.speciesId === Species.PHIONE) { + if (species.speciesId === SpeciesId.MANAPHY || species.speciesId === SpeciesId.PHIONE) { this.pokemonHatchedIcon.setFrame("manaphy"); } else { this.pokemonHatchedIcon.setFrame(getEggTierForSpecies(species)); @@ -2614,7 +2614,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.pokemonCandyIcon.setTint(argbFromRgba(rgbHexToRgba(colorScheme[0]))); this.pokemonCandyOverlayIcon.setTint(argbFromRgba(rgbHexToRgba(colorScheme[1]))); this.pokemonCandyCountText.setText( - `x${species.speciesId === Species.PIKACHU ? 0 : globalScene.gameData.starterData[this.starterId].candyCount}`, + `x${species.speciesId === SpeciesId.PIKACHU ? 0 : globalScene.gameData.starterData[this.starterId].candyCount}`, ); this.pokemonCandyContainer.setVisible(true); diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index 179d5b4664b..8b3633d7422 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -19,14 +19,14 @@ import { TextStyle, addTextObject } from "#app/ui/text"; import { UiMode } from "#enums/ui-mode"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { Passive as PassiveAttr } from "#enums/passive"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import { Button } from "#enums/buttons"; import { DropDown, DropDownLabel, DropDownOption, DropDownState, DropDownType, SortCriteria } from "#app/ui/dropdown"; import { PokedexMonContainer } from "#app/ui/pokedex-mon-container"; import { FilterBar } from "#app/ui/filter-bar"; import { DropDownColumn } from "#enums/drop-down-column"; import { ScrollBar } from "#app/ui/scroll-bar"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { getPassiveCandyCount, getValueReductionCandyCounts, @@ -41,7 +41,7 @@ import { allAbilities } from "#app/data/data-lists"; import { allMoves } from "#app/data/data-lists"; import { speciesTmMoves } from "#app/data/balance/tms"; import { pokemonStarters } from "#app/data/balance/pokemon-evolutions"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { globalScene } from "#app/global-scene"; interface LanguageSetting { @@ -175,7 +175,7 @@ export default class PokedexUiHandler extends MessageUiHandler { private oldCursor = -1; private lastSpecies: PokemonSpecies; - private speciesLoaded: Map = new Map(); + private speciesLoaded: Map = new Map(); private pokerusSpecies: PokemonSpecies[] = []; private speciesStarterDexEntry: DexEntry | null; @@ -227,7 +227,7 @@ export default class PokedexUiHandler extends MessageUiHandler { private showFormTrayIconElement: Phaser.GameObjects.Sprite; private showFormTrayLabel: Phaser.GameObjects.Text; private canShowFormTray: boolean; - private filteredIndices: Species[]; + private filteredIndices: SpeciesId[]; constructor() { super(UiMode.POKEDEX); @@ -314,11 +314,11 @@ export default class PokedexUiHandler extends MessageUiHandler { ); // biome filter, making an entry in the dropdown for each biome - const biomeOptions = Object.values(Biome) + const biomeOptions = Object.values(BiomeId) .filter(value => typeof value === "number") // Filter numeric values from the enum .map( (biomeValue, index) => - new DropDownOption(index, new DropDownLabel(i18next.t(`biome:${Biome[biomeValue].toUpperCase()}`))), + new DropDownOption(index, new DropDownLabel(i18next.t(`biome:${BiomeId[biomeValue].toUpperCase()}`))), ); biomeOptions.push(new DropDownOption(biomeOptions.length, new DropDownLabel(i18next.t("filterBar:uncatchable")))); const biomeDropDown: DropDown = new DropDown(0, 0, biomeOptions, this.updateStarters, DropDownType.HYBRID); @@ -1459,7 +1459,7 @@ export default class PokedexUiHandler extends MessageUiHandler { // Biome filter const indexToBiome = new Map( - Object.values(Biome) + Object.values(BiomeId) .map((value, index) => (typeof value === "string" ? [index, value] : undefined)) .filter((entry): entry is [number, string] => entry !== undefined), ); @@ -1467,7 +1467,7 @@ export default class PokedexUiHandler extends MessageUiHandler { // We get biomes for both the mon and its starters to ensure that evolutions get the correct filters. // TODO: We might also need to do it the other way around. - const biomes = catchableSpecies[species.speciesId].concat(catchableSpecies[starterId]).map(b => Biome[b.biome]); + const biomes = catchableSpecies[species.speciesId].concat(catchableSpecies[starterId]).map(b => BiomeId[b.biome]); if (biomes.length === 0) { biomes.push("Uncatchable"); } @@ -1590,7 +1590,7 @@ export default class PokedexUiHandler extends MessageUiHandler { // HA Filter const speciesHasHiddenAbility = - species.abilityHidden !== species.ability1 && species.abilityHidden !== Abilities.NONE; + species.abilityHidden !== species.ability1 && species.abilityHidden !== AbilityId.NONE; const hasHA = starterData.abilityAttr & AbilityAttr.ABILITY_HIDDEN; const fitsHA = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { if (misc.val === "HIDDEN_ABILITY" && misc.state === DropDownState.ON) { diff --git a/src/ui/pokemon-hatch-info-container.ts b/src/ui/pokemon-hatch-info-container.ts index 5471a769d95..afc58c63953 100644 --- a/src/ui/pokemon-hatch-info-container.ts +++ b/src/ui/pokemon-hatch-info-container.ts @@ -5,7 +5,7 @@ import { rgbHexToRgba, padInt } from "#app/utils/common"; import { TextStyle, addTextObject } from "#app/ui/text"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; import { allMoves } from "#app/data/data-lists"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { getEggTierForSpecies } from "#app/data/egg"; import { starterColors } from "#app/global-vars/starter-colors"; import { globalScene } from "#app/global-scene"; @@ -182,7 +182,7 @@ export default class PokemonHatchInfoContainer extends PokemonInfoContainer { // will always have at least one egg move this.pokemonEggMovesContainer.setVisible(true); - if (species.speciesId === Species.MANAPHY || species.speciesId === Species.PHIONE) { + if (species.speciesId === SpeciesId.MANAPHY || species.speciesId === SpeciesId.PHIONE) { this.pokemonHatchedIcon.setFrame("manaphy"); } else { this.pokemonHatchedIcon.setFrame(getEggTierForSpecies(species)); diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index 8487533f465..c8dade8878f 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -21,7 +21,7 @@ import { getNatureStatMultiplier, getNatureName } from "../data/nature"; import { getVariantTint } from "#app/sprites/variant"; // biome-ignore lint/style/noNamespaceImport: See `src/system/game-data.ts` import * as Modifier from "#app/modifier/modifier"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import { PlayerGender } from "#enums/player-gender"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { getBiomeName } from "#app/data/balance/biomes"; @@ -1025,7 +1025,7 @@ export default class RunInfoUiHandler extends UiHandler { ignoreTimeTint: true, }); this.hallofFameContainer.add(pokemonSprite); - const speciesLoaded: Map = new Map(); + const speciesLoaded: Map = new Map(); speciesLoaded.set(id, false); const female = pkmn.gender === 1; diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 945ddaa6ed4..3bea0b08698 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -47,8 +47,8 @@ import { applyChallenges, ChallengeType } from "#app/data/challenge"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; import { getEggTierForSpecies } from "#app/data/egg"; import { Device } from "#enums/devices"; -import type { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import type { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Button } from "#enums/buttons"; import { EggSourceType } from "#enums/egg-source-types"; import { DropDown, DropDownLabel, DropDownOption, DropDownState, DropDownType, SortCriteria } from "#app/ui/dropdown"; @@ -59,7 +59,7 @@ import { ScrollBar } from "#app/ui/scroll-bar"; import { SelectChallengePhase } from "#app/phases/select-challenge-phase"; import { EncounterPhase } from "#app/phases/encounter-phase"; import { TitlePhase } from "#app/phases/title-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { getPassiveCandyCount, getValueReductionCandyCounts, @@ -162,15 +162,15 @@ const languageSettings: { [key: string]: LanguageSetting } = { starterInfoYOffset: 0.5, starterInfoXPos: 29, }, - da:{ + da: { starterInfoTextSize: "56px", instructionTextSize: "38px", }, - tr:{ + tr: { starterInfoTextSize: "56px", instructionTextSize: "38px", }, - ro:{ + ro: { starterInfoTextSize: "56px", instructionTextSize: "38px", }, @@ -356,7 +356,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { private allSpecies: PokemonSpecies[] = []; private lastSpecies: PokemonSpecies; - private speciesLoaded: Map = new Map(); + private speciesLoaded: Map = new Map(); public starterSpecies: PokemonSpecies[] = []; private pokerusSpecies: PokemonSpecies[] = []; private starterAttr: bigint[] = []; @@ -365,7 +365,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { private starterTeras: PokemonType[] = []; private starterMovesets: StarterMoveset[] = []; private speciesStarterDexEntry: DexEntry | null; - private speciesStarterMoves: Moves[]; + private speciesStarterMoves: MoveId[]; private canCycleShiny: boolean; private canCycleForm: boolean; private canCycleGender: boolean; @@ -795,7 +795,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.randomCursorObj.setOrigin(0, 0); this.starterSelectContainer.add(this.randomCursorObj); - const starterSpecies: Species[] = []; + const starterSpecies: SpeciesId[] = []; const starterBoxContainer = globalScene.add.container(speciesContainerX + 6, 9); //115 @@ -1970,7 +1970,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { ui.setModeWithoutClear(UiMode.OPTION_SELECT, { options: moveset - .map((m: Moves, i: number) => { + .map((m: MoveId, i: number) => { const option: OptionSelectItem = { label: allMoves[m].name, handler: () => { @@ -1980,7 +1980,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { `${i18next.t("starterSelectUiHandler:selectMoveSwapWith")} ${allMoves[m].name}.`, null, () => { - const possibleMoves = this.speciesStarterMoves.filter((sm: Moves) => sm !== m); + const possibleMoves = this.speciesStarterMoves.filter((sm: MoveId) => sm !== m); this.moveInfoOverlay.show(allMoves[possibleMoves[0]]); ui.setModeWithoutClear(UiMode.OPTION_SELECT, { @@ -2765,7 +2765,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.checkIconId(this.starterIcons[index], species, props.female, props.formIndex, props.shiny, props.variant); } - switchMoveHandler(i: number, newMove: Moves, move: Moves) { + switchMoveHandler(i: number, newMove: MoveId, move: MoveId) { const speciesId = this.lastSpecies.speciesId; const existingMoveIndex = this.starterMoveset?.indexOf(newMove)!; // TODO: is this bang correct? this.starterMoveset![i] = newMove; // TODO: is this bang correct? @@ -3171,7 +3171,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { // HA Filter const speciesHasHiddenAbility = container.species.abilityHidden !== container.species.ability1 && - container.species.abilityHidden !== Abilities.NONE; + container.species.abilityHidden !== AbilityId.NONE; const hasHA = starterData.abilityAttr & AbilityAttr.ABILITY_HIDDEN; const fitsHA = this.filterBar.getVals(DropDownColumn.MISC).some(misc => { if (misc.val === "HIDDEN_ABILITY" && misc.state === DropDownState.ON) { @@ -3537,7 +3537,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonPassiveLabelText.setVisible(true); this.pokemonNatureLabelText.setVisible(true); this.pokemonCaughtCountText.setText(`${this.speciesStarterDexEntry.caughtCount}`); - if (species.speciesId === Species.MANAPHY || species.speciesId === Species.PHIONE) { + if (species.speciesId === SpeciesId.MANAPHY || species.speciesId === SpeciesId.PHIONE) { this.pokemonHatchedIcon.setFrame("manaphy"); } else { this.pokemonHatchedIcon.setFrame(getEggTierForSpecies(species)); diff --git a/src/ui/target-select-ui-handler.ts b/src/ui/target-select-ui-handler.ts index 5e14e5f7771..a2f89d38970 100644 --- a/src/ui/target-select-ui-handler.ts +++ b/src/ui/target-select-ui-handler.ts @@ -4,7 +4,7 @@ import UiHandler from "./ui-handler"; import { isNullOrUndefined, fixedInt } from "#app/utils/common"; import { getMoveTargets } from "../data/moves/move"; import { Button } from "#enums/buttons"; -import type { Moves } from "#enums/moves"; +import type { MoveId } from "#enums/move-id"; import type Pokemon from "#app/field/pokemon"; import type { ModifierBar } from "#app/modifier/modifier"; import { SubstituteTag } from "#app/data/battler-tags"; @@ -14,7 +14,7 @@ export type TargetSelectCallback = (targets: BattlerIndex[]) => void; export default class TargetSelectUiHandler extends UiHandler { private fieldIndex: number; - private move: Moves; + private move: MoveId; private targetSelectCallback: TargetSelectCallback; private cursor0: number; // associated with BattlerIndex.PLAYER private cursor1: number; // associated with BattlerIndex.PLAYER_2 @@ -42,7 +42,7 @@ export default class TargetSelectUiHandler extends UiHandler { super.show(args); this.fieldIndex = args[0] as number; - this.move = args[1] as Moves; + this.move = args[1] as MoveId; this.targetSelectCallback = args[2] as TargetSelectCallback; const user = globalScene.getPlayerField()[this.fieldIndex]; diff --git a/src/ui/title-ui-handler.ts b/src/ui/title-ui-handler.ts index bed4d568481..29a354dbe01 100644 --- a/src/ui/title-ui-handler.ts +++ b/src/ui/title-ui-handler.ts @@ -8,7 +8,7 @@ import { TimedEventDisplay } from "#app/timed-event-manager"; import { version } from "../../package.json"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import { globalScene } from "#app/global-scene"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { PlayerGender } from "#enums/player-gender"; import { timedEventManager } from "#app/global-event-manager"; @@ -105,7 +105,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler { /** Used solely to display a random Pokémon name in a splash message. */ randomPokemon(): void { const rand = randInt(1025, 1); - const pokemon = getPokemonSpecies(rand as Species); + const pokemon = getPokemonSpecies(rand as SpeciesId); if ( this.splashMessage === "splashMessages:underratedPokemon" || this.splashMessage === "splashMessages:dontTalkAboutThePokemonIncident" || diff --git a/src/utils/common.ts b/src/utils/common.ts index 1c7ea60da16..29923d7ddd4 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -1,5 +1,5 @@ import { MoneyFormat } from "#enums/money-format"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import i18next from "i18next"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import type { Variant } from "#app/sprites/variant"; @@ -567,8 +567,8 @@ export function isBetween(num: number, min: number, max: number): boolean { * * @param move the move for which the animation filename is needed */ -export function animationFileName(move: Moves): string { - return Moves[move].toLowerCase().replace(/\_/g, "-"); +export function animationFileName(move: MoveId): string { + return MoveId[move].toLowerCase().replace(/\_/g, "-"); } /** diff --git a/test/abilities/ability_duplication.test.ts b/test/abilities/ability_duplication.test.ts index de429045bb8..d392b7043e4 100644 --- a/test/abilities/ability_duplication.test.ts +++ b/test/abilities/ability_duplication.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -23,17 +23,17 @@ describe("Ability Duplication", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) + .moveset([MoveId.SPLASH]) .battleStyle("single") - .ability(Abilities.HUGE_POWER) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .ability(AbilityId.HUGE_POWER) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("huge power should only be applied once if both normal and passive", async () => { - game.override.passiveAbility(Abilities.HUGE_POWER); + game.override.passiveAbility(AbilityId.HUGE_POWER); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const [magikarp] = game.scene.getPlayerField(); const magikarpAttack = magikarp.getEffectiveStat(Stat.ATK); @@ -44,9 +44,9 @@ describe("Ability Duplication", () => { }); it("huge power should stack with pure power", async () => { - game.override.passiveAbility(Abilities.PURE_POWER); + game.override.passiveAbility(AbilityId.PURE_POWER); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const [magikarp] = game.scene.getPlayerField(); const magikarpAttack = magikarp.getEffectiveStat(Stat.ATK); diff --git a/test/abilities/ability_timing.test.ts b/test/abilities/ability_timing.test.ts index 6128a3e6196..2ba1e821f8a 100644 --- a/test/abilities/ability_timing.test.ts +++ b/test/abilities/ability_timing.test.ts @@ -3,8 +3,8 @@ import { CommandPhase } from "#app/phases/command-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; import i18next from "#app/plugins/i18n"; import { UiMode } from "#enums/ui-mode"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -28,15 +28,15 @@ describe("Ability Timing", () => { game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.INTIMIDATE) - .ability(Abilities.BALL_FETCH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.INTIMIDATE) + .ability(AbilityId.BALL_FETCH); vi.spyOn(i18next, "t"); }); it("should trigger after switch check", async () => { game.settings.battleStyle = BattleStyle.SWITCH; - await game.classicMode.runToSummon([Species.EEVEE, Species.FEEBAS]); + await game.classicMode.runToSummon([SpeciesId.EEVEE, SpeciesId.FEEBAS]); game.onNextPrompt( "CheckSwitchPhase", diff --git a/test/abilities/analytic.test.ts b/test/abilities/analytic.test.ts index 108c712da00..bf6ef72c3f1 100644 --- a/test/abilities/analytic.test.ts +++ b/test/abilities/analytic.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { isBetween, toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,29 +24,29 @@ describe("Abilities - Analytic", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.TACKLE]) - .ability(Abilities.ANALYTIC) + .moveset([MoveId.SPLASH, MoveId.TACKLE]) + .ability(AbilityId.ANALYTIC) .battleStyle("single") .disableCrits() .startingLevel(200) .enemyLevel(200) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should increase damage if the user moves last", async () => { - await game.classicMode.startBattle([Species.ARCEUS]); + await game.classicMode.startBattle([SpeciesId.ARCEUS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); const damage1 = enemy.getInverseHp(); enemy.hp = enemy.getMaxHp(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); expect(isBetween(enemy.getInverseHp(), toDmgValue(damage1 * 1.3) - 3, toDmgValue(damage1 * 1.3) + 3)).toBe(true); @@ -54,26 +54,26 @@ describe("Abilities - Analytic", () => { it("should increase damage only if the user moves last in doubles", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.GENGAR, Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.GENGAR, SpeciesId.SHUCKLE]); const [enemy] = game.scene.getEnemyField(); - game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TACKLE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.toNextTurn(); const damage1 = enemy.getInverseHp(); enemy.hp = enemy.getMaxHp(); - game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TACKLE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER]); await game.toNextTurn(); expect(isBetween(enemy.getInverseHp(), toDmgValue(damage1 * 1.3) - 3, toDmgValue(damage1 * 1.3) + 3)).toBe(true); enemy.hp = enemy.getMaxHp(); - game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TACKLE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); expect(enemy.getInverseHp()).toBe(damage1); diff --git a/test/abilities/arena_trap.test.ts b/test/abilities/arena_trap.test.ts index f37b8a2859f..cc6888be102 100644 --- a/test/abilities/arena_trap.test.ts +++ b/test/abilities/arena_trap.test.ts @@ -1,7 +1,7 @@ import { allAbilities } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -23,11 +23,11 @@ describe("Abilities - Arena Trap", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.SPLASH) - .ability(Abilities.ARENA_TRAP) - .enemySpecies(Species.RALTS) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TELEPORT); + .moveset(MoveId.SPLASH) + .ability(AbilityId.ARENA_TRAP) + .enemySpecies(SpeciesId.RALTS) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TELEPORT); }); // TODO: Enable test when Issue #935 is addressed @@ -38,7 +38,7 @@ describe("Abilities - Arena Trap", () => { const enemy = game.scene.getEnemyPokemon(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); @@ -54,32 +54,32 @@ describe("Abilities - Arena Trap", () => { }); /** - * This checks if the Player Pokemon is able to switch out/run away after the Enemy Pokemon with {@linkcode Abilities.ARENA_TRAP} - * is forcefully moved out of the field from moves such as Roar {@linkcode Moves.ROAR} + * This checks if the Player Pokemon is able to switch out/run away after the Enemy Pokemon with {@linkcode AbilityId.ARENA_TRAP} + * is forcefully moved out of the field from moves such as Roar {@linkcode MoveId.ROAR} * * Note: It should be able to switch out/run away */ it("should lift if pokemon with this ability leaves the field", async () => { game.override .battleStyle("double") - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.ROAR, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP, Species.SUDOWOODO, Species.LUNATONE]); + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.ROAR, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.SUDOWOODO, SpeciesId.LUNATONE]); const [enemy1, enemy2] = game.scene.getEnemyField(); const [player1, player2] = game.scene.getPlayerField(); - vi.spyOn(enemy1, "getAbility").mockReturnValue(allAbilities[Abilities.ARENA_TRAP]); + vi.spyOn(enemy1, "getAbility").mockReturnValue(allAbilities[AbilityId.ARENA_TRAP]); - game.move.select(Moves.ROAR); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.ROAR); + game.move.select(MoveId.SPLASH, 1); // This runs the fist command phase where the moves are selected await game.toNextTurn(); // During the next command phase the player pokemons should not be trapped anymore - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(player1.isTrapped()).toBe(false); diff --git a/test/abilities/aroma_veil.test.ts b/test/abilities/aroma_veil.test.ts index aeec33eccf7..00baa6b6268 100644 --- a/test/abilities/aroma_veil.test.ts +++ b/test/abilities/aroma_veil.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,21 +26,21 @@ describe("Moves - Aroma Veil", () => { game = new GameManager(phaserGame); game.override .battleStyle("double") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.HEAL_BLOCK, Moves.IMPRISON, Moves.SPLASH]) - .enemySpecies(Species.SHUCKLE) - .ability(Abilities.AROMA_VEIL) - .moveset([Moves.GROWL]); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.HEAL_BLOCK, MoveId.IMPRISON, MoveId.SPLASH]) + .enemySpecies(SpeciesId.SHUCKLE) + .ability(AbilityId.AROMA_VEIL) + .moveset([MoveId.GROWL]); }); it("Aroma Veil protects the Pokemon's side against most Move Restriction Battler Tags", async () => { - await game.classicMode.startBattle([Species.REGIELEKI, Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.BULBASAUR]); const party = game.scene.getPlayerParty()! as PlayerPokemon[]; - game.move.select(Moves.GROWL); - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.HEAL_BLOCK); + game.move.select(MoveId.GROWL); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.HEAL_BLOCK); await game.toNextTurn(); party.forEach(p => { expect(p.getTag(BattlerTagType.HEAL_BLOCK)).toBeUndefined(); @@ -48,14 +48,14 @@ describe("Moves - Aroma Veil", () => { }); it("Aroma Veil does not protect against Imprison", async () => { - await game.classicMode.startBattle([Species.REGIELEKI, Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.BULBASAUR]); const party = game.scene.getPlayerParty()! as PlayerPokemon[]; - game.move.select(Moves.GROWL); - game.move.select(Moves.GROWL, 1); - await game.move.selectEnemyMove(Moves.IMPRISON, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.GROWL); + game.move.select(MoveId.GROWL, 1); + await game.move.selectEnemyMove(MoveId.IMPRISON, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.arena.getTag(ArenaTagType.IMPRISON)).toBeDefined(); party.forEach(p => { diff --git a/test/abilities/aura_break.test.ts b/test/abilities/aura_break.test.ts index 5b2211d7b3c..657d363bd97 100644 --- a/test/abilities/aura_break.test.ts +++ b/test/abilities/aura_break.test.ts @@ -1,7 +1,7 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -26,49 +26,49 @@ describe("Abilities - Aura Break", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.MOONBLAST, Moves.DARK_PULSE]) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.AURA_BREAK) - .enemySpecies(Species.SHUCKLE); + .moveset([MoveId.MOONBLAST, MoveId.DARK_PULSE]) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.AURA_BREAK) + .enemySpecies(SpeciesId.SHUCKLE); }); it("reverses the effect of Fairy Aura", async () => { - const moveToCheck = allMoves[Moves.MOONBLAST]; + const moveToCheck = allMoves[MoveId.MOONBLAST]; const basePower = moveToCheck.power; - game.override.ability(Abilities.FAIRY_AURA); + game.override.ability(AbilityId.FAIRY_AURA); vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.MOONBLAST); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.MOONBLAST); await game.phaseInterceptor.to("MoveEffectPhase"); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(expect.closeTo(basePower * auraBreakMultiplier)); }); it("reverses the effect of Dark Aura", async () => { - const moveToCheck = allMoves[Moves.DARK_PULSE]; + const moveToCheck = allMoves[MoveId.DARK_PULSE]; const basePower = moveToCheck.power; - game.override.ability(Abilities.DARK_AURA); + game.override.ability(AbilityId.DARK_AURA); vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.DARK_PULSE); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.DARK_PULSE); await game.phaseInterceptor.to("MoveEffectPhase"); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(expect.closeTo(basePower * auraBreakMultiplier)); }); it("has no effect if neither Fairy Aura nor Dark Aura are present", async () => { - const moveToCheck = allMoves[Moves.MOONBLAST]; + const moveToCheck = allMoves[MoveId.MOONBLAST]; const basePower = moveToCheck.power; - game.override.ability(Abilities.BALL_FETCH); + game.override.ability(AbilityId.BALL_FETCH); vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.MOONBLAST); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.MOONBLAST); await game.phaseInterceptor.to("MoveEffectPhase"); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(basePower); diff --git a/test/abilities/battery.test.ts b/test/abilities/battery.test.ts index 123889c24af..980eaa5b381 100644 --- a/test/abilities/battery.test.ts +++ b/test/abilities/battery.test.ts @@ -1,9 +1,9 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,52 +27,52 @@ describe("Abilities - Battery", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.enemySpecies(Species.SHUCKLE); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.moveset([Moves.TACKLE, Moves.BREAKING_SWIPE, Moves.SPLASH, Moves.DAZZLING_GLEAM]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemySpecies(SpeciesId.SHUCKLE); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.moveset([MoveId.TACKLE, MoveId.BREAKING_SWIPE, MoveId.SPLASH, MoveId.DAZZLING_GLEAM]); + game.override.enemyMoveset(MoveId.SPLASH); }); it("raises the power of allies' special moves by 30%", async () => { - const moveToCheck = allMoves[Moves.DAZZLING_GLEAM]; + const moveToCheck = allMoves[MoveId.DAZZLING_GLEAM]; const basePower = moveToCheck.power; vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.PIKACHU, Species.CHARJABUG]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.CHARJABUG]); - game.move.select(Moves.DAZZLING_GLEAM); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.DAZZLING_GLEAM); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(basePower * batteryMultiplier); }); it("does not raise the power of allies' non-special moves", async () => { - const moveToCheck = allMoves[Moves.BREAKING_SWIPE]; + const moveToCheck = allMoves[MoveId.BREAKING_SWIPE]; const basePower = moveToCheck.power; vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.PIKACHU, Species.CHARJABUG]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.CHARJABUG]); - game.move.select(Moves.BREAKING_SWIPE); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.BREAKING_SWIPE); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(basePower); }); it("does not raise the power of the ability owner's special moves", async () => { - const moveToCheck = allMoves[Moves.DAZZLING_GLEAM]; + const moveToCheck = allMoves[MoveId.DAZZLING_GLEAM]; const basePower = moveToCheck.power; vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.CHARJABUG, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.CHARJABUG, SpeciesId.PIKACHU]); - game.move.select(Moves.DAZZLING_GLEAM); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.DAZZLING_GLEAM); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(basePower); diff --git a/test/abilities/battle_bond.test.ts b/test/abilities/battle_bond.test.ts index d9f7b0bd0dc..b4ce73d107b 100644 --- a/test/abilities/battle_bond.test.ts +++ b/test/abilities/battle_bond.test.ts @@ -2,9 +2,9 @@ import { MultiHitAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; import { MultiHitType } from "#enums/MultiHitType"; import { Status } from "#app/data/status-effect"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,17 +31,17 @@ describe("Abilities - BATTLE BOND", () => { game.override .battleStyle("single") .startingWave(4) // Leads to arena reset on Wave 5 trainer battle - .ability(Abilities.BATTLE_BOND) - .starterForms({ [Species.GRENINJA]: ashForm }) - .moveset([Moves.SPLASH, Moves.WATER_SHURIKEN]) - .enemySpecies(Species.BULBASAUR) - .enemyMoveset(Moves.SPLASH) + .ability(AbilityId.BATTLE_BOND) + .starterForms({ [SpeciesId.GRENINJA]: ashForm }) + .moveset([MoveId.SPLASH, MoveId.WATER_SHURIKEN]) + .enemySpecies(SpeciesId.BULBASAUR) + .enemyMoveset(MoveId.SPLASH) .startingLevel(100) // Avoid levelling up .enemyLevel(1000); // Avoid opponent dying before `doKillOpponents()` }); it("check if fainted pokemon switches to base form on arena reset", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.GRENINJA]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.GRENINJA]); const greninja = game.scene.getPlayerParty()[1]; expect(greninja.formIndex).toBe(ashForm); @@ -50,7 +50,7 @@ describe("Abilities - BATTLE BOND", () => { greninja.status = new Status(StatusEffect.FAINT); expect(greninja.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("TurnEndPhase"); game.doSelectModifier(); @@ -60,9 +60,9 @@ describe("Abilities - BATTLE BOND", () => { }); it("should not keep buffing Water Shuriken after Greninja switches to base form", async () => { - await game.classicMode.startBattle([Species.GRENINJA]); + await game.classicMode.startBattle([SpeciesId.GRENINJA]); - const waterShuriken = allMoves[Moves.WATER_SHURIKEN]; + const waterShuriken = allMoves[MoveId.WATER_SHURIKEN]; vi.spyOn(waterShuriken, "calculateBattlePower"); let actualMultiHitType: MultiHitType | null = null; @@ -76,7 +76,7 @@ describe("Abilities - BATTLE BOND", () => { let expectedBattlePower = 20; let expectedMultiHitType = MultiHitType._3; - game.move.select(Moves.WATER_SHURIKEN); + game.move.select(MoveId.WATER_SHURIKEN); await game.phaseInterceptor.to("BerryPhase", false); expect(waterShuriken.calculateBattlePower).toHaveLastReturnedWith(expectedBattlePower); expect(actualMultiHitType).toBe(expectedMultiHitType); @@ -88,7 +88,7 @@ describe("Abilities - BATTLE BOND", () => { expectedBattlePower = 15; expectedMultiHitType = MultiHitType._2_TO_5; - game.move.select(Moves.WATER_SHURIKEN); + game.move.select(MoveId.WATER_SHURIKEN); await game.phaseInterceptor.to("BerryPhase", false); expect(waterShuriken.calculateBattlePower).toHaveLastReturnedWith(expectedBattlePower); expect(actualMultiHitType).toBe(expectedMultiHitType); diff --git a/test/abilities/beast_boost.test.ts b/test/abilities/beast_boost.test.ts index a6b6ec0aacf..17ba4020961 100644 --- a/test/abilities/beast_boost.test.ts +++ b/test/abilities/beast_boost.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,16 +25,16 @@ describe("Abilities - Beast Boost", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.BULBASAUR) - .enemyAbility(Abilities.BEAST_BOOST) - .ability(Abilities.BEAST_BOOST) + .enemySpecies(SpeciesId.BULBASAUR) + .enemyAbility(AbilityId.BEAST_BOOST) + .ability(AbilityId.BEAST_BOOST) .startingLevel(2000) - .moveset([Moves.FLAMETHROWER]) - .enemyMoveset(Moves.SPLASH); + .moveset([MoveId.FLAMETHROWER]) + .enemyMoveset(MoveId.SPLASH); }); it("should prefer highest stat to boost its corresponding stat stage by 1 when winning a battle", async () => { - await game.classicMode.startBattle([Species.SLOWBRO]); + await game.classicMode.startBattle([SpeciesId.SLOWBRO]); const playerPokemon = game.scene.getPlayerPokemon()!; // Set the pokemon's highest stat to DEF, so it should be picked by Beast Boost @@ -43,16 +43,16 @@ describe("Abilities - Beast Boost", () => { expect(playerPokemon.getStatStage(Stat.DEF)).toBe(0); - game.move.select(Moves.FLAMETHROWER); + game.move.select(MoveId.FLAMETHROWER); await game.phaseInterceptor.to("VictoryPhase"); expect(playerPokemon.getStatStage(Stat.DEF)).toBe(1); }, 20000); it("should use in-battle overriden stats when determining the stat stage to raise by 1", async () => { - game.override.enemyMoveset([Moves.GUARD_SPLIT]); + game.override.enemyMoveset([MoveId.GUARD_SPLIT]); - await game.classicMode.startBattle([Species.SLOWBRO]); + await game.classicMode.startBattle([SpeciesId.SLOWBRO]); const playerPokemon = game.scene.getPlayerPokemon()!; // If the opponent uses Guard Split, the pokemon's second highest stat (SPATK) should be chosen @@ -60,7 +60,7 @@ describe("Abilities - Beast Boost", () => { expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(0); - game.move.select(Moves.FLAMETHROWER); + game.move.select(MoveId.FLAMETHROWER); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("VictoryPhase"); @@ -70,7 +70,7 @@ describe("Abilities - Beast Boost", () => { it("should have order preference in case of stat ties", async () => { // Order preference follows the order of EFFECTIVE_STAT - await game.classicMode.startBattle([Species.SLOWBRO]); + await game.classicMode.startBattle([SpeciesId.SLOWBRO]); const playerPokemon = game.scene.getPlayerPokemon()!; @@ -79,7 +79,7 @@ describe("Abilities - Beast Boost", () => { expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(0); - game.move.select(Moves.FLAMETHROWER); + game.move.select(MoveId.FLAMETHROWER); await game.phaseInterceptor.to("VictoryPhase"); diff --git a/test/abilities/commander.test.ts b/test/abilities/commander.test.ts index 0fddb8e9bf6..bb2670ec2f0 100644 --- a/test/abilities/commander.test.ts +++ b/test/abilities/commander.test.ts @@ -6,9 +6,9 @@ import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -32,19 +32,19 @@ describe("Abilities - Commander", () => { game.override .startingLevel(100) .enemyLevel(100) - .moveset([Moves.LIQUIDATION, Moves.MEMENTO, Moves.SPLASH, Moves.FLIP_TURN]) - .ability(Abilities.COMMANDER) + .moveset([MoveId.LIQUIDATION, MoveId.MEMENTO, MoveId.SPLASH, MoveId.FLIP_TURN]) + .ability(AbilityId.COMMANDER) .battleStyle("double") .disableCrits() - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); vi.spyOn(game.scene, "triggerPokemonBattleAnim").mockReturnValue(true); }); it("causes the source to jump into Dondozo's mouth, granting a stat boost and hiding the source", async () => { - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); @@ -54,13 +54,13 @@ describe("Abilities - Commander", () => { expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); affectedStats.forEach(stat => expect(dondozo.getStatStage(stat)).toBe(2)); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); // Force both enemies to target the Tatsugiri - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); await game.phaseInterceptor.to("BerryPhase", false); game.scene.getEnemyField().forEach(enemy => expect(enemy.getLastXMoves(1)[0].result).toBe(MoveResult.MISS)); @@ -68,13 +68,13 @@ describe("Abilities - Commander", () => { }); it("should activate when a Dondozo switches in and cancel the source's move", async () => { - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.MAGIKARP, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.MAGIKARP, SpeciesId.DONDOZO]); const tatsugiri = game.scene.getPlayerField()[0]; - game.move.select(Moves.LIQUIDATION, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.LIQUIDATION, 0, BattlerIndex.ENEMY); game.doSwitchPokemon(2); await game.phaseInterceptor.to("MovePhase", false); @@ -89,19 +89,19 @@ describe("Abilities - Commander", () => { }); it("source should reenter the field when Dondozo faints", async () => { - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - game.move.select(Moves.MEMENTO, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.MEMENTO, 1, BattlerIndex.ENEMY); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER]); @@ -114,16 +114,16 @@ describe("Abilities - Commander", () => { }); it("source should still take damage from Poison while hidden", async () => { - game.override.statusEffect(StatusEffect.POISON).enemyMoveset(Moves.SPLASH); + game.override.statusEffect(StatusEffect.POISON).enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); @@ -132,18 +132,18 @@ describe("Abilities - Commander", () => { }); it("source should still take damage from Salt Cure while hidden", async () => { - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - tatsugiri.addTag(BattlerTagType.SALT_CURED, 0, Moves.NONE, game.scene.getField()[BattlerIndex.ENEMY].id); + tatsugiri.addTag(BattlerTagType.SALT_CURED, 0, MoveId.NONE, game.scene.getField()[BattlerIndex.ENEMY].id); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); @@ -152,16 +152,16 @@ describe("Abilities - Commander", () => { }); it("source should still take damage from Sandstorm while hidden", async () => { - game.override.weather(WeatherType.SANDSTORM).enemyMoveset(Moves.SPLASH); + game.override.weather(WeatherType.SANDSTORM).enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); @@ -170,21 +170,21 @@ describe("Abilities - Commander", () => { }); it("should make Dondozo immune to being forced out", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.WHIRLWIND]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.WHIRLWIND]); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); - await game.move.selectEnemyMove(Moves.WHIRLWIND, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.WHIRLWIND, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); // Test may time out here if Whirlwind forced out a Pokemon await game.phaseInterceptor.to("TurnEndPhase"); @@ -192,14 +192,14 @@ describe("Abilities - Commander", () => { }); it("should interrupt the source's semi-invulnerability", async () => { - game.override.moveset([Moves.SPLASH, Moves.DIVE]).enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.SPLASH, MoveId.DIVE]).enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.MAGIKARP, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.MAGIKARP, SpeciesId.DONDOZO]); const tatsugiri = game.scene.getPlayerField()[0]; - game.move.select(Moves.DIVE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.DIVE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("CommandPhase"); await game.toNextTurn(); diff --git a/test/abilities/competitive.test.ts b/test/abilities/competitive.test.ts index 1e0b5fcf40e..f12b06837dc 100644 --- a/test/abilities/competitive.test.ts +++ b/test/abilities/competitive.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,18 +26,18 @@ describe("Abilities - Competitive", () => { game.override .battleStyle("single") - .enemySpecies(Species.BEEDRILL) - .enemyMoveset(Moves.TICKLE) + .enemySpecies(SpeciesId.BEEDRILL) + .enemyMoveset(MoveId.TICKLE) .startingLevel(1) - .moveset([Moves.SPLASH, Moves.CLOSE_COMBAT]) - .ability(Abilities.COMPETITIVE); + .moveset([MoveId.SPLASH, MoveId.CLOSE_COMBAT]) + .ability(AbilityId.COMPETITIVE); }); it("lower atk and def by 1 via tickle, then increase spatk by 4 via competitive", async () => { - await game.classicMode.startBattle([Species.FLYGON]); + await game.classicMode.startBattle([SpeciesId.FLYGON]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnInitPhase); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-1); @@ -46,11 +46,11 @@ describe("Abilities - Competitive", () => { }); it("lowering your own stats should not trigger competitive", async () => { - game.override.enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FLYGON]); + game.override.enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FLYGON]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.CLOSE_COMBAT); + game.move.select(MoveId.CLOSE_COMBAT); await game.phaseInterceptor.to(TurnInitPhase); expect(playerPokemon.getStatStage(Stat.SPDEF)).toBe(-1); @@ -60,10 +60,10 @@ describe("Abilities - Competitive", () => { it("white herb should remove only the negative effects", async () => { game.override.startingHeldItems([{ name: "WHITE_HERB" }]); - await game.classicMode.startBattle([Species.FLYGON]); + await game.classicMode.startBattle([SpeciesId.FLYGON]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnInitPhase); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(0); diff --git a/test/abilities/contrary.test.ts b/test/abilities/contrary.test.ts index 99c5208f561..0e47862f3e8 100644 --- a/test/abilities/contrary.test.ts +++ b/test/abilities/contrary.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#app/enums/moves"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,14 +24,14 @@ describe("Abilities - Contrary", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.BULBASAUR) - .enemyAbility(Abilities.CONTRARY) - .ability(Abilities.INTIMIDATE) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.BULBASAUR) + .enemyAbility(AbilityId.CONTRARY) + .ability(AbilityId.INTIMIDATE) + .enemyMoveset(MoveId.SPLASH); }); it("should invert stat changes when applied", async () => { - await game.classicMode.startBattle([Species.SLOWBRO]); + await game.classicMode.startBattle([SpeciesId.SLOWBRO]); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -40,28 +40,28 @@ describe("Abilities - Contrary", () => { describe("With Clear Body", () => { it("should apply positive effects", async () => { - game.override.enemyPassiveAbility(Abilities.CLEAR_BODY).moveset([Moves.TAIL_WHIP]); - await game.classicMode.startBattle([Species.SLOWBRO]); + game.override.enemyPassiveAbility(AbilityId.CLEAR_BODY).moveset([MoveId.TAIL_WHIP]); + await game.classicMode.startBattle([SpeciesId.SLOWBRO]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1); - game.move.select(Moves.TAIL_WHIP); + game.move.select(MoveId.TAIL_WHIP); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(1); }); it("should block negative effects", async () => { - game.override.enemyPassiveAbility(Abilities.CLEAR_BODY).enemyMoveset(Moves.HOWL).moveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.SLOWBRO]); + game.override.enemyPassiveAbility(AbilityId.CLEAR_BODY).enemyMoveset(MoveId.HOWL).moveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.SLOWBRO]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1); diff --git a/test/abilities/corrosion.test.ts b/test/abilities/corrosion.test.ts index c72aef9f0a3..81b04ef340c 100644 --- a/test/abilities/corrosion.test.ts +++ b/test/abilities/corrosion.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -22,23 +22,23 @@ describe("Abilities - Corrosion", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) + .moveset([MoveId.SPLASH]) .battleStyle("single") .disableCrits() - .enemySpecies(Species.GRIMER) - .enemyAbility(Abilities.CORROSION) - .enemyMoveset(Moves.TOXIC); + .enemySpecies(SpeciesId.GRIMER) + .enemyAbility(AbilityId.CORROSION) + .enemyMoveset(MoveId.TOXIC); }); it("If a Poison- or Steel-type Pokémon with this Ability poisons a target with Synchronize, Synchronize does not gain the ability to poison Poison- or Steel-type Pokémon.", async () => { - game.override.ability(Abilities.SYNCHRONIZE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.ability(AbilityId.SYNCHRONIZE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerPokemon(); const enemyPokemon = game.scene.getEnemyPokemon(); expect(playerPokemon!.status).toBeUndefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(playerPokemon!.status).toBeDefined(); expect(enemyPokemon!.status).toBeUndefined(); diff --git a/test/abilities/costar.test.ts b/test/abilities/costar.test.ts index 02d607c2e9f..ae09aeea096 100644 --- a/test/abilities/costar.test.ts +++ b/test/abilities/costar.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { CommandPhase } from "#app/phases/command-phase"; import { MessagePhase } from "#app/phases/message-phase"; import GameManager from "#test/testUtils/gameManager"; @@ -25,27 +25,27 @@ describe("Abilities - COSTAR", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.ability(Abilities.COSTAR); - game.override.moveset([Moves.SPLASH, Moves.NASTY_PLOT]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.ability(AbilityId.COSTAR); + game.override.moveset([MoveId.SPLASH, MoveId.NASTY_PLOT]); + game.override.enemyMoveset(MoveId.SPLASH); }); test("ability copies positive stat stages", async () => { - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemyAbility(AbilityId.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP, Species.FLAMIGO]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP, SpeciesId.FLAMIGO]); let [leftPokemon, rightPokemon] = game.scene.getPlayerField(); - game.move.select(Moves.NASTY_PLOT); + game.move.select(MoveId.NASTY_PLOT); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPokemon.getStatStage(Stat.SPATK)).toBe(2); expect(rightPokemon.getStatStage(Stat.SPATK)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(CommandPhase); game.doSwitchPokemon(2); await game.phaseInterceptor.to(MessagePhase); @@ -56,16 +56,16 @@ describe("Abilities - COSTAR", () => { }); test("ability copies negative stat stages", async () => { - game.override.enemyAbility(Abilities.INTIMIDATE); + game.override.enemyAbility(AbilityId.INTIMIDATE); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP, Species.FLAMIGO]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP, SpeciesId.FLAMIGO]); let [leftPokemon, rightPokemon] = game.scene.getPlayerField(); expect(leftPokemon.getStatStage(Stat.ATK)).toBe(-2); expect(leftPokemon.getStatStage(Stat.ATK)).toBe(-2); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(CommandPhase); game.doSwitchPokemon(2); await game.phaseInterceptor.to(MessagePhase); diff --git a/test/abilities/cud_chew.test.ts b/test/abilities/cud_chew.test.ts index 60205b62b70..3c918f01330 100644 --- a/test/abilities/cud_chew.test.ts +++ b/test/abilities/cud_chew.test.ts @@ -2,10 +2,10 @@ import { RepeatBerryNextTurnAbAttr } from "#app/data/abilities/ability"; import Pokemon from "#app/field/pokemon"; import { globalScene } from "#app/global-scene"; import { getPokemonNameWithAffix } from "#app/messages"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BerryType } from "#enums/berry-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import i18next from "i18next"; @@ -29,24 +29,24 @@ describe("Abilities - Cud Chew", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.BUG_BITE, Moves.SPLASH, Moves.HYPER_VOICE, Moves.STUFF_CHEEKS]) + .moveset([MoveId.BUG_BITE, MoveId.SPLASH, MoveId.HYPER_VOICE, MoveId.STUFF_CHEEKS]) .startingHeldItems([{ name: "BERRY", type: BerryType.SITRUS, count: 1 }]) - .ability(Abilities.CUD_CHEW) + .ability(AbilityId.CUD_CHEW) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); describe("tracks berries eaten", () => { it("stores inside summonData at end of turn", async () => { - await game.classicMode.startBattle([Species.FARIGIRAF]); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; // needed to allow sitrus procs - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); // berries tracked in turnData; not moved to battleData yet @@ -68,15 +68,15 @@ describe("Abilities - Cud Chew", () => { it("shows ability popup for eating berry, even if berry is useless", async () => { const abDisplaySpy = vi.spyOn(globalScene, "queueAbilityDisplay"); - game.override.enemyMoveset([Moves.SPLASH, Moves.HEAL_PULSE]); - await game.classicMode.startBattle([Species.FARIGIRAF]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.HEAL_PULSE]); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; // Dip below half to eat berry farigiraf.hp = farigiraf.getMaxHp() / 2 - 1; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); // doesn't trigger since cud chew hasn't eaten berry yet @@ -85,8 +85,8 @@ describe("Abilities - Cud Chew", () => { await game.toNextTurn(); // get heal pulsed back to full before the cud chew proc - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.HEAL_PULSE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.HEAL_PULSE); await game.phaseInterceptor.to("TurnEndPhase"); // globalScene.queueAbilityDisplay should be called twice: @@ -117,13 +117,13 @@ describe("Abilities - Cud Chew", () => { { name: "BERRY", type: BerryType.PETAYA, count: 3 }, { name: "BERRY", type: BerryType.LIECHI, count: 3 }, ]) - .enemyMoveset(Moves.TEATIME); - await game.classicMode.startBattle([Species.FARIGIRAF]); + .enemyMoveset(MoveId.TEATIME); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; // needed to allow berry procs - game.move.select(Moves.STUFF_CHEEKS); + game.move.select(MoveId.STUFF_CHEEKS); await game.toNextTurn(); // Ate 2 petayas from moves + 1 of each at turn end; all 4 get tallied on turn end @@ -135,7 +135,7 @@ describe("Abilities - Cud Chew", () => { ]); expect(farigiraf.turnData.berriesEaten).toEqual([]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // previous berries eaten and deleted from summon data as remaining eaten berries move to replace them @@ -146,13 +146,13 @@ describe("Abilities - Cud Chew", () => { }); it("should reset both arrays on switch", async () => { - await game.classicMode.startBattle([Species.FARIGIRAF, Species.GIRAFARIG]); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF, SpeciesId.GIRAFARIG]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; // eat berry turn 1, switch out turn 2 - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); const turn1Hp = farigiraf.hp; @@ -174,13 +174,13 @@ describe("Abilities - Cud Chew", () => { }); it("clears array if disabled", async () => { - game.override.enemyAbility(Abilities.NEUTRALIZING_GAS); - await game.classicMode.startBattle([Species.FARIGIRAF]); + game.override.enemyAbility(AbilityId.NEUTRALIZING_GAS); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(farigiraf.summonData.berriesEatenLast).toEqual([]); @@ -197,12 +197,12 @@ describe("Abilities - Cud Chew", () => { describe("regurgiates berries", () => { it("re-triggers effects on eater without pushing to array", async () => { const apply = vi.spyOn(RepeatBerryNextTurnAbAttr.prototype, "apply"); - await game.classicMode.startBattle([Species.FARIGIRAF]); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // ate 1 sitrus the turn prior, spitball pending @@ -212,7 +212,7 @@ describe("Abilities - Cud Chew", () => { const turn1Hp = farigiraf.hp; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); // healed back up to half without adding any more to array @@ -222,15 +222,15 @@ describe("Abilities - Cud Chew", () => { }); it("bypasses unnerve", async () => { - game.override.enemyAbility(Abilities.UNNERVE); - await game.classicMode.startBattle([Species.FARIGIRAF]); + game.override.enemyAbility(AbilityId.UNNERVE); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); // Turn end proc set the berriesEatenLast array back to being empty @@ -240,13 +240,13 @@ describe("Abilities - Cud Chew", () => { }); it("doesn't trigger on non-eating removal", async () => { - game.override.enemyMoveset(Moves.INCINERATE); - await game.classicMode.startBattle([Species.FARIGIRAF]); + game.override.enemyMoveset(MoveId.INCINERATE); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = farigiraf.getMaxHp() / 4; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // no berries eaten due to getting cooked @@ -257,17 +257,17 @@ describe("Abilities - Cud Chew", () => { it("works with pluck", async () => { game.override - .enemySpecies(Species.BLAZIKEN) + .enemySpecies(SpeciesId.BLAZIKEN) .enemyHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]) .startingHeldItems([]); - await game.classicMode.startBattle([Species.FARIGIRAF]); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; - game.move.select(Moves.BUG_BITE); + game.move.select(MoveId.BUG_BITE); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // berry effect triggered twice - once for bug bite, once for cud chew @@ -275,15 +275,15 @@ describe("Abilities - Cud Chew", () => { }); it("works with Ripen", async () => { - game.override.passiveAbility(Abilities.RIPEN); - await game.classicMode.startBattle([Species.FARIGIRAF]); + game.override.passiveAbility(AbilityId.RIPEN); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Rounding errors only ever cost a maximum of 4 hp @@ -292,12 +292,12 @@ describe("Abilities - Cud Chew", () => { it("is preserved on reload/wave clear", async () => { game.override.enemyLevel(1); - await game.classicMode.startBattle([Species.FARIGIRAF]); + await game.classicMode.startBattle([SpeciesId.FARIGIRAF]); const farigiraf = game.scene.getPlayerPokemon()!; farigiraf.hp = 1; - game.move.select(Moves.HYPER_VOICE); + game.move.select(MoveId.HYPER_VOICE); await game.toNextWave(); // berry went yummy yummy in big fat giraffe tummy @@ -313,7 +313,7 @@ describe("Abilities - Cud Chew", () => { const wave1Hp = farigirafReloaded.hp; // blow up next wave and we should proc the repeat eating - game.move.select(Moves.HYPER_VOICE); + game.move.select(MoveId.HYPER_VOICE); await game.toNextWave(); expect(farigirafReloaded.hp).toBeGreaterThan(wave1Hp); diff --git a/test/abilities/dancer.test.ts b/test/abilities/dancer.test.ts index b85fc7bdcd4..7b4edb84789 100644 --- a/test/abilities/dancer.test.ts +++ b/test/abilities/dancer.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import type { MovePhase } from "#app/phases/move-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -29,22 +29,22 @@ describe("Abilities - Dancer", () => { // Reference Link: https://bulbapedia.bulbagarden.net/wiki/Dancer_(Ability) it("triggers when dance moves are used, doesn't consume extra PP", async () => { - game.override.enemyAbility(Abilities.DANCER).enemySpecies(Species.MAGIKARP).enemyMoveset(Moves.VICTORY_DANCE); - await game.classicMode.startBattle([Species.ORICORIO, Species.FEEBAS]); + game.override.enemyAbility(AbilityId.DANCER).enemySpecies(SpeciesId.MAGIKARP).enemyMoveset(MoveId.VICTORY_DANCE); + await game.classicMode.startBattle([SpeciesId.ORICORIO, SpeciesId.FEEBAS]); const [oricorio, feebas] = game.scene.getPlayerField(); - game.move.changeMoveset(oricorio, [Moves.SWORDS_DANCE, Moves.VICTORY_DANCE, Moves.SPLASH]); - game.move.changeMoveset(feebas, [Moves.SWORDS_DANCE, Moves.SPLASH]); + game.move.changeMoveset(oricorio, [MoveId.SWORDS_DANCE, MoveId.VICTORY_DANCE, MoveId.SPLASH]); + game.move.changeMoveset(feebas, [MoveId.SWORDS_DANCE, MoveId.SPLASH]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SWORDS_DANCE, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SWORDS_DANCE, 1); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("MovePhase"); // feebas uses swords dance await game.phaseInterceptor.to("MovePhase", false); // oricorio copies swords dance let currentPhase = game.scene.getCurrentPhase() as MovePhase; expect(currentPhase.pokemon).toBe(oricorio); - expect(currentPhase.move.moveId).toBe(Moves.SWORDS_DANCE); + expect(currentPhase.move.moveId).toBe(MoveId.SWORDS_DANCE); await game.phaseInterceptor.to("MoveEndPhase"); // end oricorio's move await game.phaseInterceptor.to("MovePhase"); // magikarp 1 copies swords dance @@ -54,7 +54,7 @@ describe("Abilities - Dancer", () => { currentPhase = game.scene.getCurrentPhase() as MovePhase; expect(currentPhase.pokemon).toBe(oricorio); - expect(currentPhase.move.moveId).toBe(Moves.VICTORY_DANCE); + expect(currentPhase.move.moveId).toBe(MoveId.VICTORY_DANCE); await game.phaseInterceptor.to("BerryPhase"); // finish the turn @@ -66,37 +66,37 @@ describe("Abilities - Dancer", () => { // TODO: Enable after Dancer rework to not push to move history it.todo("should not count as the last move used for mirror move/instruct", async () => { game.override - .moveset([Moves.FIERY_DANCE, Moves.REVELATION_DANCE]) - .enemyMoveset([Moves.INSTRUCT, Moves.MIRROR_MOVE, Moves.SPLASH]) - .enemySpecies(Species.SHUCKLE) + .moveset([MoveId.FIERY_DANCE, MoveId.REVELATION_DANCE]) + .enemyMoveset([MoveId.INSTRUCT, MoveId.MIRROR_MOVE, MoveId.SPLASH]) + .enemySpecies(SpeciesId.SHUCKLE) .enemyLevel(10); - await game.classicMode.startBattle([Species.ORICORIO, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.ORICORIO, SpeciesId.FEEBAS]); const [oricorio] = game.scene.getPlayerField(); const [, shuckle2] = game.scene.getEnemyField(); - game.move.select(Moves.REVELATION_DANCE, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2); - game.move.select(Moves.FIERY_DANCE, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.INSTRUCT, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.MIRROR_MOVE, BattlerIndex.PLAYER); + game.move.select(MoveId.REVELATION_DANCE, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2); + game.move.select(MoveId.FIERY_DANCE, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2); + await game.move.selectEnemyMove(MoveId.INSTRUCT, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.MIRROR_MOVE, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MovePhase"); // Oricorio rev dance await game.phaseInterceptor.to("MovePhase"); // Feebas fiery dance await game.phaseInterceptor.to("MovePhase"); // Oricorio fiery dance (from dancer) await game.phaseInterceptor.to("MoveEndPhase", false); // dancer copied move doesn't appear in move history - expect(oricorio.getLastXMoves(-1)[0].move).toBe(Moves.REVELATION_DANCE); + expect(oricorio.getLastXMoves(-1)[0].move).toBe(MoveId.REVELATION_DANCE); await game.phaseInterceptor.to("MovePhase"); // shuckle 2 mirror moves oricorio await game.phaseInterceptor.to("MovePhase"); // calls instructed rev dance let currentPhase = game.scene.getCurrentPhase() as MovePhase; expect(currentPhase.pokemon).toBe(shuckle2); - expect(currentPhase.move.moveId).toBe(Moves.REVELATION_DANCE); + expect(currentPhase.move.moveId).toBe(MoveId.REVELATION_DANCE); await game.phaseInterceptor.to("MovePhase"); // shuckle 1 instructs oricorio await game.phaseInterceptor.to("MovePhase"); currentPhase = game.scene.getCurrentPhase() as MovePhase; expect(currentPhase.pokemon).toBe(oricorio); - expect(currentPhase.move.moveId).toBe(Moves.REVELATION_DANCE); + expect(currentPhase.move.moveId).toBe(MoveId.REVELATION_DANCE); }); }); diff --git a/test/abilities/defiant.test.ts b/test/abilities/defiant.test.ts index d06aef4d785..ef26b5bfca3 100644 --- a/test/abilities/defiant.test.ts +++ b/test/abilities/defiant.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,18 +26,18 @@ describe("Abilities - Defiant", () => { game.override .battleStyle("single") - .enemySpecies(Species.BEEDRILL) - .enemyMoveset(Moves.TICKLE) + .enemySpecies(SpeciesId.BEEDRILL) + .enemyMoveset(MoveId.TICKLE) .startingLevel(1) - .moveset([Moves.SPLASH, Moves.CLOSE_COMBAT]) - .ability(Abilities.DEFIANT); + .moveset([MoveId.SPLASH, MoveId.CLOSE_COMBAT]) + .ability(AbilityId.DEFIANT); }); it("lower atk and def by 1 via tickle, then increase atk by 4 via defiant", async () => { - await game.classicMode.startBattle([Species.FLYGON]); + await game.classicMode.startBattle([SpeciesId.FLYGON]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnInitPhase); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(3); @@ -45,11 +45,11 @@ describe("Abilities - Defiant", () => { }); it("lowering your own stats should not trigger defiant", async () => { - game.override.enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FLYGON]); + game.override.enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FLYGON]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.CLOSE_COMBAT); + game.move.select(MoveId.CLOSE_COMBAT); await game.phaseInterceptor.to(TurnInitPhase); expect(playerPokemon.getStatStage(Stat.SPDEF)).toBe(-1); @@ -59,10 +59,10 @@ describe("Abilities - Defiant", () => { it("white herb should remove only the negative effects", async () => { game.override.startingHeldItems([{ name: "WHITE_HERB" }]); - await game.classicMode.startBattle([Species.FLYGON]); + await game.classicMode.startBattle([SpeciesId.FLYGON]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnInitPhase); expect(playerPokemon.getStatStage(Stat.DEF)).toBe(0); diff --git a/test/abilities/desolate-land.test.ts b/test/abilities/desolate-land.test.ts index da2c285e38f..c5238a40762 100644 --- a/test/abilities/desolate-land.test.ts +++ b/test/abilities/desolate-land.test.ts @@ -2,9 +2,9 @@ import { PokeballType } from "#app/enums/pokeball"; import { WeatherType } from "#app/enums/weather-type"; import type { CommandPhase } from "#app/phases/command-phase"; import { Command } from "#app/ui/command-ui-handler"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -26,20 +26,25 @@ describe("Abilities - Desolate Land", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.SPLASH) + .moveset(MoveId.SPLASH) .hasPassiveAbility(true) - .enemySpecies(Species.RALTS) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.RALTS) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); /** - * This checks that the weather has changed after the Enemy Pokemon with {@linkcode Abilities.DESOLATE_LAND} - * is forcefully moved out of the field from moves such as Roar {@linkcode Moves.ROAR} + * This checks that the weather has changed after the Enemy Pokemon with {@linkcode AbilityId.DESOLATE_LAND} + * is forcefully moved out of the field from moves such as Roar {@linkcode MoveId.ROAR} */ it("should lift only when all pokemon with this ability leave the field", async () => { - game.override.battleStyle("double").enemyMoveset([Moves.SPLASH, Moves.ROAR]); - await game.classicMode.startBattle([Species.MAGCARGO, Species.MAGCARGO, Species.MAGIKARP, Species.MAGIKARP]); + game.override.battleStyle("double").enemyMoveset([MoveId.SPLASH, MoveId.ROAR]); + await game.classicMode.startBattle([ + SpeciesId.MAGCARGO, + SpeciesId.MAGCARGO, + SpeciesId.MAGIKARP, + SpeciesId.MAGIKARP, + ]); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); @@ -47,11 +52,11 @@ describe("Abilities - Desolate Land", () => { return min; }); - game.move.select(Moves.SPLASH, 0, 2); - game.move.select(Moves.SPLASH, 1, 2); + game.move.select(MoveId.SPLASH, 0, 2); + game.move.select(MoveId.SPLASH, 1, 2); - await game.move.selectEnemyMove(Moves.ROAR, 0); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.ROAR, 0); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -63,11 +68,11 @@ describe("Abilities - Desolate Land", () => { return min + 1; }); - game.move.select(Moves.SPLASH, 0, 2); - game.move.select(Moves.SPLASH, 1, 2); + game.move.select(MoveId.SPLASH, 0, 2); + game.move.select(MoveId.SPLASH, 1, 2); - await game.move.selectEnemyMove(Moves.ROAR, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 0); + await game.move.selectEnemyMove(MoveId.ROAR, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 0); await game.phaseInterceptor.to("TurnEndPhase"); @@ -77,18 +82,18 @@ describe("Abilities - Desolate Land", () => { it("should lift when enemy faints", async () => { game.override .battleStyle("single") - .moveset([Moves.SHEER_COLD]) - .ability(Abilities.NO_GUARD) + .moveset([MoveId.SHEER_COLD]) + .ability(AbilityId.NO_GUARD) .startingLevel(100) .enemyLevel(1) - .enemyMoveset([Moves.SPLASH]) - .enemySpecies(Species.MAGCARGO) + .enemyMoveset([MoveId.SPLASH]) + .enemySpecies(SpeciesId.MAGCARGO) .enemyHasPassiveAbility(true); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); - game.move.select(Moves.SHEER_COLD); + game.move.select(MoveId.SHEER_COLD); await game.phaseInterceptor.to("TurnEndPhase"); @@ -96,15 +101,15 @@ describe("Abilities - Desolate Land", () => { }); it("should lift when pokemon returns upon switching from double to single battle", async () => { - game.override.battleStyle("even-doubles").enemyMoveset([Moves.SPLASH, Moves.MEMENTO]).startingWave(12); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGCARGO]); + game.override.battleStyle("even-doubles").enemyMoveset([MoveId.SPLASH, MoveId.MEMENTO]).startingWave(12); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGCARGO]); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); - game.move.select(Moves.SPLASH, 0, 2); - game.move.select(Moves.SPLASH, 1, 2); - await game.move.selectEnemyMove(Moves.MEMENTO, 0); - await game.move.selectEnemyMove(Moves.MEMENTO, 1); + game.move.select(MoveId.SPLASH, 0, 2); + game.move.select(MoveId.SPLASH, 1, 2); + await game.move.selectEnemyMove(MoveId.MEMENTO, 0); + await game.move.selectEnemyMove(MoveId.MEMENTO, 1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -118,10 +123,10 @@ describe("Abilities - Desolate Land", () => { it("should lift when enemy is captured", async () => { game.override .battleStyle("single") - .enemyMoveset([Moves.SPLASH]) - .enemySpecies(Species.MAGCARGO) + .enemyMoveset([MoveId.SPLASH]) + .enemySpecies(SpeciesId.MAGCARGO) .enemyHasPassiveAbility(true); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); @@ -135,8 +140,8 @@ describe("Abilities - Desolate Land", () => { }); it("should lift after fleeing from a wild pokemon", async () => { - game.override.enemyAbility(Abilities.DESOLATE_LAND).ability(Abilities.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.enemyAbility(AbilityId.DESOLATE_LAND).ability(AbilityId.BALL_FETCH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); vi.spyOn(game.scene.getPlayerPokemon()!, "randBattleSeedInt").mockReturnValue(0); diff --git a/test/abilities/disguise.test.ts b/test/abilities/disguise.test.ts index 0e62b8ad448..dd05c540620 100644 --- a/test/abilities/disguise.test.ts +++ b/test/abilities/disguise.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; @@ -28,10 +28,10 @@ describe("Abilities - Disguise", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MIMIKYU) - .enemyMoveset(Moves.SPLASH) - .starterSpecies(Species.REGIELEKI) - .moveset([Moves.SHADOW_SNEAK, Moves.VACUUM_WAVE, Moves.TOXIC_THREAD, Moves.SPLASH]); + .enemySpecies(SpeciesId.MIMIKYU) + .enemyMoveset(MoveId.SPLASH) + .starterSpecies(SpeciesId.REGIELEKI) + .moveset([MoveId.SHADOW_SNEAK, MoveId.VACUUM_WAVE, MoveId.TOXIC_THREAD, MoveId.SPLASH]); }); it("takes no damage from attacking move and transforms to Busted form, takes 1/8 max HP damage from the disguise breaking", async () => { @@ -43,7 +43,7 @@ describe("Abilities - Disguise", () => { expect(mimikyu.formIndex).toBe(disguisedForm); - game.move.select(Moves.SHADOW_SNEAK); + game.move.select(MoveId.SHADOW_SNEAK); await game.phaseInterceptor.to("MoveEndPhase"); @@ -58,7 +58,7 @@ describe("Abilities - Disguise", () => { expect(mimikyu.formIndex).toBe(disguisedForm); - game.move.select(Moves.VACUUM_WAVE); + game.move.select(MoveId.VACUUM_WAVE); await game.phaseInterceptor.to("MoveEndPhase"); @@ -66,7 +66,7 @@ describe("Abilities - Disguise", () => { }); it("takes no damage from the first hit of a multihit move and transforms to Busted form, then takes damage from the second hit", async () => { - game.override.moveset([Moves.SURGING_STRIKES]); + game.override.moveset([MoveId.SURGING_STRIKES]); game.override.enemyLevel(5); await game.classicMode.startBattle(); @@ -76,7 +76,7 @@ describe("Abilities - Disguise", () => { expect(mimikyu.formIndex).toBe(disguisedForm); - game.move.select(Moves.SURGING_STRIKES); + game.move.select(MoveId.SURGING_STRIKES); // First hit await game.phaseInterceptor.to("MoveEffectPhase"); @@ -95,7 +95,7 @@ describe("Abilities - Disguise", () => { const mimikyu = game.scene.getEnemyPokemon()!; expect(mimikyu.hp).toBe(mimikyu.getMaxHp()); - game.move.select(Moves.TOXIC_THREAD); + game.move.select(MoveId.TOXIC_THREAD); await game.phaseInterceptor.to("TurnEndPhase"); @@ -106,16 +106,16 @@ describe("Abilities - Disguise", () => { }); it("persists form change when switched out", async () => { - game.override.enemyMoveset([Moves.SHADOW_SNEAK]); + game.override.enemyMoveset([MoveId.SHADOW_SNEAK]); game.override.starterSpecies(0); - await game.classicMode.startBattle([Species.MIMIKYU, Species.FURRET]); + await game.classicMode.startBattle([SpeciesId.MIMIKYU, SpeciesId.FURRET]); const mimikyu = game.scene.getPlayerPokemon()!; const maxHp = mimikyu.getMaxHp(); const disguiseDamage = toDmgValue(maxHp / 8); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); @@ -133,14 +133,14 @@ describe("Abilities - Disguise", () => { it("persists form change when wave changes with no arena reset", async () => { game.override.starterSpecies(0); game.override.starterForms({ - [Species.MIMIKYU]: bustedForm, + [SpeciesId.MIMIKYU]: bustedForm, }); - await game.classicMode.startBattle([Species.FURRET, Species.MIMIKYU]); + await game.classicMode.startBattle([SpeciesId.FURRET, SpeciesId.MIMIKYU]); const mimikyu = game.scene.getPlayerParty()[1]!; expect(mimikyu.formIndex).toBe(bustedForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); @@ -149,9 +149,9 @@ describe("Abilities - Disguise", () => { it("reverts to Disguised form on arena reset", async () => { game.override.startingWave(4); - game.override.starterSpecies(Species.MIMIKYU); + game.override.starterSpecies(SpeciesId.MIMIKYU); game.override.starterForms({ - [Species.MIMIKYU]: bustedForm, + [SpeciesId.MIMIKYU]: bustedForm, }); await game.classicMode.startBattle(); @@ -160,7 +160,7 @@ describe("Abilities - Disguise", () => { expect(mimikyu.formIndex).toBe(bustedForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); @@ -171,20 +171,20 @@ describe("Abilities - Disguise", () => { game.override.startingWave(10); game.override.starterSpecies(0); game.override.starterForms({ - [Species.MIMIKYU]: bustedForm, + [SpeciesId.MIMIKYU]: bustedForm, }); - await game.classicMode.startBattle([Species.MIMIKYU, Species.FURRET]); + await game.classicMode.startBattle([SpeciesId.MIMIKYU, SpeciesId.FURRET]); const mimikyu1 = game.scene.getPlayerPokemon()!; expect(mimikyu1.formIndex).toBe(bustedForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.killPokemon(mimikyu1); game.doSelectPartyPokemon(1); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("QuietFormChangePhase"); @@ -192,13 +192,13 @@ describe("Abilities - Disguise", () => { }); it("doesn't faint twice when fainting due to Disguise break damage, nor prevent faint from Disguise break damage if using Endure", async () => { - game.override.enemyMoveset([Moves.ENDURE]); + game.override.enemyMoveset([MoveId.ENDURE]); await game.classicMode.startBattle(); const mimikyu = game.scene.getEnemyPokemon()!; mimikyu.hp = 1; - game.move.select(Moves.SHADOW_SNEAK); + game.move.select(MoveId.SHADOW_SNEAK); await game.toNextWave(); expect(game.scene.getCurrentPhase()?.constructor.name).toBe("CommandPhase"); @@ -206,8 +206,8 @@ describe("Abilities - Disguise", () => { }); it("activates when Aerilate circumvents immunity to the move's base type", async () => { - game.override.ability(Abilities.AERILATE); - game.override.moveset([Moves.TACKLE]); + game.override.ability(AbilityId.AERILATE); + game.override.moveset([MoveId.TACKLE]); await game.classicMode.startBattle(); @@ -215,7 +215,7 @@ describe("Abilities - Disguise", () => { const maxHp = mimikyu.getMaxHp(); const disguiseDamage = toDmgValue(maxHp / 8); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("MoveEndPhase"); @@ -224,10 +224,10 @@ describe("Abilities - Disguise", () => { }); it("doesn't trigger if user is behind a substitute", async () => { - game.override.enemyMoveset(Moves.SUBSTITUTE).moveset(Moves.POWER_TRIP); + game.override.enemyMoveset(MoveId.SUBSTITUTE).moveset(MoveId.POWER_TRIP); await game.classicMode.startBattle(); - game.move.select(Moves.POWER_TRIP); + game.move.select(MoveId.POWER_TRIP); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); diff --git a/test/abilities/dry_skin.test.ts b/test/abilities/dry_skin.test.ts index 398d09393ab..549bb45ba9a 100644 --- a/test/abilities/dry_skin.test.ts +++ b/test/abilities/dry_skin.test.ts @@ -1,6 +1,6 @@ -import { Species } from "#app/enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,12 +24,12 @@ describe("Abilities - Dry Skin", () => { game.override .battleStyle("single") .disableCrits() - .enemyAbility(Abilities.DRY_SKIN) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.CHARMANDER) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.SUNNY_DAY, Moves.RAIN_DANCE, Moves.SPLASH, Moves.WATER_GUN]) - .starterSpecies(Species.CHANDELURE); + .enemyAbility(AbilityId.DRY_SKIN) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.CHARMANDER) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.SUNNY_DAY, MoveId.RAIN_DANCE, MoveId.SPLASH, MoveId.WATER_GUN]) + .starterSpecies(SpeciesId.CHANDELURE); }); it("during sunlight, lose 1/8 of maximum health at the end of each turn", async () => { @@ -38,13 +38,13 @@ describe("Abilities - Dry Skin", () => { const enemy = game.scene.getEnemyPokemon()!; // first turn - game.move.select(Moves.SUNNY_DAY); + game.move.select(MoveId.SUNNY_DAY); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); // second turn enemy.hp = enemy.getMaxHp(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); }); @@ -57,19 +57,19 @@ describe("Abilities - Dry Skin", () => { enemy.hp = 1; // first turn - game.move.select(Moves.RAIN_DANCE); + game.move.select(MoveId.RAIN_DANCE); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.hp).toBeGreaterThan(1); // second turn enemy.hp = 1; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.hp).toBeGreaterThan(1); }); it("opposing fire attacks do 25% more damage", async () => { - game.override.moveset([Moves.FLAMETHROWER]); + game.override.moveset([MoveId.FLAMETHROWER]); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; @@ -77,15 +77,15 @@ describe("Abilities - Dry Skin", () => { enemy.hp = initialHP; // first turn - game.move.select(Moves.FLAMETHROWER); + game.move.select(MoveId.FLAMETHROWER); await game.phaseInterceptor.to("TurnEndPhase"); const fireDamageTakenWithDrySkin = initialHP - enemy.hp; enemy.hp = initialHP; - game.override.enemyAbility(Abilities.NONE); + game.override.enemyAbility(AbilityId.NONE); // second turn - game.move.select(Moves.FLAMETHROWER); + game.move.select(MoveId.FLAMETHROWER); await game.phaseInterceptor.to("TurnEndPhase"); const fireDamageTakenWithoutDrySkin = initialHP - enemy.hp; @@ -99,13 +99,13 @@ describe("Abilities - Dry Skin", () => { enemy.hp = 1; - game.move.select(Moves.WATER_GUN); + game.move.select(MoveId.WATER_GUN); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.hp).toBeGreaterThan(1); }); it("opposing water attacks do not heal if they were protected from", async () => { - game.override.enemyMoveset([Moves.PROTECT]); + game.override.enemyMoveset([MoveId.PROTECT]); await game.classicMode.startBattle(); @@ -113,13 +113,13 @@ describe("Abilities - Dry Skin", () => { enemy.hp = 1; - game.move.select(Moves.WATER_GUN); + game.move.select(MoveId.WATER_GUN); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.hp).toBe(1); }); it("multi-strike water attacks only heal once", async () => { - game.override.moveset([Moves.WATER_GUN, Moves.WATER_SHURIKEN]); + game.override.moveset([MoveId.WATER_GUN, MoveId.WATER_SHURIKEN]); await game.classicMode.startBattle(); @@ -128,14 +128,14 @@ describe("Abilities - Dry Skin", () => { enemy.hp = 1; // first turn - game.move.select(Moves.WATER_SHURIKEN); + game.move.select(MoveId.WATER_SHURIKEN); await game.phaseInterceptor.to("TurnEndPhase"); const healthGainedFromWaterShuriken = enemy.hp - 1; enemy.hp = 1; // second turn - game.move.select(Moves.WATER_GUN); + game.move.select(MoveId.WATER_GUN); await game.phaseInterceptor.to("TurnEndPhase"); const healthGainedFromWaterGun = enemy.hp - 1; @@ -147,7 +147,7 @@ describe("Abilities - Dry Skin", () => { const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.WATER_GUN); + game.move.select(MoveId.WATER_GUN); enemy.hp = enemy.hp - 1; await game.phaseInterceptor.to("MoveEffectPhase"); diff --git a/test/abilities/early_bird.test.ts b/test/abilities/early_bird.test.ts index 0f298ba479d..e158ce1888b 100644 --- a/test/abilities/early_bird.test.ts +++ b/test/abilities/early_bird.test.ts @@ -1,8 +1,8 @@ import { Status } from "#app/data/status-effect"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,34 +25,34 @@ describe("Abilities - Early Bird", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.REST, Moves.BELLY_DRUM, Moves.SPLASH]) - .ability(Abilities.EARLY_BIRD) + .moveset([MoveId.REST, MoveId.BELLY_DRUM, MoveId.SPLASH]) + .ability(AbilityId.EARLY_BIRD) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("reduces Rest's sleep time to 1 turn", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; - game.move.select(Moves.BELLY_DRUM); + game.move.select(MoveId.BELLY_DRUM); await game.toNextTurn(); - game.move.select(Moves.REST); + game.move.select(MoveId.REST); await game.toNextTurn(); expect(player.status?.effect).toBe(StatusEffect.SLEEP); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status?.effect).toBe(StatusEffect.SLEEP); expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.FAIL); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status?.effect).toBeUndefined(); @@ -60,18 +60,18 @@ describe("Abilities - Early Bird", () => { }); it("reduces 3-turn sleep to 1 turn", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.status = new Status(StatusEffect.SLEEP, 0, 4); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status?.effect).toBe(StatusEffect.SLEEP); expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.FAIL); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status?.effect).toBeUndefined(); @@ -79,12 +79,12 @@ describe("Abilities - Early Bird", () => { }); it("reduces 1-turn sleep to 0 turns", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.status = new Status(StatusEffect.SLEEP, 0, 2); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status?.effect).toBeUndefined(); diff --git a/test/abilities/flash_fire.test.ts b/test/abilities/flash_fire.test.ts index 8d94d21adf8..8fabda95c80 100644 --- a/test/abilities/flash_fire.test.ts +++ b/test/abilities/flash_fire.test.ts @@ -1,10 +1,10 @@ import { BattlerIndex } from "#app/battle"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import { MovePhase } from "#app/phases/move-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -28,42 +28,42 @@ describe("Abilities - Flash Fire", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.FLASH_FIRE) - .enemyAbility(Abilities.BALL_FETCH) + .ability(AbilityId.FLASH_FIRE) + .enemyAbility(AbilityId.BALL_FETCH) .startingLevel(20) .enemyLevel(20) .disableCrits(); }); it("immune to Fire-type moves", async () => { - game.override.enemyMoveset([Moves.EMBER]).moveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.enemyMoveset([MoveId.EMBER]).moveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); const blissey = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); expect(blissey.hp).toBe(blissey.getMaxHp()); }, 20000); it("not activate if the Pokémon is protected from the Fire-type move", async () => { - game.override.enemyMoveset([Moves.EMBER]).moveset([Moves.PROTECT]); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.enemyMoveset([MoveId.EMBER]).moveset([MoveId.PROTECT]); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); const blissey = game.scene.getPlayerPokemon()!; - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.phaseInterceptor.to(TurnEndPhase); expect(blissey!.getTag(BattlerTagType.FIRE_BOOST)).toBeUndefined(); }, 20000); it("activated by Will-O-Wisp", async () => { - game.override.enemyMoveset([Moves.WILL_O_WISP]).moveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.enemyMoveset([MoveId.WILL_O_WISP]).moveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); const blissey = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.move.forceHit(); await game.phaseInterceptor.to(MovePhase, false); await game.move.forceHit(); @@ -73,44 +73,44 @@ describe("Abilities - Flash Fire", () => { }, 20000); it("activated after being frozen", async () => { - game.override.enemyMoveset([Moves.EMBER]).moveset(Moves.SPLASH); + game.override.enemyMoveset([MoveId.EMBER]).moveset(MoveId.SPLASH); game.override.statusEffect(StatusEffect.FREEZE); - await game.classicMode.startBattle([Species.BLISSEY]); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); const blissey = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); expect(blissey!.getTag(BattlerTagType.FIRE_BOOST)).toBeDefined(); }, 20000); it("not passing with baton pass", async () => { - game.override.enemyMoveset([Moves.EMBER]).moveset([Moves.BATON_PASS]); - await game.classicMode.startBattle([Species.BLISSEY, Species.CHANSEY]); + game.override.enemyMoveset([MoveId.EMBER]).moveset([MoveId.BATON_PASS]); + await game.classicMode.startBattle([SpeciesId.BLISSEY, SpeciesId.CHANSEY]); // ensure use baton pass after enemy moved - game.move.select(Moves.BATON_PASS); + game.move.select(MoveId.BATON_PASS); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to(TurnEndPhase); const chansey = game.scene.getPlayerPokemon()!; - expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(Species.CHANSEY); + expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(SpeciesId.CHANSEY); expect(chansey!.getTag(BattlerTagType.FIRE_BOOST)).toBeUndefined(); }, 20000); it("boosts Fire-type move when the ability is activated", async () => { - game.override.enemyMoveset([Moves.FIRE_PLEDGE]).moveset([Moves.EMBER, Moves.SPLASH]); - game.override.enemyAbility(Abilities.FLASH_FIRE).ability(Abilities.NONE); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.enemyMoveset([MoveId.FIRE_PLEDGE]).moveset([MoveId.EMBER, MoveId.SPLASH]); + game.override.enemyAbility(AbilityId.FLASH_FIRE).ability(AbilityId.NONE); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); const blissey = game.scene.getPlayerPokemon()!; const initialHP = 1000; blissey.hp = initialHP; // first turn - game.move.select(Moves.EMBER); + game.move.select(MoveId.EMBER); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to(TurnEndPhase); const originalDmg = initialHP - blissey.hp; @@ -119,7 +119,7 @@ describe("Abilities - Flash Fire", () => { blissey.hp = initialHP; // second turn - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); const flashFireDmg = initialHP - blissey.hp; @@ -127,17 +127,17 @@ describe("Abilities - Flash Fire", () => { }, 20000); it("still activates regardless of accuracy check", async () => { - game.override.moveset(Moves.FIRE_PLEDGE).enemyMoveset(Moves.EMBER); - game.override.enemyAbility(Abilities.NONE).ability(Abilities.FLASH_FIRE); - game.override.enemySpecies(Species.BLISSEY); - await game.classicMode.startBattle([Species.RATTATA]); + game.override.moveset(MoveId.FIRE_PLEDGE).enemyMoveset(MoveId.EMBER); + game.override.enemyAbility(AbilityId.NONE).ability(AbilityId.FLASH_FIRE); + game.override.enemySpecies(SpeciesId.BLISSEY); + await game.classicMode.startBattle([SpeciesId.RATTATA]); const blissey = game.scene.getEnemyPokemon()!; const initialHP = 1000; blissey.hp = initialHP; // first turn - game.move.select(Moves.FIRE_PLEDGE); + game.move.select(MoveId.FIRE_PLEDGE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); await game.move.forceMiss(); @@ -148,7 +148,7 @@ describe("Abilities - Flash Fire", () => { blissey.hp = initialHP; // second turn - game.move.select(Moves.FIRE_PLEDGE); + game.move.select(MoveId.FIRE_PLEDGE); await game.phaseInterceptor.to(TurnEndPhase); const flashFireDmg = initialHP - blissey.hp; diff --git a/test/abilities/flower_gift.test.ts b/test/abilities/flower_gift.test.ts index df8830bca6d..d4a03bb2330 100644 --- a/test/abilities/flower_gift.test.ts +++ b/test/abilities/flower_gift.test.ts @@ -1,11 +1,11 @@ import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Stat } from "#app/enums/stat"; import { WeatherType } from "#app/enums/weather-type"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -19,13 +19,13 @@ describe("Abilities - Flower Gift", () => { /** * Tests reverting to normal form when Cloud Nine/Air Lock is active on the field * @param {GameManager} game The game manager instance - * @param {Abilities} ability The ability that is active on the field + * @param {AbilityId} ability The ability that is active on the field */ - const testRevertFormAgainstAbility = async (game: GameManager, ability: Abilities) => { - game.override.starterForms({ [Species.CASTFORM]: SUNSHINE_FORM }).enemyAbility(ability); - await game.classicMode.startBattle([Species.CASTFORM]); + const testRevertFormAgainstAbility = async (game: GameManager, ability: AbilityId) => { + game.override.starterForms({ [SpeciesId.CASTFORM]: SUNSHINE_FORM }).enemyAbility(ability); + await game.classicMode.startBattle([SpeciesId.CASTFORM]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); expect(game.scene.getPlayerPokemon()?.formIndex).toBe(OVERCAST_FORM); }; @@ -42,21 +42,21 @@ describe("Abilities - Flower Gift", () => { */ const testDamageDealt = async ( game: GameManager, - move: Moves, + move: MoveId, allyAttacker: boolean, - allyAbility = Abilities.BALL_FETCH, - enemyAbility = Abilities.BALL_FETCH, + allyAbility = AbilityId.BALL_FETCH, + enemyAbility = AbilityId.BALL_FETCH, ): Promise<[number, number]> => { game.override.battleStyle("double"); - game.override.moveset([Moves.SPLASH, Moves.SUNNY_DAY, move, Moves.HEAL_PULSE]); - game.override.enemyMoveset([Moves.SPLASH, Moves.HEAL_PULSE]); + game.override.moveset([MoveId.SPLASH, MoveId.SUNNY_DAY, move, MoveId.HEAL_PULSE]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.HEAL_PULSE]); const target_index = allyAttacker ? BattlerIndex.ENEMY : BattlerIndex.PLAYER_2; const attacker_index = allyAttacker ? BattlerIndex.PLAYER_2 : BattlerIndex.ENEMY; - const ally_move = allyAttacker ? move : Moves.SPLASH; - const enemy_move = allyAttacker ? Moves.SPLASH : move; + const ally_move = allyAttacker ? move : MoveId.SPLASH; + const enemy_move = allyAttacker ? MoveId.SPLASH : move; const ally_target = allyAttacker ? BattlerIndex.ENEMY : null; - await game.classicMode.startBattle([Species.CHERRIM, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.CHERRIM, SpeciesId.MAGIKARP]); const target = allyAttacker ? game.scene.getEnemyField()[0] : game.scene.getPlayerField()[1]; const initialHp = target.getMaxHp(); @@ -65,10 +65,10 @@ describe("Abilities - Flower Gift", () => { vi.spyOn(game.scene.getEnemyField()[0], "getAbility").mockReturnValue(allAbilities[enemyAbility]); // turn 1 - game.move.select(Moves.SUNNY_DAY, 0); + game.move.select(MoveId.SUNNY_DAY, 0); game.move.select(ally_move, 1, ally_target); await game.move.selectEnemyMove(enemy_move, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); // Ensure sunny day is used last. await game.setTurnOrder([attacker_index, target_index, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER]); await game.phaseInterceptor.to(TurnEndPhase); @@ -77,10 +77,10 @@ describe("Abilities - Flower Gift", () => { target.hp = initialHp; // turn 2. Make target use recover to reset hp calculation. - game.move.select(Moves.SPLASH, 0, target_index); + game.move.select(MoveId.SPLASH, 0, target_index); game.move.select(ally_move, 1, ally_target); await game.move.selectEnemyMove(enemy_move, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY_2, target_index, attacker_index]); await game.phaseInterceptor.to(TurnEndPhase); const damageWithGift = initialHp - target.hp; @@ -101,17 +101,17 @@ describe("Abilities - Flower Gift", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.SUNSTEEL_STRIKE, Moves.SUNNY_DAY, Moves.MUD_SLAP]) - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.SUNSTEEL_STRIKE, MoveId.SUNNY_DAY, MoveId.MUD_SLAP]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) .enemyLevel(100) .startingLevel(100); }); it("increases the ATK and SPDEF stat stages of the Pokémon with this Ability and its allies by 1.5× during Harsh Sunlight", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.CHERRIM, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.CHERRIM, SpeciesId.MAGIKARP]); const [cherrim, magikarp] = game.scene.getPlayerField(); const cherrimAtkStat = cherrim.getEffectiveStat(Stat.ATK); @@ -120,8 +120,8 @@ describe("Abilities - Flower Gift", () => { const magikarpAtkStat = magikarp.getEffectiveStat(Stat.ATK); const magikarpSpDefStat = magikarp.getEffectiveStat(Stat.SPDEF); - game.move.select(Moves.SUNNY_DAY, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SUNNY_DAY, 0); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -134,59 +134,64 @@ describe("Abilities - Flower Gift", () => { }); it("should not increase the damage of an ally using an ability ignoring move", async () => { - const [damageWithGift, damageWithoutGift] = await testDamageDealt(game, Moves.SUNSTEEL_STRIKE, true); + const [damageWithGift, damageWithoutGift] = await testDamageDealt(game, MoveId.SUNSTEEL_STRIKE, true); expect(damageWithGift).toBe(damageWithoutGift); }); it("should not increase the damage of a mold breaker ally", async () => { - const [damageWithGift, damageWithoutGift] = await testDamageDealt(game, Moves.TACKLE, true, Abilities.MOLD_BREAKER); + const [damageWithGift, damageWithoutGift] = await testDamageDealt( + game, + MoveId.TACKLE, + true, + AbilityId.MOLD_BREAKER, + ); expect(damageWithGift).toBe(damageWithoutGift); }); it("should decrease the damage an ally takes from a special attack", async () => { - const [damageWithoutGift, damageWithGift] = await testDamageDealt(game, Moves.MUD_SLAP, false); + const [damageWithoutGift, damageWithGift] = await testDamageDealt(game, MoveId.MUD_SLAP, false); expect(damageWithGift).toBeLessThan(damageWithoutGift); }); it("should not decrease the damage an ally takes from a mold breaker enemy using a special attack", async () => { const [damageWithoutGift, damageWithGift] = await testDamageDealt( game, - Moves.MUD_SLAP, + MoveId.MUD_SLAP, false, - Abilities.BALL_FETCH, - Abilities.MOLD_BREAKER, + AbilityId.BALL_FETCH, + AbilityId.MOLD_BREAKER, ); expect(damageWithGift).toBe(damageWithoutGift); }); it("changes the Pokemon's form during Harsh Sunlight", async () => { game.override.weather(WeatherType.HARSH_SUN); - await game.classicMode.startBattle([Species.CHERRIM]); + await game.classicMode.startBattle([SpeciesId.CHERRIM]); const cherrim = game.scene.getPlayerPokemon()!; expect(cherrim.formIndex).toBe(SUNSHINE_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); }); it("reverts to Overcast Form if a Pokémon on the field has Air Lock", async () => { - await testRevertFormAgainstAbility(game, Abilities.AIR_LOCK); + await testRevertFormAgainstAbility(game, AbilityId.AIR_LOCK); }); it("reverts to Overcast Form if a Pokémon on the field has Cloud Nine", async () => { - await testRevertFormAgainstAbility(game, Abilities.CLOUD_NINE); + await testRevertFormAgainstAbility(game, AbilityId.CLOUD_NINE); }); it("reverts to Overcast Form when the Flower Gift is suppressed, changes form under Harsh Sunlight/Sunny when it regains it", async () => { - game.override.enemyMoveset([Moves.GASTRO_ACID]).weather(WeatherType.HARSH_SUN); + game.override.enemyMoveset([MoveId.GASTRO_ACID]).weather(WeatherType.HARSH_SUN); - await game.classicMode.startBattle([Species.CHERRIM, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.CHERRIM, SpeciesId.MAGIKARP]); const cherrim = game.scene.getPlayerPokemon()!; expect(cherrim.formIndex).toBe(SUNSHINE_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -208,7 +213,7 @@ describe("Abilities - Flower Gift", () => { it("should be in Overcast Form after the user is switched out", async () => { game.override.weather(WeatherType.SUNNY); - await game.classicMode.startBattle([Species.CASTFORM, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.CASTFORM, SpeciesId.MAGIKARP]); const cherrim = game.scene.getPlayerPokemon()!; expect(cherrim.formIndex).toBe(SUNSHINE_FORM); diff --git a/test/abilities/flower_veil.test.ts b/test/abilities/flower_veil.test.ts index 7f51414d8a5..bd76541495d 100644 --- a/test/abilities/flower_veil.test.ts +++ b/test/abilities/flower_veil.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; @@ -28,14 +28,14 @@ describe("Abilities - Flower Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .enemySpecies(Species.BULBASAUR) - .ability(Abilities.FLOWER_VEIL) + .moveset([MoveId.SPLASH]) + .enemySpecies(SpeciesId.BULBASAUR) + .ability(AbilityId.FLOWER_VEIL) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); /*********************************************** @@ -43,36 +43,36 @@ describe("Abilities - Flower Veil", () => { ***********************************************/ it("should not prevent any source of self-inflicted status conditions", async () => { game.override - .enemyMoveset([Moves.TACKLE, Moves.SPLASH]) - .moveset([Moves.REST, Moves.SPLASH]) + .enemyMoveset([MoveId.TACKLE, MoveId.SPLASH]) + .moveset([MoveId.REST, MoveId.SPLASH]) .startingHeldItems([{ name: "FLAME_ORB" }]); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const user = game.scene.getPlayerPokemon()!; - game.move.select(Moves.REST); - await game.move.selectEnemyMove(Moves.TACKLE); + game.move.select(MoveId.REST); + await game.move.selectEnemyMove(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); expect(user.status?.effect).toBe(StatusEffect.SLEEP); // remove sleep status so we can get burn from the orb user.resetStatus(); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(user.status?.effect).toBe(StatusEffect.BURN); }); it("should prevent drowsiness from yawn for a grass user and its grass allies", async () => { - game.override.enemyMoveset([Moves.YAWN]).moveset([Moves.SPLASH]).battleStyle("double"); - await game.classicMode.startBattle([Species.BULBASAUR, Species.BULBASAUR]); + game.override.enemyMoveset([MoveId.YAWN]).moveset([MoveId.SPLASH]).battleStyle("double"); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.BULBASAUR]); // Clear the ability of the ally to isolate the test const ally = game.scene.getPlayerField()[1]!; - vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[Abilities.BALL_FETCH]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.YAWN, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.YAWN, BattlerIndex.PLAYER_2); + vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[AbilityId.BALL_FETCH]); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.YAWN, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.YAWN, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); const user = game.scene.getPlayerPokemon()!; @@ -81,28 +81,28 @@ describe("Abilities - Flower Veil", () => { }); it("should prevent status conditions from moves like Thunder Wave for a grass user and its grass allies", async () => { - game.override.enemyMoveset([Moves.THUNDER_WAVE]).moveset([Moves.SPLASH]).battleStyle("double"); - vi.spyOn(allMoves[Moves.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyMoveset([MoveId.THUNDER_WAVE]).moveset([MoveId.SPLASH]).battleStyle("double"); + vi.spyOn(allMoves[MoveId.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.THUNDER_WAVE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.THUNDER_WAVE); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.status).toBeUndefined(); - vi.spyOn(allMoves[Moves.THUNDER_WAVE], "accuracy", "get").mockClear(); + vi.spyOn(allMoves[MoveId.THUNDER_WAVE], "accuracy", "get").mockClear(); }); it("should not prevent status conditions for a non-grass user and its non-grass allies", async () => { - game.override.enemyMoveset([Moves.THUNDER_WAVE]).moveset([Moves.SPLASH]).battleStyle("double"); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.THUNDER_WAVE]).moveset([MoveId.SPLASH]).battleStyle("double"); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); const [user, ally] = game.scene.getPlayerField(); - vi.spyOn(allMoves[Moves.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); // Clear the ally ability to isolate the test - vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[Abilities.BALL_FETCH]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.THUNDER_WAVE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.THUNDER_WAVE, BattlerIndex.PLAYER_2); + vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[AbilityId.BALL_FETCH]); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.THUNDER_WAVE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.THUNDER_WAVE, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(user.status?.effect).toBe(StatusEffect.PARALYSIS); expect(ally.status?.effect).toBe(StatusEffect.PARALYSIS); @@ -113,40 +113,40 @@ describe("Abilities - Flower Veil", () => { *******************************************/ it("should prevent the status drops from enemies for the a grass user and its grass allies", async () => { - game.override.enemyMoveset([Moves.GROWL]).moveset([Moves.SPLASH]).battleStyle("double"); - await game.classicMode.startBattle([Species.BULBASAUR, Species.BULBASAUR]); + game.override.enemyMoveset([MoveId.GROWL]).moveset([MoveId.SPLASH]).battleStyle("double"); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.BULBASAUR]); const [user, ally] = game.scene.getPlayerField(); // Clear the ally ability to isolate the test - vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[Abilities.BALL_FETCH]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); + vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[AbilityId.BALL_FETCH]); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(user.getStatStage(Stat.ATK)).toBe(0); expect(ally.getStatStage(Stat.ATK)).toBe(0); }); it("should not prevent status drops for a non-grass user and its non-grass allies", async () => { - game.override.enemyMoveset([Moves.GROWL]).moveset([Moves.SPLASH]).battleStyle("double"); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.GROWL]).moveset([MoveId.SPLASH]).battleStyle("double"); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); const [user, ally] = game.scene.getPlayerField(); // Clear the ally ability to isolate the test - vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[Abilities.BALL_FETCH]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); + vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[AbilityId.BALL_FETCH]); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(user.getStatStage(Stat.ATK)).toBe(-2); expect(ally.getStatStage(Stat.ATK)).toBe(-2); }); it("should not prevent self-inflicted stat drops from moves like Close Combat for a user or its allies", async () => { - game.override.moveset([Moves.CLOSE_COMBAT]).battleStyle("double"); - await game.classicMode.startBattle([Species.BULBASAUR, Species.BULBASAUR]); + game.override.moveset([MoveId.CLOSE_COMBAT]).battleStyle("double"); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.BULBASAUR]); const [user, ally] = game.scene.getPlayerField(); // Clear the ally ability to isolate the test - vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[Abilities.BALL_FETCH]); + vi.spyOn(ally, "getAbility").mockReturnValue(allAbilities[AbilityId.BALL_FETCH]); - game.move.select(Moves.CLOSE_COMBAT, 0, BattlerIndex.ENEMY); - game.move.select(Moves.CLOSE_COMBAT, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.CLOSE_COMBAT, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.CLOSE_COMBAT, 1, BattlerIndex.ENEMY_2); await game.phaseInterceptor.to("BerryPhase"); expect(user.getStatStage(Stat.DEF)).toBe(-1); expect(user.getStatStage(Stat.SPDEF)).toBe(-1); @@ -155,10 +155,10 @@ describe("Abilities - Flower Veil", () => { }); it("should prevent the drops while retaining the boosts from spicy extract", async () => { - game.override.enemyMoveset([Moves.SPICY_EXTRACT]).moveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyMoveset([MoveId.SPICY_EXTRACT]).moveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const user = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(user.getStatStage(Stat.ATK)).toBe(2); expect(user.getStatStage(Stat.DEF)).toBe(0); diff --git a/test/abilities/forecast.test.ts b/test/abilities/forecast.test.ts index f2aa350ef37..b87519ae80a 100644 --- a/test/abilities/forecast.test.ts +++ b/test/abilities/forecast.test.ts @@ -1,14 +1,14 @@ import { BattlerIndex } from "#app/battle"; import { allAbilities } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { WeatherType } from "#app/enums/weather-type"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MovePhase } from "#app/phases/move-phase"; import { PostSummonPhase } from "#app/phases/post-summon-phase"; import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -29,10 +29,10 @@ describe("Abilities - Forecast", () => { * @param initialForm The initial form pre form change */ const testWeatherFormChange = async (game: GameManager, weather: WeatherType, form: number, initialForm?: number) => { - game.override.weather(weather).starterForms({ [Species.CASTFORM]: initialForm }); - await game.classicMode.startBattle([Species.CASTFORM]); + game.override.weather(weather).starterForms({ [SpeciesId.CASTFORM]: initialForm }); + await game.classicMode.startBattle([SpeciesId.CASTFORM]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); expect(game.scene.getPlayerPokemon()?.formIndex).toBe(form); }; @@ -40,13 +40,13 @@ describe("Abilities - Forecast", () => { /** * Tests reverting to normal form when Cloud Nine/Air Lock is active on the field * @param {GameManager} game The game manager instance - * @param {Abilities} ability The ability that is active on the field + * @param {AbilityId} ability The ability that is active on the field */ - const testRevertFormAgainstAbility = async (game: GameManager, ability: Abilities) => { - game.override.starterForms({ [Species.CASTFORM]: SUNNY_FORM }).enemyAbility(ability); - await game.classicMode.startBattle([Species.CASTFORM]); + const testRevertFormAgainstAbility = async (game: GameManager, ability: AbilityId) => { + game.override.starterForms({ [SpeciesId.CASTFORM]: SUNNY_FORM }).enemyAbility(ability); + await game.classicMode.startBattle([SpeciesId.CASTFORM]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); expect(game.scene.getPlayerPokemon()?.formIndex).toBe(NORMAL_FORM); }; @@ -64,117 +64,117 @@ describe("Abilities - Forecast", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.RAIN_DANCE, Moves.SUNNY_DAY, Moves.TACKLE]) - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH); + .moveset([MoveId.SPLASH, MoveId.RAIN_DANCE, MoveId.SUNNY_DAY, MoveId.TACKLE]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH); }); it( "changes form based on weather", async () => { game.override - .moveset([Moves.RAIN_DANCE, Moves.SUNNY_DAY, Moves.SNOWSCAPE, Moves.SPLASH]) + .moveset([MoveId.RAIN_DANCE, MoveId.SUNNY_DAY, MoveId.SNOWSCAPE, MoveId.SPLASH]) .battleStyle("double") .starterForms({ - [Species.KYOGRE]: 1, - [Species.GROUDON]: 1, - [Species.RAYQUAZA]: 1, + [SpeciesId.KYOGRE]: 1, + [SpeciesId.GROUDON]: 1, + [SpeciesId.RAYQUAZA]: 1, }); await game.classicMode.startBattle([ - Species.CASTFORM, - Species.FEEBAS, - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.ALTARIA, + SpeciesId.CASTFORM, + SpeciesId.FEEBAS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.ALTARIA, ]); - vi.spyOn(game.scene.getPlayerParty()[5], "getAbility").mockReturnValue(allAbilities[Abilities.CLOUD_NINE]); + vi.spyOn(game.scene.getPlayerParty()[5], "getAbility").mockReturnValue(allAbilities[AbilityId.CLOUD_NINE]); const castform = game.scene.getPlayerField()[0]; expect(castform.formIndex).toBe(NORMAL_FORM); - game.move.select(Moves.RAIN_DANCE); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.RAIN_DANCE); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(RAINY_FORM); - game.move.select(Moves.SUNNY_DAY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SUNNY_DAY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(SUNNY_FORM); - game.move.select(Moves.SNOWSCAPE); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SNOWSCAPE); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(SNOWY_FORM); - game.override.moveset([Moves.HAIL, Moves.SANDSTORM, Moves.SNOWSCAPE, Moves.SPLASH]); + game.override.moveset([MoveId.HAIL, MoveId.SANDSTORM, MoveId.SNOWSCAPE, MoveId.SPLASH]); - game.move.select(Moves.SANDSTORM); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SANDSTORM); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(NORMAL_FORM); - game.move.select(Moves.HAIL); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.HAIL); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(SNOWY_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(2); // Feebas now 2, Kyogre 1 await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(RAINY_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(3); // Kyogre now 3, Groudon 1 await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(SUNNY_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(4); // Groudon now 4, Rayquaza 1 await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(NORMAL_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(2); // Rayquaza now 2, Feebas 1 await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(NORMAL_FORM); - game.move.select(Moves.SNOWSCAPE); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SNOWSCAPE); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(SNOWY_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(5); // Feebas now 5, Altaria 1 await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); expect(castform.formIndex).toBe(NORMAL_FORM); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(5); // Altaria now 5, Feebas 1 await game.phaseInterceptor.to("MovePhase"); await game.toNextTurn(); @@ -182,8 +182,8 @@ describe("Abilities - Forecast", () => { expect(castform.formIndex).toBe(SNOWY_FORM); game.scene.arena.trySetWeather(WeatherType.FOG); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnStartPhase"); expect(castform.formIndex).toBe(NORMAL_FORM); @@ -196,14 +196,14 @@ describe("Abilities - Forecast", () => { }); it("reverts to Normal Form if a Pokémon on the field has Air Lock", async () => { - await testRevertFormAgainstAbility(game, Abilities.AIR_LOCK); + await testRevertFormAgainstAbility(game, AbilityId.AIR_LOCK); }); it("has no effect on Pokémon other than Castform", async () => { - game.override.enemyAbility(Abilities.FORECAST).enemySpecies(Species.SHUCKLE); - await game.classicMode.startBattle([Species.CASTFORM]); + game.override.enemyAbility(AbilityId.FORECAST).enemySpecies(SpeciesId.SHUCKLE); + await game.classicMode.startBattle([SpeciesId.CASTFORM]); - game.move.select(Moves.RAIN_DANCE); + game.move.select(MoveId.RAIN_DANCE); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.getPlayerPokemon()?.formIndex).toBe(RAINY_FORM); @@ -211,14 +211,14 @@ describe("Abilities - Forecast", () => { }); it("reverts to Normal Form when Forecast is suppressed, changes form to match the weather when it regains it", async () => { - game.override.enemyMoveset([Moves.GASTRO_ACID]).weather(WeatherType.RAIN); - await game.classicMode.startBattle([Species.CASTFORM, Species.PIKACHU]); + game.override.enemyMoveset([MoveId.GASTRO_ACID]).weather(WeatherType.RAIN); + await game.classicMode.startBattle([SpeciesId.CASTFORM, SpeciesId.PIKACHU]); const castform = game.scene.getPlayerPokemon()!; expect(castform.formIndex).toBe(RAINY_FORM); // First turn - Forecast is suppressed - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.move.forceHit(); @@ -242,11 +242,11 @@ describe("Abilities - Forecast", () => { }); it("does not change Castform's form until after Stealth Rock deals damage", async () => { - game.override.weather(WeatherType.RAIN).enemyMoveset([Moves.STEALTH_ROCK]); - await game.classicMode.startBattle([Species.PIKACHU, Species.CASTFORM]); + game.override.weather(WeatherType.RAIN).enemyMoveset([MoveId.STEALTH_ROCK]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.CASTFORM]); // First turn - set up stealth rock - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Second turn - switch in Castform, regains Forecast @@ -267,7 +267,7 @@ describe("Abilities - Forecast", () => { it("should be in Normal Form after the user is switched out", async () => { game.override.weather(WeatherType.RAIN); - await game.classicMode.startBattle([Species.CASTFORM, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.CASTFORM, SpeciesId.MAGIKARP]); const castform = game.scene.getPlayerPokemon()!; expect(castform.formIndex).toBe(RAINY_FORM); diff --git a/test/abilities/friend_guard.test.ts b/test/abilities/friend_guard.test.ts index 350ff737c58..d401fa96feb 100644 --- a/test/abilities/friend_guard.test.ts +++ b/test/abilities/friend_guard.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,24 +27,24 @@ describe("Moves - Friend Guard", () => { game = new GameManager(phaserGame); game.override .battleStyle("double") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.TACKLE, Moves.SPLASH, Moves.DRAGON_RAGE]) - .enemySpecies(Species.SHUCKLE) - .moveset([Moves.SPLASH]) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.TACKLE, MoveId.SPLASH, MoveId.DRAGON_RAGE]) + .enemySpecies(SpeciesId.SHUCKLE) + .moveset([MoveId.SPLASH]) .startingLevel(100); }); it("should reduce damage that other allied Pokémon receive from attacks (from any Pokémon) by 25%", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER]); const [player1, player2] = game.scene.getPlayerField(); const spy = vi.spyOn(player1, "getAttackDamage"); const enemy1 = game.scene.getEnemyField()[0]; - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Get the last return value from `getAttackDamage` @@ -52,16 +52,16 @@ describe("Moves - Friend Guard", () => { // Making sure the test is controlled; turn 1 damage is equal to base damage (after rounding) expect(turn1Damage).toBe( Math.floor( - player1.getBaseDamage({ source: enemy1, move: allMoves[Moves.TACKLE], moveCategory: MoveCategory.PHYSICAL }), + player1.getBaseDamage({ source: enemy1, move: allMoves[MoveId.TACKLE], moveCategory: MoveCategory.PHYSICAL }), ), ); - vi.spyOn(player2, "getAbility").mockReturnValue(allAbilities[Abilities.FRIEND_GUARD]); + vi.spyOn(player2, "getAbility").mockReturnValue(allAbilities[AbilityId.FRIEND_GUARD]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Get the last return value from `getAttackDamage` @@ -69,32 +69,32 @@ describe("Moves - Friend Guard", () => { // With the ally's Friend Guard, damage should have been reduced from base damage by 25% expect(turn2Damage).toBe( Math.floor( - player1.getBaseDamage({ source: enemy1, move: allMoves[Moves.TACKLE], moveCategory: MoveCategory.PHYSICAL }) * + player1.getBaseDamage({ source: enemy1, move: allMoves[MoveId.TACKLE], moveCategory: MoveCategory.PHYSICAL }) * 0.75, ), ); }); it("should NOT reduce damage to pokemon with friend guard", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER]); const player2 = game.scene.getPlayerField()[1]; const spy = vi.spyOn(player2, "getAttackDamage"); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const turn1Damage = spy.mock.results[spy.mock.results.length - 1].value.damage; - vi.spyOn(player2, "getAbility").mockReturnValue(allAbilities[Abilities.FRIEND_GUARD]); + vi.spyOn(player2, "getAbility").mockReturnValue(allAbilities[AbilityId.FRIEND_GUARD]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const turn2Damage = spy.mock.results[spy.mock.results.length - 1].value.damage; @@ -102,26 +102,26 @@ describe("Moves - Friend Guard", () => { }); it("should NOT reduce damage from fixed damage attacks", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER]); const [player1, player2] = game.scene.getPlayerField(); const spy = vi.spyOn(player1, "getAttackDamage"); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.DRAGON_RAGE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.DRAGON_RAGE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const turn1Damage = spy.mock.results[spy.mock.results.length - 1].value.damage; expect(turn1Damage).toBe(40); - vi.spyOn(player2, "getAbility").mockReturnValue(allAbilities[Abilities.FRIEND_GUARD]); + vi.spyOn(player2, "getAbility").mockReturnValue(allAbilities[AbilityId.FRIEND_GUARD]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.DRAGON_RAGE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.DRAGON_RAGE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const turn2Damage = spy.mock.results[spy.mock.results.length - 1].value.damage; diff --git a/test/abilities/good_as_gold.test.ts b/test/abilities/good_as_gold.test.ts index adb54810381..d6c80a5347f 100644 --- a/test/abilities/good_as_gold.test.ts +++ b/test/abilities/good_as_gold.test.ts @@ -6,9 +6,9 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Stat } from "#app/enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; import { WeatherType } from "#app/enums/weather-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -30,33 +30,33 @@ describe("Abilities - Good As Gold", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.GOOD_AS_GOLD) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.GOOD_AS_GOLD) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should block normal status moves", async () => { - game.override.enemyMoveset([Moves.GROWL]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.GROWL]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const player = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH, 0); + game.move.select(MoveId.SPLASH, 0); await game.phaseInterceptor.to("BerryPhase"); - expect(player.waveData.abilitiesApplied).toContain(Abilities.GOOD_AS_GOLD); + expect(player.waveData.abilitiesApplied).toContain(AbilityId.GOOD_AS_GOLD); expect(player.getStatStage(Stat.ATK)).toBe(0); }); it("should block memento and prevent the user from fainting", async () => { - game.override.enemyMoveset([Moves.MEMENTO]); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.move.select(Moves.MEMENTO); + game.override.enemyMoveset([MoveId.MEMENTO]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.move.select(MoveId.MEMENTO); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.isFainted()).toBe(false); expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(0); @@ -64,21 +64,21 @@ describe("Abilities - Good As Gold", () => { it("should not block any status moves that target the field, one side, or all pokemon", async () => { game.override.battleStyle("double"); - game.override.enemyMoveset([Moves.STEALTH_ROCK, Moves.HAZE]); - game.override.moveset([Moves.SWORDS_DANCE, Moves.SAFEGUARD]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + game.override.enemyMoveset([MoveId.STEALTH_ROCK, MoveId.HAZE]); + game.override.moveset([MoveId.SWORDS_DANCE, MoveId.SAFEGUARD]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const [good_as_gold, ball_fetch] = game.scene.getPlayerField(); // Force second pokemon to have ball fetch to isolate to a single mon. - vi.spyOn(ball_fetch, "getAbility").mockReturnValue(allAbilities[Abilities.BALL_FETCH]); + vi.spyOn(ball_fetch, "getAbility").mockReturnValue(allAbilities[AbilityId.BALL_FETCH]); - game.move.select(Moves.SWORDS_DANCE, 0); - game.move.select(Moves.SAFEGUARD, 1); - await game.move.selectEnemyMove(Moves.STEALTH_ROCK); - await game.move.selectEnemyMove(Moves.HAZE); + game.move.select(MoveId.SWORDS_DANCE, 0); + game.move.select(MoveId.SAFEGUARD, 1); + await game.move.selectEnemyMove(MoveId.STEALTH_ROCK); + await game.move.selectEnemyMove(MoveId.HAZE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); - expect(good_as_gold.getAbility().id).toBe(Abilities.GOOD_AS_GOLD); + expect(good_as_gold.getAbility().id).toBe(AbilityId.GOOD_AS_GOLD); expect(good_as_gold.getStatStage(Stat.ATK)).toBe(0); expect(game.scene.arena.getTagOnSide(ArenaTagType.STEALTH_ROCK, ArenaTagSide.PLAYER)).toBeDefined(); expect(game.scene.arena.getTagOnSide(ArenaTagType.SAFEGUARD, ArenaTagSide.PLAYER)).toBeDefined(); @@ -86,10 +86,10 @@ describe("Abilities - Good As Gold", () => { it("should not block field targeted effects in singles", async () => { game.override.battleStyle("single"); - game.override.enemyMoveset([Moves.SPIKES]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.SPIKES]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH, 0); + game.move.select(MoveId.SPLASH, 0); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.PLAYER)).toBeDefined(); @@ -97,11 +97,11 @@ describe("Abilities - Good As Gold", () => { it("should block the ally's helping hand", async () => { game.override.battleStyle("double"); - game.override.moveset([Moves.HELPING_HAND, Moves.TACKLE]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + game.override.moveset([MoveId.HELPING_HAND, MoveId.TACKLE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); - game.move.select(Moves.HELPING_HAND, 0); - game.move.select(Moves.TACKLE, 1); + game.move.select(MoveId.HELPING_HAND, 0); + game.move.select(MoveId.TACKLE, 1); await game.phaseInterceptor.to("MoveEndPhase", true); expect(game.scene.getPlayerField()[1].getTag(BattlerTagType.HELPING_HAND)).toBeUndefined(); @@ -110,30 +110,30 @@ describe("Abilities - Good As Gold", () => { // TODO: re-enable when heal bell is fixed it.todo("should block the ally's heal bell, but only if the good as gold user is on the field", async () => { game.override.battleStyle("double").statusEffect(StatusEffect.BURN); - await game.classicMode.startBattle([Species.MILOTIC, Species.FEEBAS, Species.ABRA]); + await game.classicMode.startBattle([SpeciesId.MILOTIC, SpeciesId.FEEBAS, SpeciesId.ABRA]); const [milotic, feebas, abra] = game.scene.getPlayerParty(); - game.field.mockAbility(milotic, Abilities.GOOD_AS_GOLD); - game.field.mockAbility(feebas, Abilities.BALL_FETCH); - game.field.mockAbility(abra, Abilities.BALL_FETCH); + game.field.mockAbility(milotic, AbilityId.GOOD_AS_GOLD); + game.field.mockAbility(feebas, AbilityId.BALL_FETCH); + game.field.mockAbility(abra, AbilityId.BALL_FETCH); // turn 1 - game.move.use(Moves.SPLASH, 0); - game.move.use(Moves.HEAL_BELL, 1); + game.move.use(MoveId.SPLASH, 0); + game.move.use(MoveId.HEAL_BELL, 1); await game.toNextTurn(); expect(milotic.status?.effect).toBe(StatusEffect.BURN); game.doSwitchPokemon(2); - game.move.use(Moves.HEAL_BELL, 1); + game.move.use(MoveId.HEAL_BELL, 1); await game.toNextTurn(); expect(milotic.status?.effect).toBeUndefined(); }); it("should not block field targeted effects like rain dance", async () => { game.override.battleStyle("single"); - game.override.enemyMoveset([Moves.RAIN_DANCE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.RAIN_DANCE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.use(Moves.SPLASH, 0); + game.move.use(MoveId.SPLASH, 0); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.RAIN); diff --git a/test/abilities/gorilla_tactics.test.ts b/test/abilities/gorilla_tactics.test.ts index 06f0c1d0e3d..55b8a4addcd 100644 --- a/test/abilities/gorilla_tactics.test.ts +++ b/test/abilities/gorilla_tactics.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,46 +24,46 @@ describe("Abilities - Gorilla Tactics", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH, Moves.DISABLE]) - .enemySpecies(Species.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH, MoveId.DISABLE]) + .enemySpecies(SpeciesId.MAGIKARP) .enemyLevel(30) - .moveset([Moves.SPLASH, Moves.TACKLE, Moves.GROWL]) - .ability(Abilities.GORILLA_TACTICS); + .moveset([MoveId.SPLASH, MoveId.TACKLE, MoveId.GROWL]) + .ability(AbilityId.GORILLA_TACTICS); }); it("boosts the Pokémon's Attack by 50%, but limits the Pokémon to using only one move", async () => { - await game.classicMode.startBattle([Species.GALAR_DARMANITAN]); + await game.classicMode.startBattle([SpeciesId.GALAR_DARMANITAN]); const darmanitan = game.scene.getPlayerPokemon()!; const initialAtkStat = darmanitan.getStat(Stat.ATK); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(darmanitan.getStat(Stat.ATK, false)).toBeCloseTo(initialAtkStat * 1.5); // Other moves should be restricted - expect(darmanitan.isMoveRestricted(Moves.TACKLE)).toBe(true); - expect(darmanitan.isMoveRestricted(Moves.SPLASH)).toBe(false); + expect(darmanitan.isMoveRestricted(MoveId.TACKLE)).toBe(true); + expect(darmanitan.isMoveRestricted(MoveId.SPLASH)).toBe(false); }); it("should struggle if the only usable move is disabled", async () => { - await game.classicMode.startBattle([Species.GALAR_DARMANITAN]); + await game.classicMode.startBattle([SpeciesId.GALAR_DARMANITAN]); const darmanitan = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; // First turn, lock move to Growl - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.SPLASH); // Second turn, Growl is interrupted by Disable await game.toNextTurn(); - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.DISABLE); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.DISABLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -72,7 +72,7 @@ describe("Abilities - Gorilla Tactics", () => { // Third turn, Struggle is used await game.toNextTurn(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); diff --git a/test/abilities/gulp_missile.test.ts b/test/abilities/gulp_missile.test.ts index 64cd106cc5e..b56b316484f 100644 --- a/test/abilities/gulp_missile.test.ts +++ b/test/abilities/gulp_missile.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import type Pokemon from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; @@ -43,20 +43,20 @@ describe("Abilities - Gulp Missile", () => { game.override .disableCrits() .battleStyle("single") - .moveset([Moves.SURF, Moves.DIVE, Moves.SPLASH, Moves.SUBSTITUTE]) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.SURF, MoveId.DIVE, MoveId.SPLASH, MoveId.SUBSTITUTE]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(5); }); it("changes to Gulping Form if HP is over half when Surf or Dive is used", async () => { - await game.classicMode.startBattle([Species.CRAMORANT]); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.toNextTurn(); - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getHpRatio()).toBeGreaterThanOrEqual(0.5); @@ -65,13 +65,13 @@ describe("Abilities - Gulp Missile", () => { }); it("changes to Gorging Form if HP is under half when Surf or Dive is used", async () => { - await game.classicMode.startBattle([Species.CRAMORANT]); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; vi.spyOn(cramorant, "getHpRatio").mockReturnValue(0.49); expect(cramorant.getHpRatio()).toBe(0.49); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_PIKACHU)).toBeDefined(); @@ -79,10 +79,10 @@ describe("Abilities - Gulp Missile", () => { }); it("changes to base form when switched out after Surf or Dive is used", async () => { - await game.classicMode.startBattle([Species.CRAMORANT, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.CRAMORANT, SpeciesId.MAGIKARP]); const cramorant = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.toNextTurn(); game.doSwitchPokemon(1); @@ -94,10 +94,10 @@ describe("Abilities - Gulp Missile", () => { }); it("changes form during Dive's charge turn", async () => { - await game.classicMode.startBattle([Species.CRAMORANT]); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); @@ -105,26 +105,26 @@ describe("Abilities - Gulp Missile", () => { }); it("deals 1/4 of the attacker's maximum HP when hit by a damaging attack", async () => { - game.override.enemyMoveset(Moves.TACKLE); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.TACKLE); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "damageAndUpdate"); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.damageAndUpdate).toHaveReturnedWith(getEffectDamage(enemy)); }); it("does not have any effect when hit by non-damaging attack", async () => { - game.override.enemyMoveset(Moves.TAIL_WHIP); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.TAIL_WHIP); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; vi.spyOn(cramorant, "getHpRatio").mockReturnValue(0.55); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); @@ -137,8 +137,8 @@ describe("Abilities - Gulp Missile", () => { }); it("lowers attacker's DEF stat stage by 1 when hit in Gulping form", async () => { - game.override.enemyMoveset(Moves.TACKLE); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.TACKLE); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -146,7 +146,7 @@ describe("Abilities - Gulp Missile", () => { vi.spyOn(enemy, "damageAndUpdate"); vi.spyOn(cramorant, "getHpRatio").mockReturnValue(0.55); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); @@ -161,8 +161,8 @@ describe("Abilities - Gulp Missile", () => { }); it("paralyzes the enemy when hit in Gorging form", async () => { - game.override.enemyMoveset(Moves.TACKLE); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.TACKLE); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -170,7 +170,7 @@ describe("Abilities - Gulp Missile", () => { vi.spyOn(enemy, "damageAndUpdate"); vi.spyOn(cramorant, "getHpRatio").mockReturnValue(0.45); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_PIKACHU)).toBeDefined(); @@ -185,12 +185,12 @@ describe("Abilities - Gulp Missile", () => { }); it("does not activate the ability when underwater", async () => { - game.override.enemyMoveset(Moves.SURF); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.SURF); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("BerryPhase", false); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); @@ -198,15 +198,15 @@ describe("Abilities - Gulp Missile", () => { }); it("prevents effect damage but inflicts secondary effect on attacker with Magic Guard", async () => { - game.override.enemyMoveset(Moves.TACKLE).enemyAbility(Abilities.MAGIC_GUARD); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.TACKLE).enemyAbility(AbilityId.MAGIC_GUARD); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(cramorant, "getHpRatio").mockReturnValue(0.55); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("MoveEndPhase"); const enemyHpPreEffect = enemy.hp; @@ -222,12 +222,12 @@ describe("Abilities - Gulp Missile", () => { }); it("activates on faint", async () => { - game.override.enemyMoveset(Moves.THUNDERBOLT); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.THUNDERBOLT); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("FaintPhase"); expect(cramorant.hp).toBe(0); @@ -237,17 +237,17 @@ describe("Abilities - Gulp Missile", () => { }); it("doesn't trigger if user is behind a substitute", async () => { - game.override.enemyAbility(Abilities.STURDY).enemyMoveset([Moves.SPLASH, Moves.POWER_TRIP]); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyAbility(AbilityId.STURDY).enemyMoveset([MoveId.SPLASH, MoveId.POWER_TRIP]); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); - game.move.select(Moves.SURF); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SURF); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.formIndex).toBe(GULPING_FORM); - game.move.select(Moves.SUBSTITUTE); - await game.move.selectEnemyMove(Moves.POWER_TRIP); + game.move.select(MoveId.SUBSTITUTE); + await game.move.selectEnemyMove(MoveId.POWER_TRIP); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); @@ -255,13 +255,13 @@ describe("Abilities - Gulp Missile", () => { }); it("cannot be suppressed", async () => { - game.override.enemyMoveset(Moves.GASTRO_ACID); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.GASTRO_ACID); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; vi.spyOn(cramorant, "getHpRatio").mockReturnValue(0.55); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); @@ -269,19 +269,19 @@ describe("Abilities - Gulp Missile", () => { await game.phaseInterceptor.to("TurnEndPhase"); - expect(cramorant.hasAbility(Abilities.GULP_MISSILE)).toBe(true); + expect(cramorant.hasAbility(AbilityId.GULP_MISSILE)).toBe(true); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); expect(cramorant.formIndex).toBe(GULPING_FORM); }); it("cannot be swapped with another ability", async () => { - game.override.enemyMoveset(Moves.SKILL_SWAP); - await game.classicMode.startBattle([Species.CRAMORANT]); + game.override.enemyMoveset(MoveId.SKILL_SWAP); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); const cramorant = game.scene.getPlayerPokemon()!; vi.spyOn(cramorant, "getHpRatio").mockReturnValue(0.55); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("MoveEndPhase"); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); @@ -289,18 +289,18 @@ describe("Abilities - Gulp Missile", () => { await game.phaseInterceptor.to("TurnEndPhase"); - expect(cramorant.hasAbility(Abilities.GULP_MISSILE)).toBe(true); + expect(cramorant.hasAbility(AbilityId.GULP_MISSILE)).toBe(true); expect(cramorant.getTag(BattlerTagType.GULP_MISSILE_ARROKUDA)).toBeDefined(); expect(cramorant.formIndex).toBe(GULPING_FORM); }); it("cannot be copied", async () => { - game.override.enemyAbility(Abilities.TRACE); + game.override.enemyAbility(AbilityId.TRACE); - await game.classicMode.startBattle([Species.CRAMORANT]); - game.move.select(Moves.SPLASH); + await game.classicMode.startBattle([SpeciesId.CRAMORANT]); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnStartPhase"); - expect(game.scene.getEnemyPokemon()?.hasAbility(Abilities.GULP_MISSILE)).toBe(false); + expect(game.scene.getEnemyPokemon()?.hasAbility(AbilityId.GULP_MISSILE)).toBe(false); }); }); diff --git a/test/abilities/harvest.test.ts b/test/abilities/harvest.test.ts index 36b1b879598..5a6ddf35459 100644 --- a/test/abilities/harvest.test.ts +++ b/test/abilities/harvest.test.ts @@ -4,10 +4,10 @@ import type Pokemon from "#app/field/pokemon"; import { BerryModifier, PreserveBerryModifier } from "#app/modifier/modifier"; import type { ModifierOverride } from "#app/modifier/modifier-type"; import type { BooleanHolder } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BerryType } from "#enums/berry-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; @@ -43,25 +43,25 @@ describe("Abilities - Harvest", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.NATURAL_GIFT, Moves.FALSE_SWIPE, Moves.GASTRO_ACID]) - .ability(Abilities.HARVEST) + .moveset([MoveId.SPLASH, MoveId.NATURAL_GIFT, MoveId.FALSE_SWIPE, MoveId.GASTRO_ACID]) + .ability(AbilityId.HARVEST) .startingLevel(100) .battleStyle("single") .disableCrits() .statusActivation(false) // Since we're using nuzzle to proc both enigma and sitrus berries .weather(WeatherType.SUNNY) // guaranteed recovery .enemyLevel(1) - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH, Moves.NUZZLE, Moves.KNOCK_OFF, Moves.INCINERATE]); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH, MoveId.NUZZLE, MoveId.KNOCK_OFF, MoveId.INCINERATE]); }); it("replenishes eaten berries", async () => { game.override.startingHeldItems([{ name: "BERRY", type: BerryType.LUM, count: 1 }]); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.NUZZLE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.NUZZLE); await game.phaseInterceptor.to("BerryPhase"); expect(getPlayerBerries()).toHaveLength(0); expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toHaveLength(1); @@ -79,15 +79,15 @@ describe("Abilities - Harvest", () => { { name: "BERRY", type: BerryType.ENIGMA, count: 2 }, { name: "BERRY", type: BerryType.LUM, count: 2 }, ]) - .enemyAbility(Abilities.NEUTRALIZING_GAS); - await game.classicMode.startBattle([Species.MILOTIC]); + .enemyAbility(AbilityId.NEUTRALIZING_GAS); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); const milotic = game.scene.getPlayerPokemon()!; expect(milotic).toBeDefined(); // Chug a few berries without harvest (should get tracked) - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.NUZZLE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.NUZZLE); await game.toNextTurn(); expect(milotic.battleData.berriesEaten).toEqual(expect.arrayContaining([BerryType.ENIGMA, BerryType.LUM])); @@ -96,9 +96,9 @@ describe("Abilities - Harvest", () => { // Give ourselves harvest and disable enemy neut gas, // but force our roll to fail so we don't accidentally recover anything vi.spyOn(PostTurnRestoreBerryAbAttr.prototype, "canApplyPostTurn").mockReturnValueOnce(false); - game.override.ability(Abilities.HARVEST); - game.move.select(Moves.GASTRO_ACID); - await game.move.selectEnemyMove(Moves.NUZZLE); + game.override.ability(AbilityId.HARVEST); + game.move.select(MoveId.GASTRO_ACID); + await game.move.selectEnemyMove(MoveId.NUZZLE); await game.toNextTurn(); @@ -108,8 +108,8 @@ describe("Abilities - Harvest", () => { expect(getPlayerBerries()).toHaveLength(0); // proc a high roll and we _should_ get a berry back! - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(milotic.battleData.berriesEaten).toHaveLength(3); @@ -119,14 +119,14 @@ describe("Abilities - Harvest", () => { it("remembers berries eaten array across waves", async () => { game.override .startingHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 2 }]) - .ability(Abilities.BALL_FETCH); // don't actually need harvest for this test - await game.classicMode.startBattle([Species.REGIELEKI]); + .ability(AbilityId.BALL_FETCH); // don't actually need harvest for this test + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const regieleki = game.scene.getPlayerPokemon()!; regieleki.hp = 1; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("TurnEndPhase"); @@ -145,16 +145,16 @@ describe("Abilities - Harvest", () => { it("keeps harvested berries across reloads", async () => { game.override .startingHeldItems([{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]) - .moveset([Moves.SPLASH, Moves.EARTHQUAKE]) - .enemyMoveset([Moves.SUPER_FANG, Moves.HEAL_PULSE]) - .enemyAbility(Abilities.COMPOUND_EYES); - await game.classicMode.startBattle([Species.REGIELEKI]); + .moveset([MoveId.SPLASH, MoveId.EARTHQUAKE]) + .enemyMoveset([MoveId.SUPER_FANG, MoveId.HEAL_PULSE]) + .enemyAbility(AbilityId.COMPOUND_EYES); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const regieleki = game.scene.getPlayerPokemon()!; regieleki.hp = regieleki.getMaxHp() / 4 + 1; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SUPER_FANG); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SUPER_FANG); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -164,8 +164,8 @@ describe("Abilities - Harvest", () => { expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.SPATK)).toBe(1); // heal up so harvest doesn't proc and kill enemy - game.move.select(Moves.EARTHQUAKE); - await game.move.selectEnemyMove(Moves.HEAL_PULSE); + game.move.select(MoveId.EARTHQUAKE); + await game.move.selectEnemyMove(MoveId.HEAL_PULSE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); @@ -185,13 +185,13 @@ describe("Abilities - Harvest", () => { { name: "BERRY", type: BerryType.STARF, count: 2 }, ]; game.override.startingHeldItems(initBerries); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const feebas = game.scene.getPlayerPokemon()!; feebas.battleData.berriesEaten = [BerryType.LUM, BerryType.STARF]; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); // Force RNG roll to hit the first berry we find that matches. @@ -213,13 +213,13 @@ describe("Abilities - Harvest", () => { { name: "BERRY", type: BerryType.STARF, count: 3 }, ]; game.override.startingHeldItems(initBerries); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.battleData.berriesEaten = [BerryType.LUM, BerryType.STARF]; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expectBerriesContaining(...initBerries); @@ -228,10 +228,10 @@ describe("Abilities - Harvest", () => { describe("move/ability interactions", () => { it("cannot restore incinerated berries", async () => { game.override.startingHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 3 }]); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.INCINERATE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.INCINERATE); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); @@ -239,10 +239,10 @@ describe("Abilities - Harvest", () => { it("cannot restore knocked off berries", async () => { game.override.startingHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 3 }]); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.KNOCK_OFF); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.KNOCK_OFF); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); @@ -250,11 +250,11 @@ describe("Abilities - Harvest", () => { it("can restore berries eaten by Teatime", async () => { const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.STARF, count: 1 }]; - game.override.startingHeldItems(initBerries).enemyMoveset(Moves.TEATIME); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.startingHeldItems(initBerries).enemyMoveset(MoveId.TEATIME); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); // nom nom the berr berr yay yay - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toEqual([]); @@ -263,11 +263,11 @@ describe("Abilities - Harvest", () => { it("cannot restore Plucked berries for either side", async () => { const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]; - game.override.startingHeldItems(initBerries).enemyAbility(Abilities.HARVEST).enemyMoveset(Moves.PLUCK); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.startingHeldItems(initBerries).enemyAbility(AbilityId.HARVEST).enemyMoveset(MoveId.PLUCK); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); // gobble gobble gobble - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); // pluck triggers harvest for neither side @@ -287,9 +287,9 @@ describe("Abilities - Harvest", () => { const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.PETAYA, count: 1 }]; game.override.startingHeldItems(initBerries).startingModifier([{ name: "BERRY_POUCH", count: 1 }]); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase", false); // won't trigger harvest since we didn't lose the berry (it just doesn't ever add it to the array) @@ -299,16 +299,16 @@ describe("Abilities - Harvest", () => { it("can restore stolen berries", async () => { const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.SITRUS, count: 1 }]; - game.override.enemyHeldItems(initBerries).passiveAbility(Abilities.MAGICIAN).hasPassiveAbility(true); - await game.classicMode.startBattle([Species.MEOWSCARADA]); + game.override.enemyHeldItems(initBerries).passiveAbility(AbilityId.MAGICIAN).hasPassiveAbility(true); + await game.classicMode.startBattle([SpeciesId.MEOWSCARADA]); // pre damage const player = game.scene.getPlayerPokemon()!; player.hp = 1; // steal a sitrus and immediately consume it - game.move.select(Moves.FALSE_SWIPE); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.FALSE_SWIPE); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(player.battleData.berriesEaten).toEqual([BerryType.SITRUS]); @@ -320,10 +320,10 @@ describe("Abilities - Harvest", () => { // TODO: Enable once fling actually works...??? it.todo("can restore berries flung at user", async () => { - game.override.enemyHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 1 }]).enemyMoveset(Moves.FLING); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyHeldItems([{ name: "BERRY", type: BerryType.STARF, count: 1 }]).enemyMoveset(MoveId.FLING); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toBe([]); @@ -334,9 +334,9 @@ describe("Abilities - Harvest", () => { it.todo("can restore berries consumed via Natural Gift", async () => { const initBerries: ModifierOverride[] = [{ name: "BERRY", type: BerryType.STARF, count: 1 }]; game.override.startingHeldItems(initBerries); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.NATURAL_GIFT); + game.move.select(MoveId.NATURAL_GIFT); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.battleData.berriesEaten).toHaveLength(0); diff --git a/test/abilities/healer.test.ts b/test/abilities/healer.test.ts index d292ad0f625..7f71be7b86e 100644 --- a/test/abilities/healer.test.ts +++ b/test/abilities/healer.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -30,29 +30,29 @@ describe("Abilities - Healer", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("double") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); - healerAttr = allAbilities[Abilities.HEALER].getAttrs(PostTurnResetStatusAbAttr)[0]; + healerAttr = allAbilities[AbilityId.HEALER].getAttrs(PostTurnResetStatusAbAttr)[0]; healerAttrSpy = vi .spyOn(healerAttr, "getCondition") .mockReturnValue((pokemon: Pokemon) => !isNullOrUndefined(pokemon.getAlly())); }); it("should not queue a message phase for healing if the ally has fainted", async () => { - game.override.moveset([Moves.SPLASH, Moves.LUNAR_DANCE]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.moveset([MoveId.SPLASH, MoveId.LUNAR_DANCE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); const user = game.scene.getPlayerPokemon()!; // Only want one magikarp to have the ability. - vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[Abilities.HEALER]); - game.move.select(Moves.SPLASH); + vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[AbilityId.HEALER]); + game.move.select(MoveId.SPLASH); // faint the ally - game.move.select(Moves.LUNAR_DANCE, 1); + game.move.select(MoveId.LUNAR_DANCE, 1); const abSpy = vi.spyOn(healerAttr, "canApplyPostTurn"); await game.phaseInterceptor.to("TurnEndPhase"); @@ -65,13 +65,13 @@ describe("Abilities - Healer", () => { }); it("should heal the status of an ally if the ally has a status", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); const [user, ally] = game.scene.getPlayerField(); // Only want one magikarp to have the ability. - vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[Abilities.HEALER]); + vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[AbilityId.HEALER]); expect(ally.trySetStatus(StatusEffect.BURN)).toBe(true); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnEndPhase"); await game.toNextTurn(); @@ -81,13 +81,13 @@ describe("Abilities - Healer", () => { // TODO: Healer is currently checked before the it.todo("should heal a burn before its end of turn damage", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); const [user, ally] = game.scene.getPlayerField(); // Only want one magikarp to have the ability. - vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[Abilities.HEALER]); + vi.spyOn(user, "getAbility").mockReturnValue(allAbilities[AbilityId.HEALER]); expect(ally.trySetStatus(StatusEffect.BURN)).toBe(true); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnEndPhase"); await game.toNextTurn(); diff --git a/test/abilities/heatproof.test.ts b/test/abilities/heatproof.test.ts index 0bec7e4a3db..f705e8bf785 100644 --- a/test/abilities/heatproof.test.ts +++ b/test/abilities/heatproof.test.ts @@ -1,9 +1,9 @@ -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#app/enums/status-effect"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -27,13 +27,13 @@ describe("Abilities - Heatproof", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.CHARMANDER) - .enemyAbility(Abilities.HEATPROOF) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.CHARMANDER) + .enemyAbility(AbilityId.HEATPROOF) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(100) - .starterSpecies(Species.CHANDELURE) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.FLAMETHROWER, Moves.SPLASH]) + .starterSpecies(SpeciesId.CHANDELURE) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.FLAMETHROWER, MoveId.SPLASH]) .startingLevel(100); }); @@ -44,14 +44,14 @@ describe("Abilities - Heatproof", () => { const initialHP = 1000; enemy.hp = initialHP; - game.move.select(Moves.FLAMETHROWER); + game.move.select(MoveId.FLAMETHROWER); await game.phaseInterceptor.to(TurnEndPhase); const heatproofDamage = initialHP - enemy.hp; enemy.hp = initialHP; - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemyAbility(AbilityId.BALL_FETCH); - game.move.select(Moves.FLAMETHROWER); + game.move.select(MoveId.FLAMETHROWER); await game.phaseInterceptor.to(TurnEndPhase); const regularDamage = initialHP - enemy.hp; @@ -60,12 +60,12 @@ describe("Abilities - Heatproof", () => { }); it("reduces Burn damage by half", async () => { - game.override.enemyStatusEffect(StatusEffect.BURN).enemySpecies(Species.ABRA); + game.override.enemyStatusEffect(StatusEffect.BURN).enemySpecies(SpeciesId.ABRA); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Normal burn damage is /16 diff --git a/test/abilities/honey_gather.test.ts b/test/abilities/honey_gather.test.ts index a74a40c9c1e..e2f87f0af37 100644 --- a/test/abilities/honey_gather.test.ts +++ b/test/abilities/honey_gather.test.ts @@ -1,8 +1,8 @@ import type { CommandPhase } from "#app/phases/command-phase"; import { Command } from "#app/ui/command-ui-handler"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,32 +24,32 @@ describe("Abilities - Honey Gather", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.ROAR, Moves.THUNDERBOLT]) + .moveset([MoveId.SPLASH, MoveId.ROAR, MoveId.THUNDERBOLT]) .startingLevel(100) - .ability(Abilities.HONEY_GATHER) - .passiveAbility(Abilities.RUN_AWAY) + .ability(AbilityId.HONEY_GATHER) + .passiveAbility(AbilityId.RUN_AWAY) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should give money when winning a battle", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); game.scene.money = 1000; - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.toNextWave(); expect(game.scene.money).toBeGreaterThan(1000); }); it("should not give money when the enemy pokemon flees", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); game.scene.money = 1000; - game.move.select(Moves.ROAR); + game.move.select(MoveId.ROAR); await game.toNextTurn(); expect(game.scene.money).toBe(1000); @@ -57,7 +57,7 @@ describe("Abilities - Honey Gather", () => { }); it("should not give money when the player flees", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); game.scene.money = 1000; // something weird is going on with the test framework, so this is required to prevent a crash diff --git a/test/abilities/hustle.test.ts b/test/abilities/hustle.test.ts index 85b6e611d6d..58aa01bb39a 100644 --- a/test/abilities/hustle.test.ts +++ b/test/abilities/hustle.test.ts @@ -1,8 +1,8 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Stat } from "#app/enums/stat"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,23 +24,23 @@ describe("Abilities - Hustle", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .ability(Abilities.HUSTLE) - .moveset([Moves.TACKLE, Moves.GIGA_DRAIN, Moves.FISSURE]) + .ability(AbilityId.HUSTLE) + .moveset([MoveId.TACKLE, MoveId.GIGA_DRAIN, MoveId.FISSURE]) .disableCrits() .battleStyle("single") - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.BALL_FETCH); + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.BALL_FETCH); }); it("increases the user's Attack stat by 50%", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; const atk = pikachu.stats[Stat.ATK]; vi.spyOn(pikachu, "getEffectiveStat"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.move.forceHit(); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -48,26 +48,26 @@ describe("Abilities - Hustle", () => { }); it("lowers the accuracy of the user's physical moves by 20%", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; vi.spyOn(pikachu, "getAccuracyMultiplier"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("MoveEffectPhase"); expect(pikachu.getAccuracyMultiplier).toHaveReturnedWith(0.8); }); it("does not affect non-physical moves", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; const spatk = pikachu.stats[Stat.SPATK]; vi.spyOn(pikachu, "getEffectiveStat"); vi.spyOn(pikachu, "getAccuracyMultiplier"); - game.move.select(Moves.GIGA_DRAIN); + game.move.select(MoveId.GIGA_DRAIN); await game.phaseInterceptor.to("DamageAnimPhase"); expect(pikachu.getEffectiveStat).toHaveReturnedWith(spatk); @@ -78,18 +78,18 @@ describe("Abilities - Hustle", () => { game.override.startingLevel(100); game.override.enemyLevel(30); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(pikachu, "getAccuracyMultiplier"); - vi.spyOn(allMoves[Moves.FISSURE], "calculateBattleAccuracy"); + vi.spyOn(allMoves[MoveId.FISSURE], "calculateBattleAccuracy"); - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); await game.phaseInterceptor.to("DamageAnimPhase"); expect(enemyPokemon.turnData.damageTaken).toBe(enemyPokemon.getMaxHp()); expect(pikachu.getAccuracyMultiplier).toHaveReturnedWith(1); - expect(allMoves[Moves.FISSURE].calculateBattleAccuracy).toHaveReturnedWith(100); + expect(allMoves[MoveId.FISSURE].calculateBattleAccuracy).toHaveReturnedWith(100); }); }); diff --git a/test/abilities/hyper_cutter.test.ts b/test/abilities/hyper_cutter.test.ts index 76b66c2990e..211be9a0533 100644 --- a/test/abilities/hyper_cutter.test.ts +++ b/test/abilities/hyper_cutter.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,11 +24,11 @@ describe("Abilities - Hyper Cutter", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.SAND_ATTACK, Moves.NOBLE_ROAR, Moves.DEFOG, Moves.OCTOLOCK]) - .ability(Abilities.BALL_FETCH) - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.HYPER_CUTTER) - .enemyMoveset(Moves.SPLASH); + .moveset([MoveId.SAND_ATTACK, MoveId.NOBLE_ROAR, MoveId.DEFOG, MoveId.OCTOLOCK]) + .ability(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.HYPER_CUTTER) + .enemyMoveset(MoveId.SPLASH); }); // Reference Link: https://bulbapedia.bulbagarden.net/wiki/Hyper_Cutter_(Ability) @@ -38,16 +38,16 @@ describe("Abilities - Hyper Cutter", () => { const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.OCTOLOCK); + game.move.select(MoveId.OCTOLOCK); await game.toNextTurn(); - game.move.select(Moves.DEFOG); + game.move.select(MoveId.DEFOG); await game.toNextTurn(); - game.move.select(Moves.NOBLE_ROAR); + game.move.select(MoveId.NOBLE_ROAR); await game.toNextTurn(); - game.move.select(Moves.SAND_ATTACK); + game.move.select(MoveId.SAND_ATTACK); await game.toNextTurn(); - game.override.moveset([Moves.STRING_SHOT]); - game.move.select(Moves.STRING_SHOT); + game.override.moveset([MoveId.STRING_SHOT]); + game.move.select(MoveId.STRING_SHOT); await game.toNextTurn(); expect(enemy.getStatStage(Stat.ATK)).toEqual(0); diff --git a/test/abilities/ice_face.test.ts b/test/abilities/ice_face.test.ts index cb9530fe355..6ef91981cf3 100644 --- a/test/abilities/ice_face.test.ts +++ b/test/abilities/ice_face.test.ts @@ -4,10 +4,10 @@ import { MoveEndPhase } from "#app/phases/move-end-phase"; import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -31,15 +31,15 @@ describe("Abilities - Ice Face", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.EISCUE); - game.override.enemyAbility(Abilities.ICE_FACE); - game.override.moveset([Moves.TACKLE, Moves.ICE_BEAM, Moves.TOXIC_THREAD, Moves.HAIL]); + game.override.enemySpecies(SpeciesId.EISCUE); + game.override.enemyAbility(AbilityId.ICE_FACE); + game.override.moveset([MoveId.TACKLE, MoveId.ICE_BEAM, MoveId.TOXIC_THREAD, MoveId.HAIL]); }); it("takes no damage from physical move and transforms to Noice", async () => { - await game.classicMode.startBattle([Species.HITMONLEE]); + await game.classicMode.startBattle([SpeciesId.HITMONLEE]); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(MoveEndPhase); @@ -51,11 +51,11 @@ describe("Abilities - Ice Face", () => { }); it("takes no damage from the first hit of multihit physical move and transforms to Noice", async () => { - game.override.moveset([Moves.SURGING_STRIKES]); + game.override.moveset([MoveId.SURGING_STRIKES]); game.override.enemyLevel(1); - await game.classicMode.startBattle([Species.HITMONLEE]); + await game.classicMode.startBattle([SpeciesId.HITMONLEE]); - game.move.select(Moves.SURGING_STRIKES); + game.move.select(MoveId.SURGING_STRIKES); const eiscue = game.scene.getEnemyPokemon()!; expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBeDefined(); @@ -79,9 +79,9 @@ describe("Abilities - Ice Face", () => { }); it("takes damage from special moves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.ICE_BEAM); + game.move.select(MoveId.ICE_BEAM); await game.phaseInterceptor.to(MoveEndPhase); @@ -93,9 +93,9 @@ describe("Abilities - Ice Face", () => { }); it("takes effects from status moves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.TOXIC_THREAD); + game.move.select(MoveId.TOXIC_THREAD); await game.phaseInterceptor.to(MoveEndPhase); @@ -106,11 +106,11 @@ describe("Abilities - Ice Face", () => { }); it("transforms to Ice Face when Hail or Snow starts", async () => { - game.override.moveset([Moves.QUICK_ATTACK]).enemyMoveset(Moves.HAIL); + game.override.moveset([MoveId.QUICK_ATTACK]).enemyMoveset(MoveId.HAIL); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.QUICK_ATTACK); + game.move.select(MoveId.QUICK_ATTACK); await game.phaseInterceptor.to(MoveEndPhase); @@ -127,11 +127,11 @@ describe("Abilities - Ice Face", () => { }); it("transforms to Ice Face when summoned on arena with active Snow or Hail", async () => { - game.override.enemyMoveset(Moves.TACKLE).moveset([Moves.SNOWSCAPE]); + game.override.enemyMoveset(MoveId.TACKLE).moveset([MoveId.SNOWSCAPE]); - await game.classicMode.startBattle([Species.EISCUE, Species.NINJASK]); + await game.classicMode.startBattle([SpeciesId.EISCUE, SpeciesId.NINJASK]); - game.move.select(Moves.SNOWSCAPE); + game.move.select(MoveId.SNOWSCAPE); await game.phaseInterceptor.to(TurnEndPhase); let eiscue = game.scene.getPlayerPokemon()!; @@ -153,11 +153,11 @@ describe("Abilities - Ice Face", () => { }); it("will not revert to its Ice Face if there is already Hail when it changes into Noice", async () => { - game.override.enemySpecies(Species.SHUCKLE).enemyMoveset(Moves.TACKLE); + game.override.enemySpecies(SpeciesId.SHUCKLE).enemyMoveset(MoveId.TACKLE); - await game.classicMode.startBattle([Species.EISCUE]); + await game.classicMode.startBattle([SpeciesId.EISCUE]); - game.move.select(Moves.HAIL); + game.move.select(MoveId.HAIL); const eiscue = game.scene.getPlayerPokemon()!; await game.phaseInterceptor.to(QuietFormChangePhase); @@ -172,11 +172,11 @@ describe("Abilities - Ice Face", () => { }); it("persists form change when switched out", async () => { - game.override.enemyMoveset(Moves.QUICK_ATTACK); + game.override.enemyMoveset(MoveId.QUICK_ATTACK); - await game.classicMode.startBattle([Species.EISCUE, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.EISCUE, SpeciesId.MAGIKARP]); - game.move.select(Moves.ICE_BEAM); + game.move.select(MoveId.ICE_BEAM); await game.phaseInterceptor.to(TurnEndPhase); let eiscue = game.scene.getPlayerPokemon()!; @@ -198,19 +198,19 @@ describe("Abilities - Ice Face", () => { it("reverts to Ice Face on arena reset", async () => { game.override.startingWave(4); game.override.startingLevel(4); - game.override.enemySpecies(Species.MAGIKARP); + game.override.enemySpecies(SpeciesId.MAGIKARP); game.override.starterForms({ - [Species.EISCUE]: noiceForm, + [SpeciesId.EISCUE]: noiceForm, }); - await game.classicMode.startBattle([Species.EISCUE]); + await game.classicMode.startBattle([SpeciesId.EISCUE]); const eiscue = game.scene.getPlayerPokemon()!; expect(eiscue.formIndex).toBe(noiceForm); expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBeUndefined(); - game.move.select(Moves.ICE_BEAM); + game.move.select(MoveId.ICE_BEAM); await game.doKillOpponents(); await game.phaseInterceptor.to(TurnEndPhase); game.doSelectModifier(); @@ -221,10 +221,10 @@ describe("Abilities - Ice Face", () => { }); it("doesn't trigger if user is behind a substitute", async () => { - game.override.enemyMoveset(Moves.SUBSTITUTE).moveset(Moves.POWER_TRIP); + game.override.enemyMoveset(MoveId.SUBSTITUTE).moveset(MoveId.POWER_TRIP); await game.classicMode.startBattle(); - game.move.select(Moves.POWER_TRIP); + game.move.select(MoveId.POWER_TRIP); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -232,11 +232,11 @@ describe("Abilities - Ice Face", () => { }); it("cannot be suppressed", async () => { - game.override.moveset([Moves.GASTRO_ACID]); + game.override.moveset([MoveId.GASTRO_ACID]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GASTRO_ACID); + game.move.select(MoveId.GASTRO_ACID); await game.phaseInterceptor.to(TurnEndPhase); @@ -248,11 +248,11 @@ describe("Abilities - Ice Face", () => { }); it("cannot be swapped with another ability", async () => { - game.override.moveset([Moves.SKILL_SWAP]); + game.override.moveset([MoveId.SKILL_SWAP]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to(TurnEndPhase); @@ -260,15 +260,15 @@ describe("Abilities - Ice Face", () => { expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined); expect(eiscue.formIndex).toBe(icefaceForm); - expect(eiscue.hasAbility(Abilities.ICE_FACE)).toBe(true); + expect(eiscue.hasAbility(AbilityId.ICE_FACE)).toBe(true); }); it("cannot be copied", async () => { - game.override.ability(Abilities.TRACE); + game.override.ability(AbilityId.TRACE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SIMPLE_BEAM); + game.move.select(MoveId.SIMPLE_BEAM); await game.phaseInterceptor.to(TurnInitPhase); @@ -276,6 +276,6 @@ describe("Abilities - Ice Face", () => { expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined); expect(eiscue.formIndex).toBe(icefaceForm); - expect(game.scene.getPlayerPokemon()!.hasAbility(Abilities.TRACE)).toBe(true); + expect(game.scene.getPlayerPokemon()!.hasAbility(AbilityId.TRACE)).toBe(true); }); }); diff --git a/test/abilities/illuminate.test.ts b/test/abilities/illuminate.test.ts index ba26ed3b7af..ec4f6436041 100644 --- a/test/abilities/illuminate.test.ts +++ b/test/abilities/illuminate.test.ts @@ -1,6 +1,6 @@ import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -22,10 +22,10 @@ describe("Abilities - Illuminate", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.SPLASH) - .ability(Abilities.ILLUMINATE) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SAND_ATTACK); + .moveset(MoveId.SPLASH) + .ability(AbilityId.ILLUMINATE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SAND_ATTACK); }); it("should prevent ACC stat stage from being lowered", async () => { @@ -37,7 +37,7 @@ describe("Abilities - Illuminate", () => { expect(player.getStatStage(Stat.ACC)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); diff --git a/test/abilities/illusion.test.ts b/test/abilities/illusion.test.ts index 8aae433b6c0..37e2ca59c6a 100644 --- a/test/abilities/illusion.test.ts +++ b/test/abilities/illusion.test.ts @@ -1,8 +1,8 @@ import { Gender } from "#app/data/gender"; import { PokeballType } from "#app/enums/pokeball"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,16 +25,16 @@ describe("Abilities - Illusion", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.ZORUA) - .enemyAbility(Abilities.ILLUSION) - .enemyMoveset(Moves.TACKLE) + .enemySpecies(SpeciesId.ZORUA) + .enemyAbility(AbilityId.ILLUSION) + .enemyMoveset(MoveId.TACKLE) .enemyHeldItems([{ name: "WIDE_LENS", count: 3 }]) - .moveset([Moves.WORRY_SEED, Moves.SOAK, Moves.TACKLE]) + .moveset([MoveId.WORRY_SEED, MoveId.SOAK, MoveId.TACKLE]) .startingHeldItems([{ name: "WIDE_LENS", count: 3 }]); }); it("creates illusion at the start", async () => { - await game.classicMode.startBattle([Species.ZOROARK, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.ZOROARK, SpeciesId.FEEBAS]); const zoroark = game.scene.getPlayerPokemon()!; const zorua = game.scene.getEnemyPokemon()!; @@ -43,8 +43,8 @@ describe("Abilities - Illusion", () => { }); it("break after receiving damaging move", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); - game.move.select(Moves.TACKLE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("TurnEndPhase"); @@ -55,8 +55,8 @@ describe("Abilities - Illusion", () => { }); it("break after getting ability changed", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); - game.move.select(Moves.WORRY_SEED); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); + game.move.select(MoveId.WORRY_SEED); await game.phaseInterceptor.to("TurnEndPhase"); @@ -66,8 +66,8 @@ describe("Abilities - Illusion", () => { }); it("breaks with neutralizing gas", async () => { - game.override.enemyAbility(Abilities.NEUTRALIZING_GAS); - await game.classicMode.startBattle([Species.KOFFING]); + game.override.enemyAbility(AbilityId.NEUTRALIZING_GAS); + await game.classicMode.startBattle([SpeciesId.KOFFING]); const zorua = game.scene.getEnemyPokemon()!; @@ -76,11 +76,11 @@ describe("Abilities - Illusion", () => { it("does not activate if neutralizing gas is active", async () => { game.override - .enemyAbility(Abilities.NEUTRALIZING_GAS) - .ability(Abilities.ILLUSION) - .moveset(Moves.SPLASH) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS, Species.MAGIKARP]); + .enemyAbility(AbilityId.NEUTRALIZING_GAS) + .ability(AbilityId.ILLUSION) + .moveset(MoveId.SPLASH) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); game.doSwitchPokemon(1); await game.toNextTurn(); @@ -89,8 +89,8 @@ describe("Abilities - Illusion", () => { }); it("causes enemy AI to consider the illusion's type instead of the actual type when considering move effectiveness", async () => { - game.override.enemyMoveset([Moves.FLAMETHROWER, Moves.PSYCHIC, Moves.TACKLE]); - await game.classicMode.startBattle([Species.ZOROARK, Species.FEEBAS]); + game.override.enemyMoveset([MoveId.FLAMETHROWER, MoveId.PSYCHIC, MoveId.TACKLE]); + await game.classicMode.startBattle([SpeciesId.ZOROARK, SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; const zoroark = game.scene.getPlayerPokemon()!; @@ -117,14 +117,14 @@ describe("Abilities - Illusion", () => { }); it("does not break from indirect damage", async () => { - game.override.enemySpecies(Species.GIGALITH); - game.override.enemyAbility(Abilities.SAND_STREAM); - game.override.enemyMoveset(Moves.WILL_O_WISP); - game.override.moveset([Moves.FLARE_BLITZ]); + game.override.enemySpecies(SpeciesId.GIGALITH); + game.override.enemyAbility(AbilityId.SAND_STREAM); + game.override.enemyMoveset(MoveId.WILL_O_WISP); + game.override.moveset([MoveId.FLARE_BLITZ]); - await game.classicMode.startBattle([Species.ZOROARK, Species.AZUMARILL]); + await game.classicMode.startBattle([SpeciesId.ZOROARK, SpeciesId.AZUMARILL]); - game.move.select(Moves.FLARE_BLITZ); + game.move.select(MoveId.FLARE_BLITZ); await game.phaseInterceptor.to("TurnEndPhase"); @@ -134,8 +134,8 @@ describe("Abilities - Illusion", () => { }); it("copies the the name, nickname, gender, shininess, and pokeball from the illusion source", async () => { - game.override.enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.ABRA, Species.ZOROARK, Species.AXEW]); + game.override.enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.ZOROARK, SpeciesId.AXEW]); const axew = game.scene.getPlayerParty().at(2)!; axew.shiny = true; axew.nickname = btoa(unescape(encodeURIComponent("axew nickname"))); @@ -156,13 +156,13 @@ describe("Abilities - Illusion", () => { }); it("breaks when suppressed", async () => { - game.override.moveset(Moves.GASTRO_ACID); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset(MoveId.GASTRO_ACID); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const zorua = game.scene.getEnemyPokemon()!; expect(!!zorua.summonData?.illusion).toBe(true); - game.move.select(Moves.GASTRO_ACID); + game.move.select(MoveId.GASTRO_ACID); await game.phaseInterceptor.to("BerryPhase"); expect(zorua.isFullHp()).toBe(true); diff --git a/test/abilities/immunity.test.ts b/test/abilities/immunity.test.ts index dd9026cac50..b6ca34bfaa3 100644 --- a/test/abilities/immunity.test.ts +++ b/test/abilities/immunity.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Immunity", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove poison when gained", async () => { game.override - .ability(Abilities.IMMUNITY) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.IMMUNITY) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.POISON); expect(enemy?.status?.effect).toBe(StatusEffect.POISON); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/imposter.test.ts b/test/abilities/imposter.test.ts index b5e902f442f..c27e679ec54 100644 --- a/test/abilities/imposter.test.ts +++ b/test/abilities/imposter.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat, BATTLE_STATS, EFFECTIVE_STATS } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; // TODO: Add more tests once Imposter is fully implemented describe("Abilities - Imposter", () => { @@ -26,19 +26,19 @@ describe("Abilities - Imposter", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MEW) + .enemySpecies(SpeciesId.MEW) .enemyLevel(200) - .enemyAbility(Abilities.BEAST_BOOST) - .enemyPassiveAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .ability(Abilities.IMPOSTER) - .moveset(Moves.SPLASH); + .enemyAbility(AbilityId.BEAST_BOOST) + .enemyPassiveAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .ability(AbilityId.IMPOSTER) + .moveset(MoveId.SPLASH); }); it("should copy species, ability, gender, all stats except HP, all stat stages, moveset, and types of target", async () => { - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); const player = game.scene.getPlayerPokemon()!; @@ -75,9 +75,9 @@ describe("Abilities - Imposter", () => { }); it("should copy in-battle overridden stats", async () => { - game.override.enemyMoveset([Moves.POWER_SPLIT]); + game.override.enemyMoveset([MoveId.POWER_SPLIT]); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -85,7 +85,7 @@ describe("Abilities - Imposter", () => { const avgAtk = Math.floor((player.getStat(Stat.ATK, false) + enemy.getStat(Stat.ATK, false)) / 2); const avgSpAtk = Math.floor((player.getStat(Stat.SPATK, false) + enemy.getStat(Stat.SPATK, false)) / 2); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStat(Stat.ATK, false)).toBe(avgAtk); @@ -96,18 +96,18 @@ describe("Abilities - Imposter", () => { }); it("should set each move's pp to a maximum of 5", async () => { - game.override.enemyMoveset([Moves.SWORDS_DANCE, Moves.GROWL, Moves.SKETCH, Moves.RECOVER]); + game.override.enemyMoveset([MoveId.SWORDS_DANCE, MoveId.GROWL, MoveId.SKETCH, MoveId.RECOVER]); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const player = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); player.getMoveset().forEach(move => { // Should set correct maximum PP without touching `ppUp` if (move) { - if (move.moveId === Moves.SKETCH) { + if (move.moveId === MoveId.SKETCH) { expect(move.getMovePp()).toBe(1); } else { expect(move.getMovePp()).toBe(5); @@ -118,25 +118,25 @@ describe("Abilities - Imposter", () => { }); it("should activate its ability if it copies one that activates on summon", async () => { - game.override.enemyAbility(Abilities.INTIMIDATE); + game.override.enemyAbility(AbilityId.INTIMIDATE); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("MoveEndPhase"); expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); }); it("should persist transformed attributes across reloads", async () => { - game.override.moveset([Moves.ABSORB]); + game.override.moveset([MoveId.ABSORB]); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); @@ -158,13 +158,13 @@ describe("Abilities - Imposter", () => { } expect(playerMoveset.length).toEqual(1); - expect(playerMoveset[0]?.moveId).toEqual(Moves.SPLASH); + expect(playerMoveset[0]?.moveId).toEqual(MoveId.SPLASH); }); it("should stay transformed with the correct form after reload", async () => { - game.override.moveset([Moves.ABSORB]); - game.override.enemySpecies(Species.UNOWN); - await game.classicMode.startBattle([Species.DITTO]); + game.override.moveset([MoveId.ABSORB]); + game.override.enemySpecies(SpeciesId.UNOWN); + await game.classicMode.startBattle([SpeciesId.DITTO]); const enemy = game.scene.getEnemyPokemon()!; @@ -172,7 +172,7 @@ describe("Abilities - Imposter", () => { enemy.species.forms[5]; enemy.species.formIndex = 5; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); diff --git a/test/abilities/infiltrator.test.ts b/test/abilities/infiltrator.test.ts index aeeb681e73c..891a716f7a4 100644 --- a/test/abilities/infiltrator.test.ts +++ b/test/abilities/infiltrator.test.ts @@ -4,9 +4,9 @@ import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,13 +28,13 @@ describe("Abilities - Infiltrator", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.TACKLE, Moves.WATER_GUN, Moves.SPORE, Moves.BABY_DOLL_EYES]) - .ability(Abilities.INFILTRATOR) + .moveset([MoveId.TACKLE, MoveId.WATER_GUN, MoveId.SPORE, MoveId.BABY_DOLL_EYES]) + .ability(AbilityId.INFILTRATOR) .battleStyle("single") .disableCrits() - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .startingLevel(100) .enemyLevel(100); }); @@ -43,77 +43,77 @@ describe("Abilities - Infiltrator", () => { { effectName: "Light Screen", tagType: ArenaTagType.LIGHT_SCREEN, - move: Moves.WATER_GUN, + move: MoveId.WATER_GUN, }, { effectName: "Reflect", tagType: ArenaTagType.REFLECT, - move: Moves.TACKLE, + move: MoveId.TACKLE, }, { effectName: "Aurora Veil", tagType: ArenaTagType.AURORA_VEIL, - move: Moves.TACKLE, + move: MoveId.TACKLE, }, ])("should bypass the target's $effectName", async ({ tagType, move }) => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; const preScreenDmg = enemy.getAttackDamage({ source: player, move: allMoves[move] }).damage; - game.scene.arena.addTag(tagType, 1, Moves.NONE, enemy.id, ArenaTagSide.ENEMY, true); + game.scene.arena.addTag(tagType, 1, MoveId.NONE, enemy.id, ArenaTagSide.ENEMY, true); const postScreenDmg = enemy.getAttackDamage({ source: player, move: allMoves[move] }).damage; expect(postScreenDmg).toBe(preScreenDmg); - expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(AbilityId.INFILTRATOR); }); it("should bypass the target's Safeguard", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.scene.arena.addTag(ArenaTagType.SAFEGUARD, 1, Moves.NONE, enemy.id, ArenaTagSide.ENEMY, true); + game.scene.arena.addTag(ArenaTagType.SAFEGUARD, 1, MoveId.NONE, enemy.id, ArenaTagSide.ENEMY, true); - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.phaseInterceptor.to("BerryPhase", false); expect(enemy.status?.effect).toBe(StatusEffect.SLEEP); - expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(AbilityId.INFILTRATOR); }); // TODO: fix this interaction to pass this test it.todo("should bypass the target's Mist", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.scene.arena.addTag(ArenaTagType.MIST, 1, Moves.NONE, enemy.id, ArenaTagSide.ENEMY, true); + game.scene.arena.addTag(ArenaTagType.MIST, 1, MoveId.NONE, enemy.id, ArenaTagSide.ENEMY, true); - game.move.select(Moves.BABY_DOLL_EYES); + game.move.select(MoveId.BABY_DOLL_EYES); await game.phaseInterceptor.to("MoveEndPhase"); expect(enemy.getStatStage(Stat.ATK)).toBe(-1); - expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(AbilityId.INFILTRATOR); }); it("should bypass the target's Substitute", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - enemy.addTag(BattlerTagType.SUBSTITUTE, 1, Moves.NONE, enemy.id); + enemy.addTag(BattlerTagType.SUBSTITUTE, 1, MoveId.NONE, enemy.id); - game.move.select(Moves.BABY_DOLL_EYES); + game.move.select(MoveId.BABY_DOLL_EYES); await game.phaseInterceptor.to("MoveEndPhase"); expect(enemy.getStatStage(Stat.ATK)).toBe(-1); - expect(player.waveData.abilitiesApplied).toContain(Abilities.INFILTRATOR); + expect(player.waveData.abilitiesApplied).toContain(AbilityId.INFILTRATOR); }); }); diff --git a/test/abilities/insomnia.test.ts b/test/abilities/insomnia.test.ts index 49765a641b0..418e0ed1345 100644 --- a/test/abilities/insomnia.test.ts +++ b/test/abilities/insomnia.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Insomnia", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove sleep when gained", async () => { game.override - .ability(Abilities.INSOMNIA) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.INSOMNIA) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.SLEEP); expect(enemy?.status?.effect).toBe(StatusEffect.SLEEP); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/intimidate.test.ts b/test/abilities/intimidate.test.ts index 8db39270dcf..e72b9669b6e 100644 --- a/test/abilities/intimidate.test.ts +++ b/test/abilities/intimidate.test.ts @@ -4,9 +4,9 @@ import GameManager from "#test/testUtils/gameManager"; import { UiMode } from "#enums/ui-mode"; import { Stat } from "#enums/stat"; import { getMovePosition } from "#test/testUtils/gameManagerUtils"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; describe("Abilities - Intimidate", () => { let phaserGame: Phaser.Game; @@ -26,16 +26,16 @@ describe("Abilities - Intimidate", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.RATTATA) - .enemyAbility(Abilities.INTIMIDATE) - .enemyPassiveAbility(Abilities.HYDRATION) - .ability(Abilities.INTIMIDATE) + .enemySpecies(SpeciesId.RATTATA) + .enemyAbility(AbilityId.INTIMIDATE) + .enemyPassiveAbility(AbilityId.HYDRATION) + .ability(AbilityId.INTIMIDATE) .startingWave(3) - .enemyMoveset(Moves.SPLASH); + .enemyMoveset(MoveId.SPLASH); }); it("should lower ATK stat stage by 1 of enemy Pokemon on entry and player switch", async () => { - await game.classicMode.runToSummon([Species.MIGHTYENA, Species.POOCHYENA]); + await game.classicMode.runToSummon([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); game.onNextPrompt( "CheckSwitchPhase", UiMode.CONFIRM, @@ -50,7 +50,7 @@ describe("Abilities - Intimidate", () => { let playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - expect(playerPokemon.species.speciesId).toBe(Species.MIGHTYENA); + expect(playerPokemon.species.speciesId).toBe(SpeciesId.MIGHTYENA); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-1); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-1); @@ -59,14 +59,14 @@ describe("Abilities - Intimidate", () => { await game.phaseInterceptor.to("CommandPhase"); playerPokemon = game.scene.getPlayerPokemon()!; - expect(playerPokemon.species.speciesId).toBe(Species.POOCHYENA); + expect(playerPokemon.species.speciesId).toBe(SpeciesId.POOCHYENA); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(0); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-2); }, 20000); it("should lower ATK stat stage by 1 for every enemy Pokemon in a double battle on entry", async () => { game.override.battleStyle("double").startingWave(3); - await game.classicMode.runToSummon([Species.MIGHTYENA, Species.POOCHYENA]); + await game.classicMode.runToSummon([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); game.onNextPrompt( "CheckSwitchPhase", UiMode.CONFIRM, @@ -89,8 +89,8 @@ describe("Abilities - Intimidate", () => { it("should not activate again if there is no switch or new entry", async () => { game.override.startingWave(2); - game.override.moveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.MIGHTYENA, Species.POOCHYENA]); + game.override.moveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -98,7 +98,7 @@ describe("Abilities - Intimidate", () => { expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-1); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-1); @@ -106,8 +106,8 @@ describe("Abilities - Intimidate", () => { }, 20000); it("should lower ATK stat stage by 1 for every switch", async () => { - game.override.moveset([Moves.SPLASH]).enemyMoveset([Moves.VOLT_SWITCH]).startingWave(5); - await game.classicMode.startBattle([Species.MIGHTYENA, Species.POOCHYENA]); + game.override.moveset([MoveId.SPLASH]).enemyMoveset([MoveId.VOLT_SWITCH]).startingWave(5); + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); const playerPokemon = game.scene.getPlayerPokemon()!; let enemyPokemon = game.scene.getEnemyPokemon()!; @@ -115,7 +115,7 @@ describe("Abilities - Intimidate", () => { expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-1); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-1); - game.move.select(getMovePosition(game.scene, 0, Moves.SPLASH)); + game.move.select(getMovePosition(game.scene, 0, MoveId.SPLASH)); await game.toNextTurn(); enemyPokemon = game.scene.getEnemyPokemon()!; @@ -123,7 +123,7 @@ describe("Abilities - Intimidate", () => { expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-2); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); enemyPokemon = game.scene.getEnemyPokemon()!; diff --git a/test/abilities/intrepid_sword.test.ts b/test/abilities/intrepid_sword.test.ts index b30ae4a9bd0..7cfa9581bb9 100644 --- a/test/abilities/intrepid_sword.test.ts +++ b/test/abilities/intrepid_sword.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,13 +23,13 @@ describe("Abilities - Intrepid Sword", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.ZACIAN); - game.override.enemyAbility(Abilities.INTREPID_SWORD); - game.override.ability(Abilities.INTREPID_SWORD); + game.override.enemySpecies(SpeciesId.ZACIAN); + game.override.enemyAbility(AbilityId.INTREPID_SWORD); + game.override.ability(AbilityId.INTREPID_SWORD); }); it("should raise ATK stat stage by 1 on entry", async () => { - await game.classicMode.runToSummon([Species.ZACIAN]); + await game.classicMode.runToSummon([SpeciesId.ZACIAN]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; diff --git a/test/abilities/libero.test.ts b/test/abilities/libero.test.ts index a099e6ff047..6cae83219fd 100644 --- a/test/abilities/libero.test.ts +++ b/test/abilities/libero.test.ts @@ -3,11 +3,11 @@ import { PokemonType } from "#enums/pokemon-type"; import { Weather } from "#app/data/weather"; import type { PlayerPokemon } from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -31,46 +31,46 @@ describe("Abilities - Libero", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.LIBERO) + .ability(AbilityId.LIBERO) .startingLevel(100) - .enemySpecies(Species.RATTATA) - .enemyMoveset(Moves.ENDURE); + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset(MoveId.ENDURE); }); test("ability applies and changes a pokemon's type", async () => { - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.SPLASH); }); // Test for Gen9+ functionality, we are using previous funcionality test.skip("ability applies only once per switch in", async () => { - game.override.moveset([Moves.SPLASH, Moves.AGILITY]); + game.override.moveset([MoveId.SPLASH, MoveId.AGILITY]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.BULBASAUR]); let leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.SPLASH); - game.move.select(Moves.AGILITY); + game.move.select(MoveId.AGILITY); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).toContain(AbilityId.LIBERO); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]]; - const moveType = PokemonType[allMoves[Moves.AGILITY].type]; + const moveType = PokemonType[allMoves[MoveId.AGILITY].type]; expect(leadPokemonType).not.toBe(moveType); await game.toNextTurn(); @@ -82,25 +82,25 @@ describe("Abilities - Libero", () => { leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.SPLASH); }); test("ability applies correctly even if the pokemon's move has a variable type", async () => { - game.override.moveset([Moves.WEATHER_BALL]); + game.override.moveset([MoveId.WEATHER_BALL]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); game.scene.arena.weather = new Weather(WeatherType.SUNNY); - game.move.select(Moves.WEATHER_BALL); + game.move.select(MoveId.WEATHER_BALL); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).toContain(AbilityId.LIBERO); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.FIRE]; @@ -108,18 +108,18 @@ describe("Abilities - Libero", () => { }); test("ability applies correctly even if the type has changed by another ability", async () => { - game.override.moveset([Moves.TACKLE]); - game.override.passiveAbility(Abilities.REFRIGERATE); + game.override.moveset([MoveId.TACKLE]); + game.override.passiveAbility(AbilityId.REFRIGERATE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).toContain(AbilityId.LIBERO); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.ICE]; @@ -127,173 +127,173 @@ describe("Abilities - Libero", () => { }); test("ability applies correctly even if the pokemon's move calls another move", async () => { - game.override.moveset([Moves.NATURE_POWER]); + game.override.moveset([MoveId.NATURE_POWER]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.scene.arena.biomeType = Biome.MOUNTAIN; - game.move.select(Moves.NATURE_POWER); + game.scene.arena.biomeType = BiomeId.MOUNTAIN; + game.move.select(MoveId.NATURE_POWER); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.AIR_SLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.AIR_SLASH); }); test("ability applies correctly even if the pokemon's move is delayed / charging", async () => { - game.override.moveset([Moves.DIG]); + game.override.moveset([MoveId.DIG]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.DIG); + game.move.select(MoveId.DIG); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.DIG); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.DIG); }); test("ability applies correctly even if the pokemon's move misses", async () => { - game.override.moveset([Moves.TACKLE]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.TACKLE]); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.move.forceMiss(); await game.phaseInterceptor.to(TurnEndPhase); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.isFullHp()).toBe(true); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TACKLE); }); test("ability applies correctly even if the pokemon's move is protected against", async () => { - game.override.moveset([Moves.TACKLE]).enemyMoveset(Moves.PROTECT); + game.override.moveset([MoveId.TACKLE]).enemyMoveset(MoveId.PROTECT); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TACKLE); }); test("ability applies correctly even if the pokemon's move fails because of type immunity", async () => { - game.override.moveset([Moves.TACKLE]); - game.override.enemySpecies(Species.GASTLY); + game.override.moveset([MoveId.TACKLE]); + game.override.enemySpecies(SpeciesId.GASTLY); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TACKLE); }); test("ability is not applied if pokemon's type is the same as the move's type", async () => { - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - leadPokemon.summonData.types = [allMoves[Moves.SPLASH].type]; - game.move.select(Moves.SPLASH); + leadPokemon.summonData.types = [allMoves[MoveId.SPLASH].type]; + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.LIBERO); }); test("ability is not applied if pokemon is terastallized", async () => { - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); leadPokemon.isTerastallized = true; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.LIBERO); }); test("ability is not applied if pokemon uses struggle", async () => { - game.override.moveset([Moves.STRUGGLE]); + game.override.moveset([MoveId.STRUGGLE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.STRUGGLE); + game.move.select(MoveId.STRUGGLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.LIBERO); }); test("ability is not applied if the pokemon's move fails", async () => { - game.override.moveset([Moves.BURN_UP]); + game.override.moveset([MoveId.BURN_UP]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.BURN_UP); + game.move.select(MoveId.BURN_UP); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.LIBERO); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.LIBERO); }); test("ability applies correctly even if the pokemon's Trick-or-Treat fails", async () => { - game.override.moveset([Moves.TRICK_OR_TREAT]); - game.override.enemySpecies(Species.GASTLY); + game.override.moveset([MoveId.TRICK_OR_TREAT]); + game.override.enemySpecies(SpeciesId.GASTLY); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TRICK_OR_TREAT); + game.move.select(MoveId.TRICK_OR_TREAT); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TRICK_OR_TREAT); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TRICK_OR_TREAT); }); test("ability applies correctly and the pokemon curses itself", async () => { - game.override.moveset([Moves.CURSE]); + game.override.moveset([MoveId.CURSE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.CURSE); + game.move.select(MoveId.CURSE); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.CURSE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.CURSE); expect(leadPokemon.getTag(BattlerTagType.CURSED)).not.toBe(undefined); }); }); -function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) { - expect(pokemon.waveData.abilitiesApplied).toContain(Abilities.LIBERO); +function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: MoveId) { + expect(pokemon.waveData.abilitiesApplied).toContain(AbilityId.LIBERO); expect(pokemon.getTypes()).toHaveLength(1); const pokemonType = PokemonType[pokemon.getTypes()[0]], moveType = PokemonType[allMoves[move].type]; diff --git a/test/abilities/lightningrod.test.ts b/test/abilities/lightningrod.test.ts index 21a03baf12b..777ccb88ba9 100644 --- a/test/abilities/lightningrod.test.ts +++ b/test/abilities/lightningrod.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,55 +24,55 @@ describe("Abilities - Lightningrod", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.SHOCK_WAVE]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.SHOCK_WAVE]) + .ability(AbilityId.BALL_FETCH) .battleStyle("double") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should redirect electric type moves", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.LIGHTNING_ROD; + enemy2.summonData.ability = AbilityId.LIGHTNING_ROD; - game.move.select(Moves.SHOCK_WAVE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SHOCK_WAVE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(true); }); it("should not redirect non-electric type moves", async () => { - game.override.moveset([Moves.SPLASH, Moves.AERIAL_ACE]); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + game.override.moveset([MoveId.SPLASH, MoveId.AERIAL_ACE]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.LIGHTNING_ROD; + enemy2.summonData.ability = AbilityId.LIGHTNING_ROD; - game.move.select(Moves.AERIAL_ACE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.AERIAL_ACE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(false); }); it("should boost the user's spatk without damaging", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.LIGHTNING_ROD; + enemy2.summonData.ability = AbilityId.LIGHTNING_ROD; - game.move.select(Moves.SHOCK_WAVE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SHOCK_WAVE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy2.isFullHp()).toBe(true); @@ -80,32 +80,32 @@ describe("Abilities - Lightningrod", () => { }); it("should not redirect moves changed from electric type via ability", async () => { - game.override.ability(Abilities.NORMALIZE); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + game.override.ability(AbilityId.NORMALIZE); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.LIGHTNING_ROD; + enemy2.summonData.ability = AbilityId.LIGHTNING_ROD; - game.move.select(Moves.SHOCK_WAVE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SHOCK_WAVE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(false); }); it("should redirect moves changed to electric type via ability", async () => { - game.override.ability(Abilities.GALVANIZE).moveset(Moves.TACKLE); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + game.override.ability(AbilityId.GALVANIZE).moveset(MoveId.TACKLE); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.LIGHTNING_ROD; + enemy2.summonData.ability = AbilityId.LIGHTNING_ROD; - game.move.select(Moves.TACKLE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.TACKLE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(true); diff --git a/test/abilities/limber.test.ts b/test/abilities/limber.test.ts index 4cdaa86f44c..2ca469dcaa1 100644 --- a/test/abilities/limber.test.ts +++ b/test/abilities/limber.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Limber", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove paralysis when gained", async () => { game.override - .ability(Abilities.LIMBER) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.LIMBER) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.PARALYSIS); expect(enemy?.status?.effect).toBe(StatusEffect.PARALYSIS); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/magic_bounce.test.ts b/test/abilities/magic_bounce.test.ts index be1ad2b413a..8c3eeec974c 100644 --- a/test/abilities/magic_bounce.test.ts +++ b/test/abilities/magic_bounce.test.ts @@ -6,9 +6,9 @@ import { ArenaTagType } from "#app/enums/arena-tag-type"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Stat } from "#app/enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -29,30 +29,30 @@ describe("Abilities - Magic Bounce", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .ability(Abilities.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") - .moveset([Moves.GROWL, Moves.SPLASH]) + .moveset([MoveId.GROWL, MoveId.SPLASH]) .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.MAGIC_BOUNCE) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.MAGIC_BOUNCE) + .enemyMoveset(MoveId.SPLASH); }); it("should reflect basic status moves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(-1); }); it("should not bounce moves while the target is in the semi-invulnerable state", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); - game.override.moveset([Moves.GROWL]); - game.override.enemyMoveset([Moves.FLY]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.override.moveset([MoveId.GROWL]); + game.override.enemyMoveset([MoveId.FLY]); - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.FLY); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.FLY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); @@ -61,11 +61,11 @@ describe("Abilities - Magic Bounce", () => { it("should individually bounce back multi-target moves", async () => { game.override.battleStyle("double"); - game.override.moveset([Moves.GROWL, Moves.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.moveset([MoveId.GROWL, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.GROWL, 0); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); const user = game.scene.getPlayerField()[0]; @@ -73,41 +73,41 @@ describe("Abilities - Magic Bounce", () => { }); it("should still bounce back a move that would otherwise fail", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); game.scene.getEnemyPokemon()?.setStatStage(Stat.ATK, -6); - game.override.moveset([Moves.GROWL]); + game.override.moveset([MoveId.GROWL]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(-1); }); it("should not bounce back a move that was just bounced", async () => { - game.override.ability(Abilities.MAGIC_BOUNCE); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.ability(AbilityId.MAGIC_BOUNCE); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(-1); }); it("should receive the stat change after reflecting a move back to a mirror armor user", async () => { - game.override.ability(Abilities.MIRROR_ARMOR); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.ability(AbilityId.MIRROR_ARMOR); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getStatStage(Stat.ATK)).toBe(-1); }); it("should not bounce back a move from a mold breaker user", async () => { - game.override.ability(Abilities.MOLD_BREAKER); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.ability(AbilityId.MOLD_BREAKER); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getStatStage(Stat.ATK)).toBe(-1); @@ -115,12 +115,12 @@ describe("Abilities - Magic Bounce", () => { it("should bounce back a spread status move against both pokemon", async () => { game.override.battleStyle("double"); - game.override.moveset([Moves.GROWL, Moves.SPLASH]); - game.override.enemyMoveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.moveset([MoveId.GROWL, MoveId.SPLASH]); + game.override.enemyMoveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.GROWL, 0); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerField().every(p => p.getStatStage(Stat.ATK) === -2)).toBeTruthy(); @@ -128,10 +128,10 @@ describe("Abilities - Magic Bounce", () => { it("should only bounce spikes back once in doubles when both targets have magic bounce", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.override.moveset([Moves.SPIKES]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.override.moveset([MoveId.SPIKES]); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.PLAYER)!["layers"]).toBe(1); @@ -139,105 +139,105 @@ describe("Abilities - Magic Bounce", () => { }); it("should bounce spikes even when the target is protected", async () => { - game.override.moveset([Moves.SPIKES]); - game.override.enemyMoveset([Moves.PROTECT]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.SPIKES]); + game.override.enemyMoveset([MoveId.PROTECT]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.PLAYER)!["layers"]).toBe(1); }); it("should not bounce spikes when the target is in the semi-invulnerable state", async () => { - game.override.moveset([Moves.SPIKES]); - game.override.enemyMoveset([Moves.FLY]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.SPIKES]); + game.override.enemyMoveset([MoveId.FLY]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.ENEMY)!["layers"]).toBe(1); }); it("should not bounce back curse", async () => { - game.override.starterSpecies(Species.GASTLY); - await game.classicMode.startBattle([Species.GASTLY]); - game.override.moveset([Moves.CURSE]); + game.override.starterSpecies(SpeciesId.GASTLY); + await game.classicMode.startBattle([SpeciesId.GASTLY]); + game.override.moveset([MoveId.CURSE]); - game.move.select(Moves.CURSE); + game.move.select(MoveId.CURSE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getTag(BattlerTagType.CURSED)).toBeDefined(); }); it("should not cause encore to be interrupted after bouncing", async () => { - game.override.moveset([Moves.SPLASH, Moves.GROWL, Moves.ENCORE]); - game.override.enemyMoveset([Moves.TACKLE, Moves.GROWL]); - // game.override.ability(Abilities.MOLD_BREAKER); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.SPLASH, MoveId.GROWL, MoveId.ENCORE]); + game.override.enemyMoveset([MoveId.TACKLE, MoveId.GROWL]); + // game.override.ability(AbilityId.MOLD_BREAKER); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; // Give the player MOLD_BREAKER for this turn to bypass Magic Bounce. - vi.spyOn(playerPokemon, "getAbility").mockReturnValue(allAbilities[Abilities.MOLD_BREAKER]); + vi.spyOn(playerPokemon, "getAbility").mockReturnValue(allAbilities[AbilityId.MOLD_BREAKER]); // turn 1 - game.move.select(Moves.ENCORE); - await game.move.selectEnemyMove(Moves.TACKLE); + game.move.select(MoveId.ENCORE); + await game.move.selectEnemyMove(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(Moves.TACKLE); + expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(MoveId.TACKLE); // turn 2 vi.spyOn(playerPokemon, "getAbility").mockRestore(); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase"); - expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(Moves.TACKLE); - expect(enemyPokemon.getLastXMoves()[0].move).toBe(Moves.TACKLE); + expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(MoveId.TACKLE); + expect(enemyPokemon.getLastXMoves()[0].move).toBe(MoveId.TACKLE); }); // TODO: encore is failing if the last move was virtual. it.todo("should not cause the bounced move to count for encore", async () => { - game.override.moveset([Moves.SPLASH, Moves.GROWL, Moves.ENCORE]); - game.override.enemyMoveset([Moves.GROWL, Moves.TACKLE]); - game.override.enemyAbility(Abilities.MAGIC_BOUNCE); + game.override.moveset([MoveId.SPLASH, MoveId.GROWL, MoveId.ENCORE]); + game.override.enemyMoveset([MoveId.GROWL, MoveId.TACKLE]); + game.override.enemyAbility(AbilityId.MAGIC_BOUNCE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; // turn 1 - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.TACKLE); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); // Give the player MOLD_BREAKER for this turn to bypass Magic Bounce. - vi.spyOn(playerPokemon, "getAbility").mockReturnValue(allAbilities[Abilities.MOLD_BREAKER]); + vi.spyOn(playerPokemon, "getAbility").mockReturnValue(allAbilities[AbilityId.MOLD_BREAKER]); // turn 2 - game.move.select(Moves.ENCORE); - await game.move.selectEnemyMove(Moves.TACKLE); + game.move.select(MoveId.ENCORE); + await game.move.selectEnemyMove(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase"); - expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(Moves.TACKLE); - expect(enemyPokemon.getLastXMoves()[0].move).toBe(Moves.TACKLE); + expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(MoveId.TACKLE); + expect(enemyPokemon.getLastXMoves()[0].move).toBe(MoveId.TACKLE); }); // TODO: stomping tantrum should consider moves that were bounced. it.todo("should cause stomping tantrum to double in power when the last move was bounced", async () => { game.override.battleStyle("single"); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.override.moveset([Moves.STOMPING_TANTRUM, Moves.CHARM]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.override.moveset([MoveId.STOMPING_TANTRUM, MoveId.CHARM]); - const stomping_tantrum = allMoves[Moves.STOMPING_TANTRUM]; + const stomping_tantrum = allMoves[MoveId.STOMPING_TANTRUM]; vi.spyOn(stomping_tantrum, "calculateBattlePower"); - game.move.select(Moves.CHARM); + game.move.select(MoveId.CHARM); await game.toNextTurn(); - game.move.select(Moves.STOMPING_TANTRUM); + game.move.select(MoveId.STOMPING_TANTRUM); await game.phaseInterceptor.to("BerryPhase"); expect(stomping_tantrum.calculateBattlePower).toHaveReturnedWith(150); }); @@ -246,15 +246,15 @@ describe("Abilities - Magic Bounce", () => { it.todo( "should properly cause the enemy's stomping tantrum to be doubled in power after bouncing and failing", async () => { - game.override.enemyMoveset([Moves.STOMPING_TANTRUM, Moves.SPLASH, Moves.CHARM]); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyMoveset([MoveId.STOMPING_TANTRUM, MoveId.SPLASH, MoveId.CHARM]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); - const stomping_tantrum = allMoves[Moves.STOMPING_TANTRUM]; + const stomping_tantrum = allMoves[MoveId.STOMPING_TANTRUM]; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(stomping_tantrum, "calculateBattlePower"); - game.move.select(Moves.SPORE); - await game.move.selectEnemyMove(Moves.CHARM); + game.move.select(MoveId.SPORE); + await game.move.selectEnemyMove(MoveId.CHARM); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.getLastXMoves(1)[0].result).toBe("success"); @@ -262,64 +262,64 @@ describe("Abilities - Magic Bounce", () => { expect(stomping_tantrum.calculateBattlePower).toHaveReturnedWith(75); await game.toNextTurn(); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(stomping_tantrum.calculateBattlePower).toHaveReturnedWith(75); }, ); it("should respect immunities when bouncing a move", async () => { - vi.spyOn(allMoves[Moves.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); - game.override.moveset([Moves.THUNDER_WAVE, Moves.GROWL]); - game.override.ability(Abilities.SOUNDPROOF); - await game.classicMode.startBattle([Species.PHANPY]); + vi.spyOn(allMoves[MoveId.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); + game.override.moveset([MoveId.THUNDER_WAVE, MoveId.GROWL]); + game.override.ability(AbilityId.SOUNDPROOF); + await game.classicMode.startBattle([SpeciesId.PHANPY]); // Turn 1 - thunder wave immunity test - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status).toBeUndefined(); // Turn 2 - soundproof immunity test - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(0); }); it("should bounce back a move before the accuracy check", async () => { - game.override.moveset([Moves.SPORE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.SPORE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const attacker = game.scene.getPlayerPokemon()!; vi.spyOn(attacker, "getAccuracyMultiplier").mockReturnValue(0.0); - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status?.effect).toBe(StatusEffect.SLEEP); }); it("should take the accuracy of the magic bounce user into account", async () => { - game.override.moveset([Moves.SPORE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.SPORE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const opponent = game.scene.getEnemyPokemon()!; vi.spyOn(opponent, "getAccuracyMultiplier").mockReturnValue(0); - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status).toBeUndefined(); }); it("should always apply the leftmost available target's magic bounce when bouncing moves like sticky webs in doubles", async () => { game.override.battleStyle("double"); - game.override.moveset([Moves.STICKY_WEB, Moves.SPLASH, Moves.TRICK_ROOM]); + game.override.moveset([MoveId.STICKY_WEB, MoveId.SPLASH, MoveId.TRICK_ROOM]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); const [enemy_1, enemy_2] = game.scene.getEnemyField(); // set speed just incase logic erroneously checks for speed order enemy_1.setStat(Stat.SPD, enemy_2.getStat(Stat.SPD) + 1); // turn 1 - game.move.select(Moves.STICKY_WEB, 0); - game.move.select(Moves.TRICK_ROOM, 1); + game.move.select(MoveId.STICKY_WEB, 0); + game.move.select(MoveId.TRICK_ROOM, 1); await game.phaseInterceptor.to("TurnEndPhase"); expect( @@ -331,8 +331,8 @@ describe("Abilities - Magic Bounce", () => { game.scene.arena.removeTagOnSide(ArenaTagType.STICKY_WEB, ArenaTagSide.PLAYER, true); // turn 2 - game.move.select(Moves.STICKY_WEB, 0); - game.move.select(Moves.TRICK_ROOM, 1); + game.move.select(MoveId.STICKY_WEB, 0); + game.move.select(MoveId.TRICK_ROOM, 1); await game.phaseInterceptor.to("BerryPhase"); expect( game.scene.arena @@ -343,17 +343,17 @@ describe("Abilities - Magic Bounce", () => { }); it("should not bounce back status moves that hit through semi-invulnerable states", async () => { - game.override.moveset([Moves.TOXIC, Moves.CHARM]); - await game.classicMode.startBattle([Species.BULBASAUR]); - game.move.select(Moves.TOXIC); - await game.move.selectEnemyMove(Moves.FLY); + game.override.moveset([MoveId.TOXIC, MoveId.CHARM]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); + game.move.select(MoveId.TOXIC); + await game.move.selectEnemyMove(MoveId.FLY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.status?.effect).toBe(StatusEffect.TOXIC); expect(game.scene.getPlayerPokemon()!.status).toBeUndefined(); - game.override.ability(Abilities.NO_GUARD); - game.move.select(Moves.CHARM); + game.override.ability(AbilityId.NO_GUARD); + game.move.select(MoveId.CHARM); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getStatStage(Stat.ATK)).toBe(-2); diff --git a/test/abilities/magic_guard.test.ts b/test/abilities/magic_guard.test.ts index 61d06a74c58..c36b35c09b7 100644 --- a/test/abilities/magic_guard.test.ts +++ b/test/abilities/magic_guard.test.ts @@ -1,11 +1,11 @@ import { ArenaTagSide, getArenaTag } from "#app/data/arena-tag"; import { getStatusEffectCatchRateMultiplier } from "#app/data/status-effect"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; @@ -30,14 +30,14 @@ describe("Abilities - Magic Guard", () => { game = new GameManager(phaserGame); /** Player Pokemon overrides */ - game.override.ability(Abilities.MAGIC_GUARD); - game.override.moveset([Moves.SPLASH]); + game.override.ability(AbilityId.MAGIC_GUARD); + game.override.moveset([MoveId.SPLASH]); game.override.startingLevel(100); /** Enemy Pokemon overrides */ - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyAbility(Abilities.INSOMNIA); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyAbility(AbilityId.INSOMNIA); + game.override.enemyMoveset(MoveId.SPLASH); game.override.enemyLevel(100); }); @@ -46,14 +46,14 @@ describe("Abilities - Magic Guard", () => { it("ability should prevent damage caused by weather", async () => { game.override.weather(WeatherType.SANDSTORM); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon).toBeDefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); @@ -70,11 +70,11 @@ describe("Abilities - Magic Guard", () => { //Toxic keeps track of the turn counters -> important that Magic Guard keeps track of post-Toxic turns game.override.statusEffect(StatusEffect.POISON); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); @@ -88,14 +88,14 @@ describe("Abilities - Magic Guard", () => { }); it("ability effect should not persist when the ability is replaced", async () => { - game.override.enemyMoveset([Moves.WORRY_SEED, Moves.WORRY_SEED, Moves.WORRY_SEED, Moves.WORRY_SEED]); + game.override.enemyMoveset([MoveId.WORRY_SEED, MoveId.WORRY_SEED, MoveId.WORRY_SEED, MoveId.WORRY_SEED]); game.override.statusEffect(StatusEffect.POISON); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); @@ -108,11 +108,11 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage caused by burn but other non-damaging effects are still applied", async () => { game.override.enemyStatusEffect(StatusEffect.BURN); - game.override.enemyAbility(Abilities.MAGIC_GUARD); + game.override.enemyAbility(AbilityId.MAGIC_GUARD); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -130,11 +130,11 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage caused by toxic but other non-damaging effects are still applied", async () => { game.override.enemyStatusEffect(StatusEffect.TOXIC); - game.override.enemyAbility(Abilities.MAGIC_GUARD); + game.override.enemyAbility(AbilityId.MAGIC_GUARD); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -156,13 +156,13 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage caused by entry hazards", async () => { //Adds and applies Spikes to both sides of the arena - const newTag = getArenaTag(ArenaTagType.SPIKES, 5, Moves.SPIKES, 0, 0, ArenaTagSide.BOTH)!; + const newTag = getArenaTag(ArenaTagType.SPIKES, 5, MoveId.SPIKES, 0, 0, ArenaTagSide.BOTH)!; game.scene.arena.tags.push(newTag); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -179,15 +179,15 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard does not prevent poison from Toxic Spikes", async () => { //Adds and applies Spikes to both sides of the arena - const playerTag = getArenaTag(ArenaTagType.TOXIC_SPIKES, 5, Moves.TOXIC_SPIKES, 0, 0, ArenaTagSide.PLAYER)!; - const enemyTag = getArenaTag(ArenaTagType.TOXIC_SPIKES, 5, Moves.TOXIC_SPIKES, 0, 0, ArenaTagSide.ENEMY)!; + const playerTag = getArenaTag(ArenaTagType.TOXIC_SPIKES, 5, MoveId.TOXIC_SPIKES, 0, 0, ArenaTagSide.PLAYER)!; + const enemyTag = getArenaTag(ArenaTagType.TOXIC_SPIKES, 5, MoveId.TOXIC_SPIKES, 0, 0, ArenaTagSide.ENEMY)!; game.scene.arena.tags.push(playerTag); game.scene.arena.tags.push(enemyTag); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -206,13 +206,13 @@ describe("Abilities - Magic Guard", () => { }); it("Magic Guard prevents against damage from volatile status effects", async () => { - await game.classicMode.startBattle([Species.DUSKULL]); - game.override.moveset([Moves.CURSE]); - game.override.enemyAbility(Abilities.MAGIC_GUARD); + await game.classicMode.startBattle([SpeciesId.DUSKULL]); + game.override.moveset([MoveId.CURSE]); + game.override.enemyAbility(AbilityId.MAGIC_GUARD); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.CURSE); + game.move.select(MoveId.CURSE); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -230,12 +230,12 @@ describe("Abilities - Magic Guard", () => { }); it("Magic Guard prevents crash damage", async () => { - game.override.moveset([Moves.HIGH_JUMP_KICK]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.HIGH_JUMP_KICK]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.HIGH_JUMP_KICK); + game.move.select(MoveId.HIGH_JUMP_KICK); await game.move.forceMiss(); await game.phaseInterceptor.to(TurnEndPhase); @@ -248,12 +248,12 @@ describe("Abilities - Magic Guard", () => { }); it("Magic Guard prevents damage from recoil", async () => { - game.override.moveset([Moves.TAKE_DOWN]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.TAKE_DOWN]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TAKE_DOWN); + game.move.select(MoveId.TAKE_DOWN); await game.phaseInterceptor.to(TurnEndPhase); @@ -265,12 +265,12 @@ describe("Abilities - Magic Guard", () => { }); it("Magic Guard does not prevent damage from Struggle's recoil", async () => { - game.override.moveset([Moves.STRUGGLE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.STRUGGLE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.STRUGGLE); + game.move.select(MoveId.STRUGGLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -283,12 +283,12 @@ describe("Abilities - Magic Guard", () => { //This tests different move attributes than the recoil tests above it("Magic Guard prevents self-damage from attacking moves", async () => { - game.override.moveset([Moves.STEEL_BEAM]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.STEEL_BEAM]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.STEEL_BEAM); + game.move.select(MoveId.STEEL_BEAM); await game.phaseInterceptor.to(TurnEndPhase); @@ -301,21 +301,21 @@ describe("Abilities - Magic Guard", () => { /* it("Magic Guard does not prevent self-damage from confusion", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.CHARM); + game.move.select(MoveId.CHARM); await game.phaseInterceptor.to(TurnEndPhase); }); */ it("Magic Guard does not prevent self-damage from non-attacking moves", async () => { - game.override.moveset([Moves.BELLY_DRUM]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.BELLY_DRUM]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.BELLY_DRUM); + game.move.select(MoveId.BELLY_DRUM); await game.phaseInterceptor.to(TurnEndPhase); @@ -330,14 +330,14 @@ describe("Abilities - Magic Guard", () => { //Tests the ability Bad Dreams game.override.statusEffect(StatusEffect.SLEEP); //enemy pokemon is given Spore just in case player pokemon somehow awakens during test - game.override.enemyMoveset([Moves.SPORE, Moves.SPORE, Moves.SPORE, Moves.SPORE]); - game.override.enemyAbility(Abilities.BAD_DREAMS); + game.override.enemyMoveset([MoveId.SPORE, MoveId.SPORE, MoveId.SPORE, MoveId.SPORE]); + game.override.enemyAbility(AbilityId.BAD_DREAMS); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); @@ -352,17 +352,17 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage from abilities with PostFaintContactDamageAbAttr", async () => { //Tests the abilities Innards Out/Aftermath - game.override.moveset([Moves.TACKLE]); - game.override.enemyAbility(Abilities.AFTERMATH); + game.override.moveset([MoveId.TACKLE]); + game.override.enemyAbility(AbilityId.AFTERMATH); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; enemyPokemon.hp = 1; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); /** @@ -376,16 +376,16 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage from abilities with PostDefendContactDamageAbAttr", async () => { //Tests the abilities Iron Barbs/Rough Skin - game.override.moveset([Moves.TACKLE]); - game.override.enemyAbility(Abilities.IRON_BARBS); + game.override.moveset([MoveId.TACKLE]); + game.override.enemyAbility(AbilityId.IRON_BARBS); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); /** @@ -399,16 +399,16 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage from abilities with ReverseDrainAbAttr", async () => { //Tests the ability Liquid Ooze - game.override.moveset([Moves.ABSORB]); - game.override.enemyAbility(Abilities.LIQUID_OOZE); + game.override.moveset([MoveId.ABSORB]); + game.override.enemyAbility(AbilityId.LIQUID_OOZE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ABSORB); + game.move.select(MoveId.ABSORB); await game.phaseInterceptor.to(TurnEndPhase); /** @@ -422,12 +422,12 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents HP loss from abilities with PostWeatherLapseDamageAbAttr", async () => { //Tests the abilities Solar Power/Dry Skin - game.override.passiveAbility(Abilities.SOLAR_POWER); + game.override.passiveAbility(AbilityId.SOLAR_POWER); game.override.weather(WeatherType.SUNNY); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); /** diff --git a/test/abilities/magma_armor.test.ts b/test/abilities/magma_armor.test.ts index c5af522ca6f..74493fac365 100644 --- a/test/abilities/magma_armor.test.ts +++ b/test/abilities/magma_armor.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Magma Armor", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove freeze when gained", async () => { game.override - .ability(Abilities.MAGMA_ARMOR) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.MAGMA_ARMOR) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.FREEZE); expect(enemy?.status?.effect).toBe(StatusEffect.FREEZE); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/mimicry.test.ts b/test/abilities/mimicry.test.ts index de196ffc939..df6facc3755 100644 --- a/test/abilities/mimicry.test.ts +++ b/test/abilities/mimicry.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { PokemonType } from "#enums/pokemon-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,20 +23,20 @@ describe("Abilities - Mimicry", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.MIMICRY) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.MIMICRY) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH); }); it("Mimicry activates after the Pokémon with Mimicry is switched in while terrain is present, or whenever there is a change in terrain", async () => { - game.override.enemyAbility(Abilities.MISTY_SURGE); - await game.classicMode.startBattle([Species.FEEBAS, Species.ABRA]); + game.override.enemyAbility(AbilityId.MISTY_SURGE); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.ABRA]); const [playerPokemon1, playerPokemon2] = game.scene.getPlayerParty(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(playerPokemon1.getTypes().includes(PokemonType.FAIRY)).toBe(true); @@ -48,14 +48,14 @@ describe("Abilities - Mimicry", () => { it("Pokemon should revert back to its original, root type once terrain ends", async () => { game.override - .moveset([Moves.SPLASH, Moves.TRANSFORM]) - .enemyAbility(Abilities.MIMICRY) - .enemyMoveset([Moves.SPLASH, Moves.PSYCHIC_TERRAIN]); - await game.classicMode.startBattle([Species.REGIELEKI]); + .moveset([MoveId.SPLASH, MoveId.TRANSFORM]) + .enemyAbility(AbilityId.MIMICRY) + .enemyMoveset([MoveId.SPLASH, MoveId.PSYCHIC_TERRAIN]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerPokemon(); - game.move.select(Moves.TRANSFORM); - await game.move.selectEnemyMove(Moves.PSYCHIC_TERRAIN); + game.move.select(MoveId.TRANSFORM); + await game.move.selectEnemyMove(MoveId.PSYCHIC_TERRAIN); await game.toNextTurn(); expect(playerPokemon?.getTypes().includes(PokemonType.PSYCHIC)).toBe(true); @@ -63,25 +63,25 @@ describe("Abilities - Mimicry", () => { game.scene.arena.terrain.turnsLeft = 1; } - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(playerPokemon?.getTypes().includes(PokemonType.ELECTRIC)).toBe(true); }); it("If the Pokemon is under the effect of a type-adding move and an equivalent terrain activates, the move's effect disappears", async () => { - game.override.enemyMoveset([Moves.FORESTS_CURSE, Moves.GRASSY_TERRAIN]); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyMoveset([MoveId.FORESTS_CURSE, MoveId.GRASSY_TERRAIN]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerPokemon(); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.FORESTS_CURSE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.FORESTS_CURSE); await game.toNextTurn(); expect(playerPokemon?.summonData.addedType).toBe(PokemonType.GRASS); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.GRASSY_TERRAIN); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.GRASSY_TERRAIN); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon?.summonData.addedType).toBeNull(); diff --git a/test/abilities/mirror_armor.test.ts b/test/abilities/mirror_armor.test.ts index 5f9c63531d4..319e47cbfb3 100644 --- a/test/abilities/mirror_armor.test.ts +++ b/test/abilities/mirror_armor.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,25 +28,25 @@ describe("Ability - Mirror Armor", () => { game.override .battleStyle("single") - .enemySpecies(Species.RATTATA) - .enemyMoveset([Moves.SPLASH, Moves.STICKY_WEB, Moves.TICKLE, Moves.OCTOLOCK]) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset([MoveId.SPLASH, MoveId.STICKY_WEB, MoveId.TICKLE, MoveId.OCTOLOCK]) + .enemyAbility(AbilityId.BALL_FETCH) .startingLevel(2000) - .moveset([Moves.SPLASH, Moves.STICKY_WEB, Moves.TICKLE, Moves.OCTOLOCK]) - .ability(Abilities.BALL_FETCH); + .moveset([MoveId.SPLASH, MoveId.STICKY_WEB, MoveId.TICKLE, MoveId.OCTOLOCK]) + .ability(AbilityId.BALL_FETCH); }); it("Player side + single battle Intimidate - opponent loses stats", async () => { - game.override.ability(Abilities.MIRROR_ARMOR); - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.ability(AbilityId.MIRROR_ARMOR); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Enemy has intimidate, enemy should lose -1 atk - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-1); @@ -54,16 +54,16 @@ describe("Ability - Mirror Armor", () => { }); it("Enemy side + single battle Intimidate - player loses stats", async () => { - game.override.enemyAbility(Abilities.MIRROR_ARMOR); - game.override.ability(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyAbility(AbilityId.MIRROR_ARMOR); + game.override.ability(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Enemy has intimidate, enemy should lose -1 atk - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.toNextTurn(); expect(userPokemon.getStatStage(Stat.ATK)).toBe(-1); @@ -72,18 +72,18 @@ describe("Ability - Mirror Armor", () => { it("Player side + double battle Intimidate - opponents each lose -2 atk", async () => { game.override.battleStyle("double"); - game.override.ability(Abilities.MIRROR_ARMOR); - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); + game.override.ability(AbilityId.MIRROR_ARMOR); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER]); const [enemy1, enemy2] = game.scene.getEnemyField(); const [player1, player2] = game.scene.getPlayerField(); // Enemy has intimidate, enemy should lose -2 atk each - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.toNextTurn(); expect(enemy1.getStatStage(Stat.ATK)).toBe(-2); @@ -94,18 +94,18 @@ describe("Ability - Mirror Armor", () => { it("Enemy side + double battle Intimidate - players each lose -2 atk", async () => { game.override.battleStyle("double"); - game.override.enemyAbility(Abilities.MIRROR_ARMOR); - game.override.ability(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); + game.override.enemyAbility(AbilityId.MIRROR_ARMOR); + game.override.ability(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER]); const [enemy1, enemy2] = game.scene.getEnemyField(); const [player1, player2] = game.scene.getPlayerField(); // Enemy has intimidate, enemy should lose -1 atk - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.toNextTurn(); expect(enemy1.getStatStage(Stat.ATK)).toBe(0); @@ -115,16 +115,16 @@ describe("Ability - Mirror Armor", () => { }); it("Player side + single battle Intimidate + Tickle - opponent loses stats", async () => { - game.override.ability(Abilities.MIRROR_ARMOR); - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.ability(AbilityId.MIRROR_ARMOR); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Enemy has intimidate and uses tickle, enemy receives -2 atk and -1 defense - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.TICKLE, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.TICKLE, BattlerIndex.PLAYER); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(-1); @@ -135,17 +135,17 @@ describe("Ability - Mirror Armor", () => { it("Player side + double battle Intimidate + Tickle - opponents each lose -3 atk, -1 def", async () => { game.override.battleStyle("double"); - game.override.ability(Abilities.MIRROR_ARMOR); - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER]); + game.override.ability(AbilityId.MIRROR_ARMOR); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER]); const [enemy1, enemy2] = game.scene.getEnemyField(); const [player1, player2] = game.scene.getPlayerField(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.TICKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.TICKLE, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.TICKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TICKLE, BattlerIndex.PLAYER_2); await game.toNextTurn(); expect(player1.getStatStage(Stat.ATK)).toBe(0); @@ -159,16 +159,16 @@ describe("Ability - Mirror Armor", () => { }); it("Enemy side + single battle Intimidate + Tickle - player loses stats", async () => { - game.override.enemyAbility(Abilities.MIRROR_ARMOR); - game.override.ability(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyAbility(AbilityId.MIRROR_ARMOR); + game.override.ability(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Enemy has intimidate and uses tickle, enemy receives -2 atk and -1 defense - game.move.select(Moves.TICKLE); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.TICKLE); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.toNextTurn(); expect(userPokemon.getStatStage(Stat.DEF)).toBe(-1); @@ -178,16 +178,16 @@ describe("Ability - Mirror Armor", () => { }); it("Player side + single battle Intimidate + oppoenent has white smoke - no one loses stats", async () => { - game.override.enemyAbility(Abilities.WHITE_SMOKE); - game.override.ability(Abilities.MIRROR_ARMOR); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyAbility(AbilityId.WHITE_SMOKE); + game.override.ability(AbilityId.MIRROR_ARMOR); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Enemy has intimidate and uses tickle, enemy has white smoke, no one loses stats - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.TICKLE, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.TICKLE, BattlerIndex.PLAYER); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(0); @@ -197,16 +197,16 @@ describe("Ability - Mirror Armor", () => { }); it("Enemy side + single battle Intimidate + player has white smoke - no one loses stats", async () => { - game.override.ability(Abilities.WHITE_SMOKE); - game.override.enemyAbility(Abilities.MIRROR_ARMOR); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.ability(AbilityId.WHITE_SMOKE); + game.override.enemyAbility(AbilityId.MIRROR_ARMOR); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Enemy has intimidate and uses tickle, enemy has white smoke, no one loses stats - game.move.select(Moves.TICKLE); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.TICKLE); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(0); @@ -216,15 +216,15 @@ describe("Ability - Mirror Armor", () => { }); it("Player side + single battle + opponent uses octolock - does not interact with mirror armor, player loses stats", async () => { - game.override.ability(Abilities.MIRROR_ARMOR); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.ability(AbilityId.MIRROR_ARMOR); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Enemy uses octolock, player loses stats at end of turn - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.OCTOLOCK, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.OCTOLOCK, BattlerIndex.PLAYER); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(0); @@ -234,15 +234,15 @@ describe("Ability - Mirror Armor", () => { }); it("Enemy side + single battle + player uses octolock - does not interact with mirror armor, opponent loses stats", async () => { - game.override.enemyAbility(Abilities.MIRROR_ARMOR); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyAbility(AbilityId.MIRROR_ARMOR); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; // Player uses octolock, enemy loses stats at end of turn - game.move.select(Moves.OCTOLOCK); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.OCTOLOCK); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.toNextTurn(); expect(userPokemon.getStatStage(Stat.DEF)).toBe(0); @@ -252,16 +252,16 @@ describe("Ability - Mirror Armor", () => { }); it("Both sides have mirror armor - does not loop, player loses attack", async () => { - game.override.enemyAbility(Abilities.MIRROR_ARMOR); - game.override.ability(Abilities.MIRROR_ARMOR); - game.override.ability(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyAbility(AbilityId.MIRROR_ARMOR); + game.override.ability(AbilityId.MIRROR_ARMOR); + game.override.ability(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.toNextTurn(); expect(userPokemon.getStatStage(Stat.ATK)).toBe(-1); @@ -269,18 +269,18 @@ describe("Ability - Mirror Armor", () => { }); it("Single battle + sticky web applied player side - player switches out and enemy should lose -1 speed", async () => { - game.override.ability(Abilities.MIRROR_ARMOR); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + game.override.ability(AbilityId.MIRROR_ARMOR); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); const enemyPokemon = game.scene.getEnemyPokemon()!; const userPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.STICKY_WEB, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.STICKY_WEB, BattlerIndex.PLAYER); await game.toNextTurn(); game.doSwitchPokemon(1); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.toNextTurn(); expect(userPokemon.getStatStage(Stat.SPD)).toBe(0); @@ -289,22 +289,22 @@ describe("Ability - Mirror Armor", () => { it("Double battle + sticky web applied player side - player switches out and enemy 1 should lose -1 speed", async () => { game.override.battleStyle("double"); - game.override.ability(Abilities.MIRROR_ARMOR); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + game.override.ability(AbilityId.MIRROR_ARMOR); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); const [enemy1, enemy2] = game.scene.getEnemyField(); const [player1, player2] = game.scene.getPlayerField(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.STICKY_WEB, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.STICKY_WEB, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.toNextTurn(); game.doSwitchPokemon(2); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.toNextTurn(); expect(enemy1.getStatStage(Stat.SPD)).toBe(-1); diff --git a/test/abilities/mold_breaker.test.ts b/test/abilities/mold_breaker.test.ts index ba33909364f..099fb54c998 100644 --- a/test/abilities/mold_breaker.test.ts +++ b/test/abilities/mold_breaker.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { globalScene } from "#app/global-scene"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,27 +24,27 @@ describe("Abilities - Mold Breaker", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.MOLD_BREAKER) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.MOLD_BREAKER) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should turn off the ignore abilities arena variable after the user's move", async () => { game.override - .enemyMoveset(Moves.SPLASH) - .ability(Abilities.MOLD_BREAKER) - .moveset([Moves.ERUPTION]) + .enemyMoveset(MoveId.SPLASH) + .ability(AbilityId.MOLD_BREAKER) + .moveset([MoveId.ERUPTION]) .startingLevel(100) .enemyLevel(2); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; expect(enemy.isFainted()).toBe(false); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase", true); expect(globalScene.arena.ignoreAbilities).toBe(false); diff --git a/test/abilities/moody.test.ts b/test/abilities/moody.test.ts index 9b658820391..a3e321928b8 100644 --- a/test/abilities/moody.test.ts +++ b/test/abilities/moody.test.ts @@ -1,7 +1,7 @@ import { BATTLE_STATS, EFFECTIVE_STATS } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,18 +25,18 @@ describe("Abilities - Moody", () => { game.override .battleStyle("single") - .enemySpecies(Species.RATTATA) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.MOODY) - .enemyMoveset(Moves.SPLASH) - .moveset(Moves.SPLASH); + .enemySpecies(SpeciesId.RATTATA) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.MOODY) + .enemyMoveset(MoveId.SPLASH) + .moveset(MoveId.SPLASH); }); it("should increase one stat stage by 2 and decrease a different stat stage by 1", async () => { await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Find the increased and decreased stats, make sure they are different. @@ -57,7 +57,7 @@ describe("Abilities - Moody", () => { // Set all stat stages to -6 vi.spyOn(playerPokemon.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(-6)); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Should increase one stat stage by 2 (from -6, meaning it will be -4) @@ -75,7 +75,7 @@ describe("Abilities - Moody", () => { // Set all stat stages to 6 vi.spyOn(playerPokemon.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(6)); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Should decrease one stat stage by 1 (from 6, meaning it will be 5) diff --git a/test/abilities/moxie.test.ts b/test/abilities/moxie.test.ts index d4e1927e077..04ca68325e6 100644 --- a/test/abilities/moxie.test.ts +++ b/test/abilities/moxie.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { BattlerIndex } from "#app/battle"; @@ -26,19 +26,19 @@ describe("Abilities - Moxie", () => { beforeEach(() => { game = new GameManager(phaserGame); - const moveToUse = Moves.AERIAL_ACE; + const moveToUse = MoveId.AERIAL_ACE; game.override.battleStyle("single"); - game.override.enemySpecies(Species.RATTATA); - game.override.enemyAbility(Abilities.MOXIE); - game.override.ability(Abilities.MOXIE); + game.override.enemySpecies(SpeciesId.RATTATA); + game.override.enemyAbility(AbilityId.MOXIE); + game.override.ability(AbilityId.MOXIE); game.override.startingLevel(2000); game.override.moveset([moveToUse]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); }); it("should raise ATK stat stage by 1 when winning a battle", async () => { - const moveToUse = Moves.AERIAL_ACE; - await game.classicMode.startBattle([Species.MIGHTYENA, Species.MIGHTYENA]); + const moveToUse = MoveId.AERIAL_ACE; + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.MIGHTYENA]); const playerPokemon = game.scene.getPlayerPokemon()!; @@ -55,8 +55,8 @@ describe("Abilities - Moxie", () => { "should raise ATK stat stage by 1 when defeating an ally Pokemon", async () => { game.override.battleStyle("double"); - const moveToUse = Moves.AERIAL_ACE; - await game.classicMode.startBattle([Species.MIGHTYENA, Species.MIGHTYENA]); + const moveToUse = MoveId.AERIAL_ACE; + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.MIGHTYENA]); const [firstPokemon, secondPokemon] = game.scene.getPlayerField(); diff --git a/test/abilities/mummy.test.ts b/test/abilities/mummy.test.ts index c53b0b33598..2b35e801677 100644 --- a/test/abilities/mummy.test.ts +++ b/test/abilities/mummy.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -22,31 +22,31 @@ describe("Abilities - Mummy", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.MUMMY) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.MUMMY) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); }); it("should set the enemy's ability to mummy when hit by a contact move", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(Abilities.MUMMY); + expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(AbilityId.MUMMY); }); it("should not change the enemy's ability hit by a non-contact move", async () => { - game.override.enemyMoveset(Moves.EARTHQUAKE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyMoveset(MoveId.EARTHQUAKE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(Abilities.BALL_FETCH); + expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(AbilityId.BALL_FETCH); }); }); diff --git a/test/abilities/mycelium_might.test.ts b/test/abilities/mycelium_might.test.ts index 9c898063201..6e4da4bc933 100644 --- a/test/abilities/mycelium_might.test.ts +++ b/test/abilities/mycelium_might.test.ts @@ -1,10 +1,10 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { TurnStartPhase } from "#app/phases/turn-start-phase"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Stat } from "#enums/stat"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -27,12 +27,12 @@ describe("Abilities - Mycelium Might", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.CLEAR_BODY) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.CLEAR_BODY) - .enemyMoveset(Moves.QUICK_ATTACK) - .ability(Abilities.MYCELIUM_MIGHT) - .moveset([Moves.QUICK_ATTACK, Moves.BABY_DOLL_EYES]); + .enemyMoveset(MoveId.QUICK_ATTACK) + .ability(AbilityId.MYCELIUM_MIGHT) + .moveset([MoveId.QUICK_ATTACK, MoveId.BABY_DOLL_EYES]); }); /** @@ -43,13 +43,13 @@ describe("Abilities - Mycelium Might", () => { **/ it("will move last in its priority bracket and ignore protective abilities", async () => { - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const enemyPokemon = game.scene.getEnemyPokemon(); const playerIndex = game.scene.getPlayerPokemon()?.getBattlerIndex(); const enemyIndex = enemyPokemon?.getBattlerIndex(); - game.move.select(Moves.BABY_DOLL_EYES); + game.move.select(MoveId.BABY_DOLL_EYES); await game.phaseInterceptor.to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; @@ -66,14 +66,14 @@ describe("Abilities - Mycelium Might", () => { }, 20000); it("will still go first if a status move that is in a higher priority bracket than the opponent's move is used", async () => { - game.override.enemyMoveset(Moves.TACKLE); - await game.classicMode.startBattle([Species.REGIELEKI]); + game.override.enemyMoveset(MoveId.TACKLE); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const enemyPokemon = game.scene.getEnemyPokemon(); const playerIndex = game.scene.getPlayerPokemon()?.getBattlerIndex(); const enemyIndex = enemyPokemon?.getBattlerIndex(); - game.move.select(Moves.BABY_DOLL_EYES); + game.move.select(MoveId.BABY_DOLL_EYES); await game.phaseInterceptor.to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; @@ -89,12 +89,12 @@ describe("Abilities - Mycelium Might", () => { }, 20000); it("will not affect non-status moves", async () => { - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); - game.move.select(Moves.QUICK_ATTACK); + game.move.select(MoveId.QUICK_ATTACK); await game.phaseInterceptor.to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; diff --git a/test/abilities/neutralizing_gas.test.ts b/test/abilities/neutralizing_gas.test.ts index cf19f36c9d0..7c78cc9db64 100644 --- a/test/abilities/neutralizing_gas.test.ts +++ b/test/abilities/neutralizing_gas.test.ts @@ -2,11 +2,11 @@ import { BattlerIndex } from "#app/battle"; import type { CommandPhase } from "#app/phases/command-phase"; import { Command } from "#app/ui/command-ui-handler"; import { PostSummonWeatherChangeAbAttr } from "#app/data/abilities/ability"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { PokeballType } from "#enums/pokeball"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -29,20 +29,20 @@ describe("Abilities - Neutralizing Gas", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.NEUTRALIZING_GAS) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.NEUTRALIZING_GAS) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should prevent other abilities from activating", async () => { - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); // Intimidate is suppressed, so the attack stat should not be lowered @@ -50,21 +50,21 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should allow the user's passive to activate", async () => { - game.override.passiveAbility(Abilities.INTREPID_SWORD); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.passiveAbility(AbilityId.INTREPID_SWORD); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.ATK)).toBe(1); }); it.todo("should activate before other abilities", async () => { - game.override.enemySpecies(Species.ACCELGOR).enemyLevel(100).enemyAbility(Abilities.INTIMIDATE); + game.override.enemySpecies(SpeciesId.ACCELGOR).enemyLevel(100).enemyAbility(AbilityId.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); // Intimidate is suppressed even when the user's speed is lower @@ -73,17 +73,17 @@ describe("Abilities - Neutralizing Gas", () => { it("should activate other abilities when removed", async () => { game.override - .enemyAbility(Abilities.INTREPID_SWORD) - .enemyPassiveAbility(Abilities.DAUNTLESS_SHIELD) - .enemyMoveset(Moves.ENTRAINMENT); + .enemyAbility(AbilityId.INTREPID_SWORD) + .enemyPassiveAbility(AbilityId.DAUNTLESS_SHIELD) + .enemyMoveset(MoveId.ENTRAINMENT); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemyPokemon = game.scene.getEnemyPokemon(); expect(enemyPokemon?.getStatStage(Stat.ATK)).toBe(0); expect(enemyPokemon?.getStatStage(Stat.DEF)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); // Enemy removes user's ability, so both abilities are activated expect(enemyPokemon?.getStatStage(Stat.ATK)).toBe(1); @@ -91,56 +91,56 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should not activate the user's other ability when removed", async () => { - game.override.passiveAbility(Abilities.INTIMIDATE).enemyMoveset(Moves.ENTRAINMENT); + game.override.passiveAbility(AbilityId.INTIMIDATE).enemyMoveset(MoveId.ENTRAINMENT); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); // Neutralising gas user's passive is still active const enemyPokemon = game.scene.getEnemyPokemon(); expect(enemyPokemon?.getStatStage(Stat.ATK)).toBe(-1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); // Intimidate did not reactivate after neutralizing gas was removed expect(enemyPokemon?.getStatStage(Stat.ATK)).toBe(-1); }); it("should only deactivate when all setters are off the field", async () => { - game.override.enemyMoveset([Moves.ENTRAINMENT, Moves.SPLASH]).battleStyle("double"); + game.override.enemyMoveset([MoveId.ENTRAINMENT, MoveId.SPLASH]).battleStyle("double"); - await game.classicMode.startBattle([Species.ACCELGOR, Species.ACCELGOR]); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.ENTRAINMENT, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.classicMode.startBattle([SpeciesId.ACCELGOR, SpeciesId.ACCELGOR]); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.ENTRAINMENT, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeDefined(); // Now one neut gas user is left - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.ENTRAINMENT, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.ENTRAINMENT, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeUndefined(); // No neut gas users are left }); it("should deactivate when suppressed by gastro acid", async () => { - game.override.enemyMoveset(Moves.GASTRO_ACID); + game.override.enemyMoveset(MoveId.GASTRO_ACID); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeUndefined(); }); it("should deactivate when the pokemon faints", async () => { - game.override.ability(Abilities.BALL_FETCH).enemyAbility(Abilities.NEUTRALIZING_GAS); + game.override.ability(AbilityId.BALL_FETCH).enemyAbility(AbilityId.NEUTRALIZING_GAS); - await game.classicMode.startBattle([Species.FEEBAS]); - game.move.select(Moves.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); + game.move.select(MoveId.SPLASH); expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeDefined(); await game.doKillOpponents(); @@ -148,8 +148,8 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should deactivate upon catching a wild pokemon", async () => { - game.override.battleStyle("single").enemyAbility(Abilities.NEUTRALIZING_GAS).ability(Abilities.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.battleStyle("single").enemyAbility(AbilityId.NEUTRALIZING_GAS).ability(AbilityId.BALL_FETCH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeDefined(); game.scene.pokeballCounts[PokeballType.MASTER_BALL] = 1; @@ -160,8 +160,8 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should deactivate after fleeing from a wild pokemon", async () => { - game.override.enemyAbility(Abilities.NEUTRALIZING_GAS).ability(Abilities.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.enemyAbility(AbilityId.NEUTRALIZING_GAS).ability(AbilityId.BALL_FETCH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeDefined(); vi.spyOn(game.scene.getPlayerPokemon()!, "randBattleSeedInt").mockReturnValue(0); @@ -174,8 +174,8 @@ describe("Abilities - Neutralizing Gas", () => { }); it("should not activate abilities of pokemon no longer on the field", async () => { - game.override.battleStyle("single").ability(Abilities.NEUTRALIZING_GAS).enemyAbility(Abilities.DELTA_STREAM); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.battleStyle("single").ability(AbilityId.NEUTRALIZING_GAS).enemyAbility(AbilityId.DELTA_STREAM); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; const weatherChangeAttr = enemy.getAbilityAttrs(PostSummonWeatherChangeAbAttr, false)[0]; @@ -183,7 +183,7 @@ describe("Abilities - Neutralizing Gas", () => { expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeDefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.killPokemon(enemy); await game.killPokemon(game.scene.getPlayerPokemon()!); diff --git a/test/abilities/no_guard.test.ts b/test/abilities/no_guard.test.ts index a09e16388ee..1cb5945e9ff 100644 --- a/test/abilities/no_guard.test.ts +++ b/test/abilities/no_guard.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { HitCheckResult } from "#enums/hit-check-result"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -26,20 +26,20 @@ describe("Abilities - No Guard", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.ZAP_CANNON) - .ability(Abilities.NO_GUARD) + .moveset(MoveId.ZAP_CANNON) + .ability(AbilityId.NO_GUARD) .enemyLevel(200) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should make moves always hit regardless of move accuracy", async () => { game.override.battleStyle("single"); - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); - game.move.select(Moves.ZAP_CANNON); + game.move.select(MoveId.ZAP_CANNON); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); diff --git a/test/abilities/normal-move-type-change.test.ts b/test/abilities/normal-move-type-change.test.ts index 88a7b49e26b..578a6ad2a21 100644 --- a/test/abilities/normal-move-type-change.test.ts +++ b/test/abilities/normal-move-type-change.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,10 +24,10 @@ import { toDmgValue } from "#app/utils/common"; */ describe.each([ - { ab: Abilities.GALVANIZE, ab_name: "Galvanize", ty: PokemonType.ELECTRIC, tyName: "electric" }, - { ab: Abilities.PIXILATE, ab_name: "Pixilate", ty: PokemonType.FAIRY, tyName: "fairy" }, - { ab: Abilities.REFRIGERATE, ab_name: "Refrigerate", ty: PokemonType.ICE, tyName: "ice" }, - { ab: Abilities.AERILATE, ab_name: "Aerilate", ty: PokemonType.FLYING, tyName: "flying" }, + { ab: AbilityId.GALVANIZE, ab_name: "Galvanize", ty: PokemonType.ELECTRIC, tyName: "electric" }, + { ab: AbilityId.PIXILATE, ab_name: "Pixilate", ty: PokemonType.FAIRY, tyName: "fairy" }, + { ab: AbilityId.REFRIGERATE, ab_name: "Refrigerate", ty: PokemonType.ICE, tyName: "ice" }, + { ab: AbilityId.AERILATE, ab_name: "Aerilate", ty: PokemonType.FLYING, tyName: "flying" }, ])("Abilities - $ab_name", ({ ab, ty, tyName }) => { let phaserGame: Phaser.Game; let game: GameManager; @@ -48,12 +48,12 @@ describe.each([ game.override .battleStyle("single") .startingLevel(100) - .starterSpecies(Species.MAGIKARP) + .starterSpecies(SpeciesId.MAGIKARP) .ability(ab) - .moveset([Moves.TACKLE, Moves.REVELATION_DANCE, Moves.FURY_SWIPES]) - .enemySpecies(Species.DUSCLOPS) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.TACKLE, MoveId.REVELATION_DANCE, MoveId.FURY_SWIPES]) + .enemySpecies(SpeciesId.DUSCLOPS) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(100); }); @@ -65,9 +65,9 @@ describe.each([ const enemyPokemon = game.scene.getEnemyPokemon()!; const enemySpy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); - const powerSpy = vi.spyOn(allMoves[Moves.TACKLE], "calculateBattlePower"); + const powerSpy = vi.spyOn(allMoves[MoveId.TACKLE], "calculateBattlePower"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); @@ -78,9 +78,9 @@ describe.each([ }); // Galvanize specifically would like to check for volt absorb's activation - if (ab === Abilities.GALVANIZE) { + if (ab === AbilityId.GALVANIZE) { it("should cause Normal-type attacks to activate Volt Absorb", async () => { - game.override.enemyAbility(Abilities.VOLT_ABSORB); + game.override.enemyAbility(AbilityId.VOLT_ABSORB); await game.classicMode.startBattle(); @@ -92,7 +92,7 @@ describe.each([ enemyPokemon.hp = Math.floor(enemyPokemon.getMaxHp() * 0.8); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); @@ -103,20 +103,20 @@ describe.each([ } it.each([ - { moveName: "Revelation Dance", move: Moves.REVELATION_DANCE, expected_ty: PokemonType.WATER }, - { moveName: "Judgement", move: Moves.JUDGMENT, expected_ty: PokemonType.NORMAL }, - { moveName: "Terrain Pulse", move: Moves.TERRAIN_PULSE, expected_ty: PokemonType.NORMAL }, - { moveName: "Weather Ball", move: Moves.WEATHER_BALL, expected_ty: PokemonType.NORMAL }, - { moveName: "Multi Attack", move: Moves.MULTI_ATTACK, expected_ty: PokemonType.NORMAL }, - { moveName: "Techno Blast", move: Moves.TECHNO_BLAST, expected_ty: PokemonType.NORMAL }, + { moveName: "Revelation Dance", move: MoveId.REVELATION_DANCE, expected_ty: PokemonType.WATER }, + { moveName: "Judgement", move: MoveId.JUDGMENT, expected_ty: PokemonType.NORMAL }, + { moveName: "Terrain Pulse", move: MoveId.TERRAIN_PULSE, expected_ty: PokemonType.NORMAL }, + { moveName: "Weather Ball", move: MoveId.WEATHER_BALL, expected_ty: PokemonType.NORMAL }, + { moveName: "Multi Attack", move: MoveId.MULTI_ATTACK, expected_ty: PokemonType.NORMAL }, + { moveName: "Techno Blast", move: MoveId.TECHNO_BLAST, expected_ty: PokemonType.NORMAL }, ])("should not change the type of $moveName", async ({ move, expected_ty: expectedTy }) => { game.override - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) .moveset([move]) - .starterSpecies(Species.MAGIKARP); + .starterSpecies(SpeciesId.MAGIKARP); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const tySpy = vi.spyOn(playerPokemon, "getMoveType"); @@ -135,7 +135,7 @@ describe.each([ const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FURY_SWIPES); + game.move.select(MoveId.FURY_SWIPES); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); @@ -156,7 +156,7 @@ describe.each([ game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.NORMAL }]); await game.classicMode.startBattle(); - const testMoveInstance = allMoves[Moves.TACKLE]; + const testMoveInstance = allMoves[MoveId.TACKLE]; // get the power boost from the ability so we can compare it to the item // @ts-expect-error power multiplier is private @@ -165,7 +165,7 @@ describe.each([ const powerSpy = vi.spyOn(testMoveInstance, "calculateBattlePower"); const typeSpy = vi.spyOn(game.scene.getPlayerPokemon()!, "getMoveType"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); expect(typeSpy, "type was not changed").toHaveLastReturnedWith(ty); expect(powerSpy).toHaveLastReturnedWith(toDmgValue(testMoveInstance.power * boost)); @@ -180,10 +180,10 @@ describe.each([ const boost = allAbilities[ab]?.getAttrs(MoveTypeChangeAbAttr)[0]?.powerMultiplier; expect(boost, "power boost should be defined").toBeDefined(); - const tackle = allMoves[Moves.TACKLE]; + const tackle = allMoves[MoveId.TACKLE]; const spy = vi.spyOn(tackle, "calculateBattlePower"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); expect(spy).toHaveLastReturnedWith(toDmgValue(tackle.power * boost * (1 + TYPE_BOOST_ITEM_BOOST_PERCENT / 100))); }); diff --git a/test/abilities/normalize.test.ts b/test/abilities/normalize.test.ts index a299294f543..821ce9589a1 100644 --- a/test/abilities/normalize.test.ts +++ b/test/abilities/normalize.test.ts @@ -1,10 +1,10 @@ import { TYPE_BOOST_ITEM_BOOST_PERCENT } from "#app/constants"; import { allMoves } from "#app/data/data-lists"; import { toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { PokemonType } from "#enums/pokemon-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -26,63 +26,63 @@ describe("Abilities - Normalize", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.TACKLE]) - .ability(Abilities.NORMALIZE) + .moveset([MoveId.TACKLE]) + .ability(AbilityId.NORMALIZE) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should boost the power of normal type moves by 20%", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); - const powerSpy = vi.spyOn(allMoves[Moves.TACKLE], "calculateBattlePower"); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + const powerSpy = vi.spyOn(allMoves[MoveId.TACKLE], "calculateBattlePower"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase"); - expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[Moves.TACKLE].power * 1.2)); + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[MoveId.TACKLE].power * 1.2)); }); it("should not apply the old type boost item after changing a move's type", async () => { game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.GRASS }]); - game.override.moveset([Moves.LEAFAGE]); + game.override.moveset([MoveId.LEAFAGE]); - const powerSpy = vi.spyOn(allMoves[Moves.LEAFAGE], "calculateBattlePower"); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.move.select(Moves.LEAFAGE); + const powerSpy = vi.spyOn(allMoves[MoveId.LEAFAGE], "calculateBattlePower"); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.move.select(MoveId.LEAFAGE); await game.phaseInterceptor.to("BerryPhase"); // It should return with 1.2 (that is, only the power boost from the ability) - expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[Moves.LEAFAGE].power * 1.2)); + expect(powerSpy).toHaveLastReturnedWith(toDmgValue(allMoves[MoveId.LEAFAGE].power * 1.2)); }); it("should apply silk scarf's power boost after changing a move's type", async () => { game.override.startingHeldItems([{ name: "ATTACK_TYPE_BOOSTER", count: 1, type: PokemonType.NORMAL }]); - game.override.moveset([Moves.LEAFAGE]); + game.override.moveset([MoveId.LEAFAGE]); - const powerSpy = vi.spyOn(allMoves[Moves.LEAFAGE], "calculateBattlePower"); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.move.select(Moves.LEAFAGE); + const powerSpy = vi.spyOn(allMoves[MoveId.LEAFAGE], "calculateBattlePower"); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.move.select(MoveId.LEAFAGE); await game.phaseInterceptor.to("BerryPhase"); // 1.2 from normalize boost, second 1.2 from expect(powerSpy).toHaveLastReturnedWith( - toDmgValue(allMoves[Moves.LEAFAGE].power * 1.2 * (1 + TYPE_BOOST_ITEM_BOOST_PERCENT / 100)), + toDmgValue(allMoves[MoveId.LEAFAGE].power * 1.2 * (1 + TYPE_BOOST_ITEM_BOOST_PERCENT / 100)), ); }); it.each([ - { moveName: "Revelation Dance", move: Moves.REVELATION_DANCE }, - { moveName: "Judgement", move: Moves.JUDGMENT, expected_ty: PokemonType.NORMAL }, - { moveName: "Terrain Pulse", move: Moves.TERRAIN_PULSE }, - { moveName: "Weather Ball", move: Moves.WEATHER_BALL }, - { moveName: "Multi Attack", move: Moves.MULTI_ATTACK }, - { moveName: "Techno Blast", move: Moves.TECHNO_BLAST }, - { moveName: "Hidden Power", move: Moves.HIDDEN_POWER }, + { moveName: "Revelation Dance", move: MoveId.REVELATION_DANCE }, + { moveName: "Judgement", move: MoveId.JUDGMENT, expected_ty: PokemonType.NORMAL }, + { moveName: "Terrain Pulse", move: MoveId.TERRAIN_PULSE }, + { moveName: "Weather Ball", move: MoveId.WEATHER_BALL }, + { moveName: "Multi Attack", move: MoveId.MULTI_ATTACK }, + { moveName: "Techno Blast", move: MoveId.TECHNO_BLAST }, + { moveName: "Hidden Power", move: MoveId.HIDDEN_POWER }, ])("should not boost the power of $moveName", async ({ move }) => { game.override.moveset([move]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const powerSpy = vi.spyOn(allMoves[move], "calculateBattlePower"); game.move.select(move); diff --git a/test/abilities/oblivious.test.ts b/test/abilities/oblivious.test.ts index a86899ec9c6..e340d3c867d 100644 --- a/test/abilities/oblivious.test.ts +++ b/test/abilities/oblivious.test.ts @@ -1,7 +1,7 @@ -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -23,27 +23,27 @@ describe("Abilities - Oblivious", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove taunt when gained", async () => { game.override - .ability(Abilities.OBLIVIOUS) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.OBLIVIOUS) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.addTag(BattlerTagType.TAUNT); expect(enemy?.getTag(BattlerTagType.TAUNT)).toBeTruthy(); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.getTag(BattlerTagType.TAUNT)).toBeFalsy(); @@ -51,17 +51,17 @@ describe("Abilities - Oblivious", () => { it("should remove infatuation when gained", async () => { game.override - .ability(Abilities.OBLIVIOUS) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.OBLIVIOUS) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); vi.spyOn(enemy!, "isOppositeGender").mockReturnValue(true); - enemy?.addTag(BattlerTagType.INFATUATED, 5, Moves.JUDGMENT, game.scene.getPlayerPokemon()?.id); // sourceID needs to be defined + enemy?.addTag(BattlerTagType.INFATUATED, 5, MoveId.JUDGMENT, game.scene.getPlayerPokemon()?.id); // sourceID needs to be defined expect(enemy?.getTag(BattlerTagType.INFATUATED)).toBeTruthy(); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.getTag(BattlerTagType.INFATUATED)).toBeFalsy(); diff --git a/test/abilities/own_tempo.test.ts b/test/abilities/own_tempo.test.ts index b2f2c2f3030..1d6d8aa76e5 100644 --- a/test/abilities/own_tempo.test.ts +++ b/test/abilities/own_tempo.test.ts @@ -1,7 +1,7 @@ -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,27 +23,27 @@ describe("Abilities - Own Tempo", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove confusion when gained", async () => { game.override - .ability(Abilities.OWN_TEMPO) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.OWN_TEMPO) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.addTag(BattlerTagType.CONFUSED); expect(enemy?.getTag(BattlerTagType.CONFUSED)).toBeTruthy(); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.getTag(BattlerTagType.CONFUSED)).toBeFalsy(); diff --git a/test/abilities/parental_bond.test.ts b/test/abilities/parental_bond.test.ts index a75fea82830..73efd0f57e2 100644 --- a/test/abilities/parental_bond.test.ts +++ b/test/abilities/parental_bond.test.ts @@ -1,9 +1,9 @@ import { PokemonType } from "#enums/pokemon-type"; import { BattlerTagType } from "#enums/battler-tag-type"; import { toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; @@ -28,25 +28,25 @@ describe("Abilities - Parental Bond", () => { game = new GameManager(phaserGame); game.override.battleStyle("single"); game.override.disableCrits(); - game.override.ability(Abilities.PARENTAL_BOND); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyAbility(Abilities.FUR_COAT); - game.override.enemyMoveset(Moves.SPLASH); + game.override.ability(AbilityId.PARENTAL_BOND); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyAbility(AbilityId.FUR_COAT); + game.override.enemyMoveset(MoveId.SPLASH); game.override.startingLevel(100); game.override.enemyLevel(100); }); it("should add second strike to attack move", async () => { - game.override.moveset([Moves.TACKLE]); + game.override.moveset([MoveId.TACKLE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; let enemyStartingHp = enemyPokemon.hp; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("DamageAnimPhase"); const firstStrikeDamage = enemyStartingHp - enemyPokemon.hp; @@ -61,14 +61,14 @@ describe("Abilities - Parental Bond", () => { }); it("should apply secondary effects to both strikes", async () => { - game.override.moveset([Moves.POWER_UP_PUNCH]); - game.override.enemySpecies(Species.AMOONGUSS); + game.override.moveset([MoveId.POWER_UP_PUNCH]); + game.override.enemySpecies(SpeciesId.AMOONGUSS); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.POWER_UP_PUNCH); + game.move.select(MoveId.POWER_UP_PUNCH); await game.phaseInterceptor.to("BerryPhase", false); @@ -77,13 +77,13 @@ describe("Abilities - Parental Bond", () => { }); it("should not apply to Status moves", async () => { - game.override.moveset([Moves.BABY_DOLL_EYES]); + game.override.moveset([MoveId.BABY_DOLL_EYES]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BABY_DOLL_EYES); + game.move.select(MoveId.BABY_DOLL_EYES); await game.phaseInterceptor.to("BerryPhase", false); @@ -91,13 +91,13 @@ describe("Abilities - Parental Bond", () => { }); it("should not apply to multi-hit moves", async () => { - game.override.moveset([Moves.DOUBLE_HIT]); + game.override.moveset([MoveId.DOUBLE_HIT]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.DOUBLE_HIT); + game.move.select(MoveId.DOUBLE_HIT); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase", false); @@ -106,13 +106,13 @@ describe("Abilities - Parental Bond", () => { }); it("should not apply to self-sacrifice moves", async () => { - game.override.moveset([Moves.SELF_DESTRUCT]); + game.override.moveset([MoveId.SELF_DESTRUCT]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SELF_DESTRUCT); + game.move.select(MoveId.SELF_DESTRUCT); await game.phaseInterceptor.to("DamageAnimPhase", false); @@ -120,13 +120,13 @@ describe("Abilities - Parental Bond", () => { }); it("should not apply to Rollout", async () => { - game.override.moveset([Moves.ROLLOUT]); + game.override.moveset([MoveId.ROLLOUT]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.ROLLOUT); + game.move.select(MoveId.ROLLOUT); await game.move.forceHit(); await game.phaseInterceptor.to("DamageAnimPhase", false); @@ -135,28 +135,28 @@ describe("Abilities - Parental Bond", () => { }); it("should not apply multiplier to fixed-damage moves", async () => { - game.override.moveset([Moves.DRAGON_RAGE]); + game.override.moveset([MoveId.DRAGON_RAGE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DRAGON_RAGE); + game.move.select(MoveId.DRAGON_RAGE); await game.phaseInterceptor.to("BerryPhase", false); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp() - 80); }); it("should not apply multiplier to counter moves", async () => { - game.override.moveset([Moves.COUNTER]); - game.override.enemyMoveset([Moves.TACKLE]); + game.override.moveset([MoveId.COUNTER]); + game.override.enemyMoveset([MoveId.TACKLE]); - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.COUNTER); + game.move.select(MoveId.COUNTER); await game.phaseInterceptor.to("DamageAnimPhase"); const playerDamage = leadPokemon.getMaxHp() - leadPokemon.hp; @@ -168,15 +168,15 @@ describe("Abilities - Parental Bond", () => { it("should not apply to multi-target moves", async () => { game.override.battleStyle("double"); - game.override.moveset([Moves.EARTHQUAKE]); - game.override.passiveAbility(Abilities.LEVITATE); + game.override.moveset([MoveId.EARTHQUAKE]); + game.override.passiveAbility(AbilityId.LEVITATE); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.EARTHQUAKE); - game.move.select(Moves.EARTHQUAKE, 1); + game.move.select(MoveId.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE, 1); await game.phaseInterceptor.to("BerryPhase", false); @@ -184,26 +184,26 @@ describe("Abilities - Parental Bond", () => { }); it("should apply to multi-target moves when hitting only one target", async () => { - game.override.moveset([Moves.EARTHQUAKE]); + game.override.moveset([MoveId.EARTHQUAKE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE); await game.phaseInterceptor.to("DamageAnimPhase", false); expect(leadPokemon.turnData.hitCount).toBe(2); }); it("should only trigger post-target move effects once", async () => { - game.override.moveset([Moves.MIND_BLOWN]); + game.override.moveset([MoveId.MIND_BLOWN]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.MIND_BLOWN); + game.move.select(MoveId.MIND_BLOWN); await game.phaseInterceptor.to("DamageAnimPhase", false); @@ -216,14 +216,14 @@ describe("Abilities - Parental Bond", () => { }); it("Burn Up only removes type after the second strike", async () => { - game.override.moveset([Moves.BURN_UP]); + game.override.moveset([MoveId.BURN_UP]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BURN_UP); + game.move.select(MoveId.BURN_UP); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -237,14 +237,14 @@ describe("Abilities - Parental Bond", () => { }); it("Moves boosted by this ability and Multi-Lens should strike 3 times", async () => { - game.override.moveset([Moves.TACKLE]); + game.override.moveset([MoveId.TACKLE]); game.override.startingHeldItems([{ name: "MULTI_LENS", count: 1 }]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -252,17 +252,17 @@ describe("Abilities - Parental Bond", () => { }); it("Seismic Toss boosted by this ability and Multi-Lens should strike 3 times", async () => { - game.override.moveset([Moves.SEISMIC_TOSS]); + game.override.moveset([MoveId.SEISMIC_TOSS]); game.override.startingHeldItems([{ name: "MULTI_LENS", count: 1 }]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyStartingHp = enemyPokemon.hp; - game.move.select(Moves.SEISMIC_TOSS); + game.move.select(MoveId.SEISMIC_TOSS); await game.move.forceHit(); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -275,13 +275,13 @@ describe("Abilities - Parental Bond", () => { }); it("Hyper Beam boosted by this ability should strike twice, then recharge", async () => { - game.override.moveset([Moves.HYPER_BEAM]); + game.override.moveset([MoveId.HYPER_BEAM]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.HYPER_BEAM); + game.move.select(MoveId.HYPER_BEAM); await game.move.forceHit(); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -295,14 +295,14 @@ describe("Abilities - Parental Bond", () => { }); it("Anchor Shot boosted by this ability should only trap the target after the second hit", async () => { - game.override.moveset([Moves.ANCHOR_SHOT]); + game.override.moveset([MoveId.ANCHOR_SHOT]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ANCHOR_SHOT); + game.move.select(MoveId.ANCHOR_SHOT); await game.move.forceHit(); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -319,14 +319,14 @@ describe("Abilities - Parental Bond", () => { }); it("Smack Down boosted by this ability should only ground the target after the second hit", async () => { - game.override.moveset([Moves.SMACK_DOWN]); + game.override.moveset([MoveId.SMACK_DOWN]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SMACK_DOWN); + game.move.select(MoveId.SMACK_DOWN); await game.move.forceHit(); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -340,13 +340,13 @@ describe("Abilities - Parental Bond", () => { }); it("U-turn boosted by this ability should strike twice before forcing a switch", async () => { - game.override.moveset([Moves.U_TURN]); + game.override.moveset([MoveId.U_TURN]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); await game.move.forceHit(); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -357,14 +357,14 @@ describe("Abilities - Parental Bond", () => { }); it("Wake-Up Slap boosted by this ability should only wake up the target after the second hit", async () => { - game.override.moveset([Moves.WAKE_UP_SLAP]).enemyStatusEffect(StatusEffect.SLEEP); + game.override.moveset([MoveId.WAKE_UP_SLAP]).enemyStatusEffect(StatusEffect.SLEEP); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.WAKE_UP_SLAP); + game.move.select(MoveId.WAKE_UP_SLAP); await game.move.forceHit(); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -378,14 +378,14 @@ describe("Abilities - Parental Bond", () => { }); it("should not cause user to hit into King's Shield more than once", async () => { - game.override.moveset([Moves.TACKLE]); - game.override.enemyMoveset([Moves.KINGS_SHIELD]); + game.override.moveset([MoveId.TACKLE]); + game.override.enemyMoveset([MoveId.KINGS_SHIELD]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); @@ -393,14 +393,14 @@ describe("Abilities - Parental Bond", () => { }); it("should not cause user to hit into Storm Drain more than once", async () => { - game.override.moveset([Moves.WATER_GUN]); - game.override.enemyAbility(Abilities.STORM_DRAIN); + game.override.moveset([MoveId.WATER_GUN]); + game.override.enemyAbility(AbilityId.STORM_DRAIN); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.WATER_GUN); + game.move.select(MoveId.WATER_GUN); await game.phaseInterceptor.to("BerryPhase", false); @@ -408,13 +408,13 @@ describe("Abilities - Parental Bond", () => { }); it("should not allow Future Sight to hit infinitely many times if the user switches out", async () => { - game.override.enemyLevel(1000).moveset(Moves.FUTURE_SIGHT); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + game.override.enemyLevel(1000).moveset(MoveId.FUTURE_SIGHT); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(enemyPokemon, "damageAndUpdate"); - game.move.select(Moves.FUTURE_SIGHT); + game.move.select(MoveId.FUTURE_SIGHT); await game.toNextTurn(); game.doSwitchPokemon(1); diff --git a/test/abilities/pastel_veil.test.ts b/test/abilities/pastel_veil.test.ts index 21da1d1353d..8a3aec918d0 100644 --- a/test/abilities/pastel_veil.test.ts +++ b/test/abilities/pastel_veil.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { CommandPhase } from "#app/phases/command-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -27,22 +27,22 @@ describe("Abilities - Pastel Veil", () => { game = new GameManager(phaserGame); game.override .battleStyle("double") - .moveset([Moves.TOXIC_THREAD, Moves.SPLASH]) - .enemyAbility(Abilities.BALL_FETCH) - .enemySpecies(Species.SUNKERN) - .enemyMoveset(Moves.SPLASH); + .moveset([MoveId.TOXIC_THREAD, MoveId.SPLASH]) + .enemyAbility(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.SUNKERN) + .enemyMoveset(MoveId.SPLASH); }); it("prevents the user and its allies from being afflicted by poison", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.GALAR_PONYTA]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.GALAR_PONYTA]); const ponyta = game.scene.getPlayerField()[1]; const magikarp = game.scene.getPlayerField()[0]; ponyta.abilityIndex = 1; - expect(ponyta.hasAbility(Abilities.PASTEL_VEIL)).toBe(true); + expect(ponyta.hasAbility(AbilityId.PASTEL_VEIL)).toBe(true); - game.move.select(Moves.SPLASH); - game.move.select(Moves.TOXIC_THREAD, 1, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.TOXIC_THREAD, 1, BattlerIndex.PLAYER); await game.phaseInterceptor.to(TurnEndPhase); @@ -50,21 +50,21 @@ describe("Abilities - Pastel Veil", () => { }); it("it heals the poisoned status condition of allies if user is sent out into battle", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS, Species.GALAR_PONYTA]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS, SpeciesId.GALAR_PONYTA]); const ponyta = game.scene.getPlayerParty()[2]; const magikarp = game.scene.getPlayerField()[0]; ponyta.abilityIndex = 1; - expect(ponyta.hasAbility(Abilities.PASTEL_VEIL)).toBe(true); + expect(ponyta.hasAbility(AbilityId.PASTEL_VEIL)).toBe(true); - game.move.select(Moves.SPLASH); - game.move.select(Moves.TOXIC_THREAD, 1, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.TOXIC_THREAD, 1, BattlerIndex.PLAYER); await game.phaseInterceptor.to(TurnEndPhase); expect(magikarp.status?.effect).toBe(StatusEffect.POISON); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(2); await game.phaseInterceptor.to(TurnEndPhase); diff --git a/test/abilities/perish_body.test.ts b/test/abilities/perish_body.test.ts index 140e087843c..9668bf349a8 100644 --- a/test/abilities/perish_body.test.ts +++ b/test/abilities/perish_body.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,21 +24,21 @@ describe("Abilities - Perish Song", () => { game.override.battleStyle("single"); game.override.disableCrits(); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.BALL_FETCH); - game.override.starterSpecies(Species.CURSOLA); - game.override.ability(Abilities.PERISH_BODY); - game.override.moveset([Moves.SPLASH]); + game.override.starterSpecies(SpeciesId.CURSOLA); + game.override.ability(AbilityId.PERISH_BODY); + game.override.moveset([MoveId.SPLASH]); }); it("should trigger when hit with damaging move", async () => { - game.override.enemyMoveset([Moves.AQUA_JET]); + game.override.enemyMoveset([MoveId.AQUA_JET]); await game.classicMode.startBattle(); const cursola = game.scene.getPlayerPokemon(); const magikarp = game.scene.getEnemyPokemon(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(cursola?.summonData.tags[0].turnCount).toBe(3); @@ -46,11 +46,11 @@ describe("Abilities - Perish Song", () => { }); it("should trigger even when fainting", async () => { - game.override.enemyMoveset([Moves.AQUA_JET]).enemyLevel(100).startingLevel(1); - await game.classicMode.startBattle([Species.CURSOLA, Species.FEEBAS]); + game.override.enemyMoveset([MoveId.AQUA_JET]).enemyLevel(100).startingLevel(1); + await game.classicMode.startBattle([SpeciesId.CURSOLA, SpeciesId.FEEBAS]); const magikarp = game.scene.getEnemyPokemon(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -58,28 +58,28 @@ describe("Abilities - Perish Song", () => { }); it("should not activate if attacker already has perish song", async () => { - game.override.enemyMoveset([Moves.PERISH_SONG, Moves.AQUA_JET, Moves.SPLASH]); - await game.classicMode.startBattle([Species.FEEBAS, Species.CURSOLA]); + game.override.enemyMoveset([MoveId.PERISH_SONG, MoveId.AQUA_JET, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.CURSOLA]); const feebas = game.scene.getPlayerPokemon(); const magikarp = game.scene.getEnemyPokemon(); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.PERISH_SONG); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.PERISH_SONG); await game.toNextTurn(); expect(feebas?.summonData.tags[0].turnCount).toBe(3); expect(magikarp?.summonData.tags[0].turnCount).toBe(3); game.doSwitchPokemon(1); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const cursola = game.scene.getPlayerPokemon(); expect(cursola?.summonData.tags.length).toBe(0); expect(magikarp?.summonData.tags[0].turnCount).toBe(2); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.AQUA_JET); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.AQUA_JET); await game.toNextTurn(); expect(cursola?.summonData.tags.length).toBe(0); @@ -87,22 +87,22 @@ describe("Abilities - Perish Song", () => { }); it("should activate if cursola already has perish song, but not reset its counter", async () => { - game.override.enemyMoveset([Moves.PERISH_SONG, Moves.AQUA_JET, Moves.SPLASH]); - game.override.moveset([Moves.WHIRLWIND, Moves.SPLASH]); + game.override.enemyMoveset([MoveId.PERISH_SONG, MoveId.AQUA_JET, MoveId.SPLASH]); + game.override.moveset([MoveId.WHIRLWIND, MoveId.SPLASH]); game.override.startingWave(5); - await game.classicMode.startBattle([Species.CURSOLA]); + await game.classicMode.startBattle([SpeciesId.CURSOLA]); const cursola = game.scene.getPlayerPokemon(); - game.move.select(Moves.WHIRLWIND); - await game.move.selectEnemyMove(Moves.PERISH_SONG); + game.move.select(MoveId.WHIRLWIND); + await game.move.selectEnemyMove(MoveId.PERISH_SONG); await game.toNextTurn(); const magikarp = game.scene.getEnemyPokemon(); expect(cursola?.summonData.tags[0].turnCount).toBe(3); expect(magikarp?.summonData.tags.length).toBe(0); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.AQUA_JET); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.AQUA_JET); await game.toNextTurn(); expect(cursola?.summonData.tags[0].turnCount).toBe(2); diff --git a/test/abilities/power_construct.test.ts b/test/abilities/power_construct.test.ts index 67005f5c87e..f8e3de802e6 100644 --- a/test/abilities/power_construct.test.ts +++ b/test/abilities/power_construct.test.ts @@ -1,9 +1,9 @@ import { Status } from "#app/data/status-effect"; import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; @@ -24,12 +24,12 @@ describe("Abilities - POWER CONSTRUCT", () => { beforeEach(() => { game = new GameManager(phaserGame); - const moveToUse = Moves.SPLASH; + const moveToUse = MoveId.SPLASH; game.override .battleStyle("single") - .ability(Abilities.POWER_CONSTRUCT) + .ability(AbilityId.POWER_CONSTRUCT) .moveset([moveToUse]) - .enemyMoveset(Moves.TACKLE); + .enemyMoveset(MoveId.TACKLE); }); test("check if fainted 50% Power Construct Pokemon switches to base form on arena reset", async () => { @@ -37,12 +37,12 @@ describe("Abilities - POWER CONSTRUCT", () => { completeForm = 4; game.override.startingWave(4); game.override.starterForms({ - [Species.ZYGARDE]: completeForm, + [SpeciesId.ZYGARDE]: completeForm, }); - await game.classicMode.startBattle([Species.MAGIKARP, Species.ZYGARDE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.ZYGARDE]); - const zygarde = game.scene.getPlayerParty().find(p => p.species.speciesId === Species.ZYGARDE); + const zygarde = game.scene.getPlayerParty().find(p => p.species.speciesId === SpeciesId.ZYGARDE); expect(zygarde).not.toBe(undefined); expect(zygarde!.formIndex).toBe(completeForm); @@ -50,7 +50,7 @@ describe("Abilities - POWER CONSTRUCT", () => { zygarde!.status = new Status(StatusEffect.FAINT); expect(zygarde!.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to(TurnEndPhase); game.doSelectModifier(); @@ -64,12 +64,12 @@ describe("Abilities - POWER CONSTRUCT", () => { completeForm = 5; game.override.startingWave(4); game.override.starterForms({ - [Species.ZYGARDE]: completeForm, + [SpeciesId.ZYGARDE]: completeForm, }); - await game.classicMode.startBattle([Species.MAGIKARP, Species.ZYGARDE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.ZYGARDE]); - const zygarde = game.scene.getPlayerParty().find(p => p.species.speciesId === Species.ZYGARDE); + const zygarde = game.scene.getPlayerParty().find(p => p.species.speciesId === SpeciesId.ZYGARDE); expect(zygarde).not.toBe(undefined); expect(zygarde!.formIndex).toBe(completeForm); @@ -77,7 +77,7 @@ describe("Abilities - POWER CONSTRUCT", () => { zygarde!.status = new Status(StatusEffect.FAINT); expect(zygarde!.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to(TurnEndPhase); game.doSelectModifier(); diff --git a/test/abilities/power_spot.test.ts b/test/abilities/power_spot.test.ts index 0a062537202..5e6cbce7742 100644 --- a/test/abilities/power_spot.test.ts +++ b/test/abilities/power_spot.test.ts @@ -1,9 +1,9 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,49 +27,49 @@ describe("Abilities - Power Spot", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.moveset([Moves.TACKLE, Moves.BREAKING_SWIPE, Moves.SPLASH, Moves.DAZZLING_GLEAM]); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemySpecies(Species.SHUCKLE); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.moveset([MoveId.TACKLE, MoveId.BREAKING_SWIPE, MoveId.SPLASH, MoveId.DAZZLING_GLEAM]); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemySpecies(SpeciesId.SHUCKLE); + game.override.enemyAbility(AbilityId.BALL_FETCH); }); it("raises the power of allies' special moves by 30%", async () => { - const moveToCheck = allMoves[Moves.DAZZLING_GLEAM]; + const moveToCheck = allMoves[MoveId.DAZZLING_GLEAM]; const basePower = moveToCheck.power; vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.REGIELEKI, Species.STONJOURNER]); - game.move.select(Moves.DAZZLING_GLEAM); - game.move.select(Moves.SPLASH, 1); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.STONJOURNER]); + game.move.select(MoveId.DAZZLING_GLEAM); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(basePower * powerSpotMultiplier); }); it("raises the power of allies' physical moves by 30%", async () => { - const moveToCheck = allMoves[Moves.BREAKING_SWIPE]; + const moveToCheck = allMoves[MoveId.BREAKING_SWIPE]; const basePower = moveToCheck.power; vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.REGIELEKI, Species.STONJOURNER]); - game.move.select(Moves.BREAKING_SWIPE); - game.move.select(Moves.SPLASH, 1); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.STONJOURNER]); + game.move.select(MoveId.BREAKING_SWIPE); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(basePower * powerSpotMultiplier); }); it("does not raise the power of the ability owner's moves", async () => { - const moveToCheck = allMoves[Moves.BREAKING_SWIPE]; + const moveToCheck = allMoves[MoveId.BREAKING_SWIPE]; const basePower = moveToCheck.power; vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.STONJOURNER, Species.REGIELEKI]); - game.move.select(Moves.BREAKING_SWIPE); - game.move.select(Moves.SPLASH, 1); + await game.classicMode.startBattle([SpeciesId.STONJOURNER, SpeciesId.REGIELEKI]); + game.move.select(MoveId.BREAKING_SWIPE); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(basePower); diff --git a/test/abilities/protean.test.ts b/test/abilities/protean.test.ts index e868be8e231..a0b04fa0be5 100644 --- a/test/abilities/protean.test.ts +++ b/test/abilities/protean.test.ts @@ -3,11 +3,11 @@ import { PokemonType } from "#enums/pokemon-type"; import { Weather } from "#app/data/weather"; import type { PlayerPokemon } from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -31,46 +31,46 @@ describe("Abilities - Protean", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.PROTEAN) + .ability(AbilityId.PROTEAN) .startingLevel(100) - .enemySpecies(Species.RATTATA) - .enemyMoveset(Moves.ENDURE); + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset(MoveId.ENDURE); }); test("ability applies and changes a pokemon's type", async () => { - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.SPLASH); }); // Test for Gen9+ functionality, we are using previous funcionality test.skip("ability applies only once per switch in", async () => { - game.override.moveset([Moves.SPLASH, Moves.AGILITY]); + game.override.moveset([MoveId.SPLASH, MoveId.AGILITY]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.BULBASAUR]); let leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.SPLASH); - game.move.select(Moves.AGILITY); + game.move.select(MoveId.AGILITY); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).toContain(AbilityId.PROTEAN); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]]; - const moveType = PokemonType[allMoves[Moves.AGILITY].type]; + const moveType = PokemonType[allMoves[MoveId.AGILITY].type]; expect(leadPokemonType).not.toBe(moveType); await game.toNextTurn(); @@ -82,25 +82,25 @@ describe("Abilities - Protean", () => { leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.SPLASH); }); test("ability applies correctly even if the pokemon's move has a variable type", async () => { - game.override.moveset([Moves.WEATHER_BALL]); + game.override.moveset([MoveId.WEATHER_BALL]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); game.scene.arena.weather = new Weather(WeatherType.SUNNY); - game.move.select(Moves.WEATHER_BALL); + game.move.select(MoveId.WEATHER_BALL); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).toContain(AbilityId.PROTEAN); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.FIRE]; @@ -108,18 +108,18 @@ describe("Abilities - Protean", () => { }); test("ability applies correctly even if the type has changed by another ability", async () => { - game.override.moveset([Moves.TACKLE]); - game.override.passiveAbility(Abilities.REFRIGERATE); + game.override.moveset([MoveId.TACKLE]); + game.override.passiveAbility(AbilityId.REFRIGERATE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).toContain(AbilityId.PROTEAN); expect(leadPokemon.getTypes()).toHaveLength(1); const leadPokemonType = PokemonType[leadPokemon.getTypes()[0]], moveType = PokemonType[PokemonType.ICE]; @@ -127,173 +127,173 @@ describe("Abilities - Protean", () => { }); test("ability applies correctly even if the pokemon's move calls another move", async () => { - game.override.moveset([Moves.NATURE_POWER]); + game.override.moveset([MoveId.NATURE_POWER]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.scene.arena.biomeType = Biome.MOUNTAIN; - game.move.select(Moves.NATURE_POWER); + game.scene.arena.biomeType = BiomeId.MOUNTAIN; + game.move.select(MoveId.NATURE_POWER); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.AIR_SLASH); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.AIR_SLASH); }); test("ability applies correctly even if the pokemon's move is delayed / charging", async () => { - game.override.moveset([Moves.DIG]); + game.override.moveset([MoveId.DIG]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.DIG); + game.move.select(MoveId.DIG); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.DIG); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.DIG); }); test("ability applies correctly even if the pokemon's move misses", async () => { - game.override.moveset([Moves.TACKLE]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.TACKLE]); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.move.forceMiss(); await game.phaseInterceptor.to(TurnEndPhase); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.isFullHp()).toBe(true); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TACKLE); }); test("ability applies correctly even if the pokemon's move is protected against", async () => { - game.override.moveset([Moves.TACKLE]).enemyMoveset(Moves.PROTECT); + game.override.moveset([MoveId.TACKLE]).enemyMoveset(MoveId.PROTECT); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TACKLE); }); test("ability applies correctly even if the pokemon's move fails because of type immunity", async () => { - game.override.moveset([Moves.TACKLE]); - game.override.enemySpecies(Species.GASTLY); + game.override.moveset([MoveId.TACKLE]); + game.override.enemySpecies(SpeciesId.GASTLY); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TACKLE); }); test("ability is not applied if pokemon's type is the same as the move's type", async () => { - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - leadPokemon.summonData.types = [allMoves[Moves.SPLASH].type]; - game.move.select(Moves.SPLASH); + leadPokemon.summonData.types = [allMoves[MoveId.SPLASH].type]; + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.PROTEAN); }); test("ability is not applied if pokemon is terastallized", async () => { - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); leadPokemon.isTerastallized = true; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.PROTEAN); }); test("ability is not applied if pokemon uses struggle", async () => { - game.override.moveset([Moves.STRUGGLE]); + game.override.moveset([MoveId.STRUGGLE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.STRUGGLE); + game.move.select(MoveId.STRUGGLE); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.PROTEAN); }); test("ability is not applied if the pokemon's move fails", async () => { - game.override.moveset([Moves.BURN_UP]); + game.override.moveset([MoveId.BURN_UP]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.BURN_UP); + game.move.select(MoveId.BURN_UP); await game.phaseInterceptor.to(TurnEndPhase); - expect(leadPokemon.waveData.abilitiesApplied).not.toContain(Abilities.PROTEAN); + expect(leadPokemon.waveData.abilitiesApplied).not.toContain(AbilityId.PROTEAN); }); test("ability applies correctly even if the pokemon's Trick-or-Treat fails", async () => { - game.override.moveset([Moves.TRICK_OR_TREAT]); - game.override.enemySpecies(Species.GASTLY); + game.override.moveset([MoveId.TRICK_OR_TREAT]); + game.override.enemySpecies(SpeciesId.GASTLY); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.TRICK_OR_TREAT); + game.move.select(MoveId.TRICK_OR_TREAT); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TRICK_OR_TREAT); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.TRICK_OR_TREAT); }); test("ability applies correctly and the pokemon curses itself", async () => { - game.override.moveset([Moves.CURSE]); + game.override.moveset([MoveId.CURSE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; expect(leadPokemon).not.toBe(undefined); - game.move.select(Moves.CURSE); + game.move.select(MoveId.CURSE); await game.phaseInterceptor.to(TurnEndPhase); - testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.CURSE); + testPokemonTypeMatchesDefaultMoveType(leadPokemon, MoveId.CURSE); expect(leadPokemon.getTag(BattlerTagType.CURSED)).not.toBe(undefined); }); }); -function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) { - expect(pokemon.waveData.abilitiesApplied).toContain(Abilities.PROTEAN); +function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: MoveId) { + expect(pokemon.waveData.abilitiesApplied).toContain(AbilityId.PROTEAN); expect(pokemon.getTypes()).toHaveLength(1); const pokemonType = PokemonType[pokemon.getTypes()[0]], moveType = PokemonType[allMoves[move].type]; diff --git a/test/abilities/protosynthesis.test.ts b/test/abilities/protosynthesis.test.ts index e312ebd572c..3bf74acaca7 100644 --- a/test/abilities/protosynthesis.test.ts +++ b/test/abilities/protosynthesis.test.ts @@ -1,7 +1,7 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { Nature } from "#enums/nature"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,23 +25,23 @@ describe("Abilities - Protosynthesis", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.TACKLE]) - .ability(Abilities.PROTOSYNTHESIS) + .moveset([MoveId.SPLASH, MoveId.TACKLE]) + .ability(AbilityId.PROTOSYNTHESIS) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should not consider temporary items when determining which stat to boost", async () => { // Mew has uniform base stats game.override .startingModifier([{ name: "TEMP_STAT_STAGE_BOOSTER", type: Stat.DEF }]) - .enemyMoveset(Moves.SUNNY_DAY) + .enemyMoveset(MoveId.SUNNY_DAY) .startingLevel(100) .enemyLevel(100); - await game.classicMode.startBattle([Species.MEW]); + await game.classicMode.startBattle([SpeciesId.MEW]); const mew = game.scene.getPlayerPokemon()!; // Nature of starting mon is randomized. We need to fix it to a neutral nature for the automated test. mew.setNature(Nature.HARDY); @@ -69,7 +69,7 @@ describe("Abilities - Protosynthesis", () => { true, ); const initialHp = enemy.hp; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); const unboosted_dmg = initialHp - enemy.hp; @@ -96,7 +96,7 @@ describe("Abilities - Protosynthesis", () => { false, true, ); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); const boosted_dmg = initialHp - enemy.hp; diff --git a/test/abilities/quick_draw.test.ts b/test/abilities/quick_draw.test.ts index e761d236a93..70b8637aa37 100644 --- a/test/abilities/quick_draw.test.ts +++ b/test/abilities/quick_draw.test.ts @@ -1,9 +1,9 @@ import { BypassSpeedChanceAbAttr } from "#app/data/abilities/ability"; import { allAbilities } from "#app/data/data-lists"; import { FaintPhase } from "#app/phases/faint-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; @@ -26,16 +26,16 @@ describe("Abilities - Quick Draw", () => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.starterSpecies(Species.MAGIKARP); - game.override.ability(Abilities.QUICK_DRAW); - game.override.moveset([Moves.TACKLE, Moves.TAIL_WHIP]); + game.override.starterSpecies(SpeciesId.MAGIKARP); + game.override.ability(AbilityId.QUICK_DRAW); + game.override.moveset([MoveId.TACKLE, MoveId.TAIL_WHIP]); game.override.enemyLevel(100); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.enemyMoveset([MoveId.TACKLE]); - vi.spyOn(allAbilities[Abilities.QUICK_DRAW].getAttrs(BypassSpeedChanceAbAttr)[0], "chance", "get").mockReturnValue( + vi.spyOn(allAbilities[AbilityId.QUICK_DRAW].getAttrs(BypassSpeedChanceAbAttr)[0], "chance", "get").mockReturnValue( 100, ); }); @@ -49,12 +49,12 @@ describe("Abilities - Quick Draw", () => { pokemon.hp = 1; enemy.hp = 1; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(FaintPhase, false); expect(pokemon.isFainted()).toBe(false); expect(enemy.isFainted()).toBe(true); - expect(pokemon.waveData.abilitiesApplied).contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).contain(AbilityId.QUICK_DRAW); }, 20000); test( @@ -71,17 +71,17 @@ describe("Abilities - Quick Draw", () => { pokemon.hp = 1; enemy.hp = 1; - game.move.select(Moves.TAIL_WHIP); + game.move.select(MoveId.TAIL_WHIP); await game.phaseInterceptor.to(FaintPhase, false); expect(pokemon.isFainted()).toBe(true); expect(enemy.isFainted()).toBe(false); - expect(pokemon.waveData.abilitiesApplied).not.contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).not.contain(AbilityId.QUICK_DRAW); }, ); test("does not increase priority", async () => { - game.override.enemyMoveset([Moves.EXTREME_SPEED]); + game.override.enemyMoveset([MoveId.EXTREME_SPEED]); await game.classicMode.startBattle(); @@ -91,11 +91,11 @@ describe("Abilities - Quick Draw", () => { pokemon.hp = 1; enemy.hp = 1; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(FaintPhase, false); expect(pokemon.isFainted()).toBe(true); expect(enemy.isFainted()).toBe(false); - expect(pokemon.waveData.abilitiesApplied).contain(Abilities.QUICK_DRAW); + expect(pokemon.waveData.abilitiesApplied).contain(AbilityId.QUICK_DRAW); }, 20000); }); diff --git a/test/abilities/sand_spit.test.ts b/test/abilities/sand_spit.test.ts index 2b655f92466..96e6380ae88 100644 --- a/test/abilities/sand_spit.test.ts +++ b/test/abilities/sand_spit.test.ts @@ -1,7 +1,7 @@ import { WeatherType } from "#app/enums/weather-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,29 +25,29 @@ describe("Abilities - Sand Spit", () => { game.override.battleStyle("single"); game.override.disableCrits(); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.BALL_FETCH); - game.override.starterSpecies(Species.SILICOBRA); - game.override.ability(Abilities.SAND_SPIT); - game.override.moveset([Moves.SPLASH, Moves.COIL]); + game.override.starterSpecies(SpeciesId.SILICOBRA); + game.override.ability(AbilityId.SAND_SPIT); + game.override.moveset([MoveId.SPLASH, MoveId.COIL]); }); it("should trigger when hit with damaging move", async () => { - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE]); await game.classicMode.startBattle(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SANDSTORM); }, 20000); it("should trigger even when fainting", async () => { - game.override.enemyMoveset([Moves.TACKLE]).enemyLevel(100).startingLevel(1); - await game.classicMode.startBattle([Species.SILICOBRA, Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.TACKLE]).enemyLevel(100).startingLevel(1); + await game.classicMode.startBattle([SpeciesId.SILICOBRA, SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -55,10 +55,10 @@ describe("Abilities - Sand Spit", () => { }); it("should not trigger when targetted with status moves", async () => { - game.override.enemyMoveset([Moves.GROWL]); + game.override.enemyMoveset([MoveId.GROWL]); await game.classicMode.startBattle(); - game.move.select(Moves.COIL); + game.move.select(MoveId.COIL); await game.toNextTurn(); expect(game.scene.arena.weather?.weatherType).not.toBe(WeatherType.SANDSTORM); diff --git a/test/abilities/sand_veil.test.ts b/test/abilities/sand_veil.test.ts index a74538fef16..f4b322dc2e9 100644 --- a/test/abilities/sand_veil.test.ts +++ b/test/abilities/sand_veil.test.ts @@ -3,9 +3,9 @@ import { allAbilities } from "#app/data/data-lists"; import { CommandPhase } from "#app/phases/command-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; @@ -29,10 +29,10 @@ describe("Abilities - Sand Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .enemySpecies(Species.MEOWSCARADA) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset(Moves.TWISTER) + .moveset([MoveId.SPLASH]) + .enemySpecies(SpeciesId.MEOWSCARADA) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset(MoveId.TWISTER) .startingLevel(100) .enemyLevel(100) .weather(WeatherType.SANDSTORM) @@ -40,13 +40,13 @@ describe("Abilities - Sand Veil", () => { }); test("ability should increase the evasiveness of the source", async () => { - await game.classicMode.startBattle([Species.SNORLAX, Species.BLISSEY]); + await game.classicMode.startBattle([SpeciesId.SNORLAX, SpeciesId.BLISSEY]); const leadPokemon = game.scene.getPlayerField(); - vi.spyOn(leadPokemon[0], "getAbility").mockReturnValue(allAbilities[Abilities.SAND_VEIL]); + vi.spyOn(leadPokemon[0], "getAbility").mockReturnValue(allAbilities[AbilityId.SAND_VEIL]); - const sandVeilAttr = allAbilities[Abilities.SAND_VEIL].getAttrs(StatMultiplierAbAttr)[0]; + const sandVeilAttr = allAbilities[AbilityId.SAND_VEIL].getAttrs(StatMultiplierAbAttr)[0]; vi.spyOn(sandVeilAttr, "applyStatStage").mockImplementation( (_pokemon, _passive, _simulated, stat, statValue, _args) => { if (stat === Stat.EVA && game.scene.arena.weather?.weatherType === WeatherType.SANDSTORM) { @@ -57,14 +57,14 @@ describe("Abilities - Sand Veil", () => { }, ); - expect(leadPokemon[0].hasAbility(Abilities.SAND_VEIL)).toBe(true); - expect(leadPokemon[1].hasAbility(Abilities.SAND_VEIL)).toBe(false); + expect(leadPokemon[0].hasAbility(AbilityId.SAND_VEIL)).toBe(true); + expect(leadPokemon[1].hasAbility(AbilityId.SAND_VEIL)).toBe(false); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(MoveEffectPhase, false); diff --git a/test/abilities/sap_sipper.test.ts b/test/abilities/sap_sipper.test.ts index 03a6ee5d398..16559fb563f 100644 --- a/test/abilities/sap_sipper.test.ts +++ b/test/abilities/sap_sipper.test.ts @@ -2,10 +2,10 @@ import { Stat } from "#enums/stat"; import { TerrainType } from "#app/data/terrain"; import { MoveEndPhase } from "#app/phases/move-end-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -32,18 +32,18 @@ describe("Abilities - Sap Sipper", () => { game.override .battleStyle("single") .disableCrits() - .ability(Abilities.SAP_SIPPER) - .enemySpecies(Species.RATTATA) - .enemyAbility(Abilities.SAP_SIPPER) - .enemyMoveset(Moves.SPLASH); + .ability(AbilityId.SAP_SIPPER) + .enemySpecies(SpeciesId.RATTATA) + .enemyAbility(AbilityId.SAP_SIPPER) + .enemyMoveset(MoveId.SPLASH); }); it("raises ATK stat stage by 1 and block effects when activated against a grass attack", async () => { - const moveToUse = Moves.LEAFAGE; + const moveToUse = MoveId.LEAFAGE; game.override.moveset(moveToUse); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const initialEnemyHp = enemyPokemon.hp; @@ -57,11 +57,11 @@ describe("Abilities - Sap Sipper", () => { }); it("raises ATK stat stage by 1 and block effects when activated against a grass status move", async () => { - const moveToUse = Moves.SPORE; + const moveToUse = MoveId.SPORE; game.override.moveset(moveToUse); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; @@ -74,11 +74,11 @@ describe("Abilities - Sap Sipper", () => { }); it("do not activate against status moves that target the field", async () => { - const moveToUse = Moves.GRASSY_TERRAIN; + const moveToUse = MoveId.GRASSY_TERRAIN; game.override.moveset(moveToUse); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); game.move.select(moveToUse); @@ -90,11 +90,11 @@ describe("Abilities - Sap Sipper", () => { }); it("activate once against multi-hit grass attacks", async () => { - const moveToUse = Moves.BULLET_SEED; + const moveToUse = MoveId.BULLET_SEED; game.override.moveset(moveToUse); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const initialEnemyHp = enemyPokemon.hp; @@ -108,11 +108,11 @@ describe("Abilities - Sap Sipper", () => { }); it("do not activate against status moves that target the user", async () => { - const moveToUse = Moves.SPIKY_SHIELD; + const moveToUse = MoveId.SPIKY_SHIELD; game.override.moveset(moveToUse); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerPokemon()!; @@ -129,14 +129,16 @@ describe("Abilities - Sap Sipper", () => { }); it("activate once against multi-hit grass attacks (metronome)", async () => { - const moveToUse = Moves.METRONOME; + const moveToUse = MoveId.METRONOME; - const randomMoveAttr = allMoves[Moves.METRONOME].findAttr(attr => attr instanceof RandomMoveAttr) as RandomMoveAttr; - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.BULLET_SEED); + const randomMoveAttr = allMoves[MoveId.METRONOME].findAttr( + attr => attr instanceof RandomMoveAttr, + ) as RandomMoveAttr; + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.BULLET_SEED); game.override.moveset(moveToUse); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; const initialEnemyHp = enemyPokemon.hp; @@ -150,13 +152,13 @@ describe("Abilities - Sap Sipper", () => { }); it("still activates regardless of accuracy check", async () => { - game.override.moveset(Moves.LEAF_BLADE); + game.override.moveset(MoveId.LEAF_BLADE); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.LEAF_BLADE); + game.move.select(MoveId.LEAF_BLADE); await game.phaseInterceptor.to("MoveEffectPhase"); await game.move.forceMiss(); diff --git a/test/abilities/schooling.test.ts b/test/abilities/schooling.test.ts index a94b76e38ff..728e9bb7024 100644 --- a/test/abilities/schooling.test.ts +++ b/test/abilities/schooling.test.ts @@ -1,9 +1,9 @@ import { Status } from "#app/data/status-effect"; import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; @@ -24,8 +24,8 @@ describe("Abilities - SCHOOLING", () => { beforeEach(() => { game = new GameManager(phaserGame); - const moveToUse = Moves.SPLASH; - game.override.battleStyle("single").ability(Abilities.SCHOOLING).moveset([moveToUse]).enemyMoveset(Moves.TACKLE); + const moveToUse = MoveId.SPLASH; + game.override.battleStyle("single").ability(AbilityId.SCHOOLING).moveset([moveToUse]).enemyMoveset(MoveId.TACKLE); }); test("check if fainted pokemon switches to base form on arena reset", async () => { @@ -33,12 +33,12 @@ describe("Abilities - SCHOOLING", () => { schoolForm = 1; game.override.startingWave(4); game.override.starterForms({ - [Species.WISHIWASHI]: schoolForm, + [SpeciesId.WISHIWASHI]: schoolForm, }); - await game.classicMode.startBattle([Species.MAGIKARP, Species.WISHIWASHI]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.WISHIWASHI]); - const wishiwashi = game.scene.getPlayerParty().find(p => p.species.speciesId === Species.WISHIWASHI)!; + const wishiwashi = game.scene.getPlayerParty().find(p => p.species.speciesId === SpeciesId.WISHIWASHI)!; expect(wishiwashi).not.toBe(undefined); expect(wishiwashi.formIndex).toBe(schoolForm); @@ -46,7 +46,7 @@ describe("Abilities - SCHOOLING", () => { wishiwashi.status = new Status(StatusEffect.FAINT); expect(wishiwashi.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to(TurnEndPhase); game.doSelectModifier(); diff --git a/test/abilities/screen_cleaner.test.ts b/test/abilities/screen_cleaner.test.ts index f96f7bf99e2..619cc08bccf 100644 --- a/test/abilities/screen_cleaner.test.ts +++ b/test/abilities/screen_cleaner.test.ts @@ -1,9 +1,9 @@ import { ArenaTagType } from "#app/enums/arena-tag-type"; import { PostSummonPhase } from "#app/phases/post-summon-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,16 +25,16 @@ describe("Abilities - Screen Cleaner", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.ability(Abilities.SCREEN_CLEANER); - game.override.enemySpecies(Species.SHUCKLE); + game.override.ability(AbilityId.SCREEN_CLEANER); + game.override.enemySpecies(SpeciesId.SHUCKLE); }); it("removes Aurora Veil", async () => { - game.override.moveset([Moves.HAIL]).enemyMoveset(Moves.AURORA_VEIL); + game.override.moveset([MoveId.HAIL]).enemyMoveset(MoveId.AURORA_VEIL); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.HAIL); + game.move.select(MoveId.HAIL); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.arena.getTag(ArenaTagType.AURORA_VEIL)).toBeDefined(); @@ -47,11 +47,11 @@ describe("Abilities - Screen Cleaner", () => { }); it("removes Light Screen", async () => { - game.override.enemyMoveset(Moves.LIGHT_SCREEN); + game.override.enemyMoveset(MoveId.LIGHT_SCREEN); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.arena.getTag(ArenaTagType.LIGHT_SCREEN)).toBeDefined(); @@ -64,11 +64,11 @@ describe("Abilities - Screen Cleaner", () => { }); it("removes Reflect", async () => { - game.override.enemyMoveset(Moves.REFLECT); + game.override.enemyMoveset(MoveId.REFLECT); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.arena.getTag(ArenaTagType.REFLECT)).toBeDefined(); diff --git a/test/abilities/seed_sower.test.ts b/test/abilities/seed_sower.test.ts index d8edbe59857..761342bfb27 100644 --- a/test/abilities/seed_sower.test.ts +++ b/test/abilities/seed_sower.test.ts @@ -1,7 +1,7 @@ import { TerrainType } from "#app/data/terrain"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,29 +25,29 @@ describe("Abilities - Seed Sower", () => { game.override.battleStyle("single"); game.override.disableCrits(); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.BALL_FETCH); - game.override.starterSpecies(Species.ARBOLIVA); - game.override.ability(Abilities.SEED_SOWER); - game.override.moveset([Moves.SPLASH]); + game.override.starterSpecies(SpeciesId.ARBOLIVA); + game.override.ability(AbilityId.SEED_SOWER); + game.override.moveset([MoveId.SPLASH]); }); it("should trigger when hit with damaging move", async () => { - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE]); await game.classicMode.startBattle(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.arena.terrain?.terrainType).toBe(TerrainType.GRASSY); }); it("should trigger even when fainting", async () => { - game.override.enemyMoveset([Moves.TACKLE]).enemyLevel(100).startingLevel(1); - await game.classicMode.startBattle([Species.ARBOLIVA, Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.TACKLE]).enemyLevel(100).startingLevel(1); + await game.classicMode.startBattle([SpeciesId.ARBOLIVA, SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -55,10 +55,10 @@ describe("Abilities - Seed Sower", () => { }); it("should not trigger when targetted with status moves", async () => { - game.override.enemyMoveset([Moves.GROWL]); + game.override.enemyMoveset([MoveId.GROWL]); await game.classicMode.startBattle(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.arena.terrain?.terrainType).not.toBe(TerrainType.GRASSY); diff --git a/test/abilities/serene_grace.test.ts b/test/abilities/serene_grace.test.ts index 191d5a44f19..bfdbd5324bb 100644 --- a/test/abilities/serene_grace.test.ts +++ b/test/abilities/serene_grace.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { allMoves } from "#app/data/data-lists"; @@ -27,22 +27,22 @@ describe("Abilities - Serene Grace", () => { game.override .disableCrits() .battleStyle("single") - .ability(Abilities.SERENE_GRACE) - .moveset([Moves.AIR_SLASH]) - .enemySpecies(Species.ALOLA_GEODUDE) + .ability(AbilityId.SERENE_GRACE) + .moveset([MoveId.AIR_SLASH]) + .enemySpecies(SpeciesId.ALOLA_GEODUDE) .enemyLevel(10) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH]); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH]); }); it("Serene Grace should double the secondary effect chance of a move", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); - const airSlashMove = allMoves[Moves.AIR_SLASH]; + const airSlashMove = allMoves[MoveId.AIR_SLASH]; const airSlashFlinchAttr = airSlashMove.getAttrs(FlinchAttr)[0]; vi.spyOn(airSlashFlinchAttr, "getMoveChance"); - game.move.select(Moves.AIR_SLASH); + game.move.select(MoveId.AIR_SLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/abilities/sheer_force.test.ts b/test/abilities/sheer_force.test.ts index 6bb0a631124..a5b1cf3b5b2 100644 --- a/test/abilities/sheer_force.test.ts +++ b/test/abilities/sheer_force.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -28,25 +28,25 @@ describe("Abilities - Sheer Force", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.SHEER_FORCE) - .enemySpecies(Species.ONIX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH]) + .ability(AbilityId.SHEER_FORCE) + .enemySpecies(SpeciesId.ONIX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH]) .disableCrits(); }); const SHEER_FORCE_MULT = 1.3; it("Sheer Force should boost the power of the move but disable secondary effects", async () => { - game.override.moveset([Moves.AIR_SLASH]); - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.AIR_SLASH]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); - const airSlashMove = allMoves[Moves.AIR_SLASH]; + const airSlashMove = allMoves[MoveId.AIR_SLASH]; vi.spyOn(airSlashMove, "calculateBattlePower"); const airSlashFlinchAttr = airSlashMove.getAttrs(FlinchAttr)[0]; vi.spyOn(airSlashFlinchAttr, "getMoveChance"); - game.move.select(Moves.AIR_SLASH); + game.move.select(MoveId.AIR_SLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); @@ -57,13 +57,13 @@ describe("Abilities - Sheer Force", () => { }); it("Sheer Force does not affect the base damage or secondary effects of binding moves", async () => { - game.override.moveset([Moves.BIND]); - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.BIND]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); - const bindMove = allMoves[Moves.BIND]; + const bindMove = allMoves[MoveId.BIND]; vi.spyOn(bindMove, "calculateBattlePower"); - game.move.select(Moves.BIND); + game.move.select(MoveId.BIND); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); @@ -73,13 +73,13 @@ describe("Abilities - Sheer Force", () => { }, 20000); it("Sheer Force does not boost the base damage of moves with no secondary effect", async () => { - game.override.moveset([Moves.TACKLE]); - await game.classicMode.startBattle([Species.PIDGEOT]); + game.override.moveset([MoveId.TACKLE]); + await game.classicMode.startBattle([SpeciesId.PIDGEOT]); - const tackleMove = allMoves[Moves.TACKLE]; + const tackleMove = allMoves[MoveId.TACKLE]; vi.spyOn(tackleMove, "calculateBattlePower"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase", false); @@ -89,19 +89,19 @@ describe("Abilities - Sheer Force", () => { it("Sheer Force can disable the on-hit activation of specific abilities", async () => { game.override - .moveset([Moves.HEADBUTT]) - .enemySpecies(Species.SQUIRTLE) + .moveset([MoveId.HEADBUTT]) + .enemySpecies(SpeciesId.SQUIRTLE) .enemyLevel(10) - .enemyAbility(Abilities.COLOR_CHANGE); + .enemyAbility(AbilityId.COLOR_CHANGE); - await game.classicMode.startBattle([Species.PIDGEOT]); + await game.classicMode.startBattle([SpeciesId.PIDGEOT]); const enemyPokemon = game.scene.getEnemyPokemon(); - const headbuttMove = allMoves[Moves.HEADBUTT]; + const headbuttMove = allMoves[MoveId.HEADBUTT]; vi.spyOn(headbuttMove, "calculateBattlePower"); const headbuttFlinchAttr = headbuttMove.getAttrs(FlinchAttr)[0]; vi.spyOn(headbuttFlinchAttr, "getMoveChance"); - game.move.select(Moves.HEADBUTT); + game.move.select(MoveId.HEADBUTT); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); @@ -113,14 +113,14 @@ describe("Abilities - Sheer Force", () => { }); it("Two Pokemon with abilities disabled by Sheer Force hitting each other should not cause a crash", async () => { - const moveToUse = Moves.CRUNCH; + const moveToUse = MoveId.CRUNCH; game.override - .enemyAbility(Abilities.COLOR_CHANGE) - .ability(Abilities.COLOR_CHANGE) + .enemyAbility(AbilityId.COLOR_CHANGE) + .ability(AbilityId.COLOR_CHANGE) .moveset(moveToUse) .enemyMoveset(moveToUse); - await game.classicMode.startBattle([Species.PIDGEOT]); + await game.classicMode.startBattle([SpeciesId.PIDGEOT]); const pidgeot = game.scene.getPlayerParty()[0]; const onix = game.scene.getEnemyParty()[0]; @@ -139,16 +139,16 @@ describe("Abilities - Sheer Force", () => { it("Sheer Force should disable Meloetta's transformation from Relic Song", async () => { game.override - .ability(Abilities.SHEER_FORCE) - .moveset([Moves.RELIC_SONG]) - .enemyMoveset([Moves.SPLASH]) + .ability(AbilityId.SHEER_FORCE) + .moveset([MoveId.RELIC_SONG]) + .enemyMoveset([MoveId.SPLASH]) .enemyLevel(100); - await game.classicMode.startBattle([Species.MELOETTA]); + await game.classicMode.startBattle([SpeciesId.MELOETTA]); const playerPokemon = game.scene.getPlayerPokemon(); const formKeyStart = playerPokemon?.getFormKey(); - game.move.select(Moves.RELIC_SONG); + game.move.select(MoveId.RELIC_SONG); await game.phaseInterceptor.to("TurnEndPhase"); expect(formKeyStart).toBe(playerPokemon?.getFormKey()); }); diff --git a/test/abilities/shield_dust.test.ts b/test/abilities/shield_dust.test.ts index 4ab58e8c2a6..e99b7563cb7 100644 --- a/test/abilities/shield_dust.test.ts +++ b/test/abilities/shield_dust.test.ts @@ -7,9 +7,9 @@ import { } from "#app/data/abilities/ability"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { NumberHolder } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -32,20 +32,20 @@ describe("Abilities - Shield Dust", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.ONIX); - game.override.enemyAbility(Abilities.SHIELD_DUST); + game.override.enemySpecies(SpeciesId.ONIX); + game.override.enemyAbility(AbilityId.SHIELD_DUST); game.override.startingLevel(100); - game.override.moveset(Moves.AIR_SLASH); - game.override.enemyMoveset(Moves.TACKLE); + game.override.moveset(MoveId.AIR_SLASH); + game.override.enemyMoveset(MoveId.TACKLE); }); it("Shield Dust", async () => { - await game.classicMode.startBattle([Species.PIDGEOT]); + await game.classicMode.startBattle([SpeciesId.PIDGEOT]); game.scene.getEnemyPokemon()!.stats[Stat.SPDEF] = 10000; expect(game.scene.getPlayerPokemon()!.formIndex).toBe(0); - game.move.select(Moves.AIR_SLASH); + game.move.select(MoveId.AIR_SLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); @@ -53,7 +53,7 @@ describe("Abilities - Shield Dust", () => { // Shield Dust negates secondary effect const phase = game.scene.getCurrentPhase() as MoveEffectPhase; const move = phase.move; - expect(move.id).toBe(Moves.AIR_SLASH); + expect(move.id).toBe(MoveId.AIR_SLASH); const chance = new NumberHolder(move.chance); await applyAbAttrs( diff --git a/test/abilities/shields_down.test.ts b/test/abilities/shields_down.test.ts index 444b1fabf73..0a7270dff31 100644 --- a/test/abilities/shields_down.test.ts +++ b/test/abilities/shields_down.test.ts @@ -2,9 +2,9 @@ import { Status } from "#app/data/status-effect"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; @@ -25,11 +25,11 @@ describe("Abilities - SHIELDS DOWN", () => { beforeEach(() => { game = new GameManager(phaserGame); - const moveToUse = Moves.SPLASH; + const moveToUse = MoveId.SPLASH; game.override.battleStyle("single"); - game.override.ability(Abilities.SHIELDS_DOWN); + game.override.ability(AbilityId.SHIELDS_DOWN); game.override.moveset([moveToUse]); - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE]); }); test("check if fainted pokemon switched to base form on arena reset", async () => { @@ -37,12 +37,12 @@ describe("Abilities - SHIELDS DOWN", () => { coreForm = 7; game.override.startingWave(4); game.override.starterForms({ - [Species.MINIOR]: coreForm, + [SpeciesId.MINIOR]: coreForm, }); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MINIOR]); - const minior = game.scene.getPlayerParty().find(p => p.species.speciesId === Species.MINIOR)!; + const minior = game.scene.getPlayerParty().find(p => p.species.speciesId === SpeciesId.MINIOR)!; expect(minior).not.toBe(undefined); expect(minior.formIndex).toBe(coreForm); @@ -50,7 +50,7 @@ describe("Abilities - SHIELDS DOWN", () => { minior.status = new Status(StatusEffect.FAINT); expect(minior.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to(TurnEndPhase); game.doSelectModifier(); @@ -60,46 +60,46 @@ describe("Abilities - SHIELDS DOWN", () => { }); test("should ignore non-volatile status moves", async () => { - game.override.enemyMoveset([Moves.SPORE]); + game.override.enemyMoveset([MoveId.SPORE]); - await game.classicMode.startBattle([Species.MINIOR]); - game.move.select(Moves.SPLASH); + await game.classicMode.startBattle([SpeciesId.MINIOR]); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.getPlayerPokemon()!.status).toBe(undefined); }); test("should still ignore non-volatile status moves used by a pokemon with mold breaker", async () => { - game.override.enemyAbility(Abilities.MOLD_BREAKER); - game.override.enemyMoveset([Moves.SPORE]); + game.override.enemyAbility(AbilityId.MOLD_BREAKER); + game.override.enemyMoveset([MoveId.SPORE]); - await game.classicMode.startBattle([Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MINIOR]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPORE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPORE); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.getPlayerPokemon()!.status).toBe(undefined); }); test("should ignore non-volatile secondary status effects", async () => { - game.override.enemyMoveset([Moves.NUZZLE]); + game.override.enemyMoveset([MoveId.NUZZLE]); - await game.classicMode.startBattle([Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MINIOR]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.getPlayerPokemon()!.status).toBe(undefined); }); test("should ignore status moves even through mold breaker", async () => { - game.override.enemyMoveset([Moves.SPORE]); - game.override.enemyAbility(Abilities.MOLD_BREAKER); + game.override.enemyMoveset([MoveId.SPORE]); + game.override.enemyAbility(AbilityId.MOLD_BREAKER); - await game.classicMode.startBattle([Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MINIOR]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); @@ -108,45 +108,45 @@ describe("Abilities - SHIELDS DOWN", () => { // toxic spikes currently does not poison flying types when gravity is in effect test.todo("should become poisoned by toxic spikes when grounded", async () => { - game.override.enemyMoveset([Moves.GRAVITY, Moves.TOXIC_SPIKES, Moves.SPLASH]); - game.override.moveset([Moves.GRAVITY, Moves.SPLASH]); + game.override.enemyMoveset([MoveId.GRAVITY, MoveId.TOXIC_SPIKES, MoveId.SPLASH]); + game.override.moveset([MoveId.GRAVITY, MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MINIOR]); // turn 1 - game.move.select(Moves.GRAVITY); - await game.move.selectEnemyMove(Moves.TOXIC_SPIKES); + game.move.select(MoveId.GRAVITY); + await game.move.selectEnemyMove(MoveId.TOXIC_SPIKES); await game.toNextTurn(); // turn 2 game.doSwitchPokemon(1); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); - expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(Species.MINIOR); + expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(SpeciesId.MINIOR); expect(game.scene.getPlayerPokemon()!.species.formIndex).toBe(0); expect(game.scene.getPlayerPokemon()!.status?.effect).toBe(StatusEffect.POISON); }); test("should ignore yawn", async () => { - game.override.enemyMoveset([Moves.YAWN]); + game.override.enemyMoveset([MoveId.YAWN]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MINIOR]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.YAWN); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.YAWN); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.getPlayerPokemon()!.findTag(tag => tag.tagType === BattlerTagType.DROWSY)).toBe(undefined); }); test("should not ignore volatile status effects", async () => { - game.override.enemyMoveset([Moves.CONFUSE_RAY]); + game.override.enemyMoveset([MoveId.CONFUSE_RAY]); - await game.classicMode.startBattle([Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MINIOR]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.CONFUSE_RAY); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.CONFUSE_RAY); await game.phaseInterceptor.to(TurnEndPhase); @@ -155,29 +155,29 @@ describe("Abilities - SHIELDS DOWN", () => { // the `NoTransformAbilityAbAttr` attribute is not checked anywhere, so this test cannot pass. test.todo("ditto should not be immune to status after transforming", async () => { - game.override.enemySpecies(Species.DITTO); - game.override.enemyAbility(Abilities.IMPOSTER); - game.override.moveset([Moves.SPLASH, Moves.SPORE]); + game.override.enemySpecies(SpeciesId.DITTO); + game.override.enemyAbility(AbilityId.IMPOSTER); + game.override.moveset([MoveId.SPLASH, MoveId.SPORE]); - await game.classicMode.startBattle([Species.MINIOR]); + await game.classicMode.startBattle([SpeciesId.MINIOR]); - game.move.select(Moves.SPORE); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPORE); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); expect(game.scene.getEnemyPokemon()!.status?.effect).toBe(StatusEffect.SLEEP); }); test("should not prevent minior from receiving the fainted status effect in trainer battles", async () => { - game.override.enemyMoveset([Moves.TACKLE]); - game.override.moveset([Moves.THUNDERBOLT]); + game.override.enemyMoveset([MoveId.TACKLE]); + game.override.moveset([MoveId.THUNDERBOLT]); game.override.startingLevel(100); game.override.startingWave(5); - game.override.enemySpecies(Species.MINIOR); - await game.classicMode.startBattle([Species.REGIELEKI]); + game.override.enemySpecies(SpeciesId.MINIOR); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const minior = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.toNextTurn(); expect(minior.isFainted()).toBe(true); expect(minior.status?.effect).toBe(StatusEffect.FAINT); diff --git a/test/abilities/simple.test.ts b/test/abilities/simple.test.ts index cf3a692a7b0..9df70848f70 100644 --- a/test/abilities/simple.test.ts +++ b/test/abilities/simple.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#app/enums/moves"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,14 +24,14 @@ describe("Abilities - Simple", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.BULBASAUR) - .enemyAbility(Abilities.SIMPLE) - .ability(Abilities.INTIMIDATE) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.BULBASAUR) + .enemyAbility(AbilityId.SIMPLE) + .ability(AbilityId.INTIMIDATE) + .enemyMoveset(MoveId.SPLASH); }); it("should double stat changes when applied", async () => { - await game.classicMode.startBattle([Species.SLOWBRO]); + await game.classicMode.startBattle([SpeciesId.SLOWBRO]); const enemyPokemon = game.scene.getEnemyPokemon()!; diff --git a/test/abilities/speed_boost.test.ts b/test/abilities/speed_boost.test.ts index 45ee54ffb07..9890f22ffcd 100644 --- a/test/abilities/speed_boost.test.ts +++ b/test/abilities/speed_boost.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,75 +28,75 @@ describe("Abilities - Speed Boost", () => { game.override .battleStyle("single") - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.BALL_FETCH) .enemyLevel(100) - .ability(Abilities.SPEED_BOOST) - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.SPLASH, Moves.U_TURN]); + .ability(AbilityId.SPEED_BOOST) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.SPLASH, MoveId.U_TURN]); }); it("should increase speed by 1 stage at end of turn", async () => { await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(playerPokemon.getStatStage(Stat.SPD)).toBe(1); }); it("should not trigger this turn if pokemon was switched into combat via attack, but the turn after", async () => { - await game.classicMode.startBattle([Species.SHUCKLE, Species.NINJASK]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.NINJASK]); - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); game.doSelectPartyPokemon(1); await game.toNextTurn(); const playerPokemon = game.scene.getPlayerPokemon()!; expect(playerPokemon.getStatStage(Stat.SPD)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(playerPokemon.getStatStage(Stat.SPD)).toBe(1); }); it("checking back to back swtiches", async () => { - await game.classicMode.startBattle([Species.SHUCKLE, Species.NINJASK]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.NINJASK]); const [shuckle, ninjask] = game.scene.getPlayerParty(); - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); game.doSelectPartyPokemon(1); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!).toBe(ninjask); expect(ninjask.getStatStage(Stat.SPD)).toBe(0); - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); game.doSelectPartyPokemon(1); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!).toBe(shuckle); expect(shuckle.getStatStage(Stat.SPD)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(shuckle.getStatStage(Stat.SPD)).toBe(1); }); it("should not trigger this turn if pokemon was switched into combat via normal switch, but the turn after", async () => { - await game.classicMode.startBattle([Species.SHUCKLE, Species.NINJASK]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.NINJASK]); game.doSwitchPokemon(1); await game.toNextTurn(); const playerPokemon = game.scene.getPlayerPokemon()!; expect(playerPokemon.getStatStage(Stat.SPD)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(playerPokemon.getStatStage(Stat.SPD)).toBe(1); }); it("should not trigger if pokemon fails to escape", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const commandPhase = game.scene.getCurrentPhase() as CommandPhase; commandPhase.handleCommand(Command.RUN, 0); @@ -108,7 +108,7 @@ describe("Abilities - Speed Boost", () => { const playerPokemon = game.scene.getPlayerPokemon()!; expect(playerPokemon.getStatStage(Stat.SPD)).toBe(0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(playerPokemon.getStatStage(Stat.SPD)).toBe(1); }); diff --git a/test/abilities/stakeout.test.ts b/test/abilities/stakeout.test.ts index d986046a7e1..24c8c47df5c 100644 --- a/test/abilities/stakeout.test.ts +++ b/test/abilities/stakeout.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { isBetween } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,34 +24,34 @@ describe("Abilities - Stakeout", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.SURF]) - .ability(Abilities.STAKEOUT) + .moveset([MoveId.SPLASH, MoveId.SURF]) + .ability(AbilityId.STAKEOUT) .battleStyle("single") .disableCrits() .startingLevel(100) .enemyLevel(100) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH, Moves.FLIP_TURN]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH, MoveId.FLIP_TURN]) .startingWave(5); }); it("should do double damage to a pokemon that switched out", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); const [enemy1] = game.scene.getEnemyParty(); - game.move.select(Moves.SURF); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SURF); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const damage1 = enemy1.getInverseHp(); enemy1.hp = enemy1.getMaxHp(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.forceEnemyToSwitch(); await game.toNextTurn(); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); game.forceEnemyToSwitch(); await game.toNextTurn(); @@ -60,22 +60,22 @@ describe("Abilities - Stakeout", () => { }); it("should do double damage to a pokemon that switched out via U-Turn/etc", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); const [enemy1] = game.scene.getEnemyParty(); - game.move.select(Moves.SURF); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SURF); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const damage1 = enemy1.getInverseHp(); enemy1.hp = enemy1.getMaxHp(); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.FLIP_TURN); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.FLIP_TURN); await game.toNextTurn(); - game.move.select(Moves.SURF); - await game.move.selectEnemyMove(Moves.FLIP_TURN); + game.move.select(MoveId.SURF); + await game.move.selectEnemyMove(MoveId.FLIP_TURN); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); diff --git a/test/abilities/stall.test.ts b/test/abilities/stall.test.ts index 6e6fe04a183..78e7d49b48b 100644 --- a/test/abilities/stall.test.ts +++ b/test/abilities/stall.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,10 +25,10 @@ describe("Abilities - Stall", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.REGIELEKI) - .enemyAbility(Abilities.STALL) - .enemyMoveset(Moves.QUICK_ATTACK) - .moveset([Moves.QUICK_ATTACK, Moves.TACKLE]); + .enemySpecies(SpeciesId.REGIELEKI) + .enemyAbility(AbilityId.STALL) + .enemyMoveset(MoveId.QUICK_ATTACK) + .moveset([MoveId.QUICK_ATTACK, MoveId.TACKLE]); }); /** @@ -38,12 +38,12 @@ describe("Abilities - Stall", () => { **/ it("Pokemon with Stall should move last in its priority bracket regardless of speed", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); - game.move.select(Moves.QUICK_ATTACK); + game.move.select(MoveId.QUICK_ATTACK); await game.phaseInterceptor.to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; @@ -56,12 +56,12 @@ describe("Abilities - Stall", () => { }, 20000); it("Pokemon with Stall will go first if a move that is in a higher priority bracket than the opponent's move is used", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; @@ -74,13 +74,13 @@ describe("Abilities - Stall", () => { }, 20000); it("If both Pokemon have stall and use the same move, speed is used to determine who goes first.", async () => { - game.override.ability(Abilities.STALL); - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.ability(AbilityId.STALL); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const playerIndex = game.scene.getPlayerPokemon()!.getBattlerIndex(); const enemyIndex = game.scene.getEnemyPokemon()!.getBattlerIndex(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; diff --git a/test/abilities/steely_spirit.test.ts b/test/abilities/steely_spirit.test.ts index 09805d61e14..481e037fb4b 100644 --- a/test/abilities/steely_spirit.test.ts +++ b/test/abilities/steely_spirit.test.ts @@ -1,8 +1,8 @@ import { allAbilities } from "#app/data/data-lists"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -11,7 +11,7 @@ describe("Abilities - Steely Spirit", () => { let phaserGame: Phaser.Game; let game: GameManager; const steelySpiritMultiplier = 1.5; - const moveToCheck = Moves.IRON_HEAD; + const moveToCheck = MoveId.IRON_HEAD; let ironHeadPower: number; @@ -29,38 +29,38 @@ describe("Abilities - Steely Spirit", () => { ironHeadPower = allMoves[moveToCheck].power; game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.enemySpecies(Species.SHUCKLE); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.moveset([Moves.IRON_HEAD, Moves.SPLASH]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemySpecies(SpeciesId.SHUCKLE); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.moveset([MoveId.IRON_HEAD, MoveId.SPLASH]); + game.override.enemyMoveset(MoveId.SPLASH); vi.spyOn(allMoves[moveToCheck], "calculateBattlePower"); }); it("increases Steel-type moves' power used by the user and its allies by 50%", async () => { - await game.classicMode.startBattle([Species.PIKACHU, Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.SHUCKLE]); const boostSource = game.scene.getPlayerField()[1]; const enemyToCheck = game.scene.getEnemyPokemon()!; - vi.spyOn(boostSource, "getAbility").mockReturnValue(allAbilities[Abilities.STEELY_SPIRIT]); + vi.spyOn(boostSource, "getAbility").mockReturnValue(allAbilities[AbilityId.STEELY_SPIRIT]); - expect(boostSource.hasAbility(Abilities.STEELY_SPIRIT)).toBe(true); + expect(boostSource.hasAbility(AbilityId.STEELY_SPIRIT)).toBe(true); game.move.select(moveToCheck, 0, enemyToCheck.getBattlerIndex()); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MoveEffectPhase"); expect(allMoves[moveToCheck].calculateBattlePower).toHaveReturnedWith(ironHeadPower * steelySpiritMultiplier); }); it("stacks if multiple users with this ability are on the field.", async () => { - await game.classicMode.startBattle([Species.PIKACHU, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.PIKACHU]); const enemyToCheck = game.scene.getEnemyPokemon()!; game.scene.getPlayerField().forEach(p => { - vi.spyOn(p, "getAbility").mockReturnValue(allAbilities[Abilities.STEELY_SPIRIT]); + vi.spyOn(p, "getAbility").mockReturnValue(allAbilities[AbilityId.STEELY_SPIRIT]); }); - expect(game.scene.getPlayerField().every(p => p.hasAbility(Abilities.STEELY_SPIRIT))).toBe(true); + expect(game.scene.getPlayerField().every(p => p.hasAbility(AbilityId.STEELY_SPIRIT))).toBe(true); game.move.select(moveToCheck, 0, enemyToCheck.getBattlerIndex()); game.move.select(moveToCheck, 1, enemyToCheck.getBattlerIndex()); @@ -72,34 +72,34 @@ describe("Abilities - Steely Spirit", () => { }); it("does not take effect when suppressed", async () => { - await game.classicMode.startBattle([Species.PIKACHU, Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.SHUCKLE]); const boostSource = game.scene.getPlayerField()[1]; const enemyToCheck = game.scene.getEnemyPokemon()!; - vi.spyOn(boostSource, "getAbility").mockReturnValue(allAbilities[Abilities.STEELY_SPIRIT]); - expect(boostSource.hasAbility(Abilities.STEELY_SPIRIT)).toBe(true); + vi.spyOn(boostSource, "getAbility").mockReturnValue(allAbilities[AbilityId.STEELY_SPIRIT]); + expect(boostSource.hasAbility(AbilityId.STEELY_SPIRIT)).toBe(true); boostSource.summonData.abilitySuppressed = true; - expect(boostSource.hasAbility(Abilities.STEELY_SPIRIT)).toBe(false); + expect(boostSource.hasAbility(AbilityId.STEELY_SPIRIT)).toBe(false); expect(boostSource.summonData.abilitySuppressed).toBe(true); game.move.select(moveToCheck, 0, enemyToCheck.getBattlerIndex()); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MoveEffectPhase"); expect(allMoves[moveToCheck].calculateBattlePower).toHaveReturnedWith(ironHeadPower); }); it("affects variable-type moves if their resolved type is Steel", async () => { - game.override.ability(Abilities.STEELY_SPIRIT).moveset([Moves.REVELATION_DANCE]); + game.override.ability(AbilityId.STEELY_SPIRIT).moveset([MoveId.REVELATION_DANCE]); - const revelationDance = allMoves[Moves.REVELATION_DANCE]; + const revelationDance = allMoves[MoveId.REVELATION_DANCE]; vi.spyOn(revelationDance, "calculateBattlePower"); - await game.classicMode.startBattle([Species.KLINKLANG]); + await game.classicMode.startBattle([SpeciesId.KLINKLANG]); - game.move.select(Moves.REVELATION_DANCE); + game.move.select(MoveId.REVELATION_DANCE); await game.phaseInterceptor.to("MoveEffectPhase"); diff --git a/test/abilities/storm_drain.test.ts b/test/abilities/storm_drain.test.ts index 0cbad796ad8..36a2112edda 100644 --- a/test/abilities/storm_drain.test.ts +++ b/test/abilities/storm_drain.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,55 +24,55 @@ describe("Abilities - Storm Drain", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.WATER_GUN]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.WATER_GUN]) + .ability(AbilityId.BALL_FETCH) .battleStyle("double") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should redirect water type moves", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.STORM_DRAIN; + enemy2.summonData.ability = AbilityId.STORM_DRAIN; - game.move.select(Moves.WATER_GUN, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.WATER_GUN, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(true); }); it("should not redirect non-water type moves", async () => { - game.override.moveset([Moves.SPLASH, Moves.AERIAL_ACE]); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + game.override.moveset([MoveId.SPLASH, MoveId.AERIAL_ACE]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.STORM_DRAIN; + enemy2.summonData.ability = AbilityId.STORM_DRAIN; - game.move.select(Moves.AERIAL_ACE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.AERIAL_ACE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(false); }); it("should boost the user's spatk without damaging", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.STORM_DRAIN; + enemy2.summonData.ability = AbilityId.STORM_DRAIN; - game.move.select(Moves.WATER_GUN, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.WATER_GUN, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy2.isFullHp()).toBe(true); @@ -80,32 +80,32 @@ describe("Abilities - Storm Drain", () => { }); it("should not redirect moves changed from water type via ability", async () => { - game.override.ability(Abilities.NORMALIZE); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + game.override.ability(AbilityId.NORMALIZE); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.STORM_DRAIN; + enemy2.summonData.ability = AbilityId.STORM_DRAIN; - game.move.select(Moves.WATER_GUN, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.WATER_GUN, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(false); }); it("should redirect moves changed to water type via ability", async () => { - game.override.ability(Abilities.LIQUID_VOICE).moveset(Moves.PSYCHIC_NOISE); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + game.override.ability(AbilityId.LIQUID_VOICE).moveset(MoveId.PSYCHIC_NOISE); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); const enemy1 = game.scene.getEnemyField()[0]; const enemy2 = game.scene.getEnemyField()[1]; - enemy2.summonData.ability = Abilities.STORM_DRAIN; + enemy2.summonData.ability = AbilityId.STORM_DRAIN; - game.move.select(Moves.PSYCHIC_NOISE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); + game.move.select(MoveId.PSYCHIC_NOISE, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("BerryPhase"); expect(enemy1.isFullHp()).toBe(true); diff --git a/test/abilities/sturdy.test.ts b/test/abilities/sturdy.test.ts index dbdd1b4570e..a50e2075fea 100644 --- a/test/abilities/sturdy.test.ts +++ b/test/abilities/sturdy.test.ts @@ -1,9 +1,9 @@ import type { EnemyPokemon } from "#app/field/pokemon"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; @@ -26,18 +26,18 @@ describe("Abilities - Sturdy", () => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.starterSpecies(Species.LUCARIO); + game.override.starterSpecies(SpeciesId.LUCARIO); game.override.startingLevel(100); - game.override.moveset([Moves.CLOSE_COMBAT, Moves.FISSURE]); + game.override.moveset([MoveId.CLOSE_COMBAT, MoveId.FISSURE]); - game.override.enemySpecies(Species.ARON); + game.override.enemySpecies(SpeciesId.ARON); game.override.enemyLevel(5); - game.override.enemyAbility(Abilities.STURDY); + game.override.enemyAbility(AbilityId.STURDY); }); test("Sturdy activates when user is at full HP", async () => { await game.classicMode.startBattle(); - game.move.select(Moves.CLOSE_COMBAT); + game.move.select(MoveId.CLOSE_COMBAT); await game.phaseInterceptor.to(MoveEndPhase); expect(game.scene.getEnemyParty()[0].hp).toBe(1); }); @@ -48,7 +48,7 @@ describe("Abilities - Sturdy", () => { const enemyPokemon: EnemyPokemon = game.scene.getEnemyParty()[0]; enemyPokemon.hp = enemyPokemon.getMaxHp() - 1; - game.move.select(Moves.CLOSE_COMBAT); + game.move.select(MoveId.CLOSE_COMBAT); await game.phaseInterceptor.to(DamageAnimPhase); expect(enemyPokemon.hp).toBe(0); @@ -57,18 +57,18 @@ describe("Abilities - Sturdy", () => { test("Sturdy pokemon should be immune to OHKO moves", async () => { await game.classicMode.startBattle(); - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); await game.phaseInterceptor.to(MoveEndPhase); const enemyPokemon: EnemyPokemon = game.scene.getEnemyParty()[0]; expect(enemyPokemon.isFullHp()).toBe(true); }); - test("Sturdy is ignored by pokemon with `Abilities.MOLD_BREAKER`", async () => { - game.override.ability(Abilities.MOLD_BREAKER); + test("Sturdy is ignored by pokemon with `AbilityId.MOLD_BREAKER`", async () => { + game.override.ability(AbilityId.MOLD_BREAKER); await game.classicMode.startBattle(); - game.move.select(Moves.CLOSE_COMBAT); + game.move.select(MoveId.CLOSE_COMBAT); await game.phaseInterceptor.to(DamageAnimPhase); const enemyPokemon: EnemyPokemon = game.scene.getEnemyParty()[0]; diff --git a/test/abilities/super_luck.test.ts b/test/abilities/super_luck.test.ts index fbcbd02bdd2..e94a4cf21f0 100644 --- a/test/abilities/super_luck.test.ts +++ b/test/abilities/super_luck.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -22,19 +22,19 @@ describe("Abilities - Super Luck", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.TACKLE]) - .ability(Abilities.SUPER_LUCK) + .moveset([MoveId.TACKLE]) + .ability(AbilityId.SUPER_LUCK) .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should increase the crit stage of a user by 1", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; const fn = vi.spyOn(enemy, "getCritStage"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase"); expect(fn).toHaveReturnedWith(1); fn.mockRestore(); diff --git a/test/abilities/supreme_overlord.test.ts b/test/abilities/supreme_overlord.test.ts index 4c0be80daea..6c2ca2d3677 100644 --- a/test/abilities/supreme_overlord.test.ts +++ b/test/abilities/supreme_overlord.test.ts @@ -1,7 +1,7 @@ -import { Moves } from "#app/enums/moves"; +import { MoveId } from "#enums/move-id"; import type Move from "#app/data/moves/move"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import { BattlerIndex } from "#app/battle"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; @@ -27,36 +27,36 @@ describe("Abilities - Supreme Overlord", () => { }); beforeEach(() => { - move = allMoves[Moves.TACKLE]; + move = allMoves[MoveId.TACKLE]; basePower = move.power; game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .enemyLevel(100) .startingLevel(1) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.SUPREME_OVERLORD) - .enemyMoveset([Moves.SPLASH]) - .moveset([Moves.TACKLE, Moves.EXPLOSION, Moves.LUNAR_DANCE]); + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.SUPREME_OVERLORD) + .enemyMoveset([MoveId.SPLASH]) + .moveset([MoveId.TACKLE, MoveId.EXPLOSION, MoveId.LUNAR_DANCE]); vi.spyOn(move, "calculateBattlePower"); }); it("should increase Power by 20% if 2 Pokemon are fainted in the party", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1); await game.toNextTurn(); - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(2); await game.toNextTurn(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -64,12 +64,12 @@ describe("Abilities - Supreme Overlord", () => { }); it("should increase Power by 30% if an ally fainted twice and another one once", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); /** * Bulbasur faints once */ - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -78,7 +78,7 @@ describe("Abilities - Supreme Overlord", () => { * Charmander faints once */ game.doRevivePokemon(1); - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -86,12 +86,12 @@ describe("Abilities - Supreme Overlord", () => { /** * Bulbasur faints twice */ - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(2); await game.toNextTurn(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -99,14 +99,14 @@ describe("Abilities - Supreme Overlord", () => { }); it("should maintain its power during next battle if it is within the same arena encounter", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(1).enemyLevel(1).startingLevel(100); + game.override.enemySpecies(SpeciesId.MAGIKARP).startingWave(1).enemyLevel(1).startingLevel(100); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); /** * The first Pokemon faints and another Pokemon in the party is selected. */ - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.LUNAR_DANCE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -114,11 +114,11 @@ describe("Abilities - Supreme Overlord", () => { /** * Enemy Pokemon faints and new wave is entered. */ - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -126,20 +126,20 @@ describe("Abilities - Supreme Overlord", () => { }); it("should reset playerFaints count if we enter new trainer battle", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(4).enemyLevel(1).startingLevel(100); + game.override.enemySpecies(SpeciesId.MAGIKARP).startingWave(4).enemyLevel(1).startingLevel(100); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.LUNAR_DANCE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.toNextTurn(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase", false); @@ -147,20 +147,20 @@ describe("Abilities - Supreme Overlord", () => { }); it("should reset playerFaints count if we enter new biome", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(10).enemyLevel(1).startingLevel(100); + game.override.enemySpecies(SpeciesId.MAGIKARP).startingWave(10).enemyLevel(1).startingLevel(100); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.LUNAR_DANCE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.toNextTurn(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/abilities/sweet_veil.test.ts b/test/abilities/sweet_veil.test.ts index e294938acd4..131feaf7f56 100644 --- a/test/abilities/sweet_veil.test.ts +++ b/test/abilities/sweet_veil.test.ts @@ -1,10 +1,10 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { CommandPhase } from "#app/phases/command-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -27,17 +27,17 @@ describe("Abilities - Sweet Veil", () => { game = new GameManager(phaserGame); game.override .battleStyle("double") - .moveset([Moves.SPLASH, Moves.REST, Moves.YAWN]) - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.POWDER); + .moveset([MoveId.SPLASH, MoveId.REST, MoveId.YAWN]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.POWDER); }); it("prevents the user and its allies from falling asleep", async () => { - await game.classicMode.startBattle([Species.SWIRLIX, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.SWIRLIX, SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); @@ -45,11 +45,11 @@ describe("Abilities - Sweet Veil", () => { }); it("causes Rest to fail when used by the user or its allies", async () => { - game.override.enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.SWIRLIX, Species.MAGIKARP]); + game.override.enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.SWIRLIX, SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.REST, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.REST, 1); await game.phaseInterceptor.to(TurnEndPhase); @@ -57,11 +57,11 @@ describe("Abilities - Sweet Veil", () => { }); it("causes Yawn to fail if used on the user or its allies", async () => { - game.override.enemyMoveset(Moves.YAWN); - await game.classicMode.startBattle([Species.SWIRLIX, Species.MAGIKARP]); + game.override.enemyMoveset(MoveId.YAWN); + await game.classicMode.startBattle([SpeciesId.SWIRLIX, SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); @@ -69,22 +69,22 @@ describe("Abilities - Sweet Veil", () => { }); it("prevents the user and its allies already drowsy due to Yawn from falling asleep.", async () => { - game.override.enemySpecies(Species.PIKACHU); + game.override.enemySpecies(SpeciesId.PIKACHU); game.override.enemyLevel(5); game.override.startingLevel(5); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE, Species.SWIRLIX]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.SHUCKLE, SpeciesId.SWIRLIX]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.YAWN, 1, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.YAWN, 1, BattlerIndex.PLAYER); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerField().some(p => !!p.getTag(BattlerTagType.DROWSY))).toBe(true); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(2); expect(game.scene.getPlayerField().every(p => p.status?.effect)).toBe(false); diff --git a/test/abilities/synchronize.test.ts b/test/abilities/synchronize.test.ts index e781d55fe10..030509ac4e6 100644 --- a/test/abilities/synchronize.test.ts +++ b/test/abilities/synchronize.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -26,16 +26,16 @@ describe("Abilities - Synchronize", () => { game.override .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.SYNCHRONIZE) - .moveset([Moves.SPLASH, Moves.THUNDER_WAVE, Moves.SPORE, Moves.PSYCHO_SHIFT]) - .ability(Abilities.NO_GUARD); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.SYNCHRONIZE) + .moveset([MoveId.SPLASH, MoveId.THUNDER_WAVE, MoveId.SPORE, MoveId.PSYCHO_SHIFT]) + .ability(AbilityId.NO_GUARD); }); it("does not trigger when no status is applied by opponent Pokemon", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status).toBeUndefined(); @@ -43,9 +43,9 @@ describe("Abilities - Synchronize", () => { }); it("sets the status of the source pokemon to Paralysis when paralyzed by it", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status?.effect).toBe(StatusEffect.PARALYSIS); @@ -56,7 +56,7 @@ describe("Abilities - Synchronize", () => { it("does not trigger on Sleep", async () => { await game.classicMode.startBattle(); - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.phaseInterceptor.to("BerryPhase"); @@ -66,11 +66,11 @@ describe("Abilities - Synchronize", () => { }); it("does not trigger when Pokemon is statused by Toxic Spikes", async () => { - game.override.ability(Abilities.SYNCHRONIZE).enemyAbility(Abilities.BALL_FETCH).enemyMoveset(Moves.TOXIC_SPIKES); + game.override.ability(AbilityId.SYNCHRONIZE).enemyAbility(AbilityId.BALL_FETCH).enemyMoveset(MoveId.TOXIC_SPIKES); - await game.classicMode.startBattle([Species.FEEBAS, Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MILOTIC]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); game.doSwitchPokemon(1); @@ -82,9 +82,9 @@ describe("Abilities - Synchronize", () => { }); it("shows ability even if it fails to set the status of the opponent Pokemon", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status?.effect).toBeUndefined(); diff --git a/test/abilities/tera_shell.test.ts b/test/abilities/tera_shell.test.ts index fdbcb14947d..5889115ee95 100644 --- a/test/abilities/tera_shell.test.ts +++ b/test/abilities/tera_shell.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,71 +24,71 @@ describe("Abilities - Tera Shell", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.TERA_SHELL) - .moveset([Moves.SPLASH]) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset([Moves.MACH_PUNCH]) + .ability(AbilityId.TERA_SHELL) + .moveset([MoveId.SPLASH]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset([MoveId.MACH_PUNCH]) .startingLevel(100) .enemyLevel(100); }); it("should change the effectiveness of non-resisted attacks when the source is at full HP", async () => { - await game.classicMode.startBattle([Species.SNORLAX]); + await game.classicMode.startBattle([SpeciesId.SNORLAX]); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getMoveEffectiveness"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.getMoveEffectiveness).toHaveLastReturnedWith(0.5); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.getMoveEffectiveness).toHaveLastReturnedWith(2); }); it("should not override type immunities", async () => { - game.override.enemyMoveset([Moves.SHADOW_SNEAK]); + game.override.enemyMoveset([MoveId.SHADOW_SNEAK]); - await game.classicMode.startBattle([Species.SNORLAX]); + await game.classicMode.startBattle([SpeciesId.SNORLAX]); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getMoveEffectiveness"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.getMoveEffectiveness).toHaveLastReturnedWith(0); }); it("should not override type multipliers less than 0.5x", async () => { - game.override.enemyMoveset([Moves.QUICK_ATTACK]); + game.override.enemyMoveset([MoveId.QUICK_ATTACK]); - await game.classicMode.startBattle([Species.AGGRON]); + await game.classicMode.startBattle([SpeciesId.AGGRON]); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getMoveEffectiveness"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.getMoveEffectiveness).toHaveLastReturnedWith(0.25); }); it("should not affect the effectiveness of fixed-damage moves", async () => { - game.override.enemyMoveset([Moves.DRAGON_RAGE]); + game.override.enemyMoveset([MoveId.DRAGON_RAGE]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const spy = vi.spyOn(playerPokemon, "getMoveEffectiveness"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); expect(spy).toHaveLastReturnedWith(1); @@ -98,14 +98,14 @@ describe("Abilities - Tera Shell", () => { }); it("should change the effectiveness of all strikes of a multi-strike move", async () => { - game.override.enemyMoveset([Moves.DOUBLE_HIT]); + game.override.enemyMoveset([MoveId.DOUBLE_HIT]); - await game.classicMode.startBattle([Species.SNORLAX]); + await game.classicMode.startBattle([SpeciesId.SNORLAX]); const playerPokemon = game.scene.getPlayerPokemon()!; const spy = vi.spyOn(playerPokemon, "getMoveEffectiveness"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.move.forceHit(); diff --git a/test/abilities/thermal_exchange.test.ts b/test/abilities/thermal_exchange.test.ts index c33b296d5ae..f27e6da1d3b 100644 --- a/test/abilities/thermal_exchange.test.ts +++ b/test/abilities/thermal_exchange.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Thermal Exchange", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove burn when gained", async () => { game.override - .ability(Abilities.THERMAL_EXCHANGE) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.THERMAL_EXCHANGE) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.BURN); expect(enemy?.status?.effect).toBe(StatusEffect.BURN); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/trace.test.ts b/test/abilities/trace.test.ts index 7ec8d62ab51..9bfd2f021c8 100644 --- a/test/abilities/trace.test.ts +++ b/test/abilities/trace.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,29 +23,29 @@ describe("Abilities - Trace", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.TRACE) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.TRACE) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should copy the opponent's ability", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(Abilities.BALL_FETCH); + expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(AbilityId.BALL_FETCH); }); it("should activate a copied post-summon ability", async () => { - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); diff --git a/test/abilities/unburden.test.ts b/test/abilities/unburden.test.ts index ea4f84545aa..b1b10c378a3 100644 --- a/test/abilities/unburden.test.ts +++ b/test/abilities/unburden.test.ts @@ -4,11 +4,11 @@ import { StealHeldItemChanceAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; import type Pokemon from "#app/field/pokemon"; import type { ContactHeldItemTransferChanceModifier } from "#app/modifier/modifier"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -44,36 +44,36 @@ describe("Abilities - Unburden", () => { game.override .battleStyle("single") .startingLevel(1) - .ability(Abilities.UNBURDEN) - .moveset([Moves.SPLASH, Moves.KNOCK_OFF, Moves.PLUCK, Moves.FALSE_SWIPE]) + .ability(AbilityId.UNBURDEN) + .moveset([MoveId.SPLASH, MoveId.KNOCK_OFF, MoveId.PLUCK, MoveId.FALSE_SWIPE]) .startingHeldItems([ { name: "BERRY", count: 1, type: BerryType.SITRUS }, { name: "BERRY", count: 2, type: BerryType.APICOT }, { name: "BERRY", count: 2, type: BerryType.LUM }, ]) - .enemySpecies(Species.NINJASK) + .enemySpecies(SpeciesId.NINJASK) .enemyLevel(100) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.UNBURDEN) - .enemyPassiveAbility(Abilities.NO_GUARD) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.UNBURDEN) + .enemyPassiveAbility(AbilityId.NO_GUARD) .enemyHeldItems([ { name: "BERRY", type: BerryType.SITRUS, count: 1 }, { name: "BERRY", type: BerryType.LUM, count: 1 }, ]); // For the various tests that use Thief, give it a 100% steal rate - vi.spyOn(allMoves[Moves.THIEF], "attrs", "get").mockReturnValue([new StealHeldItemChanceAttr(1.0)]); + vi.spyOn(allMoves[MoveId.THIEF], "attrs", "get").mockReturnValue([new StealHeldItemChanceAttr(1.0)]); }); it("should activate when a berry is eaten", async () => { - game.override.enemyMoveset(Moves.FALSE_SWIPE); - await game.classicMode.startBattle([Species.TREECKO]); + game.override.enemyMoveset(MoveId.FALSE_SWIPE); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerHeldItems = getHeldItemCount(playerPokemon); const initialPlayerSpeed = playerPokemon.getStat(Stat.SPD); // Player gets hit by False Swipe and eats its own Sitrus Berry - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBeLessThan(playerHeldItems); @@ -81,15 +81,15 @@ describe("Abilities - Unburden", () => { }); it("should activate when a berry is eaten, even if Berry Pouch preserves the berry", async () => { - game.override.enemyMoveset(Moves.FALSE_SWIPE).startingModifier([{ name: "BERRY_POUCH", count: 5850 }]); - await game.classicMode.startBattle([Species.TREECKO]); + game.override.enemyMoveset(MoveId.FALSE_SWIPE).startingModifier([{ name: "BERRY_POUCH", count: 5850 }]); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerHeldItems = getHeldItemCount(playerPokemon); const initialPlayerSpeed = playerPokemon.getStat(Stat.SPD); // Player gets hit by False Swipe and eats its own Sitrus Berry - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBe(playerHeldItems); @@ -97,7 +97,7 @@ describe("Abilities - Unburden", () => { }); it("should activate for the target, and not the stealer, when a berry is stolen", async () => { - await game.classicMode.startBattle([Species.TREECKO]); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const initialPlayerSpeed = playerPokemon.getStat(Stat.SPD); @@ -106,7 +106,7 @@ describe("Abilities - Unburden", () => { const initialEnemySpeed = enemyPokemon.getStat(Stat.SPD); // Player uses Pluck and eats the opponent's berry - game.move.select(Moves.PLUCK); + game.move.select(MoveId.PLUCK); await game.toNextTurn(); expect(getHeldItemCount(enemyPokemon)).toBeLessThan(enemyHeldItemCt); @@ -115,14 +115,14 @@ describe("Abilities - Unburden", () => { }); it("should activate when an item is knocked off", async () => { - await game.classicMode.startBattle([Species.TREECKO]); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyHeldItemCt = getHeldItemCount(enemyPokemon); const initialEnemySpeed = enemyPokemon.getStat(Stat.SPD); // Player uses Knock Off and removes the opponent's item - game.move.select(Moves.KNOCK_OFF); + game.move.select(MoveId.KNOCK_OFF); await game.toNextTurn(); expect(getHeldItemCount(enemyPokemon)).toBeLessThan(enemyHeldItemCt); @@ -130,15 +130,15 @@ describe("Abilities - Unburden", () => { }); it("should activate when an item is stolen via attacking ability", async () => { - game.override.ability(Abilities.MAGICIAN).startingHeldItems([]); // Remove player's full stacks of held items so it can steal opponent's held items - await game.classicMode.startBattle([Species.TREECKO]); + game.override.ability(AbilityId.MAGICIAN).startingHeldItems([]); // Remove player's full stacks of held items so it can steal opponent's held items + await game.classicMode.startBattle([SpeciesId.TREECKO]); const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyHeldItemCt = getHeldItemCount(enemyPokemon); const initialEnemySpeed = enemyPokemon.getStat(Stat.SPD); // Player steals the opponent's item via ability Magician - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.toNextTurn(); expect(getHeldItemCount(enemyPokemon)).toBeLessThan(enemyHeldItemCt); @@ -146,15 +146,15 @@ describe("Abilities - Unburden", () => { }); it("should activate when an item is stolen via defending ability", async () => { - game.override.enemyAbility(Abilities.PICKPOCKET).enemyHeldItems([]); // Remove opponent's full stacks of held items so it can steal player's held items - await game.classicMode.startBattle([Species.TREECKO]); + game.override.enemyAbility(AbilityId.PICKPOCKET).enemyHeldItems([]); // Remove opponent's full stacks of held items so it can steal player's held items + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerHeldItems = getHeldItemCount(playerPokemon); const initialPlayerSpeed = playerPokemon.getStat(Stat.SPD); // Player's item gets stolen via ability Pickpocket - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBeLessThan(playerHeldItems); @@ -162,15 +162,15 @@ describe("Abilities - Unburden", () => { }); it("should activate when an item is stolen via move", async () => { - game.override.moveset(Moves.THIEF).startingHeldItems([]); // Remove player's full stacks of held items so it can steal opponent's held items - await game.classicMode.startBattle([Species.TREECKO]); + game.override.moveset(MoveId.THIEF).startingHeldItems([]); // Remove player's full stacks of held items so it can steal opponent's held items + await game.classicMode.startBattle([SpeciesId.TREECKO]); const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyHeldItemCt = getHeldItemCount(enemyPokemon); const initialEnemySpeed = enemyPokemon.getStat(Stat.SPD); // Player uses Thief and steals the opponent's item - game.move.select(Moves.THIEF); + game.move.select(MoveId.THIEF); await game.toNextTurn(); expect(getHeldItemCount(enemyPokemon)).toBeLessThan(enemyHeldItemCt); @@ -179,7 +179,7 @@ describe("Abilities - Unburden", () => { it("should activate when an item is stolen via grip claw", async () => { game.override.startingHeldItems([{ name: "GRIP_CLAW", count: 1 }]); - await game.classicMode.startBattle([Species.TREECKO]); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const gripClaw = playerPokemon.getHeldItems()[0] as ContactHeldItemTransferChanceModifier; @@ -190,7 +190,7 @@ describe("Abilities - Unburden", () => { const initialEnemySpeed = enemyPokemon.getStat(Stat.SPD); // Player steals the opponent's item using Grip Claw - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.toNextTurn(); expect(getHeldItemCount(enemyPokemon)).toBeLessThan(enemyHeldItemCt); @@ -198,15 +198,15 @@ describe("Abilities - Unburden", () => { }); it("should not activate when a neutralizing ability is present", async () => { - game.override.enemyAbility(Abilities.NEUTRALIZING_GAS).enemyMoveset(Moves.FALSE_SWIPE); - await game.classicMode.startBattle([Species.TREECKO]); + game.override.enemyAbility(AbilityId.NEUTRALIZING_GAS).enemyMoveset(MoveId.FALSE_SWIPE); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerHeldItems = getHeldItemCount(playerPokemon); const initialPlayerSpeed = playerPokemon.getStat(Stat.SPD); // Player gets hit by False Swipe and eats Sitrus Berry, which should not trigger Unburden - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBeLessThan(playerHeldItems); @@ -215,8 +215,8 @@ describe("Abilities - Unburden", () => { }); it("should activate when a move that consumes a berry is used", async () => { - game.override.moveset(Moves.STUFF_CHEEKS); - await game.classicMode.startBattle([Species.TREECKO]); + game.override.moveset(MoveId.STUFF_CHEEKS); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerHeldItemCt = getHeldItemCount(playerPokemon); @@ -224,7 +224,7 @@ describe("Abilities - Unburden", () => { // Player uses Stuff Cheeks and eats its own berry // Caution: Do not test this using opponent, there is a known issue where opponent can randomly generate with Salac Berry - game.move.select(Moves.STUFF_CHEEKS); + game.move.select(MoveId.STUFF_CHEEKS); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBeLessThan(playerHeldItemCt); @@ -232,8 +232,8 @@ describe("Abilities - Unburden", () => { }); it("should deactivate temporarily when a neutralizing gas user is on the field", async () => { - game.override.battleStyle("double").ability(Abilities.NONE); // Disable ability override so that we can properly set abilities below - await game.classicMode.startBattle([Species.TREECKO, Species.MEOWTH, Species.WEEZING]); + game.override.battleStyle("double").ability(AbilityId.NONE); // Disable ability override so that we can properly set abilities below + await game.classicMode.startBattle([SpeciesId.TREECKO, SpeciesId.MEOWTH, SpeciesId.WEEZING]); const [treecko, _meowth, weezing] = game.scene.getPlayerParty(); treecko.abilityIndex = 2; // Treecko has Unburden @@ -242,10 +242,10 @@ describe("Abilities - Unburden", () => { const initialPlayerSpeed = treecko.getStat(Stat.SPD); // Turn 1: Treecko gets hit by False Swipe and eats Sitrus Berry, activating Unburden - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.FALSE_SWIPE, 0); - await game.move.selectEnemyMove(Moves.FALSE_SWIPE, 0); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.FALSE_SWIPE, 0); + await game.move.selectEnemyMove(MoveId.FALSE_SWIPE, 0); await game.phaseInterceptor.to("TurnEndPhase"); expect(getHeldItemCount(treecko)).toBeLessThan(playerHeldItems); @@ -253,7 +253,7 @@ describe("Abilities - Unburden", () => { // Turn 2: Switch Meowth to Weezing, activating Neutralizing Gas await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(2); await game.phaseInterceptor.to("TurnEndPhase"); @@ -262,7 +262,7 @@ describe("Abilities - Unburden", () => { // Turn 3: Switch Weezing to Meowth, deactivating Neutralizing Gas await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(2); await game.phaseInterceptor.to("TurnEndPhase"); @@ -271,8 +271,8 @@ describe("Abilities - Unburden", () => { }); it("should not activate when passing a baton to a teammate switching in", async () => { - game.override.startingHeldItems([{ name: "BATON" }]).moveset(Moves.BATON_PASS); - await game.classicMode.startBattle([Species.TREECKO, Species.PURRLOIN]); + game.override.startingHeldItems([{ name: "BATON" }]).moveset(MoveId.BATON_PASS); + await game.classicMode.startBattle([SpeciesId.TREECKO, SpeciesId.PURRLOIN]); const [treecko, purrloin] = game.scene.getPlayerParty(); const initialTreeckoSpeed = treecko.getStat(Stat.SPD); @@ -281,7 +281,7 @@ describe("Abilities - Unburden", () => { vi.spyOn(unburdenAttr, "applyPostItemLost"); // Player uses Baton Pass, which also passes the Baton item - game.move.select(Moves.BATON_PASS); + game.move.select(MoveId.BATON_PASS); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -293,24 +293,24 @@ describe("Abilities - Unburden", () => { }); it("should not speed up a Pokemon after it loses the ability Unburden", async () => { - game.override.enemyMoveset([Moves.FALSE_SWIPE, Moves.WORRY_SEED]); - await game.classicMode.startBattle([Species.PURRLOIN]); + game.override.enemyMoveset([MoveId.FALSE_SWIPE, MoveId.WORRY_SEED]); + await game.classicMode.startBattle([SpeciesId.PURRLOIN]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerHeldItems = getHeldItemCount(playerPokemon); const initialPlayerSpeed = playerPokemon.getStat(Stat.SPD); // Turn 1: Get hit by False Swipe and eat Sitrus Berry, activating Unburden - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.FALSE_SWIPE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.FALSE_SWIPE); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBeLessThan(playerHeldItems); expect(playerPokemon.getEffectiveStat(Stat.SPD)).toBe(initialPlayerSpeed * 2); // Turn 2: Get hit by Worry Seed, deactivating Unburden - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.WORRY_SEED); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.WORRY_SEED); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBeLessThan(playerHeldItems); @@ -318,15 +318,15 @@ describe("Abilities - Unburden", () => { }); it("should activate when a reviver seed is used", async () => { - game.override.startingHeldItems([{ name: "REVIVER_SEED" }]).enemyMoveset([Moves.WING_ATTACK]); - await game.classicMode.startBattle([Species.TREECKO]); + game.override.startingHeldItems([{ name: "REVIVER_SEED" }]).enemyMoveset([MoveId.WING_ATTACK]); + await game.classicMode.startBattle([SpeciesId.TREECKO]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerHeldItems = getHeldItemCount(playerPokemon); const initialPlayerSpeed = playerPokemon.getStat(Stat.SPD); // Turn 1: Get hit by Wing Attack and faint, activating Reviver Seed - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(getHeldItemCount(playerPokemon)).toBeLessThan(playerHeldItems); @@ -335,21 +335,21 @@ describe("Abilities - Unburden", () => { // test for `.bypassFaint()` - singles it("shouldn't persist when revived normally if activated while fainting", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.THIEF]); - await game.classicMode.startBattle([Species.TREECKO, Species.FEEBAS]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.THIEF]); + await game.classicMode.startBattle([SpeciesId.TREECKO, SpeciesId.FEEBAS]); const treecko = game.scene.getPlayerPokemon()!; const treeckoInitialHeldItems = getHeldItemCount(treecko); const initialSpeed = treecko.getStat(Stat.SPD); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.THIEF); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.THIEF); game.doSelectPartyPokemon(1); await game.toNextTurn(); game.doRevivePokemon(1); game.doSwitchPokemon(1); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!).toBe(treecko); @@ -361,19 +361,19 @@ describe("Abilities - Unburden", () => { it("shouldn't persist when revived by revival blessing if activated while fainting", async () => { game.override .battleStyle("double") - .enemyMoveset([Moves.SPLASH, Moves.THIEF]) - .moveset([Moves.SPLASH, Moves.REVIVAL_BLESSING]) + .enemyMoveset([MoveId.SPLASH, MoveId.THIEF]) + .moveset([MoveId.SPLASH, MoveId.REVIVAL_BLESSING]) .startingHeldItems([{ name: "WIDE_LENS" }]); - await game.classicMode.startBattle([Species.TREECKO, Species.FEEBAS, Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.TREECKO, SpeciesId.FEEBAS, SpeciesId.MILOTIC]); const treecko = game.scene.getPlayerField()[0]; const treeckoInitialHeldItems = getHeldItemCount(treecko); const initialSpeed = treecko.getStat(Stat.SPD); - game.move.select(Moves.SPLASH); - game.move.select(Moves.REVIVAL_BLESSING, 1); - await game.move.selectEnemyMove(Moves.THIEF, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.REVIVAL_BLESSING, 1); + await game.move.selectEnemyMove(MoveId.THIEF, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2]); game.doSelectPartyPokemon(0, "RevivalBlessingPhase"); await game.toNextTurn(); diff --git a/test/abilities/unseen_fist.test.ts b/test/abilities/unseen_fist.test.ts index d78ce8c5bbf..56408c6cbc3 100644 --- a/test/abilities/unseen_fist.test.ts +++ b/test/abilities/unseen_fist.test.ts @@ -1,7 +1,7 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,40 +26,40 @@ describe("Abilities - Unseen Fist", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .starterSpecies(Species.URSHIFU) - .enemySpecies(Species.SNORLAX) - .enemyMoveset(Moves.PROTECT) + .starterSpecies(SpeciesId.URSHIFU) + .enemySpecies(SpeciesId.SNORLAX) + .enemyMoveset(MoveId.PROTECT) .startingLevel(100) .enemyLevel(100); }); it("should cause a contact move to ignore Protect", async () => - await testUnseenFistHitResult(game, Moves.QUICK_ATTACK, Moves.PROTECT, true)); + await testUnseenFistHitResult(game, MoveId.QUICK_ATTACK, MoveId.PROTECT, true)); it("should not cause a non-contact move to ignore Protect", async () => - await testUnseenFistHitResult(game, Moves.ABSORB, Moves.PROTECT, false)); + await testUnseenFistHitResult(game, MoveId.ABSORB, MoveId.PROTECT, false)); it("should not apply if the source has Long Reach", async () => { - game.override.passiveAbility(Abilities.LONG_REACH); - await testUnseenFistHitResult(game, Moves.QUICK_ATTACK, Moves.PROTECT, false); + game.override.passiveAbility(AbilityId.LONG_REACH); + await testUnseenFistHitResult(game, MoveId.QUICK_ATTACK, MoveId.PROTECT, false); }); it("should cause a contact move to ignore Wide Guard", async () => - await testUnseenFistHitResult(game, Moves.BREAKING_SWIPE, Moves.WIDE_GUARD, true)); + await testUnseenFistHitResult(game, MoveId.BREAKING_SWIPE, MoveId.WIDE_GUARD, true)); it("should not cause a non-contact move to ignore Wide Guard", async () => - await testUnseenFistHitResult(game, Moves.BULLDOZE, Moves.WIDE_GUARD, false)); + await testUnseenFistHitResult(game, MoveId.BULLDOZE, MoveId.WIDE_GUARD, false)); it("should cause a contact move to ignore Protect, but not Substitute", async () => { game.override.enemyLevel(1); - game.override.moveset([Moves.TACKLE]); + game.override.moveset([MoveId.TACKLE]); await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - enemyPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, enemyPokemon.id); + enemyPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, enemyPokemon.id); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(BerryPhase, false); @@ -70,8 +70,8 @@ describe("Abilities - Unseen Fist", () => { async function testUnseenFistHitResult( game: GameManager, - attackMove: Moves, - protectMove: Moves, + attackMove: MoveId, + protectMove: MoveId, shouldSucceed = true, ): Promise { game.override.moveset([attackMove]).enemyMoveset(protectMove); diff --git a/test/abilities/victory_star.test.ts b/test/abilities/victory_star.test.ts index f3c0b5ad6b7..77f5de41bb1 100644 --- a/test/abilities/victory_star.test.ts +++ b/test/abilities/victory_star.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,35 +24,35 @@ describe("Abilities - Victory Star", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.TACKLE, Moves.SPLASH]) + .moveset([MoveId.TACKLE, MoveId.SPLASH]) .battleStyle("double") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should increase the accuracy of its user", async () => { - await game.classicMode.startBattle([Species.VICTINI, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.VICTINI, SpeciesId.MAGIKARP]); const user = game.scene.getPlayerField()[0]; vi.spyOn(user, "getAccuracyMultiplier"); - game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TACKLE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(user.getAccuracyMultiplier).toHaveReturnedWith(1.1); }); it("should increase the accuracy of its user's ally", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.VICTINI]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.VICTINI]); const ally = game.scene.getPlayerField()[0]; vi.spyOn(ally, "getAccuracyMultiplier"); - game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TACKLE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(ally.getAccuracyMultiplier).toHaveReturnedWith(1.1); diff --git a/test/abilities/vital_spirit.test.ts b/test/abilities/vital_spirit.test.ts index bb274310cc0..c32454e9d31 100644 --- a/test/abilities/vital_spirit.test.ts +++ b/test/abilities/vital_spirit.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Vital Spirit", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove sleep when gained", async () => { game.override - .ability(Abilities.INSOMNIA) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.INSOMNIA) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.SLEEP); expect(enemy?.status?.effect).toBe(StatusEffect.SLEEP); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/volt_absorb.test.ts b/test/abilities/volt_absorb.test.ts index 920c822eb90..2e6abf30885 100644 --- a/test/abilities/volt_absorb.test.ts +++ b/test/abilities/volt_absorb.test.ts @@ -1,9 +1,9 @@ import { Stat } from "#enums/stat"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -31,14 +31,14 @@ describe("Abilities - Volt Absorb", () => { }); it("does not activate when CHARGE is used", async () => { - const moveToUse = Moves.CHARGE; - const ability = Abilities.VOLT_ABSORB; + const moveToUse = MoveId.CHARGE; + const ability = AbilityId.VOLT_ABSORB; game.override.moveset([moveToUse]); game.override.ability(ability); - game.override.enemyMoveset([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]); - game.override.enemySpecies(Species.DUSKULL); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.NONE, MoveId.NONE, MoveId.NONE]); + game.override.enemySpecies(SpeciesId.DUSKULL); + game.override.enemyAbility(AbilityId.BALL_FETCH); await game.classicMode.startBattle(); @@ -54,16 +54,16 @@ describe("Abilities - Volt Absorb", () => { }); it("should activate regardless of accuracy checks", async () => { - game.override.moveset(Moves.THUNDERBOLT); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.VOLT_ABSORB); + game.override.moveset(MoveId.THUNDERBOLT); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.VOLT_ABSORB); await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); enemyPokemon.hp = enemyPokemon.hp - 1; await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -74,16 +74,16 @@ describe("Abilities - Volt Absorb", () => { }); it("regardless of accuracy should not trigger on pokemon in semi invulnerable state", async () => { - game.override.moveset(Moves.THUNDERBOLT); - game.override.enemyMoveset(Moves.DIVE); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.VOLT_ABSORB); + game.override.moveset(MoveId.THUNDERBOLT); + game.override.enemyMoveset(MoveId.DIVE); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.VOLT_ABSORB); await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); enemyPokemon.hp = enemyPokemon.hp - 1; await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); diff --git a/test/abilities/wandering_spirit.test.ts b/test/abilities/wandering_spirit.test.ts index 639241aecc8..360eedda4c9 100644 --- a/test/abilities/wandering_spirit.test.ts +++ b/test/abilities/wandering_spirit.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,41 +23,41 @@ describe("Abilities - Wandering Spirit", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.WANDERING_SPIRIT) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.WANDERING_SPIRIT) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); }); it("should exchange abilities when hit with a contact move", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(Abilities.BALL_FETCH); - expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(Abilities.WANDERING_SPIRIT); + expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(AbilityId.BALL_FETCH); + expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(AbilityId.WANDERING_SPIRIT); }); it("should not exchange abilities when hit with a non-contact move", async () => { - game.override.enemyMoveset(Moves.EARTHQUAKE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyMoveset(MoveId.EARTHQUAKE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(Abilities.WANDERING_SPIRIT); - expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(Abilities.BALL_FETCH); + expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(AbilityId.WANDERING_SPIRIT); + expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(AbilityId.BALL_FETCH); }); it("should activate post-summon abilities", async () => { - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); diff --git a/test/abilities/water_bubble.test.ts b/test/abilities/water_bubble.test.ts index c1e2acbd468..412c4a25035 100644 --- a/test/abilities/water_bubble.test.ts +++ b/test/abilities/water_bubble.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Water Bubble", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove burn when gained", async () => { game.override - .ability(Abilities.THERMAL_EXCHANGE) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.THERMAL_EXCHANGE) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.BURN); expect(enemy?.status?.effect).toBe(StatusEffect.BURN); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/water_veil.test.ts b/test/abilities/water_veil.test.ts index 8e187ad8e58..e67287d250f 100644 --- a/test/abilities/water_veil.test.ts +++ b/test/abilities/water_veil.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,27 +23,27 @@ describe("Abilities - Water Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should remove burn when gained", async () => { game.override - .ability(Abilities.THERMAL_EXCHANGE) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SKILL_SWAP) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.FEEBAS]); + .ability(AbilityId.THERMAL_EXCHANGE) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SKILL_SWAP) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon(); enemy?.trySetStatus(StatusEffect.BURN); expect(enemy?.status?.effect).toBe(StatusEffect.BURN); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); expect(enemy?.status).toBeNull(); diff --git a/test/abilities/wimp_out.test.ts b/test/abilities/wimp_out.test.ts index 32a627f20f9..2c2ab636961 100644 --- a/test/abilities/wimp_out.test.ts +++ b/test/abilities/wimp_out.test.ts @@ -3,11 +3,11 @@ import { ArenaTagSide } from "#app/data/arena-tag"; import { allMoves } from "#app/data/data-lists"; import GameManager from "#test/testUtils/gameManager"; import { toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import { WeatherType } from "#enums/weather-type"; @@ -32,13 +32,13 @@ describe("Abilities - Wimp Out", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.WIMP_OUT) - .enemySpecies(Species.NINJASK) - .enemyPassiveAbility(Abilities.NO_GUARD) + .ability(AbilityId.WIMP_OUT) + .enemySpecies(SpeciesId.NINJASK) + .enemyPassiveAbility(AbilityId.NO_GUARD) .startingLevel(90) .enemyLevel(70) - .moveset([Moves.SPLASH, Moves.FALSE_SWIPE, Moves.ENDURE]) - .enemyMoveset(Moves.FALSE_SWIPE) + .moveset([MoveId.SPLASH, MoveId.FALSE_SWIPE, MoveId.ENDURE]) + .enemyMoveset(MoveId.FALSE_SWIPE) .disableCrits(); }); @@ -47,9 +47,9 @@ describe("Abilities - Wimp Out", () => { expect(game.phaseInterceptor.log).toContain("SwitchSummonPhase"); - expect(pokemon1.species.speciesId).not.toBe(Species.WIMPOD); + expect(pokemon1.species.speciesId).not.toBe(SpeciesId.WIMPOD); - expect(pokemon2.species.speciesId).toBe(Species.WIMPOD); + expect(pokemon2.species.speciesId).toBe(SpeciesId.WIMPOD); expect(pokemon2.isFainted()).toBe(false); expect(pokemon2.getHpRatio()).toBeLessThan(0.5); } @@ -59,20 +59,20 @@ describe("Abilities - Wimp Out", () => { expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); - expect(pokemon2.species.speciesId).not.toBe(Species.WIMPOD); + expect(pokemon2.species.speciesId).not.toBe(SpeciesId.WIMPOD); - expect(pokemon1.species.speciesId).toBe(Species.WIMPOD); + expect(pokemon1.species.speciesId).toBe(SpeciesId.WIMPOD); expect(pokemon1.isFainted()).toBe(false); expect(pokemon1.getHpRatio()).toBeLessThan(0.5); } it("triggers regenerator passive single time when switching out with wimp out", async () => { - game.override.passiveAbility(Abilities.REGENERATOR).startingLevel(5).enemyLevel(100); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.passiveAbility(AbilityId.REGENERATOR).startingLevel(5).enemyLevel(100); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); const wimpod = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -81,13 +81,13 @@ describe("Abilities - Wimp Out", () => { }); it("It makes wild pokemon flee if triggered", async () => { - game.override.enemyAbility(Abilities.WIMP_OUT); - await game.classicMode.startBattle([Species.GOLISOPOD, Species.TYRUNT]); + game.override.enemyAbility(AbilityId.WIMP_OUT); + await game.classicMode.startBattle([SpeciesId.GOLISOPOD, SpeciesId.TYRUNT]); const enemyPokemon = game.scene.getEnemyPokemon()!; enemyPokemon.hp *= 0.52; - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.phaseInterceptor.to("BerryPhase"); const isVisible = enemyPokemon.visible; @@ -96,11 +96,11 @@ describe("Abilities - Wimp Out", () => { }); it("Does not trigger when HP already below half", async () => { - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); const wimpod = game.scene.getPlayerPokemon()!; wimpod.hp = 5; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(wimpod.hp).toEqual(1); @@ -108,10 +108,10 @@ describe("Abilities - Wimp Out", () => { }); it("Trapping moves do not prevent Wimp Out from activating.", async () => { - game.override.enemyMoveset([Moves.SPIRIT_SHACKLE]).startingLevel(53).enemyLevel(45); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyMoveset([MoveId.SPIRIT_SHACKLE]).startingLevel(53).enemyLevel(45); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -123,10 +123,10 @@ describe("Abilities - Wimp Out", () => { }); it("If this Ability activates due to being hit by U-turn or Volt Switch, the user of that move will not be switched out.", async () => { - game.override.startingLevel(95).enemyMoveset([Moves.U_TURN]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.startingLevel(95).enemyMoveset([MoveId.U_TURN]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -137,36 +137,36 @@ describe("Abilities - Wimp Out", () => { }); it("If this Ability does not activate due to being hit by U-turn or Volt Switch, the user of that move will be switched out.", async () => { - game.override.startingLevel(190).startingWave(8).enemyMoveset([Moves.U_TURN]); - await game.classicMode.startBattle([Species.GOLISOPOD, Species.TYRUNT]); + game.override.startingLevel(190).startingWave(8).enemyMoveset([MoveId.U_TURN]); + await game.classicMode.startBattle([SpeciesId.GOLISOPOD, SpeciesId.TYRUNT]); const RIVAL_NINJASK1 = game.scene.getEnemyPokemon()?.id; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.getEnemyPokemon()?.id !== RIVAL_NINJASK1); }); it("Dragon Tail and Circle Throw switch out Pokémon before the Ability activates.", async () => { - game.override.startingLevel(69).enemyMoveset([Moves.DRAGON_TAIL]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.startingLevel(69).enemyMoveset([MoveId.DRAGON_TAIL]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); const wimpod = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("SwitchSummonPhase", false); - expect(wimpod.waveData.abilitiesApplied).not.toContain(Abilities.WIMP_OUT); + expect(wimpod.waveData.abilitiesApplied).not.toContain(AbilityId.WIMP_OUT); await game.phaseInterceptor.to("TurnEndPhase"); - expect(game.scene.getPlayerPokemon()!.species.speciesId).not.toBe(Species.WIMPOD); + expect(game.scene.getPlayerPokemon()!.species.speciesId).not.toBe(SpeciesId.WIMPOD); }); it("triggers when recoil damage is taken", async () => { - game.override.moveset([Moves.HEAD_SMASH]).enemyMoveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.moveset([MoveId.HEAD_SMASH]).enemyMoveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); - game.move.select(Moves.HEAD_SMASH); + game.move.select(MoveId.HEAD_SMASH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -174,23 +174,23 @@ describe("Abilities - Wimp Out", () => { }); it("It does not activate when the Pokémon cuts its own HP", async () => { - game.override.moveset([Moves.SUBSTITUTE]).enemyMoveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.moveset([MoveId.SUBSTITUTE]).enemyMoveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); const wimpod = game.scene.getPlayerPokemon()!; wimpod.hp *= 0.52; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("TurnEndPhase"); confirmNoSwitch(); }); it("Does not trigger when neutralized", async () => { - game.override.enemyAbility(Abilities.NEUTRALIZING_GAS).startingLevel(5); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyAbility(AbilityId.NEUTRALIZING_GAS).startingLevel(5); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); confirmNoSwitch(); @@ -203,33 +203,33 @@ describe("Abilities - Wimp Out", () => { "If it falls below half and recovers back above half from a Shell Bell, Wimp Out will activate even after the Shell Bell recovery", async () => { game.override - .moveset([Moves.DOUBLE_EDGE]) - .enemyMoveset([Moves.SPLASH]) + .moveset([MoveId.DOUBLE_EDGE]) + .enemyMoveset([MoveId.SPLASH]) .startingHeldItems([{ name: "SHELL_BELL", count: 4 }]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); const wimpod = game.scene.getPlayerPokemon()!; wimpod.damageAndUpdate(toDmgValue(wimpod.getMaxHp() * 0.4)); - game.move.select(Moves.DOUBLE_EDGE); + game.move.select(MoveId.DOUBLE_EDGE); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerParty()[1]).toBe(wimpod); expect(wimpod.hp).toBeGreaterThan(toDmgValue(wimpod.getMaxHp() / 2)); expect(game.phaseInterceptor.log).toContain("SwitchSummonPhase"); - expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(Species.TYRUNT); + expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(SpeciesId.TYRUNT); }, ); it("Wimp Out will activate due to weather damage", async () => { - game.override.weather(WeatherType.HAIL).enemyMoveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.weather(WeatherType.HAIL).enemyMoveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -237,24 +237,24 @@ describe("Abilities - Wimp Out", () => { }); it("Does not trigger when enemy has sheer force", async () => { - game.override.enemyAbility(Abilities.SHEER_FORCE).enemyMoveset(Moves.SLUDGE_BOMB).startingLevel(95); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyAbility(AbilityId.SHEER_FORCE).enemyMoveset(MoveId.SLUDGE_BOMB).startingLevel(95); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.ENDURE); + game.move.select(MoveId.ENDURE); await game.phaseInterceptor.to("TurnEndPhase"); confirmNoSwitch(); }); it("Wimp Out will activate due to post turn status damage", async () => { - game.override.statusEffect(StatusEffect.POISON).enemyMoveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.statusEffect(StatusEffect.POISON).enemyMoveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -262,12 +262,12 @@ describe("Abilities - Wimp Out", () => { }); it("Wimp Out will activate due to bad dreams", async () => { - game.override.statusEffect(StatusEffect.SLEEP).enemyAbility(Abilities.BAD_DREAMS); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.statusEffect(StatusEffect.SLEEP).enemyAbility(AbilityId.BAD_DREAMS); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.52; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -275,11 +275,11 @@ describe("Abilities - Wimp Out", () => { }); it("Wimp Out will activate due to leech seed", async () => { - game.override.enemyMoveset([Moves.LEECH_SEED]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyMoveset([MoveId.LEECH_SEED]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.52; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -287,11 +287,11 @@ describe("Abilities - Wimp Out", () => { }); it("Wimp Out will activate due to curse damage", async () => { - game.override.enemySpecies(Species.DUSKNOIR).enemyMoveset([Moves.CURSE]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemySpecies(SpeciesId.DUSKNOIR).enemyMoveset([MoveId.CURSE]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.52; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -299,11 +299,11 @@ describe("Abilities - Wimp Out", () => { }); it("Wimp Out will activate due to salt cure damage", async () => { - game.override.enemySpecies(Species.NACLI).enemyMoveset([Moves.SALT_CURE]).enemyLevel(1); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemySpecies(SpeciesId.NACLI).enemyMoveset([MoveId.SALT_CURE]).enemyLevel(1); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.7; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -311,11 +311,11 @@ describe("Abilities - Wimp Out", () => { }); it("Wimp Out will activate due to damaging trap damage", async () => { - game.override.enemySpecies(Species.MAGIKARP).enemyMoveset([Moves.WHIRLPOOL]).enemyLevel(1); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemySpecies(SpeciesId.MAGIKARP).enemyMoveset([MoveId.WHIRLPOOL]).enemyLevel(1); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.55; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -323,32 +323,32 @@ describe("Abilities - Wimp Out", () => { }); it("Magic Guard passive should not allow indirect damage to trigger Wimp Out", async () => { - game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, Moves.STEALTH_ROCK, 0, ArenaTagSide.ENEMY); - game.scene.arena.addTag(ArenaTagType.SPIKES, 1, Moves.SPIKES, 0, ArenaTagSide.ENEMY); + game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, MoveId.STEALTH_ROCK, 0, ArenaTagSide.ENEMY); + game.scene.arena.addTag(ArenaTagType.SPIKES, 1, MoveId.SPIKES, 0, ArenaTagSide.ENEMY); game.override - .passiveAbility(Abilities.MAGIC_GUARD) - .enemyMoveset([Moves.LEECH_SEED]) + .passiveAbility(AbilityId.MAGIC_GUARD) + .enemyMoveset([MoveId.LEECH_SEED]) .weather(WeatherType.HAIL) .statusEffect(StatusEffect.POISON); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerParty()[0].getHpRatio()).toEqual(0.51); expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); - expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(Species.WIMPOD); + expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(SpeciesId.WIMPOD); }); it("Wimp Out activating should not cancel a double battle", async () => { - game.override.battleStyle("double").enemyAbility(Abilities.WIMP_OUT).enemyMoveset([Moves.SPLASH]).enemyLevel(1); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.battleStyle("double").enemyAbility(AbilityId.WIMP_OUT).enemyMoveset([MoveId.SPLASH]).enemyLevel(1); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); const enemyLeadPokemon = game.scene.getEnemyParty()[0]; const enemySecPokemon = game.scene.getEnemyParty()[1]; - game.move.select(Moves.FALSE_SWIPE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FALSE_SWIPE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); @@ -363,15 +363,15 @@ describe("Abilities - Wimp Out", () => { it("Wimp Out will activate due to aftermath", async () => { game.override - .moveset([Moves.THUNDER_PUNCH]) - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.AFTERMATH) - .enemyMoveset([Moves.SPLASH]) + .moveset([MoveId.THUNDER_PUNCH]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.AFTERMATH) + .enemyMoveset([MoveId.SPLASH]) .enemyLevel(1); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.THUNDER_PUNCH); + game.move.select(MoveId.THUNDER_PUNCH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -379,21 +379,21 @@ describe("Abilities - Wimp Out", () => { }); it("Activates due to entry hazards", async () => { - game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, Moves.STEALTH_ROCK, 0, ArenaTagSide.ENEMY); - game.scene.arena.addTag(ArenaTagType.SPIKES, 1, Moves.SPIKES, 0, ArenaTagSide.ENEMY); - game.override.enemySpecies(Species.CENTISKORCH).enemyAbility(Abilities.WIMP_OUT).startingWave(4); - await game.classicMode.startBattle([Species.TYRUNT]); + game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, MoveId.STEALTH_ROCK, 0, ArenaTagSide.ENEMY); + game.scene.arena.addTag(ArenaTagType.SPIKES, 1, MoveId.SPIKES, 0, ArenaTagSide.ENEMY); + game.override.enemySpecies(SpeciesId.CENTISKORCH).enemyAbility(AbilityId.WIMP_OUT).startingWave(4); + await game.classicMode.startBattle([SpeciesId.TYRUNT]); expect(game.phaseInterceptor.log).not.toContain("MovePhase"); expect(game.phaseInterceptor.log).toContain("BattleEndPhase"); }); it("Wimp Out will activate due to Nightmare", async () => { - game.override.enemyMoveset([Moves.NIGHTMARE]).statusEffect(StatusEffect.SLEEP); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyMoveset([MoveId.NIGHTMARE]).statusEffect(StatusEffect.SLEEP); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.65; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -401,11 +401,11 @@ describe("Abilities - Wimp Out", () => { }); it("triggers status on the wimp out user before a new pokemon is switched in", async () => { - game.override.enemyMoveset(Moves.SLUDGE_BOMB).startingLevel(80); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); - vi.spyOn(allMoves[Moves.SLUDGE_BOMB], "chance", "get").mockReturnValue(100); + game.override.enemyMoveset(MoveId.SLUDGE_BOMB).startingLevel(80); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); + vi.spyOn(allMoves[MoveId.SLUDGE_BOMB], "chance", "get").mockReturnValue(100); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -414,12 +414,12 @@ describe("Abilities - Wimp Out", () => { }); it("triggers after last hit of multi hit move", async () => { - game.override.enemyMoveset(Moves.BULLET_SEED).enemyAbility(Abilities.SKILL_LINK); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyMoveset(MoveId.BULLET_SEED).enemyAbility(AbilityId.SKILL_LINK); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.ENDURE); + game.move.select(MoveId.ENDURE); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -430,12 +430,12 @@ describe("Abilities - Wimp Out", () => { }); it("triggers after last hit of multi hit move (multi lens)", async () => { - game.override.enemyMoveset(Moves.TACKLE).enemyHeldItems([{ name: "MULTI_LENS", count: 1 }]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyMoveset(MoveId.TACKLE).enemyHeldItems([{ name: "MULTI_LENS", count: 1 }]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.ENDURE); + game.move.select(MoveId.ENDURE); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -445,12 +445,12 @@ describe("Abilities - Wimp Out", () => { confirmSwitch(); }); it("triggers after last hit of Parental Bond", async () => { - game.override.enemyMoveset(Moves.TACKLE).enemyAbility(Abilities.PARENTAL_BOND); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.enemyMoveset(MoveId.TACKLE).enemyAbility(AbilityId.PARENTAL_BOND); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); game.scene.getPlayerPokemon()!.hp *= 0.51; - game.move.select(Moves.ENDURE); + game.move.select(MoveId.ENDURE); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -464,8 +464,8 @@ describe("Abilities - Wimp Out", () => { it.todo( "Wimp Out will not activate if the Pokémon's HP falls below half due to hurting itself in confusion", async () => { - game.override.moveset([Moves.SWORDS_DANCE]).enemyMoveset([Moves.SWAGGER]); - await game.classicMode.startBattle([Species.WIMPOD, Species.TYRUNT]); + game.override.moveset([MoveId.SWORDS_DANCE]).enemyMoveset([MoveId.SWAGGER]); + await game.classicMode.startBattle([SpeciesId.WIMPOD, SpeciesId.TYRUNT]); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.hp *= 0.51; playerPokemon.setStatStage(Stat.ATK, 6); @@ -474,7 +474,7 @@ describe("Abilities - Wimp Out", () => { // TODO: add helper function to force confusion self-hits while (playerPokemon.getHpRatio() > 0.49) { - game.move.select(Moves.SWORDS_DANCE); + game.move.select(MoveId.SWORDS_DANCE); await game.phaseInterceptor.to("TurnEndPhase"); } @@ -483,15 +483,15 @@ describe("Abilities - Wimp Out", () => { ); it("should not activate on wave X0 bosses", async () => { - game.override.enemyAbility(Abilities.WIMP_OUT).startingLevel(5850).startingWave(10); - await game.classicMode.startBattle([Species.GOLISOPOD]); + game.override.enemyAbility(AbilityId.WIMP_OUT).startingLevel(5850).startingWave(10); + await game.classicMode.startBattle([SpeciesId.GOLISOPOD]); const enemyPokemon = game.scene.getEnemyPokemon()!; // Use 2 turns of False Swipe due to opponent's health bar shield - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.toNextTurn(); - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.toNextTurn(); const isVisible = enemyPokemon.visible; @@ -502,19 +502,19 @@ describe("Abilities - Wimp Out", () => { it("wimp out will not skip battles when triggered in a double battle", async () => { const wave = 2; game.override - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.WIMPOD) - .enemyAbility(Abilities.WIMP_OUT) - .moveset([Moves.MATCHA_GOTCHA, Moves.FALSE_SWIPE]) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.WIMPOD) + .enemyAbility(AbilityId.WIMP_OUT) + .moveset([MoveId.MATCHA_GOTCHA, MoveId.FALSE_SWIPE]) .startingLevel(50) .enemyLevel(1) .battleStyle("double") .startingWave(wave); - await game.classicMode.startBattle([Species.RAICHU, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.PIKACHU]); const [wimpod0, wimpod1] = game.scene.getEnemyField(); - game.move.select(Moves.FALSE_SWIPE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.MATCHA_GOTCHA, 1); + game.move.select(MoveId.FALSE_SWIPE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.MATCHA_GOTCHA, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -530,22 +530,22 @@ describe("Abilities - Wimp Out", () => { it("wimp out should not skip battles when triggering the same turn as another enemy faints", async () => { const wave = 2; game.override - .enemySpecies(Species.WIMPOD) - .enemyAbility(Abilities.WIMP_OUT) + .enemySpecies(SpeciesId.WIMPOD) + .enemyAbility(AbilityId.WIMP_OUT) .startingLevel(50) .enemyLevel(1) - .enemyMoveset([Moves.SPLASH, Moves.ENDURE]) + .enemyMoveset([MoveId.SPLASH, MoveId.ENDURE]) .battleStyle("double") - .moveset([Moves.DRAGON_ENERGY, Moves.SPLASH]) + .moveset([MoveId.DRAGON_ENERGY, MoveId.SPLASH]) .startingWave(wave); - await game.classicMode.startBattle([Species.REGIDRAGO, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.REGIDRAGO, SpeciesId.MAGIKARP]); // turn 1 - game.move.select(Moves.DRAGON_ENERGY, 0); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.ENDURE); + game.move.select(MoveId.DRAGON_ENERGY, 0); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.ENDURE); await game.phaseInterceptor.to("SelectModifierPhase"); expect(game.scene.currentBattle.waveIndex).toBe(wave + 1); diff --git a/test/abilities/wind_power.test.ts b/test/abilities/wind_power.test.ts index 11585520c73..a7b4d525a56 100644 --- a/test/abilities/wind_power.test.ts +++ b/test/abilities/wind_power.test.ts @@ -1,8 +1,8 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,51 +24,51 @@ describe("Abilities - Wind Power", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.SHIFTRY); - game.override.enemyAbility(Abilities.WIND_POWER); - game.override.moveset([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemySpecies(SpeciesId.SHIFTRY); + game.override.enemyAbility(AbilityId.WIND_POWER); + game.override.moveset([MoveId.TAILWIND, MoveId.SPLASH, MoveId.PETAL_BLIZZARD, MoveId.SANDSTORM]); + game.override.enemyMoveset(MoveId.SPLASH); }); it("it becomes charged when hit by wind moves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const shiftry = game.scene.getEnemyPokemon()!; expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined(); - game.move.select(Moves.PETAL_BLIZZARD); + game.move.select(MoveId.PETAL_BLIZZARD); await game.phaseInterceptor.to(TurnEndPhase); expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeDefined(); }); it("it becomes charged when Tailwind takes effect on its side", async () => { - game.override.ability(Abilities.WIND_POWER); - game.override.enemySpecies(Species.MAGIKARP); + game.override.ability(AbilityId.WIND_POWER); + game.override.enemySpecies(SpeciesId.MAGIKARP); - await game.classicMode.startBattle([Species.SHIFTRY]); + await game.classicMode.startBattle([SpeciesId.SHIFTRY]); const shiftry = game.scene.getPlayerPokemon()!; expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined(); - game.move.select(Moves.TAILWIND); + game.move.select(MoveId.TAILWIND); await game.phaseInterceptor.to(TurnEndPhase); expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeDefined(); }); it("does not become charged when Tailwind takes effect on opposing side", async () => { - game.override.enemySpecies(Species.MAGIKARP); - game.override.ability(Abilities.WIND_POWER); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.ability(AbilityId.WIND_POWER); - await game.classicMode.startBattle([Species.SHIFTRY]); + await game.classicMode.startBattle([SpeciesId.SHIFTRY]); const magikarp = game.scene.getEnemyPokemon()!; const shiftry = game.scene.getPlayerPokemon()!; expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined(); expect(magikarp.getTag(BattlerTagType.CHARGED)).toBeUndefined(); - game.move.select(Moves.TAILWIND); + game.move.select(MoveId.TAILWIND); await game.phaseInterceptor.to(TurnEndPhase); @@ -77,14 +77,14 @@ describe("Abilities - Wind Power", () => { }); it("does not interact with Sandstorm", async () => { - game.override.enemySpecies(Species.MAGIKARP); + game.override.enemySpecies(SpeciesId.MAGIKARP); - await game.classicMode.startBattle([Species.SHIFTRY]); + await game.classicMode.startBattle([SpeciesId.SHIFTRY]); const shiftry = game.scene.getPlayerPokemon()!; expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined(); - game.move.select(Moves.SANDSTORM); + game.move.select(MoveId.SANDSTORM); await game.phaseInterceptor.to(TurnEndPhase); diff --git a/test/abilities/wind_rider.test.ts b/test/abilities/wind_rider.test.ts index f8301aa03fc..ea1747fcae9 100644 --- a/test/abilities/wind_rider.test.ts +++ b/test/abilities/wind_rider.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,19 +24,19 @@ describe("Abilities - Wind Rider", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.SHIFTRY) - .enemyAbility(Abilities.WIND_RIDER) - .moveset([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.SHIFTRY) + .enemyAbility(AbilityId.WIND_RIDER) + .moveset([MoveId.TAILWIND, MoveId.SPLASH, MoveId.PETAL_BLIZZARD, MoveId.SANDSTORM]) + .enemyMoveset(MoveId.SPLASH); }); it("takes no damage from wind moves and its ATK stat stage is raised by 1 when hit by one", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const shiftry = game.scene.getEnemyPokemon()!; expect(shiftry.getStatStage(Stat.ATK)).toBe(0); - game.move.select(Moves.PETAL_BLIZZARD); + game.move.select(MoveId.PETAL_BLIZZARD); await game.phaseInterceptor.to("TurnEndPhase"); @@ -45,14 +45,14 @@ describe("Abilities - Wind Rider", () => { }); it("ATK stat stage is raised by 1 when Tailwind is present on its side", async () => { - game.override.enemySpecies(Species.MAGIKARP).ability(Abilities.WIND_RIDER); + game.override.enemySpecies(SpeciesId.MAGIKARP).ability(AbilityId.WIND_RIDER); - await game.classicMode.startBattle([Species.SHIFTRY]); + await game.classicMode.startBattle([SpeciesId.SHIFTRY]); const shiftry = game.scene.getPlayerPokemon()!; expect(shiftry.getStatStage(Stat.ATK)).toBe(0); - game.move.select(Moves.TAILWIND); + game.move.select(MoveId.TAILWIND); await game.phaseInterceptor.to("TurnEndPhase"); @@ -60,16 +60,16 @@ describe("Abilities - Wind Rider", () => { }); it("does not raise ATK stat stage when Tailwind is present on opposing side", async () => { - game.override.enemySpecies(Species.MAGIKARP).ability(Abilities.WIND_RIDER); + game.override.enemySpecies(SpeciesId.MAGIKARP).ability(AbilityId.WIND_RIDER); - await game.classicMode.startBattle([Species.SHIFTRY]); + await game.classicMode.startBattle([SpeciesId.SHIFTRY]); const magikarp = game.scene.getEnemyPokemon()!; const shiftry = game.scene.getPlayerPokemon()!; expect(shiftry.getStatStage(Stat.ATK)).toBe(0); expect(magikarp.getStatStage(Stat.ATK)).toBe(0); - game.move.select(Moves.TAILWIND); + game.move.select(MoveId.TAILWIND); await game.phaseInterceptor.to("TurnEndPhase"); @@ -78,16 +78,16 @@ describe("Abilities - Wind Rider", () => { }); it("does not raise ATK stat stage when Tailwind is present on opposing side", async () => { - game.override.enemySpecies(Species.MAGIKARP).ability(Abilities.WIND_RIDER); + game.override.enemySpecies(SpeciesId.MAGIKARP).ability(AbilityId.WIND_RIDER); - await game.classicMode.startBattle([Species.SHIFTRY]); + await game.classicMode.startBattle([SpeciesId.SHIFTRY]); const magikarp = game.scene.getEnemyPokemon()!; const shiftry = game.scene.getPlayerPokemon()!; expect(shiftry.getStatStage(Stat.ATK)).toBe(0); expect(magikarp.getStatStage(Stat.ATK)).toBe(0); - game.move.select(Moves.TAILWIND); + game.move.select(MoveId.TAILWIND); await game.phaseInterceptor.to("TurnEndPhase"); @@ -96,15 +96,15 @@ describe("Abilities - Wind Rider", () => { }); it("does not interact with Sandstorm", async () => { - game.override.enemySpecies(Species.MAGIKARP); + game.override.enemySpecies(SpeciesId.MAGIKARP); - await game.classicMode.startBattle([Species.SHIFTRY]); + await game.classicMode.startBattle([SpeciesId.SHIFTRY]); const shiftry = game.scene.getPlayerPokemon()!; expect(shiftry.getStatStage(Stat.ATK)).toBe(0); expect(shiftry.isFullHp()).toBe(true); - game.move.select(Moves.SANDSTORM); + game.move.select(MoveId.SANDSTORM); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/abilities/wonder_skin.test.ts b/test/abilities/wonder_skin.test.ts index cb5dd4e117f..933d3653580 100644 --- a/test/abilities/wonder_skin.test.ts +++ b/test/abilities/wonder_skin.test.ts @@ -1,8 +1,8 @@ import { allMoves } from "#app/data/data-lists"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,53 +24,53 @@ describe("Abilities - Wonder Skin", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.moveset([Moves.TACKLE, Moves.CHARM]); - game.override.ability(Abilities.BALL_FETCH); - game.override.enemySpecies(Species.SHUCKLE); - game.override.enemyAbility(Abilities.WONDER_SKIN); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.TACKLE, MoveId.CHARM]); + game.override.ability(AbilityId.BALL_FETCH); + game.override.enemySpecies(SpeciesId.SHUCKLE); + game.override.enemyAbility(AbilityId.WONDER_SKIN); + game.override.enemyMoveset(MoveId.SPLASH); }); it("lowers accuracy of status moves to 50%", async () => { - const moveToCheck = allMoves[Moves.CHARM]; + const moveToCheck = allMoves[MoveId.CHARM]; vi.spyOn(moveToCheck, "calculateBattleAccuracy"); - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.CHARM); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.CHARM); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattleAccuracy).toHaveReturnedWith(50); }); it("does not lower accuracy of non-status moves", async () => { - const moveToCheck = allMoves[Moves.TACKLE]; + const moveToCheck = allMoves[MoveId.TACKLE]; vi.spyOn(moveToCheck, "calculateBattleAccuracy"); - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.TACKLE); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattleAccuracy).toHaveReturnedWith(100); }); const bypassAbilities = [ - [Abilities.MOLD_BREAKER, "Mold Breaker"], - [Abilities.TERAVOLT, "Teravolt"], - [Abilities.TURBOBLAZE, "Turboblaze"], + [AbilityId.MOLD_BREAKER, "Mold Breaker"], + [AbilityId.TERAVOLT, "Teravolt"], + [AbilityId.TURBOBLAZE, "Turboblaze"], ]; bypassAbilities.forEach(ability => { it(`does not affect pokemon with ${ability[1]}`, async () => { - const moveToCheck = allMoves[Moves.CHARM]; + const moveToCheck = allMoves[MoveId.CHARM]; // @ts-ignore ts doesn't know that ability[0] is an ability and not a string... game.override.ability(ability[0]); vi.spyOn(moveToCheck, "calculateBattleAccuracy"); - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.CHARM); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.CHARM); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattleAccuracy).toHaveReturnedWith(100); diff --git a/test/abilities/zen_mode.test.ts b/test/abilities/zen_mode.test.ts index 1eb27a8f6c7..163df7b1853 100644 --- a/test/abilities/zen_mode.test.ts +++ b/test/abilities/zen_mode.test.ts @@ -1,7 +1,7 @@ import { Status } from "#app/data/status-effect"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -28,20 +28,20 @@ describe("Abilities - ZEN MODE", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) .enemyLevel(5) - .ability(Abilities.ZEN_MODE) - .moveset(Moves.SPLASH) - .enemyMoveset(Moves.SEISMIC_TOSS); + .ability(AbilityId.ZEN_MODE) + .moveset(MoveId.SPLASH) + .enemyMoveset(MoveId.SEISMIC_TOSS); }); it("shouldn't change form when taking damage if not dropping below 50% HP", async () => { - await game.classicMode.startBattle([Species.DARMANITAN]); + await game.classicMode.startBattle([SpeciesId.DARMANITAN]); const darmanitan = game.scene.getPlayerPokemon()!; expect(darmanitan.formIndex).toBe(baseForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(darmanitan.getHpRatio()).toBeLessThan(1); @@ -50,13 +50,13 @@ describe("Abilities - ZEN MODE", () => { }); it("should change form when falling below 50% HP", async () => { - await game.classicMode.startBattle([Species.DARMANITAN]); + await game.classicMode.startBattle([SpeciesId.DARMANITAN]); const darmanitan = game.scene.getPlayerPokemon()!; darmanitan.hp = darmanitan.getMaxHp() / 2 + 1; expect(darmanitan.formIndex).toBe(baseForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(darmanitan.getHpRatio()).toBeLessThan(0.5); @@ -64,18 +64,18 @@ describe("Abilities - ZEN MODE", () => { }); it("should stay zen mode when fainted", async () => { - await game.classicMode.startBattle([Species.DARMANITAN, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.DARMANITAN, SpeciesId.CHARIZARD]); const darmanitan = game.scene.getPlayerPokemon()!; darmanitan.hp = darmanitan.getMaxHp() / 2 + 1; expect(darmanitan.formIndex).toBe(baseForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(darmanitan.getHpRatio()).toBeLessThan(0.5); expect(darmanitan.formIndex).toBe(zenForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.killPokemon(darmanitan); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -87,10 +87,10 @@ describe("Abilities - ZEN MODE", () => { it("should switch to base form on arena reset", async () => { game.override.startingWave(4); game.override.starterForms({ - [Species.DARMANITAN]: zenForm, + [SpeciesId.DARMANITAN]: zenForm, }); - await game.classicMode.startBattle([Species.MAGIKARP, Species.DARMANITAN]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.DARMANITAN]); const darmanitan = game.scene.getPlayerParty()[1]; darmanitan.hp = 1; @@ -100,7 +100,7 @@ describe("Abilities - ZEN MODE", () => { darmanitan.status = new Status(StatusEffect.FAINT); expect(darmanitan.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); diff --git a/test/abilities/zero_to_hero.test.ts b/test/abilities/zero_to_hero.test.ts index c159d007765..90e10c89ca1 100644 --- a/test/abilities/zero_to_hero.test.ts +++ b/test/abilities/zero_to_hero.test.ts @@ -1,9 +1,9 @@ import { Status } from "#app/data/status-effect"; import { QuietFormChangePhase } from "#app/phases/quiet-form-change-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,18 +28,18 @@ describe("Abilities - ZERO TO HERO", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset(Moves.SPLASH) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH); + .moveset(MoveId.SPLASH) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH); }); it("should swap to base form on arena reset", async () => { game.override.startingWave(4); game.override.starterForms({ - [Species.PALAFIN]: heroForm, + [SpeciesId.PALAFIN]: heroForm, }); - await game.classicMode.startBattle([Species.FEEBAS, Species.PALAFIN, Species.PALAFIN]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.PALAFIN, SpeciesId.PALAFIN]); const palafin1 = game.scene.getPlayerParty()[1]; const palafin2 = game.scene.getPlayerParty()[2]; @@ -49,7 +49,7 @@ describe("Abilities - ZERO TO HERO", () => { palafin2.status = new Status(StatusEffect.FAINT); expect(palafin2.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to(TurnEndPhase); game.doSelectModifier(); @@ -61,7 +61,7 @@ describe("Abilities - ZERO TO HERO", () => { }); it("should swap to Hero form when switching out during a battle", async () => { - await game.classicMode.startBattle([Species.PALAFIN, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.PALAFIN, SpeciesId.FEEBAS]); const palafin = game.scene.getPlayerPokemon()!; expect(palafin.formIndex).toBe(baseForm); @@ -72,12 +72,12 @@ describe("Abilities - ZERO TO HERO", () => { }); it("should not swap to Hero form if switching due to faint", async () => { - await game.classicMode.startBattle([Species.PALAFIN, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.PALAFIN, SpeciesId.FEEBAS]); const palafin = game.scene.getPlayerPokemon()!; expect(palafin.formIndex).toBe(baseForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.killPokemon(palafin); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -86,15 +86,15 @@ describe("Abilities - ZERO TO HERO", () => { it("should stay hero form if fainted and then revived", async () => { game.override.starterForms({ - [Species.PALAFIN]: heroForm, + [SpeciesId.PALAFIN]: heroForm, }); - await game.classicMode.startBattle([Species.PALAFIN, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.PALAFIN, SpeciesId.FEEBAS]); const palafin = game.scene.getPlayerPokemon()!; expect(palafin.formIndex).toBe(heroForm); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.killPokemon(palafin); game.doSelectPartyPokemon(1); await game.toNextTurn(); diff --git a/test/arena/arena_gravity.test.ts b/test/arena/arena_gravity.test.ts index 33a1631ad18..776bfa0a564 100644 --- a/test/arena/arena_gravity.test.ts +++ b/test/arena/arena_gravity.test.ts @@ -1,10 +1,10 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,31 +27,31 @@ describe("Arena - Gravity", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.TACKLE, Moves.GRAVITY, Moves.FISSURE]) - .ability(Abilities.UNNERVE) - .enemyAbility(Abilities.BALL_FETCH) - .enemySpecies(Species.SHUCKLE) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.TACKLE, MoveId.GRAVITY, MoveId.FISSURE]) + .ability(AbilityId.UNNERVE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(5); }); // Reference: https://bulbapedia.bulbagarden.net/wiki/Gravity_(move) it("non-OHKO move accuracy is multiplied by 1.67", async () => { - const moveToCheck = allMoves[Moves.TACKLE]; + const moveToCheck = allMoves[MoveId.TACKLE]; vi.spyOn(moveToCheck, "calculateBattleAccuracy"); // Setup Gravity on first turn - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.GRAVITY); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.GRAVITY); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.getTag(ArenaTagType.GRAVITY)).toBeDefined(); // Use non-OHKO move on second turn await game.toNextTurn(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("MoveEffectPhase"); expect(moveToCheck.calculateBattleAccuracy).toHaveLastReturnedWith(100 * 1.67); @@ -59,20 +59,20 @@ describe("Arena - Gravity", () => { it("OHKO move accuracy is not affected", async () => { /** See Fissure {@link https://bulbapedia.bulbagarden.net/wiki/Fissure_(move)} */ - const moveToCheck = allMoves[Moves.FISSURE]; + const moveToCheck = allMoves[MoveId.FISSURE]; vi.spyOn(moveToCheck, "calculateBattleAccuracy"); // Setup Gravity on first turn - await game.classicMode.startBattle([Species.PIKACHU]); - game.move.select(Moves.GRAVITY); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); + game.move.select(MoveId.GRAVITY); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.getTag(ArenaTagType.GRAVITY)).toBeDefined(); // Use OHKO move on second turn await game.toNextTurn(); - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); await game.phaseInterceptor.to("MoveEffectPhase"); expect(moveToCheck.calculateBattleAccuracy).toHaveLastReturnedWith(30); @@ -80,51 +80,51 @@ describe("Arena - Gravity", () => { describe("Against flying types", () => { it("can be hit by ground-type moves now", async () => { - game.override.enemySpecies(Species.PIDGEOT).moveset([Moves.GRAVITY, Moves.EARTHQUAKE]); + game.override.enemySpecies(SpeciesId.PIDGEOT).moveset([MoveId.GRAVITY, MoveId.EARTHQUAKE]); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pidgeot = game.scene.getEnemyPokemon()!; vi.spyOn(pidgeot, "getAttackTypeEffectiveness"); // Try earthquake on 1st turn (fails!); - game.move.select(Moves.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE); await game.phaseInterceptor.to("TurnEndPhase"); expect(pidgeot.getAttackTypeEffectiveness).toHaveLastReturnedWith(0); // Setup Gravity on 2nd turn await game.toNextTurn(); - game.move.select(Moves.GRAVITY); + game.move.select(MoveId.GRAVITY); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.getTag(ArenaTagType.GRAVITY)).toBeDefined(); // Use ground move on 3rd turn await game.toNextTurn(); - game.move.select(Moves.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE); await game.phaseInterceptor.to("TurnEndPhase"); expect(pidgeot.getAttackTypeEffectiveness).toHaveLastReturnedWith(1); }); it("keeps super-effective moves super-effective after using gravity", async () => { - game.override.enemySpecies(Species.PIDGEOT).moveset([Moves.GRAVITY, Moves.THUNDERBOLT]); + game.override.enemySpecies(SpeciesId.PIDGEOT).moveset([MoveId.GRAVITY, MoveId.THUNDERBOLT]); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pidgeot = game.scene.getEnemyPokemon()!; vi.spyOn(pidgeot, "getAttackTypeEffectiveness"); // Setup Gravity on 1st turn - game.move.select(Moves.GRAVITY); + game.move.select(MoveId.GRAVITY); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.getTag(ArenaTagType.GRAVITY)).toBeDefined(); // Use electric move on 2nd turn await game.toNextTurn(); - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.phaseInterceptor.to("TurnEndPhase"); expect(pidgeot.getAttackTypeEffectiveness).toHaveLastReturnedWith(2); @@ -132,19 +132,19 @@ describe("Arena - Gravity", () => { }); it("cancels Fly if its user is semi-invulnerable", async () => { - game.override.enemySpecies(Species.SNORLAX).enemyMoveset(Moves.FLY).moveset([Moves.GRAVITY, Moves.SPLASH]); + game.override.enemySpecies(SpeciesId.SNORLAX).enemyMoveset(MoveId.FLY).moveset([MoveId.GRAVITY, MoveId.SPLASH]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const charizard = game.scene.getPlayerPokemon()!; const snorlax = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(snorlax.getTag(BattlerTagType.FLYING)).toBeDefined(); - game.move.select(Moves.GRAVITY); + game.move.select(MoveId.GRAVITY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); diff --git a/test/arena/grassy_terrain.test.ts b/test/arena/grassy_terrain.test.ts index 05b57d210de..832f4400cf4 100644 --- a/test/arena/grassy_terrain.test.ts +++ b/test/arena/grassy_terrain.test.ts @@ -1,7 +1,7 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,43 +25,43 @@ describe("Arena - Grassy Terrain", () => { .battleStyle("single") .disableCrits() .enemyLevel(1) - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.STURDY) - .enemyMoveset(Moves.FLY) - .moveset([Moves.GRASSY_TERRAIN, Moves.EARTHQUAKE]) - .ability(Abilities.NO_GUARD); + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.STURDY) + .enemyMoveset(MoveId.FLY) + .moveset([MoveId.GRASSY_TERRAIN, MoveId.EARTHQUAKE]) + .ability(AbilityId.NO_GUARD); }); it("halves the damage of Earthquake", async () => { - await game.classicMode.startBattle([Species.TAUROS]); + await game.classicMode.startBattle([SpeciesId.TAUROS]); - const eq = allMoves[Moves.EARTHQUAKE]; + const eq = allMoves[MoveId.EARTHQUAKE]; vi.spyOn(eq, "calculateBattlePower"); - game.move.select(Moves.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE); await game.toNextTurn(); expect(eq.calculateBattlePower).toHaveReturnedWith(100); - game.move.select(Moves.GRASSY_TERRAIN); + game.move.select(MoveId.GRASSY_TERRAIN); await game.toNextTurn(); - game.move.select(Moves.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE); await game.phaseInterceptor.to("BerryPhase"); expect(eq.calculateBattlePower).toHaveReturnedWith(50); }); it("Does not halve the damage of Earthquake if opponent is not grounded", async () => { - await game.classicMode.startBattle([Species.NINJASK]); + await game.classicMode.startBattle([SpeciesId.NINJASK]); - const eq = allMoves[Moves.EARTHQUAKE]; + const eq = allMoves[MoveId.EARTHQUAKE]; vi.spyOn(eq, "calculateBattlePower"); - game.move.select(Moves.GRASSY_TERRAIN); + game.move.select(MoveId.GRASSY_TERRAIN); await game.toNextTurn(); - game.move.select(Moves.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE); await game.phaseInterceptor.to("BerryPhase"); expect(eq.calculateBattlePower).toHaveReturnedWith(100); diff --git a/test/arena/weather_fog.test.ts b/test/arena/weather_fog.test.ts index 69f167b8cf1..24c07d26cba 100644 --- a/test/arena/weather_fog.test.ts +++ b/test/arena/weather_fog.test.ts @@ -1,8 +1,8 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,20 +25,20 @@ describe("Weather - Fog", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.weather(WeatherType.FOG).battleStyle("single"); - game.override.moveset([Moves.TACKLE]); - game.override.ability(Abilities.BALL_FETCH); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyMoveset([Moves.SPLASH]); + game.override.moveset([MoveId.TACKLE]); + game.override.ability(AbilityId.BALL_FETCH); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyMoveset([MoveId.SPLASH]); }); it("move accuracy is multiplied by 90%", async () => { - const moveToCheck = allMoves[Moves.TACKLE]; + const moveToCheck = allMoves[MoveId.TACKLE]; vi.spyOn(moveToCheck, "calculateBattleAccuracy"); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.move.select(Moves.TACKLE); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattleAccuracy).toHaveReturnedWith(100 * 0.9); diff --git a/test/arena/weather_hail.test.ts b/test/arena/weather_hail.test.ts index 2fa4f71d8ca..072fbd20498 100644 --- a/test/arena/weather_hail.test.ts +++ b/test/arena/weather_hail.test.ts @@ -1,6 +1,6 @@ import { BattlerIndex } from "#app/battle"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,15 +25,15 @@ describe("Weather - Hail", () => { game.override .weather(WeatherType.HAIL) .battleStyle("single") - .moveset(Moves.SPLASH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.MAGIKARP); + .moveset(MoveId.SPLASH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.MAGIKARP); }); it("inflicts damage equal to 1/16 of Pokemon's max HP at turn end", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -44,10 +44,10 @@ describe("Weather - Hail", () => { }); it("does not inflict damage to a Pokemon that is underwater (Dive) or underground (Dig)", async () => { - game.override.moveset([Moves.DIG]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.DIG]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.DIG); + game.move.select(MoveId.DIG); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -60,9 +60,9 @@ describe("Weather - Hail", () => { }); it("does not inflict damage to Ice type Pokemon", async () => { - await game.classicMode.startBattle([Species.CLOYSTER]); + await game.classicMode.startBattle([SpeciesId.CLOYSTER]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/arena/weather_sandstorm.test.ts b/test/arena/weather_sandstorm.test.ts index e7620f6cf30..61001abe1f4 100644 --- a/test/arena/weather_sandstorm.test.ts +++ b/test/arena/weather_sandstorm.test.ts @@ -1,7 +1,7 @@ -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Stat } from "#app/enums/stat"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -26,15 +26,15 @@ describe("Weather - Sandstorm", () => { game.override .weather(WeatherType.SANDSTORM) .battleStyle("single") - .moveset(Moves.SPLASH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.MAGIKARP); + .moveset(MoveId.SPLASH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.MAGIKARP); }); it("inflicts damage equal to 1/16 of Pokemon's max HP at turn end", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); @@ -44,10 +44,10 @@ describe("Weather - Sandstorm", () => { }); it("does not inflict damage to a Pokemon that is underwater (Dive) or underground (Dig)", async () => { - game.override.moveset([Moves.DIVE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.DIVE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("TurnEndPhase"); @@ -61,14 +61,14 @@ describe("Weather - Sandstorm", () => { it("does not inflict damage to Rock, Ground and Steel type Pokemon", async () => { game.override .battleStyle("double") - .enemySpecies(Species.SANDSHREW) - .ability(Abilities.BALL_FETCH) - .enemyAbility(Abilities.BALL_FETCH); + .enemySpecies(SpeciesId.SANDSHREW) + .ability(AbilityId.BALL_FETCH) + .enemyAbility(AbilityId.BALL_FETCH); - await game.classicMode.startBattle([Species.ROCKRUFF, Species.KLINK]); + await game.classicMode.startBattle([SpeciesId.ROCKRUFF, SpeciesId.KLINK]); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -78,7 +78,7 @@ describe("Weather - Sandstorm", () => { }); it("increases Rock type Pokemon Sp.Def by 50%", async () => { - await game.classicMode.startBattle([Species.ROCKRUFF]); + await game.classicMode.startBattle([SpeciesId.ROCKRUFF]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerSpdef = playerPokemon.getStat(Stat.SPDEF); diff --git a/test/arena/weather_strong_winds.test.ts b/test/arena/weather_strong_winds.test.ts index b996d8bf62a..8b3c2562e6f 100644 --- a/test/arena/weather_strong_winds.test.ts +++ b/test/arena/weather_strong_winds.test.ts @@ -1,9 +1,9 @@ import { allMoves } from "#app/data/data-lists"; import { StatusEffect } from "#app/enums/status-effect"; import { TurnStartPhase } from "#app/phases/turn-start-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,66 +26,66 @@ describe("Weather - Strong Winds", () => { game = new GameManager(phaserGame); game.override.battleStyle("single"); game.override.startingLevel(10); - game.override.enemySpecies(Species.TAILLOW); - game.override.enemyAbility(Abilities.DELTA_STREAM); - game.override.moveset([Moves.THUNDERBOLT, Moves.ICE_BEAM, Moves.ROCK_SLIDE]); + game.override.enemySpecies(SpeciesId.TAILLOW); + game.override.enemyAbility(AbilityId.DELTA_STREAM); + game.override.moveset([MoveId.THUNDERBOLT, MoveId.ICE_BEAM, MoveId.ROCK_SLIDE]); }); it("electric type move is not very effective on Rayquaza", async () => { - game.override.enemySpecies(Species.RAYQUAZA); + game.override.enemySpecies(SpeciesId.RAYQUAZA); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.phaseInterceptor.to(TurnStartPhase); - expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.THUNDERBOLT].type, pikachu)).toBe(0.5); + expect(enemy.getAttackTypeEffectiveness(allMoves[MoveId.THUNDERBOLT].type, pikachu)).toBe(0.5); }); it("electric type move is neutral for flying type pokemon", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.phaseInterceptor.to(TurnStartPhase); - expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.THUNDERBOLT].type, pikachu)).toBe(1); + expect(enemy.getAttackTypeEffectiveness(allMoves[MoveId.THUNDERBOLT].type, pikachu)).toBe(1); }); it("ice type move is neutral for flying type pokemon", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ICE_BEAM); + game.move.select(MoveId.ICE_BEAM); await game.phaseInterceptor.to(TurnStartPhase); - expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.ICE_BEAM].type, pikachu)).toBe(1); + expect(enemy.getAttackTypeEffectiveness(allMoves[MoveId.ICE_BEAM].type, pikachu)).toBe(1); }); it("rock type move is neutral for flying type pokemon", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const pikachu = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ROCK_SLIDE); + game.move.select(MoveId.ROCK_SLIDE); await game.phaseInterceptor.to(TurnStartPhase); - expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.ROCK_SLIDE].type, pikachu)).toBe(1); + expect(enemy.getAttackTypeEffectiveness(allMoves[MoveId.ROCK_SLIDE].type, pikachu)).toBe(1); }); it("weather goes away when last trainer pokemon dies to indirect damage", async () => { game.override.enemyStatusEffect(StatusEffect.POISON); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; enemy.hp = 1; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.weather?.weatherType).toBeUndefined(); diff --git a/test/battle/ability_swap.test.ts b/test/battle/ability_swap.test.ts index c9f91df3a48..64446d703ac 100644 --- a/test/battle/ability_swap.test.ts +++ b/test/battle/ability_swap.test.ts @@ -1,8 +1,8 @@ import { allAbilities } from "#app/data/data-lists"; import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,42 +24,42 @@ describe("Test Ability Swapping", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should activate post-summon abilities", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); - game.scene.getPlayerPokemon()?.setTempAbility(allAbilities[Abilities.INTIMIDATE]); + game.move.select(MoveId.SPLASH); + game.scene.getPlayerPokemon()?.setTempAbility(allAbilities[AbilityId.INTIMIDATE]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); }); it("should remove primal weather when the setter's ability is removed", async () => { - game.override.ability(Abilities.DESOLATE_LAND); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.ability(AbilityId.DESOLATE_LAND); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); - game.scene.getPlayerPokemon()?.setTempAbility(allAbilities[Abilities.BALL_FETCH]); + game.move.select(MoveId.SPLASH); + game.scene.getPlayerPokemon()?.setTempAbility(allAbilities[AbilityId.BALL_FETCH]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.weather?.weatherType).toBeUndefined(); }); it("should not activate passive abilities", async () => { - game.override.passiveAbility(Abilities.INTREPID_SWORD); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.passiveAbility(AbilityId.INTREPID_SWORD); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SPLASH); - game.scene.getPlayerPokemon()?.setTempAbility(allAbilities[Abilities.BALL_FETCH]); + game.move.select(MoveId.SPLASH); + game.scene.getPlayerPokemon()?.setTempAbility(allAbilities[AbilityId.BALL_FETCH]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.ATK)).toBe(1); // would be 2 if passive activated again @@ -67,10 +67,10 @@ describe("Test Ability Swapping", () => { // Pickup and Honey Gather are special cases as they're the only abilities to be Unsuppressable but not Unswappable it("should be able to swap pickup", async () => { - game.override.ability(Abilities.PICKUP).enemyAbility(Abilities.INTIMIDATE).moveset(Moves.ROLE_PLAY); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.ability(AbilityId.PICKUP).enemyAbility(AbilityId.INTIMIDATE).moveset(MoveId.ROLE_PLAY); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.ROLE_PLAY); + game.move.select(MoveId.ROLE_PLAY); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); diff --git a/test/battle/battle-order.test.ts b/test/battle/battle-order.test.ts index 876730169f9..7983f1db1d2 100644 --- a/test/battle/battle-order.test.ts +++ b/test/battle/battle-order.test.ts @@ -1,9 +1,9 @@ import { EnemyCommandPhase } from "#app/phases/enemy-command-phase"; import { SelectTargetPhase } from "#app/phases/select-target-phase"; import { TurnStartPhase } from "#app/phases/turn-start-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,21 +25,21 @@ describe("Battle order", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.MEWTWO); - game.override.enemyAbility(Abilities.INSOMNIA); - game.override.ability(Abilities.INSOMNIA); - game.override.moveset([Moves.TACKLE]); + game.override.enemySpecies(SpeciesId.MEWTWO); + game.override.enemyAbility(AbilityId.INSOMNIA); + game.override.ability(AbilityId.INSOMNIA); + game.override.moveset([MoveId.TACKLE]); }); it("opponent faster than player 50 vs 150", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(playerPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 50]); // set playerPokemon's speed to 50 vi.spyOn(enemyPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150]); // set enemyPokemon's speed to 150 - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.run(EnemyCommandPhase); const playerPokemonIndex = playerPokemon.getBattlerIndex(); @@ -51,14 +51,14 @@ describe("Battle order", () => { }, 20000); it("Player faster than opponent 150 vs 50", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(playerPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 150]); // set playerPokemon's speed to 150 vi.spyOn(enemyPokemon, "stats", "get").mockReturnValue([20, 20, 20, 20, 20, 50]); // set enemyPokemon's speed to 50 - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.run(EnemyCommandPhase); const playerPokemonIndex = playerPokemon.getBattlerIndex(); @@ -71,7 +71,7 @@ describe("Battle order", () => { it("double - both opponents faster than player 50/50 vs 150/150", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.BULBASAUR, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); @@ -81,8 +81,8 @@ describe("Battle order", () => { const playerIndices = playerPokemon.map(p => p?.getBattlerIndex()); const enemyIndices = enemyPokemon.map(p => p?.getBattlerIndex()); - game.move.select(Moves.TACKLE); - game.move.select(Moves.TACKLE, 1); + game.move.select(MoveId.TACKLE); + game.move.select(MoveId.TACKLE, 1); await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; @@ -95,7 +95,7 @@ describe("Battle order", () => { it("double - speed tie except 1 - 100/100 vs 100/150", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.BULBASAUR, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); @@ -105,8 +105,8 @@ describe("Battle order", () => { const playerIndices = playerPokemon.map(p => p?.getBattlerIndex()); const enemyIndices = enemyPokemon.map(p => p?.getBattlerIndex()); - game.move.select(Moves.TACKLE); - game.move.select(Moves.TACKLE, 1); + game.move.select(MoveId.TACKLE); + game.move.select(MoveId.TACKLE, 1); await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; @@ -119,7 +119,7 @@ describe("Battle order", () => { it("double - speed tie 100/150 vs 100/150", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.BULBASAUR, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); @@ -130,8 +130,8 @@ describe("Battle order", () => { const playerIndices = playerPokemon.map(p => p?.getBattlerIndex()); const enemyIndices = enemyPokemon.map(p => p?.getBattlerIndex()); - game.move.select(Moves.TACKLE); - game.move.select(Moves.TACKLE, 1); + game.move.select(MoveId.TACKLE); + game.move.select(MoveId.TACKLE, 1); await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false); const phase = game.scene.getCurrentPhase() as TurnStartPhase; diff --git a/test/battle/battle.test.ts b/test/battle/battle.test.ts index 8c4315dcabc..03faf369dd7 100644 --- a/test/battle/battle.test.ts +++ b/test/battle/battle.test.ts @@ -19,13 +19,13 @@ import { VictoryPhase } from "#app/phases/victory-phase"; import GameManager from "#test/testUtils/gameManager"; import { generateStarter } from "#test/testUtils/gameManagerUtils"; import { UiMode } from "#enums/ui-mode"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { PlayerGender } from "#enums/player-gender"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; describe("Test Battle Phase", () => { let phaserGame: Phaser.Game; @@ -91,29 +91,29 @@ describe("Test Battle Phase", () => { }, 20000); it("do attack wave 3 - single battle - regular - OHKO", async () => { - game.override.starterSpecies(Species.MEWTWO); - game.override.enemySpecies(Species.RATTATA); + game.override.starterSpecies(SpeciesId.MEWTWO); + game.override.enemySpecies(SpeciesId.RATTATA); game.override.startingLevel(2000); game.override.startingWave(3).battleStyle("single"); - game.override.moveset([Moves.TACKLE]); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); + game.override.moveset([MoveId.TACKLE]); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.enemyMoveset([MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE]); await game.classicMode.startBattle(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(SelectModifierPhase, false); }, 20000); it("do attack wave 3 - single battle - regular - NO OHKO with opponent using non damage attack", async () => { - game.override.starterSpecies(Species.MEWTWO); - game.override.enemySpecies(Species.RATTATA); + game.override.starterSpecies(SpeciesId.MEWTWO); + game.override.enemySpecies(SpeciesId.RATTATA); game.override.startingLevel(5); game.override.startingWave(3); - game.override.moveset([Moves.TACKLE]); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.enemyMoveset([Moves.TAIL_WHIP, Moves.TAIL_WHIP, Moves.TAIL_WHIP, Moves.TAIL_WHIP]); + game.override.moveset([MoveId.TACKLE]); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.enemyMoveset([MoveId.TAIL_WHIP, MoveId.TAIL_WHIP, MoveId.TAIL_WHIP, MoveId.TAIL_WHIP]); game.override.battleStyle("single"); await game.classicMode.startBattle(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnInitPhase, false); }, 20000); @@ -127,10 +127,10 @@ describe("Test Battle Phase", () => { }, 20000); it("start battle with selected team", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.CHANSEY, Species.MEW]); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.CHARIZARD); - expect(game.scene.getPlayerParty()[1].species.speciesId).toBe(Species.CHANSEY); - expect(game.scene.getPlayerParty()[2].species.speciesId).toBe(Species.MEW); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.CHANSEY, SpeciesId.MEW]); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.CHARIZARD); + expect(game.scene.getPlayerParty()[1].species.speciesId).toBe(SpeciesId.CHANSEY); + expect(game.scene.getPlayerParty()[2].species.speciesId).toBe(SpeciesId.MEW); }, 20000); it("test remove random battle seed int", async () => { @@ -204,58 +204,58 @@ describe("Test Battle Phase", () => { it("2vs1", async () => { game.override.battleStyle("single"); - game.override.enemySpecies(Species.MIGHTYENA); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.ability(Abilities.HYDRATION); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + game.override.enemySpecies(SpeciesId.MIGHTYENA); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.ability(AbilityId.HYDRATION); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("1vs1", async () => { game.override.battleStyle("single"); - game.override.enemySpecies(Species.MIGHTYENA); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.ability(Abilities.HYDRATION); - await game.classicMode.startBattle([Species.BLASTOISE]); + game.override.enemySpecies(SpeciesId.MIGHTYENA); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.ability(AbilityId.HYDRATION); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("2vs2", async () => { game.override.battleStyle("double"); - game.override.enemySpecies(Species.MIGHTYENA); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.ability(Abilities.HYDRATION); + game.override.enemySpecies(SpeciesId.MIGHTYENA); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.ability(AbilityId.HYDRATION); game.override.startingWave(3); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("4vs2", async () => { game.override.battleStyle("double"); - game.override.enemySpecies(Species.MIGHTYENA); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.ability(Abilities.HYDRATION); + game.override.enemySpecies(SpeciesId.MIGHTYENA); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.ability(AbilityId.HYDRATION); game.override.startingWave(3); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD, Species.DARKRAI, Species.GABITE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD, SpeciesId.DARKRAI, SpeciesId.GABITE]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("kill opponent pokemon", async () => { - const moveToUse = Moves.SPLASH; + const moveToUse = MoveId.SPLASH; game.override.battleStyle("single"); - game.override.starterSpecies(Species.MEWTWO); - game.override.enemySpecies(Species.RATTATA); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.ability(Abilities.ZEN_MODE); + game.override.starterSpecies(SpeciesId.MEWTWO); + game.override.enemySpecies(SpeciesId.RATTATA); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.ability(AbilityId.ZEN_MODE); game.override.startingLevel(2000); game.override.startingWave(3); game.override.moveset([moveToUse]); - game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); - await game.classicMode.startBattle([Species.DARMANITAN, Species.CHARIZARD]); + game.override.enemyMoveset([MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE]); + await game.classicMode.startBattle([SpeciesId.DARMANITAN, SpeciesId.CHARIZARD]); game.move.select(moveToUse); await game.phaseInterceptor.to(DamageAnimPhase, false); @@ -265,16 +265,16 @@ describe("Test Battle Phase", () => { }, 200000); it("to next turn", async () => { - const moveToUse = Moves.SPLASH; + const moveToUse = MoveId.SPLASH; game.override.battleStyle("single"); - game.override.starterSpecies(Species.MEWTWO); - game.override.enemySpecies(Species.RATTATA); - game.override.enemyAbility(Abilities.HYDRATION); - game.override.ability(Abilities.ZEN_MODE); + game.override.starterSpecies(SpeciesId.MEWTWO); + game.override.enemySpecies(SpeciesId.RATTATA); + game.override.enemyAbility(AbilityId.HYDRATION); + game.override.ability(AbilityId.ZEN_MODE); game.override.startingLevel(2000); game.override.startingWave(3); game.override.moveset([moveToUse]); - game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE]); await game.classicMode.startBattle(); const turn = game.scene.currentBattle.turn; game.move.select(moveToUse); @@ -283,18 +283,18 @@ describe("Test Battle Phase", () => { }, 20000); it("does not set new weather if staying in same biome", async () => { - const moveToUse = Moves.SPLASH; + const moveToUse = MoveId.SPLASH; game.override .battleStyle("single") - .starterSpecies(Species.MEWTWO) - .enemySpecies(Species.RATTATA) - .enemyAbility(Abilities.HYDRATION) - .ability(Abilities.ZEN_MODE) + .starterSpecies(SpeciesId.MEWTWO) + .enemySpecies(SpeciesId.RATTATA) + .enemyAbility(AbilityId.HYDRATION) + .ability(AbilityId.ZEN_MODE) .startingLevel(2000) .startingWave(3) - .startingBiome(Biome.LAKE) + .startingBiome(BiomeId.LAKE) .moveset([moveToUse]); - game.override.enemyMoveset([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE, MoveId.TACKLE]); await game.classicMode.startBattle(); const waveIndex = game.scene.currentBattle.waveIndex; game.move.select(moveToUse); @@ -307,15 +307,15 @@ describe("Test Battle Phase", () => { }, 20000); it("does not force switch if active pokemon faints at same time as enemy mon and is revived in post-battle", async () => { - const moveToUse = Moves.TAKE_DOWN; + const moveToUse = MoveId.TAKE_DOWN; game.override .battleStyle("single") - .starterSpecies(Species.SAWK) - .enemySpecies(Species.RATTATA) + .starterSpecies(SpeciesId.SAWK) + .enemySpecies(SpeciesId.RATTATA) .startingWave(1) .startingLevel(100) .moveset([moveToUse]) - .enemyMoveset(Moves.SPLASH) + .enemyMoveset(MoveId.SPLASH) .startingHeldItems([{ name: "TEMP_STAT_STAGE_BOOSTER", type: Stat.ACC }]); await game.classicMode.startBattle(); diff --git a/test/battle/damage_calculation.test.ts b/test/battle/damage_calculation.test.ts index 1d027a96792..a054ad0f468 100644 --- a/test/battle/damage_calculation.test.ts +++ b/test/battle/damage_calculation.test.ts @@ -1,10 +1,10 @@ import { allMoves } from "#app/data/data-lists"; import type { EnemyPersistentModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,17 +27,17 @@ describe("Battle Mechanics - Damage Calculation", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .startingLevel(100) .enemyLevel(100) .disableCrits() - .moveset([Moves.TACKLE, Moves.DRAGON_RAGE, Moves.FISSURE, Moves.JUMP_KICK]); + .moveset([MoveId.TACKLE, MoveId.DRAGON_RAGE, MoveId.FISSURE, MoveId.JUMP_KICK]); }); it("Tackle deals expected base damage", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(playerPokemon, "getEffectiveStat").mockReturnValue(80); @@ -47,19 +47,19 @@ describe("Battle Mechanics - Damage Calculation", () => { // expected base damage = [(2*level/5 + 2) * power * playerATK / enemyDEF / 50] + 2 // = 31.8666... - expect(enemyPokemon.getAttackDamage({ source: playerPokemon, move: allMoves[Moves.TACKLE] }).damage).toBeCloseTo( + expect(enemyPokemon.getAttackDamage({ source: playerPokemon, move: allMoves[MoveId.TACKLE] }).damage).toBeCloseTo( 31, ); }); it("Attacks deal 1 damage at minimum", async () => { - game.override.startingLevel(1).enemySpecies(Species.AGGRON); + game.override.startingLevel(1).enemySpecies(SpeciesId.AGGRON); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const aggron = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); @@ -68,9 +68,9 @@ describe("Battle Mechanics - Damage Calculation", () => { }); it("Attacks deal 1 damage at minimum even with many tokens", async () => { - game.override.startingLevel(1).enemySpecies(Species.AGGRON).enemyAbility(Abilities.STURDY).enemyLevel(10000); + game.override.startingLevel(1).enemySpecies(SpeciesId.AGGRON).enemyAbility(AbilityId.STURDY).enemyLevel(10000); - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const dmg_redux_modifier = modifierTypes.ENEMY_DAMAGE_REDUCTION().newModifier() as EnemyPersistentModifier; dmg_redux_modifier.stackCount = 1000; @@ -78,7 +78,7 @@ describe("Battle Mechanics - Damage Calculation", () => { const aggron = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); @@ -86,35 +86,35 @@ describe("Battle Mechanics - Damage Calculation", () => { }); it("Fixed-damage moves ignore damage multipliers", async () => { - game.override.enemySpecies(Species.DRAGONITE).enemyAbility(Abilities.MULTISCALE); + game.override.enemySpecies(SpeciesId.DRAGONITE).enemyAbility(AbilityId.MULTISCALE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const magikarp = game.scene.getPlayerPokemon()!; const dragonite = game.scene.getEnemyPokemon()!; - expect(dragonite.getAttackDamage({ source: magikarp, move: allMoves[Moves.DRAGON_RAGE] }).damage).toBe(40); + expect(dragonite.getAttackDamage({ source: magikarp, move: allMoves[MoveId.DRAGON_RAGE] }).damage).toBe(40); }); it("One-hit KO moves ignore damage multipliers", async () => { - game.override.enemySpecies(Species.AGGRON).enemyAbility(Abilities.MULTISCALE); + game.override.enemySpecies(SpeciesId.AGGRON).enemyAbility(AbilityId.MULTISCALE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const magikarp = game.scene.getPlayerPokemon()!; const aggron = game.scene.getEnemyPokemon()!; - expect(aggron.getAttackDamage({ source: magikarp, move: allMoves[Moves.FISSURE] }).damage).toBe(aggron.hp); + expect(aggron.getAttackDamage({ source: magikarp, move: allMoves[MoveId.FISSURE] }).damage).toBe(aggron.hp); }); it("When the user fails to use Jump Kick with Wonder Guard ability, the damage should be 1.", async () => { - game.override.enemySpecies(Species.GASTLY).ability(Abilities.WONDER_GUARD); + game.override.enemySpecies(SpeciesId.GASTLY).ability(AbilityId.WONDER_GUARD); - await game.classicMode.startBattle([Species.SHEDINJA]); + await game.classicMode.startBattle([SpeciesId.SHEDINJA]); const shedinja = game.scene.getPlayerPokemon()!; - game.move.select(Moves.JUMP_KICK); + game.move.select(MoveId.JUMP_KICK); await game.phaseInterceptor.to("DamageAnimPhase"); @@ -122,10 +122,10 @@ describe("Battle Mechanics - Damage Calculation", () => { }); it("Charizard with odd HP survives Stealth Rock damage twice", async () => { - game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, Moves.STEALTH_ROCK, 0); - game.override.seed("Charizard Stealth Rock test").enemySpecies(Species.CHARIZARD).enemyAbility(Abilities.BLAZE); + game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, MoveId.STEALTH_ROCK, 0); + game.override.seed("Charizard Stealth Rock test").enemySpecies(SpeciesId.CHARIZARD).enemyAbility(AbilityId.BLAZE); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const charizard = game.scene.getEnemyPokemon()!; diff --git a/test/battle/double_battle.test.ts b/test/battle/double_battle.test.ts index 99c52ea5add..31bfc480c47 100644 --- a/test/battle/double_battle.test.ts +++ b/test/battle/double_battle.test.ts @@ -1,10 +1,10 @@ import { Status } from "#app/data/status-effect"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { GameModes, getGameMode } from "#app/game-mode"; import { BattleEndPhase } from "#app/phases/battle-end-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -33,11 +33,11 @@ describe("Double Battles", () => { // double-battle player's pokemon both fainted in same round, then revive one, and next double battle summons two player's pokemon successfully. // (There were bugs that either only summon one when can summon two, player stuck in switchPhase etc) it("3v2 edge case: player summons 2 pokemon on the next battle after being fainted and revived", async () => { - game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).moveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARIZARD, Species.SQUIRTLE]); + game.override.battleStyle("double").enemyMoveset(MoveId.SPLASH).moveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARIZARD, SpeciesId.SQUIRTLE]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH, 1); for (const pokemon of game.scene.getPlayerField()) { pokemon.hp = 0; @@ -50,7 +50,7 @@ describe("Double Battles", () => { await game.phaseInterceptor.to(BattleEndPhase); game.doSelectModifier(); - const charizard = game.scene.getPlayerParty().findIndex(p => p.species.speciesId === Species.CHARIZARD); + const charizard = game.scene.getPlayerParty().findIndex(p => p.species.speciesId === SpeciesId.CHARIZARD); game.doRevivePokemon(charizard); await game.phaseInterceptor.to(TurnInitPhase); @@ -67,19 +67,19 @@ describe("Double Battles", () => { }); game.override - .enemyMoveset(Moves.SPLASH) - .moveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.BALL_FETCH); + .enemyMoveset(MoveId.SPLASH) + .moveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.BALL_FETCH); // Play through endless, waves 1 to 9, counting number of double battles from waves 2 to 9 - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); game.scene.gameMode = getGameMode(GameModes.ENDLESS); for (let i = 0; i < DOUBLE_CHANCE; i++) { rngSweepProgress = (i + 0.5) / DOUBLE_CHANCE; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); diff --git a/test/battle/inverse_battle.test.ts b/test/battle/inverse_battle.test.ts index 168df0b9505..b0d9c7bb755 100644 --- a/test/battle/inverse_battle.test.ts +++ b/test/battle/inverse_battle.test.ts @@ -1,10 +1,10 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Challenges } from "#enums/challenges"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -31,22 +31,22 @@ describe("Inverse Battle", () => { game.override .battleStyle("single") - .starterSpecies(Species.FEEBAS) - .ability(Abilities.BALL_FETCH) - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .starterSpecies(SpeciesId.FEEBAS) + .ability(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("Immune types are 2x effective - Thunderbolt against Ground Type", async () => { - game.override.moveset([Moves.THUNDERBOLT]).enemySpecies(Species.SANDSHREW); + game.override.moveset([MoveId.THUNDERBOLT]).enemySpecies(SpeciesId.SANDSHREW); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -54,14 +54,14 @@ describe("Inverse Battle", () => { }); it("2x effective types are 0.5x effective - Thunderbolt against Flying Type", async () => { - game.override.moveset([Moves.THUNDERBOLT]).enemySpecies(Species.PIDGEY); + game.override.moveset([MoveId.THUNDERBOLT]).enemySpecies(SpeciesId.PIDGEY); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -69,14 +69,14 @@ describe("Inverse Battle", () => { }); it("0.5x effective types are 2x effective - Thunderbolt against Electric Type", async () => { - game.override.moveset([Moves.THUNDERBOLT]).enemySpecies(Species.CHIKORITA); + game.override.moveset([MoveId.THUNDERBOLT]).enemySpecies(SpeciesId.CHIKORITA); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -84,8 +84,8 @@ describe("Inverse Battle", () => { }); it("Stealth Rock follows the inverse matchups - Stealth Rock against Charizard deals 1/32 of max HP", async () => { - game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, Moves.STEALTH_ROCK, 0); - game.override.enemySpecies(Species.CHARIZARD).enemyLevel(100); + game.scene.arena.addTag(ArenaTagType.STEALTH_ROCK, 1, MoveId.STEALTH_ROCK, 0); + game.override.enemySpecies(SpeciesId.CHARIZARD).enemyLevel(100); await game.challengeMode.startBattle(); @@ -107,14 +107,14 @@ describe("Inverse Battle", () => { }); it("Freeze Dry is 2x effective against Water Type like other Ice type Move - Freeze Dry against Squirtle", async () => { - game.override.moveset([Moves.FREEZE_DRY]).enemySpecies(Species.SQUIRTLE); + game.override.moveset([MoveId.FREEZE_DRY]).enemySpecies(SpeciesId.SQUIRTLE); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -122,13 +122,13 @@ describe("Inverse Battle", () => { }); it("Water Absorb should heal against water moves - Water Absorb against Water gun", async () => { - game.override.moveset([Moves.WATER_GUN]).enemyAbility(Abilities.WATER_ABSORB); + game.override.moveset([MoveId.WATER_GUN]).enemyAbility(AbilityId.WATER_ABSORB); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; enemy.hp = enemy.getMaxHp() - 1; - game.move.select(Moves.WATER_GUN); + game.move.select(MoveId.WATER_GUN); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -136,13 +136,13 @@ describe("Inverse Battle", () => { }); it("Fire type does not get burned - Will-O-Wisp against Charmander", async () => { - game.override.moveset([Moves.WILL_O_WISP]).enemySpecies(Species.CHARMANDER); + game.override.moveset([MoveId.WILL_O_WISP]).enemySpecies(SpeciesId.CHARMANDER); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.WILL_O_WISP); + game.move.select(MoveId.WILL_O_WISP); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.phaseInterceptor.to("MoveEndPhase"); @@ -151,13 +151,13 @@ describe("Inverse Battle", () => { }); it("Electric type does not get paralyzed - Nuzzle against Pikachu", async () => { - game.override.moveset([Moves.NUZZLE]).enemySpecies(Species.PIKACHU).enemyLevel(50); + game.override.moveset([MoveId.NUZZLE]).enemySpecies(SpeciesId.PIKACHU).enemyLevel(50); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.NUZZLE); + game.move.select(MoveId.NUZZLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -165,13 +165,13 @@ describe("Inverse Battle", () => { }); it("Ground type is not immune to Thunder Wave - Thunder Wave against Sandshrew", async () => { - game.override.moveset([Moves.THUNDER_WAVE]).enemySpecies(Species.SANDSHREW); + game.override.moveset([MoveId.THUNDER_WAVE]).enemySpecies(SpeciesId.SANDSHREW); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.phaseInterceptor.to("MoveEndPhase"); @@ -180,21 +180,21 @@ describe("Inverse Battle", () => { }); it("Anticipation should trigger on 2x effective moves", async () => { - game.override.moveset([Moves.THUNDERBOLT]).enemySpecies(Species.SANDSHREW).enemyAbility(Abilities.ANTICIPATION); + game.override.moveset([MoveId.THUNDERBOLT]).enemySpecies(SpeciesId.SANDSHREW).enemyAbility(AbilityId.ANTICIPATION); await game.challengeMode.startBattle(); - expect(game.scene.getEnemyPokemon()?.waveData.abilitiesApplied).toContain(Abilities.ANTICIPATION); + expect(game.scene.getEnemyPokemon()?.waveData.abilitiesApplied).toContain(AbilityId.ANTICIPATION); }); it("Conversion 2 should change the type to the resistive type - Conversion 2 against Dragonite", async () => { - game.override.moveset([Moves.CONVERSION_2]).enemyMoveset(Moves.DRAGON_CLAW); + game.override.moveset([MoveId.CONVERSION_2]).enemyMoveset(MoveId.DRAGON_CLAW); await game.challengeMode.startBattle(); const player = game.scene.getPlayerPokemon()!; - game.move.select(Moves.CONVERSION_2); + game.move.select(MoveId.CONVERSION_2); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -203,14 +203,14 @@ describe("Inverse Battle", () => { }); it("Flying Press should be 0.25x effective against Grass + Dark Type - Flying Press against Meowscarada", async () => { - game.override.moveset([Moves.FLYING_PRESS]).enemySpecies(Species.MEOWSCARADA); + game.override.moveset([MoveId.FLYING_PRESS]).enemySpecies(SpeciesId.MEOWSCARADA); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FLYING_PRESS); + game.move.select(MoveId.FLYING_PRESS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -218,14 +218,14 @@ describe("Inverse Battle", () => { }); it("Scrappy ability has no effect - Tackle against Ghost Type still 2x effective with Scrappy", async () => { - game.override.moveset([Moves.TACKLE]).ability(Abilities.SCRAPPY).enemySpecies(Species.GASTLY); + game.override.moveset([MoveId.TACKLE]).ability(AbilityId.SCRAPPY).enemySpecies(SpeciesId.GASTLY); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -233,18 +233,18 @@ describe("Inverse Battle", () => { }); it("FORESIGHT has no effect - Tackle against Ghost Type still 2x effective with Foresight", async () => { - game.override.moveset([Moves.FORESIGHT, Moves.TACKLE]).enemySpecies(Species.GASTLY); + game.override.moveset([MoveId.FORESIGHT, MoveId.TACKLE]).enemySpecies(SpeciesId.GASTLY); await game.challengeMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FORESIGHT); + game.move.select(MoveId.FORESIGHT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); diff --git a/test/battle/special_battle.test.ts b/test/battle/special_battle.test.ts index 8d75e530ca6..c1a948a0759 100644 --- a/test/battle/special_battle.test.ts +++ b/test/battle/special_battle.test.ts @@ -1,8 +1,8 @@ import { CommandPhase } from "#app/phases/command-phase"; import { UiMode } from "#enums/ui-mode"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,73 +24,73 @@ describe("Test Battle Phase", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.RATTATA) + .enemySpecies(SpeciesId.RATTATA) .startingLevel(2000) - .moveset([Moves.TACKLE]) - .enemyAbility(Abilities.HYDRATION) - .ability(Abilities.HYDRATION) - .enemyMoveset(Moves.TACKLE); + .moveset([MoveId.TACKLE]) + .enemyAbility(AbilityId.HYDRATION) + .ability(AbilityId.HYDRATION) + .enemyMoveset(MoveId.TACKLE); }); it("startBattle 2vs1 boss", async () => { game.override.battleStyle("single").startingWave(10); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 boss", async () => { game.override.battleStyle("double").startingWave(10); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 trainer", async () => { game.override.battleStyle("double").startingWave(5); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs1 trainer", async () => { game.override.battleStyle("single").startingWave(5); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs1 rival", async () => { game.override.battleStyle("single").startingWave(8); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 rival", async () => { game.override.battleStyle("double").startingWave(8); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 1vs1 trainer", async () => { game.override.battleStyle("single").startingWave(5); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 2vs2 trainer", async () => { game.override.battleStyle("double").startingWave(5); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); it("startBattle 4vs2 trainer", async () => { game.override.battleStyle("double").startingWave(5); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD, Species.DARKRAI, Species.GABITE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD, SpeciesId.DARKRAI, SpeciesId.GABITE]); expect(game.scene.ui?.getMode()).toBe(UiMode.COMMAND); expect(game.scene.getCurrentPhase()!.constructor.name).toBe(CommandPhase.name); }, 20000); diff --git a/test/battlerTags/substitute.test.ts b/test/battlerTags/substitute.test.ts index 827b9f48f85..ce16cfdbcd9 100644 --- a/test/battlerTags/substitute.test.ts +++ b/test/battlerTags/substitute.test.ts @@ -4,7 +4,7 @@ import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import type BattleScene from "#app/battle-scene"; import { BattlerTagLapseType, BindTag, SubstituteTag } from "#app/data/battler-tags"; -import { Moves } from "#app/enums/moves"; +import { MoveId } from "#enums/move-id"; import { PokemonAnimType } from "#app/enums/pokemon-anim-type"; import * as messages from "#app/messages"; import { allMoves } from "#app/data/data-lists"; @@ -52,7 +52,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("sets the tag's HP to 1/4 of the source's max HP (rounded down)", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockReturnValue(true); vi.spyOn(mockPokemon.scene as BattleScene, "queueMessage").mockReturnValue(); @@ -63,7 +63,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("triggers on-add effects that bring the source out of focus", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockImplementation( (_pokemon, battleAnimType, _fieldAssets?, _delayed?) => { @@ -82,7 +82,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("removes effects that trap the source", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "queueMessage").mockReturnValue(); @@ -104,7 +104,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("triggers on-remove animation and message", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); subject.sourceInFocus = false; vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockImplementation( @@ -133,7 +133,7 @@ describe("BattlerTag - SubstituteTag", () => { getLastXMoves: vi .fn() .mockReturnValue([ - { move: Moves.TACKLE, result: MoveResult.SUCCESS } as TurnMove, + { move: MoveId.TACKLE, result: MoveResult.SUCCESS } as TurnMove, ]) as Pokemon["getLastXMoves"], } as unknown as Pokemon; @@ -141,7 +141,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("PRE_MOVE lapse triggers pre-move animation", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockImplementation( (_pokemon, battleAnimType, _fieldAssets?, _delayed?) => { @@ -160,7 +160,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("AFTER_MOVE lapse triggers post-move animation", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockImplementation( (_pokemon, battleAnimType, _fieldAssets?, _delayed?) => { @@ -180,18 +180,18 @@ describe("BattlerTag - SubstituteTag", () => { // TODO: Figure out how to mock a MoveEffectPhase correctly for this test it.todo("HIT lapse triggers on-hit message", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockReturnValue(true); vi.spyOn(mockPokemon.scene as BattleScene, "queueMessage").mockReturnValue(); const moveEffectPhase = { - move: allMoves[Moves.TACKLE], + move: allMoves[MoveId.TACKLE], getUserPokemon: vi.fn().mockReturnValue(undefined) as MoveEffectPhase["getUserPokemon"], } as MoveEffectPhase; vi.spyOn(mockPokemon.scene as BattleScene, "getCurrentPhase").mockReturnValue(moveEffectPhase); - vi.spyOn(allMoves[Moves.TACKLE], "hitsSubstitute").mockReturnValue(true); + vi.spyOn(allMoves[MoveId.TACKLE], "hitsSubstitute").mockReturnValue(true); expect(subject.lapse(mockPokemon, BattlerTagLapseType.HIT)).toBeTruthy(); @@ -200,7 +200,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("CUSTOM lapse flags the tag for removal", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockReturnValue(true); vi.spyOn(mockPokemon.scene as BattleScene, "queueMessage").mockReturnValue(); @@ -209,7 +209,7 @@ describe("BattlerTag - SubstituteTag", () => { }); it("Unsupported lapse type does nothing", async () => { - const subject = new SubstituteTag(Moves.SUBSTITUTE, mockPokemon.id); + const subject = new SubstituteTag(MoveId.SUBSTITUTE, mockPokemon.id); vi.spyOn(mockPokemon.scene as BattleScene, "triggerPokemonBattleAnim").mockReturnValue(true); vi.spyOn(mockPokemon.scene as BattleScene, "queueMessage").mockReturnValue(); diff --git a/test/boss-pokemon.test.ts b/test/boss-pokemon.test.ts index ef95ae9bcc2..fdfca9249f7 100644 --- a/test/boss-pokemon.test.ts +++ b/test/boss-pokemon.test.ts @@ -1,9 +1,9 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { EFFECTIVE_STATS } from "#app/enums/stat"; import type { EnemyPokemon } from "#app/field/pokemon"; import { toDmgValue } from "#app/utils/common"; @@ -29,12 +29,12 @@ describe("Boss Pokemon / Shields", () => { .battleStyle("single") .disableTrainerWaves() .disableCrits() - .enemySpecies(Species.RATTATA) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset(MoveId.SPLASH) .enemyHeldItems([]) .startingLevel(1000) - .moveset([Moves.FALSE_SWIPE, Moves.SUPER_FANG, Moves.SPLASH, Moves.PSYCHIC]) - .ability(Abilities.NO_GUARD); + .moveset([MoveId.FALSE_SWIPE, MoveId.SUPER_FANG, MoveId.SPLASH, MoveId.PSYCHIC]) + .ability(AbilityId.NO_GUARD); }); it("Pokemon should get shields based on their Species and level and the current wave", async () => { @@ -42,30 +42,30 @@ describe("Boss Pokemon / Shields", () => { let wave = 5; // On normal waves, no shields... - expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(Species.RATTATA))).toBe(0); + expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(SpeciesId.RATTATA))).toBe(0); // ... expect (sub)-legendary and mythical Pokemon who always get shields - expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(Species.MEW))).toBe(2); + expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(SpeciesId.MEW))).toBe(2); // Pokemon with 670+ BST get an extra shield - expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(Species.MEWTWO))).toBe(3); + expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(SpeciesId.MEWTWO))).toBe(3); // Every 10 waves will always be a boss Pokemon with shield(s) wave = 50; - expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(Species.RATTATA))).toBe(2); + expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(SpeciesId.RATTATA))).toBe(2); // Every extra 250 waves adds a shield wave += 250; - expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(Species.RATTATA))).toBe(3); + expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(SpeciesId.RATTATA))).toBe(3); wave += 750; - expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(Species.RATTATA))).toBe(6); + expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(SpeciesId.RATTATA))).toBe(6); // Pokemon above level 100 get an extra shield level = 100; - expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(Species.RATTATA))).toBe(7); + expect(game.scene.getEncounterBossSegments(wave, level, getPokemonSpecies(SpeciesId.RATTATA))).toBe(7); }); it("should reduce the number of shields if we are in a double battle", async () => { game.override.battleStyle("double").startingWave(150); // Floor 150 > 2 shields / 3 health segments - await game.classicMode.startBattle([Species.MEWTWO]); + await game.classicMode.startBattle([SpeciesId.MEWTWO]); const boss1: EnemyPokemon = game.scene.getEnemyParty()[0]!; const boss2: EnemyPokemon = game.scene.getEnemyParty()[1]!; @@ -78,7 +78,7 @@ describe("Boss Pokemon / Shields", () => { it("shields should stop overflow damage and give stat stage boosts when broken", async () => { game.override.startingWave(150); // Floor 150 > 2 shields / 3 health segments - await game.classicMode.startBattle([Species.MEWTWO]); + await game.classicMode.startBattle([SpeciesId.MEWTWO]); const enemyPokemon = game.scene.getEnemyPokemon()!; const segmentHp = enemyPokemon.getMaxHp() / enemyPokemon.bossSegments; @@ -86,7 +86,7 @@ describe("Boss Pokemon / Shields", () => { expect(enemyPokemon.bossSegments).toBe(3); expect(getTotalStatStageBoosts(enemyPokemon)).toBe(0); - game.move.select(Moves.SUPER_FANG); // Enough to break the first shield + game.move.select(MoveId.SUPER_FANG); // Enough to break the first shield await game.toNextTurn(); // Broke 1st of 2 shields, health at 2/3rd @@ -95,7 +95,7 @@ describe("Boss Pokemon / Shields", () => { // Breaking the shield gives a +1 boost to ATK, DEF, SP ATK, SP DEF or SPD expect(getTotalStatStageBoosts(enemyPokemon)).toBe(1); - game.move.select(Moves.FALSE_SWIPE); // Enough to break last shield but not kill + game.move.select(MoveId.FALSE_SWIPE); // Enough to break last shield but not kill await game.toNextTurn(); expect(enemyPokemon.bossSegmentIndex).toBe(0); @@ -107,7 +107,7 @@ describe("Boss Pokemon / Shields", () => { it("breaking multiple shields at once requires extra damage", async () => { game.override.battleStyle("double").enemyHealthSegments(5); - await game.classicMode.startBattle([Species.MEWTWO]); + await game.classicMode.startBattle([SpeciesId.MEWTWO]); // In this test we want to break through 3 shields at once const brokenShields = 3; @@ -142,7 +142,7 @@ describe("Boss Pokemon / Shields", () => { game.override.battleStyle("double").enemyHealthSegments(shieldsToBreak + 1); - await game.classicMode.startBattle([Species.MEWTWO]); + await game.classicMode.startBattle([SpeciesId.MEWTWO]); const boss1: EnemyPokemon = game.scene.getEnemyParty()[0]!; const boss1SegmentHp = boss1.getMaxHp() / boss1.bossSegments; @@ -160,7 +160,7 @@ describe("Boss Pokemon / Shields", () => { expect(boss1.bossSegmentIndex).toBe(shieldsToBreak - i); expect(boss1.hp).toBe(boss1.getMaxHp() - toDmgValue(boss1SegmentHp * i)); // Do nothing and go to next turn so that the StatStageChangePhase gets applied - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // All broken shields give +1 stat boost, except the last two that gives +2 totalStatStages += i >= shieldsToBreak - 1 ? 2 : 1; @@ -181,22 +181,22 @@ describe("Boss Pokemon / Shields", () => { expect(boss2.bossSegmentIndex).toBe(0); expect(boss2.hp).toBe(boss2.getMaxHp() - toDmgValue(boss2SegmentHp * shieldsToBreak)); // Do nothing and go to next turn so that the StatStageChangePhase gets applied - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(getTotalStatStageBoosts(boss2)).toBe(totalStatStages); }); it("the boss enduring does not proc an extra stat boost", async () => { - game.override.enemyHealthSegments(2).enemyAbility(Abilities.STURDY); + game.override.enemyHealthSegments(2).enemyAbility(AbilityId.STURDY); - await game.classicMode.startBattle([Species.MEWTWO]); + await game.classicMode.startBattle([SpeciesId.MEWTWO]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.isBoss()).toBe(true); expect(enemyPokemon.bossSegments).toBe(2); expect(getTotalStatStageBoosts(enemyPokemon)).toBe(0); - game.move.select(Moves.PSYCHIC); + game.move.select(MoveId.PSYCHIC); await game.toNextTurn(); // Enemy survived with Sturdy diff --git a/test/daily_mode.test.ts b/test/daily_mode.test.ts index a5901da4821..41dcf51ccf6 100644 --- a/test/daily_mode.test.ts +++ b/test/daily_mode.test.ts @@ -1,9 +1,9 @@ -import { Biome } from "#app/enums/biome"; -import { Moves } from "#app/enums/moves"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; import { MapModifier } from "#app/modifier/modifier"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { UiMode } from "#enums/ui-mode"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import GameManager from "#test/testUtils/gameManager"; @@ -56,12 +56,12 @@ describe("Shop modifications", async () => { game.override .startingWave(9) - .startingBiome(Biome.ICE_CAVE) + .startingBiome(BiomeId.ICE_CAVE) .battleStyle("single") .startingLevel(100) // Avoid levelling up .disableTrainerWaves() - .moveset([Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH); + .moveset([MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH); game.modifiers.addCheck("EVIOLITE").addCheck("MINI_BLACK_HOLE"); vi.spyOn(pokerogueApi.daily, "getSeed").mockResolvedValue("test-seed"); }); @@ -72,8 +72,8 @@ describe("Shop modifications", async () => { }); it("should not have Eviolite and Mini Black Hole available in Classic if not unlocked", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); - game.move.select(Moves.SPLASH); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("BattleEndPhase"); game.onNextPrompt("SelectModifierPhase", UiMode.MODIFIER_SELECT, () => { @@ -84,7 +84,7 @@ describe("Shop modifications", async () => { it("should have Eviolite and Mini Black Hole available in Daily", async () => { await game.dailyMode.startBattle(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("BattleEndPhase"); game.onNextPrompt("SelectModifierPhase", UiMode.MODIFIER_SELECT, () => { diff --git a/test/data/status_effect.test.ts b/test/data/status_effect.test.ts index 111136bf0a2..4a543a04a1b 100644 --- a/test/data/status_effect.test.ts +++ b/test/data/status_effect.test.ts @@ -7,9 +7,9 @@ import { getStatusEffectOverlapText, } from "#app/data/status-effect"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import { mockI18next } from "#test/testUtils/testUtils"; @@ -319,18 +319,18 @@ describe("Status Effects", () => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.QUICK_ATTACK]) - .ability(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.QUICK_ATTACK]) + .ability(AbilityId.BALL_FETCH) .statusEffect(StatusEffect.PARALYSIS); }); it("causes the pokemon's move to fail when activated", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.QUICK_ATTACK); + game.move.select(MoveId.QUICK_ATTACK); await game.move.forceStatusActivation(true); await game.toNextTurn(); @@ -356,38 +356,38 @@ describe("Status Effects", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should last the appropriate number of turns", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.status = new Status(StatusEffect.SLEEP, 0, 4); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status.effect).toBe(StatusEffect.SLEEP); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status.effect).toBe(StatusEffect.SLEEP); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status.effect).toBe(StatusEffect.SLEEP); expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.FAIL); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(player.status?.effect).toBeUndefined(); @@ -412,18 +412,18 @@ describe("Status Effects", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.NUZZLE) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.NUZZLE) .enemyLevel(2000); }); it("should not inflict a 0 HP mon with a status", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MILOTIC]); const player = game.scene.getPlayerPokemon()!; player.hp = 0; diff --git a/test/eggs/egg.test.ts b/test/eggs/egg.test.ts index 0110aa5fdaf..e37a7c00aa9 100644 --- a/test/eggs/egg.test.ts +++ b/test/eggs/egg.test.ts @@ -6,7 +6,7 @@ import { EggTier } from "#app/enums/egg-type"; import { VariantTier } from "#app/enums/variant-tier"; import EggData from "#app/system/egg-data"; import * as Utils from "#app/utils/common"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -34,7 +34,7 @@ describe("Egg Generation Tests", () => { it("should return Kyogre for the 10th of June", () => { const timestamp = new Date(2024, 5, 10, 15, 0, 0, 0).getTime(); - const expectedSpecies = Species.KYOGRE; + const expectedSpecies = SpeciesId.KYOGRE; const result = getLegendaryGachaSpeciesForTimestamp(timestamp); @@ -42,7 +42,7 @@ describe("Egg Generation Tests", () => { }); it("should return Kyogre for the 10th of July", () => { const timestamp = new Date(2024, 6, 10, 15, 0, 0, 0).getTime(); - const expectedSpecies = Species.KYOGRE; + const expectedSpecies = SpeciesId.KYOGRE; const result = getLegendaryGachaSpeciesForTimestamp(timestamp); @@ -51,7 +51,7 @@ describe("Egg Generation Tests", () => { it("should hatch a Kyogre around half the time. Set from legendary gacha", async () => { const scene = game.scene; const timestamp = new Date(2024, 6, 10, 15, 0, 0, 0).getTime(); - const expectedSpecies = Species.KYOGRE; + const expectedSpecies = SpeciesId.KYOGRE; let gachaSpeciesCount = 0; for (let i = 0; i < EGG_HATCH_COUNT; i++) { @@ -73,11 +73,11 @@ describe("Egg Generation Tests", () => { const validLegendaryGachaSpecies = getValidLegendaryGachaSpecies(); expect(validLegendaryGachaSpecies.every(s => speciesEggTiers[s] === EggTier.LEGENDARY)).toBe(true); expect(validLegendaryGachaSpecies.every(s => allSpecies[s].isObtainable())).toBe(true); - expect(validLegendaryGachaSpecies.includes(Species.ETERNATUS)).toBe(false); + expect(validLegendaryGachaSpecies.includes(SpeciesId.ETERNATUS)).toBe(false); }); it("should hatch an Arceus. Set from species", () => { const scene = game.scene; - const expectedSpecies = Species.ARCEUS; + const expectedSpecies = SpeciesId.ARCEUS; const result = new Egg({ scene, @@ -122,7 +122,7 @@ describe("Egg Generation Tests", () => { const scene = game.scene; const expectedResult = true; - const result = new Egg({ scene, species: Species.MANAPHY }).isManaphyEgg(); + const result = new Egg({ scene, species: SpeciesId.MANAPHY }).isManaphyEgg(); expect(result).toBe(expectedResult); }); @@ -153,7 +153,7 @@ describe("Egg Generation Tests", () => { const result = new Egg({ scene, isShiny: expectedResult, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }) .generatePlayerPokemon() .isShiny(); @@ -168,7 +168,7 @@ describe("Egg Generation Tests", () => { scene, isShiny: true, variantTier: expectedVariantTier, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }).generatePlayerPokemon().variant; expect(result).toBe(expectedVariantTier); @@ -181,7 +181,7 @@ describe("Egg Generation Tests", () => { scene, isShiny: true, variantTier: expectedVariantTier, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }).generatePlayerPokemon().variant; expect(result).toBe(expectedVariantTier); @@ -194,7 +194,7 @@ describe("Egg Generation Tests", () => { scene, isShiny: true, variantTier: expectedVariantTier, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }).generatePlayerPokemon().variant; expect(result).toBe(expectedVariantTier); @@ -221,7 +221,7 @@ describe("Egg Generation Tests", () => { const playerPokemon = new Egg({ scene, overrideHiddenAbility: true, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }).generatePlayerPokemon(); const expectedAbilityIndex = playerPokemon.species.ability2 ? 2 : 1; @@ -246,7 +246,7 @@ describe("Egg Generation Tests", () => { const result = new Egg({ scene, tier: EggTier.LEGENDARY, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }).tier; expect(result).toBe(expectedEggTier); @@ -258,7 +258,7 @@ describe("Egg Generation Tests", () => { const result = new Egg({ scene, tier: EggTier.LEGENDARY, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }).hatchWaves; expect(result).toBe(expectedHatchWaves); @@ -325,7 +325,7 @@ describe("Egg Generation Tests", () => { scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true, - species: Species.BULBASAUR, + species: SpeciesId.BULBASAUR, }); } @@ -412,7 +412,7 @@ describe("Egg Generation Tests", () => { scene, isShiny: true, variantTier: VariantTier.EPIC, - species: Species.MIRAIDON, + species: SpeciesId.MIRAIDON, }); expect(egg.variantTier).toBe(VariantTier.EPIC); @@ -461,7 +461,7 @@ describe("Egg Generation Tests", () => { scene.setSeed("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); scene.resetSeed(); - const firstEgg = new Egg({ scene, species: Species.BULBASAUR }); + const firstEgg = new Egg({ scene, species: SpeciesId.BULBASAUR }); const firstHatch = firstEgg.generatePlayerPokemon(); let diffEggMove = false; let diffSpecies = false; @@ -471,7 +471,7 @@ describe("Egg Generation Tests", () => { scene.setSeed("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); scene.resetSeed(); // Make sure that eggs are unpredictable even if using same seed - const newEgg = new Egg({ scene, species: Species.BULBASAUR }); + const newEgg = new Egg({ scene, species: SpeciesId.BULBASAUR }); const newHatch = newEgg.generatePlayerPokemon(); diffEggMove = diffEggMove || newEgg.eggMoveIndex !== firstEgg.eggMoveIndex; diffSpecies = diffSpecies || newHatch.species.speciesId !== firstHatch.species.speciesId; diff --git a/test/eggs/manaphy-egg.test.ts b/test/eggs/manaphy-egg.test.ts index 1e7f67a7bb5..4dc38ef10b6 100644 --- a/test/eggs/manaphy-egg.test.ts +++ b/test/eggs/manaphy-egg.test.ts @@ -1,7 +1,7 @@ import { Egg } from "#app/data/egg"; import { EggSourceType } from "#app/enums/egg-source-types"; import { EggTier } from "#app/enums/egg-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -54,9 +54,9 @@ describe("Manaphy Eggs", () => { id: 204, }); const newHatch = newEgg.generatePlayerPokemon(); - if (newHatch.species.speciesId === Species.MANAPHY) { + if (newHatch.species.speciesId === SpeciesId.MANAPHY) { manaphyCount++; - } else if (newHatch.species.speciesId === Species.PHIONE) { + } else if (newHatch.species.speciesId === SpeciesId.PHIONE) { phioneCount++; } if (newEgg.eggMoveIndex === 3) { @@ -80,13 +80,13 @@ describe("Manaphy Eggs", () => { const newEgg = new Egg({ scene, - species: Species.PHIONE, + species: SpeciesId.PHIONE, sourceType: EggSourceType.SAME_SPECIES_EGG, }); const newHatch = newEgg.generatePlayerPokemon(); - if (newHatch.species.speciesId === Species.MANAPHY) { + if (newHatch.species.speciesId === SpeciesId.MANAPHY) { manaphyCount++; - } else if (newHatch.species.speciesId === Species.PHIONE) { + } else if (newHatch.species.speciesId === SpeciesId.PHIONE) { phioneCount++; } if (newEgg.eggMoveIndex === 3) { @@ -110,13 +110,13 @@ describe("Manaphy Eggs", () => { const newEgg = new Egg({ scene, - species: Species.MANAPHY, + species: SpeciesId.MANAPHY, sourceType: EggSourceType.SAME_SPECIES_EGG, }); const newHatch = newEgg.generatePlayerPokemon(); - if (newHatch.species.speciesId === Species.MANAPHY) { + if (newHatch.species.speciesId === SpeciesId.MANAPHY) { manaphyCount++; - } else if (newHatch.species.speciesId === Species.PHIONE) { + } else if (newHatch.species.speciesId === SpeciesId.PHIONE) { phioneCount++; } if (newEgg.eggMoveIndex === 3) { diff --git a/test/endless_boss.test.ts b/test/endless_boss.test.ts index 4be1e379215..05c6594bad6 100644 --- a/test/endless_boss.test.ts +++ b/test/endless_boss.test.ts @@ -1,5 +1,5 @@ -import { Biome } from "#app/enums/biome"; -import { Species } from "#app/enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { SpeciesId } from "#enums/species-id"; import { GameModes } from "#app/game-mode"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import GameManager from "#test/testUtils/gameManager"; @@ -21,7 +21,7 @@ describe("Endless Boss", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.startingBiome(Biome.END).disableCrits(); + game.override.startingBiome(BiomeId.END).disableCrits(); }); afterEach(() => { @@ -30,57 +30,57 @@ describe("Endless Boss", () => { it(`should spawn a minor boss every ${EndlessBossWave.Minor} waves in END biome in Endless`, async () => { game.override.startingWave(EndlessBossWave.Minor); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.ENDLESS); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.ENDLESS); expect(game.scene.currentBattle.waveIndex).toBe(EndlessBossWave.Minor); - expect(game.scene.arena.biomeType).toBe(Biome.END); + expect(game.scene.arena.biomeType).toBe(BiomeId.END); const eternatus = game.scene.getEnemyPokemon(); - expect(eternatus?.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus?.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus?.hasPassive()).toBe(false); expect(eternatus?.formIndex).toBe(0); }); it(`should spawn a major boss every ${EndlessBossWave.Major} waves in END biome in Endless`, async () => { game.override.startingWave(EndlessBossWave.Major); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.ENDLESS); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.ENDLESS); expect(game.scene.currentBattle.waveIndex).toBe(EndlessBossWave.Major); - expect(game.scene.arena.biomeType).toBe(Biome.END); + expect(game.scene.arena.biomeType).toBe(BiomeId.END); const eternatus = game.scene.getEnemyPokemon(); - expect(eternatus?.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus?.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus?.hasPassive()).toBe(false); expect(eternatus?.formIndex).toBe(1); }); it(`should spawn a minor boss every ${EndlessBossWave.Minor} waves in END biome in Spliced Endless`, async () => { game.override.startingWave(EndlessBossWave.Minor); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.SPLICED_ENDLESS); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.SPLICED_ENDLESS); expect(game.scene.currentBattle.waveIndex).toBe(EndlessBossWave.Minor); - expect(game.scene.arena.biomeType).toBe(Biome.END); + expect(game.scene.arena.biomeType).toBe(BiomeId.END); const eternatus = game.scene.getEnemyPokemon(); - expect(eternatus?.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus?.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus?.hasPassive()).toBe(false); expect(eternatus?.formIndex).toBe(0); }); it(`should spawn a major boss every ${EndlessBossWave.Major} waves in END biome in Spliced Endless`, async () => { game.override.startingWave(EndlessBossWave.Major); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.SPLICED_ENDLESS); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.SPLICED_ENDLESS); expect(game.scene.currentBattle.waveIndex).toBe(EndlessBossWave.Major); - expect(game.scene.arena.biomeType).toBe(Biome.END); + expect(game.scene.arena.biomeType).toBe(BiomeId.END); const eternatus = game.scene.getEnemyPokemon(); - expect(eternatus?.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus?.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus?.hasPassive()).toBe(false); expect(eternatus?.formIndex).toBe(1); }); it(`should NOT spawn major or minor boss outside wave ${EndlessBossWave.Minor}s in END biome`, async () => { game.override.startingWave(EndlessBossWave.Minor - 1); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.ENDLESS); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.ENDLESS); expect(game.scene.currentBattle.waveIndex).not.toBe(EndlessBossWave.Minor); - expect(game.scene.getEnemyPokemon()!.species.speciesId).not.toBe(Species.ETERNATUS); + expect(game.scene.getEnemyPokemon()!.species.speciesId).not.toBe(SpeciesId.ETERNATUS); }); }); diff --git a/test/enemy_command.test.ts b/test/enemy_command.test.ts index e5199847702..8d6d1756a69 100644 --- a/test/enemy_command.test.ts +++ b/test/enemy_command.test.ts @@ -1,9 +1,9 @@ import type BattleScene from "#app/battle-scene"; import { allMoves } from "#app/data/data-lists"; import { MoveCategory } from "#enums/MoveCategory"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import type { EnemyPokemon } from "#app/field/pokemon"; import { AiType } from "#app/field/pokemon"; import { randSeedInt } from "#app/utils/common"; @@ -49,17 +49,17 @@ describe("Enemy Commands - Move Selection", () => { game = new GameManager(phaserGame); globalScene = game.scene; - game.override.ability(Abilities.BALL_FETCH).enemyAbility(Abilities.BALL_FETCH); + game.override.ability(AbilityId.BALL_FETCH).enemyAbility(AbilityId.BALL_FETCH); }); it("should never use Status moves if an attack can KO", async () => { game.override - .enemySpecies(Species.ETERNATUS) - .enemyMoveset([Moves.ETERNABEAM, Moves.SLUDGE_BOMB, Moves.DRAGON_DANCE, Moves.COSMIC_POWER]) + .enemySpecies(SpeciesId.ETERNATUS) + .enemyMoveset([MoveId.ETERNABEAM, MoveId.SLUDGE_BOMB, MoveId.DRAGON_DANCE, MoveId.COSMIC_POWER]) .startingLevel(1) .enemyLevel(100); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; enemyPokemon.aiType = AiType.SMART_RANDOM; @@ -78,12 +78,12 @@ describe("Enemy Commands - Move Selection", () => { it("should not select Last Resort if it would fail, even if the move KOs otherwise", async () => { game.override - .enemySpecies(Species.KANGASKHAN) - .enemyMoveset([Moves.LAST_RESORT, Moves.GIGA_IMPACT, Moves.SPLASH, Moves.SWORDS_DANCE]) + .enemySpecies(SpeciesId.KANGASKHAN) + .enemyMoveset([MoveId.LAST_RESORT, MoveId.GIGA_IMPACT, MoveId.SPLASH, MoveId.SWORDS_DANCE]) .startingLevel(1) .enemyLevel(100); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; enemyPokemon.aiType = AiType.SMART_RANDOM; @@ -94,7 +94,7 @@ describe("Enemy Commands - Move Selection", () => { getEnemyMoveChoices(enemyPokemon, moveChoices); enemyMoveset.forEach(mv => { - if (mv?.getMove().category === MoveCategory.STATUS || mv?.moveId === Moves.LAST_RESORT) { + if (mv?.getMove().category === MoveCategory.STATUS || mv?.moveId === MoveId.LAST_RESORT) { expect(moveChoices[mv.moveId]).toBe(0); } }); diff --git a/test/escape-calculations.test.ts b/test/escape-calculations.test.ts index 56333432cee..854274eb948 100644 --- a/test/escape-calculations.test.ts +++ b/test/escape-calculations.test.ts @@ -2,8 +2,8 @@ import { AttemptRunPhase } from "#app/phases/attempt-run-phase"; import type { CommandPhase } from "#app/phases/command-phase"; import { Command } from "#app/ui/command-ui-handler"; import { NumberHolder } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -26,13 +26,13 @@ describe("Escape chance calculations", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.BULBASAUR) - .enemyAbility(Abilities.INSOMNIA) - .ability(Abilities.INSOMNIA); + .enemySpecies(SpeciesId.BULBASAUR) + .enemyAbility(AbilityId.INSOMNIA) + .ability(AbilityId.INSOMNIA); }); it("single non-boss opponent", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerField(); const enemyField = game.scene.getEnemyField(); @@ -98,7 +98,7 @@ describe("Escape chance calculations", () => { it("double non-boss opponent", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.BULBASAUR, Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.ABOMASNOW]); const playerPokemon = game.scene.getPlayerField(); const enemyField = game.scene.getEnemyField(); @@ -184,7 +184,7 @@ describe("Escape chance calculations", () => { it("single boss opponent", async () => { game.override.startingWave(10); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerField()!; const enemyField = game.scene.getEnemyField()!; @@ -264,7 +264,7 @@ describe("Escape chance calculations", () => { it("double boss opponent", async () => { game.override.battleStyle("double"); game.override.startingWave(10); - await game.classicMode.startBattle([Species.BULBASAUR, Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.ABOMASNOW]); const playerPokemon = game.scene.getPlayerField(); const enemyField = game.scene.getEnemyField(); diff --git a/test/evolution.test.ts b/test/evolution.test.ts index a453d744da8..b2e7a9243d0 100644 --- a/test/evolution.test.ts +++ b/test/evolution.test.ts @@ -3,9 +3,9 @@ import { SpeciesFormEvolution, SpeciesWildEvolutionDelay, } from "#app/data/balance/pokemon-evolutions"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import * as Utils from "#app/utils/common"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -30,61 +30,61 @@ describe("Evolution", () => { game.override.battleStyle("single"); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.BALL_FETCH); game.override.startingLevel(60); }); it("should keep hidden ability after evolving", async () => { - await game.classicMode.runToSummon([Species.EEVEE, Species.TRAPINCH]); + await game.classicMode.runToSummon([SpeciesId.EEVEE, SpeciesId.TRAPINCH]); const eevee = game.scene.getPlayerParty()[0]; const trapinch = game.scene.getPlayerParty()[1]; eevee.abilityIndex = 2; trapinch.abilityIndex = 2; - await eevee.evolve(pokemonEvolutions[Species.EEVEE][6], eevee.getSpeciesForm()); + await eevee.evolve(pokemonEvolutions[SpeciesId.EEVEE][6], eevee.getSpeciesForm()); expect(eevee.abilityIndex).toBe(2); - await trapinch.evolve(pokemonEvolutions[Species.TRAPINCH][0], trapinch.getSpeciesForm()); + await trapinch.evolve(pokemonEvolutions[SpeciesId.TRAPINCH][0], trapinch.getSpeciesForm()); expect(trapinch.abilityIndex).toBe(1); }); it("should keep same ability slot after evolving", async () => { - await game.classicMode.runToSummon([Species.BULBASAUR, Species.CHARMANDER]); + await game.classicMode.runToSummon([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER]); const bulbasaur = game.scene.getPlayerParty()[0]; const charmander = game.scene.getPlayerParty()[1]; bulbasaur.abilityIndex = 0; charmander.abilityIndex = 1; - await bulbasaur.evolve(pokemonEvolutions[Species.BULBASAUR][0], bulbasaur.getSpeciesForm()); + await bulbasaur.evolve(pokemonEvolutions[SpeciesId.BULBASAUR][0], bulbasaur.getSpeciesForm()); expect(bulbasaur.abilityIndex).toBe(0); - await charmander.evolve(pokemonEvolutions[Species.CHARMANDER][0], charmander.getSpeciesForm()); + await charmander.evolve(pokemonEvolutions[SpeciesId.CHARMANDER][0], charmander.getSpeciesForm()); expect(charmander.abilityIndex).toBe(1); }); it("should handle illegal abilityIndex values", async () => { - await game.classicMode.runToSummon([Species.SQUIRTLE]); + await game.classicMode.runToSummon([SpeciesId.SQUIRTLE]); const squirtle = game.scene.getPlayerPokemon()!; squirtle.abilityIndex = 5; - await squirtle.evolve(pokemonEvolutions[Species.SQUIRTLE][0], squirtle.getSpeciesForm()); + await squirtle.evolve(pokemonEvolutions[SpeciesId.SQUIRTLE][0], squirtle.getSpeciesForm()); expect(squirtle.abilityIndex).toBe(0); }); it("should handle nincada's unique evolution", async () => { - await game.classicMode.runToSummon([Species.NINCADA]); + await game.classicMode.runToSummon([SpeciesId.NINCADA]); const nincada = game.scene.getPlayerPokemon()!; nincada.abilityIndex = 2; nincada.metBiome = -1; nincada.gender = 1; - await nincada.evolve(pokemonEvolutions[Species.NINCADA][0], nincada.getSpeciesForm()); + await nincada.evolve(pokemonEvolutions[SpeciesId.NINCADA][0], nincada.getSpeciesForm()); const ninjask = game.scene.getPlayerParty()[0]; const shedinja = game.scene.getPlayerParty()[1]; expect(ninjask.abilityIndex).toBe(2); @@ -96,21 +96,21 @@ describe("Evolution", () => { }); it("should set wild delay to NONE by default", () => { - const speciesFormEvo = new SpeciesFormEvolution(Species.ABRA, null, null, 1000, null, null); + const speciesFormEvo = new SpeciesFormEvolution(SpeciesId.ABRA, null, null, 1000, null, null); expect(speciesFormEvo.wildDelay).toBe(SpeciesWildEvolutionDelay.NONE); }); it("should increase both HP and max HP when evolving", async () => { game.override - .moveset([Moves.SURF]) - .enemySpecies(Species.GOLEM) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.SURF]) + .enemySpecies(SpeciesId.GOLEM) + .enemyMoveset(MoveId.SPLASH) .startingWave(21) .startingLevel(16) .enemyLevel(50); - await game.classicMode.startBattle([Species.TOTODILE]); + await game.classicMode.startBattle([SpeciesId.TOTODILE]); const totodile = game.scene.getPlayerPokemon()!; const hpBefore = totodile.hp; @@ -122,7 +122,7 @@ describe("Evolution", () => { expect(golem.hp).toBe(1); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("EndEvolutionPhase"); expect(totodile.hp).toBe(totodile.getMaxHp()); @@ -131,14 +131,14 @@ describe("Evolution", () => { it("should not fully heal HP when evolving", async () => { game.override - .moveset([Moves.SURF]) - .enemySpecies(Species.GOLEM) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.SURF]) + .enemySpecies(SpeciesId.GOLEM) + .enemyMoveset(MoveId.SPLASH) .startingWave(21) .startingLevel(13) .enemyLevel(30); - await game.classicMode.startBattle([Species.CYNDAQUIL]); + await game.classicMode.startBattle([SpeciesId.CYNDAQUIL]); const cyndaquil = game.scene.getPlayerPokemon()!; cyndaquil.hp = Math.floor(cyndaquil.getMaxHp() / 2); @@ -152,7 +152,7 @@ describe("Evolution", () => { expect(golem.hp).toBe(1); - game.move.select(Moves.SURF); + game.move.select(MoveId.SURF); await game.phaseInterceptor.to("EndEvolutionPhase"); expect(cyndaquil.getMaxHp()).toBeGreaterThan(maxHpBefore); @@ -171,7 +171,7 @@ describe("Evolution", () => { * If the value is 0, it's a 3 family maushold, whereas if the value is * 1, 2 or 3, it's a 4 family maushold */ - await game.classicMode.startBattle([Species.TANDEMAUS]); // starts us off with a tandemaus + await game.classicMode.startBattle([SpeciesId.TANDEMAUS]); // starts us off with a tandemaus const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.level = 25; // tandemaus evolves at level 25 vi.spyOn(Utils, "randSeedInt").mockReturnValue(0); // setting the random generator to be 0 to force a three family maushold diff --git a/test/field/pokemon.test.ts b/test/field/pokemon.test.ts index f763ab2c401..74ad973b51d 100644 --- a/test/field/pokemon.test.ts +++ b/test/field/pokemon.test.ts @@ -1,9 +1,9 @@ -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import GameManager from "#test/testUtils/gameManager"; import { PokeballType } from "#enums/pokeball"; import type BattleScene from "#app/battle-scene"; -import { Moves } from "#app/enums/moves"; +import { MoveId } from "#enums/move-id"; import { PokemonType } from "#enums/pokemon-type"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; @@ -26,7 +26,7 @@ describe("Spec - Pokemon", () => { }); it("should not crash when trying to set status of undefined", async () => { - await game.classicMode.runToSummon([Species.ABRA]); + await game.classicMode.runToSummon([SpeciesId.ABRA]); const pkm = game.scene.getPlayerPokemon()!; expect(pkm).toBeDefined(); @@ -38,8 +38,14 @@ describe("Spec - Pokemon", () => { let scene: BattleScene; beforeEach(async () => { - game.override.enemySpecies(Species.ZUBAT); - await game.classicMode.runToSummon([Species.ABRA, Species.ABRA, Species.ABRA, Species.ABRA, Species.ABRA]); // 5 Abra, only 1 slot left + game.override.enemySpecies(SpeciesId.ZUBAT); + await game.classicMode.runToSummon([ + SpeciesId.ABRA, + SpeciesId.ABRA, + SpeciesId.ABRA, + SpeciesId.ABRA, + SpeciesId.ABRA, + ]); // 5 Abra, only 1 slot left scene = game.scene; }); @@ -50,7 +56,7 @@ describe("Spec - Pokemon", () => { const party = scene.getPlayerParty(); expect(party).toHaveLength(6); party.forEach((pkm, index) => { - expect(pkm.species.speciesId).toBe(index === 5 ? Species.ZUBAT : Species.ABRA); + expect(pkm.species.speciesId).toBe(index === 5 ? SpeciesId.ZUBAT : SpeciesId.ABRA); }); }); @@ -62,34 +68,34 @@ describe("Spec - Pokemon", () => { const party = scene.getPlayerParty(); expect(party).toHaveLength(6); party.forEach((pkm, index) => { - expect(pkm.species.speciesId).toBe(index === slotIndex ? Species.ZUBAT : Species.ABRA); + expect(pkm.species.speciesId).toBe(index === slotIndex ? SpeciesId.ZUBAT : SpeciesId.ABRA); }); }); }); it("should not share tms between different forms", async () => { - game.override.starterForms({ [Species.ROTOM]: 4 }); + game.override.starterForms({ [SpeciesId.ROTOM]: 4 }); - await game.classicMode.startBattle([Species.ROTOM]); + await game.classicMode.startBattle([SpeciesId.ROTOM]); const fanRotom = game.scene.getPlayerPokemon()!; - expect(fanRotom.compatibleTms).not.toContain(Moves.BLIZZARD); - expect(fanRotom.compatibleTms).toContain(Moves.AIR_SLASH); + expect(fanRotom.compatibleTms).not.toContain(MoveId.BLIZZARD); + expect(fanRotom.compatibleTms).toContain(MoveId.AIR_SLASH); }); describe("Get correct fusion type", () => { let scene: BattleScene; beforeEach(async () => { - game.override.enemySpecies(Species.ZUBAT); - game.override.starterSpecies(Species.ABRA); + game.override.enemySpecies(SpeciesId.ZUBAT); + game.override.starterSpecies(SpeciesId.ABRA); game.override.enableStarterFusion(); scene = game.scene; }); it("Fusing two mons with a single type", async () => { - game.override.starterFusionSpecies(Species.CHARMANDER); + game.override.starterFusionSpecies(SpeciesId.CHARMANDER); await game.classicMode.startBattle(); const pokemon = scene.getPlayerParty()[0]; @@ -130,7 +136,7 @@ describe("Spec - Pokemon", () => { }); it("Fusing two mons with same single type", async () => { - game.override.starterFusionSpecies(Species.DROWZEE); + game.override.starterFusionSpecies(SpeciesId.DROWZEE); await game.classicMode.startBattle(); const pokemon = scene.getPlayerParty()[0]; @@ -140,8 +146,8 @@ describe("Spec - Pokemon", () => { }); it("Fusing mons with one and two types", async () => { - game.override.starterSpecies(Species.CHARMANDER); - game.override.starterFusionSpecies(Species.HOUNDOUR); + game.override.starterSpecies(SpeciesId.CHARMANDER); + game.override.starterFusionSpecies(SpeciesId.HOUNDOUR); await game.classicMode.startBattle(); const pokemon = scene.getPlayerParty()[0]; @@ -151,8 +157,8 @@ describe("Spec - Pokemon", () => { }); it("Fusing mons with two and one types", async () => { - game.override.starterSpecies(Species.NUMEL); - game.override.starterFusionSpecies(Species.CHARMANDER); + game.override.starterSpecies(SpeciesId.NUMEL); + game.override.starterFusionSpecies(SpeciesId.CHARMANDER); await game.classicMode.startBattle(); const pokemon = scene.getPlayerParty()[0]; @@ -162,8 +168,8 @@ describe("Spec - Pokemon", () => { }); it("Fusing two mons with two types", async () => { - game.override.starterSpecies(Species.NATU); - game.override.starterFusionSpecies(Species.HOUNDOUR); + game.override.starterSpecies(SpeciesId.NATU); + game.override.starterFusionSpecies(SpeciesId.HOUNDOUR); await game.classicMode.startBattle(); const pokemon = scene.getPlayerParty()[0]; @@ -214,7 +220,7 @@ describe("Spec - Pokemon", () => { "should set minimum IVs for enemy trainer pokemon based on wave (%i)", async wave => { game.override.startingWave(wave); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const { waveIndex } = game.scene.currentBattle; for (const pokemon of game.scene.getEnemyParty()) { diff --git a/test/final_boss.test.ts b/test/final_boss.test.ts index 1b0cdce60a0..f1f894a5984 100644 --- a/test/final_boss.test.ts +++ b/test/final_boss.test.ts @@ -1,9 +1,9 @@ import { GameModes } from "#app/game-mode"; import { TurnHeldItemTransferModifier } from "#app/modifier/modifier"; -import { Abilities } from "#enums/abilities"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,10 +26,10 @@ describe("Final Boss", () => { game = new GameManager(phaserGame); game.override .startingWave(FinalWave.Classic) - .startingBiome(Biome.END) + .startingBiome(BiomeId.END) .disableCrits() - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.SPLASH, Moves.WILL_O_WISP, Moves.DRAGON_PULSE]) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.SPLASH, MoveId.WILL_O_WISP, MoveId.DRAGON_PULSE]) .startingLevel(10000); }); @@ -38,56 +38,56 @@ describe("Final Boss", () => { }); it("should spawn Eternatus on wave 200 in END biome", async () => { - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.CLASSIC); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.CLASSIC); expect(game.scene.currentBattle.waveIndex).toBe(FinalWave.Classic); - expect(game.scene.arena.biomeType).toBe(Biome.END); - expect(game.scene.getEnemyPokemon()!.species.speciesId).toBe(Species.ETERNATUS); + expect(game.scene.arena.biomeType).toBe(BiomeId.END); + expect(game.scene.getEnemyPokemon()!.species.speciesId).toBe(SpeciesId.ETERNATUS); }); it("should NOT spawn Eternatus before wave 200 in END biome", async () => { game.override.startingWave(FinalWave.Classic - 1); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.CLASSIC); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.CLASSIC); expect(game.scene.currentBattle.waveIndex).not.toBe(FinalWave.Classic); - expect(game.scene.arena.biomeType).toBe(Biome.END); - expect(game.scene.getEnemyPokemon()!.species.speciesId).not.toBe(Species.ETERNATUS); + expect(game.scene.arena.biomeType).toBe(BiomeId.END); + expect(game.scene.getEnemyPokemon()!.species.speciesId).not.toBe(SpeciesId.ETERNATUS); }); it("should NOT spawn Eternatus outside of END biome", async () => { - game.override.startingBiome(Biome.FOREST); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.CLASSIC); + game.override.startingBiome(BiomeId.FOREST); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.CLASSIC); expect(game.scene.currentBattle.waveIndex).toBe(FinalWave.Classic); - expect(game.scene.arena.biomeType).not.toBe(Biome.END); - expect(game.scene.getEnemyPokemon()!.species.speciesId).not.toBe(Species.ETERNATUS); + expect(game.scene.arena.biomeType).not.toBe(BiomeId.END); + expect(game.scene.getEnemyPokemon()!.species.speciesId).not.toBe(SpeciesId.ETERNATUS); }); it("should not have passive enabled on Eternatus", async () => { - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.CLASSIC); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.CLASSIC); const eternatus = game.scene.getEnemyPokemon()!; - expect(eternatus.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus.hasPassive()).toBe(false); }); it("should change form on direct hit down to last boss fragment", async () => { - await game.runToFinalBossEncounter([Species.KYUREM], GameModes.CLASSIC); + await game.runToFinalBossEncounter([SpeciesId.KYUREM], GameModes.CLASSIC); await game.phaseInterceptor.to("CommandPhase"); // Eternatus phase 1 const eternatus = game.scene.getEnemyPokemon()!; const phase1Hp = eternatus.getMaxHp(); - expect(eternatus.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus.formIndex).toBe(0); expect(eternatus.bossSegments).toBe(4); expect(eternatus.bossSegmentIndex).toBe(3); - game.move.select(Moves.DRAGON_PULSE); + game.move.select(MoveId.DRAGON_PULSE); await game.toNextTurn(); // Eternatus phase 2: changed form, healed and restored its shields - expect(eternatus.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus.hp).toBeGreaterThan(phase1Hp); expect(eternatus.hp).toBe(eternatus.getMaxHp()); expect(eternatus.formIndex).toBe(1); @@ -99,20 +99,20 @@ describe("Final Boss", () => { }); it("should change form on status damage down to last boss fragment", async () => { - game.override.ability(Abilities.NO_GUARD); + game.override.ability(AbilityId.NO_GUARD); - await game.runToFinalBossEncounter([Species.BIDOOF], GameModes.CLASSIC); + await game.runToFinalBossEncounter([SpeciesId.BIDOOF], GameModes.CLASSIC); await game.phaseInterceptor.to("CommandPhase"); // Eternatus phase 1 const eternatus = game.scene.getEnemyPokemon()!; const phase1Hp = eternatus.getMaxHp(); - expect(eternatus.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus.species.speciesId).toBe(SpeciesId.ETERNATUS); expect(eternatus.formIndex).toBe(0); expect(eternatus.bossSegments).toBe(4); expect(eternatus.bossSegmentIndex).toBe(3); - game.move.select(Moves.WILL_O_WISP); + game.move.select(MoveId.WILL_O_WISP); await game.toNextTurn(); expect(eternatus.status?.effect).toBe(StatusEffect.BURN); @@ -120,13 +120,13 @@ describe("Final Boss", () => { const lastShieldHp = Math.ceil(phase1Hp / eternatus.bossSegments); // Stall until the burn is one hit away from breaking the last shield while (eternatus.hp - tickDamage > lastShieldHp) { - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); } expect(eternatus.bossSegmentIndex).toBe(1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Eternatus phase 2: changed form, healed and restored its shields diff --git a/test/imports.test.ts b/test/imports.test.ts index 128308dbd14..540620d8bb4 100644 --- a/test/imports.test.ts +++ b/test/imports.test.ts @@ -5,7 +5,7 @@ async function importModule() { try { initStatsKeys(); const { PokemonMove } = await import("#app/field/pokemon"); - const { Species } = await import("#enums/species"); + const { SpeciesId: Species } = await import("#enums/species-id"); return { PokemonMove, Species, diff --git a/test/internals.test.ts b/test/internals.test.ts index 558b363caf0..bd603ec22fc 100644 --- a/test/internals.test.ts +++ b/test/internals.test.ts @@ -1,5 +1,5 @@ -import { Abilities } from "#app/enums/abilities"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,18 +23,18 @@ describe("Internals", () => { }); it("should provide Eevee with 3 defined abilities", async () => { - await game.classicMode.runToSummon([Species.EEVEE]); + await game.classicMode.runToSummon([SpeciesId.EEVEE]); const eevee = game.scene.getPlayerPokemon()!; expect(eevee.getSpeciesForm().getAbilityCount()).toBe(3); - expect(eevee.getSpeciesForm().getAbility(0)).toBe(Abilities.RUN_AWAY); - expect(eevee.getSpeciesForm().getAbility(1)).toBe(Abilities.ADAPTABILITY); - expect(eevee.getSpeciesForm().getAbility(2)).toBe(Abilities.ANTICIPATION); + expect(eevee.getSpeciesForm().getAbility(0)).toBe(AbilityId.RUN_AWAY); + expect(eevee.getSpeciesForm().getAbility(1)).toBe(AbilityId.ADAPTABILITY); + expect(eevee.getSpeciesForm().getAbility(2)).toBe(AbilityId.ANTICIPATION); }); it("should set Eeeve abilityIndex between 0-2", async () => { - await game.classicMode.runToSummon([Species.EEVEE]); + await game.classicMode.runToSummon([SpeciesId.EEVEE]); const eevee = game.scene.getPlayerPokemon()!; expect(eevee.abilityIndex).toBeGreaterThanOrEqual(0); diff --git a/test/items/dire_hit.test.ts b/test/items/dire_hit.test.ts index e848bceb514..f60adebac36 100644 --- a/test/items/dire_hit.test.ts +++ b/test/items/dire_hit.test.ts @@ -1,6 +1,6 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -32,21 +32,21 @@ describe("Items - Dire Hit", () => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.POUND]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.POUND]) .startingHeldItems([{ name: "DIRE_HIT" }]) .battleStyle("single"); }, 20000); it("should raise CRIT stage by 1", async () => { - await game.classicMode.startBattle([Species.GASTLY]); + await game.classicMode.startBattle([SpeciesId.GASTLY]); const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(enemyPokemon, "getCritStage"); - game.move.select(Moves.POUND); + game.move.select(MoveId.POUND); await game.phaseInterceptor.to(TurnEndPhase); @@ -56,9 +56,9 @@ describe("Items - Dire Hit", () => { it("should renew how many battles are left of existing DIRE_HIT when picking up new DIRE_HIT", async () => { game.override.itemRewards([{ name: "DIRE_HIT" }]); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); diff --git a/test/items/double_battle_chance_booster.test.ts b/test/items/double_battle_chance_booster.test.ts index 68a29ef823e..d1a9e826cda 100644 --- a/test/items/double_battle_chance_booster.test.ts +++ b/test/items/double_battle_chance_booster.test.ts @@ -1,5 +1,5 @@ -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { DoubleBattleChanceBoosterModifier } from "#app/modifier/modifier"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -50,12 +50,12 @@ describe("Items - Double Battle Chance Boosters", () => { game.override .startingModifier([{ name: "LURE" }]) .itemRewards([{ name: "LURE" }]) - .moveset(Moves.SPLASH) + .moveset(MoveId.SPLASH) .startingLevel(200); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); diff --git a/test/items/eviolite.test.ts b/test/items/eviolite.test.ts index fafc0f4a10c..353cdbf91b4 100644 --- a/test/items/eviolite.test.ts +++ b/test/items/eviolite.test.ts @@ -1,6 +1,6 @@ import { StatBoosterModifier } from "#app/modifier/modifier"; import { NumberHolder, randItem } from "#app/utils/common"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; @@ -26,7 +26,7 @@ describe("Items - Eviolite", () => { }); it("should provide 50% boost to DEF and SPDEF for unevolved, unfused pokemon", async () => { - await game.classicMode.startBattle([Species.PICHU]); + await game.classicMode.startBattle([SpeciesId.PICHU]); const partyMember = game.scene.getPlayerPokemon()!; @@ -47,7 +47,7 @@ describe("Items - Eviolite", () => { }); it("should not provide a boost for fully evolved, unfused pokemon", async () => { - await game.classicMode.startBattle([Species.RAICHU]); + await game.classicMode.startBattle([SpeciesId.RAICHU]); const partyMember = game.scene.getPlayerPokemon()!; @@ -68,7 +68,7 @@ describe("Items - Eviolite", () => { }); it("should provide 50% boost to DEF and SPDEF for completely unevolved, fused pokemon", async () => { - await game.classicMode.startBattle([Species.PICHU, Species.CLEFFA]); + await game.classicMode.startBattle([SpeciesId.PICHU, SpeciesId.CLEFFA]); const [partyMember, ally] = game.scene.getPlayerParty(); @@ -98,7 +98,7 @@ describe("Items - Eviolite", () => { }); it("should provide 25% boost to DEF and SPDEF for partially unevolved (base), fused pokemon", async () => { - await game.classicMode.startBattle([Species.PICHU, Species.CLEFABLE]); + await game.classicMode.startBattle([SpeciesId.PICHU, SpeciesId.CLEFABLE]); const [partyMember, ally] = game.scene.getPlayerParty(); @@ -128,7 +128,7 @@ describe("Items - Eviolite", () => { }); it("should provide 25% boost to DEF and SPDEF for partially unevolved (fusion), fused pokemon", async () => { - await game.classicMode.startBattle([Species.RAICHU, Species.CLEFFA]); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.CLEFFA]); const [partyMember, ally] = game.scene.getPlayerParty(); @@ -158,7 +158,7 @@ describe("Items - Eviolite", () => { }); it("should not provide a boost for fully evolved, fused pokemon", async () => { - await game.classicMode.startBattle([Species.RAICHU, Species.CLEFABLE]); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.CLEFABLE]); const [partyMember, ally] = game.scene.getPlayerParty(); @@ -189,13 +189,13 @@ describe("Items - Eviolite", () => { it("should not provide a boost for Gigantamax Pokémon", async () => { game.override.starterForms({ - [Species.PIKACHU]: 8, - [Species.EEVEE]: 2, - [Species.DURALUDON]: 1, - [Species.MEOWTH]: 1, + [SpeciesId.PIKACHU]: 8, + [SpeciesId.EEVEE]: 2, + [SpeciesId.DURALUDON]: 1, + [SpeciesId.MEOWTH]: 1, }); - const gMaxablePokemon = [Species.PIKACHU, Species.EEVEE, Species.DURALUDON, Species.MEOWTH]; + const gMaxablePokemon = [SpeciesId.PIKACHU, SpeciesId.EEVEE, SpeciesId.DURALUDON, SpeciesId.MEOWTH]; await game.classicMode.startBattle([randItem(gMaxablePokemon)]); diff --git a/test/items/exp_booster.test.ts b/test/items/exp_booster.test.ts index 106574b6849..f5273a78a55 100644 --- a/test/items/exp_booster.test.ts +++ b/test/items/exp_booster.test.ts @@ -1,4 +1,4 @@ -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { PokemonExpBoosterModifier } from "#app/modifier/modifier"; import { NumberHolder } from "#app/utils/common"; import GameManager from "#test/testUtils/gameManager"; @@ -22,8 +22,8 @@ describe("EXP Modifier Items", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.ability(Abilities.BALL_FETCH); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.ability(AbilityId.BALL_FETCH); game.override.battleStyle("single"); }); diff --git a/test/items/grip_claw.test.ts b/test/items/grip_claw.test.ts index 2396a7ca072..3c51e7f868d 100644 --- a/test/items/grip_claw.test.ts +++ b/test/items/grip_claw.test.ts @@ -1,10 +1,10 @@ import { BattlerIndex } from "#app/battle"; import type Pokemon from "#app/field/pokemon"; import type { ContactHeldItemTransferChanceModifier } from "#app/modifier/modifier"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BerryType } from "#enums/berry-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -28,12 +28,12 @@ describe("Items - Grip Claw", () => { game.override .battleStyle("double") - .moveset([Moves.TACKLE, Moves.SPLASH, Moves.ATTRACT]) + .moveset([MoveId.TACKLE, MoveId.SPLASH, MoveId.ATTRACT]) .startingHeldItems([{ name: "GRIP_CLAW", count: 1 }]) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.UNNERVE) - .ability(Abilities.UNNERVE) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.UNNERVE) + .ability(AbilityId.UNNERVE) + .enemyMoveset(MoveId.SPLASH) .enemyHeldItems([ { name: "BERRY", type: BerryType.SITRUS, count: 2 }, { name: "BERRY", type: BerryType.LUM, count: 2 }, @@ -42,7 +42,7 @@ describe("Items - Grip Claw", () => { }); it("should steal items on contact and only from the attack target", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MILOTIC]); const [playerPokemon] = game.scene.getPlayerField(); @@ -56,8 +56,8 @@ describe("Items - Grip Claw", () => { const enemy2HeldItemCount = getHeldItemCount(enemyPokemon[1]); expect(enemy2HeldItemCount).toBeGreaterThan(0); - game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TACKLE, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase", false); @@ -71,7 +71,7 @@ describe("Items - Grip Claw", () => { }); it("should not steal items when using a targetted, non attack move", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MILOTIC]); const [playerPokemon] = game.scene.getPlayerField(); @@ -85,8 +85,8 @@ describe("Items - Grip Claw", () => { const enemy2HeldItemCount = getHeldItemCount(enemyPokemon[1]); expect(enemy2HeldItemCount).toBeGreaterThan(0); - game.move.select(Moves.ATTRACT, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.ATTRACT, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase", false); @@ -102,12 +102,12 @@ describe("Items - Grip Claw", () => { it("should not allow Pollen Puff to steal items when healing ally", async () => { game.override .battleStyle("double") - .moveset([Moves.POLLEN_PUFF, Moves.ENDURE]) + .moveset([MoveId.POLLEN_PUFF, MoveId.ENDURE]) .startingHeldItems([ { name: "GRIP_CLAW", count: 1 }, { name: "BERRY", type: BerryType.LUM, count: 1 }, ]); - await game.classicMode.startBattle([Species.BULBASAUR, Species.OMANYTE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.OMANYTE]); const [leftPokemon, rightPokemon] = game.scene.getPlayerField(); @@ -116,8 +116,8 @@ describe("Items - Grip Claw", () => { const heldItemCountBefore = getHeldItemCount(rightPokemon); - game.move.select(Moves.POLLEN_PUFF, 0, BattlerIndex.PLAYER_2); - game.move.select(Moves.ENDURE, 1); + game.move.select(MoveId.POLLEN_PUFF, 0, BattlerIndex.PLAYER_2); + game.move.select(MoveId.ENDURE, 1); await game.toNextTurn(); diff --git a/test/items/leek.test.ts b/test/items/leek.test.ts index be2aa73299c..05ee77c991a 100644 --- a/test/items/leek.test.ts +++ b/test/items/leek.test.ts @@ -1,7 +1,7 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { randInt } from "#app/utils/common"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,21 +24,21 @@ describe("Items - Leek", () => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) .startingHeldItems([{ name: "LEEK" }]) - .moveset([Moves.TACKLE]) + .moveset([MoveId.TACKLE]) .battleStyle("single"); }); it("should raise CRIT stage by 2 when held by FARFETCHD", async () => { - await game.classicMode.startBattle([Species.FARFETCHD]); + await game.classicMode.startBattle([SpeciesId.FARFETCHD]); const enemyMember = game.scene.getEnemyPokemon()!; vi.spyOn(enemyMember, "getCritStage"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -46,13 +46,13 @@ describe("Items - Leek", () => { }, 20000); it("should raise CRIT stage by 2 when held by GALAR_FARFETCHD", async () => { - await game.classicMode.startBattle([Species.GALAR_FARFETCHD]); + await game.classicMode.startBattle([SpeciesId.GALAR_FARFETCHD]); const enemyMember = game.scene.getEnemyPokemon()!; vi.spyOn(enemyMember, "getCritStage"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -60,13 +60,13 @@ describe("Items - Leek", () => { }, 20000); it("should raise CRIT stage by 2 when held by SIRFETCHD", async () => { - await game.classicMode.startBattle([Species.SIRFETCHD]); + await game.classicMode.startBattle([SpeciesId.SIRFETCHD]); const enemyMember = game.scene.getEnemyPokemon()!; vi.spyOn(enemyMember, "getCritStage"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -75,9 +75,9 @@ describe("Items - Leek", () => { it("should raise CRIT stage by 2 when held by FARFETCHD line fused with Pokemon", async () => { // Randomly choose from the Farfetch'd line - const species = [Species.FARFETCHD, Species.GALAR_FARFETCHD, Species.SIRFETCHD]; + const species = [SpeciesId.FARFETCHD, SpeciesId.GALAR_FARFETCHD, SpeciesId.SIRFETCHD]; - await game.classicMode.startBattle([species[randInt(species.length)], Species.PIKACHU]); + await game.classicMode.startBattle([species[randInt(species.length)], SpeciesId.PIKACHU]); const [partyMember, ally] = game.scene.getPlayerParty(); @@ -94,7 +94,7 @@ describe("Items - Leek", () => { vi.spyOn(enemyMember, "getCritStage"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -103,9 +103,9 @@ describe("Items - Leek", () => { it("should raise CRIT stage by 2 when held by Pokemon fused with FARFETCHD line", async () => { // Randomly choose from the Farfetch'd line - const species = [Species.FARFETCHD, Species.GALAR_FARFETCHD, Species.SIRFETCHD]; + const species = [SpeciesId.FARFETCHD, SpeciesId.GALAR_FARFETCHD, SpeciesId.SIRFETCHD]; - await game.classicMode.startBattle([Species.PIKACHU, species[randInt(species.length)]]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, species[randInt(species.length)]]); const [partyMember, ally] = game.scene.getPlayerParty(); @@ -122,7 +122,7 @@ describe("Items - Leek", () => { vi.spyOn(enemyMember, "getCritStage"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -130,13 +130,13 @@ describe("Items - Leek", () => { }, 20000); it("should not raise CRIT stage when held by a Pokemon outside of FARFETCHD line", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const enemyMember = game.scene.getEnemyPokemon()!; vi.spyOn(enemyMember, "getCritStage"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); diff --git a/test/items/leftovers.test.ts b/test/items/leftovers.test.ts index a31b711eb63..1f42dbcf537 100644 --- a/test/items/leftovers.test.ts +++ b/test/items/leftovers.test.ts @@ -1,8 +1,8 @@ import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,16 +26,16 @@ describe("Items - Leftovers", () => { game.override .battleStyle("single") .startingLevel(2000) - .ability(Abilities.UNNERVE) - .moveset([Moves.SPLASH]) - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.UNNERVE) - .enemyMoveset(Moves.TACKLE) + .ability(AbilityId.UNNERVE) + .moveset([MoveId.SPLASH]) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.UNNERVE) + .enemyMoveset(MoveId.TACKLE) .startingHeldItems([{ name: "LEFTOVERS", count: 1 }]); }); it("leftovers works", async () => { - await game.classicMode.startBattle([Species.ARCANINE]); + await game.classicMode.startBattle([SpeciesId.ARCANINE]); // Make sure leftovers are there expect(game.scene.modifiers[0].type.id).toBe("LEFTOVERS"); @@ -45,7 +45,7 @@ describe("Items - Leftovers", () => { // We should have full hp expect(leadPokemon.isFullHp()).toBe(true); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); // We should have less hp after the attack await game.phaseInterceptor.to(DamageAnimPhase, false); diff --git a/test/items/light_ball.test.ts b/test/items/light_ball.test.ts index 214f6f624e6..84a1689260f 100644 --- a/test/items/light_ball.test.ts +++ b/test/items/light_ball.test.ts @@ -3,7 +3,7 @@ import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; import { NumberHolder } from "#app/utils/common"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,7 +31,7 @@ describe("Items - Light Ball", () => { it("LIGHT_BALL activates in battle correctly", async () => { game.override.startingHeldItems([{ name: "RARE_SPECIES_STAT_BOOSTER", type: "LIGHT_BALL" }]); const consoleSpy = vi.spyOn(console, "log"); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerParty()[0]; @@ -82,7 +82,7 @@ describe("Items - Light Ball", () => { }); it("LIGHT_BALL held by PIKACHU", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerParty()[0]; @@ -111,7 +111,7 @@ describe("Items - Light Ball", () => { }, 20000); it("LIGHT_BALL held by fused PIKACHU (base)", async () => { - await game.classicMode.startBattle([Species.PIKACHU, Species.MAROWAK]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -150,7 +150,7 @@ describe("Items - Light Ball", () => { }, 20000); it("LIGHT_BALL held by fused PIKACHU (part)", async () => { - await game.classicMode.startBattle([Species.MAROWAK, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.MAROWAK, SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -189,7 +189,7 @@ describe("Items - Light Ball", () => { }, 20000); it("LIGHT_BALL not held by PIKACHU", async () => { - await game.classicMode.startBattle([Species.MAROWAK]); + await game.classicMode.startBattle([SpeciesId.MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; diff --git a/test/items/lock_capsule.test.ts b/test/items/lock_capsule.test.ts index 19829578d87..15a1b4e73d1 100644 --- a/test/items/lock_capsule.test.ts +++ b/test/items/lock_capsule.test.ts @@ -1,5 +1,5 @@ -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { ModifierTier } from "#app/modifier/modifier-tier"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { UiMode } from "#enums/ui-mode"; @@ -27,8 +27,8 @@ describe("Items - Lock Capsule", () => { game.override .battleStyle("single") .startingLevel(200) - .moveset([Moves.SURF]) - .enemyAbility(Abilities.BALL_FETCH) + .moveset([MoveId.SURF]) + .enemyAbility(AbilityId.BALL_FETCH) .startingModifier([{ name: "LOCK_CAPSULE" }]); }); diff --git a/test/items/metal_powder.test.ts b/test/items/metal_powder.test.ts index a9a81072622..20b0b90a766 100644 --- a/test/items/metal_powder.test.ts +++ b/test/items/metal_powder.test.ts @@ -3,7 +3,7 @@ import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; import { NumberHolder } from "#app/utils/common"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,7 +31,7 @@ describe("Items - Metal Powder", () => { it("METAL_POWDER activates in battle correctly", async () => { game.override.startingHeldItems([{ name: "RARE_SPECIES_STAT_BOOSTER", type: "METAL_POWDER" }]); const consoleSpy = vi.spyOn(console, "log"); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const partyMember = game.scene.getPlayerParty()[0]; @@ -82,7 +82,7 @@ describe("Items - Metal Powder", () => { }); it("METAL_POWDER held by DITTO", async () => { - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const partyMember = game.scene.getPlayerParty()[0]; @@ -105,7 +105,7 @@ describe("Items - Metal Powder", () => { }, 20000); it("METAL_POWDER held by fused DITTO (base)", async () => { - await game.classicMode.startBattle([Species.DITTO, Species.MAROWAK]); + await game.classicMode.startBattle([SpeciesId.DITTO, SpeciesId.MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -138,7 +138,7 @@ describe("Items - Metal Powder", () => { }, 20000); it("METAL_POWDER held by fused DITTO (part)", async () => { - await game.classicMode.startBattle([Species.MAROWAK, Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.MAROWAK, SpeciesId.DITTO]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -171,7 +171,7 @@ describe("Items - Metal Powder", () => { }, 20000); it("METAL_POWDER not held by DITTO", async () => { - await game.classicMode.startBattle([Species.MAROWAK]); + await game.classicMode.startBattle([SpeciesId.MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; diff --git a/test/items/multi_lens.test.ts b/test/items/multi_lens.test.ts index ff6154b8283..be697eabcf8 100644 --- a/test/items/multi_lens.test.ts +++ b/test/items/multi_lens.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,14 +24,14 @@ describe("Items - Multi Lens", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.TACKLE, Moves.TRAILBLAZE, Moves.TACHYON_CUTTER, Moves.FUTURE_SIGHT]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.TACKLE, MoveId.TRAILBLAZE, MoveId.TACHYON_CUTTER, MoveId.FUTURE_SIGHT]) + .ability(AbilityId.BALL_FETCH) .startingHeldItems([{ name: "MULTI_LENS" }]) .battleStyle("single") .disableCrits() - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .startingLevel(99) // Check for proper rounding on Seismic Toss damage reduction .enemyLevel(99); }); @@ -44,13 +44,13 @@ describe("Items - Multi Lens", () => { async ({ stackCount, firstHitDamage }) => { game.override.startingHeldItems([{ name: "MULTI_LENS", count: stackCount }]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; const spy = vi.spyOn(enemyPokemon, "getAttackDamage"); vi.spyOn(enemyPokemon, "getBaseDamage").mockReturnValue(100); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -63,13 +63,13 @@ describe("Items - Multi Lens", () => { ); it("should stack additively with Parental Bond", async () => { - game.override.ability(Abilities.PARENTAL_BOND); + game.override.ability(AbilityId.PARENTAL_BOND); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -77,36 +77,36 @@ describe("Items - Multi Lens", () => { }); it("should apply secondary effects on each hit", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TRAILBLAZE); + game.move.select(MoveId.TRAILBLAZE); await game.phaseInterceptor.to("BerryPhase", false); expect(playerPokemon.getStatStage(Stat.SPD)).toBe(2); }); it("should not enhance multi-hit moves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TACHYON_CUTTER); + game.move.select(MoveId.TACHYON_CUTTER); await game.phaseInterceptor.to("BerryPhase", false); expect(playerPokemon.turnData.hitCount).toBe(2); }); it("should enhance multi-target moves", async () => { - game.override.battleStyle("double").moveset([Moves.SWIFT, Moves.SPLASH]); + game.override.battleStyle("double").moveset([MoveId.SWIFT, MoveId.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const [magikarp] = game.scene.getPlayerField(); - game.move.select(Moves.SWIFT, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SWIFT, 0); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -116,15 +116,15 @@ describe("Items - Multi Lens", () => { }); it("should enhance fixed-damage moves while also applying damage reduction", async () => { - game.override.startingHeldItems([{ name: "MULTI_LENS", count: 1 }]).moveset(Moves.SEISMIC_TOSS); + game.override.startingHeldItems([{ name: "MULTI_LENS", count: 1 }]).moveset(MoveId.SEISMIC_TOSS); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; const spy = vi.spyOn(enemyPokemon, "getAttackDamage"); - game.move.select(Moves.SEISMIC_TOSS); + game.move.select(MoveId.SEISMIC_TOSS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -138,16 +138,16 @@ describe("Items - Multi Lens", () => { it("should result in correct damage for hp% attacks with 1 lens", async () => { game.override .startingHeldItems([{ name: "MULTI_LENS", count: 1 }]) - .moveset(Moves.SUPER_FANG) - .ability(Abilities.COMPOUND_EYES) + .moveset(MoveId.SUPER_FANG) + .ability(AbilityId.COMPOUND_EYES) .enemyLevel(1000) - .enemySpecies(Species.BLISSEY); // allows for unrealistically high levels of accuracy + .enemySpecies(SpeciesId.BLISSEY); // allows for unrealistically high levels of accuracy - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SUPER_FANG); + game.move.select(MoveId.SUPER_FANG); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); expect(enemyPokemon.getHpRatio()).toBeCloseTo(0.5, 5); @@ -156,17 +156,17 @@ describe("Items - Multi Lens", () => { it("should result in correct damage for hp% attacks with 2 lenses", async () => { game.override .startingHeldItems([{ name: "MULTI_LENS", count: 2 }]) - .moveset(Moves.SUPER_FANG) - .ability(Abilities.COMPOUND_EYES) - .enemyMoveset(Moves.SPLASH) + .moveset(MoveId.SUPER_FANG) + .ability(AbilityId.COMPOUND_EYES) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(1000) - .enemySpecies(Species.BLISSEY); // allows for unrealistically high levels of accuracy + .enemySpecies(SpeciesId.BLISSEY); // allows for unrealistically high levels of accuracy - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SUPER_FANG); + game.move.select(MoveId.SUPER_FANG); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); expect(enemyPokemon.getHpRatio()).toBeCloseTo(0.5, 5); @@ -175,18 +175,18 @@ describe("Items - Multi Lens", () => { it("should result in correct damage for hp% attacks with 2 lenses + Parental Bond", async () => { game.override .startingHeldItems([{ name: "MULTI_LENS", count: 2 }]) - .moveset(Moves.SUPER_FANG) - .ability(Abilities.PARENTAL_BOND) - .passiveAbility(Abilities.COMPOUND_EYES) - .enemyMoveset(Moves.SPLASH) + .moveset(MoveId.SUPER_FANG) + .ability(AbilityId.PARENTAL_BOND) + .passiveAbility(AbilityId.COMPOUND_EYES) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(1000) - .enemySpecies(Species.BLISSEY); // allows for unrealistically high levels of accuracy + .enemySpecies(SpeciesId.BLISSEY); // allows for unrealistically high levels of accuracy - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SUPER_FANG); + game.move.select(MoveId.SUPER_FANG); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); expect(enemyPokemon.getHpRatio()).toBeCloseTo(0.25, 5); @@ -194,12 +194,12 @@ describe("Items - Multi Lens", () => { it("should not allow Future Sight to hit infinitely many times if the user switches out", async () => { game.override.enemyLevel(1000); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(enemyPokemon, "damageAndUpdate"); - game.move.select(Moves.FUTURE_SIGHT); + game.move.select(MoveId.FUTURE_SIGHT); await game.toNextTurn(); game.doSwitchPokemon(1); @@ -213,15 +213,15 @@ describe("Items - Multi Lens", () => { }); it("should not allow Pollen Puff to heal ally more than once", async () => { - game.override.battleStyle("double").moveset([Moves.POLLEN_PUFF, Moves.ENDURE]); - await game.classicMode.startBattle([Species.BULBASAUR, Species.OMANYTE]); + game.override.battleStyle("double").moveset([MoveId.POLLEN_PUFF, MoveId.ENDURE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.OMANYTE]); const [, rightPokemon] = game.scene.getPlayerField(); rightPokemon.damageAndUpdate(rightPokemon.hp - 1); - game.move.select(Moves.POLLEN_PUFF, 0, BattlerIndex.PLAYER_2); - game.move.select(Moves.ENDURE, 1); + game.move.select(MoveId.POLLEN_PUFF, 0, BattlerIndex.PLAYER_2); + game.move.select(MoveId.ENDURE, 1); await game.toNextTurn(); diff --git a/test/items/mystical_rock.test.ts b/test/items/mystical_rock.test.ts index 59119ce8611..091815aa604 100644 --- a/test/items/mystical_rock.test.ts +++ b/test/items/mystical_rock.test.ts @@ -1,7 +1,7 @@ import { globalScene } from "#app/global-scene"; -import { Moves } from "#enums/moves"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,18 +24,18 @@ describe("Items - Mystical Rock", () => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.SHUCKLE) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.SUNNY_DAY, Moves.GRASSY_TERRAIN]) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.SUNNY_DAY, MoveId.GRASSY_TERRAIN]) .startingHeldItems([{ name: "MYSTICAL_ROCK", count: 2 }]) .battleStyle("single"); }); it("should increase weather duration by +2 turns per stack", async () => { - await game.classicMode.startBattle([Species.GASTLY]); + await game.classicMode.startBattle([SpeciesId.GASTLY]); - game.move.select(Moves.SUNNY_DAY); + game.move.select(MoveId.SUNNY_DAY); await game.phaseInterceptor.to("MoveEndPhase"); @@ -46,9 +46,9 @@ describe("Items - Mystical Rock", () => { }); it("should increase terrain duration by +2 turns per stack", async () => { - await game.classicMode.startBattle([Species.GASTLY]); + await game.classicMode.startBattle([SpeciesId.GASTLY]); - game.move.select(Moves.GRASSY_TERRAIN); + game.move.select(MoveId.GRASSY_TERRAIN); await game.phaseInterceptor.to("MoveEndPhase"); diff --git a/test/items/quick_powder.test.ts b/test/items/quick_powder.test.ts index fb08d6bc71e..0192dec4635 100644 --- a/test/items/quick_powder.test.ts +++ b/test/items/quick_powder.test.ts @@ -3,7 +3,7 @@ import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; import { NumberHolder } from "#app/utils/common"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,7 +31,7 @@ describe("Items - Quick Powder", () => { it("QUICK_POWDER activates in battle correctly", async () => { game.override.startingHeldItems([{ name: "RARE_SPECIES_STAT_BOOSTER", type: "QUICK_POWDER" }]); const consoleSpy = vi.spyOn(console, "log"); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const partyMember = game.scene.getPlayerParty()[0]; @@ -82,7 +82,7 @@ describe("Items - Quick Powder", () => { }); it("QUICK_POWDER held by DITTO", async () => { - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const partyMember = game.scene.getPlayerParty()[0]; @@ -105,7 +105,7 @@ describe("Items - Quick Powder", () => { }); it("QUICK_POWDER held by fused DITTO (base)", async () => { - await game.classicMode.startBattle([Species.DITTO, Species.MAROWAK]); + await game.classicMode.startBattle([SpeciesId.DITTO, SpeciesId.MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -138,7 +138,7 @@ describe("Items - Quick Powder", () => { }); it("QUICK_POWDER held by fused DITTO (part)", async () => { - await game.classicMode.startBattle([Species.MAROWAK, Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.MAROWAK, SpeciesId.DITTO]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -171,7 +171,7 @@ describe("Items - Quick Powder", () => { }); it("QUICK_POWDER not held by DITTO", async () => { - await game.classicMode.startBattle([Species.MAROWAK]); + await game.classicMode.startBattle([SpeciesId.MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; diff --git a/test/items/reviver_seed.test.ts b/test/items/reviver_seed.test.ts index 13aaf98249e..2ab3c5ffe74 100644 --- a/test/items/reviver_seed.test.ts +++ b/test/items/reviver_seed.test.ts @@ -2,9 +2,9 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import type { PokemonInstantReviveModifier } from "#app/modifier/modifier"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -26,46 +26,46 @@ describe("Items - Reviver Seed", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.TACKLE, Moves.ENDURE]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.TACKLE, MoveId.ENDURE]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) .startingHeldItems([{ name: "REVIVER_SEED" }]) .enemyHeldItems([{ name: "REVIVER_SEED" }]) - .enemyMoveset(Moves.SPLASH); - vi.spyOn(allMoves[Moves.SHEER_COLD], "accuracy", "get").mockReturnValue(100); - vi.spyOn(allMoves[Moves.LEECH_SEED], "accuracy", "get").mockReturnValue(100); - vi.spyOn(allMoves[Moves.WHIRLPOOL], "accuracy", "get").mockReturnValue(100); - vi.spyOn(allMoves[Moves.WILL_O_WISP], "accuracy", "get").mockReturnValue(100); + .enemyMoveset(MoveId.SPLASH); + vi.spyOn(allMoves[MoveId.SHEER_COLD], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.LEECH_SEED], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.WHIRLPOOL], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.WILL_O_WISP], "accuracy", "get").mockReturnValue(100); }); it.each([ - { moveType: "Special Move", move: Moves.WATER_GUN }, - { moveType: "Physical Move", move: Moves.TACKLE }, - { moveType: "Fixed Damage Move", move: Moves.SEISMIC_TOSS }, - { moveType: "Final Gambit", move: Moves.FINAL_GAMBIT }, - { moveType: "Counter", move: Moves.COUNTER }, - { moveType: "OHKO", move: Moves.SHEER_COLD }, + { moveType: "Special Move", move: MoveId.WATER_GUN }, + { moveType: "Physical Move", move: MoveId.TACKLE }, + { moveType: "Fixed Damage Move", move: MoveId.SEISMIC_TOSS }, + { moveType: "Final Gambit", move: MoveId.FINAL_GAMBIT }, + { moveType: "Counter", move: MoveId.COUNTER }, + { moveType: "OHKO", move: MoveId.SHEER_COLD }, ])("should activate the holder's reviver seed from a $moveType", async ({ move }) => { game.override.enemyLevel(100).startingLevel(1).enemyMoveset(move); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.hp - 1); const reviverSeed = player.getHeldItems()[0] as PokemonInstantReviveModifier; vi.spyOn(reviverSeed, "apply"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase"); expect(player.isFainted()).toBeFalsy(); }); it("should activate the holder's reviver seed from confusion self-hit", async () => { - game.override.enemyLevel(1).startingLevel(100).enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + game.override.enemyLevel(1).startingLevel(100).enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.hp - 1); player.addTag(BattlerTagType.CONFUSED, 3); @@ -74,7 +74,7 @@ describe("Items - Reviver Seed", () => { vi.spyOn(reviverSeed, "apply"); vi.spyOn(player, "randBattleSeedInt").mockReturnValue(0); // Force confusion self-hit - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase"); expect(player.isFainted()).toBeFalsy(); @@ -82,19 +82,19 @@ describe("Items - Reviver Seed", () => { // Damaging opponents tests it.each([ - { moveType: "Damaging Move Chip Damage", move: Moves.SALT_CURE }, - { moveType: "Chip Damage", move: Moves.LEECH_SEED }, - { moveType: "Trapping Chip Damage", move: Moves.WHIRLPOOL }, - { moveType: "Status Effect Damage", move: Moves.WILL_O_WISP }, - { moveType: "Weather", move: Moves.SANDSTORM }, + { moveType: "Damaging Move Chip Damage", move: MoveId.SALT_CURE }, + { moveType: "Chip Damage", move: MoveId.LEECH_SEED }, + { moveType: "Trapping Chip Damage", move: MoveId.WHIRLPOOL }, + { moveType: "Status Effect Damage", move: MoveId.WILL_O_WISP }, + { moveType: "Weather", move: MoveId.SANDSTORM }, ])("should not activate the holder's reviver seed from $moveType", async ({ move }) => { game.override .enemyLevel(1) .startingLevel(100) - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .moveset(move) - .enemyMoveset(Moves.ENDURE); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + .enemyMoveset(MoveId.ENDURE); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; enemy.damageAndUpdate(enemy.hp - 1); @@ -106,19 +106,19 @@ describe("Items - Reviver Seed", () => { // Self-damage tests it.each([ - { moveType: "Recoil", move: Moves.DOUBLE_EDGE }, - { moveType: "Self-KO", move: Moves.EXPLOSION }, - { moveType: "Self-Deduction", move: Moves.CURSE }, - { moveType: "Liquid Ooze", move: Moves.GIGA_DRAIN }, + { moveType: "Recoil", move: MoveId.DOUBLE_EDGE }, + { moveType: "Self-KO", move: MoveId.EXPLOSION }, + { moveType: "Self-Deduction", move: MoveId.CURSE }, + { moveType: "Liquid Ooze", move: MoveId.GIGA_DRAIN }, ])("should not activate the holder's reviver seed from $moveType", async ({ move }) => { game.override .enemyLevel(100) .startingLevel(1) - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .moveset(move) - .enemyAbility(Abilities.LIQUID_OOZE) - .enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.GASTLY, Species.FEEBAS]); + .enemyAbility(AbilityId.LIQUID_OOZE) + .enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.GASTLY, SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.hp - 1); @@ -135,16 +135,16 @@ describe("Items - Reviver Seed", () => { game.override .enemyLevel(100) .startingLevel(1) - .enemySpecies(Species.MAGIKARP) - .moveset(Moves.DESTINY_BOND) + .enemySpecies(SpeciesId.MAGIKARP) + .moveset(MoveId.DESTINY_BOND) .startingHeldItems([]) // reset held items to nothing so user doesn't revive and not trigger Destiny Bond - .enemyMoveset(Moves.TACKLE); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + .enemyMoveset(MoveId.TACKLE); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.hp - 1); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DESTINY_BOND); + game.move.select(MoveId.DESTINY_BOND); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/items/scope_lens.test.ts b/test/items/scope_lens.test.ts index c8061ea3696..2ec5260d092 100644 --- a/test/items/scope_lens.test.ts +++ b/test/items/scope_lens.test.ts @@ -1,6 +1,6 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -23,21 +23,21 @@ describe("Items - Scope Lens", () => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.POUND]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.POUND]) .startingHeldItems([{ name: "SCOPE_LENS" }]) .battleStyle("single"); }, 20000); it("should raise CRIT stage by 1", async () => { - await game.classicMode.startBattle([Species.GASTLY]); + await game.classicMode.startBattle([SpeciesId.GASTLY]); const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(enemyPokemon, "getCritStage"); - game.move.select(Moves.POUND); + game.move.select(MoveId.POUND); await game.phaseInterceptor.to(TurnEndPhase); diff --git a/test/items/temp_stat_stage_booster.test.ts b/test/items/temp_stat_stage_booster.test.ts index a3cfc3256bb..a58c2d611c9 100644 --- a/test/items/temp_stat_stage_booster.test.ts +++ b/test/items/temp_stat_stage_booster.test.ts @@ -1,11 +1,11 @@ import { BATTLE_STATS, Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { Moves } from "#app/enums/moves"; +import { MoveId } from "#enums/move-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { TempStatStageBoosterModifier } from "#app/modifier/modifier"; import { UiMode } from "#enums/ui-mode"; import { Button } from "#app/enums/buttons"; @@ -31,21 +31,21 @@ describe("Items - Temporary Stat Stage Boosters", () => { game.override .battleStyle("single") - .enemySpecies(Species.SHUCKLE) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.TACKLE, Moves.SPLASH, Moves.HONE_CLAWS, Moves.BELLY_DRUM]) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.TACKLE, MoveId.SPLASH, MoveId.HONE_CLAWS, MoveId.BELLY_DRUM]) .startingModifier([{ name: "TEMP_STAT_STAGE_BOOSTER", type: Stat.ATK }]); }); it("should provide a x1.3 stat stage multiplier", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerPokemon()!; vi.spyOn(partyMember, "getStatStageMultiplier"); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.runFrom("EnemyCommandPhase").to(TurnEndPhase); @@ -53,20 +53,20 @@ describe("Items - Temporary Stat Stage Boosters", () => { }, 20000); it("should increase existing ACC stat stage by 1 for X_ACCURACY only", async () => { - game.override.startingModifier([{ name: "TEMP_STAT_STAGE_BOOSTER", type: Stat.ACC }]).ability(Abilities.SIMPLE); + game.override.startingModifier([{ name: "TEMP_STAT_STAGE_BOOSTER", type: Stat.ACC }]).ability(AbilityId.SIMPLE); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerPokemon()!; vi.spyOn(partyMember, "getAccuracyMultiplier"); // Raise ACC by +2 stat stages - game.move.select(Moves.HONE_CLAWS); + game.move.select(MoveId.HONE_CLAWS); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -75,18 +75,18 @@ describe("Items - Temporary Stat Stage Boosters", () => { }, 20000); it("should increase existing stat stage multiplier by 3/10 for the rest of the boosters", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerPokemon()!; vi.spyOn(partyMember, "getStatStageMultiplier"); // Raise ATK by +1 stat stage - game.move.select(Moves.HONE_CLAWS); + game.move.select(MoveId.HONE_CLAWS); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -100,7 +100,7 @@ describe("Items - Temporary Stat Stage Boosters", () => { { name: "TEMP_STAT_STAGE_BOOSTER", type: Stat.ATK }, ]); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerPokemon()!; @@ -110,7 +110,7 @@ describe("Items - Temporary Stat Stage Boosters", () => { // Set all stat stages to 6 vi.spyOn(partyMember.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(6)); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(TurnEndPhase); @@ -121,9 +121,9 @@ describe("Items - Temporary Stat Stage Boosters", () => { it("should renew how many battles are left of existing booster when picking up new booster of same type", async () => { game.override.startingLevel(200).itemRewards([{ name: "TEMP_STAT_STAGE_BOOSTER", type: Stat.ATK }]); - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); diff --git a/test/items/thick_club.test.ts b/test/items/thick_club.test.ts index 350735a363c..cff080d0e42 100644 --- a/test/items/thick_club.test.ts +++ b/test/items/thick_club.test.ts @@ -3,7 +3,7 @@ import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; import { NumberHolder, randInt } from "#app/utils/common"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,7 +31,7 @@ describe("Items - Thick Club", () => { it("THICK_CLUB activates in battle correctly", async () => { game.override.startingHeldItems([{ name: "RARE_SPECIES_STAT_BOOSTER", type: "THICK_CLUB" }]); const consoleSpy = vi.spyOn(console, "log"); - await game.classicMode.startBattle([Species.CUBONE]); + await game.classicMode.startBattle([SpeciesId.CUBONE]); const partyMember = game.scene.getPlayerParty()[0]; @@ -82,7 +82,7 @@ describe("Items - Thick Club", () => { }); it("THICK_CLUB held by CUBONE", async () => { - await game.classicMode.startBattle([Species.CUBONE]); + await game.classicMode.startBattle([SpeciesId.CUBONE]); const partyMember = game.scene.getPlayerParty()[0]; @@ -105,7 +105,7 @@ describe("Items - Thick Club", () => { }); it("THICK_CLUB held by MAROWAK", async () => { - await game.classicMode.startBattle([Species.MAROWAK]); + await game.classicMode.startBattle([SpeciesId.MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; @@ -128,7 +128,7 @@ describe("Items - Thick Club", () => { }); it("THICK_CLUB held by ALOLA_MAROWAK", async () => { - await game.classicMode.startBattle([Species.ALOLA_MAROWAK]); + await game.classicMode.startBattle([SpeciesId.ALOLA_MAROWAK]); const partyMember = game.scene.getPlayerParty()[0]; @@ -152,10 +152,10 @@ describe("Items - Thick Club", () => { it("THICK_CLUB held by fused CUBONE line (base)", async () => { // Randomly choose from the Cubone line - const species = [Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK]; + const species = [SpeciesId.CUBONE, SpeciesId.MAROWAK, SpeciesId.ALOLA_MAROWAK]; const randSpecies = randInt(species.length); - await game.classicMode.startBattle([species[randSpecies], Species.PIKACHU]); + await game.classicMode.startBattle([species[randSpecies], SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -189,10 +189,10 @@ describe("Items - Thick Club", () => { it("THICK_CLUB held by fused CUBONE line (part)", async () => { // Randomly choose from the Cubone line - const species = [Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK]; + const species = [SpeciesId.CUBONE, SpeciesId.MAROWAK, SpeciesId.ALOLA_MAROWAK]; const randSpecies = randInt(species.length); - await game.classicMode.startBattle([Species.PIKACHU, species[randSpecies]]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, species[randSpecies]]); const partyMember = game.scene.getPlayerParty()[0]; const ally = game.scene.getPlayerParty()[1]; @@ -225,7 +225,7 @@ describe("Items - Thick Club", () => { }); it("THICK_CLUB not held by CUBONE", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const partyMember = game.scene.getPlayerParty()[0]; diff --git a/test/items/toxic_orb.test.ts b/test/items/toxic_orb.test.ts index d02679e17c1..e0d86655028 100644 --- a/test/items/toxic_orb.test.ts +++ b/test/items/toxic_orb.test.ts @@ -1,7 +1,7 @@ import i18next from "#app/plugins/i18n"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,11 +25,11 @@ describe("Items - Toxic orb", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .ability(Abilities.BALL_FETCH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset(Moves.SPLASH) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.MAGIKARP) + .ability(AbilityId.BALL_FETCH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset(MoveId.SPLASH) + .enemyMoveset(MoveId.SPLASH) .startingHeldItems([ { name: "TOXIC_ORB", @@ -40,12 +40,12 @@ describe("Items - Toxic orb", () => { }); it("should badly poison the holder", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; expect(player.getHeldItems()[0].type.id).toBe("TOXIC_ORB"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); await game.phaseInterceptor.to("MessagePhase"); diff --git a/test/moves/after_you.test.ts b/test/moves/after_you.test.ts index 3fa7c9ceb0a..adf9cae707a 100644 --- a/test/moves/after_you.test.ts +++ b/test/moves/after_you.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { MoveResult } from "#app/field/pokemon"; import { MovePhase } from "#app/phases/move-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -27,18 +27,18 @@ describe("Moves - After You", () => { game.override .battleStyle("double") .enemyLevel(5) - .enemySpecies(Species.PIKACHU) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.AFTER_YOU, Moves.SPLASH]); + .enemySpecies(SpeciesId.PIKACHU) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.AFTER_YOU, MoveId.SPLASH]); }); it("makes the target move immediately after the user", async () => { - await game.classicMode.startBattle([Species.REGIELEKI, Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.SHUCKLE]); - game.move.select(Moves.AFTER_YOU, 0, BattlerIndex.PLAYER_2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.AFTER_YOU, 0, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("MoveEffectPhase"); await game.phaseInterceptor.to(MovePhase, false); @@ -48,11 +48,11 @@ describe("Moves - After You", () => { }); it("fails if target already moved", async () => { - game.override.enemySpecies(Species.SHUCKLE); - await game.classicMode.startBattle([Species.REGIELEKI, Species.PIKACHU]); + game.override.enemySpecies(SpeciesId.SHUCKLE); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.PIKACHU]); - game.move.select(Moves.SPLASH); - game.move.select(Moves.AFTER_YOU, 1, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.AFTER_YOU, 1, BattlerIndex.PLAYER); await game.phaseInterceptor.to("MoveEndPhase"); await game.phaseInterceptor.to("MoveEndPhase"); diff --git a/test/moves/alluring_voice.test.ts b/test/moves/alluring_voice.test.ts index 9265c5f970d..2cfb7a76317 100644 --- a/test/moves/alluring_voice.test.ts +++ b/test/moves/alluring_voice.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { BerryPhase } from "#app/phases/berry-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -27,20 +27,20 @@ describe("Moves - Alluring Voice", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.ICE_SCALES) - .enemyMoveset(Moves.HOWL) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.ICE_SCALES) + .enemyMoveset(MoveId.HOWL) .startingLevel(10) .enemyLevel(10) - .ability(Abilities.BALL_FETCH); + .ability(AbilityId.BALL_FETCH); }); it("should confuse the opponent if their stat stages were raised", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.use(Moves.ALLURING_VOICE); + game.move.use(MoveId.ALLURING_VOICE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to(BerryPhase); diff --git a/test/moves/aromatherapy.test.ts b/test/moves/aromatherapy.test.ts index c361f4e8bbd..bfe315a1390 100644 --- a/test/moves/aromatherapy.test.ts +++ b/test/moves/aromatherapy.test.ts @@ -1,8 +1,8 @@ import { StatusEffect } from "#app/enums/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -24,24 +24,24 @@ describe("Moves - Aromatherapy", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.AROMATHERAPY, Moves.SPLASH]) + .moveset([MoveId.AROMATHERAPY, MoveId.SPLASH]) .statusEffect(StatusEffect.BURN) .battleStyle("double") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should cure status effect of the user, its ally, and all party pokemon", async () => { - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer, partyPokemon] = game.scene.getPlayerParty(); vi.spyOn(leftPlayer, "resetStatus"); vi.spyOn(rightPlayer, "resetStatus"); vi.spyOn(partyPokemon, "resetStatus"); - game.move.select(Moves.AROMATHERAPY, 0); + game.move.select(MoveId.AROMATHERAPY, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.resetStatus).toHaveBeenCalledOnce(); @@ -55,15 +55,15 @@ describe("Moves - Aromatherapy", () => { it("should not cure status effect of the target/target's allies", async () => { game.override.enemyStatusEffect(StatusEffect.BURN); - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftOpp, rightOpp] = game.scene.getEnemyField(); vi.spyOn(leftOpp, "resetStatus"); vi.spyOn(rightOpp, "resetStatus"); - game.move.select(Moves.AROMATHERAPY, 0); + game.move.select(MoveId.AROMATHERAPY, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftOpp.resetStatus).toHaveBeenCalledTimes(0); @@ -77,17 +77,17 @@ describe("Moves - Aromatherapy", () => { }); it("should not cure status effect of allies ON FIELD with Sap Sipper, should still cure allies in party", async () => { - game.override.ability(Abilities.SAP_SIPPER); - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA, Species.RATTATA]); + game.override.ability(AbilityId.SAP_SIPPER); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer, partyPokemon] = game.scene.getPlayerParty(); vi.spyOn(leftPlayer, "resetStatus"); vi.spyOn(rightPlayer, "resetStatus"); vi.spyOn(partyPokemon, "resetStatus"); - game.move.select(Moves.AROMATHERAPY, 0); + game.move.select(MoveId.AROMATHERAPY, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.resetStatus).toHaveBeenCalledOnce(); diff --git a/test/moves/assist.test.ts b/test/moves/assist.test.ts index d0385399811..c0bdf2deea2 100644 --- a/test/moves/assist.test.ts +++ b/test/moves/assist.test.ts @@ -2,9 +2,9 @@ import { BattlerIndex } from "#app/battle"; import { Stat } from "#app/enums/stat"; import { MoveResult } from "#app/field/pokemon"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,26 +28,26 @@ describe("Moves - Assist", () => { // Manual moveset overrides are required for the player pokemon in these tests // because the normal moveset override doesn't allow for accurate testing of moveset changes game.override - .ability(Abilities.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .battleStyle("double") .disableCrits() - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should only use an ally's moves", async () => { - game.override.enemyMoveset(Moves.SWORDS_DANCE); - await game.classicMode.startBattle([Species.FEEBAS, Species.SHUCKLE]); + game.override.enemyMoveset(MoveId.SWORDS_DANCE); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.SHUCKLE]); const [feebas, shuckle] = game.scene.getPlayerField(); // These are all moves Assist cannot call; Sketch will be used to test that it can call other moves properly - game.move.changeMoveset(feebas, [Moves.ASSIST, Moves.SKETCH, Moves.PROTECT, Moves.DRAGON_TAIL]); - game.move.changeMoveset(shuckle, [Moves.ASSIST, Moves.SKETCH, Moves.PROTECT, Moves.DRAGON_TAIL]); + game.move.changeMoveset(feebas, [MoveId.ASSIST, MoveId.SKETCH, MoveId.PROTECT, MoveId.DRAGON_TAIL]); + game.move.changeMoveset(shuckle, [MoveId.ASSIST, MoveId.SKETCH, MoveId.PROTECT, MoveId.DRAGON_TAIL]); - game.move.select(Moves.ASSIST, 0); - game.move.select(Moves.SKETCH, 1); + game.move.select(MoveId.ASSIST, 0); + game.move.select(MoveId.SKETCH, 1); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER]); // Player_2 uses Sketch, copies Swords Dance, Player_1 uses Assist, uses Player_2's Sketched Swords Dance await game.toNextTurn(); @@ -56,48 +56,48 @@ describe("Moves - Assist", () => { }); it("should fail if there are no allies", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const feebas = game.scene.getPlayerPokemon()!; - game.move.changeMoveset(feebas, [Moves.ASSIST, Moves.SKETCH, Moves.PROTECT, Moves.DRAGON_TAIL]); + game.move.changeMoveset(feebas, [MoveId.ASSIST, MoveId.SKETCH, MoveId.PROTECT, MoveId.DRAGON_TAIL]); - game.move.select(Moves.ASSIST, 0); + game.move.select(MoveId.ASSIST, 0); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should fail if ally has no usable moves and user has usable moves", async () => { - game.override.enemyMoveset(Moves.SWORDS_DANCE); - await game.classicMode.startBattle([Species.FEEBAS, Species.SHUCKLE]); + game.override.enemyMoveset(MoveId.SWORDS_DANCE); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.SHUCKLE]); const [feebas, shuckle] = game.scene.getPlayerField(); - game.move.changeMoveset(feebas, [Moves.ASSIST, Moves.SKETCH, Moves.PROTECT, Moves.DRAGON_TAIL]); - game.move.changeMoveset(shuckle, [Moves.ASSIST, Moves.SKETCH, Moves.PROTECT, Moves.DRAGON_TAIL]); + game.move.changeMoveset(feebas, [MoveId.ASSIST, MoveId.SKETCH, MoveId.PROTECT, MoveId.DRAGON_TAIL]); + game.move.changeMoveset(shuckle, [MoveId.ASSIST, MoveId.SKETCH, MoveId.PROTECT, MoveId.DRAGON_TAIL]); - game.move.select(Moves.SKETCH, 0); - game.move.select(Moves.PROTECT, 1); + game.move.select(MoveId.SKETCH, 0); + game.move.select(MoveId.PROTECT, 1); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2]); // Player uses Sketch to copy Swords Dance, Player_2 stalls a turn. Player will attempt Assist and should have no usable moves await game.toNextTurn(); - game.move.select(Moves.ASSIST, 0); + game.move.select(MoveId.ASSIST, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.PROTECT, 1); + game.move.select(MoveId.PROTECT, 1); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should apply secondary effects of a move", async () => { - game.override.moveset([Moves.ASSIST, Moves.WOOD_HAMMER, Moves.WOOD_HAMMER, Moves.WOOD_HAMMER]); - await game.classicMode.startBattle([Species.FEEBAS, Species.SHUCKLE]); + game.override.moveset([MoveId.ASSIST, MoveId.WOOD_HAMMER, MoveId.WOOD_HAMMER, MoveId.WOOD_HAMMER]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.SHUCKLE]); const [feebas, shuckle] = game.scene.getPlayerField(); - game.move.changeMoveset(feebas, [Moves.ASSIST, Moves.SKETCH, Moves.PROTECT, Moves.DRAGON_TAIL]); - game.move.changeMoveset(shuckle, [Moves.ASSIST, Moves.SKETCH, Moves.PROTECT, Moves.DRAGON_TAIL]); + game.move.changeMoveset(feebas, [MoveId.ASSIST, MoveId.SKETCH, MoveId.PROTECT, MoveId.DRAGON_TAIL]); + game.move.changeMoveset(shuckle, [MoveId.ASSIST, MoveId.SKETCH, MoveId.PROTECT, MoveId.DRAGON_TAIL]); - game.move.select(Moves.ASSIST, 0); + game.move.select(MoveId.ASSIST, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.ASSIST, 1); + game.move.select(MoveId.ASSIST, 1); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.isFullHp()).toBeFalsy(); // should receive recoil damage from Wood Hammer diff --git a/test/moves/astonish.test.ts b/test/moves/astonish.test.ts index c07b0d7d2c5..48deadf7a01 100644 --- a/test/moves/astonish.test.ts +++ b/test/moves/astonish.test.ts @@ -4,9 +4,9 @@ import { BerryPhase } from "#app/phases/berry-phase"; import { CommandPhase } from "#app/phases/command-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; @@ -29,24 +29,24 @@ describe("Moves - Astonish", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.ASTONISH, Moves.SPLASH]) - .enemySpecies(Species.BLASTOISE) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset(Moves.TACKLE) + .moveset([MoveId.ASTONISH, MoveId.SPLASH]) + .enemySpecies(SpeciesId.BLASTOISE) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset(MoveId.TACKLE) .startingLevel(100) .enemyLevel(100); - vi.spyOn(allMoves[Moves.ASTONISH], "chance", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.ASTONISH], "chance", "get").mockReturnValue(100); }); test("move effect should cancel the target's move on the turn it applies", async () => { - await game.classicMode.startBattle([Species.MEOWSCARADA]); + await game.classicMode.startBattle([SpeciesId.MEOWSCARADA]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ASTONISH); + game.move.select(MoveId.ASTONISH); await game.phaseInterceptor.to(MoveEndPhase, false); @@ -59,7 +59,7 @@ describe("Moves - Astonish", () => { await game.phaseInterceptor.to(CommandPhase, false); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/aurora_veil.test.ts b/test/moves/aurora_veil.test.ts index 76569ac4a0e..7a00be40d3d 100644 --- a/test/moves/aurora_veil.test.ts +++ b/test/moves/aurora_veil.test.ts @@ -7,9 +7,9 @@ import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { NumberHolder } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -38,18 +38,18 @@ describe("Moves - Aurora Veil", () => { globalScene = game.scene; game.override .battleStyle("single") - .ability(Abilities.BALL_FETCH) - .moveset([Moves.ABSORB, Moves.ROCK_SLIDE, Moves.TACKLE]) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.ABSORB, MoveId.ROCK_SLIDE, MoveId.TACKLE]) .enemyLevel(100) - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.AURORA_VEIL) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.AURORA_VEIL) .disableCrits() .weather(WeatherType.HAIL); }); it("reduces damage of physical attacks by half in a single battle", async () => { - const moveToUse = Moves.TACKLE; - await game.classicMode.startBattle([Species.SHUCKLE]); + const moveToUse = MoveId.TACKLE; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); @@ -66,8 +66,8 @@ describe("Moves - Aurora Veil", () => { it("reduces damage of physical attacks by a third in a double battle", async () => { game.override.battleStyle("double"); - const moveToUse = Moves.ROCK_SLIDE; - await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); + const moveToUse = MoveId.ROCK_SLIDE; + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.SHUCKLE]); game.move.select(moveToUse); game.move.select(moveToUse, 1); @@ -83,8 +83,8 @@ describe("Moves - Aurora Veil", () => { }); it("reduces damage of special attacks by half in a single battle", async () => { - const moveToUse = Moves.ABSORB; - await game.classicMode.startBattle([Species.SHUCKLE]); + const moveToUse = MoveId.ABSORB; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); @@ -102,8 +102,8 @@ describe("Moves - Aurora Veil", () => { it("reduces damage of special attacks by a third in a double battle", async () => { game.override.battleStyle("double"); - const moveToUse = Moves.DAZZLING_GLEAM; - await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); + const moveToUse = MoveId.DAZZLING_GLEAM; + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.SHUCKLE]); game.move.select(moveToUse); game.move.select(moveToUse, 1); @@ -119,9 +119,9 @@ describe("Moves - Aurora Veil", () => { }); it("does not affect physical critical hits", async () => { - game.override.moveset([Moves.WICKED_BLOW]); - const moveToUse = Moves.WICKED_BLOW; - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.WICKED_BLOW]); + const moveToUse = MoveId.WICKED_BLOW; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); await game.phaseInterceptor.to(TurnEndPhase); @@ -135,10 +135,10 @@ describe("Moves - Aurora Veil", () => { }); it("does not affect critical hits", async () => { - game.override.moveset([Moves.FROST_BREATH]); - const moveToUse = Moves.FROST_BREATH; - vi.spyOn(allMoves[Moves.FROST_BREATH], "accuracy", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.FROST_BREATH]); + const moveToUse = MoveId.FROST_BREATH; + vi.spyOn(allMoves[MoveId.FROST_BREATH], "accuracy", "get").mockReturnValue(100); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); await game.phaseInterceptor.to(TurnEndPhase); @@ -153,7 +153,7 @@ describe("Moves - Aurora Veil", () => { }); /** - * Calculates the damage of a move multiplied by screen's multiplier, Auroa Veil in this case {@linkcode Moves.AURORA_VEIL}. + * Calculates the damage of a move multiplied by screen's multiplier, Auroa Veil in this case {@linkcode MoveId.AURORA_VEIL}. * Please note this does not consider other damage calculations except the screen multiplier. * * @param defender - The defending Pokémon. diff --git a/test/moves/autotomize.test.ts b/test/moves/autotomize.test.ts index 08e55f242bc..000dd19b8f5 100644 --- a/test/moves/autotomize.test.ts +++ b/test/moves/autotomize.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -23,10 +23,10 @@ describe("Moves - Autotomize", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.AUTOTOMIZE, Moves.KINGS_SHIELD, Moves.FALSE_SWIPE]) + .moveset([MoveId.AUTOTOMIZE, MoveId.KINGS_SHIELD, MoveId.FALSE_SWIPE]) .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it( @@ -37,18 +37,18 @@ describe("Moves - Autotomize", () => { const twoAutotomizeDracozoltWeight = 0.1; const threeAutotomizeDracozoltWeight = 0.1; - await game.classicMode.startBattle([Species.DRACOZOLT]); + await game.classicMode.startBattle([SpeciesId.DRACOZOLT]); const playerPokemon = game.scene.getPlayerPokemon()!; expect(playerPokemon.getWeight()).toBe(baseDracozoltWeight); - game.move.select(Moves.AUTOTOMIZE); + game.move.select(MoveId.AUTOTOMIZE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(oneAutotomizeDracozoltWeight); - game.move.select(Moves.AUTOTOMIZE); + game.move.select(MoveId.AUTOTOMIZE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(twoAutotomizeDracozoltWeight); - game.move.select(Moves.AUTOTOMIZE); + game.move.select(MoveId.AUTOTOMIZE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(threeAutotomizeDracozoltWeight); }, @@ -61,30 +61,30 @@ describe("Moves - Autotomize", () => { const baseAegislashWeight = 53; const autotomizeAegislashWeight = 0.1; - await game.classicMode.startBattle([Species.AEGISLASH]); + await game.classicMode.startBattle([SpeciesId.AEGISLASH]); const playerPokemon = game.scene.getPlayerPokemon()!; expect(playerPokemon.getWeight()).toBe(baseAegislashWeight); - game.move.select(Moves.AUTOTOMIZE); + game.move.select(MoveId.AUTOTOMIZE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(autotomizeAegislashWeight); // Transform to sword form - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(baseAegislashWeight); - game.move.select(Moves.AUTOTOMIZE); + game.move.select(MoveId.AUTOTOMIZE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(autotomizeAegislashWeight); // Transform to shield form - game.move.select(Moves.KINGS_SHIELD); + game.move.select(MoveId.KINGS_SHIELD); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(baseAegislashWeight); - game.move.select(Moves.AUTOTOMIZE); + game.move.select(MoveId.AUTOTOMIZE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(autotomizeAegislashWeight); }, @@ -96,11 +96,11 @@ describe("Moves - Autotomize", () => { async () => { const baseLightGroudonWeight = 475; const autotomizeLightGroudonWeight = 425; - game.override.ability(Abilities.LIGHT_METAL); - await game.classicMode.startBattle([Species.GROUDON]); + game.override.ability(AbilityId.LIGHT_METAL); + await game.classicMode.startBattle([SpeciesId.GROUDON]); const playerPokemon = game.scene.getPlayerPokemon()!; expect(playerPokemon.getWeight()).toBe(baseLightGroudonWeight); - game.move.select(Moves.AUTOTOMIZE); + game.move.select(MoveId.AUTOTOMIZE); await game.toNextTurn(); expect(playerPokemon.getWeight()).toBe(autotomizeLightGroudonWeight); }, diff --git a/test/moves/baddy_bad.test.ts b/test/moves/baddy_bad.test.ts index ed6c9239eea..ffdf9f0309c 100644 --- a/test/moves/baddy_bad.test.ts +++ b/test/moves/baddy_bad.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -21,19 +21,19 @@ describe("Moves - Baddy Bad", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) + .moveset([MoveId.SPLASH]) .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .ability(Abilities.BALL_FETCH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .ability(AbilityId.BALL_FETCH); }); it("should not activate Reflect if the move fails due to Protect", async () => { - game.override.enemyMoveset(Moves.PROTECT); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyMoveset(MoveId.PROTECT); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.BADDY_BAD); + game.move.select(MoveId.BADDY_BAD); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.tags.length).toBe(0); diff --git a/test/moves/baneful_bunker.test.ts b/test/moves/baneful_bunker.test.ts index 4d0d7237c00..80b9b5470b1 100644 --- a/test/moves/baneful_bunker.test.ts +++ b/test/moves/baneful_bunker.test.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { BattlerIndex } from "#app/battle"; import { StatusEffect } from "#app/enums/status-effect"; @@ -26,34 +26,34 @@ describe("Moves - Baneful Bunker", () => { game.override.battleStyle("single"); - game.override.moveset(Moves.SLASH); + game.override.moveset(MoveId.SLASH); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyAbility(Abilities.INSOMNIA); - game.override.enemyMoveset(Moves.BANEFUL_BUNKER); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyAbility(AbilityId.INSOMNIA); + game.override.enemyMoveset(MoveId.BANEFUL_BUNKER); game.override.startingLevel(100); game.override.enemyLevel(100); }); test("should protect the user and poison attackers that make contact", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SLASH); + game.move.select(MoveId.SLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase", false); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); expect(leadPokemon.status?.effect === StatusEffect.POISON).toBeTruthy(); }); test("should protect the user and poison attackers that make contact, regardless of accuracy checks", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SLASH); + game.move.select(MoveId.SLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -64,13 +64,13 @@ describe("Moves - Baneful Bunker", () => { }); test("should not poison attackers that don't make contact", async () => { - game.override.moveset(Moves.FLASH_CANNON); - await game.classicMode.startBattle([Species.CHARIZARD]); + game.override.moveset(MoveId.FLASH_CANNON); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FLASH_CANNON); + game.move.select(MoveId.FLASH_CANNON); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEffectPhase"); diff --git a/test/moves/baton_pass.test.ts b/test/moves/baton_pass.test.ts index 143ed285023..b39e51428b1 100644 --- a/test/moves/baton_pass.test.ts +++ b/test/moves/baton_pass.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,20 +26,20 @@ describe("Moves - Baton Pass", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.BATON_PASS, Moves.NASTY_PLOT, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.BATON_PASS, MoveId.NASTY_PLOT, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .disableCrits(); }); it("transfers all stat stages when player uses it", async () => { // arrange - await game.classicMode.startBattle([Species.RAICHU, Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.SHUCKLE]); // round 1 - buff - game.move.select(Moves.NASTY_PLOT); + game.move.select(MoveId.NASTY_PLOT); await game.toNextTurn(); let playerPokemon = game.scene.getPlayerPokemon()!; @@ -47,32 +47,32 @@ describe("Moves - Baton Pass", () => { expect(playerPokemon.getStatStage(Stat.SPATK)).toEqual(2); // round 2 - baton pass - game.move.select(Moves.BATON_PASS); + game.move.select(MoveId.BATON_PASS); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); // assert playerPokemon = game.scene.getPlayerPokemon()!; - expect(playerPokemon.species.speciesId).toEqual(Species.SHUCKLE); + expect(playerPokemon.species.speciesId).toEqual(SpeciesId.SHUCKLE); expect(playerPokemon.getStatStage(Stat.SPATK)).toEqual(2); }, 20000); it("passes stat stage buffs when AI uses it", async () => { // arrange - game.override.startingWave(5).enemyMoveset(new Array(4).fill([Moves.NASTY_PLOT])); - await game.classicMode.startBattle([Species.RAICHU, Species.SHUCKLE]); + game.override.startingWave(5).enemyMoveset(new Array(4).fill([MoveId.NASTY_PLOT])); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.SHUCKLE]); // round 1 - ai buffs - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // round 2 - baton pass game.scene.getEnemyPokemon()!.hp = 100; - game.override.enemyMoveset([Moves.BATON_PASS]); + game.override.enemyMoveset([MoveId.BATON_PASS]); // Force moveset to update mid-battle // TODO: replace with enemy ai control function when it's added game.scene.getEnemyParty()[0].getMoveset(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("PostSummonPhase", false); // assert @@ -90,12 +90,12 @@ describe("Moves - Baton Pass", () => { }, 20000); it("doesn't transfer effects that aren't transferrable", async () => { - game.override.enemyMoveset([Moves.SALT_CURE]); - await game.classicMode.startBattle([Species.PIKACHU, Species.FEEBAS]); + game.override.enemyMoveset([MoveId.SALT_CURE]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.FEEBAS]); const [player1, player2] = game.scene.getPlayerParty(); - game.move.select(Moves.BATON_PASS); + game.move.select(MoveId.BATON_PASS); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEndPhase"); expect(player1.findTag(t => t.tagType === BattlerTagType.SALT_CURED)).toBeTruthy(); @@ -106,13 +106,13 @@ describe("Moves - Baton Pass", () => { }, 20000); it("doesn't allow binding effects from the user to persist", async () => { - game.override.moveset([Moves.FIRE_SPIN, Moves.BATON_PASS]); + game.override.moveset([MoveId.FIRE_SPIN, MoveId.BATON_PASS]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FIRE_SPIN); + game.move.select(MoveId.FIRE_SPIN); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); @@ -120,7 +120,7 @@ describe("Moves - Baton Pass", () => { expect(enemy.getTag(BattlerTagType.FIRE_SPIN)).toBeDefined(); - game.move.select(Moves.BATON_PASS); + game.move.select(MoveId.BATON_PASS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1); diff --git a/test/moves/beak_blast.test.ts b/test/moves/beak_blast.test.ts index 45841cecd52..ad2959e5101 100644 --- a/test/moves/beak_blast.test.ts +++ b/test/moves/beak_blast.test.ts @@ -3,9 +3,9 @@ import { StatusEffect } from "#app/enums/status-effect"; import { BerryPhase } from "#app/phases/berry-phase"; import { MovePhase } from "#app/phases/move-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,22 +28,22 @@ describe("Moves - Beak Blast", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.UNNERVE) - .moveset([Moves.BEAK_BLAST]) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset([Moves.TACKLE]) + .ability(AbilityId.UNNERVE) + .moveset([MoveId.BEAK_BLAST]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset([MoveId.TACKLE]) .startingLevel(100) .enemyLevel(100); }); it("should add a charge effect that burns attackers on contact", async () => { - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BEAK_BLAST); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to(MovePhase, false); expect(leadPokemon.getTag(BattlerTagType.BEAK_BLAST_CHARGING)).toBeDefined(); @@ -55,12 +55,12 @@ describe("Moves - Beak Blast", () => { it("should still charge and burn opponents if the user is sleeping", async () => { game.override.statusEffect(StatusEffect.SLEEP); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BEAK_BLAST); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to(MovePhase, false); expect(leadPokemon.getTag(BattlerTagType.BEAK_BLAST_CHARGING)).toBeDefined(); @@ -70,14 +70,14 @@ describe("Moves - Beak Blast", () => { }); it("should not burn attackers that don't make contact", async () => { - game.override.enemyMoveset([Moves.WATER_GUN]); + game.override.enemyMoveset([MoveId.WATER_GUN]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BEAK_BLAST); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to(MovePhase, false); expect(leadPokemon.getTag(BattlerTagType.BEAK_BLAST_CHARGING)).toBeDefined(); @@ -89,25 +89,25 @@ describe("Moves - Beak Blast", () => { it("should only hit twice with Multi-Lens", async () => { game.override.startingHeldItems([{ name: "MULTI_LENS", count: 1 }]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.BEAK_BLAST); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to(BerryPhase, false); expect(leadPokemon.turnData.hitCount).toBe(2); }); it("should be blocked by Protect", async () => { - game.override.enemyMoveset([Moves.PROTECT]); + game.override.enemyMoveset([MoveId.PROTECT]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BEAK_BLAST); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to(MovePhase, false); expect(leadPokemon.getTag(BattlerTagType.BEAK_BLAST_CHARGING)).toBeDefined(); @@ -118,21 +118,21 @@ describe("Moves - Beak Blast", () => { }); it("should still burn the enemy if the user is knocked out", async () => { - game.override.ability(Abilities.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.ability(AbilityId.BALL_FETCH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; const user = game.scene.getPlayerPokemon()!; user.hp = 1; - game.move.select(Moves.BEAK_BLAST); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to("BerryPhase", false); expect(enemyPokemon.status?.effect).toBe(StatusEffect.BURN); }); it("should not burn a long reach enemy that hits the user with a contact move", async () => { - game.override.enemyAbility(Abilities.LONG_REACH); - game.override.enemyMoveset([Moves.FALSE_SWIPE]).enemyLevel(100); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.move.select(Moves.BEAK_BLAST); + game.override.enemyAbility(AbilityId.LONG_REACH); + game.override.enemyMoveset([MoveId.FALSE_SWIPE]).enemyLevel(100); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to("BerryPhase", false); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.status?.effect).not.toBe(StatusEffect.BURN); diff --git a/test/moves/beat_up.test.ts b/test/moves/beat_up.test.ts index 09166dafb9d..184204a91aa 100644 --- a/test/moves/beat_up.test.ts +++ b/test/moves/beat_up.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#app/enums/status-effect"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; @@ -25,30 +25,30 @@ describe("Moves - Beat Up", () => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.SNORLAX); + game.override.enemySpecies(SpeciesId.SNORLAX); game.override.enemyLevel(100); - game.override.enemyMoveset([Moves.SPLASH]); - game.override.enemyAbility(Abilities.INSOMNIA); + game.override.enemyMoveset([MoveId.SPLASH]); + game.override.enemyAbility(AbilityId.INSOMNIA); game.override.startingLevel(100); - game.override.moveset([Moves.BEAT_UP]); + game.override.moveset([MoveId.BEAT_UP]); }); it("should hit once for each healthy player Pokemon", async () => { await game.classicMode.startBattle([ - Species.MAGIKARP, - Species.BULBASAUR, - Species.CHARMANDER, - Species.SQUIRTLE, - Species.PIKACHU, - Species.EEVEE, + SpeciesId.MAGIKARP, + SpeciesId.BULBASAUR, + SpeciesId.CHARMANDER, + SpeciesId.SQUIRTLE, + SpeciesId.PIKACHU, + SpeciesId.EEVEE, ]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; let enemyStartingHp = enemyPokemon.hp; - game.move.select(Moves.BEAT_UP); + game.move.select(MoveId.BEAT_UP); await game.phaseInterceptor.to(MoveEffectPhase); @@ -64,19 +64,19 @@ describe("Moves - Beat Up", () => { it("should not count player Pokemon with status effects towards hit count", async () => { await game.classicMode.startBattle([ - Species.MAGIKARP, - Species.BULBASAUR, - Species.CHARMANDER, - Species.SQUIRTLE, - Species.PIKACHU, - Species.EEVEE, + SpeciesId.MAGIKARP, + SpeciesId.BULBASAUR, + SpeciesId.CHARMANDER, + SpeciesId.SQUIRTLE, + SpeciesId.PIKACHU, + SpeciesId.EEVEE, ]); const playerPokemon = game.scene.getPlayerPokemon()!; game.scene.getPlayerParty()[1].trySetStatus(StatusEffect.BURN); - game.move.select(Moves.BEAT_UP); + game.move.select(MoveId.BEAT_UP); await game.phaseInterceptor.to(MoveEffectPhase); diff --git a/test/moves/belly_drum.test.ts b/test/moves/belly_drum.test.ts index 9deff207446..239b3c3d794 100644 --- a/test/moves/belly_drum.test.ts +++ b/test/moves/belly_drum.test.ts @@ -1,12 +1,12 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { toDmgValue } from "#app/utils/common"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; // RATIO : HP Cost of Move const RATIO = 2; @@ -30,24 +30,24 @@ describe("Moves - BELLY DRUM", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .starterSpecies(Species.MAGIKARP) - .enemySpecies(Species.SNORLAX) + .starterSpecies(SpeciesId.MAGIKARP) + .enemySpecies(SpeciesId.SNORLAX) .startingLevel(100) .enemyLevel(100) - .moveset([Moves.BELLY_DRUM]) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH); + .moveset([MoveId.BELLY_DRUM]) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH); }); // Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/Belly_Drum_(move) test("raises the user's ATK stat stage to its max, at the cost of 1/2 of its maximum HP", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = toDmgValue(leadPokemon.getMaxHp() / RATIO); - game.move.select(Moves.BELLY_DRUM); + game.move.select(MoveId.BELLY_DRUM); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); @@ -55,7 +55,7 @@ describe("Moves - BELLY DRUM", () => { }); test("will still take effect if an uninvolved stat stage is at max", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = toDmgValue(leadPokemon.getMaxHp() / RATIO); @@ -64,7 +64,7 @@ describe("Moves - BELLY DRUM", () => { leadPokemon.setStatStage(Stat.ATK, -3); leadPokemon.setStatStage(Stat.SPATK, 6); - game.move.select(Moves.BELLY_DRUM); + game.move.select(MoveId.BELLY_DRUM); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); @@ -73,13 +73,13 @@ describe("Moves - BELLY DRUM", () => { }); test("fails if the pokemon's ATK stat stage is at its maximum", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; leadPokemon.setStatStage(Stat.ATK, 6); - game.move.select(Moves.BELLY_DRUM); + game.move.select(MoveId.BELLY_DRUM); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp()); @@ -87,13 +87,13 @@ describe("Moves - BELLY DRUM", () => { }); test("fails if the user's health is less than 1/2", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = toDmgValue(leadPokemon.getMaxHp() / RATIO); leadPokemon.hp = hpLost - PREDAMAGE; - game.move.select(Moves.BELLY_DRUM); + game.move.select(MoveId.BELLY_DRUM); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(hpLost - PREDAMAGE); diff --git a/test/moves/burning_jealousy.test.ts b/test/moves/burning_jealousy.test.ts index 1d9ba974687..2a74f661922 100644 --- a/test/moves/burning_jealousy.test.ts +++ b/test/moves/burning_jealousy.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { StatusEffect } from "#app/enums/status-effect"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,14 +27,14 @@ describe("Moves - Burning Jealousy", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.ICE_SCALES) - .enemyMoveset([Moves.HOWL]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.ICE_SCALES) + .enemyMoveset([MoveId.HOWL]) .startingLevel(10) .enemyLevel(10) - .starterSpecies(Species.FEEBAS) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.BURNING_JEALOUSY, Moves.GROWL]); + .starterSpecies(SpeciesId.FEEBAS) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.BURNING_JEALOUSY, MoveId.GROWL]); }); it("should burn the opponent if their stat stages were raised", async () => { @@ -42,7 +42,7 @@ describe("Moves - Burning Jealousy", () => { const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BURNING_JEALOUSY); + game.move.select(MoveId.BURNING_JEALOUSY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); @@ -51,12 +51,12 @@ describe("Moves - Burning Jealousy", () => { it("should still burn the opponent if their stat stages were both raised and lowered in the same turn", async () => { game.override.starterSpecies(0).battleStyle("double"); - await game.classicMode.startBattle([Species.FEEBAS, Species.ABRA]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.ABRA]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BURNING_JEALOUSY); - game.move.select(Moves.GROWL, 1); + game.move.select(MoveId.BURNING_JEALOUSY); + game.move.select(MoveId.GROWL, 1); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); @@ -64,12 +64,12 @@ describe("Moves - Burning Jealousy", () => { }); it("should ignore stat stages raised by IMPOSTER", async () => { - game.override.enemySpecies(Species.DITTO).enemyAbility(Abilities.IMPOSTER).enemyMoveset(Moves.SPLASH); + game.override.enemySpecies(SpeciesId.DITTO).enemyAbility(AbilityId.IMPOSTER).enemyMoveset(MoveId.SPLASH); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.BURNING_JEALOUSY); + game.move.select(MoveId.BURNING_JEALOUSY); await game.phaseInterceptor.to("BerryPhase"); expect(enemy.status?.effect).toBeUndefined(); @@ -81,15 +81,15 @@ describe("Moves - Burning Jealousy", () => { }); it("should be boosted by Sheer Force even if opponent didn't raise stat stages", async () => { - game.override.ability(Abilities.SHEER_FORCE).enemyMoveset(Moves.SPLASH); - vi.spyOn(allMoves[Moves.BURNING_JEALOUSY], "calculateBattlePower"); + game.override.ability(AbilityId.SHEER_FORCE).enemyMoveset(MoveId.SPLASH); + vi.spyOn(allMoves[MoveId.BURNING_JEALOUSY], "calculateBattlePower"); await game.classicMode.startBattle(); - game.move.select(Moves.BURNING_JEALOUSY); + game.move.select(MoveId.BURNING_JEALOUSY); await game.phaseInterceptor.to("BerryPhase"); - expect(allMoves[Moves.BURNING_JEALOUSY].calculateBattlePower).toHaveReturnedWith( - allMoves[Moves.BURNING_JEALOUSY].power * 1.3, + expect(allMoves[MoveId.BURNING_JEALOUSY].calculateBattlePower).toHaveReturnedWith( + allMoves[MoveId.BURNING_JEALOUSY].power * 1.3, ); }); }); diff --git a/test/moves/camouflage.test.ts b/test/moves/camouflage.test.ts index 38cdef80fc1..53c44f1386b 100644 --- a/test/moves/camouflage.test.ts +++ b/test/moves/camouflage.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { TerrainType } from "#app/data/terrain"; import { PokemonType } from "#enums/pokemon-type"; import { BattlerIndex } from "#app/battle"; @@ -25,21 +25,21 @@ describe("Moves - Camouflage", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.CAMOUFLAGE]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.CAMOUFLAGE]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.REGIELEKI) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.PSYCHIC_TERRAIN); + .enemySpecies(SpeciesId.REGIELEKI) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.PSYCHIC_TERRAIN); }); it("Camouflage should look at terrain first when selecting a type to change into", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.CAMOUFLAGE); + game.move.select(MoveId.CAMOUFLAGE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTerrainType()).toBe(TerrainType.PSYCHIC); diff --git a/test/moves/ceaseless_edge.test.ts b/test/moves/ceaseless_edge.test.ts index e88b301239d..65f9b69509d 100644 --- a/test/moves/ceaseless_edge.test.ts +++ b/test/moves/ceaseless_edge.test.ts @@ -1,11 +1,11 @@ import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; @@ -27,24 +27,24 @@ describe("Moves - Ceaseless Edge", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.RATTATA); - game.override.enemyAbility(Abilities.RUN_AWAY); - game.override.enemyPassiveAbility(Abilities.RUN_AWAY); + game.override.enemySpecies(SpeciesId.RATTATA); + game.override.enemyAbility(AbilityId.RUN_AWAY); + game.override.enemyPassiveAbility(AbilityId.RUN_AWAY); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.moveset([Moves.CEASELESS_EDGE, Moves.SPLASH, Moves.ROAR]); - game.override.enemyMoveset(Moves.SPLASH); - vi.spyOn(allMoves[Moves.CEASELESS_EDGE], "accuracy", "get").mockReturnValue(100); + game.override.moveset([MoveId.CEASELESS_EDGE, MoveId.SPLASH, MoveId.ROAR]); + game.override.enemyMoveset(MoveId.SPLASH); + vi.spyOn(allMoves[MoveId.CEASELESS_EDGE], "accuracy", "get").mockReturnValue(100); }); test("move should hit and apply spikes", async () => { - await game.classicMode.startBattle([Species.ILLUMISE]); + await game.classicMode.startBattle([SpeciesId.ILLUMISE]); const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyStartingHp = enemyPokemon.hp; - game.move.select(Moves.CEASELESS_EDGE); + game.move.select(MoveId.CEASELESS_EDGE); await game.phaseInterceptor.to(MoveEffectPhase, false); // Spikes should not have any layers before move effect is applied @@ -60,13 +60,13 @@ describe("Moves - Ceaseless Edge", () => { test("move should hit twice with multi lens and apply two layers of spikes", async () => { game.override.startingHeldItems([{ name: "MULTI_LENS" }]); - await game.classicMode.startBattle([Species.ILLUMISE]); + await game.classicMode.startBattle([SpeciesId.ILLUMISE]); const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyStartingHp = enemyPokemon.hp; - game.move.select(Moves.CEASELESS_EDGE); + game.move.select(MoveId.CEASELESS_EDGE); await game.phaseInterceptor.to(MoveEffectPhase, false); // Spikes should not have any layers before move effect is applied @@ -84,9 +84,9 @@ describe("Moves - Ceaseless Edge", () => { game.override.startingHeldItems([{ name: "MULTI_LENS" }]); game.override.startingWave(25); - await game.classicMode.startBattle([Species.ILLUMISE]); + await game.classicMode.startBattle([SpeciesId.ILLUMISE]); - game.move.select(Moves.CEASELESS_EDGE); + game.move.select(MoveId.CEASELESS_EDGE); await game.phaseInterceptor.to(MoveEffectPhase, false); // Spikes should not have any layers before move effect is applied const tagBefore = game.scene.arena.getTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.ENEMY) as ArenaTrapTag; @@ -100,7 +100,7 @@ describe("Moves - Ceaseless Edge", () => { const hpBeforeSpikes = game.scene.currentBattle.enemyParty[1].hp; // Check HP of pokemon that WILL BE switched in (index 1) game.forceEnemyToSwitch(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase, false); expect(game.scene.currentBattle.enemyParty[0].hp).toBeLessThan(hpBeforeSpikes); }); diff --git a/test/moves/chilly_reception.test.ts b/test/moves/chilly_reception.test.ts index 2c04e0e7313..14141208161 100644 --- a/test/moves/chilly_reception.test.ts +++ b/test/moves/chilly_reception.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,56 +25,56 @@ describe("Moves - Chilly Reception", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.CHILLY_RECEPTION, Moves.SNOWSCAPE]) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.BALL_FETCH); + .moveset([MoveId.CHILLY_RECEPTION, MoveId.SNOWSCAPE]) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.BALL_FETCH); }); it("should still change the weather if user can't switch out", async () => { - await game.classicMode.startBattle([Species.SLOWKING]); + await game.classicMode.startBattle([SpeciesId.SLOWKING]); - game.move.select(Moves.CHILLY_RECEPTION); + game.move.select(MoveId.CHILLY_RECEPTION); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); }); it("should switch out even if it's snowing", async () => { - await game.classicMode.startBattle([Species.SLOWKING, Species.MEOWTH]); + await game.classicMode.startBattle([SpeciesId.SLOWKING, SpeciesId.MEOWTH]); // first turn set up snow with snowscape, try chilly reception on second turn - game.move.select(Moves.SNOWSCAPE); + game.move.select(MoveId.SNOWSCAPE); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); await game.phaseInterceptor.to("TurnInitPhase", false); - game.move.select(Moves.CHILLY_RECEPTION); + game.move.select(MoveId.CHILLY_RECEPTION); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MEOWTH); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MEOWTH); }); it("happy case - switch out and weather changes", async () => { - await game.classicMode.startBattle([Species.SLOWKING, Species.MEOWTH]); + await game.classicMode.startBattle([SpeciesId.SLOWKING, SpeciesId.MEOWTH]); - game.move.select(Moves.CHILLY_RECEPTION); + game.move.select(MoveId.CHILLY_RECEPTION); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MEOWTH); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MEOWTH); }); // enemy uses another move and weather doesn't change it("check case - enemy not selecting chilly reception doesn't change weather ", async () => { - game.override.battleStyle("single").enemyMoveset([Moves.CHILLY_RECEPTION, Moves.TACKLE]).moveset(Moves.SPLASH); + game.override.battleStyle("single").enemyMoveset([MoveId.CHILLY_RECEPTION, MoveId.TACKLE]).moveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.SLOWKING, Species.MEOWTH]); + await game.classicMode.startBattle([SpeciesId.SLOWKING, SpeciesId.MEOWTH]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.TACKLE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(undefined); @@ -84,27 +84,27 @@ describe("Moves - Chilly Reception", () => { game.override .battleStyle("single") .startingWave(8) - .enemyMoveset(Moves.CHILLY_RECEPTION) - .enemySpecies(Species.MAGIKARP) - .moveset([Moves.SPLASH, Moves.THUNDERBOLT]); + .enemyMoveset(MoveId.CHILLY_RECEPTION) + .enemySpecies(SpeciesId.MAGIKARP) + .moveset([MoveId.SPLASH, MoveId.THUNDERBOLT]); - await game.classicMode.startBattle([Species.JOLTEON]); + await game.classicMode.startBattle([SpeciesId.JOLTEON]); const RIVAL_MAGIKARP1 = game.scene.getEnemyPokemon()?.id; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); expect(game.scene.getEnemyPokemon()?.id !== RIVAL_MAGIKARP1); await game.phaseInterceptor.to("TurnInitPhase", false); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); // second chilly reception should still switch out await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); await game.phaseInterceptor.to("TurnInitPhase", false); expect(game.scene.getEnemyPokemon()?.id === RIVAL_MAGIKARP1); - game.move.select(Moves.THUNDERBOLT); + game.move.select(MoveId.THUNDERBOLT); // enemy chilly recep move should fail: it's snowing and no option to switch out // no crashing @@ -112,7 +112,7 @@ describe("Moves - Chilly Reception", () => { expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); await game.phaseInterceptor.to("TurnInitPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SNOW); }); diff --git a/test/moves/chloroblast.test.ts b/test/moves/chloroblast.test.ts index b2130da83eb..02f7ac2165c 100644 --- a/test/moves/chloroblast.test.ts +++ b/test/moves/chloroblast.test.ts @@ -1,7 +1,7 @@ import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,23 +23,23 @@ describe("Moves - Chloroblast", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .ability(Abilities.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH); }); it("should not deal recoil damage if the opponent uses protect", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.use(Moves.CHLOROBLAST); - await game.move.forceEnemyMove(Moves.PROTECT); + game.move.use(MoveId.CHLOROBLAST); + await game.move.forceEnemyMove(MoveId.PROTECT); await game.toEndOfTurn(); const player = game.field.getPlayerPokemon(); expect(player.isFullHp()).toBe(true); - expect(player.getLastXMoves()[0]).toMatchObject({ result: MoveResult.MISS, move: Moves.CHLOROBLAST }); + expect(player.getLastXMoves()[0]).toMatchObject({ result: MoveResult.MISS, move: MoveId.CHLOROBLAST }); }); }); diff --git a/test/moves/clangorous_soul.test.ts b/test/moves/clangorous_soul.test.ts index c7165a0a881..6f4c18852b0 100644 --- a/test/moves/clangorous_soul.test.ts +++ b/test/moves/clangorous_soul.test.ts @@ -2,8 +2,8 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; /** HP Cost of Move */ @@ -27,23 +27,23 @@ describe("Moves - Clangorous Soul", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.starterSpecies(Species.MAGIKARP); - game.override.enemySpecies(Species.SNORLAX); + game.override.starterSpecies(SpeciesId.MAGIKARP); + game.override.enemySpecies(SpeciesId.SNORLAX); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.moveset([Moves.CLANGOROUS_SOUL]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.CLANGOROUS_SOUL]); + game.override.enemyMoveset(MoveId.SPLASH); }); //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/Clangorous_Soul_(move) it("raises the user's ATK, DEF, SPATK, SPDEF, and SPD stat stages by 1 each at the cost of 1/3 of its maximum HP", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); - game.move.select(Moves.CLANGOROUS_SOUL); + game.move.select(MoveId.CLANGOROUS_SOUL); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); @@ -55,7 +55,7 @@ describe("Moves - Clangorous Soul", () => { }); it("will still take effect if one or more of the involved stat stages are not at max", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); @@ -66,7 +66,7 @@ describe("Moves - Clangorous Soul", () => { leadPokemon.setStatStage(Stat.SPATK, 6); leadPokemon.setStatStage(Stat.SPDEF, 4); - game.move.select(Moves.CLANGOROUS_SOUL); + game.move.select(MoveId.CLANGOROUS_SOUL); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); @@ -78,7 +78,7 @@ describe("Moves - Clangorous Soul", () => { }); it("fails if all stat stages involved are at max", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; @@ -88,7 +88,7 @@ describe("Moves - Clangorous Soul", () => { leadPokemon.setStatStage(Stat.SPDEF, 6); leadPokemon.setStatStage(Stat.SPD, 6); - game.move.select(Moves.CLANGOROUS_SOUL); + game.move.select(MoveId.CLANGOROUS_SOUL); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp()); @@ -100,13 +100,13 @@ describe("Moves - Clangorous Soul", () => { }); it("fails if the user's health is less than 1/3", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); leadPokemon.hp = hpLost - PREDAMAGE; - game.move.select(Moves.CLANGOROUS_SOUL); + game.move.select(MoveId.CLANGOROUS_SOUL); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(hpLost - PREDAMAGE); diff --git a/test/moves/copycat.test.ts b/test/moves/copycat.test.ts index 96c21723ab9..51d7d36535f 100644 --- a/test/moves/copycat.test.ts +++ b/test/moves/copycat.test.ts @@ -3,9 +3,9 @@ import { RandomMoveAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; import { Stat } from "#app/enums/stat"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,51 +27,51 @@ describe("Moves - Copycat", () => { }); beforeEach(() => { - randomMoveAttr = allMoves[Moves.METRONOME].getAttrs(RandomMoveAttr)[0]; + randomMoveAttr = allMoves[MoveId.METRONOME].getAttrs(RandomMoveAttr)[0]; game = new GameManager(phaserGame); game.override - .moveset([Moves.COPYCAT, Moves.SPIKY_SHIELD, Moves.SWORDS_DANCE, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.COPYCAT, MoveId.SPIKY_SHIELD, MoveId.SWORDS_DANCE, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .starterSpecies(Species.FEEBAS) - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .starterSpecies(SpeciesId.FEEBAS) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should copy the last move successfully executed", async () => { - game.override.enemyMoveset(Moves.SUCKER_PUNCH); + game.override.enemyMoveset(MoveId.SUCKER_PUNCH); await game.classicMode.startBattle(); - game.move.select(Moves.SWORDS_DANCE); + game.move.select(MoveId.SWORDS_DANCE); await game.toNextTurn(); - game.move.select(Moves.COPYCAT); // Last successful move should be Swords Dance + game.move.select(MoveId.COPYCAT); // Last successful move should be Swords Dance await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(4); }); it("should fail when the last move used is not a valid Copycat move", async () => { - game.override.enemyMoveset(Moves.PROTECT); // Protect is not a valid move for Copycat to copy + game.override.enemyMoveset(MoveId.PROTECT); // Protect is not a valid move for Copycat to copy await game.classicMode.startBattle(); - game.move.select(Moves.SPIKY_SHIELD); // Spiky Shield is not a valid move for Copycat to copy + game.move.select(MoveId.SPIKY_SHIELD); // Spiky Shield is not a valid move for Copycat to copy await game.toNextTurn(); - game.move.select(Moves.COPYCAT); + game.move.select(MoveId.COPYCAT); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should copy the called move when the last move successfully calls another", async () => { - game.override.moveset([Moves.SPLASH, Moves.METRONOME]).enemyMoveset(Moves.COPYCAT); + game.override.moveset([MoveId.SPLASH, MoveId.METRONOME]).enemyMoveset(MoveId.COPYCAT); await game.classicMode.startBattle(); - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.SWORDS_DANCE); + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.SWORDS_DANCE); - game.move.select(Moves.METRONOME); + game.move.select(MoveId.METRONOME); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); // Player moves first, so enemy can copy Swords Dance await game.toNextTurn(); @@ -79,10 +79,10 @@ describe("Moves - Copycat", () => { }); it("should apply secondary effects of a move", async () => { - game.override.enemyMoveset(Moves.ACID_SPRAY); // Secondary effect lowers SpDef by 2 stages + game.override.enemyMoveset(MoveId.ACID_SPRAY); // Secondary effect lowers SpDef by 2 stages await game.classicMode.startBattle(); - game.move.select(Moves.COPYCAT); + game.move.select(MoveId.COPYCAT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); diff --git a/test/moves/crafty_shield.test.ts b/test/moves/crafty_shield.test.ts index ec4c87fa060..01ab0416e5a 100644 --- a/test/moves/crafty_shield.test.ts +++ b/test/moves/crafty_shield.test.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { BerryPhase } from "#app/phases/berry-phase"; @@ -28,26 +28,26 @@ describe("Moves - Crafty Shield", () => { game.override.battleStyle("double"); - game.override.moveset([Moves.CRAFTY_SHIELD, Moves.SPLASH, Moves.SWORDS_DANCE]); + game.override.moveset([MoveId.CRAFTY_SHIELD, MoveId.SPLASH, MoveId.SWORDS_DANCE]); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyMoveset([Moves.GROWL]); - game.override.enemyAbility(Abilities.INSOMNIA); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyMoveset([MoveId.GROWL]); + game.override.enemyAbility(AbilityId.INSOMNIA); game.override.startingLevel(100); game.override.enemyLevel(100); }); test("should protect the user and allies from status moves", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.CRAFTY_SHIELD); + game.move.select(MoveId.CRAFTY_SHIELD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -55,17 +55,17 @@ describe("Moves - Crafty Shield", () => { }); test("should not protect the user and allies from attack moves", async () => { - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.CRAFTY_SHIELD); + game.move.select(MoveId.CRAFTY_SHIELD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -73,18 +73,18 @@ describe("Moves - Crafty Shield", () => { }); test("should protect the user and allies from moves that ignore other protection", async () => { - game.override.enemySpecies(Species.DUSCLOPS); - game.override.enemyMoveset([Moves.CURSE]); + game.override.enemySpecies(SpeciesId.DUSCLOPS); + game.override.enemyMoveset([MoveId.CURSE]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.CRAFTY_SHIELD); + game.move.select(MoveId.CRAFTY_SHIELD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -92,15 +92,15 @@ describe("Moves - Crafty Shield", () => { }); test("should not block allies' self-targeted moves", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.CRAFTY_SHIELD); + game.move.select(MoveId.CRAFTY_SHIELD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SWORDS_DANCE, 1); + game.move.select(MoveId.SWORDS_DANCE, 1); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/defog.test.ts b/test/moves/defog.test.ts index 87c3845d55c..d42682c7f3f 100644 --- a/test/moves/defog.test.ts +++ b/test/moves/defog.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,23 +23,23 @@ describe("Moves - Defog", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.MIST, Moves.SAFEGUARD, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.MIST, MoveId.SAFEGUARD, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.DEFOG, Moves.GROWL]); + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.DEFOG, MoveId.GROWL]); }); it("should not allow Safeguard to be active", async () => { - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SAFEGUARD); - await game.move.selectEnemyMove(Moves.DEFOG); + game.move.select(MoveId.SAFEGUARD); + await game.move.selectEnemyMove(MoveId.DEFOG); await game.phaseInterceptor.to("BerryPhase"); expect(playerPokemon[0].isSafeguarded(enemyPokemon[0])).toBe(false); @@ -48,17 +48,17 @@ describe("Moves - Defog", () => { }); it("should not allow Mist to be active", async () => { - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.MIST); - await game.move.selectEnemyMove(Moves.DEFOG); + game.move.select(MoveId.MIST); + await game.move.selectEnemyMove(MoveId.DEFOG); await game.toNextTurn(); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.GROWL); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/destiny_bond.test.ts b/test/moves/destiny_bond.test.ts index 16014677f39..81c17551bec 100644 --- a/test/moves/destiny_bond.test.ts +++ b/test/moves/destiny_bond.test.ts @@ -1,10 +1,10 @@ import type { ArenaTrapTag } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -16,7 +16,7 @@ describe("Moves - Destiny Bond", () => { let phaserGame: Phaser.Game; let game: GameManager; - const defaultParty = [Species.BULBASAUR, Species.SQUIRTLE]; + const defaultParty = [SpeciesId.BULBASAUR, SpeciesId.SQUIRTLE]; const enemyFirst = [BattlerIndex.ENEMY, BattlerIndex.PLAYER]; const playerFirst = [BattlerIndex.PLAYER, BattlerIndex.ENEMY]; @@ -34,16 +34,16 @@ describe("Moves - Destiny Bond", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.UNNERVE) // Pre-emptively prevent flakiness from opponent berries - .enemySpecies(Species.RATTATA) - .enemyAbility(Abilities.RUN_AWAY) + .ability(AbilityId.UNNERVE) // Pre-emptively prevent flakiness from opponent berries + .enemySpecies(SpeciesId.RATTATA) + .enemyAbility(AbilityId.RUN_AWAY) .startingLevel(100) // Make sure tested moves KO .enemyLevel(5) - .enemyMoveset(Moves.DESTINY_BOND); + .enemyMoveset(MoveId.DESTINY_BOND); }); it("should KO the opponent on the same turn", async () => { - const moveToUse = Moves.TACKLE; + const moveToUse = MoveId.TACKLE; game.override.moveset(moveToUse); await game.classicMode.startBattle(defaultParty); @@ -60,16 +60,16 @@ describe("Moves - Destiny Bond", () => { }); it("should KO the opponent on the next turn", async () => { - const moveToUse = Moves.TACKLE; + const moveToUse = MoveId.TACKLE; - game.override.moveset([Moves.SPLASH, moveToUse]); + game.override.moveset([MoveId.SPLASH, moveToUse]); await game.classicMode.startBattle(defaultParty); const enemyPokemon = game.scene.getEnemyPokemon(); const playerPokemon = game.scene.getPlayerPokemon(); // Turn 1: Enemy uses Destiny Bond and doesn't faint - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder(playerFirst); await game.toNextTurn(); @@ -86,16 +86,16 @@ describe("Moves - Destiny Bond", () => { }); it("should fail if used twice in a row", async () => { - const moveToUse = Moves.TACKLE; + const moveToUse = MoveId.TACKLE; - game.override.moveset([Moves.SPLASH, moveToUse]); + game.override.moveset([MoveId.SPLASH, moveToUse]); await game.classicMode.startBattle(defaultParty); const enemyPokemon = game.scene.getEnemyPokemon(); const playerPokemon = game.scene.getPlayerPokemon(); // Turn 1: Enemy uses Destiny Bond and doesn't faint - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder(enemyFirst); await game.toNextTurn(); @@ -113,9 +113,9 @@ describe("Moves - Destiny Bond", () => { it("should not KO the opponent if the user dies to weather", async () => { // Opponent will be reduced to 1 HP by False Swipe, then faint to Sandstorm - const moveToUse = Moves.FALSE_SWIPE; + const moveToUse = MoveId.FALSE_SWIPE; - game.override.moveset(moveToUse).ability(Abilities.SAND_STREAM); + game.override.moveset(moveToUse).ability(AbilityId.SAND_STREAM); await game.classicMode.startBattle(defaultParty); const enemyPokemon = game.scene.getEnemyPokemon(); @@ -130,16 +130,16 @@ describe("Moves - Destiny Bond", () => { }); it("should not KO the opponent if the user had another turn", async () => { - const moveToUse = Moves.TACKLE; + const moveToUse = MoveId.TACKLE; - game.override.moveset([Moves.SPORE, moveToUse]); + game.override.moveset([MoveId.SPORE, moveToUse]); await game.classicMode.startBattle(defaultParty); const enemyPokemon = game.scene.getEnemyPokemon(); const playerPokemon = game.scene.getPlayerPokemon(); // Turn 1: Enemy uses Destiny Bond and doesn't faint - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.setTurnOrder(enemyFirst); await game.toNextTurn(); @@ -157,8 +157,8 @@ describe("Moves - Destiny Bond", () => { }); it("should not KO an ally", async () => { - game.override.moveset([Moves.DESTINY_BOND, Moves.CRUNCH]).battleStyle("double"); - await game.classicMode.startBattle([Species.SHEDINJA, Species.BULBASAUR, Species.SQUIRTLE]); + game.override.moveset([MoveId.DESTINY_BOND, MoveId.CRUNCH]).battleStyle("double"); + await game.classicMode.startBattle([SpeciesId.SHEDINJA, SpeciesId.BULBASAUR, SpeciesId.SQUIRTLE]); const enemyPokemon0 = game.scene.getEnemyField()[0]; const enemyPokemon1 = game.scene.getEnemyField()[1]; @@ -166,8 +166,8 @@ describe("Moves - Destiny Bond", () => { const playerPokemon1 = game.scene.getPlayerField()[1]; // Shedinja uses Destiny Bond, then ally Bulbasaur KO's Shedinja with Crunch - game.move.select(Moves.DESTINY_BOND, 0); - game.move.select(Moves.CRUNCH, 1, BattlerIndex.PLAYER); + game.move.select(MoveId.DESTINY_BOND, 0); + game.move.select(MoveId.CRUNCH, 1, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); @@ -178,7 +178,7 @@ describe("Moves - Destiny Bond", () => { }); it("should not cause a crash if the user is KO'd by Ceaseless Edge", async () => { - const moveToUse = Moves.CEASELESS_EDGE; + const moveToUse = MoveId.CEASELESS_EDGE; vi.spyOn(allMoves[moveToUse], "accuracy", "get").mockReturnValue(100); game.override.moveset(moveToUse); @@ -201,7 +201,7 @@ describe("Moves - Destiny Bond", () => { }); it("should not cause a crash if the user is KO'd by Pledge moves", async () => { - game.override.moveset([Moves.GRASS_PLEDGE, Moves.WATER_PLEDGE]).battleStyle("double"); + game.override.moveset([MoveId.GRASS_PLEDGE, MoveId.WATER_PLEDGE]).battleStyle("double"); await game.classicMode.startBattle(defaultParty); const enemyPokemon0 = game.scene.getEnemyField()[0]; @@ -209,8 +209,8 @@ describe("Moves - Destiny Bond", () => { const playerPokemon0 = game.scene.getPlayerField()[0]; const playerPokemon1 = game.scene.getPlayerField()[1]; - game.move.select(Moves.GRASS_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.WATER_PLEDGE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.GRASS_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.WATER_PLEDGE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2]); await game.phaseInterceptor.to("BerryPhase"); @@ -230,7 +230,7 @@ describe("Moves - Destiny Bond", () => { * from occurring with fainting by KO'ing a Destiny Bond user with U-Turn. */ it("should not allow the opponent to revive via Reviver Seed", async () => { - const moveToUse = Moves.TACKLE; + const moveToUse = MoveId.TACKLE; game.override.moveset(moveToUse).startingHeldItems([{ name: "REVIVER_SEED" }]); await game.classicMode.startBattle(defaultParty); diff --git a/test/moves/diamond_storm.test.ts b/test/moves/diamond_storm.test.ts index 1e64babacfb..20067b3a0f3 100644 --- a/test/moves/diamond_storm.test.ts +++ b/test/moves/diamond_storm.test.ts @@ -1,7 +1,7 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,21 +24,21 @@ describe("Moves - Diamond Storm", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.DIAMOND_STORM]) + .moveset([MoveId.DIAMOND_STORM]) .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should only increase defense once even if hitting 2 pokemon", async () => { game.override.battleStyle("double"); - const diamondStorm = allMoves[Moves.DIAMOND_STORM]; + const diamondStorm = allMoves[MoveId.DIAMOND_STORM]; vi.spyOn(diamondStorm, "chance", "get").mockReturnValue(100); vi.spyOn(diamondStorm, "accuracy", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.DIAMOND_STORM); + game.move.select(MoveId.DIAMOND_STORM); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.DEF)).toBe(2); diff --git a/test/moves/dig.test.ts b/test/moves/dig.test.ts index e8f39c05fd8..052845ec50d 100644 --- a/test/moves/dig.test.ts +++ b/test/moves/dig.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import { MoveResult } from "#app/field/pokemon"; import { describe, beforeAll, afterEach, beforeEach, it, expect } from "vitest"; @@ -26,48 +26,48 @@ describe("Moves - Dig", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.DIG) + .moveset(MoveId.DIG) .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); }); it("should make the user semi-invulnerable, then attack over 2 turns", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DIG); + game.move.select(MoveId.DIG); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.UNDERGROUND)).toBeDefined(); expect(enemyPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.MISS); expect(playerPokemon.hp).toBe(playerPokemon.getMaxHp()); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - expect(playerPokemon.getMoveQueue()[0].move).toBe(Moves.DIG); + expect(playerPokemon.getMoveQueue()[0].move).toBe(MoveId.DIG); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.UNDERGROUND)).toBeUndefined(); expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); expect(playerPokemon.getMoveHistory()).toHaveLength(2); - const playerDig = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.DIG); + const playerDig = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.DIG); expect(playerDig?.ppUsed).toBe(1); }); it("should not allow the user to evade attacks from Pokemon with No Guard", async () => { - game.override.enemyAbility(Abilities.NO_GUARD); + game.override.enemyAbility(AbilityId.NO_GUARD); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DIG); + game.move.select(MoveId.DIG); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp()); @@ -75,41 +75,41 @@ describe("Moves - Dig", () => { }); it("should not expend PP when the attack phase is cancelled", async () => { - game.override.enemyAbility(Abilities.NO_GUARD).enemyMoveset(Moves.SPORE); + game.override.enemyAbility(AbilityId.NO_GUARD).enemyMoveset(MoveId.SPORE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.DIG); + game.move.select(MoveId.DIG); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.UNDERGROUND)).toBeUndefined(); expect(playerPokemon.status?.effect).toBe(StatusEffect.SLEEP); - const playerDig = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.DIG); + const playerDig = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.DIG); expect(playerDig?.ppUsed).toBe(0); }); it("should cause the user to take double damage from Earthquake", async () => { - await game.classicMode.startBattle([Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.DONDOZO]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; const preDigEarthquakeDmg = playerPokemon.getAttackDamage({ source: enemyPokemon, - move: allMoves[Moves.EARTHQUAKE], + move: allMoves[MoveId.EARTHQUAKE], }).damage; - game.move.select(Moves.DIG); + game.move.select(MoveId.DIG); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); const postDigEarthquakeDmg = playerPokemon.getAttackDamage({ source: enemyPokemon, - move: allMoves[Moves.EARTHQUAKE], + move: allMoves[MoveId.EARTHQUAKE], }).damage; // these hopefully get avoid rounding errors :shrug: expect(postDigEarthquakeDmg).toBeGreaterThanOrEqual(2 * preDigEarthquakeDmg); diff --git a/test/moves/disable.test.ts b/test/moves/disable.test.ts index 5b2b687bd5d..eacf8bf4857 100644 --- a/test/moves/disable.test.ts +++ b/test/moves/disable.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,12 +24,12 @@ describe("Moves - Disable", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.BALL_FETCH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.DISABLE, Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH) - .starterSpecies(Species.PIKACHU) - .enemySpecies(Species.SHUCKLE); + .ability(AbilityId.BALL_FETCH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.DISABLE, MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH) + .starterSpecies(SpeciesId.PIKACHU) + .enemySpecies(SpeciesId.SHUCKLE); }); it("restricts moves", async () => { @@ -37,12 +37,12 @@ describe("Moves - Disable", () => { const enemyMon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DISABLE); + game.move.select(MoveId.DISABLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); expect(enemyMon.getMoveHistory()).toHaveLength(1); - expect(enemyMon.isMoveRestricted(Moves.SPLASH)).toBe(true); + expect(enemyMon.isMoveRestricted(MoveId.SPLASH)).toBe(true); }); it("fails if enemy has no move history", async () => { @@ -51,15 +51,15 @@ describe("Moves - Disable", () => { const playerMon = game.scene.getPlayerPokemon()!; const enemyMon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DISABLE); + game.move.select(MoveId.DISABLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); expect(playerMon.getMoveHistory()[0]).toMatchObject({ - move: Moves.DISABLE, + move: MoveId.DISABLE, result: MoveResult.FAIL, }); - expect(enemyMon.isMoveRestricted(Moves.SPLASH)).toBe(false); + expect(enemyMon.isMoveRestricted(MoveId.SPLASH)).toBe(false); }, 20000); it("causes STRUGGLE if all usable moves are disabled", async () => { @@ -67,33 +67,33 @@ describe("Moves - Disable", () => { const enemyMon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DISABLE); + game.move.select(MoveId.DISABLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); const enemyHistory = enemyMon.getMoveHistory(); expect(enemyHistory).toHaveLength(2); - expect(enemyHistory[0].move).toBe(Moves.SPLASH); - expect(enemyHistory[1].move).toBe(Moves.STRUGGLE); + expect(enemyHistory[0].move).toBe(MoveId.SPLASH); + expect(enemyHistory[1].move).toBe(MoveId.STRUGGLE); }, 20000); it("cannot disable STRUGGLE", async () => { - game.override.enemyMoveset([Moves.STRUGGLE]); + game.override.enemyMoveset([MoveId.STRUGGLE]); await game.classicMode.startBattle(); const playerMon = game.scene.getPlayerPokemon()!; const enemyMon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DISABLE); + game.move.select(MoveId.DISABLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); expect(playerMon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); - expect(enemyMon.getLastXMoves()[0].move).toBe(Moves.STRUGGLE); - expect(enemyMon.isMoveRestricted(Moves.STRUGGLE)).toBe(false); + expect(enemyMon.getLastXMoves()[0].move).toBe(MoveId.STRUGGLE); + expect(enemyMon.isMoveRestricted(MoveId.STRUGGLE)).toBe(false); }, 20000); it("interrupts target's move when target moves after", async () => { @@ -101,54 +101,54 @@ describe("Moves - Disable", () => { const enemyMon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // Both mons just used Splash last turn; now have player use Disable. - game.move.select(Moves.DISABLE); + game.move.select(MoveId.DISABLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); const enemyHistory = enemyMon.getMoveHistory(); expect(enemyHistory).toHaveLength(2); expect(enemyHistory[0]).toMatchObject({ - move: Moves.SPLASH, + move: MoveId.SPLASH, result: MoveResult.SUCCESS, }); expect(enemyHistory[1].result).toBe(MoveResult.FAIL); }, 20000); it("disables NATURE POWER, not the move invoked by it", async () => { - game.override.enemyMoveset([Moves.NATURE_POWER]); + game.override.enemyMoveset([MoveId.NATURE_POWER]); await game.classicMode.startBattle(); const enemyMon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DISABLE); + game.move.select(MoveId.DISABLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - expect(enemyMon.isMoveRestricted(Moves.NATURE_POWER)).toBe(true); + expect(enemyMon.isMoveRestricted(MoveId.NATURE_POWER)).toBe(true); expect(enemyMon.isMoveRestricted(enemyMon.getLastXMoves(2)[0].move)).toBe(false); }, 20000); it("disables most recent move", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.TACKLE]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.TACKLE]); await game.classicMode.startBattle(); const enemyMon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - game.move.select(Moves.DISABLE); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); + game.move.select(MoveId.DISABLE); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - expect(enemyMon.isMoveRestricted(Moves.TACKLE)).toBe(true); - expect(enemyMon.isMoveRestricted(Moves.SPLASH)).toBe(false); + expect(enemyMon.isMoveRestricted(MoveId.TACKLE)).toBe(true); + expect(enemyMon.isMoveRestricted(MoveId.SPLASH)).toBe(false); }, 20000); }); diff --git a/test/moves/dive.test.ts b/test/moves/dive.test.ts index 95c3349c8a6..cce1b5a6d26 100644 --- a/test/moves/dive.test.ts +++ b/test/moves/dive.test.ts @@ -1,9 +1,9 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { StatusEffect } from "#enums/status-effect"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -26,48 +26,48 @@ describe("Moves - Dive", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.DIVE) + .moveset(MoveId.DIVE) .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); }); it("should make the user semi-invulnerable, then attack over 2 turns", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.UNDERWATER)).toBeDefined(); expect(enemyPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.MISS); expect(playerPokemon.hp).toBe(playerPokemon.getMaxHp()); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - expect(playerPokemon.getMoveQueue()[0].move).toBe(Moves.DIVE); + expect(playerPokemon.getMoveQueue()[0].move).toBe(MoveId.DIVE); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.UNDERWATER)).toBeUndefined(); expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); expect(playerPokemon.getMoveHistory()).toHaveLength(2); - const playerDive = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.DIVE); + const playerDive = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.DIVE); expect(playerDive?.ppUsed).toBe(1); }); it("should not allow the user to evade attacks from Pokemon with No Guard", async () => { - game.override.enemyAbility(Abilities.NO_GUARD); + game.override.enemyAbility(AbilityId.NO_GUARD); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp()); @@ -75,48 +75,48 @@ describe("Moves - Dive", () => { }); it("should not expend PP when the attack phase is cancelled", async () => { - game.override.enemyAbility(Abilities.NO_GUARD).enemyMoveset(Moves.SPORE); + game.override.enemyAbility(AbilityId.NO_GUARD).enemyMoveset(MoveId.SPORE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.UNDERWATER)).toBeUndefined(); expect(playerPokemon.status?.effect).toBe(StatusEffect.SLEEP); - const playerDive = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.DIVE); + const playerDive = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.DIVE); expect(playerDive?.ppUsed).toBe(0); }); it("should trigger on-contact post-defend ability effects", async () => { - game.override.enemyAbility(Abilities.ROUGH_SKIN).enemyMoveset(Moves.SPLASH); + game.override.enemyAbility(AbilityId.ROUGH_SKIN).enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("TurnEndPhase"); await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp()); - expect(enemyPokemon.waveData.abilitiesApplied).toContain(Abilities.ROUGH_SKIN); + expect(enemyPokemon.waveData.abilitiesApplied).toContain(AbilityId.ROUGH_SKIN); }); it("should cancel attack after Harsh Sunlight is set", async () => { - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DIVE); + game.move.select(MoveId.DIVE); await game.phaseInterceptor.to("TurnEndPhase"); await game.phaseInterceptor.to("TurnStartPhase", false); @@ -127,7 +127,7 @@ describe("Moves - Dive", () => { expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); expect(playerPokemon.getTag(BattlerTagType.UNDERWATER)).toBeUndefined(); - const playerDive = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.DIVE); + const playerDive = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.DIVE); expect(playerDive?.ppUsed).toBe(1); }); }); diff --git a/test/moves/doodle.test.ts b/test/moves/doodle.test.ts index 25dc0ddaede..686bef144dd 100644 --- a/test/moves/doodle.test.ts +++ b/test/moves/doodle.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,43 +24,43 @@ describe("Moves - Doodle", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.DOODLE]) - .ability(Abilities.ADAPTABILITY) + .moveset([MoveId.SPLASH, MoveId.DOODLE]) + .ability(AbilityId.ADAPTABILITY) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should copy the opponent's ability in singles", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.DOODLE); + game.move.select(MoveId.DOODLE); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(Abilities.BALL_FETCH); + expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(AbilityId.BALL_FETCH); }); it("should copy the opponent's ability to itself and its ally in doubles", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); - game.move.select(Moves.DOODLE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.DOODLE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getPlayerField()[0].getAbility().id).toBe(Abilities.BALL_FETCH); - expect(game.scene.getPlayerField()[1].getAbility().id).toBe(Abilities.BALL_FETCH); + expect(game.scene.getPlayerField()[0].getAbility().id).toBe(AbilityId.BALL_FETCH); + expect(game.scene.getPlayerField()[1].getAbility().id).toBe(AbilityId.BALL_FETCH); }); it("should activate post-summon abilities", async () => { - game.override.battleStyle("double").enemyAbility(Abilities.INTIMIDATE); + game.override.battleStyle("double").enemyAbility(AbilityId.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); - game.move.select(Moves.DOODLE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.DOODLE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); // Enemies should have been intimidated twice diff --git a/test/moves/double_team.test.ts b/test/moves/double_team.test.ts index aa07ee5f688..9a17a542f47 100644 --- a/test/moves/double_team.test.ts +++ b/test/moves/double_team.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,16 +25,16 @@ describe("Moves - Double Team", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.DOUBLE_TEAM]) + .moveset([MoveId.DOUBLE_TEAM]) .disableCrits() - .ability(Abilities.BALL_FETCH) - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .ability(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); }); it("raises the user's EVA stat stage by 1", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const ally = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -42,7 +42,7 @@ describe("Moves - Double Team", () => { vi.spyOn(enemy, "getAccuracyMultiplier"); expect(ally.getStatStage(Stat.EVA)).toBe(0); - game.move.select(Moves.DOUBLE_TEAM); + game.move.select(MoveId.DOUBLE_TEAM); await game.phaseInterceptor.to(TurnEndPhase); await game.toNextTurn(); diff --git a/test/moves/dragon_cheer.test.ts b/test/moves/dragon_cheer.test.ts index dcf7f13eb65..b1eaa3ad747 100644 --- a/test/moves/dragon_cheer.test.ts +++ b/test/moves/dragon_cheer.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,21 +24,21 @@ describe("Moves - Dragon Cheer", () => { game = new GameManager(phaserGame); game.override .battleStyle("double") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(20) - .moveset([Moves.DRAGON_CHEER, Moves.TACKLE, Moves.SPLASH]); + .moveset([MoveId.DRAGON_CHEER, MoveId.TACKLE, MoveId.SPLASH]); }); it("increases the user's allies' critical hit ratio by one stage", async () => { - await game.classicMode.startBattle([Species.DRAGONAIR, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.DRAGONAIR, SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyField()[0]; vi.spyOn(enemy, "getCritStage"); - game.move.select(Moves.DRAGON_CHEER, 0); - game.move.select(Moves.TACKLE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.DRAGON_CHEER, 0); + game.move.select(MoveId.TACKLE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -48,14 +48,14 @@ describe("Moves - Dragon Cheer", () => { }); it("increases the user's Dragon-type allies' critical hit ratio by two stages", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.DRAGONAIR]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.DRAGONAIR]); const enemy = game.scene.getEnemyField()[0]; vi.spyOn(enemy, "getCritStage"); - game.move.select(Moves.DRAGON_CHEER, 0); - game.move.select(Moves.TACKLE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.DRAGON_CHEER, 0); + game.move.select(MoveId.TACKLE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -65,15 +65,15 @@ describe("Moves - Dragon Cheer", () => { }); it("applies the effect based on the allies' type upon use of the move, and do not change if the allies' type changes later in battle", async () => { - await game.classicMode.startBattle([Species.DRAGONAIR, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.DRAGONAIR, SpeciesId.MAGIKARP]); const magikarp = game.scene.getPlayerField()[1]; const enemy = game.scene.getEnemyField()[0]; vi.spyOn(enemy, "getCritStage"); - game.move.select(Moves.DRAGON_CHEER, 0); - game.move.select(Moves.TACKLE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.DRAGON_CHEER, 0); + game.move.select(MoveId.TACKLE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -87,8 +87,8 @@ describe("Moves - Dragon Cheer", () => { vi.spyOn(magikarp, "getTypes").mockReturnValue([PokemonType.DRAGON]); expect(magikarp.getTypes()).toEqual([PokemonType.DRAGON]); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.TACKLE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.TACKLE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); diff --git a/test/moves/dragon_rage.test.ts b/test/moves/dragon_rage.test.ts index 188c1511f37..c2a0a1bc979 100644 --- a/test/moves/dragon_rage.test.ts +++ b/test/moves/dragon_rage.test.ts @@ -1,11 +1,11 @@ import { Stat } from "#enums/stat"; import { PokemonType } from "#enums/pokemon-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -33,16 +33,16 @@ describe("Moves - Dragon Rage", () => { game.override.battleStyle("single"); - game.override.starterSpecies(Species.SNORLAX); - game.override.moveset([Moves.DRAGON_RAGE]); - game.override.ability(Abilities.BALL_FETCH); - game.override.passiveAbility(Abilities.BALL_FETCH); + game.override.starterSpecies(SpeciesId.SNORLAX); + game.override.moveset([MoveId.DRAGON_RAGE]); + game.override.ability(AbilityId.BALL_FETCH); + game.override.passiveAbility(AbilityId.BALL_FETCH); game.override.startingLevel(100); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.enemyPassiveAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.enemyPassiveAbility(AbilityId.BALL_FETCH); game.override.enemyLevel(100); await game.classicMode.startBattle(); @@ -55,7 +55,7 @@ describe("Moves - Dragon Rage", () => { game.override.disableCrits(); vi.spyOn(enemyPokemon, "getTypes").mockReturnValue([PokemonType.DRAGON]); - game.move.select(Moves.DRAGON_RAGE); + game.move.select(MoveId.DRAGON_RAGE); await game.phaseInterceptor.to(TurnEndPhase); expect(enemyPokemon.getInverseHp()).toBe(dragonRageDamage); @@ -65,7 +65,7 @@ describe("Moves - Dragon Rage", () => { game.override.disableCrits(); vi.spyOn(enemyPokemon, "getTypes").mockReturnValue([PokemonType.STEEL]); - game.move.select(Moves.DRAGON_RAGE); + game.move.select(MoveId.DRAGON_RAGE); await game.phaseInterceptor.to(TurnEndPhase); expect(enemyPokemon.getInverseHp()).toBe(dragonRageDamage); @@ -75,7 +75,7 @@ describe("Moves - Dragon Rage", () => { game.override.disableCrits(); partyPokemon.setStatStage(Stat.SPATK, 2); - game.move.select(Moves.DRAGON_RAGE); + game.move.select(MoveId.DRAGON_RAGE); await game.phaseInterceptor.to(TurnEndPhase); expect(enemyPokemon.getInverseHp()).toBe(dragonRageDamage); @@ -85,7 +85,7 @@ describe("Moves - Dragon Rage", () => { game.override.disableCrits(); vi.spyOn(partyPokemon, "getTypes").mockReturnValue([PokemonType.DRAGON]); - game.move.select(Moves.DRAGON_RAGE); + game.move.select(MoveId.DRAGON_RAGE); await game.phaseInterceptor.to(TurnEndPhase); expect(enemyPokemon.getInverseHp()).toBe(dragonRageDamage); @@ -94,7 +94,7 @@ describe("Moves - Dragon Rage", () => { it("ignores criticals", async () => { partyPokemon.addTag(BattlerTagType.ALWAYS_CRIT, 99); - game.move.select(Moves.DRAGON_RAGE); + game.move.select(MoveId.DRAGON_RAGE); await game.phaseInterceptor.to(TurnEndPhase); expect(enemyPokemon.getInverseHp()).toBe(dragonRageDamage); @@ -102,9 +102,9 @@ describe("Moves - Dragon Rage", () => { it("ignores damage modification from abilities, for example ICE_SCALES", async () => { game.override.disableCrits(); - game.override.enemyAbility(Abilities.ICE_SCALES); + game.override.enemyAbility(AbilityId.ICE_SCALES); - game.move.select(Moves.DRAGON_RAGE); + game.move.select(MoveId.DRAGON_RAGE); await game.phaseInterceptor.to(TurnEndPhase); expect(enemyPokemon.getInverseHp()).toBe(dragonRageDamage); diff --git a/test/moves/dragon_tail.test.ts b/test/moves/dragon_tail.test.ts index 409ce7e28f8..07441d9fb2d 100644 --- a/test/moves/dragon_tail.test.ts +++ b/test/moves/dragon_tail.test.ts @@ -4,9 +4,9 @@ import { Status } from "#app/data/status-effect"; import { Challenges } from "#enums/challenges"; import { StatusEffect } from "#enums/status-effect"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -29,21 +29,21 @@ describe("Moves - Dragon Tail", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.DRAGON_TAIL, Moves.SPLASH, Moves.FLAMETHROWER]) - .enemySpecies(Species.WAILORD) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.DRAGON_TAIL, MoveId.SPLASH, MoveId.FLAMETHROWER]) + .enemySpecies(SpeciesId.WAILORD) + .enemyMoveset(MoveId.SPLASH) .startingLevel(5) .enemyLevel(5); - vi.spyOn(allMoves[Moves.DRAGON_TAIL], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.DRAGON_TAIL], "accuracy", "get").mockReturnValue(100); }); it("should cause opponent to flee, and not crash", async () => { - await game.classicMode.startBattle([Species.DRATINI]); + await game.classicMode.startBattle([SpeciesId.DRATINI]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DRAGON_TAIL); + game.move.select(MoveId.DRAGON_TAIL); await game.phaseInterceptor.to("BerryPhase"); @@ -56,13 +56,13 @@ describe("Moves - Dragon Tail", () => { }); it("should cause opponent to flee, display ability, and not crash", async () => { - game.override.enemyAbility(Abilities.ROUGH_SKIN); - await game.classicMode.startBattle([Species.DRATINI]); + game.override.enemyAbility(AbilityId.ROUGH_SKIN); + await game.classicMode.startBattle([SpeciesId.DRATINI]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DRAGON_TAIL); + game.move.select(MoveId.DRAGON_TAIL); await game.phaseInterceptor.to("BerryPhase"); @@ -73,16 +73,16 @@ describe("Moves - Dragon Tail", () => { }); it("should proceed without crashing in a double battle", async () => { - game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).enemyAbility(Abilities.ROUGH_SKIN); - await game.classicMode.startBattle([Species.DRATINI, Species.DRATINI, Species.WAILORD, Species.WAILORD]); + game.override.battleStyle("double").enemyMoveset(MoveId.SPLASH).enemyAbility(AbilityId.ROUGH_SKIN); + await game.classicMode.startBattle([SpeciesId.DRATINI, SpeciesId.DRATINI, SpeciesId.WAILORD, SpeciesId.WAILORD]); const leadPokemon = game.scene.getPlayerParty()[0]!; const enemyLeadPokemon = game.scene.getEnemyParty()[0]!; const enemySecPokemon = game.scene.getEnemyParty()[1]!; - game.move.select(Moves.DRAGON_TAIL, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.DRAGON_TAIL, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -94,16 +94,16 @@ describe("Moves - Dragon Tail", () => { expect(leadPokemon.hp).toBeLessThan(leadPokemon.getMaxHp()); // second turn - game.move.select(Moves.FLAMETHROWER, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FLAMETHROWER, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(enemySecPokemon.hp).toBeLessThan(enemySecPokemon.getMaxHp()); }); it("should redirect targets upon opponent flee", async () => { - game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).enemyAbility(Abilities.ROUGH_SKIN); - await game.classicMode.startBattle([Species.DRATINI, Species.DRATINI, Species.WAILORD, Species.WAILORD]); + game.override.battleStyle("double").enemyMoveset(MoveId.SPLASH).enemyAbility(AbilityId.ROUGH_SKIN); + await game.classicMode.startBattle([SpeciesId.DRATINI, SpeciesId.DRATINI, SpeciesId.WAILORD, SpeciesId.WAILORD]); const leadPokemon = game.scene.getPlayerParty()[0]!; const secPokemon = game.scene.getPlayerParty()[1]!; @@ -111,9 +111,9 @@ describe("Moves - Dragon Tail", () => { const enemyLeadPokemon = game.scene.getEnemyParty()[0]!; const enemySecPokemon = game.scene.getEnemyParty()[1]!; - game.move.select(Moves.DRAGON_TAIL, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.DRAGON_TAIL, 0, BattlerIndex.ENEMY); // target the same pokemon, second move should be redirected after first flees - game.move.select(Moves.DRAGON_TAIL, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.DRAGON_TAIL, 1, BattlerIndex.ENEMY); await game.phaseInterceptor.to("BerryPhase"); @@ -129,12 +129,12 @@ describe("Moves - Dragon Tail", () => { }); it("doesn't switch out if the target has suction cups", async () => { - game.override.enemyAbility(Abilities.SUCTION_CUPS); - await game.classicMode.startBattle([Species.REGIELEKI]); + game.override.enemyAbility(AbilityId.SUCTION_CUPS); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.DRAGON_TAIL); + game.move.select(MoveId.DRAGON_TAIL); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.isFullHp()).toBe(false); @@ -142,9 +142,9 @@ describe("Moves - Dragon Tail", () => { it("should force a switch upon fainting an opponent normally", async () => { game.override.startingWave(5).startingLevel(1000); // To make sure Dragon Tail KO's the opponent - await game.classicMode.startBattle([Species.DRATINI]); + await game.classicMode.startBattle([SpeciesId.DRATINI]); - game.move.select(Moves.DRAGON_TAIL); + game.move.select(MoveId.DRAGON_TAIL); await game.toNextTurn(); @@ -164,9 +164,9 @@ describe("Moves - Dragon Tail", () => { .startingWave(5) .enemyHeldItems([{ name: "REVIVER_SEED" }]) .startingLevel(1000); // To make sure Dragon Tail KO's the opponent - await game.classicMode.startBattle([Species.DRATINI]); + await game.classicMode.startBattle([SpeciesId.DRATINI]); - game.move.select(Moves.DRAGON_TAIL); + game.move.select(MoveId.DRAGON_TAIL); await game.toNextTurn(); @@ -180,11 +180,11 @@ describe("Moves - Dragon Tail", () => { it("should not cause a softlock when activating a player's reviver seed", async () => { game.override .startingHeldItems([{ name: "REVIVER_SEED" }]) - .enemyMoveset(Moves.DRAGON_TAIL) + .enemyMoveset(MoveId.DRAGON_TAIL) .enemyLevel(1000); // To make sure Dragon Tail KO's the player - await game.classicMode.startBattle([Species.DRATINI, Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.DRATINI, SpeciesId.BULBASAUR]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); @@ -196,8 +196,8 @@ describe("Moves - Dragon Tail", () => { }); it("should force switches randomly", async () => { - game.override.enemyMoveset(Moves.DRAGON_TAIL).startingLevel(100).enemyLevel(1); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + game.override.enemyMoveset(MoveId.DRAGON_TAIL).startingLevel(100).enemyLevel(1); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); const [bulbasaur, charmander, squirtle] = game.scene.getPlayerParty(); @@ -205,8 +205,8 @@ describe("Moves - Dragon Tail", () => { vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.DRAGON_TAIL); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.DRAGON_TAIL); await game.toNextTurn(); expect(bulbasaur.isOnField()).toBe(false); @@ -218,7 +218,7 @@ describe("Moves - Dragon Tail", () => { vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min + 1; }); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(bulbasaur.isOnField()).toBe(false); @@ -228,10 +228,10 @@ describe("Moves - Dragon Tail", () => { }); it("should not force a switch to a challenge-ineligible Pokemon", async () => { - game.override.enemyMoveset(Moves.DRAGON_TAIL).startingLevel(100).enemyLevel(1); + game.override.enemyMoveset(MoveId.DRAGON_TAIL).startingLevel(100).enemyLevel(1); // Mono-Water challenge, Eevee is ineligible game.challengeMode.addChallenge(Challenges.SINGLE_TYPE, PokemonType.WATER + 1, 0); - await game.challengeMode.startBattle([Species.LAPRAS, Species.EEVEE, Species.TOXAPEX, Species.PRIMARINA]); + await game.challengeMode.startBattle([SpeciesId.LAPRAS, SpeciesId.EEVEE, SpeciesId.TOXAPEX, SpeciesId.PRIMARINA]); const [lapras, eevee, toxapex, primarina] = game.scene.getPlayerParty(); @@ -239,7 +239,7 @@ describe("Moves - Dragon Tail", () => { vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(lapras.isOnField()).toBe(false); @@ -250,8 +250,8 @@ describe("Moves - Dragon Tail", () => { }); it("should not force a switch to a fainted Pokemon", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.DRAGON_TAIL]).startingLevel(100).enemyLevel(1); - await game.classicMode.startBattle([Species.LAPRAS, Species.EEVEE, Species.TOXAPEX, Species.PRIMARINA]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.DRAGON_TAIL]).startingLevel(100).enemyLevel(1); + await game.classicMode.startBattle([SpeciesId.LAPRAS, SpeciesId.EEVEE, SpeciesId.TOXAPEX, SpeciesId.PRIMARINA]); const [lapras, eevee, toxapex, primarina] = game.scene.getPlayerParty(); @@ -259,16 +259,16 @@ describe("Moves - Dragon Tail", () => { eevee.hp = 0; eevee.status = new Status(StatusEffect.FAINT); expect(eevee.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Turn 2: Mock an RNG call that would normally call for switching to Eevee, but it is fainted vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.DRAGON_TAIL); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.DRAGON_TAIL); await game.toNextTurn(); expect(lapras.isOnField()).toBe(false); @@ -279,8 +279,8 @@ describe("Moves - Dragon Tail", () => { }); it("should not force a switch if there are no available Pokemon to switch into", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.DRAGON_TAIL]).startingLevel(100).enemyLevel(1); - await game.classicMode.startBattle([Species.LAPRAS, Species.EEVEE]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.DRAGON_TAIL]).startingLevel(100).enemyLevel(1); + await game.classicMode.startBattle([SpeciesId.LAPRAS, SpeciesId.EEVEE]); const [lapras, eevee] = game.scene.getPlayerParty(); @@ -288,16 +288,16 @@ describe("Moves - Dragon Tail", () => { eevee.hp = 0; eevee.status = new Status(StatusEffect.FAINT); expect(eevee.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Turn 2: Mock an RNG call that would normally call for switching to Eevee, but it is fainted vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.DRAGON_TAIL); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.DRAGON_TAIL); await game.toNextTurn(); expect(lapras.isOnField()).toBe(true); diff --git a/test/moves/dynamax_cannon.test.ts b/test/moves/dynamax_cannon.test.ts index 19a15225653..ada3361f3ef 100644 --- a/test/moves/dynamax_cannon.test.ts +++ b/test/moves/dynamax_cannon.test.ts @@ -2,9 +2,9 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type Move from "#app/data/moves/move"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -26,32 +26,32 @@ describe("Moves - Dynamax Cannon", () => { }); beforeEach(() => { - dynamaxCannon = allMoves[Moves.DYNAMAX_CANNON]; + dynamaxCannon = allMoves[MoveId.DYNAMAX_CANNON]; game = new GameManager(phaserGame); game.override - .moveset(Moves.DYNAMAX_CANNON) + .moveset(MoveId.DYNAMAX_CANNON) .startingLevel(200) .levelCap(10) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH); // Note that, for Waves 1-10, the level cap is 10 game.override.startingWave(1); game.override.battleStyle("single"); game.override.disableCrits(); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyMoveset([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.SPLASH, MoveId.SPLASH, MoveId.SPLASH]); vi.spyOn(dynamaxCannon, "calculateBattlePower"); }); it("should return 100 power against an enemy below level cap", async () => { game.override.enemyLevel(1); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); @@ -63,7 +63,7 @@ describe("Moves - Dynamax Cannon", () => { it("should return 100 power against an enemy at level cap", async () => { game.override.enemyLevel(10); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); @@ -75,7 +75,7 @@ describe("Moves - Dynamax Cannon", () => { it("should return 120 power against an enemy 1% above level cap", async () => { game.override.enemyLevel(101); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); @@ -90,7 +90,7 @@ describe("Moves - Dynamax Cannon", () => { it("should return 140 power against an enemy 2% above level capp", async () => { game.override.enemyLevel(102); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); @@ -105,7 +105,7 @@ describe("Moves - Dynamax Cannon", () => { it("should return 160 power against an enemy 3% above level cap", async () => { game.override.enemyLevel(103); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); @@ -120,7 +120,7 @@ describe("Moves - Dynamax Cannon", () => { it("should return 180 power against an enemy 4% above level cap", async () => { game.override.enemyLevel(104); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); @@ -135,7 +135,7 @@ describe("Moves - Dynamax Cannon", () => { it("should return 200 power against an enemy 5% above level cap", async () => { game.override.enemyLevel(105); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); @@ -150,7 +150,7 @@ describe("Moves - Dynamax Cannon", () => { it("should return 200 power against an enemy way above level cap", async () => { game.override.enemyLevel(999); - await game.classicMode.startBattle([Species.ETERNATUS]); + await game.classicMode.startBattle([SpeciesId.ETERNATUS]); game.move.select(dynamaxCannon.id); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); diff --git a/test/moves/effectiveness.test.ts b/test/moves/effectiveness.test.ts index 9fc6c7b8ce7..b906e00e1a0 100644 --- a/test/moves/effectiveness.test.ts +++ b/test/moves/effectiveness.test.ts @@ -2,9 +2,9 @@ import { allMoves } from "#app/data/data-lists"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { TrainerSlot } from "#enums/trainer-slot"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import * as Messages from "#app/messages"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -12,17 +12,17 @@ import { afterEach, beforeAll, describe, expect, it, vi } from "vitest"; function testMoveEffectiveness( game: GameManager, - move: Moves, - targetSpecies: Species, + move: MoveId, + targetSpecies: SpeciesId, expected: number, - targetAbility: Abilities = Abilities.BALL_FETCH, + targetAbility: AbilityId = AbilityId.BALL_FETCH, teraType?: PokemonType, ): void { // Suppress getPokemonNameWithAffix because it calls on a null battle spec vi.spyOn(Messages, "getPokemonNameWithAffix").mockReturnValue(""); game.override.enemyAbility(targetAbility); - const user = game.scene.addPlayerPokemon(getPokemonSpecies(Species.SNORLAX), 5); + const user = game.scene.addPlayerPokemon(getPokemonSpecies(SpeciesId.SNORLAX), 5); const target = game.scene.addEnemyPokemon(getPokemonSpecies(targetSpecies), 5, TrainerSlot.NONE); if (teraType !== undefined) { @@ -45,7 +45,7 @@ describe("Moves - Type Effectiveness", () => { }); game = new GameManager(phaserGame); - game.override.ability(Abilities.BALL_FETCH); + game.override.ability(AbilityId.BALL_FETCH); }); afterEach(() => { @@ -53,48 +53,48 @@ describe("Moves - Type Effectiveness", () => { }); it("Normal-type attacks are neutrally effective against Normal-type Pokemon", () => - testMoveEffectiveness(game, Moves.TACKLE, Species.SNORLAX, 1)); + testMoveEffectiveness(game, MoveId.TACKLE, SpeciesId.SNORLAX, 1)); it("Normal-type attacks are not very effective against Steel-type Pokemon", () => - testMoveEffectiveness(game, Moves.TACKLE, Species.REGISTEEL, 0.5)); + testMoveEffectiveness(game, MoveId.TACKLE, SpeciesId.REGISTEEL, 0.5)); it("Normal-type attacks are doubly resisted by Steel/Rock-type Pokemon", () => - testMoveEffectiveness(game, Moves.TACKLE, Species.AGGRON, 0.25)); + testMoveEffectiveness(game, MoveId.TACKLE, SpeciesId.AGGRON, 0.25)); it("Normal-type attacks have no effect on Ghost-type Pokemon", () => - testMoveEffectiveness(game, Moves.TACKLE, Species.DUSCLOPS, 0)); + testMoveEffectiveness(game, MoveId.TACKLE, SpeciesId.DUSCLOPS, 0)); it("Normal-type status moves are not affected by type matchups", () => - testMoveEffectiveness(game, Moves.GROWL, Species.DUSCLOPS, 1)); + testMoveEffectiveness(game, MoveId.GROWL, SpeciesId.DUSCLOPS, 1)); it("Electric-type attacks are super-effective against Water-type Pokemon", () => - testMoveEffectiveness(game, Moves.THUNDERBOLT, Species.BLASTOISE, 2)); + testMoveEffectiveness(game, MoveId.THUNDERBOLT, SpeciesId.BLASTOISE, 2)); it("Ghost-type attacks have no effect on Normal-type Pokemon", () => - testMoveEffectiveness(game, Moves.SHADOW_BALL, Species.URSALUNA, 0)); + testMoveEffectiveness(game, MoveId.SHADOW_BALL, SpeciesId.URSALUNA, 0)); it("Electric-type attacks are doubly super-effective against Water/Flying-type Pokemon", () => - testMoveEffectiveness(game, Moves.THUNDERBOLT, Species.GYARADOS, 4)); + testMoveEffectiveness(game, MoveId.THUNDERBOLT, SpeciesId.GYARADOS, 4)); it("Electric-type attacks are negated by Volt Absorb", () => - testMoveEffectiveness(game, Moves.THUNDERBOLT, Species.GYARADOS, 0, Abilities.VOLT_ABSORB)); + testMoveEffectiveness(game, MoveId.THUNDERBOLT, SpeciesId.GYARADOS, 0, AbilityId.VOLT_ABSORB)); it("Electric-type attacks are super-effective against Tera-Water Pokemon", () => - testMoveEffectiveness(game, Moves.THUNDERBOLT, Species.EXCADRILL, 2, Abilities.BALL_FETCH, PokemonType.WATER)); + testMoveEffectiveness(game, MoveId.THUNDERBOLT, SpeciesId.EXCADRILL, 2, AbilityId.BALL_FETCH, PokemonType.WATER)); it("Powder moves have no effect on Grass-type Pokemon", () => - testMoveEffectiveness(game, Moves.SLEEP_POWDER, Species.AMOONGUSS, 0)); + testMoveEffectiveness(game, MoveId.SLEEP_POWDER, SpeciesId.AMOONGUSS, 0)); it("Powder moves have no effect on Tera-Grass Pokemon", () => - testMoveEffectiveness(game, Moves.SLEEP_POWDER, Species.SNORLAX, 0, Abilities.BALL_FETCH, PokemonType.GRASS)); + testMoveEffectiveness(game, MoveId.SLEEP_POWDER, SpeciesId.SNORLAX, 0, AbilityId.BALL_FETCH, PokemonType.GRASS)); it("Prankster-boosted status moves have no effect on Dark-type Pokemon", () => { - game.override.ability(Abilities.PRANKSTER); - testMoveEffectiveness(game, Moves.BABY_DOLL_EYES, Species.MIGHTYENA, 0); + game.override.ability(AbilityId.PRANKSTER); + testMoveEffectiveness(game, MoveId.BABY_DOLL_EYES, SpeciesId.MIGHTYENA, 0); }); it("Prankster-boosted status moves have no effect on Tera-Dark Pokemon", () => { - game.override.ability(Abilities.PRANKSTER); - testMoveEffectiveness(game, Moves.BABY_DOLL_EYES, Species.SNORLAX, 0, Abilities.BALL_FETCH, PokemonType.DARK); + game.override.ability(AbilityId.PRANKSTER); + testMoveEffectiveness(game, MoveId.BABY_DOLL_EYES, SpeciesId.SNORLAX, 0, AbilityId.BALL_FETCH, PokemonType.DARK); }); }); diff --git a/test/moves/electrify.test.ts b/test/moves/electrify.test.ts index 25529e0b552..00f96d570a3 100644 --- a/test/moves/electrify.test.ts +++ b/test/moves/electrify.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -24,23 +24,23 @@ describe("Moves - Electrify", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.ELECTRIFY) + .moveset(MoveId.ELECTRIFY) .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE) .enemyLevel(100); }); it("should convert attacks to Electric type", async () => { - await game.classicMode.startBattle([Species.EXCADRILL]); + await game.classicMode.startBattle([SpeciesId.EXCADRILL]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(enemyPokemon, "getMoveType"); - game.move.select(Moves.ELECTRIFY); + game.move.select(MoveId.ELECTRIFY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); @@ -50,15 +50,15 @@ describe("Moves - Electrify", () => { }); it("should override type changes from abilities", async () => { - game.override.enemyAbility(Abilities.PIXILATE); + game.override.enemyAbility(AbilityId.PIXILATE); - await game.classicMode.startBattle([Species.EXCADRILL]); + await game.classicMode.startBattle([SpeciesId.EXCADRILL]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(enemyPokemon, "getMoveType"); - game.move.select(Moves.ELECTRIFY); + game.move.select(MoveId.ELECTRIFY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); diff --git a/test/moves/electro_shot.test.ts b/test/moves/electro_shot.test.ts index 0122bf04281..160f90163e3 100644 --- a/test/moves/electro_shot.test.ts +++ b/test/moves/electro_shot.test.ts @@ -2,9 +2,9 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { Stat } from "#enums/stat"; import { WeatherType } from "#enums/weather-type"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -26,22 +26,22 @@ describe("Moves - Electro Shot", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.ELECTRO_SHOT) + .moveset(MoveId.ELECTRO_SHOT) .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should increase the user's Sp. Atk on the first turn, then attack on the second turn", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ELECTRO_SHOT); + game.move.select(MoveId.ELECTRO_SHOT); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.CHARGING)).toBeDefined(); @@ -56,7 +56,7 @@ describe("Moves - Electro Shot", () => { expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(1); expect(playerPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); - const playerElectroShot = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.ELECTRO_SHOT); + const playerElectroShot = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.ELECTRO_SHOT); expect(playerElectroShot?.ppUsed).toBe(1); }); @@ -66,12 +66,12 @@ describe("Moves - Electro Shot", () => { ])("should fully resolve in one turn if $name is active", async ({ weatherType }) => { game.override.weather(weatherType); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ELECTRO_SHOT); + game.move.select(MoveId.ELECTRO_SHOT); await game.phaseInterceptor.to("MoveEffectPhase", false); expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(1); @@ -82,18 +82,18 @@ describe("Moves - Electro Shot", () => { expect(playerPokemon.getMoveHistory()).toHaveLength(2); expect(playerPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); - const playerElectroShot = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.ELECTRO_SHOT); + const playerElectroShot = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.ELECTRO_SHOT); expect(playerElectroShot?.ppUsed).toBe(1); }); it("should only increase Sp. Atk once with Multi-Lens", async () => { game.override.weather(WeatherType.RAIN).startingHeldItems([{ name: "MULTI_LENS", count: 1 }]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.ELECTRO_SHOT); + game.move.select(MoveId.ELECTRO_SHOT); await game.phaseInterceptor.to("MoveEndPhase"); expect(playerPokemon.turnData.hitCount).toBe(1); diff --git a/test/moves/encore.test.ts b/test/moves/encore.test.ts index f941328fc90..cded90c4a73 100644 --- a/test/moves/encore.test.ts +++ b/test/moves/encore.test.ts @@ -1,9 +1,9 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,58 +25,58 @@ describe("Moves - Encore", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.ENCORE]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.ENCORE]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH, Moves.TACKLE]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH, MoveId.TACKLE]) .startingLevel(100) .enemyLevel(100); }); it("should prevent the target from using any move except the last used move", async () => { - await game.classicMode.startBattle([Species.SNORLAX]); + await game.classicMode.startBattle([SpeciesId.SNORLAX]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ENCORE); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.ENCORE); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(enemyPokemon.getTag(BattlerTagType.ENCORE)).toBeDefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); // The enemy AI would normally be inclined to use Tackle, but should be // forced into using Splash. await game.phaseInterceptor.to("BerryPhase", false); - expect(enemyPokemon.getLastXMoves().every(turnMove => turnMove.move === Moves.SPLASH)).toBeTruthy(); + expect(enemyPokemon.getLastXMoves().every(turnMove => turnMove.move === MoveId.SPLASH)).toBeTruthy(); }); describe("should fail against the following moves:", () => { it.each([ - { moveId: Moves.TRANSFORM, name: "Transform", delay: false }, - { moveId: Moves.MIMIC, name: "Mimic", delay: true }, - { moveId: Moves.SKETCH, name: "Sketch", delay: true }, - { moveId: Moves.ENCORE, name: "Encore", delay: false }, - { moveId: Moves.STRUGGLE, name: "Struggle", delay: false }, + { moveId: MoveId.TRANSFORM, name: "Transform", delay: false }, + { moveId: MoveId.MIMIC, name: "Mimic", delay: true }, + { moveId: MoveId.SKETCH, name: "Sketch", delay: true }, + { moveId: MoveId.ENCORE, name: "Encore", delay: false }, + { moveId: MoveId.STRUGGLE, name: "Struggle", delay: false }, ])("$name", async ({ moveId, delay }) => { game.override.enemyMoveset(moveId); - await game.classicMode.startBattle([Species.SNORLAX]); + await game.classicMode.startBattle([SpeciesId.SNORLAX]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; if (delay) { - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); } - game.move.select(Moves.ENCORE); + game.move.select(MoveId.ENCORE); const turnOrder = delay ? [BattlerIndex.PLAYER, BattlerIndex.ENEMY] : [BattlerIndex.ENEMY, BattlerIndex.PLAYER]; await game.setTurnOrder(turnOrder); @@ -89,26 +89,26 @@ describe("Moves - Encore", () => { it("Pokemon under both Encore and Torment should alternate between Struggle and restricted move", async () => { const turnOrder = [BattlerIndex.ENEMY, BattlerIndex.PLAYER]; - game.override.moveset([Moves.ENCORE, Moves.TORMENT, Moves.SPLASH]); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.moveset([MoveId.ENCORE, MoveId.TORMENT, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemyPokemon = game.scene.getEnemyPokemon(); - game.move.select(Moves.ENCORE); + game.move.select(MoveId.ENCORE); await game.setTurnOrder(turnOrder); await game.phaseInterceptor.to("BerryPhase"); expect(enemyPokemon?.getTag(BattlerTagType.ENCORE)).toBeDefined(); await game.toNextTurn(); - game.move.select(Moves.TORMENT); + game.move.select(MoveId.TORMENT); await game.setTurnOrder(turnOrder); await game.phaseInterceptor.to("BerryPhase"); expect(enemyPokemon?.getTag(BattlerTagType.TORMENT)).toBeDefined(); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder(turnOrder); await game.phaseInterceptor.to("BerryPhase"); const lastMove = enemyPokemon?.getLastXMoves()[0]; - expect(lastMove?.move).toBe(Moves.STRUGGLE); + expect(lastMove?.move).toBe(MoveId.STRUGGLE); }); }); diff --git a/test/moves/endure.test.ts b/test/moves/endure.test.ts index 190a689f46e..799be22ba45 100644 --- a/test/moves/endure.test.ts +++ b/test/moves/endure.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -22,39 +22,39 @@ describe("Moves - Endure", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.THUNDER, Moves.BULLET_SEED, Moves.TOXIC, Moves.SHEER_COLD]) - .ability(Abilities.SKILL_LINK) + .moveset([MoveId.THUNDER, MoveId.BULLET_SEED, MoveId.TOXIC, MoveId.SHEER_COLD]) + .ability(AbilityId.SKILL_LINK) .startingLevel(100) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.NO_GUARD) - .enemyMoveset(Moves.ENDURE); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.NO_GUARD) + .enemyMoveset(MoveId.ENDURE); }); it("should let the pokemon survive with 1 HP", async () => { - await game.classicMode.startBattle([Species.ARCEUS]); + await game.classicMode.startBattle([SpeciesId.ARCEUS]); - game.move.select(Moves.THUNDER); + game.move.select(MoveId.THUNDER); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.hp).toBe(1); }); it("should let the pokemon survive with 1 HP when hit with a multihit move", async () => { - await game.classicMode.startBattle([Species.ARCEUS]); + await game.classicMode.startBattle([SpeciesId.ARCEUS]); - game.move.select(Moves.BULLET_SEED); + game.move.select(MoveId.BULLET_SEED); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.hp).toBe(1); }); it("should let the pokemon survive against OHKO moves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SHEER_COLD); + game.move.select(MoveId.SHEER_COLD); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.isFainted()).toBeFalsy(); @@ -62,19 +62,19 @@ describe("Moves - Endure", () => { // comprehensive indirect damage test copied from Reviver Seed test it.each([ - { moveType: "Damaging Move Chip Damage", move: Moves.SALT_CURE }, - { moveType: "Chip Damage", move: Moves.LEECH_SEED }, - { moveType: "Trapping Chip Damage", move: Moves.WHIRLPOOL }, - { moveType: "Status Effect Damage", move: Moves.TOXIC }, - { moveType: "Weather", move: Moves.SANDSTORM }, + { moveType: "Damaging Move Chip Damage", move: MoveId.SALT_CURE }, + { moveType: "Chip Damage", move: MoveId.LEECH_SEED }, + { moveType: "Trapping Chip Damage", move: MoveId.WHIRLPOOL }, + { moveType: "Status Effect Damage", move: MoveId.TOXIC }, + { moveType: "Weather", move: MoveId.SANDSTORM }, ])("should not prevent fainting from $moveType", async ({ move }) => { game.override .enemyLevel(1) .startingLevel(100) - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .moveset(move) - .enemyMoveset(Moves.ENDURE); - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + .enemyMoveset(MoveId.ENDURE); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; enemy.damageAndUpdate(enemy.hp - 1); diff --git a/test/moves/entrainment.test.ts b/test/moves/entrainment.test.ts index 31a8ffcab85..0a0cbd3b5f9 100644 --- a/test/moves/entrainment.test.ts +++ b/test/moves/entrainment.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,29 +23,29 @@ describe("Moves - Entrainment", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.ENTRAINMENT]) - .ability(Abilities.ADAPTABILITY) + .moveset([MoveId.SPLASH, MoveId.ENTRAINMENT]) + .ability(AbilityId.ADAPTABILITY) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("gives its ability to the target", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.ENTRAINMENT); + game.move.select(MoveId.ENTRAINMENT); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(Abilities.ADAPTABILITY); + expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(AbilityId.ADAPTABILITY); }); it("should activate post-summon abilities", async () => { - game.override.ability(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.ability(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.ENTRAINMENT); + game.move.select(MoveId.ENTRAINMENT); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()?.getStatStage(Stat.ATK)).toBe(-1); diff --git a/test/moves/fairy_lock.test.ts b/test/moves/fairy_lock.test.ts index faffdee2304..5624d038595 100644 --- a/test/moves/fairy_lock.test.ts +++ b/test/moves/fairy_lock.test.ts @@ -1,8 +1,8 @@ import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagType } from "#app/enums/arena-tag-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,34 +24,34 @@ describe("Moves - Fairy Lock", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.FAIRY_LOCK, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.FAIRY_LOCK, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("double") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH, Moves.U_TURN]); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH, MoveId.U_TURN]); }); it("Applies Fairy Lock tag for two turns", async () => { - await game.classicMode.startBattle([Species.KLEFKI, Species.TYRUNT]); + await game.classicMode.startBattle([SpeciesId.KLEFKI, SpeciesId.TYRUNT]); const playerPokemon = game.scene.getPlayerField(); const enemyField = game.scene.getEnemyField(); - game.move.select(Moves.FAIRY_LOCK); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + game.move.select(MoveId.FAIRY_LOCK); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.FAIRY_LOCK, ArenaTagSide.PLAYER)).toBeDefined(); expect(game.scene.arena.getTagOnSide(ArenaTagType.FAIRY_LOCK, ArenaTagSide.ENEMY)).toBeDefined(); await game.toNextTurn(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(playerPokemon[0].isTrapped()).toEqual(true); expect(playerPokemon[1].isTrapped()).toEqual(true); @@ -66,12 +66,12 @@ describe("Moves - Fairy Lock", () => { }); it("Ghost types can escape Fairy Lock", async () => { - await game.classicMode.startBattle([Species.DUSKNOIR, Species.GENGAR, Species.TYRUNT]); + await game.classicMode.startBattle([SpeciesId.DUSKNOIR, SpeciesId.GENGAR, SpeciesId.TYRUNT]); - game.move.select(Moves.FAIRY_LOCK); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + game.move.select(MoveId.FAIRY_LOCK); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.FAIRY_LOCK, ArenaTagSide.PLAYER)).toBeDefined(); @@ -82,61 +82,61 @@ describe("Moves - Fairy Lock", () => { expect(game.scene.getPlayerField()[0].isTrapped()).toEqual(false); expect(game.scene.getPlayerField()[1].isTrapped()).toEqual(false); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.doSwitchPokemon(2); - await game.move.selectEnemyMove(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); await game.toNextTurn(); - expect(game.scene.getPlayerField()[1].species.speciesId).not.toBe(Species.GENGAR); + expect(game.scene.getPlayerField()[1].species.speciesId).not.toBe(SpeciesId.GENGAR); }); it("Phasing moves will still switch out", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.WHIRLWIND]); - await game.classicMode.startBattle([Species.KLEFKI, Species.TYRUNT, Species.ZYGARDE]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.WHIRLWIND]); + await game.classicMode.startBattle([SpeciesId.KLEFKI, SpeciesId.TYRUNT, SpeciesId.ZYGARDE]); - game.move.select(Moves.FAIRY_LOCK); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + game.move.select(MoveId.FAIRY_LOCK); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.FAIRY_LOCK, ArenaTagSide.PLAYER)).toBeDefined(); expect(game.scene.arena.getTagOnSide(ArenaTagType.FAIRY_LOCK, ArenaTagSide.ENEMY)).toBeDefined(); await game.toNextTurn(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.WHIRLWIND, 0); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.WHIRLWIND, 0); game.doSelectPartyPokemon(2); - await game.move.selectEnemyMove(Moves.WHIRLWIND, 1); + await game.move.selectEnemyMove(MoveId.WHIRLWIND, 1); game.doSelectPartyPokemon(2); await game.phaseInterceptor.to("BerryPhase"); await game.toNextTurn(); - expect(game.scene.getPlayerField()[0].species.speciesId).not.toBe(Species.KLEFKI); - expect(game.scene.getPlayerField()[1].species.speciesId).not.toBe(Species.TYRUNT); + expect(game.scene.getPlayerField()[0].species.speciesId).not.toBe(SpeciesId.KLEFKI); + expect(game.scene.getPlayerField()[1].species.speciesId).not.toBe(SpeciesId.TYRUNT); }); it("If a Pokemon faints and is replaced the replacement is also trapped", async () => { - game.override.moveset([Moves.FAIRY_LOCK, Moves.SPLASH, Moves.MEMENTO]); - await game.classicMode.startBattle([Species.KLEFKI, Species.GUZZLORD, Species.TYRUNT, Species.ZYGARDE]); + game.override.moveset([MoveId.FAIRY_LOCK, MoveId.SPLASH, MoveId.MEMENTO]); + await game.classicMode.startBattle([SpeciesId.KLEFKI, SpeciesId.GUZZLORD, SpeciesId.TYRUNT, SpeciesId.ZYGARDE]); - game.move.select(Moves.FAIRY_LOCK); - game.move.select(Moves.MEMENTO, 1); + game.move.select(MoveId.FAIRY_LOCK); + game.move.select(MoveId.MEMENTO, 1); game.doSelectPartyPokemon(2); - await game.move.selectEnemyMove(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.FAIRY_LOCK, ArenaTagSide.PLAYER)).toBeDefined(); expect(game.scene.arena.getTagOnSide(ArenaTagType.FAIRY_LOCK, ArenaTagSide.ENEMY)).toBeDefined(); await game.toNextTurn(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerField()[0].isTrapped()).toEqual(true); expect(game.scene.getPlayerField()[1].isTrapped()).toEqual(true); diff --git a/test/moves/fake_out.test.ts b/test/moves/fake_out.test.ts index 404473c8fa0..95f69fe792e 100644 --- a/test/moves/fake_out.test.ts +++ b/test/moves/fake_out.test.ts @@ -1,6 +1,6 @@ import GameManager from "#test/testUtils/gameManager"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -22,26 +22,26 @@ describe("Moves - Fake Out", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.CORVIKNIGHT) - .moveset([Moves.FAKE_OUT, Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.CORVIKNIGHT) + .moveset([MoveId.FAKE_OUT, MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(10) .startingLevel(1) // prevent LevelUpPhase from happening .disableCrits(); }); it("should only work the first turn a pokemon is sent out in a battle", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const corv = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextTurn(); expect(corv.hp).toBeLessThan(corv.getMaxHp()); const postTurnOneHp = corv.hp; - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextTurn(); expect(corv.hp).toBe(postTurnOneHp); @@ -49,14 +49,14 @@ describe("Moves - Fake Out", () => { // This is a PokeRogue buff to Fake Out it("should succeed at the start of each new wave, even if user wasn't recalled", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); // set hp to 1 for easy knockout game.scene.getEnemyPokemon()!.hp = 1; - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextWave(); - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextTurn(); const corv = game.scene.getEnemyPokemon()!; @@ -66,14 +66,14 @@ describe("Moves - Fake Out", () => { // This is a PokeRogue buff to Fake Out it("should succeed at the start of each new wave, even if user wasn't recalled", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); // set hp to 1 for easy knockout game.scene.getEnemyPokemon()!.hp = 1; - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextWave(); - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextTurn(); const corv = game.scene.getEnemyPokemon()!; @@ -82,9 +82,9 @@ describe("Moves - Fake Out", () => { }); it("should succeed if recalled and sent back out", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextTurn(); const corv = game.scene.getEnemyPokemon()!; @@ -98,7 +98,7 @@ describe("Moves - Fake Out", () => { game.doSwitchPokemon(1); await game.toNextTurn(); - game.move.select(Moves.FAKE_OUT); + game.move.select(MoveId.FAKE_OUT); await game.toNextTurn(); expect(corv.hp).toBeLessThan(corv.getMaxHp()); diff --git a/test/moves/false_swipe.test.ts b/test/moves/false_swipe.test.ts index d6743477cae..48e4de6fb65 100644 --- a/test/moves/false_swipe.test.ts +++ b/test/moves/false_swipe.test.ts @@ -1,7 +1,7 @@ import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,31 +23,31 @@ describe("Moves - False Swipe", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.FALSE_SWIPE]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.FALSE_SWIPE]) + .ability(AbilityId.BALL_FETCH) .startingLevel(1000) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should reduce the target to 1 HP", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.toNextTurn(); - game.move.select(Moves.FALSE_SWIPE); + game.move.select(MoveId.FALSE_SWIPE); await game.phaseInterceptor.to("BerryPhase"); expect(enemy.hp).toBe(1); const falseSwipeHistory = player .getMoveHistory() - .every(turnMove => turnMove.move === Moves.FALSE_SWIPE && turnMove.result === MoveResult.SUCCESS); + .every(turnMove => turnMove.move === MoveId.FALSE_SWIPE && turnMove.result === MoveResult.SUCCESS); expect(falseSwipeHistory).toBe(true); }); }); diff --git a/test/moves/fell_stinger.test.ts b/test/moves/fell_stinger.test.ts index 50813029c05..d5081a3ba30 100644 --- a/test/moves/fell_stinger.test.ts +++ b/test/moves/fell_stinger.test.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; import { WeatherType } from "#app/enums/weather-type"; @@ -28,21 +28,21 @@ describe("Moves - Fell Stinger", () => { game.override .battleStyle("single") - .moveset([Moves.FELL_STINGER, Moves.SALT_CURE, Moves.BIND, Moves.LEECH_SEED]) + .moveset([MoveId.FELL_STINGER, MoveId.SALT_CURE, MoveId.BIND, MoveId.LEECH_SEED]) .startingLevel(50) .disableCrits() - .enemyAbility(Abilities.STURDY) - .enemySpecies(Species.HYPNO) - .enemyMoveset(Moves.SPLASH) + .enemyAbility(AbilityId.STURDY) + .enemySpecies(SpeciesId.HYPNO) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(5); }); it("should not grant stat boost if opponent gets KO'd by recoil", async () => { - game.override.enemyMoveset([Moves.DOUBLE_EDGE]); + game.override.enemyMoveset([MoveId.DOUBLE_EDGE]); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.FELL_STINGER); + game.move.select(MoveId.FELL_STINGER); await game.phaseInterceptor.to("VictoryPhase"); @@ -50,11 +50,11 @@ describe("Moves - Fell Stinger", () => { }); it("should not grant stat boost if enemy is KO'd by status effect", async () => { - game.override.enemyMoveset(Moves.SPLASH).enemyStatusEffect(StatusEffect.BURN); + game.override.enemyMoveset(MoveId.SPLASH).enemyStatusEffect(StatusEffect.BURN); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.FELL_STINGER); + game.move.select(MoveId.FELL_STINGER); await game.phaseInterceptor.to("VictoryPhase"); @@ -64,10 +64,10 @@ describe("Moves - Fell Stinger", () => { it("should not grant stat boost if enemy is KO'd by damaging weather", async () => { game.override.weather(WeatherType.HAIL); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.FELL_STINGER); + game.move.select(MoveId.FELL_STINGER); await game.phaseInterceptor.to("VictoryPhase"); @@ -75,12 +75,12 @@ describe("Moves - Fell Stinger", () => { }); it("should not grant stat boost if enemy is KO'd by Dry Skin + Harsh Sunlight", async () => { - game.override.enemyPassiveAbility(Abilities.STURDY).enemyAbility(Abilities.DRY_SKIN).weather(WeatherType.HARSH_SUN); + game.override.enemyPassiveAbility(AbilityId.STURDY).enemyAbility(AbilityId.DRY_SKIN).weather(WeatherType.HARSH_SUN); - await game.challengeMode.startBattle([Species.LEAVANNY]); + await game.challengeMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.FELL_STINGER); + game.move.select(MoveId.FELL_STINGER); await game.phaseInterceptor.to("VictoryPhase"); @@ -88,11 +88,11 @@ describe("Moves - Fell Stinger", () => { }); it("should not grant stat boost if enemy is saved by Reviver Seed", async () => { - game.override.enemyAbility(Abilities.BALL_FETCH).enemyHeldItems([{ name: "REVIVER_SEED" }]); + game.override.enemyAbility(AbilityId.BALL_FETCH).enemyHeldItems([{ name: "REVIVER_SEED" }]); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.FELL_STINGER); + game.move.select(MoveId.FELL_STINGER); await game.phaseInterceptor.to("TurnEndPhase"); expect(leadPokemon.getStatStage(Stat.ATK)).toBe(0); @@ -100,23 +100,23 @@ describe("Moves - Fell Stinger", () => { it("should not grant stat boost if enemy is KO'd by Salt Cure", async () => { game.override.battleStyle("double").startingLevel(5); - const saltCure = allMoves[Moves.SALT_CURE]; - const fellStinger = allMoves[Moves.FELL_STINGER]; + const saltCure = allMoves[MoveId.SALT_CURE]; + const fellStinger = allMoves[MoveId.FELL_STINGER]; vi.spyOn(saltCure, "accuracy", "get").mockReturnValue(100); vi.spyOn(fellStinger, "power", "get").mockReturnValue(50000); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; const leftEnemy = game.scene.getEnemyField()[0]!; // Turn 1: set Salt Cure, enemy splashes and does nothing - game.move.select(Moves.SALT_CURE, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.SALT_CURE, 0, leftEnemy.getBattlerIndex()); // Turn 2: enemy Endures Fell Stinger, then dies to Salt Cure await game.toNextTurn(); expect(leftEnemy.isFainted()).toBe(false); leftEnemy.heal(leftEnemy.getMaxHp()); - game.move.select(Moves.FELL_STINGER); + game.move.select(MoveId.FELL_STINGER); await game.toNextTurn(); expect(leftEnemy.isFainted()).toBe(true); @@ -125,21 +125,21 @@ describe("Moves - Fell Stinger", () => { it("should not grant stat boost if enemy dies to Bind or a similar effect", async () => { game.override.battleStyle("double").startingLevel(5); - vi.spyOn(allMoves[Moves.BIND], "accuracy", "get").mockReturnValue(100); - vi.spyOn(allMoves[Moves.FELL_STINGER], "power", "get").mockReturnValue(50000); + vi.spyOn(allMoves[MoveId.BIND], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.FELL_STINGER], "power", "get").mockReturnValue(50000); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; const leftEnemy = game.scene.getEnemyField()[0]!; // Turn 1: set Bind, enemy splashes and does nothing - game.move.select(Moves.BIND, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.BIND, 0, leftEnemy.getBattlerIndex()); // Turn 2: enemy Endures Fell Stinger, then dies to Bind await game.toNextTurn(); expect(leftEnemy.isFainted()).toBe(false); leftEnemy.heal(leftEnemy.getMaxHp()); - game.move.select(Moves.FELL_STINGER, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.FELL_STINGER, 0, leftEnemy.getBattlerIndex()); await game.toNextTurn(); expect(leftEnemy.isFainted()).toBe(true); @@ -148,21 +148,21 @@ describe("Moves - Fell Stinger", () => { it("should not grant stat boost if enemy dies to Leech Seed", async () => { game.override.battleStyle("double").startingLevel(5); - vi.spyOn(allMoves[Moves.LEECH_SEED], "accuracy", "get").mockReturnValue(100); - vi.spyOn(allMoves[Moves.FELL_STINGER], "power", "get").mockReturnValue(50000); + vi.spyOn(allMoves[MoveId.LEECH_SEED], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.FELL_STINGER], "power", "get").mockReturnValue(50000); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon()!; const leftEnemy = game.scene.getEnemyField()[0]!; // Turn 1: set Leech Seed, enemy splashes and does nothing - game.move.select(Moves.LEECH_SEED, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.LEECH_SEED, 0, leftEnemy.getBattlerIndex()); // Turn 2: enemy Endures Fell Stinger, then dies to Leech Seed await game.toNextTurn(); expect(leftEnemy.isFainted()).toBe(false); leftEnemy.heal(leftEnemy.getMaxHp()); - game.move.select(Moves.FELL_STINGER, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.FELL_STINGER, 0, leftEnemy.getBattlerIndex()); await game.toNextTurn(); expect(leftEnemy.isFainted()).toBe(true); @@ -170,11 +170,11 @@ describe("Moves - Fell Stinger", () => { }); it("should grant stat boost if enemy dies directly to hit", async () => { - game.override.enemyAbility(Abilities.KLUTZ); + game.override.enemyAbility(AbilityId.KLUTZ); - await game.classicMode.startBattle([Species.LEAVANNY]); + await game.classicMode.startBattle([SpeciesId.LEAVANNY]); const leadPokemon = game.scene.getPlayerPokemon(); - game.move.select(Moves.FELL_STINGER); + game.move.select(MoveId.FELL_STINGER); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/moves/fillet_away.test.ts b/test/moves/fillet_away.test.ts index 9de237b28a1..a24b5c4ae04 100644 --- a/test/moves/fillet_away.test.ts +++ b/test/moves/fillet_away.test.ts @@ -1,7 +1,7 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { toDmgValue } from "#app/utils/common"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -28,23 +28,23 @@ describe("Moves - FILLET AWAY", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.starterSpecies(Species.MAGIKARP); - game.override.enemySpecies(Species.SNORLAX); + game.override.starterSpecies(SpeciesId.MAGIKARP); + game.override.enemySpecies(SpeciesId.SNORLAX); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.moveset([Moves.FILLET_AWAY]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.FILLET_AWAY]); + game.override.enemyMoveset(MoveId.SPLASH); }); //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/fillet_away_(move) test("raises the user's ATK, SPATK, and SPD stat stages by 2 each, at the cost of 1/2 of its maximum HP", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = toDmgValue(leadPokemon.getMaxHp() / RATIO); - game.move.select(Moves.FILLET_AWAY); + game.move.select(MoveId.FILLET_AWAY); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); @@ -54,7 +54,7 @@ describe("Moves - FILLET AWAY", () => { }); test("still takes effect if one or more of the involved stat stages are not at max", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = toDmgValue(leadPokemon.getMaxHp() / RATIO); @@ -63,7 +63,7 @@ describe("Moves - FILLET AWAY", () => { leadPokemon.setStatStage(Stat.ATK, 6); leadPokemon.setStatStage(Stat.SPATK, 3); - game.move.select(Moves.FILLET_AWAY); + game.move.select(MoveId.FILLET_AWAY); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp() - hpLost); @@ -73,7 +73,7 @@ describe("Moves - FILLET AWAY", () => { }); test("fails if all stat stages involved are at max", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; @@ -81,7 +81,7 @@ describe("Moves - FILLET AWAY", () => { leadPokemon.setStatStage(Stat.SPATK, 6); leadPokemon.setStatStage(Stat.SPD, 6); - game.move.select(Moves.FILLET_AWAY); + game.move.select(MoveId.FILLET_AWAY); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(leadPokemon.getMaxHp()); @@ -91,13 +91,13 @@ describe("Moves - FILLET AWAY", () => { }); test("fails if the user's health is less than 1/2", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const hpLost = toDmgValue(leadPokemon.getMaxHp() / RATIO); leadPokemon.hp = hpLost - PREDAMAGE; - game.move.select(Moves.FILLET_AWAY); + game.move.select(MoveId.FILLET_AWAY); await game.phaseInterceptor.to(TurnEndPhase); expect(leadPokemon.hp).toBe(hpLost - PREDAMAGE); diff --git a/test/moves/fissure.test.ts b/test/moves/fissure.test.ts index be6be079cf0..53327b505c4 100644 --- a/test/moves/fissure.test.ts +++ b/test/moves/fissure.test.ts @@ -1,10 +1,10 @@ import { Stat } from "#enums/stat"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,14 +31,14 @@ describe("Moves - Fissure", () => { game.override.battleStyle("single"); game.override.disableCrits(); - game.override.starterSpecies(Species.SNORLAX); - game.override.moveset([Moves.FISSURE]); - game.override.passiveAbility(Abilities.BALL_FETCH); + game.override.starterSpecies(SpeciesId.SNORLAX); + game.override.moveset([MoveId.FISSURE]); + game.override.passiveAbility(AbilityId.BALL_FETCH); game.override.startingLevel(100); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemyPassiveAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemyPassiveAbility(AbilityId.BALL_FETCH); game.override.enemyLevel(100); await game.classicMode.startBattle(); @@ -48,10 +48,10 @@ describe("Moves - Fissure", () => { }); it("ignores damage modification from abilities, for example FUR_COAT", async () => { - game.override.ability(Abilities.NO_GUARD); - game.override.enemyAbility(Abilities.FUR_COAT); + game.override.ability(AbilityId.NO_GUARD); + game.override.enemyAbility(AbilityId.FUR_COAT); - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); await game.phaseInterceptor.to(DamageAnimPhase, true); expect(enemyPokemon.isFainted()).toBe(true); @@ -62,7 +62,7 @@ describe("Moves - Fissure", () => { partyPokemon.setStatStage(Stat.ACC, -6); - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); // wait for TurnEndPhase instead of DamagePhase as fissure might not actually inflict damage await game.phaseInterceptor.to(TurnEndPhase); @@ -75,7 +75,7 @@ describe("Moves - Fissure", () => { enemyPokemon.setStatStage(Stat.EVA, 6); - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); // wait for TurnEndPhase instead of DamagePhase as fissure might not actually inflict damage await game.phaseInterceptor.to(TurnEndPhase); diff --git a/test/moves/flame_burst.test.ts b/test/moves/flame_burst.test.ts index 963b0f04a9a..1d61daaacb5 100644 --- a/test/moves/flame_burst.test.ts +++ b/test/moves/flame_burst.test.ts @@ -1,9 +1,9 @@ import { allAbilities } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -36,21 +36,21 @@ describe("Moves - Flame Burst", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.moveset([Moves.FLAME_BURST, Moves.SPLASH]); + game.override.moveset([MoveId.FLAME_BURST, MoveId.SPLASH]); game.override.disableCrits(); - game.override.ability(Abilities.UNNERVE); + game.override.ability(AbilityId.UNNERVE); game.override.startingWave(4); - game.override.enemySpecies(Species.SHUCKLE); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.enemyMoveset([Moves.SPLASH]); + game.override.enemySpecies(SpeciesId.SHUCKLE); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.enemyMoveset([MoveId.SPLASH]); }); it("inflicts damage to the target's ally equal to 1/16 of its max HP", async () => { - await game.classicMode.startBattle([Species.PIKACHU, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.PIKACHU]); const [leftEnemy, rightEnemy] = game.scene.getEnemyField(); - game.move.select(Moves.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(leftEnemy.hp).toBeLessThan(leftEnemy.getMaxHp()); @@ -58,13 +58,13 @@ describe("Moves - Flame Burst", () => { }); it("does not inflict damage to the target's ally if the target was not affected by Flame Burst", async () => { - game.override.enemyAbility(Abilities.FLASH_FIRE); + game.override.enemyAbility(AbilityId.FLASH_FIRE); - await game.classicMode.startBattle([Species.PIKACHU, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.PIKACHU]); const [leftEnemy, rightEnemy] = game.scene.getEnemyField(); - game.move.select(Moves.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(leftEnemy.hp).toBe(leftEnemy.getMaxHp()); @@ -72,13 +72,13 @@ describe("Moves - Flame Burst", () => { }); it("does not interact with the target ally's abilities", async () => { - await game.classicMode.startBattle([Species.PIKACHU, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.PIKACHU]); const [leftEnemy, rightEnemy] = game.scene.getEnemyField(); - vi.spyOn(rightEnemy, "getAbility").mockReturnValue(allAbilities[Abilities.FLASH_FIRE]); + vi.spyOn(rightEnemy, "getAbility").mockReturnValue(allAbilities[AbilityId.FLASH_FIRE]); - game.move.select(Moves.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(leftEnemy.hp).toBeLessThan(leftEnemy.getMaxHp()); @@ -86,13 +86,13 @@ describe("Moves - Flame Burst", () => { }); it("effect damage is prevented by Magic Guard", async () => { - await game.classicMode.startBattle([Species.PIKACHU, Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU, SpeciesId.PIKACHU]); const [leftEnemy, rightEnemy] = game.scene.getEnemyField(); - vi.spyOn(rightEnemy, "getAbility").mockReturnValue(allAbilities[Abilities.MAGIC_GUARD]); + vi.spyOn(rightEnemy, "getAbility").mockReturnValue(allAbilities[AbilityId.MAGIC_GUARD]); - game.move.select(Moves.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FLAME_BURST, 0, leftEnemy.getBattlerIndex()); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); expect(leftEnemy.hp).toBeLessThan(leftEnemy.getMaxHp()); diff --git a/test/moves/flower_shield.test.ts b/test/moves/flower_shield.test.ts index 30a367f873d..3561d396ef9 100644 --- a/test/moves/flower_shield.test.ts +++ b/test/moves/flower_shield.test.ts @@ -1,11 +1,11 @@ import { Stat } from "#enums/stat"; import { SemiInvulnerableTag } from "#app/data/battler-tags"; import { PokemonType } from "#enums/pokemon-type"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,24 +26,24 @@ describe("Moves - Flower Shield", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.ability(Abilities.NONE); - game.override.enemyAbility(Abilities.NONE); + game.override.ability(AbilityId.NONE); + game.override.enemyAbility(AbilityId.NONE); game.override.battleStyle("single"); - game.override.moveset([Moves.FLOWER_SHIELD, Moves.SPLASH]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.FLOWER_SHIELD, MoveId.SPLASH]); + game.override.enemyMoveset(MoveId.SPLASH); }); it("raises DEF stat stage by 1 for all Grass-type Pokemon on the field by one stage - single battle", async () => { - game.override.enemySpecies(Species.CHERRIM); + game.override.enemySpecies(SpeciesId.CHERRIM); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const cherrim = game.scene.getEnemyPokemon()!; const magikarp = game.scene.getPlayerPokemon()!; expect(magikarp.getStatStage(Stat.DEF)).toBe(0); expect(cherrim.getStatStage(Stat.DEF)).toBe(0); - game.move.select(Moves.FLOWER_SHIELD); + game.move.select(MoveId.FLOWER_SHIELD); await game.phaseInterceptor.to(TurnEndPhase); expect(magikarp.getStatStage(Stat.DEF)).toBe(0); @@ -51,9 +51,9 @@ describe("Moves - Flower Shield", () => { }); it("raises DEF stat stage by 1 for all Grass-type Pokemon on the field by one stage - double battle", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingBiome(Biome.GRASS).battleStyle("double"); + game.override.enemySpecies(SpeciesId.MAGIKARP).startingBiome(BiomeId.GRASS).battleStyle("double"); - await game.classicMode.startBattle([Species.CHERRIM, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.CHERRIM, SpeciesId.MAGIKARP]); const field = game.scene.getField(true); const grassPokemons = field.filter(p => p.getTypes().includes(PokemonType.GRASS)); @@ -62,8 +62,8 @@ describe("Moves - Flower Shield", () => { grassPokemons.forEach(p => expect(p.getStatStage(Stat.DEF)).toBe(0)); nonGrassPokemons.forEach(p => expect(p.getStatStage(Stat.DEF)).toBe(0)); - game.move.select(Moves.FLOWER_SHIELD); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FLOWER_SHIELD); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); grassPokemons.forEach(p => expect(p.getStatStage(Stat.DEF)).toBe(1)); @@ -74,9 +74,9 @@ describe("Moves - Flower Shield", () => { * See semi-vulnerable state tags. {@linkcode SemiInvulnerableTag} */ it("does not raise DEF stat stage for a Pokemon in semi-vulnerable state", async () => { - game.override.enemySpecies(Species.PARAS).enemyMoveset(Moves.DIG).enemyLevel(50); + game.override.enemySpecies(SpeciesId.PARAS).enemyMoveset(MoveId.DIG).enemyLevel(50); - await game.classicMode.startBattle([Species.CHERRIM]); + await game.classicMode.startBattle([SpeciesId.CHERRIM]); const paras = game.scene.getEnemyPokemon()!; const cherrim = game.scene.getPlayerPokemon()!; @@ -84,7 +84,7 @@ describe("Moves - Flower Shield", () => { expect(cherrim.getStatStage(Stat.DEF)).toBe(0); expect(paras.getTag(SemiInvulnerableTag)).toBeUndefined; - game.move.select(Moves.FLOWER_SHIELD); + game.move.select(MoveId.FLOWER_SHIELD); await game.phaseInterceptor.to(TurnEndPhase); expect(paras.getTag(SemiInvulnerableTag)).toBeDefined(); @@ -93,16 +93,16 @@ describe("Moves - Flower Shield", () => { }); it("does nothing if there are no Grass-type Pokemon on the field", async () => { - game.override.enemySpecies(Species.MAGIKARP); + game.override.enemySpecies(SpeciesId.MAGIKARP); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; const ally = game.scene.getPlayerPokemon()!; expect(enemy.getStatStage(Stat.DEF)).toBe(0); expect(ally.getStatStage(Stat.DEF)).toBe(0); - game.move.select(Moves.FLOWER_SHIELD); + game.move.select(MoveId.FLOWER_SHIELD); await game.phaseInterceptor.to(TurnEndPhase); expect(enemy.getStatStage(Stat.DEF)).toBe(0); diff --git a/test/moves/fly.test.ts b/test/moves/fly.test.ts index 81d04f53ff8..964d1b65a1e 100644 --- a/test/moves/fly.test.ts +++ b/test/moves/fly.test.ts @@ -1,9 +1,9 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { StatusEffect } from "#enums/status-effect"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -27,50 +27,50 @@ describe("Moves - Fly", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.FLY) + .moveset(MoveId.FLY) .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); - vi.spyOn(allMoves[Moves.FLY], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.FLY], "accuracy", "get").mockReturnValue(100); }); it("should make the user semi-invulnerable, then attack over 2 turns", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FLY); + game.move.select(MoveId.FLY); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.FLYING)).toBeDefined(); expect(enemyPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.MISS); expect(playerPokemon.hp).toBe(playerPokemon.getMaxHp()); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - expect(playerPokemon.getMoveQueue()[0].move).toBe(Moves.FLY); + expect(playerPokemon.getMoveQueue()[0].move).toBe(MoveId.FLY); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.FLYING)).toBeUndefined(); expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); expect(playerPokemon.getMoveHistory()).toHaveLength(2); - const playerFly = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.FLY); + const playerFly = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.FLY); expect(playerFly?.ppUsed).toBe(1); }); it("should not allow the user to evade attacks from Pokemon with No Guard", async () => { - game.override.enemyAbility(Abilities.NO_GUARD); + game.override.enemyAbility(AbilityId.NO_GUARD); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FLY); + game.move.select(MoveId.FLY); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp()); @@ -78,43 +78,43 @@ describe("Moves - Fly", () => { }); it("should not expend PP when the attack phase is cancelled", async () => { - game.override.enemyAbility(Abilities.NO_GUARD).enemyMoveset(Moves.SPORE); + game.override.enemyAbility(AbilityId.NO_GUARD).enemyMoveset(MoveId.SPORE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.FLY); + game.move.select(MoveId.FLY); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.FLYING)).toBeUndefined(); expect(playerPokemon.status?.effect).toBe(StatusEffect.SLEEP); - const playerFly = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.FLY); + const playerFly = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.FLY); expect(playerFly?.ppUsed).toBe(0); }); it("should be cancelled when another Pokemon uses Gravity", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.GRAVITY]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.GRAVITY]); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FLY); + game.move.select(MoveId.FLY); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); - await game.move.selectEnemyMove(Moves.GRAVITY); + await game.move.selectEnemyMove(MoveId.GRAVITY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.FAIL); expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); - const playerFly = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.FLY); + const playerFly = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.FLY); expect(playerFly?.ppUsed).toBe(0); }); }); diff --git a/test/moves/focus_punch.test.ts b/test/moves/focus_punch.test.ts index e05eb008af7..9734f9f6422 100644 --- a/test/moves/focus_punch.test.ts +++ b/test/moves/focus_punch.test.ts @@ -3,9 +3,9 @@ import { MessagePhase } from "#app/phases/message-phase"; import { MoveHeaderPhase } from "#app/phases/move-header-phase"; import { SwitchSummonPhase } from "#app/phases/switch-summon-phase"; import { TurnStartPhase } from "#app/phases/turn-start-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import i18next from "i18next"; import Phaser from "phaser"; @@ -29,24 +29,24 @@ describe("Moves - Focus Punch", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .ability(Abilities.UNNERVE) - .moveset([Moves.FOCUS_PUNCH]) - .enemySpecies(Species.GROUDON) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset(Moves.SPLASH) + .ability(AbilityId.UNNERVE) + .moveset([MoveId.FOCUS_PUNCH]) + .enemySpecies(SpeciesId.GROUDON) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset(MoveId.SPLASH) .startingLevel(100) .enemyLevel(100); }); it("should deal damage at the end of turn if uninterrupted", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyStartingHp = enemyPokemon.hp; - game.move.select(Moves.FOCUS_PUNCH); + game.move.select(MoveId.FOCUS_PUNCH); await game.phaseInterceptor.to(MessagePhase); @@ -61,16 +61,16 @@ describe("Moves - Focus Punch", () => { }); it("should fail if the user is hit", async () => { - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyStartingHp = enemyPokemon.hp; - game.move.select(Moves.FOCUS_PUNCH); + game.move.select(MoveId.FOCUS_PUNCH); await game.phaseInterceptor.to(MessagePhase); @@ -85,14 +85,14 @@ describe("Moves - Focus Punch", () => { }); it("should be cancelled if the user falls asleep mid-turn", async () => { - game.override.enemyMoveset([Moves.SPORE]); + game.override.enemyMoveset([MoveId.SPORE]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FOCUS_PUNCH); + game.move.select(MoveId.FOCUS_PUNCH); await game.phaseInterceptor.to(MessagePhase); // Header message @@ -108,10 +108,10 @@ describe("Moves - Focus Punch", () => { /** Guarantee a Trainer battle with multiple enemy Pokemon */ game.override.startingWave(25); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); game.forceEnemyToSwitch(); - game.move.select(Moves.FOCUS_PUNCH); + game.move.select(MoveId.FOCUS_PUNCH); await game.phaseInterceptor.to(TurnStartPhase); @@ -119,10 +119,10 @@ describe("Moves - Focus Punch", () => { expect(game.scene.phaseQueue.find(phase => phase instanceof MoveHeaderPhase)).toBeDefined(); }); it("should replace the 'but it failed' text when the user gets hit", async () => { - game.override.enemyMoveset([Moves.TACKLE]); - await game.classicMode.startBattle([Species.CHARIZARD]); + game.override.enemyMoveset([MoveId.TACKLE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); - game.move.select(Moves.FOCUS_PUNCH); + game.move.select(MoveId.FOCUS_PUNCH); await game.phaseInterceptor.to("MoveEndPhase", true); await game.phaseInterceptor.to("MessagePhase", false); const consoleSpy = vi.spyOn(console, "log"); diff --git a/test/moves/follow_me.test.ts b/test/moves/follow_me.test.ts index 228a835b17d..567320a18e9 100644 --- a/test/moves/follow_me.test.ts +++ b/test/moves/follow_me.test.ts @@ -1,9 +1,9 @@ import { Stat } from "#enums/stat"; import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; @@ -25,26 +25,26 @@ describe("Moves - Follow Me", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.starterSpecies(Species.AMOONGUSS); - game.override.ability(Abilities.BALL_FETCH); - game.override.enemySpecies(Species.SNORLAX); + game.override.starterSpecies(SpeciesId.AMOONGUSS); + game.override.ability(AbilityId.BALL_FETCH); + game.override.enemySpecies(SpeciesId.SNORLAX); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.moveset([Moves.FOLLOW_ME, Moves.RAGE_POWDER, Moves.SPOTLIGHT, Moves.QUICK_ATTACK]); - game.override.enemyMoveset([Moves.TACKLE, Moves.FOLLOW_ME, Moves.SPLASH]); + game.override.moveset([MoveId.FOLLOW_ME, MoveId.RAGE_POWDER, MoveId.SPOTLIGHT, MoveId.QUICK_ATTACK]); + game.override.enemyMoveset([MoveId.TACKLE, MoveId.FOLLOW_ME, MoveId.SPLASH]); }); test("move should redirect enemy attacks to the user", async () => { - await game.classicMode.startBattle([Species.AMOONGUSS, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.FOLLOW_ME); - game.move.select(Moves.QUICK_ATTACK, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.FOLLOW_ME); + game.move.select(MoveId.QUICK_ATTACK, 1, BattlerIndex.ENEMY); // Force both enemies to target the player Pokemon that did not use Follow Me - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to(TurnEndPhase, false); @@ -53,16 +53,16 @@ describe("Moves - Follow Me", () => { }); test("move should redirect enemy attacks to the first ally that uses it", async () => { - await game.classicMode.startBattle([Species.AMOONGUSS, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.FOLLOW_ME); - game.move.select(Moves.FOLLOW_ME, 1); + game.move.select(MoveId.FOLLOW_ME); + game.move.select(MoveId.FOLLOW_ME, 1); // Each player is targeted by an enemy - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to(TurnEndPhase, false); @@ -73,19 +73,19 @@ describe("Moves - Follow Me", () => { }); test("move effect should be bypassed by Stalwart", async () => { - game.override.ability(Abilities.STALWART); - game.override.moveset([Moves.QUICK_ATTACK]); + game.override.ability(AbilityId.STALWART); + game.override.moveset([MoveId.QUICK_ATTACK]); - await game.classicMode.startBattle([Species.AMOONGUSS, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.QUICK_ATTACK, 0, BattlerIndex.ENEMY); - game.move.select(Moves.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.QUICK_ATTACK, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); // Target doesn't need to be specified if the move is self-targeted - await game.move.selectEnemyMove(Moves.FOLLOW_ME); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.FOLLOW_ME); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase, false); @@ -95,17 +95,17 @@ describe("Moves - Follow Me", () => { }); test("move effect should be bypassed by Snipe Shot", async () => { - game.override.moveset([Moves.SNIPE_SHOT]); + game.override.moveset([MoveId.SNIPE_SHOT]); - await game.classicMode.startBattle([Species.AMOONGUSS, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SNIPE_SHOT, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SNIPE_SHOT, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SNIPE_SHOT, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SNIPE_SHOT, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.FOLLOW_ME); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.FOLLOW_ME); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase, false); diff --git a/test/moves/foresight.test.ts b/test/moves/foresight.test.ts index 82a39eceae5..a30b4d6a444 100644 --- a/test/moves/foresight.test.ts +++ b/test/moves/foresight.test.ts @@ -1,5 +1,5 @@ -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,11 +23,11 @@ describe("Moves - Foresight", () => { game = new GameManager(phaserGame); game.override .disableCrits() - .enemySpecies(Species.GASTLY) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.GASTLY) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(5) - .starterSpecies(Species.MAGIKARP) - .moveset([Moves.FORESIGHT, Moves.QUICK_ATTACK, Moves.MACH_PUNCH]); + .starterSpecies(SpeciesId.MAGIKARP) + .moveset([MoveId.FORESIGHT, MoveId.QUICK_ATTACK, MoveId.MACH_PUNCH]); }); it("should allow Normal and Fighting moves to hit Ghost types", async () => { @@ -35,34 +35,34 @@ describe("Moves - Foresight", () => { const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.QUICK_ATTACK); + game.move.select(MoveId.QUICK_ATTACK); await game.toNextTurn(); expect(enemy.hp).toBe(enemy.getMaxHp()); - game.move.select(Moves.FORESIGHT); + game.move.select(MoveId.FORESIGHT); await game.toNextTurn(); - game.move.select(Moves.QUICK_ATTACK); + game.move.select(MoveId.QUICK_ATTACK); await game.toNextTurn(); expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); enemy.hp = enemy.getMaxHp(); - game.move.select(Moves.MACH_PUNCH); + game.move.select(MoveId.MACH_PUNCH); await game.phaseInterceptor.to(MoveEffectPhase); expect(enemy.hp).toBeLessThan(enemy.getMaxHp()); }); it("should ignore target's evasiveness boosts", async () => { - game.override.enemyMoveset([Moves.MINIMIZE]); + game.override.enemyMoveset([MoveId.MINIMIZE]); await game.classicMode.startBattle(); const pokemon = game.scene.getPlayerPokemon()!; vi.spyOn(pokemon, "getAccuracyMultiplier"); - game.move.select(Moves.FORESIGHT); + game.move.select(MoveId.FORESIGHT); await game.toNextTurn(); - game.move.select(Moves.QUICK_ATTACK); + game.move.select(MoveId.QUICK_ATTACK); await game.phaseInterceptor.to(MoveEffectPhase); expect(pokemon.getAccuracyMultiplier).toHaveReturnedWith(1); diff --git a/test/moves/forests_curse.test.ts b/test/moves/forests_curse.test.ts index f363fdbd19d..77fec5d277d 100644 --- a/test/moves/forests_curse.test.ts +++ b/test/moves/forests_curse.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { PokemonType } from "#enums/pokemon-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,24 +23,24 @@ describe("Moves - Forest's Curse", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.FORESTS_CURSE, Moves.TRICK_OR_TREAT]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.FORESTS_CURSE, MoveId.TRICK_OR_TREAT]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("will replace the added type from Trick Or Treat", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemyPokemon = game.scene.getEnemyPokemon(); - game.move.select(Moves.TRICK_OR_TREAT); + game.move.select(MoveId.TRICK_OR_TREAT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon!.summonData.addedType).toBe(PokemonType.GHOST); - game.move.select(Moves.FORESTS_CURSE); + game.move.select(MoveId.FORESTS_CURSE); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon?.summonData.addedType).toBe(PokemonType.GRASS); }); diff --git a/test/moves/freeze_dry.test.ts b/test/moves/freeze_dry.test.ts index 62168afb960..dc6af507b16 100644 --- a/test/moves/freeze_dry.test.ts +++ b/test/moves/freeze_dry.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { PokemonType } from "#enums/pokemon-type"; import { Challenges } from "#enums/challenges"; import GameManager from "#test/testUtils/gameManager"; @@ -25,12 +25,12 @@ describe("Moves - Freeze-Dry", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .starterSpecies(Species.FEEBAS) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.FREEZE_DRY, Moves.FORESTS_CURSE, Moves.SOAK]); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .starterSpecies(SpeciesId.FEEBAS) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.FREEZE_DRY, MoveId.FORESTS_CURSE, MoveId.SOAK]); }); it("should deal 2x damage to pure water types", async () => { @@ -39,7 +39,7 @@ describe("Moves - Freeze-Dry", () => { const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -47,13 +47,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 4x damage to water/flying types", async () => { - game.override.enemySpecies(Species.WINGULL); + game.override.enemySpecies(SpeciesId.WINGULL); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -61,13 +61,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 1x damage to water/fire types", async () => { - game.override.enemySpecies(Species.VOLCANION); + game.override.enemySpecies(SpeciesId.VOLCANION); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -79,20 +79,20 @@ describe("Moves - Freeze-Dry", () => { */ it("should deal 2x dmg against soaked wonder guard target", async () => { game.override - .enemySpecies(Species.SHEDINJA) - .enemyMoveset(Moves.SPLASH) - .starterSpecies(Species.MAGIKARP) - .moveset([Moves.SOAK, Moves.FREEZE_DRY]); + .enemySpecies(SpeciesId.SHEDINJA) + .enemyMoveset(MoveId.SPLASH) + .starterSpecies(SpeciesId.MAGIKARP) + .moveset([MoveId.SOAK, MoveId.FREEZE_DRY]); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.SOAK); + game.move.select(MoveId.SOAK); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.phaseInterceptor.to("MoveEffectPhase"); expect(enemy.getMoveEffectiveness).toHaveReturnedWith(2); @@ -100,16 +100,16 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 8x damage to water/ground/grass type under Forest's Curse", async () => { - game.override.enemySpecies(Species.QUAGSIRE); + game.override.enemySpecies(SpeciesId.QUAGSIRE); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FORESTS_CURSE); + game.move.select(MoveId.FORESTS_CURSE); await game.toNextTurn(); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -117,7 +117,7 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 2x damage to steel type terastallized into water", async () => { - game.override.enemySpecies(Species.SKARMORY); + game.override.enemySpecies(SpeciesId.SKARMORY); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; @@ -125,7 +125,7 @@ describe("Moves - Freeze-Dry", () => { enemy.isTerastallized = true; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -133,7 +133,7 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 0.5x damage to water type terastallized into fire", async () => { - game.override.enemySpecies(Species.PELIPPER); + game.override.enemySpecies(SpeciesId.PELIPPER); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; @@ -141,7 +141,7 @@ describe("Moves - Freeze-Dry", () => { enemy.isTerastallized = true; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -149,16 +149,16 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 0.5x damage to water type Terapagos with Tera Shell", async () => { - game.override.enemySpecies(Species.TERAPAGOS).enemyAbility(Abilities.TERA_SHELL); + game.override.enemySpecies(SpeciesId.TERAPAGOS).enemyAbility(AbilityId.TERA_SHELL); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.SOAK); + game.move.select(MoveId.SOAK); await game.toNextTurn(); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -166,13 +166,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 2x damage to water type under Normalize", async () => { - game.override.ability(Abilities.NORMALIZE); + game.override.ability(AbilityId.NORMALIZE); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -180,13 +180,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 0.25x damage to rock/steel type under Normalize", async () => { - game.override.ability(Abilities.NORMALIZE).enemySpecies(Species.SHIELDON); + game.override.ability(AbilityId.NORMALIZE).enemySpecies(SpeciesId.SHIELDON); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -194,13 +194,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 0x damage to water/ghost type under Normalize", async () => { - game.override.ability(Abilities.NORMALIZE).enemySpecies(Species.JELLICENT); + game.override.ability(AbilityId.NORMALIZE).enemySpecies(SpeciesId.JELLICENT); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase"); @@ -208,13 +208,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 2x damage to water type under Electrify", async () => { - game.override.enemyMoveset([Moves.ELECTRIFY]); + game.override.enemyMoveset([MoveId.ELECTRIFY]); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); @@ -222,13 +222,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 4x damage to water/flying type under Electrify", async () => { - game.override.enemyMoveset([Moves.ELECTRIFY]).enemySpecies(Species.GYARADOS); + game.override.enemyMoveset([MoveId.ELECTRIFY]).enemySpecies(SpeciesId.GYARADOS); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); @@ -236,13 +236,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 0x damage to water/ground type under Electrify", async () => { - game.override.enemyMoveset([Moves.ELECTRIFY]).enemySpecies(Species.BARBOACH); + game.override.enemyMoveset([MoveId.ELECTRIFY]).enemySpecies(SpeciesId.BARBOACH); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); @@ -250,13 +250,13 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 0.25x damage to Grass/Dragon type under Electrify", async () => { - game.override.enemyMoveset([Moves.ELECTRIFY]).enemySpecies(Species.FLAPPLE); + game.override.enemyMoveset([MoveId.ELECTRIFY]).enemySpecies(SpeciesId.FLAPPLE); await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); @@ -264,7 +264,7 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 2x damage to Water type during inverse battle", async () => { - game.override.moveset([Moves.FREEZE_DRY]).enemySpecies(Species.MAGIKARP); + game.override.moveset([MoveId.FREEZE_DRY]).enemySpecies(SpeciesId.MAGIKARP); game.challengeMode.addChallenge(Challenges.INVERSE_BATTLE, 1, 1); await game.challengeMode.startBattle(); @@ -272,7 +272,7 @@ describe("Moves - Freeze-Dry", () => { const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -280,7 +280,7 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 2x damage to Water type during inverse battle under Normalize", async () => { - game.override.moveset([Moves.FREEZE_DRY]).ability(Abilities.NORMALIZE).enemySpecies(Species.MAGIKARP); + game.override.moveset([MoveId.FREEZE_DRY]).ability(AbilityId.NORMALIZE).enemySpecies(SpeciesId.MAGIKARP); game.challengeMode.addChallenge(Challenges.INVERSE_BATTLE, 1, 1); await game.challengeMode.startBattle(); @@ -288,7 +288,7 @@ describe("Moves - Freeze-Dry", () => { const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -296,7 +296,7 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 2x damage to Water type during inverse battle under Electrify", async () => { - game.override.moveset([Moves.FREEZE_DRY]).enemySpecies(Species.MAGIKARP).enemyMoveset([Moves.ELECTRIFY]); + game.override.moveset([MoveId.FREEZE_DRY]).enemySpecies(SpeciesId.MAGIKARP).enemyMoveset([MoveId.ELECTRIFY]); game.challengeMode.addChallenge(Challenges.INVERSE_BATTLE, 1, 1); await game.challengeMode.startBattle(); @@ -304,7 +304,7 @@ describe("Moves - Freeze-Dry", () => { const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -312,7 +312,7 @@ describe("Moves - Freeze-Dry", () => { }); it("should deal 1x damage to water/flying type during inverse battle under Electrify", async () => { - game.override.enemyMoveset([Moves.ELECTRIFY]).enemySpecies(Species.GYARADOS); + game.override.enemyMoveset([MoveId.ELECTRIFY]).enemySpecies(SpeciesId.GYARADOS); game.challengeMode.addChallenge(Challenges.INVERSE_BATTLE, 1, 1); @@ -321,7 +321,7 @@ describe("Moves - Freeze-Dry", () => { const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.FREEZE_DRY); + game.move.select(MoveId.FREEZE_DRY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/freezy_frost.test.ts b/test/moves/freezy_frost.test.ts index 2b2e06bfe74..55f67de085f 100644 --- a/test/moves/freezy_frost.test.ts +++ b/test/moves/freezy_frost.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,29 +25,29 @@ describe("Moves - Freezy Frost", () => { game.override .battleStyle("single") - .enemySpecies(Species.RATTATA) + .enemySpecies(SpeciesId.RATTATA) .enemyLevel(100) - .enemyMoveset(Moves.HOWL) - .enemyAbility(Abilities.BALL_FETCH) + .enemyMoveset(MoveId.HOWL) + .enemyAbility(AbilityId.BALL_FETCH) .startingLevel(100) - .moveset([Moves.FREEZY_FROST, Moves.HOWL, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH); + .moveset([MoveId.FREEZY_FROST, MoveId.HOWL, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH); - vi.spyOn(allMoves[Moves.FREEZY_FROST], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.FREEZY_FROST], "accuracy", "get").mockReturnValue(100); }); it("should clear stat changes of user and opponent", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const user = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.HOWL); + game.move.select(MoveId.HOWL); await game.toNextTurn(); expect(user.getStatStage(Stat.ATK)).toBe(1); expect(enemy.getStatStage(Stat.ATK)).toBe(1); - game.move.select(Moves.FREEZY_FROST); + game.move.select(MoveId.FREEZY_FROST); await game.toNextTurn(); expect(user.getStatStage(Stat.ATK)).toBe(0); @@ -55,30 +55,30 @@ describe("Moves - Freezy Frost", () => { }); it("should clear all stat changes even when enemy uses the move", async () => { - game.override.enemyMoveset(Moves.FREEZY_FROST); - await game.classicMode.startBattle([Species.SHUCKLE]); // Shuckle for slower Howl on first turn so Freezy Frost doesn't affect it. + game.override.enemyMoveset(MoveId.FREEZY_FROST); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); // Shuckle for slower Howl on first turn so Freezy Frost doesn't affect it. const user = game.scene.getPlayerPokemon()!; - game.move.select(Moves.HOWL); + game.move.select(MoveId.HOWL); await game.toNextTurn(); const userAtkBefore = user.getStatStage(Stat.ATK); expect(userAtkBefore).toBe(1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(user.getStatStage(Stat.ATK)).toBe(0); }); it("should clear all stat changes in double battle", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.SHUCKLE, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer] = game.scene.getPlayerField(); const [leftOpp, rightOpp] = game.scene.getEnemyField(); - game.move.select(Moves.HOWL, 0); + game.move.select(MoveId.HOWL, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.getStatStage(Stat.ATK)).toBe(1); @@ -86,9 +86,9 @@ describe("Moves - Freezy Frost", () => { expect(leftOpp.getStatStage(Stat.ATK)).toBe(2); // Both enemies use Howl expect(rightOpp.getStatStage(Stat.ATK)).toBe(2); - game.move.select(Moves.FREEZY_FROST, 0, leftOpp.getBattlerIndex()); + game.move.select(MoveId.FREEZY_FROST, 0, leftOpp.getBattlerIndex()); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.getStatStage(Stat.ATK)).toBe(0); diff --git a/test/moves/fusion_bolt.test.ts b/test/moves/fusion_bolt.test.ts index 3fc8dae1b85..a5263bfa364 100644 --- a/test/moves/fusion_bolt.test.ts +++ b/test/moves/fusion_bolt.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -9,7 +9,7 @@ describe("Moves - Fusion Bolt", () => { let phaserGame: Phaser.Game; let game: GameManager; - const fusionBolt = Moves.FUSION_BOLT; + const fusionBolt = MoveId.FUSION_BOLT; beforeAll(() => { phaserGame = new Phaser.Game({ @@ -26,16 +26,16 @@ describe("Moves - Fusion Bolt", () => { game.override .moveset([fusionBolt]) .startingLevel(1) - .enemySpecies(Species.RESHIRAM) - .enemyAbility(Abilities.ROUGH_SKIN) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.RESHIRAM) + .enemyAbility(AbilityId.ROUGH_SKIN) + .enemyMoveset(MoveId.SPLASH) .battleStyle("single") .startingWave(97) .disableCrits(); }); it("should not make contact", async () => { - await game.classicMode.startBattle([Species.ZEKROM]); + await game.classicMode.startBattle([SpeciesId.ZEKROM]); const partyMember = game.scene.getPlayerPokemon()!; const initialHp = partyMember.hp; diff --git a/test/moves/fusion_flare.test.ts b/test/moves/fusion_flare.test.ts index 9f16b94da5c..df6d390686f 100644 --- a/test/moves/fusion_flare.test.ts +++ b/test/moves/fusion_flare.test.ts @@ -1,6 +1,6 @@ import { TurnStartPhase } from "#app/phases/turn-start-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -10,7 +10,7 @@ describe("Moves - Fusion Flare", () => { let phaserGame: Phaser.Game; let game: GameManager; - const fusionFlare = Moves.FUSION_FLARE; + const fusionFlare = MoveId.FUSION_FLARE; beforeAll(() => { phaserGame = new Phaser.Game({ @@ -27,15 +27,15 @@ describe("Moves - Fusion Flare", () => { game.override .moveset([fusionFlare]) .startingLevel(1) - .enemySpecies(Species.RATTATA) - .enemyMoveset(Moves.REST) + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset(MoveId.REST) .battleStyle("single") .startingWave(97) .disableCrits(); }); it("should thaw freeze status condition", async () => { - await game.classicMode.startBattle([Species.RESHIRAM]); + await game.classicMode.startBattle([SpeciesId.RESHIRAM]); const partyMember = game.scene.getPlayerPokemon()!; diff --git a/test/moves/fusion_flare_bolt.test.ts b/test/moves/fusion_flare_bolt.test.ts index 2b66a1a6d2f..bceb2c862b5 100644 --- a/test/moves/fusion_flare_bolt.test.ts +++ b/test/moves/fusion_flare_bolt.test.ts @@ -6,8 +6,8 @@ import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; import { MovePhase } from "#app/phases/move-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -30,14 +30,14 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }); beforeEach(() => { - fusionFlare = allMoves[Moves.FUSION_FLARE]; - fusionBolt = allMoves[Moves.FUSION_BOLT]; + fusionFlare = allMoves[MoveId.FUSION_FLARE]; + fusionBolt = allMoves[MoveId.FUSION_BOLT]; game = new GameManager(phaserGame); game.override .moveset([fusionFlare.id, fusionBolt.id]) .startingLevel(1) - .enemySpecies(Species.RESHIRAM) - .enemyMoveset(Moves.REST) + .enemySpecies(SpeciesId.RESHIRAM) + .enemyMoveset(MoveId.REST) .battleStyle("double") .startingWave(97) .disableCrits(); @@ -47,7 +47,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }); it("FUSION_FLARE should double power of subsequent FUSION_BOLT", async () => { - await game.classicMode.startBattle([Species.ZEKROM, Species.ZEKROM]); + await game.classicMode.startBattle([SpeciesId.ZEKROM, SpeciesId.ZEKROM]); game.move.select(fusionFlare.id, 0, BattlerIndex.ENEMY); game.move.select(fusionBolt.id, 1, BattlerIndex.ENEMY); @@ -67,7 +67,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }, 20000); it("FUSION_BOLT should double power of subsequent FUSION_FLARE", async () => { - await game.classicMode.startBattle([Species.ZEKROM, Species.ZEKROM]); + await game.classicMode.startBattle([SpeciesId.ZEKROM, SpeciesId.ZEKROM]); game.move.select(fusionBolt.id, 0, BattlerIndex.ENEMY); game.move.select(fusionFlare.id, 1, BattlerIndex.ENEMY); @@ -87,7 +87,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }, 20000); it("FUSION_FLARE should double power of subsequent FUSION_BOLT if a move failed in between", async () => { - await game.classicMode.startBattle([Species.ZEKROM, Species.ZEKROM]); + await game.classicMode.startBattle([SpeciesId.ZEKROM, SpeciesId.ZEKROM]); game.move.select(fusionFlare.id, 0, BattlerIndex.PLAYER); game.move.select(fusionBolt.id, 1, BattlerIndex.PLAYER); @@ -112,8 +112,8 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }, 20000); it("FUSION_FLARE should not double power of subsequent FUSION_BOLT if a move succeeded in between", async () => { - game.override.enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.ZEKROM, Species.ZEKROM]); + game.override.enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.ZEKROM, SpeciesId.ZEKROM]); game.move.select(fusionFlare.id, 0, BattlerIndex.ENEMY); game.move.select(fusionBolt.id, 1, BattlerIndex.ENEMY); @@ -137,7 +137,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }, 20000); it("FUSION_FLARE should double power of subsequent FUSION_BOLT if moves are aimed at allies", async () => { - await game.classicMode.startBattle([Species.ZEKROM, Species.RESHIRAM]); + await game.classicMode.startBattle([SpeciesId.ZEKROM, SpeciesId.RESHIRAM]); game.move.select(fusionBolt.id, 0, BattlerIndex.PLAYER_2); game.move.select(fusionFlare.id, 1, BattlerIndex.PLAYER); @@ -158,7 +158,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { it("FUSION_FLARE and FUSION_BOLT alternating throughout turn should double power of subsequent moves", async () => { game.override.enemyMoveset(fusionFlare.id); - await game.classicMode.startBattle([Species.ZEKROM, Species.ZEKROM]); + await game.classicMode.startBattle([SpeciesId.ZEKROM, SpeciesId.ZEKROM]); const party = game.scene.getPlayerParty(); const enemyParty = game.scene.getEnemyParty(); @@ -212,7 +212,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { it("FUSION_FLARE and FUSION_BOLT alternating throughout turn should double power of subsequent moves if moves are aimed at allies", async () => { game.override.enemyMoveset(fusionFlare.id); - await game.classicMode.startBattle([Species.ZEKROM, Species.ZEKROM]); + await game.classicMode.startBattle([SpeciesId.ZEKROM, SpeciesId.ZEKROM]); const party = game.scene.getPlayerParty(); const enemyParty = game.scene.getEnemyParty(); diff --git a/test/moves/future_sight.test.ts b/test/moves/future_sight.test.ts index 48be2451195..7de70a88d10 100644 --- a/test/moves/future_sight.test.ts +++ b/test/moves/future_sight.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,21 +23,21 @@ describe("Moves - Future Sight", () => { game = new GameManager(phaserGame); game.override .startingLevel(50) - .moveset([Moves.FUTURE_SIGHT, Moves.SPLASH]) + .moveset([MoveId.FUTURE_SIGHT, MoveId.SPLASH]) .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.STURDY) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.STURDY) + .enemyMoveset(MoveId.SPLASH); }); it("hits 2 turns after use, ignores user switch out", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MILOTIC]); - game.move.select(Moves.FUTURE_SIGHT); + game.move.select(MoveId.FUTURE_SIGHT); await game.toNextTurn(); game.doSwitchPokemon(1); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.getEnemyPokemon()!.isFullHp()).toBe(false); diff --git a/test/moves/gastro_acid.test.ts b/test/moves/gastro_acid.test.ts index 333619d16db..6e06f441959 100644 --- a/test/moves/gastro_acid.test.ts +++ b/test/moves/gastro_acid.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,11 +25,11 @@ describe("Moves - Gastro Acid", () => { game.override.battleStyle("double"); game.override.startingLevel(1); game.override.enemyLevel(100); - game.override.ability(Abilities.BALL_FETCH); - game.override.moveset([Moves.GASTRO_ACID, Moves.WATER_GUN, Moves.SPLASH, Moves.CORE_ENFORCER]); - game.override.enemySpecies(Species.BIDOOF); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemyAbility(Abilities.WATER_ABSORB); + game.override.ability(AbilityId.BALL_FETCH); + game.override.moveset([MoveId.GASTRO_ACID, MoveId.WATER_GUN, MoveId.SPLASH, MoveId.CORE_ENFORCER]); + game.override.enemySpecies(SpeciesId.BIDOOF); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemyAbility(AbilityId.WATER_ABSORB); }); it("suppresses effect of ability", async () => { @@ -42,8 +42,8 @@ describe("Moves - Gastro Acid", () => { await game.classicMode.startBattle(); - game.move.select(Moves.GASTRO_ACID, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.GASTRO_ACID, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnInitPhase"); @@ -51,8 +51,8 @@ describe("Moves - Gastro Acid", () => { expect(enemyField[0].summonData.abilitySuppressed).toBe(true); expect(enemyField[1].summonData.abilitySuppressed).toBe(false); - game.move.select(Moves.WATER_GUN, 0, BattlerIndex.ENEMY); - game.move.select(Moves.WATER_GUN, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.WATER_GUN, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.WATER_GUN, 1, BattlerIndex.ENEMY_2); await game.phaseInterceptor.to("TurnEndPhase"); @@ -65,13 +65,13 @@ describe("Moves - Gastro Acid", () => { await game.classicMode.startBattle(); - game.move.select(Moves.CORE_ENFORCER); + game.move.select(MoveId.CORE_ENFORCER); // Force player to be slower to enable Core Enforcer to proc its suppression effect await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnInitPhase"); - game.move.select(Moves.GASTRO_ACID); + game.move.select(MoveId.GASTRO_ACID); await game.phaseInterceptor.to("TurnInitPhase"); @@ -80,22 +80,22 @@ describe("Moves - Gastro Acid", () => { it("should suppress the passive of a target even if its main ability is unsuppressable and not suppress main abli", async () => { game.override - .enemyAbility(Abilities.COMATOSE) - .enemyPassiveAbility(Abilities.WATER_ABSORB) - .moveset([Moves.SPLASH, Moves.GASTRO_ACID, Moves.WATER_GUN]); - await game.classicMode.startBattle([Species.MAGIKARP]); + .enemyAbility(AbilityId.COMATOSE) + .enemyPassiveAbility(AbilityId.WATER_ABSORB) + .moveset([MoveId.SPLASH, MoveId.GASTRO_ACID, MoveId.WATER_GUN]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon(); - game.move.select(Moves.GASTRO_ACID); + game.move.select(MoveId.GASTRO_ACID); await game.toNextTurn(); expect(enemyPokemon?.summonData.abilitySuppressed).toBe(true); - game.move.select(Moves.WATER_GUN); + game.move.select(MoveId.WATER_GUN); await game.toNextTurn(); expect(enemyPokemon?.getHpRatio()).toBeLessThan(1); - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.phaseInterceptor.to("BerryPhase"); expect(enemyPokemon?.status?.effect).toBeFalsy(); diff --git a/test/moves/geomancy.test.ts b/test/moves/geomancy.test.ts index 51659f01b12..16244fed93f 100644 --- a/test/moves/geomancy.test.ts +++ b/test/moves/geomancy.test.ts @@ -1,9 +1,9 @@ import type { EffectiveStat } from "#enums/stat"; import { Stat } from "#enums/stat"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -25,22 +25,22 @@ describe("Moves - Geomancy", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.GEOMANCY) + .moveset(MoveId.GEOMANCY) .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should boost the user's stats on the second turn of use", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const player = game.scene.getPlayerPokemon()!; const affectedStats: EffectiveStat[] = [Stat.SPATK, Stat.SPDEF, Stat.SPD]; - game.move.select(Moves.GEOMANCY); + game.move.select(MoveId.GEOMANCY); await game.phaseInterceptor.to("TurnEndPhase"); affectedStats.forEach(stat => expect(player.getStatStage(stat)).toBe(0)); @@ -51,17 +51,17 @@ describe("Moves - Geomancy", () => { expect(player.getMoveHistory()).toHaveLength(2); expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); - const playerGeomancy = player.getMoveset().find(mv => mv && mv.moveId === Moves.GEOMANCY); + const playerGeomancy = player.getMoveset().find(mv => mv && mv.moveId === MoveId.GEOMANCY); expect(playerGeomancy?.ppUsed).toBe(1); }); it("should execute over 2 turns between waves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const player = game.scene.getPlayerPokemon()!; const affectedStats: EffectiveStat[] = [Stat.SPATK, Stat.SPDEF, Stat.SPD]; - game.move.select(Moves.GEOMANCY); + game.move.select(MoveId.GEOMANCY); await game.phaseInterceptor.to("MoveEndPhase", false); await game.doKillOpponents(); @@ -73,7 +73,7 @@ describe("Moves - Geomancy", () => { expect(player.getMoveHistory()).toHaveLength(2); expect(player.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); - const playerGeomancy = player.getMoveset().find(mv => mv && mv.moveId === Moves.GEOMANCY); + const playerGeomancy = player.getMoveset().find(mv => mv && mv.moveId === MoveId.GEOMANCY); expect(playerGeomancy?.ppUsed).toBe(1); }); }); diff --git a/test/moves/gigaton_hammer.test.ts b/test/moves/gigaton_hammer.test.ts index 6275e5d2dcb..e61a383acc5 100644 --- a/test/moves/gigaton_hammer.test.ts +++ b/test/moves/gigaton_hammer.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import GameManager from "#test/testUtils/gameManager"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,12 +23,12 @@ describe("Moves - Gigaton Hammer", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .starterSpecies(Species.FEEBAS) - .moveset([Moves.GIGATON_HAMMER]) + .enemySpecies(SpeciesId.MAGIKARP) + .starterSpecies(SpeciesId.FEEBAS) + .moveset([MoveId.GIGATON_HAMMER]) .startingLevel(10) .enemyLevel(100) - .enemyMoveset(Moves.SPLASH) + .enemyMoveset(MoveId.SPLASH) .disableCrits(); }); @@ -37,7 +37,7 @@ describe("Moves - Gigaton Hammer", () => { const enemy1 = game.scene.getEnemyPokemon()!; - game.move.select(Moves.GIGATON_HAMMER); + game.move.select(MoveId.GIGATON_HAMMER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -46,7 +46,7 @@ describe("Moves - Gigaton Hammer", () => { await game.doKillOpponents(); await game.toNextWave(); - game.move.select(Moves.GIGATON_HAMMER); + game.move.select(MoveId.GIGATON_HAMMER); await game.toNextTurn(); const enemy2 = game.scene.getEnemyPokemon()!; @@ -60,7 +60,7 @@ describe("Moves - Gigaton Hammer", () => { const enemy1 = game.scene.getEnemyPokemon()!; - game.move.select(Moves.GIGATON_HAMMER); + game.move.select(MoveId.GIGATON_HAMMER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -69,7 +69,7 @@ describe("Moves - Gigaton Hammer", () => { await game.doKillOpponents(); await game.toNextWave(); - game.move.select(Moves.GIGATON_HAMMER); + game.move.select(MoveId.GIGATON_HAMMER); await game.toNextTurn(); const enemy2 = game.scene.getEnemyPokemon()!; diff --git a/test/moves/glaive_rush.test.ts b/test/moves/glaive_rush.test.ts index 979c26ca20f..768c4a691b0 100644 --- a/test/moves/glaive_rush.test.ts +++ b/test/moves/glaive_rush.test.ts @@ -1,7 +1,7 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,12 +25,12 @@ describe("Moves - Glaive Rush", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.GLAIVE_RUSH]) - .starterSpecies(Species.KLINK) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.SHADOW_SNEAK, Moves.AVALANCHE, Moves.SPLASH, Moves.GLAIVE_RUSH]); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.GLAIVE_RUSH]) + .starterSpecies(SpeciesId.KLINK) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.SHADOW_SNEAK, MoveId.AVALANCHE, MoveId.SPLASH, MoveId.GLAIVE_RUSH]); }); it("takes double damage from attacks", async () => { @@ -39,11 +39,11 @@ describe("Moves - Glaive Rush", () => { const enemy = game.scene.getEnemyPokemon()!; enemy.hp = 1000; - game.move.select(Moves.SHADOW_SNEAK); + game.move.select(MoveId.SHADOW_SNEAK); await game.phaseInterceptor.to("DamageAnimPhase"); const damageDealt = 1000 - enemy.hp; await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.SHADOW_SNEAK); + game.move.select(MoveId.SHADOW_SNEAK); await game.phaseInterceptor.to("DamageAnimPhase"); expect(enemy.hp).toBeLessThanOrEqual(1001 - damageDealt * 3); }); @@ -54,14 +54,14 @@ describe("Moves - Glaive Rush", () => { const enemy = game.scene.getEnemyPokemon()!; enemy.hp = 1000; - allMoves[Moves.AVALANCHE].accuracy = 0; - game.move.select(Moves.AVALANCHE); + allMoves[MoveId.AVALANCHE].accuracy = 0; + game.move.select(MoveId.AVALANCHE); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.hp).toBeLessThan(1000); }); it("interacts properly with multi-lens", async () => { - game.override.startingHeldItems([{ name: "MULTI_LENS", count: 2 }]).enemyMoveset([Moves.AVALANCHE]); + game.override.startingHeldItems([{ name: "MULTI_LENS", count: 2 }]).enemyMoveset([MoveId.AVALANCHE]); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -70,18 +70,18 @@ describe("Moves - Glaive Rush", () => { enemy.hp = 1000; player.hp = 1000; - allMoves[Moves.AVALANCHE].accuracy = 0; - game.move.select(Moves.GLAIVE_RUSH); + allMoves[MoveId.AVALANCHE].accuracy = 0; + game.move.select(MoveId.GLAIVE_RUSH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBeLessThan(1000); player.hp = 1000; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBe(1000); }); it("secondary effects only last until next move", async () => { - game.override.enemyMoveset([Moves.SHADOW_SNEAK]); + game.override.enemyMoveset([MoveId.SHADOW_SNEAK]); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -89,33 +89,33 @@ describe("Moves - Glaive Rush", () => { enemy.hp = 1000; player.hp = 1000; - allMoves[Moves.SHADOW_SNEAK].accuracy = 0; + allMoves[MoveId.SHADOW_SNEAK].accuracy = 0; - game.move.select(Moves.GLAIVE_RUSH); + game.move.select(MoveId.GLAIVE_RUSH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBe(1000); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); const damagedHp = player.hp; expect(player.hp).toBeLessThan(1000); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBe(damagedHp); }); it("secondary effects are removed upon switching", async () => { - game.override.enemyMoveset([Moves.SHADOW_SNEAK]).starterSpecies(0); - await game.classicMode.startBattle([Species.KLINK, Species.FEEBAS]); + game.override.enemyMoveset([MoveId.SHADOW_SNEAK]).starterSpecies(0); + await game.classicMode.startBattle([SpeciesId.KLINK, SpeciesId.FEEBAS]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; enemy.hp = 1000; - allMoves[Moves.SHADOW_SNEAK].accuracy = 0; + allMoves[MoveId.SHADOW_SNEAK].accuracy = 0; - game.move.select(Moves.GLAIVE_RUSH); + game.move.select(MoveId.GLAIVE_RUSH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBe(player.getMaxHp()); @@ -127,7 +127,7 @@ describe("Moves - Glaive Rush", () => { }); it("secondary effects don't activate if move fails", async () => { - game.override.moveset([Moves.SHADOW_SNEAK, Moves.PROTECT, Moves.SPLASH, Moves.GLAIVE_RUSH]); + game.override.moveset([MoveId.SHADOW_SNEAK, MoveId.PROTECT, MoveId.SPLASH, MoveId.GLAIVE_RUSH]); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -136,16 +136,16 @@ describe("Moves - Glaive Rush", () => { enemy.hp = 1000; player.hp = 1000; - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.SHADOW_SNEAK); + game.move.select(MoveId.SHADOW_SNEAK); await game.phaseInterceptor.to("TurnEndPhase"); - game.override.enemyMoveset([Moves.SPLASH]); + game.override.enemyMoveset([MoveId.SPLASH]); const damagedHP1 = 1000 - enemy.hp; enemy.hp = 1000; - game.move.select(Moves.SHADOW_SNEAK); + game.move.select(MoveId.SHADOW_SNEAK); await game.phaseInterceptor.to("TurnEndPhase"); const damagedHP2 = 1000 - enemy.hp; diff --git a/test/moves/growth.test.ts b/test/moves/growth.test.ts index 2e3ebfcde52..d468523aca7 100644 --- a/test/moves/growth.test.ts +++ b/test/moves/growth.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { EnemyCommandPhase } from "#app/phases/enemy-command-phase"; @@ -25,20 +25,20 @@ describe("Moves - Growth", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemyAbility(Abilities.MOXIE); - game.override.ability(Abilities.INSOMNIA); - game.override.moveset([Moves.GROWTH]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyAbility(AbilityId.MOXIE); + game.override.ability(AbilityId.INSOMNIA); + game.override.moveset([MoveId.GROWTH]); + game.override.enemyMoveset(MoveId.SPLASH); }); it("should raise SPATK stat stage by 1", async () => { - await game.classicMode.startBattle([Species.MIGHTYENA]); + await game.classicMode.startBattle([SpeciesId.MIGHTYENA]); const playerPokemon = game.scene.getPlayerPokemon()!; expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(0); - game.move.select(Moves.GROWTH); + game.move.select(MoveId.GROWTH); await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnInitPhase); expect(playerPokemon.getStatStage(Stat.SPATK)).toBe(1); diff --git a/test/moves/grudge.test.ts b/test/moves/grudge.test.ts index 48bb79c5f02..b6ef25d41ff 100644 --- a/test/moves/grudge.test.ts +++ b/test/moves/grudge.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { BattlerIndex } from "#app/battle"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,44 +23,44 @@ describe("Moves - Grudge", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.EMBER, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.EMBER, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.SHEDINJA) - .enemyAbility(Abilities.WONDER_GUARD) - .enemyMoveset([Moves.GRUDGE, Moves.SPLASH]); + .enemySpecies(SpeciesId.SHEDINJA) + .enemyAbility(AbilityId.WONDER_GUARD) + .enemyMoveset([MoveId.GRUDGE, MoveId.SPLASH]); }); it("should reduce the PP of the Pokemon's move to 0 when the user has fainted", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerPokemon(); - game.move.select(Moves.EMBER); - await game.move.selectEnemyMove(Moves.GRUDGE); + game.move.select(MoveId.EMBER); + await game.move.selectEnemyMove(MoveId.GRUDGE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); - const playerMove = playerPokemon?.getMoveset().find(m => m.moveId === Moves.EMBER); + const playerMove = playerPokemon?.getMoveset().find(m => m.moveId === MoveId.EMBER); expect(playerMove?.getPpRatio()).toBe(0); }); it("should remain in effect until the user's next move", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerPokemon(); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.GRUDGE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.GRUDGE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); - game.move.select(Moves.EMBER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.EMBER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase"); - const playerMove = playerPokemon?.getMoveset().find(m => m.moveId === Moves.EMBER); + const playerMove = playerPokemon?.getMoveset().find(m => m.moveId === MoveId.EMBER); expect(playerMove?.getPpRatio()).toBe(0); }); @@ -68,23 +68,23 @@ describe("Moves - Grudge", () => { it("should not reduce the opponent's PP if the user dies to weather/indirect damage", async () => { // Opponent will be reduced to 1 HP by False Swipe, then faint to Sandstorm game.override - .moveset([Moves.FALSE_SWIPE]) + .moveset([MoveId.FALSE_SWIPE]) .startingLevel(100) - .ability(Abilities.SAND_STREAM) - .enemySpecies(Species.RATTATA); - await game.classicMode.startBattle([Species.GEODUDE]); + .ability(AbilityId.SAND_STREAM) + .enemySpecies(SpeciesId.RATTATA); + await game.classicMode.startBattle([SpeciesId.GEODUDE]); const enemyPokemon = game.scene.getEnemyPokemon(); const playerPokemon = game.scene.getPlayerPokemon(); - game.move.select(Moves.FALSE_SWIPE); - await game.move.selectEnemyMove(Moves.GRUDGE); + game.move.select(MoveId.FALSE_SWIPE); + await game.move.selectEnemyMove(MoveId.GRUDGE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); expect(enemyPokemon?.isFainted()).toBe(true); - const playerMove = playerPokemon?.getMoveset().find(m => m.moveId === Moves.FALSE_SWIPE); + const playerMove = playerPokemon?.getMoveset().find(m => m.moveId === MoveId.FALSE_SWIPE); expect(playerMove?.getPpRatio()).toBeGreaterThan(0); }); }); diff --git a/test/moves/guard_split.test.ts b/test/moves/guard_split.test.ts index 0f5c69c7d85..47edba49c9a 100644 --- a/test/moves/guard_split.test.ts +++ b/test/moves/guard_split.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; describe("Moves - Guard Split", () => { let phaserGame: Phaser.Game; @@ -25,16 +25,16 @@ describe("Moves - Guard Split", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.NONE) - .enemySpecies(Species.MEW) + .enemyAbility(AbilityId.NONE) + .enemySpecies(SpeciesId.MEW) .enemyLevel(200) - .moveset([Moves.GUARD_SPLIT]) - .ability(Abilities.NONE); + .moveset([MoveId.GUARD_SPLIT]) + .ability(AbilityId.NONE); }); it("should average the user's DEF and SPDEF stats with those of the target", async () => { - game.override.enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.INDEEDEE]); + game.override.enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.INDEEDEE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -42,7 +42,7 @@ describe("Moves - Guard Split", () => { const avgDef = Math.floor((player.getStat(Stat.DEF, false) + enemy.getStat(Stat.DEF, false)) / 2); const avgSpDef = Math.floor((player.getStat(Stat.SPDEF, false) + enemy.getStat(Stat.SPDEF, false)) / 2); - game.move.select(Moves.GUARD_SPLIT); + game.move.select(MoveId.GUARD_SPLIT); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStat(Stat.DEF, false)).toBe(avgDef); @@ -53,8 +53,8 @@ describe("Moves - Guard Split", () => { }, 20000); it("should be idempotent", async () => { - game.override.enemyMoveset([Moves.GUARD_SPLIT]); - await game.classicMode.startBattle([Species.INDEEDEE]); + game.override.enemyMoveset([MoveId.GUARD_SPLIT]); + await game.classicMode.startBattle([SpeciesId.INDEEDEE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -62,10 +62,10 @@ describe("Moves - Guard Split", () => { const avgDef = Math.floor((player.getStat(Stat.DEF, false) + enemy.getStat(Stat.DEF, false)) / 2); const avgSpDef = Math.floor((player.getStat(Stat.SPDEF, false) + enemy.getStat(Stat.SPDEF, false)) / 2); - game.move.select(Moves.GUARD_SPLIT); + game.move.select(MoveId.GUARD_SPLIT); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.GUARD_SPLIT); + game.move.select(MoveId.GUARD_SPLIT); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStat(Stat.DEF, false)).toBe(avgDef); diff --git a/test/moves/guard_swap.test.ts b/test/moves/guard_swap.test.ts index 2076f92ccb1..d2c33e45df0 100644 --- a/test/moves/guard_swap.test.ts +++ b/test/moves/guard_swap.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat, BATTLE_STATS } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { MoveEndPhase } from "#app/phases/move-end-phase"; describe("Moves - Guard Swap", () => { @@ -25,23 +25,23 @@ describe("Moves - Guard Swap", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.INDEEDEE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.INDEEDEE) .enemyLevel(200) - .moveset([Moves.GUARD_SWAP]) - .ability(Abilities.NONE); + .moveset([MoveId.GUARD_SWAP]) + .ability(AbilityId.NONE); }); it("should swap the user's DEF and SPDEF stat stages with the target's", async () => { - await game.classicMode.startBattle([Species.INDEEDEE]); + await game.classicMode.startBattle([SpeciesId.INDEEDEE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(1)); - game.move.select(Moves.GUARD_SWAP); + game.move.select(MoveId.GUARD_SWAP); await game.phaseInterceptor.to(MoveEndPhase); diff --git a/test/moves/hard_press.test.ts b/test/moves/hard_press.test.ts index 12cf049a022..88a8c4a025b 100644 --- a/test/moves/hard_press.test.ts +++ b/test/moves/hard_press.test.ts @@ -1,8 +1,8 @@ import { allMoves } from "#app/data/data-lists"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,60 +25,60 @@ describe("Moves - Hard Press", () => { }); beforeEach(() => { - moveToCheck = allMoves[Moves.HARD_PRESS]; + moveToCheck = allMoves[MoveId.HARD_PRESS]; game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.ability(Abilities.BALL_FETCH); - game.override.enemySpecies(Species.MUNCHLAX); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.enemyMoveset(Moves.SPLASH); - game.override.moveset([Moves.HARD_PRESS]); + game.override.ability(AbilityId.BALL_FETCH); + game.override.enemySpecies(SpeciesId.MUNCHLAX); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.moveset([MoveId.HARD_PRESS]); vi.spyOn(moveToCheck, "calculateBattlePower"); }); it("should return 100 power if target HP ratio is at 100%", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); - game.move.select(Moves.HARD_PRESS); + game.move.select(MoveId.HARD_PRESS); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(100); }); it("should return 50 power if target HP ratio is at 50%", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const targetHpRatio = 0.5; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getHpRatio").mockReturnValue(targetHpRatio); - game.move.select(Moves.HARD_PRESS); + game.move.select(MoveId.HARD_PRESS); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(50); }); it("should return 1 power if target HP ratio is at 1%", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const targetHpRatio = 0.01; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getHpRatio").mockReturnValue(targetHpRatio); - game.move.select(Moves.HARD_PRESS); + game.move.select(MoveId.HARD_PRESS); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(1); }); it("should return 1 power if target HP ratio is less than 1%", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const targetHpRatio = 0.005; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getHpRatio").mockReturnValue(targetHpRatio); - game.move.select(Moves.HARD_PRESS); + game.move.select(MoveId.HARD_PRESS); await game.phaseInterceptor.to(MoveEffectPhase); expect(moveToCheck.calculateBattlePower).toHaveReturnedWith(1); diff --git a/test/moves/haze.test.ts b/test/moves/haze.test.ts index 33d4fe2dfda..e77542227b8 100644 --- a/test/moves/haze.test.ts +++ b/test/moves/haze.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; @@ -25,34 +25,34 @@ describe("Moves - Haze", () => { game.override.battleStyle("single"); - game.override.enemySpecies(Species.RATTATA); + game.override.enemySpecies(SpeciesId.RATTATA); game.override.enemyLevel(100); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemyAbility(Abilities.NONE); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemyAbility(AbilityId.NONE); game.override.startingLevel(100); - game.override.moveset([Moves.HAZE, Moves.SWORDS_DANCE, Moves.CHARM, Moves.SPLASH]); - game.override.ability(Abilities.NONE); + game.override.moveset([MoveId.HAZE, MoveId.SWORDS_DANCE, MoveId.CHARM, MoveId.SPLASH]); + game.override.ability(AbilityId.NONE); }); it("should reset all stat changes of all Pokemon on field", async () => { - await game.classicMode.startBattle([Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA]); const user = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; expect(user.getStatStage(Stat.ATK)).toBe(0); expect(enemy.getStatStage(Stat.ATK)).toBe(0); - game.move.select(Moves.SWORDS_DANCE); + game.move.select(MoveId.SWORDS_DANCE); await game.phaseInterceptor.to(TurnInitPhase); - game.move.select(Moves.CHARM); + game.move.select(MoveId.CHARM); await game.phaseInterceptor.to(TurnInitPhase); expect(user.getStatStage(Stat.ATK)).toBe(2); expect(enemy.getStatStage(Stat.ATK)).toBe(-2); - game.move.select(Moves.HAZE); + game.move.select(MoveId.HAZE); await game.phaseInterceptor.to(TurnInitPhase); expect(user.getStatStage(Stat.ATK)).toBe(0); diff --git a/test/moves/heal_bell.test.ts b/test/moves/heal_bell.test.ts index 8ffb602c24f..914307b4795 100644 --- a/test/moves/heal_bell.test.ts +++ b/test/moves/heal_bell.test.ts @@ -1,8 +1,8 @@ import { StatusEffect } from "#app/enums/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -24,24 +24,24 @@ describe("Moves - Heal Bell", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.HEAL_BELL, Moves.SPLASH]) + .moveset([MoveId.HEAL_BELL, MoveId.SPLASH]) .statusEffect(StatusEffect.BURN) .battleStyle("double") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should cure status effect of the user, its ally, and all party pokemon", async () => { - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer, partyPokemon] = game.scene.getPlayerParty(); vi.spyOn(leftPlayer, "resetStatus"); vi.spyOn(rightPlayer, "resetStatus"); vi.spyOn(partyPokemon, "resetStatus"); - game.move.select(Moves.HEAL_BELL, 0); + game.move.select(MoveId.HEAL_BELL, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.resetStatus).toHaveBeenCalledOnce(); @@ -55,15 +55,15 @@ describe("Moves - Heal Bell", () => { it("should not cure status effect of the target/target's allies", async () => { game.override.enemyStatusEffect(StatusEffect.BURN); - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftOpp, rightOpp] = game.scene.getEnemyField(); vi.spyOn(leftOpp, "resetStatus"); vi.spyOn(rightOpp, "resetStatus"); - game.move.select(Moves.HEAL_BELL, 0); + game.move.select(MoveId.HEAL_BELL, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftOpp.resetStatus).toHaveBeenCalledTimes(0); @@ -77,17 +77,17 @@ describe("Moves - Heal Bell", () => { }); it("should not cure status effect of allies ON FIELD with Soundproof, should still cure allies in party", async () => { - game.override.ability(Abilities.SOUNDPROOF); - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA, Species.RATTATA]); + game.override.ability(AbilityId.SOUNDPROOF); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer, partyPokemon] = game.scene.getPlayerParty(); vi.spyOn(leftPlayer, "resetStatus"); vi.spyOn(rightPlayer, "resetStatus"); vi.spyOn(partyPokemon, "resetStatus"); - game.move.select(Moves.HEAL_BELL, 0); + game.move.select(MoveId.HEAL_BELL, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.resetStatus).toHaveBeenCalledOnce(); diff --git a/test/moves/heal_block.test.ts b/test/moves/heal_block.test.ts index 4ef67214a91..58e1a5e04a5 100644 --- a/test/moves/heal_block.test.ts +++ b/test/moves/heal_block.test.ts @@ -1,11 +1,11 @@ import { BattlerIndex } from "#app/battle"; import { ArenaTagSide } from "#app/data/arena-tag"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { WeatherType } from "#enums/weather-type"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,23 +28,23 @@ describe("Moves - Heal Block", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.ABSORB, Moves.WISH, Moves.SPLASH, Moves.AQUA_RING]) - .enemyMoveset(Moves.HEAL_BLOCK) - .ability(Abilities.NO_GUARD) - .enemyAbility(Abilities.BALL_FETCH) - .enemySpecies(Species.BLISSEY) + .moveset([MoveId.ABSORB, MoveId.WISH, MoveId.SPLASH, MoveId.AQUA_RING]) + .enemyMoveset(MoveId.HEAL_BLOCK) + .ability(AbilityId.NO_GUARD) + .enemyAbility(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.BLISSEY) .disableCrits(); }); it("shouldn't stop damage from HP-drain attacks, just HP restoration", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; player.damageAndUpdate(enemy.getMaxHp() - 1); - game.move.select(Moves.ABSORB); + game.move.select(MoveId.ABSORB); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -53,14 +53,14 @@ describe("Moves - Heal Block", () => { }); it("shouldn't stop Liquid Ooze from dealing damage", async () => { - game.override.enemyAbility(Abilities.LIQUID_OOZE); + game.override.enemyAbility(AbilityId.LIQUID_OOZE); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.ABSORB); + game.move.select(MoveId.ABSORB); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -69,18 +69,18 @@ describe("Moves - Heal Block", () => { }); it("should stop delayed heals, such as from Wish", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.getMaxHp() - 1); - game.move.select(Moves.WISH); + game.move.select(MoveId.WISH); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.WISH, ArenaTagSide.PLAYER)).toBeDefined(); while (game.scene.arena.getTagOnSide(ArenaTagType.WISH, ArenaTagSide.PLAYER)) { - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); } @@ -88,28 +88,28 @@ describe("Moves - Heal Block", () => { }); it("should prevent Grassy Terrain from restoring HP", async () => { - game.override.enemyAbility(Abilities.GRASSY_SURGE); + game.override.enemyAbility(AbilityId.GRASSY_SURGE); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.getMaxHp() - 1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBe(1); }); it("should prevent healing from heal-over-time moves", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.getMaxHp() - 1); - game.move.select(Moves.AQUA_RING); + game.move.select(MoveId.AQUA_RING); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.getTag(BattlerTagType.AQUA_RING)).toBeDefined(); @@ -117,15 +117,15 @@ describe("Moves - Heal Block", () => { }); it("should prevent abilities from restoring HP", async () => { - game.override.weather(WeatherType.RAIN).ability(Abilities.RAIN_DISH); + game.override.weather(WeatherType.RAIN).ability(AbilityId.RAIN_DISH); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.getMaxHp() - 1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBe(1); @@ -134,12 +134,12 @@ describe("Moves - Heal Block", () => { it("should stop healing from items", async () => { game.override.startingHeldItems([{ name: "LEFTOVERS" }]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const player = game.scene.getPlayerPokemon()!; player.damageAndUpdate(player.getMaxHp() - 1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(player.hp).toBe(1); diff --git a/test/moves/heart_swap.test.ts b/test/moves/heart_swap.test.ts index 009db731951..e9e407b6b30 100644 --- a/test/moves/heart_swap.test.ts +++ b/test/moves/heart_swap.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { BATTLE_STATS } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { MoveEndPhase } from "#app/phases/move-end-phase"; describe("Moves - Heart Swap", () => { @@ -25,23 +25,23 @@ describe("Moves - Heart Swap", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.INDEEDEE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.INDEEDEE) .enemyLevel(200) - .moveset([Moves.HEART_SWAP]) - .ability(Abilities.NONE); + .moveset([MoveId.HEART_SWAP]) + .ability(AbilityId.NONE); }); it("should swap all of the user's stat stages with the target's", async () => { - await game.classicMode.startBattle([Species.MANAPHY]); + await game.classicMode.startBattle([SpeciesId.MANAPHY]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(1)); - game.move.select(Moves.HEART_SWAP); + game.move.select(MoveId.HEART_SWAP); await game.phaseInterceptor.to(MoveEndPhase); diff --git a/test/moves/hyper_beam.test.ts b/test/moves/hyper_beam.test.ts index a4cbf7d9245..083482d16ef 100644 --- a/test/moves/hyper_beam.test.ts +++ b/test/moves/hyper_beam.test.ts @@ -1,8 +1,8 @@ import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { BerryPhase } from "#app/phases/berry-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import GameManager from "#test/testUtils/gameManager"; @@ -27,23 +27,23 @@ describe("Moves - Hyper Beam", () => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.ability(Abilities.BALL_FETCH); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.enemyMoveset([Moves.SPLASH]); + game.override.ability(AbilityId.BALL_FETCH); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.enemyMoveset([MoveId.SPLASH]); game.override.enemyLevel(100); - game.override.moveset([Moves.HYPER_BEAM, Moves.TACKLE]); - vi.spyOn(allMoves[Moves.HYPER_BEAM], "accuracy", "get").mockReturnValue(100); + game.override.moveset([MoveId.HYPER_BEAM, MoveId.TACKLE]); + vi.spyOn(allMoves[MoveId.HYPER_BEAM], "accuracy", "get").mockReturnValue(100); }); it("should force the user to recharge on the next turn (and only that turn)", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.HYPER_BEAM); + game.move.select(MoveId.HYPER_BEAM); await game.phaseInterceptor.to(TurnEndPhase); @@ -58,7 +58,7 @@ describe("Moves - Hyper Beam", () => { expect(enemyPokemon.hp).toBe(enemyPostAttackHp); expect(leadPokemon.getTag(BattlerTagType.RECHARGING)).toBeUndefined(); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/imprison.test.ts b/test/moves/imprison.test.ts index dfa3b3ad757..26eadb685f9 100644 --- a/test/moves/imprison.test.ts +++ b/test/moves/imprison.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,19 +24,19 @@ describe("Moves - Imprison", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.IMPRISON, Moves.SPLASH, Moves.GROWL]) - .enemySpecies(Species.SHUCKLE) - .moveset([Moves.TRANSFORM, Moves.SPLASH]); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.IMPRISON, MoveId.SPLASH, MoveId.GROWL]) + .enemySpecies(SpeciesId.SHUCKLE) + .moveset([MoveId.TRANSFORM, MoveId.SPLASH]); }); it("Pokemon under Imprison cannot use shared moves", async () => { - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TRANSFORM); - await game.move.selectEnemyMove(Moves.IMPRISON); + game.move.select(MoveId.TRANSFORM); + await game.move.selectEnemyMove(MoveId.IMPRISON); await game.toNextTurn(); const playerMoveset = playerPokemon.getMoveset().map(x => x?.moveId); const enemyMoveset = game.scene @@ -50,20 +50,20 @@ describe("Moves - Imprison", () => { expect(imprisonBattlerTag).toBeDefined(); // Second turn, Imprison forces Struggle to occur - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const move1 = playerPokemon.getLastXMoves(1)[0]!; - expect(move1.move).toBe(Moves.STRUGGLE); + expect(move1.move).toBe(MoveId.STRUGGLE); }); it("Imprison applies to Pokemon switched into Battle", async () => { - await game.classicMode.startBattle([Species.REGIELEKI, Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.BULBASAUR]); const playerPokemon1 = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.IMPRISON); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.IMPRISON); await game.toNextTurn(); const imprisonArenaTag = game.scene.arena.getTag(ArenaTagType.IMPRISON); const imprisonBattlerTag1 = playerPokemon1.getTag(BattlerTagType.IMPRISON); @@ -72,7 +72,7 @@ describe("Moves - Imprison", () => { // Second turn, Imprison forces Struggle to occur game.doSwitchPokemon(1); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const playerPokemon2 = game.scene.getPlayerPokemon()!; const imprisonBattlerTag2 = playerPokemon2.getTag(BattlerTagType.IMPRISON); @@ -81,18 +81,18 @@ describe("Moves - Imprison", () => { }); it("The effects of Imprison only end when the source is no longer active", async () => { - game.override.moveset([Moves.SPLASH, Moves.IMPRISON]); - await game.classicMode.startBattle([Species.REGIELEKI, Species.BULBASAUR]); + game.override.moveset([MoveId.SPLASH, MoveId.IMPRISON]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.IMPRISON); - await game.move.selectEnemyMove(Moves.GROWL); + game.move.select(MoveId.IMPRISON); + await game.move.selectEnemyMove(MoveId.GROWL); await game.toNextTurn(); expect(game.scene.arena.getTag(ArenaTagType.IMPRISON)).toBeDefined(); expect(enemyPokemon.getTag(BattlerTagType.IMPRISON)).toBeDefined(); game.doSwitchPokemon(1); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(playerPokemon.isActive(true)).toBeFalsy(); expect(game.scene.arena.getTag(ArenaTagType.IMPRISON)).toBeUndefined(); diff --git a/test/moves/instruct.test.ts b/test/moves/instruct.test.ts index 719349760dc..56ac8d9d04d 100644 --- a/test/moves/instruct.test.ts +++ b/test/moves/instruct.test.ts @@ -2,9 +2,9 @@ import { BattlerIndex } from "#app/battle"; import type Pokemon from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import type { MovePhase } from "#app/phases/move-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -13,7 +13,7 @@ describe("Moves - Instruct", () => { let phaserGame: Phaser.Game; let game: GameManager; - function instructSuccess(target: Pokemon, move: Moves): void { + function instructSuccess(target: Pokemon, move: MoveId): void { expect(target.getLastXMoves(-1)[0].move).toBe(move); expect(target.getLastXMoves(-1)[1].move).toBe(target.getLastXMoves()[0].move); expect(target.getMoveset().find(m => m?.moveId === move)?.ppUsed).toBe(2); @@ -33,22 +33,22 @@ describe("Moves - Instruct", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.NO_GUARD) + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.NO_GUARD) .enemyLevel(100) .startingLevel(100) .disableCrits(); }); it("should repeat target's last used move", async () => { - game.override.moveset(Moves.INSTRUCT).enemyLevel(1000); // ensures shuckle no die - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.moveset(MoveId.INSTRUCT).enemyLevel(1000); // ensures shuckle no die + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.changeMoveset(enemy, Moves.SONIC_BOOM); + game.move.changeMoveset(enemy, MoveId.SONIC_BOOM); - game.move.select(Moves.INSTRUCT); - await game.move.selectEnemyMove(Moves.SONIC_BOOM); + game.move.select(MoveId.INSTRUCT); + await game.move.selectEnemyMove(MoveId.SONIC_BOOM); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MovePhase"); // enemy attacks us @@ -60,93 +60,93 @@ describe("Moves - Instruct", () => { await game.phaseInterceptor.to("MovePhase", false); // enemy repeats move currentPhase = game.scene.getCurrentPhase() as MovePhase; expect(currentPhase.pokemon).toBe(enemy); - expect(currentPhase.move.moveId).toBe(Moves.SONIC_BOOM); + expect(currentPhase.move.moveId).toBe(MoveId.SONIC_BOOM); await game.phaseInterceptor.to("TurnEndPhase", false); - instructSuccess(enemy, Moves.SONIC_BOOM); + instructSuccess(enemy, MoveId.SONIC_BOOM); expect(game.scene.getPlayerPokemon()?.getInverseHp()).toBe(40); }); it("should repeat enemy's move through substitute", async () => { - game.override.moveset([Moves.INSTRUCT, Moves.SPLASH]); - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.moveset([MoveId.INSTRUCT, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.changeMoveset(enemy, [Moves.SONIC_BOOM, Moves.SUBSTITUTE]); + game.move.changeMoveset(enemy, [MoveId.SONIC_BOOM, MoveId.SUBSTITUTE]); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SUBSTITUTE); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SUBSTITUTE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); - game.move.select(Moves.INSTRUCT); - await game.move.selectEnemyMove(Moves.SONIC_BOOM); + game.move.select(MoveId.INSTRUCT); + await game.move.selectEnemyMove(MoveId.SONIC_BOOM); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase", false); - instructSuccess(game.scene.getEnemyPokemon()!, Moves.SONIC_BOOM); + instructSuccess(game.scene.getEnemyPokemon()!, MoveId.SONIC_BOOM); expect(game.scene.getPlayerPokemon()?.getInverseHp()).toBe(40); }); it("should repeat ally's attack on enemy", async () => { - game.override.battleStyle("double").enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.AMOONGUSS, Species.SHUCKLE]); + game.override.battleStyle("double").enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.SHUCKLE]); const [amoonguss, shuckle] = game.scene.getPlayerField(); - game.move.changeMoveset(amoonguss, [Moves.INSTRUCT, Moves.SONIC_BOOM]); - game.move.changeMoveset(shuckle, [Moves.INSTRUCT, Moves.SONIC_BOOM]); + game.move.changeMoveset(amoonguss, [MoveId.INSTRUCT, MoveId.SONIC_BOOM]); + game.move.changeMoveset(shuckle, [MoveId.INSTRUCT, MoveId.SONIC_BOOM]); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2); - game.move.select(Moves.SONIC_BOOM, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SONIC_BOOM, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase", false); - instructSuccess(shuckle, Moves.SONIC_BOOM); + instructSuccess(shuckle, MoveId.SONIC_BOOM); expect(game.scene.getEnemyField()[0].getInverseHp()).toBe(40); }); // TODO: Enable test case once gigaton hammer (and blood moon) are reworked it.todo("should repeat enemy's Gigaton Hammer", async () => { - game.override.moveset(Moves.INSTRUCT).enemyLevel(5); - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.moveset(MoveId.INSTRUCT).enemyLevel(5); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.changeMoveset(enemy, [Moves.GIGATON_HAMMER, Moves.BLOOD_MOON]); + game.move.changeMoveset(enemy, [MoveId.GIGATON_HAMMER, MoveId.BLOOD_MOON]); - game.move.select(Moves.INSTRUCT); + game.move.select(MoveId.INSTRUCT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); - instructSuccess(enemy, Moves.GIGATON_HAMMER); + instructSuccess(enemy, MoveId.GIGATON_HAMMER); expect(game.scene.getPlayerPokemon()!.turnData.attacksReceived.length).toBe(2); }); it("should add moves to move queue for copycat", async () => { - game.override.battleStyle("double").moveset(Moves.INSTRUCT).enemyLevel(5); - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.battleStyle("double").moveset(MoveId.INSTRUCT).enemyLevel(5); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); const [enemy1, enemy2] = game.scene.getEnemyField()!; - game.move.changeMoveset(enemy1, Moves.WATER_GUN); - game.move.changeMoveset(enemy2, Moves.COPYCAT); + game.move.changeMoveset(enemy1, MoveId.WATER_GUN); + game.move.changeMoveset(enemy2, MoveId.COPYCAT); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); - instructSuccess(enemy1, Moves.WATER_GUN); + instructSuccess(enemy1, MoveId.WATER_GUN); // amoonguss gets hit by water gun thrice; once by original attack, once by instructed use and once by copycat expect(game.scene.getPlayerPokemon()!.turnData.attacksReceived.length).toBe(3); }); it("should respect enemy's status condition", async () => { - game.override.moveset([Moves.INSTRUCT, Moves.THUNDER_WAVE]).enemyMoveset(Moves.SONIC_BOOM); - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.moveset([MoveId.INSTRUCT, MoveId.THUNDER_WAVE]).enemyMoveset(MoveId.SONIC_BOOM); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - game.move.select(Moves.INSTRUCT); + game.move.select(MoveId.INSTRUCT); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MovePhase"); // force enemy's instructed move to bork and then immediately thaw out @@ -155,21 +155,21 @@ describe("Moves - Instruct", () => { await game.phaseInterceptor.to("TurnEndPhase", false); const moveHistory = game.scene.getEnemyPokemon()?.getLastXMoves(-1)!; - expect(moveHistory.map(m => m.move)).toEqual([Moves.SONIC_BOOM, Moves.NONE, Moves.SONIC_BOOM]); + expect(moveHistory.map(m => m.move)).toEqual([MoveId.SONIC_BOOM, MoveId.NONE, MoveId.SONIC_BOOM]); expect(game.scene.getPlayerPokemon()?.getInverseHp()).toBe(40); }); it("should not repeat enemy's out of pp move", async () => { - game.override.moveset(Moves.INSTRUCT).enemySpecies(Species.UNOWN); - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.moveset(MoveId.INSTRUCT).enemySpecies(SpeciesId.UNOWN); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.changeMoveset(enemyPokemon, Moves.HIDDEN_POWER); - const moveUsed = enemyPokemon.moveset.find(m => m?.moveId === Moves.HIDDEN_POWER)!; + game.move.changeMoveset(enemyPokemon, MoveId.HIDDEN_POWER); + const moveUsed = enemyPokemon.moveset.find(m => m?.moveId === MoveId.HIDDEN_POWER)!; moveUsed.ppUsed = moveUsed.getMovePp() - 1; - game.move.select(Moves.INSTRUCT); - await game.move.selectEnemyMove(Moves.HIDDEN_POWER); + game.move.select(MoveId.INSTRUCT); + await game.move.selectEnemyMove(MoveId.HIDDEN_POWER); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase", false); @@ -179,15 +179,15 @@ describe("Moves - Instruct", () => { }); it("should redirect attacking moves if enemy faints", async () => { - game.override.battleStyle("double").enemyMoveset(Moves.SPLASH).enemySpecies(Species.MAGIKARP).enemyLevel(1); - await game.classicMode.startBattle([Species.HISUI_ELECTRODE, Species.KOMMO_O]); + game.override.battleStyle("double").enemyMoveset(MoveId.SPLASH).enemySpecies(SpeciesId.MAGIKARP).enemyLevel(1); + await game.classicMode.startBattle([SpeciesId.HISUI_ELECTRODE, SpeciesId.KOMMO_O]); const [electrode, kommo_o] = game.scene.getPlayerField()!; - game.move.changeMoveset(electrode, Moves.CHLOROBLAST); - game.move.changeMoveset(kommo_o, Moves.INSTRUCT); + game.move.changeMoveset(electrode, MoveId.CHLOROBLAST); + game.move.changeMoveset(kommo_o, MoveId.INSTRUCT); - game.move.select(Moves.CHLOROBLAST, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); + game.move.select(MoveId.CHLOROBLAST, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); @@ -201,36 +201,36 @@ describe("Moves - Instruct", () => { expect(karp2.isFainted()).toBe(true); }); it("should allow for dancer copying of instructed dance move", async () => { - game.override.battleStyle("double").enemyMoveset([Moves.INSTRUCT, Moves.SPLASH]).enemyLevel(1000); - await game.classicMode.startBattle([Species.ORICORIO, Species.VOLCARONA]); + game.override.battleStyle("double").enemyMoveset([MoveId.INSTRUCT, MoveId.SPLASH]).enemyLevel(1000); + await game.classicMode.startBattle([SpeciesId.ORICORIO, SpeciesId.VOLCARONA]); const [oricorio, volcarona] = game.scene.getPlayerField(); - game.move.changeMoveset(oricorio, Moves.SPLASH); - game.move.changeMoveset(volcarona, Moves.FIERY_DANCE); + game.move.changeMoveset(oricorio, MoveId.SPLASH); + game.move.changeMoveset(volcarona, MoveId.FIERY_DANCE); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER); - game.move.select(Moves.FIERY_DANCE, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); - await game.move.selectEnemyMove(Moves.INSTRUCT, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.FIERY_DANCE, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); + await game.move.selectEnemyMove(MoveId.INSTRUCT, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); // fiery dance triggered dancer successfully for a total of 4 hits // Enemy level is set to a high value so that it does not faint even after all 4 hits - instructSuccess(volcarona, Moves.FIERY_DANCE); + instructSuccess(volcarona, MoveId.FIERY_DANCE); expect(game.scene.getEnemyField()[0].turnData.attacksReceived.length).toBe(4); }); it("should not repeat move when switching out", async () => { - game.override.enemyMoveset(Moves.INSTRUCT).enemySpecies(Species.UNOWN); - await game.classicMode.startBattle([Species.AMOONGUSS, Species.TOXICROAK]); + game.override.enemyMoveset(MoveId.INSTRUCT).enemySpecies(SpeciesId.UNOWN); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.TOXICROAK]); const amoonguss = game.scene.getPlayerPokemon()!; - game.move.changeMoveset(amoonguss, Moves.SEED_BOMB); + game.move.changeMoveset(amoonguss, MoveId.SEED_BOMB); amoonguss.summonData.moveHistory = [ { - move: Moves.SEED_BOMB, + move: MoveId.SEED_BOMB, targets: [BattlerIndex.ENEMY], result: MoveResult.SUCCESS, }, @@ -244,11 +244,11 @@ describe("Moves - Instruct", () => { }); it("should fail if no move has yet been used by target", async () => { - game.override.moveset(Moves.INSTRUCT).enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.moveset(MoveId.INSTRUCT).enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); - game.move.select(Moves.INSTRUCT); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.INSTRUCT); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("TurnEndPhase", false); @@ -256,16 +256,16 @@ describe("Moves - Instruct", () => { }); it("should attempt to call enemy's disabled move, but move use itself should fail", async () => { - game.override.moveset([Moves.INSTRUCT, Moves.DISABLE]).battleStyle("double"); - await game.classicMode.startBattle([Species.AMOONGUSS, Species.DROWZEE]); + game.override.moveset([MoveId.INSTRUCT, MoveId.DISABLE]).battleStyle("double"); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.DROWZEE]); const [enemy1, enemy2] = game.scene.getEnemyField(); - game.move.changeMoveset(enemy1, Moves.SONIC_BOOM); - game.move.changeMoveset(enemy2, Moves.SPLASH); + game.move.changeMoveset(enemy1, MoveId.SONIC_BOOM); + game.move.changeMoveset(enemy2, MoveId.SPLASH); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.DISABLE, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); - await game.move.selectEnemyMove(Moves.SONIC_BOOM, BattlerIndex.PLAYER); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.DISABLE, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); + await game.move.selectEnemyMove(MoveId.SONIC_BOOM, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase", false); @@ -276,49 +276,49 @@ describe("Moves - Instruct", () => { game.scene .getEnemyField()[0] .getMoveset() - .find(m => m?.moveId === Moves.SONIC_BOOM)?.ppUsed, + .find(m => m?.moveId === MoveId.SONIC_BOOM)?.ppUsed, ).toBe(1); }); it("should not repeat enemy's move through protect", async () => { - game.override.moveset([Moves.INSTRUCT]); - await game.classicMode.startBattle([Species.AMOONGUSS]); + game.override.moveset([MoveId.INSTRUCT]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.changeMoveset(enemy, Moves.PROTECT); - game.move.select(Moves.INSTRUCT); + game.move.changeMoveset(enemy, MoveId.PROTECT); + game.move.select(MoveId.INSTRUCT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase", false); - expect(enemy.getLastXMoves(-1)[0].move).toBe(Moves.PROTECT); + expect(enemy.getLastXMoves(-1)[0].move).toBe(MoveId.PROTECT); expect(enemy.getLastXMoves(-1)[1]).toBeUndefined(); // undefined because instruct failed and didn't repeat - expect(enemy.getMoveset().find(m => m?.moveId === Moves.PROTECT)?.ppUsed).toBe(1); + expect(enemy.getMoveset().find(m => m?.moveId === MoveId.PROTECT)?.ppUsed).toBe(1); }); it("should not repeat enemy's charging move", async () => { - game.override.moveset([Moves.INSTRUCT]).enemyMoveset([Moves.SONIC_BOOM, Moves.HYPER_BEAM]); - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.INSTRUCT]).enemyMoveset([MoveId.SONIC_BOOM, MoveId.HYPER_BEAM]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; enemy.summonData.moveHistory = [ { - move: Moves.SONIC_BOOM, + move: MoveId.SONIC_BOOM, targets: [BattlerIndex.PLAYER], result: MoveResult.SUCCESS, virtual: false, }, ]; - game.move.select(Moves.INSTRUCT); - await game.move.selectEnemyMove(Moves.HYPER_BEAM); + game.move.select(MoveId.INSTRUCT); + await game.move.selectEnemyMove(MoveId.HYPER_BEAM); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); // instruct fails at copying last move due to charging turn (rather than instructing sonic boom) expect(player.getLastXMoves()[0].result).toBe(MoveResult.FAIL); - game.move.select(Moves.INSTRUCT); + game.move.select(MoveId.INSTRUCT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase", false); @@ -326,114 +326,114 @@ describe("Moves - Instruct", () => { }); it("should not repeat move since forgotten by target", async () => { - game.override.enemyMoveset(Moves.INSTRUCT); - await game.classicMode.startBattle([Species.REGIELEKI]); + game.override.enemyMoveset(MoveId.INSTRUCT); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const regieleki = game.scene.getPlayerPokemon()!; regieleki.pushMoveHistory({ - move: Moves.ELECTRO_DRIFT, + move: MoveId.ELECTRO_DRIFT, targets: [BattlerIndex.PLAYER], result: MoveResult.SUCCESS, virtual: false, }); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toEndOfTurn(); expect(game.field.getEnemyPokemon().getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should disregard priority of instructed move on use", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.WHIRLWIND]).moveset(Moves.INSTRUCT); - await game.classicMode.startBattle([Species.LUCARIO, Species.BANETTE]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.WHIRLWIND]).moveset(MoveId.INSTRUCT); + await game.classicMode.startBattle([SpeciesId.LUCARIO, SpeciesId.BANETTE]); const enemyPokemon = game.scene.getEnemyPokemon()!; enemyPokemon.summonData.moveHistory = [ { - move: Moves.WHIRLWIND, + move: MoveId.WHIRLWIND, targets: [BattlerIndex.PLAYER], result: MoveResult.SUCCESS, virtual: false, }, ]; - game.move.select(Moves.INSTRUCT); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.INSTRUCT); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase", false); // lucario instructed enemy whirlwind at 0 priority to switch itself out const instructedMove = enemyPokemon.getLastXMoves(-1)[1]; expect(instructedMove.result).toBe(MoveResult.SUCCESS); - expect(instructedMove.move).toBe(Moves.WHIRLWIND); - expect(game.scene.getPlayerPokemon()?.species.speciesId).toBe(Species.BANETTE); + expect(instructedMove.move).toBe(MoveId.WHIRLWIND); + expect(game.scene.getPlayerPokemon()?.species.speciesId).toBe(SpeciesId.BANETTE); }); it("should respect moves' original priority for psychic terrain", async () => { game.override .battleStyle("double") - .moveset([Moves.QUICK_ATTACK, Moves.SPLASH, Moves.INSTRUCT]) - .enemyMoveset([Moves.SPLASH, Moves.PSYCHIC_TERRAIN]); - await game.classicMode.startBattle([Species.BANETTE, Species.KLEFKI]); + .moveset([MoveId.QUICK_ATTACK, MoveId.SPLASH, MoveId.INSTRUCT]) + .enemyMoveset([MoveId.SPLASH, MoveId.PSYCHIC_TERRAIN]); + await game.classicMode.startBattle([SpeciesId.BANETTE, SpeciesId.KLEFKI]); - game.move.select(Moves.QUICK_ATTACK, BattlerIndex.PLAYER, BattlerIndex.ENEMY); // succeeds due to terrain no - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.PSYCHIC_TERRAIN); + game.move.select(MoveId.QUICK_ATTACK, BattlerIndex.PLAYER, BattlerIndex.ENEMY); // succeeds due to terrain no + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.PSYCHIC_TERRAIN); await game.toNextTurn(); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase", false); // quick attack failed when instructed const banette = game.scene.getPlayerPokemon()!; - expect(banette.getLastXMoves(-1)[1].move).toBe(Moves.QUICK_ATTACK); + expect(banette.getLastXMoves(-1)[1].move).toBe(MoveId.QUICK_ATTACK); expect(banette.getLastXMoves(-1)[1].result).toBe(MoveResult.FAIL); }); it("should still work w/ prankster in psychic terrain", async () => { - game.override.battleStyle("double").enemyMoveset([Moves.SPLASH, Moves.PSYCHIC_TERRAIN]); - await game.classicMode.startBattle([Species.BANETTE, Species.KLEFKI]); + game.override.battleStyle("double").enemyMoveset([MoveId.SPLASH, MoveId.PSYCHIC_TERRAIN]); + await game.classicMode.startBattle([SpeciesId.BANETTE, SpeciesId.KLEFKI]); const [banette, klefki] = game.scene.getPlayerField()!; - game.move.changeMoveset(banette, [Moves.VINE_WHIP, Moves.SPLASH]); - game.move.changeMoveset(klefki, [Moves.INSTRUCT, Moves.SPLASH]); + game.move.changeMoveset(banette, [MoveId.VINE_WHIP, MoveId.SPLASH]); + game.move.changeMoveset(klefki, [MoveId.INSTRUCT, MoveId.SPLASH]); - game.move.select(Moves.VINE_WHIP, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.PSYCHIC_TERRAIN); + game.move.select(MoveId.VINE_WHIP, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.PSYCHIC_TERRAIN); await game.toNextTurn(); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); // copies vine whip + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); // copies vine whip await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase", false); - expect(banette.getLastXMoves(-1)[1].move).toBe(Moves.VINE_WHIP); - expect(banette.getLastXMoves(-1)[2].move).toBe(Moves.VINE_WHIP); - expect(banette.getMoveset().find(m => m?.moveId === Moves.VINE_WHIP)?.ppUsed).toBe(2); + expect(banette.getLastXMoves(-1)[1].move).toBe(MoveId.VINE_WHIP); + expect(banette.getLastXMoves(-1)[2].move).toBe(MoveId.VINE_WHIP); + expect(banette.getMoveset().find(m => m?.moveId === MoveId.VINE_WHIP)?.ppUsed).toBe(2); }); it("should cause spread moves to correctly hit targets in doubles after singles", async () => { game.override .battleStyle("even-doubles") - .moveset([Moves.BREAKING_SWIPE, Moves.INSTRUCT, Moves.SPLASH]) - .enemyMoveset(Moves.SONIC_BOOM) - .enemySpecies(Species.AXEW) + .moveset([MoveId.BREAKING_SWIPE, MoveId.INSTRUCT, MoveId.SPLASH]) + .enemyMoveset(MoveId.SONIC_BOOM) + .enemySpecies(SpeciesId.AXEW) .startingLevel(500); - await game.classicMode.startBattle([Species.KORAIDON, Species.KLEFKI]); + await game.classicMode.startBattle([SpeciesId.KORAIDON, SpeciesId.KLEFKI]); const koraidon = game.scene.getPlayerField()[0]!; - game.move.select(Moves.BREAKING_SWIPE); + game.move.select(MoveId.BREAKING_SWIPE); await game.phaseInterceptor.to("TurnEndPhase", false); expect(koraidon.getInverseHp()).toBe(0); expect(koraidon.getLastXMoves(-1)[0].targets).toEqual([BattlerIndex.ENEMY]); await game.toNextWave(); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase", false); // did not take damage since enemies died beforehand; @@ -445,23 +445,23 @@ describe("Moves - Instruct", () => { it("should cause AoE moves to correctly hit everyone in doubles after singles", async () => { game.override .battleStyle("even-doubles") - .moveset([Moves.BRUTAL_SWING, Moves.INSTRUCT, Moves.SPLASH]) - .enemySpecies(Species.AXEW) - .enemyMoveset(Moves.SONIC_BOOM) + .moveset([MoveId.BRUTAL_SWING, MoveId.INSTRUCT, MoveId.SPLASH]) + .enemySpecies(SpeciesId.AXEW) + .enemyMoveset(MoveId.SONIC_BOOM) .startingLevel(500); - await game.classicMode.startBattle([Species.KORAIDON, Species.KLEFKI]); + await game.classicMode.startBattle([SpeciesId.KORAIDON, SpeciesId.KLEFKI]); const koraidon = game.scene.getPlayerField()[0]!; - game.move.select(Moves.BRUTAL_SWING); + game.move.select(MoveId.BRUTAL_SWING); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("TurnEndPhase", false); expect(koraidon.getInverseHp()).toBe(0); expect(koraidon.getLastXMoves(-1)[0].targets).toEqual([BattlerIndex.ENEMY]); await game.toNextWave(); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("TurnEndPhase", false); // did not take damage since enemies died beforehand; @@ -476,24 +476,24 @@ describe("Moves - Instruct", () => { it("should cause multi-hit moves to hit the appropriate number of times in singles", async () => { game.override - .enemyAbility(Abilities.SKILL_LINK) - .moveset([Moves.SPLASH, Moves.INSTRUCT]) - .enemyMoveset(Moves.BULLET_SEED); - await game.classicMode.startBattle([Species.BULBASAUR]); + .enemyAbility(AbilityId.SKILL_LINK) + .moveset([MoveId.SPLASH, MoveId.INSTRUCT]) + .enemyMoveset(MoveId.BULLET_SEED); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const bulbasaur = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.INSTRUCT); + game.move.select(MoveId.INSTRUCT); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase"); expect(bulbasaur.turnData.attacksReceived.length).toBe(10); await game.toNextTurn(); - game.move.select(Moves.INSTRUCT); + game.move.select(MoveId.INSTRUCT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); @@ -503,34 +503,34 @@ describe("Moves - Instruct", () => { it("should cause multi-hit moves to hit the appropriate number of times in doubles", async () => { game.override .battleStyle("double") - .enemyAbility(Abilities.SKILL_LINK) - .moveset([Moves.SPLASH, Moves.INSTRUCT]) - .enemyMoveset([Moves.BULLET_SEED, Moves.SPLASH]) + .enemyAbility(AbilityId.SKILL_LINK) + .moveset([MoveId.SPLASH, MoveId.INSTRUCT]) + .enemyMoveset([MoveId.BULLET_SEED, MoveId.SPLASH]) .enemyLevel(5); - await game.classicMode.startBattle([Species.BULBASAUR, Species.IVYSAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.IVYSAUR]); const [, ivysaur] = game.scene.getPlayerField(); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER); - game.move.select(Moves.SPLASH, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.BULLET_SEED, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER); + game.move.select(MoveId.SPLASH, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.BULLET_SEED, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); - await game.move.selectEnemyMove(Moves.BULLET_SEED, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); + await game.move.selectEnemyMove(MoveId.BULLET_SEED, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("BerryPhase"); expect(ivysaur.turnData.attacksReceived.length).toBe(15); await game.toNextTurn(); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); - game.move.select(Moves.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); - await game.move.selectEnemyMove(Moves.BULLET_SEED, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER, BattlerIndex.ENEMY); + game.move.select(MoveId.INSTRUCT, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY); + await game.move.selectEnemyMove(MoveId.BULLET_SEED, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2]); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/jaw_lock.test.ts b/test/moves/jaw_lock.test.ts index 85750b6efda..6084a47ad99 100644 --- a/test/moves/jaw_lock.test.ts +++ b/test/moves/jaw_lock.test.ts @@ -1,13 +1,13 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { BerryPhase } from "#app/phases/berry-phase"; import { FaintPhase } from "#app/phases/faint-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import GameManager from "#test/testUtils/gameManager"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -30,22 +30,22 @@ describe("Moves - Jaw Lock", () => { game.override .battleStyle("single") - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.JAW_LOCK, Moves.SPLASH]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.JAW_LOCK, MoveId.SPLASH]) .startingLevel(100) .enemyLevel(100) .disableCrits(); }); it("should trap the move's user and target", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.JAW_LOCK); + game.move.select(MoveId.JAW_LOCK); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); @@ -61,12 +61,12 @@ describe("Moves - Jaw Lock", () => { it("should not trap either pokemon if the target faints", async () => { game.override.enemyLevel(1); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.JAW_LOCK); + game.move.select(MoveId.JAW_LOCK); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase, false); @@ -86,12 +86,12 @@ describe("Moves - Jaw Lock", () => { }); it("should only trap the user until the target faints", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.JAW_LOCK); + game.move.select(MoveId.JAW_LOCK); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -109,13 +109,13 @@ describe("Moves - Jaw Lock", () => { it("should not trap other targets after the first target is trapped", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.CHARMANDER, Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.CHARMANDER, SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.JAW_LOCK, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.JAW_LOCK, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -125,8 +125,8 @@ describe("Moves - Jaw Lock", () => { await game.toNextTurn(); - game.move.select(Moves.JAW_LOCK, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.JAW_LOCK, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(MoveEffectPhase); @@ -136,14 +136,14 @@ describe("Moves - Jaw Lock", () => { }); it("should not trap either pokemon if the target is protected", async () => { - game.override.enemyMoveset([Moves.PROTECT]); + game.override.enemyMoveset([MoveId.PROTECT]); - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.JAW_LOCK); + game.move.select(MoveId.JAW_LOCK); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/lash_out.test.ts b/test/moves/lash_out.test.ts index e45df4fc998..a63ab2a467c 100644 --- a/test/moves/lash_out.test.ts +++ b/test/moves/lash_out.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -26,24 +26,24 @@ describe("Moves - Lash Out", () => { game.override .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.FUR_COAT) - .enemyMoveset([Moves.GROWL]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.FUR_COAT) + .enemyMoveset([MoveId.GROWL]) .startingLevel(10) .enemyLevel(10) - .starterSpecies(Species.FEEBAS) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.LASH_OUT]); + .starterSpecies(SpeciesId.FEEBAS) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.LASH_OUT]); }); it("should deal double damage if the user's stat stages were lowered this turn", async () => { - vi.spyOn(allMoves[Moves.LASH_OUT], "calculateBattlePower"); + vi.spyOn(allMoves[MoveId.LASH_OUT], "calculateBattlePower"); await game.classicMode.startBattle(); - game.move.select(Moves.LASH_OUT); + game.move.select(MoveId.LASH_OUT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); - expect(allMoves[Moves.LASH_OUT].calculateBattlePower).toHaveReturnedWith(150); + expect(allMoves[MoveId.LASH_OUT].calculateBattlePower).toHaveReturnedWith(150); }); }); diff --git a/test/moves/last-resort.test.ts b/test/moves/last-resort.test.ts index 65b50bc4e89..0e6c1a6ba15 100644 --- a/test/moves/last-resort.test.ts +++ b/test/moves/last-resort.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -14,7 +14,7 @@ describe("Moves - Last Resort", () => { function expectLastResortFail() { expect(game.scene.getPlayerPokemon()?.getLastXMoves()[0]).toEqual( expect.objectContaining({ - move: Moves.LAST_RESORT, + move: MoveId.LAST_RESORT, result: MoveResult.FAIL, }), ); @@ -32,45 +32,45 @@ describe("Moves - Last Resort", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .ability(Abilities.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should fail unless all other moves (excluding itself) has been used at least once", async () => { - game.override.moveset([Moves.LAST_RESORT, Moves.SPLASH, Moves.GROWL, Moves.GROWTH]); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.moveset([MoveId.LAST_RESORT, MoveId.SPLASH, MoveId.GROWL, MoveId.GROWTH]); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); const blissey = game.scene.getPlayerPokemon()!; expect(blissey).toBeDefined(); // Last resort by itself - game.move.select(Moves.LAST_RESORT); + game.move.select(MoveId.LAST_RESORT); await game.phaseInterceptor.to("TurnEndPhase"); expectLastResortFail(); // Splash (1/3) - blissey.pushMoveHistory({ move: Moves.SPLASH, targets: [BattlerIndex.PLAYER] }); - game.move.select(Moves.LAST_RESORT); + blissey.pushMoveHistory({ move: MoveId.SPLASH, targets: [BattlerIndex.PLAYER] }); + game.move.select(MoveId.LAST_RESORT); await game.phaseInterceptor.to("TurnEndPhase"); expectLastResortFail(); // Growl (2/3) - blissey.pushMoveHistory({ move: Moves.GROWL, targets: [BattlerIndex.ENEMY] }); - game.move.select(Moves.LAST_RESORT); + blissey.pushMoveHistory({ move: MoveId.GROWL, targets: [BattlerIndex.ENEMY] }); + game.move.select(MoveId.LAST_RESORT); await game.phaseInterceptor.to("TurnEndPhase"); expectLastResortFail(); // Were last resort itself counted, it would error here // Growth (3/3) - blissey.pushMoveHistory({ move: Moves.GROWTH, targets: [BattlerIndex.PLAYER] }); - game.move.select(Moves.LAST_RESORT); + blissey.pushMoveHistory({ move: MoveId.GROWTH, targets: [BattlerIndex.PLAYER] }); + game.move.select(MoveId.LAST_RESORT); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.getLastXMoves()[0]).toEqual( expect.objectContaining({ - move: Moves.LAST_RESORT, + move: MoveId.LAST_RESORT, result: MoveResult.SUCCESS, }), ); @@ -78,59 +78,59 @@ describe("Moves - Last Resort", () => { it("should disregard virtually invoked moves", async () => { game.override - .moveset([Moves.LAST_RESORT, Moves.SWORDS_DANCE, Moves.ABSORB, Moves.MIRROR_MOVE]) - .enemyMoveset([Moves.SWORDS_DANCE, Moves.ABSORB]) - .ability(Abilities.DANCER) - .enemySpecies(Species.ABOMASNOW); // magikarp has 50% chance to be okho'd on absorb crit - await game.classicMode.startBattle([Species.BLISSEY]); + .moveset([MoveId.LAST_RESORT, MoveId.SWORDS_DANCE, MoveId.ABSORB, MoveId.MIRROR_MOVE]) + .enemyMoveset([MoveId.SWORDS_DANCE, MoveId.ABSORB]) + .ability(AbilityId.DANCER) + .enemySpecies(SpeciesId.ABOMASNOW); // magikarp has 50% chance to be okho'd on absorb crit + await game.classicMode.startBattle([SpeciesId.BLISSEY]); // use mirror move normally to trigger absorb virtually - game.move.select(Moves.MIRROR_MOVE); - await game.move.selectEnemyMove(Moves.ABSORB); + game.move.select(MoveId.MIRROR_MOVE); + await game.move.selectEnemyMove(MoveId.ABSORB); await game.toNextTurn(); - game.move.select(Moves.LAST_RESORT); - await game.move.selectEnemyMove(Moves.SWORDS_DANCE); // goes first to proc dancer ahead of time + game.move.select(MoveId.LAST_RESORT); + await game.move.selectEnemyMove(MoveId.SWORDS_DANCE); // goes first to proc dancer ahead of time await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); expectLastResortFail(); }); it("should fail if no other moves in moveset", async () => { - game.override.moveset(Moves.LAST_RESORT); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.moveset(MoveId.LAST_RESORT); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); - game.move.select(Moves.LAST_RESORT); + game.move.select(MoveId.LAST_RESORT); await game.phaseInterceptor.to("TurnEndPhase"); expectLastResortFail(); }); it("should work if invoked virtually when all other moves have been used", async () => { - game.override.moveset([Moves.LAST_RESORT, Moves.SLEEP_TALK]).ability(Abilities.COMATOSE); - await game.classicMode.startBattle([Species.KOMALA]); + game.override.moveset([MoveId.LAST_RESORT, MoveId.SLEEP_TALK]).ability(AbilityId.COMATOSE); + await game.classicMode.startBattle([SpeciesId.KOMALA]); - game.move.select(Moves.SLEEP_TALK); + game.move.select(MoveId.SLEEP_TALK); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.getPlayerPokemon()?.getLastXMoves(-1)).toEqual([ expect.objectContaining({ - move: Moves.LAST_RESORT, + move: MoveId.LAST_RESORT, result: MoveResult.SUCCESS, virtual: true, }), expect.objectContaining({ - move: Moves.SLEEP_TALK, + move: MoveId.SLEEP_TALK, result: MoveResult.SUCCESS, }), ]); }); it("should preserve usability status on reload", async () => { - game.override.moveset([Moves.LAST_RESORT, Moves.SPLASH]).ability(Abilities.COMATOSE); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.moveset([MoveId.LAST_RESORT, MoveId.SPLASH]).ability(AbilityId.COMATOSE); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); @@ -141,7 +141,7 @@ describe("Moves - Last Resort", () => { expect(oldMoveHistory).toEqual(newMoveHistory); // use last resort and it should kill the karp just fine - game.move.select(Moves.LAST_RESORT); + game.move.select(MoveId.LAST_RESORT); game.scene.getEnemyPokemon()!.hp = 1; await game.phaseInterceptor.to("TurnEndPhase"); @@ -149,15 +149,15 @@ describe("Moves - Last Resort", () => { }); it("should fail if used while not in moveset", async () => { - game.override.moveset(Moves.MIRROR_MOVE).enemyMoveset([Moves.ABSORB, Moves.LAST_RESORT]); - await game.classicMode.startBattle([Species.BLISSEY]); + game.override.moveset(MoveId.MIRROR_MOVE).enemyMoveset([MoveId.ABSORB, MoveId.LAST_RESORT]); + await game.classicMode.startBattle([SpeciesId.BLISSEY]); // ensure enemy last resort succeeds - game.move.select(Moves.MIRROR_MOVE); - await game.move.selectEnemyMove(Moves.ABSORB); + game.move.select(MoveId.MIRROR_MOVE); + await game.move.selectEnemyMove(MoveId.ABSORB); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.MIRROR_MOVE); - await game.move.selectEnemyMove(Moves.LAST_RESORT); + game.move.select(MoveId.MIRROR_MOVE); + await game.move.selectEnemyMove(MoveId.LAST_RESORT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/moves/last_respects.test.ts b/test/moves/last_respects.test.ts index e271a5dec62..96a8b5955d0 100644 --- a/test/moves/last_respects.test.ts +++ b/test/moves/last_respects.test.ts @@ -1,7 +1,7 @@ -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { BattlerIndex } from "#app/battle"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import { allMoves } from "#app/data/data-lists"; import type Move from "#app/data/moves/move"; @@ -28,16 +28,16 @@ describe("Moves - Last Respects", () => { beforeEach(() => { game = new GameManager(phaserGame); - move = allMoves[Moves.LAST_RESPECTS]; + move = allMoves[MoveId.LAST_RESPECTS]; basePower = move.power; game.override .battleStyle("single") .disableCrits() - .moveset([Moves.LAST_RESPECTS, Moves.EXPLOSION, Moves.LUNAR_DANCE]) - .ability(Abilities.BALL_FETCH) - .enemyAbility(Abilities.BALL_FETCH) - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.LAST_RESPECTS, MoveId.EXPLOSION, MoveId.LUNAR_DANCE]) + .ability(AbilityId.BALL_FETCH) + .enemyAbility(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) .startingLevel(1) .enemyLevel(100); @@ -45,12 +45,12 @@ describe("Moves - Last Respects", () => { }); it("should have 150 power if 2 allies faint before using move", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); /** * Bulbasur faints once */ - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -58,12 +58,12 @@ describe("Moves - Last Respects", () => { /** * Charmander faints once */ - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(2); await game.toNextTurn(); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -71,12 +71,12 @@ describe("Moves - Last Respects", () => { }); it("should have 200 power if an ally fainted twice and another one once", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); /** * Bulbasur faints once */ - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -85,7 +85,7 @@ describe("Moves - Last Respects", () => { * Charmander faints once */ game.doRevivePokemon(1); - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -93,12 +93,12 @@ describe("Moves - Last Respects", () => { /** * Bulbasur faints twice */ - game.move.select(Moves.EXPLOSION); + game.move.select(MoveId.EXPLOSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(2); await game.toNextTurn(); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -107,18 +107,18 @@ describe("Moves - Last Respects", () => { it("should maintain its power for the player during the next battle if it is within the same arena encounter", async () => { game.override - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .startingWave(1) .enemyLevel(1) .startingLevel(100) - .enemyMoveset(Moves.SPLASH); + .enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); /** * The first Pokemon faints and another Pokemon in the party is selected. */ - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.LUNAR_DANCE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -126,12 +126,12 @@ describe("Moves - Last Respects", () => { /** * Enemy Pokemon faints and new wave is entered. */ - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); expect(game.scene.arena.playerFaints).toBe(1); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); expect(move.calculateBattlePower).toHaveLastReturnedWith(basePower + 1 * 50); @@ -139,19 +139,19 @@ describe("Moves - Last Respects", () => { it("should reset enemyFaints count on progressing to the next wave.", async () => { game.override - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .startingWave(1) .enemyLevel(1) .startingLevel(100) - .enemyMoveset(Moves.LAST_RESPECTS) - .moveset([Moves.LUNAR_DANCE, Moves.LAST_RESPECTS, Moves.SPLASH]); + .enemyMoveset(MoveId.LAST_RESPECTS) + .moveset([MoveId.LUNAR_DANCE, MoveId.LAST_RESPECTS, MoveId.SPLASH]); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); /** * The first Pokemon faints and another Pokemon in the party is selected. */ - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.LUNAR_DANCE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.toNextTurn(); @@ -159,12 +159,12 @@ describe("Moves - Last Respects", () => { /** * Enemy Pokemon faints and new wave is entered. */ - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); expect(game.scene.currentBattle.enemyFaints).toBe(0); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -176,20 +176,20 @@ describe("Moves - Last Respects", () => { }); it("should reset playerFaints count if we enter new trainer battle", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(4).enemyLevel(1).startingLevel(100); + game.override.enemySpecies(SpeciesId.MAGIKARP).startingWave(4).enemyLevel(1).startingLevel(100); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.LUNAR_DANCE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.toNextTurn(); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase", false); @@ -197,20 +197,20 @@ describe("Moves - Last Respects", () => { }); it("should reset playerFaints count if we enter new biome", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(10).enemyLevel(1).startingLevel(100); + game.override.enemySpecies(SpeciesId.MAGIKARP).startingWave(10).enemyLevel(1).startingLevel(100); - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.LUNAR_DANCE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); game.doSelectPartyPokemon(1); await game.toNextTurn(); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); - game.move.select(Moves.LAST_RESPECTS); + game.move.select(MoveId.LAST_RESPECTS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/light_screen.test.ts b/test/moves/light_screen.test.ts index 6ce51da68cd..4230790e688 100644 --- a/test/moves/light_screen.test.ts +++ b/test/moves/light_screen.test.ts @@ -3,13 +3,13 @@ import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; import { CritOnlyAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { NumberHolder } from "#app/utils/common"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -37,17 +37,17 @@ describe("Moves - Light Screen", () => { globalScene = game.scene; game.override .battleStyle("single") - .ability(Abilities.BALL_FETCH) - .moveset([Moves.ABSORB, Moves.DAZZLING_GLEAM, Moves.TACKLE]) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.ABSORB, MoveId.DAZZLING_GLEAM, MoveId.TACKLE]) .enemyLevel(100) - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.LIGHT_SCREEN) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.LIGHT_SCREEN) .disableCrits(); }); it("reduces damage of special attacks by half in a single battle", async () => { - const moveToUse = Moves.ABSORB; - await game.classicMode.startBattle([Species.SHUCKLE]); + const moveToUse = MoveId.ABSORB; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); @@ -65,8 +65,8 @@ describe("Moves - Light Screen", () => { it("reduces damage of special attacks by a third in a double battle", async () => { game.override.battleStyle("double"); - const moveToUse = Moves.DAZZLING_GLEAM; - await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); + const moveToUse = MoveId.DAZZLING_GLEAM; + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.SHUCKLE]); game.move.select(moveToUse); game.move.select(moveToUse, 1); @@ -82,8 +82,8 @@ describe("Moves - Light Screen", () => { }); it("does not affect physical attacks", async () => { - const moveToUse = Moves.TACKLE; - await game.classicMode.startBattle([Species.SHUCKLE]); + const moveToUse = MoveId.TACKLE; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); @@ -98,10 +98,10 @@ describe("Moves - Light Screen", () => { }); it("does not affect critical hits", async () => { - game.override.moveset([Moves.FROST_BREATH]); - const moveToUse = Moves.FROST_BREATH; - vi.spyOn(allMoves[Moves.FROST_BREATH], "accuracy", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.FROST_BREATH]); + const moveToUse = MoveId.FROST_BREATH; + vi.spyOn(allMoves[MoveId.FROST_BREATH], "accuracy", "get").mockReturnValue(100); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); await game.phaseInterceptor.to(TurnEndPhase); @@ -116,7 +116,7 @@ describe("Moves - Light Screen", () => { }); /** - * Calculates the damage of a move multiplied by screen's multiplier, Light Screen in this case {@linkcode Moves.LIGHT_SCREEN}. + * Calculates the damage of a move multiplied by screen's multiplier, Light Screen in this case {@linkcode MoveId.LIGHT_SCREEN}. * Please note this does not consider other damage calculations except the screen multiplier. * * @param defender - The defending Pokémon. diff --git a/test/moves/lucky_chant.test.ts b/test/moves/lucky_chant.test.ts index 9fa6ff43eab..58944027398 100644 --- a/test/moves/lucky_chant.test.ts +++ b/test/moves/lucky_chant.test.ts @@ -1,7 +1,7 @@ -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { BerryPhase } from "#app/phases/berry-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -26,26 +26,26 @@ describe("Moves - Lucky Chant", () => { game.override .battleStyle("single") - .moveset([Moves.LUCKY_CHANT, Moves.SPLASH, Moves.FOLLOW_ME]) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset([Moves.FLOWER_TRICK]) + .moveset([MoveId.LUCKY_CHANT, MoveId.SPLASH, MoveId.FOLLOW_ME]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset([MoveId.FLOWER_TRICK]) .startingLevel(100) .enemyLevel(100); }); it("should prevent critical hits from moves", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); const firstTurnDamage = playerPokemon.getMaxHp() - playerPokemon.hp; - game.move.select(Moves.LUCKY_CHANT); + game.move.select(MoveId.LUCKY_CHANT); await game.phaseInterceptor.to(BerryPhase, false); @@ -56,19 +56,19 @@ describe("Moves - Lucky Chant", () => { it("should prevent critical hits against the user's ally", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.FOLLOW_ME); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FOLLOW_ME); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); const firstTurnDamage = playerPokemon[0].getMaxHp() - playerPokemon[0].hp; - game.move.select(Moves.FOLLOW_ME); - game.move.select(Moves.LUCKY_CHANT, 1); + game.move.select(MoveId.FOLLOW_ME); + game.move.select(MoveId.LUCKY_CHANT, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -77,22 +77,22 @@ describe("Moves - Lucky Chant", () => { }); it("should prevent critical hits from field effects", async () => { - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - enemyPokemon.addTag(BattlerTagType.ALWAYS_CRIT, 2, Moves.NONE, 0); + enemyPokemon.addTag(BattlerTagType.ALWAYS_CRIT, 2, MoveId.NONE, 0); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); const firstTurnDamage = playerPokemon.getMaxHp() - playerPokemon.hp; - game.move.select(Moves.LUCKY_CHANT); + game.move.select(MoveId.LUCKY_CHANT); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/lunar_blessing.test.ts b/test/moves/lunar_blessing.test.ts index 5021a47ff7f..59d0c662859 100644 --- a/test/moves/lunar_blessing.test.ts +++ b/test/moves/lunar_blessing.test.ts @@ -1,8 +1,8 @@ import { StatusEffect } from "#app/enums/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,16 +24,16 @@ describe("Moves - Lunar Blessing", () => { game.override.battleStyle("double"); - game.override.enemySpecies(Species.SHUCKLE); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(SpeciesId.SHUCKLE); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemyAbility(AbilityId.BALL_FETCH); - game.override.moveset([Moves.LUNAR_BLESSING, Moves.SPLASH]); - game.override.ability(Abilities.BALL_FETCH); + game.override.moveset([MoveId.LUNAR_BLESSING, MoveId.SPLASH]); + game.override.ability(AbilityId.BALL_FETCH); }); it("should restore 25% HP of the user and its ally", async () => { - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer] = game.scene.getPlayerField(); vi.spyOn(leftPlayer, "getMaxHp").mockReturnValue(100); @@ -47,9 +47,9 @@ describe("Moves - Lunar Blessing", () => { vi.spyOn(leftPlayer, "heal"); vi.spyOn(rightPlayer, "heal"); - game.move.select(Moves.LUNAR_BLESSING, 0); + game.move.select(MoveId.LUNAR_BLESSING, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.heal).toHaveBeenCalledOnce(); @@ -61,15 +61,15 @@ describe("Moves - Lunar Blessing", () => { it("should cure status effect of the user and its ally", async () => { game.override.statusEffect(StatusEffect.BURN); - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer] = game.scene.getPlayerField(); vi.spyOn(leftPlayer, "resetStatus"); vi.spyOn(rightPlayer, "resetStatus"); - game.move.select(Moves.LUNAR_BLESSING, 0); + game.move.select(MoveId.LUNAR_BLESSING, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.resetStatus).toHaveBeenCalledOnce(); diff --git a/test/moves/lunar_dance.test.ts b/test/moves/lunar_dance.test.ts index 30abe765291..aea1e31b616 100644 --- a/test/moves/lunar_dance.test.ts +++ b/test/moves/lunar_dance.test.ts @@ -1,8 +1,8 @@ import { StatusEffect } from "#app/enums/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -26,20 +26,20 @@ describe("Moves - Lunar Dance", () => { game.override .statusEffect(StatusEffect.BURN) .battleStyle("double") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should full restore HP, PP and status of switched in pokemon, then fail second use because no remaining backup pokemon in party", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.ODDISH, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.ODDISH, SpeciesId.RATTATA]); const [bulbasaur, oddish, rattata] = game.scene.getPlayerParty(); - game.move.changeMoveset(bulbasaur, [Moves.LUNAR_DANCE, Moves.SPLASH]); - game.move.changeMoveset(oddish, [Moves.LUNAR_DANCE, Moves.SPLASH]); - game.move.changeMoveset(rattata, [Moves.LUNAR_DANCE, Moves.SPLASH]); + game.move.changeMoveset(bulbasaur, [MoveId.LUNAR_DANCE, MoveId.SPLASH]); + game.move.changeMoveset(oddish, [MoveId.LUNAR_DANCE, MoveId.SPLASH]); + game.move.changeMoveset(rattata, [MoveId.LUNAR_DANCE, MoveId.SPLASH]); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(CommandPhase); await game.toNextTurn(); @@ -50,12 +50,12 @@ describe("Moves - Lunar Dance", () => { // Switch out Bulbasaur for Rattata so we can swtich bulbasaur back in with lunar dance game.doSwitchPokemon(2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(CommandPhase); await game.toNextTurn(); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.LUNAR_DANCE); game.doSelectPartyPokemon(2); await game.phaseInterceptor.to("SwitchPhase", false); await game.toNextTurn(); @@ -65,8 +65,8 @@ describe("Moves - Lunar Dance", () => { expect(bulbasaur.moveset[1]?.ppUsed).toBe(0); expect(bulbasaur.isFullHp()).toBe(true); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.LUNAR_DANCE); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.LUNAR_DANCE); await game.phaseInterceptor.to(CommandPhase); await game.toNextTurn(); diff --git a/test/moves/magic_coat.test.ts b/test/moves/magic_coat.test.ts index ad0bd47d7cf..4f9e3977305 100644 --- a/test/moves/magic_coat.test.ts +++ b/test/moves/magic_coat.test.ts @@ -6,9 +6,9 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import { Stat } from "#app/enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -29,65 +29,65 @@ describe("Moves - Magic Coat", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .ability(Abilities.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.MAGIC_COAT); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.MAGIC_COAT); }); it("should fail if the user goes last in the turn", async () => { - game.override.moveset([Moves.PROTECT]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.PROTECT]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should fail if called again in the same turn due to moves like instruct", async () => { - game.override.moveset([Moves.INSTRUCT]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.INSTRUCT]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.INSTRUCT); + game.move.select(MoveId.INSTRUCT); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should not reflect moves used on the next turn", async () => { - game.override.moveset([Moves.GROWL, Moves.SPLASH]); - game.override.enemyMoveset([Moves.MAGIC_COAT, Moves.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.GROWL, MoveId.SPLASH]); + game.override.enemyMoveset([MoveId.MAGIC_COAT, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); // turn 1 - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.MAGIC_COAT); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.MAGIC_COAT); await game.toNextTurn(); // turn 2 - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getStatStage(Stat.ATK)).toBe(-1); }); it("should reflect basic status moves", async () => { - game.override.moveset([Moves.GROWL]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.GROWL]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(-1); }); it("should individually bounce back multi-target moves when used by both targets in doubles", async () => { game.override.battleStyle("double"); - game.override.moveset([Moves.GROWL, Moves.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.moveset([MoveId.GROWL, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.GROWL, 0); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); const user = game.scene.getPlayerField()[0]; @@ -96,25 +96,25 @@ describe("Moves - Magic Coat", () => { it("should bounce back a spread status move against both pokemon", async () => { game.override.battleStyle("double"); - game.override.moveset([Moves.GROWL, Moves.SPLASH]); - game.override.enemyMoveset([Moves.SPLASH, Moves.MAGIC_COAT]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.moveset([MoveId.GROWL, MoveId.SPLASH]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.MAGIC_COAT]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL, 0); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.MAGIC_COAT); + game.move.select(MoveId.GROWL, 0); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.MAGIC_COAT); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerField().every(p => p.getStatStage(Stat.ATK) === -1)).toBeTruthy(); }); it("should still bounce back a move that would otherwise fail", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); game.scene.getEnemyPokemon()?.setStatStage(Stat.ATK, -6); - game.override.moveset([Moves.GROWL]); + game.override.moveset([MoveId.GROWL]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(-1); @@ -122,15 +122,15 @@ describe("Moves - Magic Coat", () => { it("should not bounce back a move that was just bounced", async () => { game.override.battleStyle("double"); - game.override.ability(Abilities.MAGIC_BOUNCE); - game.override.moveset([Moves.GROWL, Moves.MAGIC_COAT]); - game.override.enemyMoveset([Moves.SPLASH, Moves.MAGIC_COAT]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); + game.override.ability(AbilityId.MAGIC_BOUNCE); + game.override.moveset([MoveId.GROWL, MoveId.MAGIC_COAT]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.MAGIC_COAT]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); - game.move.select(Moves.MAGIC_COAT, 0); - game.move.select(Moves.GROWL, 1); - await game.move.selectEnemyMove(Moves.MAGIC_COAT); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.MAGIC_COAT, 0); + game.move.select(MoveId.GROWL, 1); + await game.move.selectEnemyMove(MoveId.MAGIC_COAT); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyField()[0].getStatStage(Stat.ATK)).toBe(0); @@ -138,20 +138,20 @@ describe("Moves - Magic Coat", () => { // todo while Mirror Armor is not implemented it.todo("should receive the stat change after reflecting a move back to a mirror armor user", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getStatStage(Stat.ATK)).toBe(-1); }); it("should still bounce back a move from a mold breaker user", async () => { - game.override.ability(Abilities.MOLD_BREAKER); - game.override.moveset([Moves.GROWL]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.ability(AbilityId.MOLD_BREAKER); + game.override.moveset([MoveId.GROWL]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getStatStage(Stat.ATK)).toBe(0); @@ -160,10 +160,10 @@ describe("Moves - Magic Coat", () => { it("should only bounce spikes back once when both targets use magic coat in doubles", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.override.moveset([Moves.SPIKES]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.override.moveset([MoveId.SPIKES]); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.PLAYER)!["layers"]).toBe(1); @@ -171,11 +171,11 @@ describe("Moves - Magic Coat", () => { }); it("should not bounce back curse", async () => { - game.override.starterSpecies(Species.GASTLY); - await game.classicMode.startBattle([Species.GASTLY]); - game.override.moveset([Moves.CURSE]); + game.override.starterSpecies(SpeciesId.GASTLY); + await game.classicMode.startBattle([SpeciesId.GASTLY]); + game.override.moveset([MoveId.CURSE]); - game.move.select(Moves.CURSE); + game.move.select(MoveId.CURSE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getTag(BattlerTagType.CURSED)).toBeDefined(); @@ -183,40 +183,40 @@ describe("Moves - Magic Coat", () => { // TODO: encore is failing if the last move was virtual. it.todo("should not cause the bounced move to count for encore", async () => { - game.override.moveset([Moves.GROWL, Moves.ENCORE]); - game.override.enemyMoveset([Moves.MAGIC_COAT, Moves.TACKLE]); - game.override.enemyAbility(Abilities.MAGIC_BOUNCE); + game.override.moveset([MoveId.GROWL, MoveId.ENCORE]); + game.override.enemyMoveset([MoveId.MAGIC_COAT, MoveId.TACKLE]); + game.override.enemyAbility(AbilityId.MAGIC_BOUNCE); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyPokemon = game.scene.getEnemyPokemon()!; // turn 1 - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.MAGIC_COAT); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.MAGIC_COAT); await game.toNextTurn(); // turn 2 - game.move.select(Moves.ENCORE); - await game.move.selectEnemyMove(Moves.TACKLE); + game.move.select(MoveId.ENCORE); + await game.move.selectEnemyMove(MoveId.TACKLE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase"); - expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(Moves.TACKLE); - expect(enemyPokemon.getLastXMoves()[0].move).toBe(Moves.TACKLE); + expect(enemyPokemon.getTag(BattlerTagType.ENCORE)!["moveId"]).toBe(MoveId.TACKLE); + expect(enemyPokemon.getLastXMoves()[0].move).toBe(MoveId.TACKLE); }); // TODO: stomping tantrum should consider moves that were bounced. it.todo("should cause stomping tantrum to double in power when the last move was bounced", async () => { game.override.battleStyle("single"); - await game.classicMode.startBattle([Species.MAGIKARP]); - game.override.moveset([Moves.STOMPING_TANTRUM, Moves.CHARM]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); + game.override.moveset([MoveId.STOMPING_TANTRUM, MoveId.CHARM]); - const stomping_tantrum = allMoves[Moves.STOMPING_TANTRUM]; + const stomping_tantrum = allMoves[MoveId.STOMPING_TANTRUM]; vi.spyOn(stomping_tantrum, "calculateBattlePower"); - game.move.select(Moves.CHARM); + game.move.select(MoveId.CHARM); await game.toNextTurn(); - game.move.select(Moves.STOMPING_TANTRUM); + game.move.select(MoveId.STOMPING_TANTRUM); await game.phaseInterceptor.to("BerryPhase"); expect(stomping_tantrum.calculateBattlePower).toHaveReturnedWith(150); }); @@ -225,15 +225,15 @@ describe("Moves - Magic Coat", () => { it.todo( "should properly cause the enemy's stomping tantrum to be doubled in power after bouncing and failing", async () => { - game.override.enemyMoveset([Moves.STOMPING_TANTRUM, Moves.SPLASH, Moves.CHARM]); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.enemyMoveset([MoveId.STOMPING_TANTRUM, MoveId.SPLASH, MoveId.CHARM]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); - const stomping_tantrum = allMoves[Moves.STOMPING_TANTRUM]; + const stomping_tantrum = allMoves[MoveId.STOMPING_TANTRUM]; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(stomping_tantrum, "calculateBattlePower"); - game.move.select(Moves.SPORE); - await game.move.selectEnemyMove(Moves.CHARM); + game.move.select(MoveId.SPORE); + await game.move.selectEnemyMove(MoveId.CHARM); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.getLastXMoves(1)[0].result).toBe("success"); @@ -241,48 +241,48 @@ describe("Moves - Magic Coat", () => { expect(stomping_tantrum.calculateBattlePower).toHaveReturnedWith(75); await game.toNextTurn(); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(stomping_tantrum.calculateBattlePower).toHaveReturnedWith(75); }, ); it("should respect immunities when bouncing a move", async () => { - vi.spyOn(allMoves[Moves.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); - game.override.moveset([Moves.THUNDER_WAVE, Moves.GROWL]); - game.override.ability(Abilities.SOUNDPROOF); - await game.classicMode.startBattle([Species.PHANPY]); + vi.spyOn(allMoves[MoveId.THUNDER_WAVE], "accuracy", "get").mockReturnValue(100); + game.override.moveset([MoveId.THUNDER_WAVE, MoveId.GROWL]); + game.override.ability(AbilityId.SOUNDPROOF); + await game.classicMode.startBattle([SpeciesId.PHANPY]); // Turn 1 - thunder wave immunity test - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status).toBeUndefined(); // Turn 2 - soundproof immunity test - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)).toBe(0); }); it("should bounce back a move before the accuracy check", async () => { - game.override.moveset([Moves.SPORE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.SPORE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const attacker = game.scene.getPlayerPokemon()!; vi.spyOn(attacker, "getAccuracyMultiplier").mockReturnValue(0.0); - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status?.effect).toBe(StatusEffect.SLEEP); }); it("should take the accuracy of the magic bounce user into account", async () => { - game.override.moveset([Moves.SPORE]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.SPORE]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const opponent = game.scene.getEnemyPokemon()!; vi.spyOn(opponent, "getAccuracyMultiplier").mockReturnValue(0); - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getPlayerPokemon()!.status).toBeUndefined(); }); diff --git a/test/moves/magnet_rise.test.ts b/test/moves/magnet_rise.test.ts index 5d5ae91c4fe..16f449899ef 100644 --- a/test/moves/magnet_rise.test.ts +++ b/test/moves/magnet_rise.test.ts @@ -1,7 +1,7 @@ import { CommandPhase } from "#app/phases/command-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -9,7 +9,7 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; describe("Moves - Magnet Rise", () => { let phaserGame: Phaser.Game; let game: GameManager; - const moveToUse = Moves.MAGNET_RISE; + const moveToUse = MoveId.MAGNET_RISE; beforeAll(() => { phaserGame = new Phaser.Game({ @@ -25,12 +25,12 @@ describe("Moves - Magnet Rise", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .starterSpecies(Species.MAGNEZONE) - .enemySpecies(Species.RATTATA) - .enemyMoveset(Moves.DRILL_RUN) + .starterSpecies(SpeciesId.MAGNEZONE) + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset(MoveId.DRILL_RUN) .disableCrits() .enemyLevel(1) - .moveset([moveToUse, Moves.SPLASH, Moves.GRAVITY, Moves.BATON_PASS]); + .moveset([moveToUse, MoveId.SPLASH, MoveId.GRAVITY, MoveId.BATON_PASS]); }); it("MAGNET RISE", async () => { @@ -53,7 +53,7 @@ describe("Moves - Magnet Rise", () => { let finalHp = game.scene.getPlayerParty()[0].hp; let hpLost = finalHp - startingHp; expect(hpLost).toBe(0); - game.move.select(Moves.GRAVITY); + game.move.select(MoveId.GRAVITY); await game.phaseInterceptor.to(TurnEndPhase); finalHp = game.scene.getPlayerParty()[0].hp; hpLost = finalHp - startingHp; diff --git a/test/moves/make_it_rain.test.ts b/test/moves/make_it_rain.test.ts index b897304662d..0089dfb642d 100644 --- a/test/moves/make_it_rain.test.ts +++ b/test/moves/make_it_rain.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,21 +25,21 @@ describe("Moves - Make It Rain", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.moveset([Moves.MAKE_IT_RAIN, Moves.SPLASH]); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyAbility(Abilities.INSOMNIA); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.MAKE_IT_RAIN, MoveId.SPLASH]); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyAbility(AbilityId.INSOMNIA); + game.override.enemyMoveset(MoveId.SPLASH); game.override.startingLevel(100); game.override.enemyLevel(100); }); it("should only lower SPATK stat stage by 1 once in a double battle", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.MAKE_IT_RAIN); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.MAKE_IT_RAIN); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(MoveEndPhase); @@ -50,12 +50,12 @@ describe("Moves - Make It Rain", () => { game.override.enemyLevel(1); // ensures the enemy will faint game.override.battleStyle("single"); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.MAKE_IT_RAIN); + game.move.select(MoveId.MAKE_IT_RAIN); await game.phaseInterceptor.to(StatStageChangePhase); @@ -66,13 +66,13 @@ describe("Moves - Make It Rain", () => { it("should reduce Sp. Atk. once after KOing two enemies", async () => { game.override.enemyLevel(1); // ensures the enemy will faint - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.MAKE_IT_RAIN); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.MAKE_IT_RAIN); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(StatStageChangePhase); @@ -81,12 +81,12 @@ describe("Moves - Make It Rain", () => { }); it("should lower SPATK stat stage by 1 if it only hits the second target", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.MAKE_IT_RAIN); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.MAKE_IT_RAIN); + game.move.select(MoveId.SPLASH, 1); // Make Make It Rain miss the first target await game.move.forceMiss(true); diff --git a/test/moves/mat_block.test.ts b/test/moves/mat_block.test.ts index 3e7958d665b..c512503c9c4 100644 --- a/test/moves/mat_block.test.ts +++ b/test/moves/mat_block.test.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; import { BerryPhase } from "#app/phases/berry-phase"; import { CommandPhase } from "#app/phases/command-phase"; @@ -28,26 +28,26 @@ describe("Moves - Mat Block", () => { game.override.battleStyle("double"); - game.override.moveset([Moves.MAT_BLOCK, Moves.SPLASH]); + game.override.moveset([MoveId.MAT_BLOCK, MoveId.SPLASH]); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyMoveset([Moves.TACKLE]); - game.override.enemyAbility(Abilities.INSOMNIA); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyMoveset([MoveId.TACKLE]); + game.override.enemyAbility(AbilityId.INSOMNIA); game.override.startingLevel(100); game.override.enemyLevel(100); }); test("should protect the user and allies from attack moves", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.MAT_BLOCK); + game.move.select(MoveId.MAT_BLOCK); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -55,17 +55,17 @@ describe("Moves - Mat Block", () => { }); test("should not protect the user and allies from status moves", async () => { - game.override.enemyMoveset([Moves.GROWL]); + game.override.enemyMoveset([MoveId.GROWL]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.MAT_BLOCK); + game.move.select(MoveId.MAT_BLOCK); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -73,22 +73,22 @@ describe("Moves - Mat Block", () => { }); test("should fail when used after the first turn", async () => { - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(TurnEndPhase); const leadStartingHp = leadPokemon.map(p => p.hp); await game.phaseInterceptor.to(CommandPhase, false); - game.move.select(Moves.MAT_BLOCK); + game.move.select(MoveId.MAT_BLOCK); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.MAT_BLOCK, 1); + game.move.select(MoveId.MAT_BLOCK, 1); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/metal_burst.test.ts b/test/moves/metal_burst.test.ts index cadcbe07a0d..0222dd222be 100644 --- a/test/moves/metal_burst.test.ts +++ b/test/moves/metal_burst.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,26 +24,26 @@ describe("Moves - Metal Burst", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.METAL_BURST, Moves.FISSURE, Moves.PRECIPICE_BLADES]) - .ability(Abilities.PURE_POWER) + .moveset([MoveId.METAL_BURST, MoveId.FISSURE, MoveId.PRECIPICE_BLADES]) + .ability(AbilityId.PURE_POWER) .startingLevel(10) .battleStyle("double") .disableCrits() - .enemySpecies(Species.PICHU) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE); + .enemySpecies(SpeciesId.PICHU) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE); }); it("should redirect target if intended target faints", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.FEEBAS]); const [, enemy2] = game.scene.getEnemyField(); - game.move.select(Moves.METAL_BURST); - game.move.select(Moves.FISSURE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.METAL_BURST); + game.move.select(MoveId.FISSURE, 1, BattlerIndex.ENEMY); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); @@ -56,15 +56,15 @@ describe("Moves - Metal Burst", () => { }); it("should not crash if both opponents faint before the move is used", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.ARCEUS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.ARCEUS]); const [enemy1, enemy2] = game.scene.getEnemyField(); - game.move.select(Moves.METAL_BURST); - game.move.select(Moves.PRECIPICE_BLADES, 1); + game.move.select(MoveId.METAL_BURST); + game.move.select(MoveId.PRECIPICE_BLADES, 1); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER, BattlerIndex.ENEMY_2]); diff --git a/test/moves/metronome.test.ts b/test/moves/metronome.test.ts index 75b4b7190e6..0e6db09ae5c 100644 --- a/test/moves/metronome.test.ts +++ b/test/moves/metronome.test.ts @@ -1,11 +1,11 @@ import { RechargingTag, SemiInvulnerableTag } from "#app/data/battler-tags"; import { RandomMoveAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Stat } from "#app/enums/stat"; import { CommandPhase } from "#app/phases/command-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -27,26 +27,26 @@ describe("Moves - Metronome", () => { }); beforeEach(() => { - randomMoveAttr = allMoves[Moves.METRONOME].getAttrs(RandomMoveAttr)[0]; + randomMoveAttr = allMoves[MoveId.METRONOME].getAttrs(RandomMoveAttr)[0]; game = new GameManager(phaserGame); game.override - .moveset([Moves.METRONOME, Moves.SPLASH]) + .moveset([MoveId.METRONOME, MoveId.SPLASH]) .battleStyle("single") .startingLevel(100) - .starterSpecies(Species.REGIELEKI) + .starterSpecies(SpeciesId.REGIELEKI) .enemyLevel(100) - .enemySpecies(Species.SHUCKLE) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH); + .enemySpecies(SpeciesId.SHUCKLE) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH); }); it("should have one semi-invulnerable turn and deal damage on the second turn when a semi-invulnerable move is called", async () => { await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.DIVE); + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.DIVE); - game.move.select(Moves.METRONOME); + game.move.select(MoveId.METRONOME); await game.toNextTurn(); expect(player.getTag(SemiInvulnerableTag)).toBeTruthy(); @@ -59,9 +59,9 @@ describe("Moves - Metronome", () => { it("should apply secondary effects of a move", async () => { await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.WOOD_HAMMER); + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.WOOD_HAMMER); - game.move.select(Moves.METRONOME); + game.move.select(MoveId.METRONOME); await game.toNextTurn(); expect(player.isFullHp()).toBeFalsy(); @@ -70,10 +70,10 @@ describe("Moves - Metronome", () => { it("should recharge after using recharge move", async () => { await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.HYPER_BEAM); - vi.spyOn(allMoves[Moves.HYPER_BEAM], "accuracy", "get").mockReturnValue(100); + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.HYPER_BEAM); + vi.spyOn(allMoves[MoveId.HYPER_BEAM], "accuracy", "get").mockReturnValue(100); - game.move.select(Moves.METRONOME); + game.move.select(MoveId.METRONOME); await game.toNextTurn(); expect(player.getTag(RechargingTag)).toBeTruthy(); @@ -81,14 +81,14 @@ describe("Moves - Metronome", () => { it("should only target ally for Aromatic Mist", async () => { game.override.battleStyle("double"); - await game.classicMode.startBattle([Species.REGIELEKI, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer] = game.scene.getPlayerField(); const [leftOpp, rightOpp] = game.scene.getEnemyField(); - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.AROMATIC_MIST); + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.AROMATIC_MIST); - game.move.select(Moves.METRONOME, 0); + game.move.select(MoveId.METRONOME, 0); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(rightPlayer.getStatStage(Stat.SPDEF)).toBe(1); @@ -99,11 +99,11 @@ describe("Moves - Metronome", () => { it("should cause opponent to flee, and not crash for Roar", async () => { await game.classicMode.startBattle(); - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.ROAR); + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.ROAR); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.METRONOME); + game.move.select(MoveId.METRONOME); await game.phaseInterceptor.to("BerryPhase"); const isVisible = enemyPokemon.visible; diff --git a/test/moves/miracle_eye.test.ts b/test/moves/miracle_eye.test.ts index 2dbfb962540..dd5fb1c355b 100644 --- a/test/moves/miracle_eye.test.ts +++ b/test/moves/miracle_eye.test.ts @@ -1,6 +1,6 @@ import { BattlerIndex } from "#app/battle"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,11 +24,11 @@ describe("Moves - Miracle Eye", () => { game = new GameManager(phaserGame); game.override .disableCrits() - .enemySpecies(Species.UMBREON) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.UMBREON) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(5) - .starterSpecies(Species.MAGIKARP) - .moveset([Moves.MIRACLE_EYE, Moves.CONFUSION]); + .starterSpecies(SpeciesId.MAGIKARP) + .moveset([MoveId.MIRACLE_EYE, MoveId.CONFUSION]); }); it("should allow Psychic moves to hit Dark types", async () => { @@ -36,13 +36,13 @@ describe("Moves - Miracle Eye", () => { const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.CONFUSION); + game.move.select(MoveId.CONFUSION); await game.toNextTurn(); expect(enemy.hp).toBe(enemy.getMaxHp()); - game.move.select(Moves.MIRACLE_EYE); + game.move.select(MoveId.MIRACLE_EYE); await game.toNextTurn(); - game.move.select(Moves.CONFUSION); + game.move.select(MoveId.CONFUSION); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); diff --git a/test/moves/mirror_move.test.ts b/test/moves/mirror_move.test.ts index 6a73e3a1f05..18e115745b9 100644 --- a/test/moves/mirror_move.test.ts +++ b/test/moves/mirror_move.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { Stat } from "#app/enums/stat"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,23 +25,23 @@ describe("Moves - Mirror Move", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.MIRROR_MOVE, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.MIRROR_MOVE, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should use the last move that the target used on the user", async () => { - game.override.battleStyle("double").enemyMoveset([Moves.TACKLE, Moves.GROWL]); - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + game.override.battleStyle("double").enemyMoveset([MoveId.TACKLE, MoveId.GROWL]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); - game.move.select(Moves.MIRROR_MOVE, 0, BattlerIndex.ENEMY); // target's last move is Tackle, enemy should receive damage from Mirror Move copying Tackle - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.GROWL, BattlerIndex.PLAYER_2); + game.move.select(MoveId.MIRROR_MOVE, 0, BattlerIndex.ENEMY); // target's last move is Tackle, enemy should receive damage from Mirror Move copying Tackle + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.GROWL, BattlerIndex.PLAYER_2); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -49,10 +49,10 @@ describe("Moves - Mirror Move", () => { }); it("should apply secondary effects of a move", async () => { - game.override.enemyMoveset(Moves.ACID_SPRAY); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyMoveset(MoveId.ACID_SPRAY); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.MIRROR_MOVE); + game.move.select(MoveId.MIRROR_MOVE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -60,10 +60,10 @@ describe("Moves - Mirror Move", () => { }); it("should be able to copy status moves", async () => { - game.override.enemyMoveset(Moves.GROWL); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyMoveset(MoveId.GROWL); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.MIRROR_MOVE); + game.move.select(MoveId.MIRROR_MOVE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -71,9 +71,9 @@ describe("Moves - Mirror Move", () => { }); it("should fail if the target has not used any moves", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.MIRROR_MOVE); + game.move.select(MoveId.MIRROR_MOVE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); diff --git a/test/moves/mist.test.ts b/test/moves/mist.test.ts index 70cdf5b55a0..ea4eb95a1eb 100644 --- a/test/moves/mist.test.ts +++ b/test/moves/mist.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,22 +23,22 @@ describe("Moves - Mist", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.MIST, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.MIST, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("double") .disableCrits() - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.GROWL); + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.GROWL); }); it("should prevent the user's side from having stats lowered", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.MIST, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.MIST, 0); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/moongeist_beam.test.ts b/test/moves/moongeist_beam.test.ts index 29398776f7f..f462d81943f 100644 --- a/test/moves/moongeist_beam.test.ts +++ b/test/moves/moongeist_beam.test.ts @@ -1,8 +1,8 @@ import { RandomMoveAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -24,23 +24,23 @@ describe("Moves - Moongeist Beam", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.MOONGEIST_BEAM, Moves.METRONOME]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.MOONGEIST_BEAM, MoveId.METRONOME]) + .ability(AbilityId.BALL_FETCH) .startingLevel(200) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.STURDY) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.STURDY) + .enemyMoveset(MoveId.SPLASH); }); // Also covers Photon Geyser and Sunsteel Strike it("should ignore enemy abilities", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.MILOTIC]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.MOONGEIST_BEAM); + game.move.select(MoveId.MOONGEIST_BEAM); await game.phaseInterceptor.to("BerryPhase"); expect(enemy.isFainted()).toBe(true); @@ -48,15 +48,15 @@ describe("Moves - Moongeist Beam", () => { // Also covers Photon Geyser and Sunsteel Strike it("should not ignore enemy abilities when called by another move, such as metronome", async () => { - await game.classicMode.startBattle([Species.MILOTIC]); - vi.spyOn(allMoves[Moves.METRONOME].getAttrs(RandomMoveAttr)[0], "getMoveOverride").mockReturnValue( - Moves.MOONGEIST_BEAM, + await game.classicMode.startBattle([SpeciesId.MILOTIC]); + vi.spyOn(allMoves[MoveId.METRONOME].getAttrs(RandomMoveAttr)[0], "getMoveOverride").mockReturnValue( + MoveId.MOONGEIST_BEAM, ); - game.move.select(Moves.METRONOME); + game.move.select(MoveId.METRONOME); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.isFainted()).toBe(false); - expect(game.scene.getPlayerPokemon()!.getLastXMoves()[0].move).toBe(Moves.MOONGEIST_BEAM); + expect(game.scene.getPlayerPokemon()!.getLastXMoves()[0].move).toBe(MoveId.MOONGEIST_BEAM); }); }); diff --git a/test/moves/multi_target.test.ts b/test/moves/multi_target.test.ts index af98c9a89f4..4572097296c 100644 --- a/test/moves/multi_target.test.ts +++ b/test/moves/multi_target.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#app/enums/abilities"; -import { Species } from "#app/enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import { toDmgValue } from "#app/utils/common"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -28,20 +28,20 @@ describe("Multi-target damage reduction", () => { .battleStyle("double") .enemyLevel(100) .startingLevel(100) - .enemySpecies(Species.POLIWAG) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.TACKLE, Moves.DAZZLING_GLEAM, Moves.EARTHQUAKE, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH); + .enemySpecies(SpeciesId.POLIWAG) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.TACKLE, MoveId.DAZZLING_GLEAM, MoveId.EARTHQUAKE, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH); }); it("should reduce d.gleam damage when multiple enemies but not tackle", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const [enemy1, enemy2] = game.scene.getEnemyField(); - game.move.select(Moves.DAZZLING_GLEAM); - game.move.select(Moves.TACKLE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.DAZZLING_GLEAM); + game.move.select(MoveId.TACKLE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -56,8 +56,8 @@ describe("Multi-target damage reduction", () => { await game.killPokemon(enemy2); await game.toNextTurn(); - game.move.select(Moves.DAZZLING_GLEAM); - game.move.select(Moves.TACKLE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.DAZZLING_GLEAM); + game.move.select(MoveId.TACKLE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -76,13 +76,13 @@ describe("Multi-target damage reduction", () => { }); it("should reduce earthquake when more than one pokemon other than user is not fainted", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const player2 = game.scene.getPlayerParty()[1]; const [enemy1, enemy2] = game.scene.getEnemyField(); - game.move.select(Moves.EARTHQUAKE); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.EARTHQUAKE); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -96,8 +96,8 @@ describe("Multi-target damage reduction", () => { await game.killPokemon(enemy2); await game.toNextTurn(); - game.move.select(Moves.EARTHQUAKE); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.EARTHQUAKE); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -115,7 +115,7 @@ describe("Multi-target damage reduction", () => { await game.killPokemon(player2); await game.toNextTurn(); - game.move.select(Moves.EARTHQUAKE); + game.move.select(MoveId.EARTHQUAKE); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); diff --git a/test/moves/nightmare.test.ts b/test/moves/nightmare.test.ts index 044856ae33d..e005def85ad 100644 --- a/test/moves/nightmare.test.ts +++ b/test/moves/nightmare.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,27 +25,27 @@ describe("Moves - Nightmare", () => { game.override .battleStyle("single") - .enemySpecies(Species.RATTATA) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) .enemyStatusEffect(StatusEffect.SLEEP) .startingLevel(5) - .moveset([Moves.NIGHTMARE, Moves.SPLASH]); + .moveset([MoveId.NIGHTMARE, MoveId.SPLASH]); }); it("lowers enemy hp by 1/4 each turn while asleep", async () => { - await game.classicMode.startBattle([Species.HYPNO]); + await game.classicMode.startBattle([SpeciesId.HYPNO]); const enemyPokemon = game.scene.getEnemyPokemon()!; const enemyMaxHP = enemyPokemon.hp; - game.move.select(Moves.NIGHTMARE); + game.move.select(MoveId.NIGHTMARE); await game.toNextTurn(); expect(enemyPokemon.hp).toBe(enemyMaxHP - Math.floor(enemyMaxHP / 4)); // take a second turn to make sure damage occurs again - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(enemyPokemon.hp).toBe(enemyMaxHP - Math.floor(enemyMaxHP / 4) - Math.floor(enemyMaxHP / 4)); diff --git a/test/moves/obstruct.test.ts b/test/moves/obstruct.test.ts index f35a5964bcb..fc534180bef 100644 --- a/test/moves/obstruct.test.ts +++ b/test/moves/obstruct.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,18 +23,18 @@ describe("Moves - Obstruct", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.TACKLE) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.OBSTRUCT]) - .starterSpecies(Species.FEEBAS); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.TACKLE) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.OBSTRUCT]) + .starterSpecies(SpeciesId.FEEBAS); }); it("protects from contact damaging moves and lowers the opponent's defense by 2 stages", async () => { await game.classicMode.startBattle(); - game.move.select(Moves.OBSTRUCT); + game.move.select(MoveId.OBSTRUCT); await game.phaseInterceptor.to("BerryPhase"); const player = game.scene.getPlayerPokemon()!; @@ -47,7 +47,7 @@ describe("Moves - Obstruct", () => { it("bypasses accuracy checks when applying protection and defense reduction", async () => { await game.classicMode.startBattle(); - game.move.select(Moves.OBSTRUCT); + game.move.select(MoveId.OBSTRUCT); await game.phaseInterceptor.to("MoveEffectPhase"); await game.move.forceMiss(); @@ -60,10 +60,10 @@ describe("Moves - Obstruct", () => { }); it("protects from non-contact damaging moves and doesn't lower the opponent's defense by 2 stages", async () => { - game.override.enemyMoveset(Moves.WATER_GUN); + game.override.enemyMoveset(MoveId.WATER_GUN); await game.classicMode.startBattle(); - game.move.select(Moves.OBSTRUCT); + game.move.select(MoveId.OBSTRUCT); await game.phaseInterceptor.to("BerryPhase"); const player = game.scene.getPlayerPokemon()!; @@ -74,10 +74,10 @@ describe("Moves - Obstruct", () => { }); it("doesn't protect from status moves", async () => { - game.override.enemyMoveset(Moves.GROWL); + game.override.enemyMoveset(MoveId.GROWL); await game.classicMode.startBattle(); - game.move.select(Moves.OBSTRUCT); + game.move.select(MoveId.OBSTRUCT); await game.phaseInterceptor.to("BerryPhase"); const player = game.scene.getPlayerPokemon()!; @@ -86,10 +86,10 @@ describe("Moves - Obstruct", () => { }); it("doesn't reduce the stats of an opponent with Clear Body/etc", async () => { - game.override.enemyAbility(Abilities.CLEAR_BODY); + game.override.enemyAbility(AbilityId.CLEAR_BODY); await game.classicMode.startBattle(); - game.move.select(Moves.OBSTRUCT); + game.move.select(MoveId.OBSTRUCT); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()!.getStatStage(Stat.DEF)).toBe(0); diff --git a/test/moves/octolock.test.ts b/test/moves/octolock.test.ts index fb57d0bfad5..2a2f8743ad2 100644 --- a/test/moves/octolock.test.ts +++ b/test/moves/octolock.test.ts @@ -1,7 +1,7 @@ import { TrappedTag } from "#app/data/battler-tags"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -26,28 +26,28 @@ describe("Moves - Octolock", () => { game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) .startingLevel(2000) - .moveset([Moves.OCTOLOCK, Moves.SPLASH, Moves.TRICK_OR_TREAT]) - .ability(Abilities.BALL_FETCH); + .moveset([MoveId.OCTOLOCK, MoveId.SPLASH, MoveId.TRICK_OR_TREAT]) + .ability(AbilityId.BALL_FETCH); }); it("lowers DEF and SPDEF stat stages of the target Pokemon by 1 each turn", async () => { - await game.classicMode.startBattle([Species.GRAPPLOCT]); + await game.classicMode.startBattle([SpeciesId.GRAPPLOCT]); const enemyPokemon = game.scene.getEnemyPokemon()!; // use Octolock and advance to init phase of next turn to check for stat changes - game.move.select(Moves.OCTOLOCK); + game.move.select(MoveId.OCTOLOCK); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(-1); expect(enemyPokemon.getStatStage(Stat.SPDEF)).toBe(-1); // take a second turn to make sure stat changes occur again - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(-2); @@ -55,13 +55,13 @@ describe("Moves - Octolock", () => { }); it("if target pokemon has BIG_PECKS, should only lower SPDEF stat stage by 1", async () => { - game.override.enemyAbility(Abilities.BIG_PECKS); - await game.classicMode.startBattle([Species.GRAPPLOCT]); + game.override.enemyAbility(AbilityId.BIG_PECKS); + await game.classicMode.startBattle([SpeciesId.GRAPPLOCT]); const enemyPokemon = game.scene.getEnemyPokemon()!; // use Octolock and advance to init phase of next turn to check for stat changes - game.move.select(Moves.OCTOLOCK); + game.move.select(MoveId.OCTOLOCK); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(0); @@ -69,13 +69,13 @@ describe("Moves - Octolock", () => { }); it("if target pokemon has WHITE_SMOKE, should not reduce any stat stages", async () => { - game.override.enemyAbility(Abilities.WHITE_SMOKE); - await game.classicMode.startBattle([Species.GRAPPLOCT]); + game.override.enemyAbility(AbilityId.WHITE_SMOKE); + await game.classicMode.startBattle([SpeciesId.GRAPPLOCT]); const enemyPokemon = game.scene.getEnemyPokemon()!; // use Octolock and advance to init phase of next turn to check for stat changes - game.move.select(Moves.OCTOLOCK); + game.move.select(MoveId.OCTOLOCK); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(0); @@ -83,13 +83,13 @@ describe("Moves - Octolock", () => { }); it("if target pokemon has CLEAR_BODY, should not reduce any stat stages", async () => { - game.override.enemyAbility(Abilities.CLEAR_BODY); - await game.classicMode.startBattle([Species.GRAPPLOCT]); + game.override.enemyAbility(AbilityId.CLEAR_BODY); + await game.classicMode.startBattle([SpeciesId.GRAPPLOCT]); const enemyPokemon = game.scene.getEnemyPokemon()!; // use Octolock and advance to init phase of next turn to check for stat changes - game.move.select(Moves.OCTOLOCK); + game.move.select(MoveId.OCTOLOCK); await game.toNextTurn(); expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(0); @@ -97,14 +97,14 @@ describe("Moves - Octolock", () => { }); it("traps the target pokemon", async () => { - await game.classicMode.startBattle([Species.GRAPPLOCT]); + await game.classicMode.startBattle([SpeciesId.GRAPPLOCT]); const enemyPokemon = game.scene.getEnemyPokemon()!; // before Octolock - enemy should not be trapped expect(enemyPokemon.findTag(t => t instanceof TrappedTag)).toBeUndefined(); - game.move.select(Moves.OCTOLOCK); + game.move.select(MoveId.OCTOLOCK); // after Octolock - enemy should be trapped await game.phaseInterceptor.to("MoveEndPhase"); @@ -112,15 +112,15 @@ describe("Moves - Octolock", () => { }); it("does not work on ghost type pokemon", async () => { - game.override.enemyMoveset(Moves.OCTOLOCK); - await game.classicMode.startBattle([Species.GASTLY]); + game.override.enemyMoveset(MoveId.OCTOLOCK); + await game.classicMode.startBattle([SpeciesId.GASTLY]); const playerPokemon = game.scene.getPlayerPokemon()!; // before Octolock - player should not be trapped expect(playerPokemon.findTag(t => t instanceof TrappedTag)).toBeUndefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // after Octolock - player should still not be trapped, and no stat loss @@ -130,16 +130,16 @@ describe("Moves - Octolock", () => { }); it("does not work on pokemon with added ghost type via Trick-or-Treat", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; // before Octolock - pokemon should not be trapped expect(enemy.findTag(t => t instanceof TrappedTag)).toBeUndefined(); - game.move.select(Moves.TRICK_OR_TREAT); + game.move.select(MoveId.TRICK_OR_TREAT); await game.toNextTurn(); - game.move.select(Moves.OCTOLOCK); + game.move.select(MoveId.OCTOLOCK); await game.toNextTurn(); // after Octolock - pokemon should still not be trapped, and no stat loss diff --git a/test/moves/order_up.test.ts b/test/moves/order_up.test.ts index b5df5bfba41..c6ca7ac06da 100644 --- a/test/moves/order_up.test.ts +++ b/test/moves/order_up.test.ts @@ -3,9 +3,9 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { PokemonAnimType } from "#enums/pokemon-anim-type"; import type { EffectiveStat } from "#enums/stat"; import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,13 +27,13 @@ describe("Moves - Order Up", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.ORDER_UP) - .ability(Abilities.COMMANDER) + .moveset(MoveId.ORDER_UP) + .ability(AbilityId.COMMANDER) .battleStyle("double") .disableCrits() - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .startingLevel(100) .enemyLevel(100); @@ -47,16 +47,16 @@ describe("Moves - Order Up", () => { ])( "should raise the user's $statName when the user is commanded by a $formName Tatsugiri", async ({ formIndex, stat }) => { - game.override.starterForms({ [Species.TATSUGIRI]: formIndex }); + game.override.starterForms({ [SpeciesId.TATSUGIRI]: formIndex }); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - game.move.select(Moves.ORDER_UP, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.ORDER_UP, 1, BattlerIndex.ENEMY); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); await game.phaseInterceptor.to("BerryPhase", false); @@ -67,21 +67,21 @@ describe("Moves - Order Up", () => { ); it("should be boosted by Sheer Force while still applying a stat boost", async () => { - game.override.passiveAbility(Abilities.SHEER_FORCE).starterForms({ [Species.TATSUGIRI]: 0 }); + game.override.passiveAbility(AbilityId.SHEER_FORCE).starterForms({ [SpeciesId.TATSUGIRI]: 0 }); - await game.classicMode.startBattle([Species.TATSUGIRI, Species.DONDOZO]); + await game.classicMode.startBattle([SpeciesId.TATSUGIRI, SpeciesId.DONDOZO]); const [tatsugiri, dondozo] = game.scene.getPlayerField(); expect(game.scene.triggerPokemonBattleAnim).toHaveBeenLastCalledWith(tatsugiri, PokemonAnimType.COMMANDER_APPLY); expect(dondozo.getTag(BattlerTagType.COMMANDED)).toBeDefined(); - game.move.select(Moves.ORDER_UP, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.ORDER_UP, 1, BattlerIndex.ENEMY); expect(game.scene.currentBattle.turnCommands[0]?.skip).toBeTruthy(); await game.phaseInterceptor.to("BerryPhase", false); - expect(dondozo.waveData.abilitiesApplied.has(Abilities.SHEER_FORCE)).toBeTruthy(); + expect(dondozo.waveData.abilitiesApplied.has(AbilityId.SHEER_FORCE)).toBeTruthy(); expect(dondozo.getStatStage(Stat.ATK)).toBe(3); }); }); diff --git a/test/moves/parting_shot.test.ts b/test/moves/parting_shot.test.ts index 26f8790d3b9..f7a1b86fb34 100644 --- a/test/moves/parting_shot.test.ts +++ b/test/moves/parting_shot.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, test } from "vitest"; import GameManager from "#test/testUtils/gameManager"; @@ -27,69 +27,69 @@ describe("Moves - Parting Shot", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.moveset([Moves.PARTING_SHOT, Moves.SPLASH]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.moveset([MoveId.PARTING_SHOT, MoveId.SPLASH]); + game.override.enemyMoveset(MoveId.SPLASH); game.override.startingLevel(5); game.override.enemyLevel(5); }); test("Parting Shot when buffed by prankster should fail against dark types", async () => { - game.override.enemySpecies(Species.POOCHYENA).ability(Abilities.PRANKSTER); - await game.classicMode.startBattle([Species.MURKROW, Species.MEOWTH]); + game.override.enemySpecies(SpeciesId.POOCHYENA).ability(AbilityId.PRANKSTER); + await game.classicMode.startBattle([SpeciesId.MURKROW, SpeciesId.MEOWTH]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon).toBeDefined(); - game.move.select(Moves.PARTING_SHOT); + game.move.select(MoveId.PARTING_SHOT); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(0); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(0); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MURKROW); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MURKROW); }); test("Parting shot should fail against good as gold ability", async () => { - game.override.enemySpecies(Species.GHOLDENGO).enemyAbility(Abilities.GOOD_AS_GOLD); - await game.classicMode.startBattle([Species.MURKROW, Species.MEOWTH]); + game.override.enemySpecies(SpeciesId.GHOLDENGO).enemyAbility(AbilityId.GOOD_AS_GOLD); + await game.classicMode.startBattle([SpeciesId.MURKROW, SpeciesId.MEOWTH]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon).toBeDefined(); - game.move.select(Moves.PARTING_SHOT); + game.move.select(MoveId.PARTING_SHOT); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(0); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(0); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MURKROW); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MURKROW); }); it.todo( // TODO: fix this bug to pass the test! "Parting shot should fail if target is -6/-6 de-buffed", async () => { - game.override.moveset([Moves.PARTING_SHOT, Moves.MEMENTO, Moves.SPLASH]); + game.override.moveset([MoveId.PARTING_SHOT, MoveId.MEMENTO, MoveId.SPLASH]); await game.classicMode.startBattle([ - Species.MEOWTH, - Species.MEOWTH, - Species.MEOWTH, - Species.MURKROW, - Species.ABRA, + SpeciesId.MEOWTH, + SpeciesId.MEOWTH, + SpeciesId.MEOWTH, + SpeciesId.MURKROW, + SpeciesId.ABRA, ]); // use Memento 3 times to debuff enemy - game.move.select(Moves.MEMENTO); + game.move.select(MoveId.MEMENTO); await game.phaseInterceptor.to(FaintPhase); expect(game.scene.getPlayerParty()[0].isFainted()).toBe(true); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to(TurnInitPhase, false); - game.move.select(Moves.MEMENTO); + game.move.select(MoveId.MEMENTO); await game.phaseInterceptor.to(FaintPhase); expect(game.scene.getPlayerParty()[0].isFainted()).toBe(true); game.doSelectPartyPokemon(2); await game.phaseInterceptor.to(TurnInitPhase, false); - game.move.select(Moves.MEMENTO); + game.move.select(MoveId.MEMENTO); await game.phaseInterceptor.to(FaintPhase); expect(game.scene.getPlayerParty()[0].isFainted()).toBe(true); game.doSelectPartyPokemon(3); @@ -103,12 +103,12 @@ describe("Moves - Parting Shot", () => { expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(-6); // now parting shot should fail - game.move.select(Moves.PARTING_SHOT); + game.move.select(MoveId.PARTING_SHOT); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-6); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(-6); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MURKROW); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MURKROW); }, ); @@ -116,18 +116,18 @@ describe("Moves - Parting Shot", () => { // TODO: fix this bug to pass the test! "Parting shot shouldn't allow switch out when mist is active", async () => { - game.override.enemySpecies(Species.ALTARIA).enemyAbility(Abilities.NONE).enemyMoveset([Moves.MIST]); - await game.classicMode.startBattle([Species.SNORLAX, Species.MEOWTH]); + game.override.enemySpecies(SpeciesId.ALTARIA).enemyAbility(AbilityId.NONE).enemyMoveset([MoveId.MIST]); + await game.classicMode.startBattle([SpeciesId.SNORLAX, SpeciesId.MEOWTH]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon).toBeDefined(); - game.move.select(Moves.PARTING_SHOT); + game.move.select(MoveId.PARTING_SHOT); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(0); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(0); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MURKROW); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MURKROW); }, ); @@ -135,18 +135,18 @@ describe("Moves - Parting Shot", () => { // TODO: fix this bug to pass the test! "Parting shot shouldn't allow switch out against clear body ability", async () => { - game.override.enemySpecies(Species.TENTACOOL).enemyAbility(Abilities.CLEAR_BODY); - await game.classicMode.startBattle([Species.SNORLAX, Species.MEOWTH]); + game.override.enemySpecies(SpeciesId.TENTACOOL).enemyAbility(AbilityId.CLEAR_BODY); + await game.classicMode.startBattle([SpeciesId.SNORLAX, SpeciesId.MEOWTH]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon).toBeDefined(); - game.move.select(Moves.PARTING_SHOT); + game.move.select(MoveId.PARTING_SHOT); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(0); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(0); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MURKROW); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MURKROW); }, ); @@ -154,17 +154,17 @@ describe("Moves - Parting Shot", () => { // TODO: fix this bug to pass the test! "Parting shot should de-buff and not fail if no party available to switch - party size 1", async () => { - await game.classicMode.startBattle([Species.MURKROW]); + await game.classicMode.startBattle([SpeciesId.MURKROW]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon).toBeDefined(); - game.move.select(Moves.PARTING_SHOT); + game.move.select(MoveId.PARTING_SHOT); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(-1); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(-1); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MURKROW); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MURKROW); }, ); @@ -172,8 +172,8 @@ describe("Moves - Parting Shot", () => { // TODO: fix this bug to pass the test! "Parting shot regularly not fail if no party available to switch - party fainted", async () => { - await game.classicMode.startBattle([Species.MURKROW, Species.MEOWTH]); - game.move.select(Moves.SPLASH); + await game.classicMode.startBattle([SpeciesId.MURKROW, SpeciesId.MEOWTH]); + game.move.select(MoveId.SPLASH); // intentionally kill party pokemon, switch to second slot (now 1 party mon is fainted) await game.killPokemon(game.scene.getPlayerParty()[0]); @@ -182,13 +182,13 @@ describe("Moves - Parting Shot", () => { game.doSelectPartyPokemon(1); await game.phaseInterceptor.to(TurnInitPhase, false); - game.move.select(Moves.PARTING_SHOT); + game.move.select(MoveId.PARTING_SHOT); await game.phaseInterceptor.to(BerryPhase, false); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(0); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(0); - expect(game.scene.getPlayerField()[0].species.speciesId).toBe(Species.MEOWTH); + expect(game.scene.getPlayerField()[0].species.speciesId).toBe(SpeciesId.MEOWTH); }, ); }); diff --git a/test/moves/plasma_fists.test.ts b/test/moves/plasma_fists.test.ts index 0c3412d8e60..9493f69d70f 100644 --- a/test/moves/plasma_fists.test.ts +++ b/test/moves/plasma_fists.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -24,26 +24,26 @@ describe("Moves - Plasma Fists", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.PLASMA_FISTS, Moves.TACKLE]) + .moveset([MoveId.PLASMA_FISTS, MoveId.TACKLE]) .battleStyle("double") .startingLevel(100) - .enemySpecies(Species.DUSCLOPS) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.TACKLE) + .enemySpecies(SpeciesId.DUSCLOPS) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.TACKLE) .enemyLevel(100); }); it("should convert all subsequent Normal-type attacks to Electric-type", async () => { - await game.classicMode.startBattle([Species.DUSCLOPS, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.DUSCLOPS, SpeciesId.BLASTOISE]); const field = game.scene.getField(true); field.forEach(p => vi.spyOn(p, "getMoveType")); - game.move.select(Moves.PLASMA_FISTS, 0, BattlerIndex.ENEMY); - game.move.select(Moves.TACKLE, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.PLASMA_FISTS, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.TACKLE, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.TACKLE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.TACKLE, BattlerIndex.PLAYER_2); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -56,15 +56,15 @@ describe("Moves - Plasma Fists", () => { }); it("should not affect Normal-type attacks boosted by Pixilate", async () => { - game.override.battleStyle("single").enemyAbility(Abilities.PIXILATE); + game.override.battleStyle("single").enemyAbility(AbilityId.PIXILATE); - await game.classicMode.startBattle([Species.ONIX]); + await game.classicMode.startBattle([SpeciesId.ONIX]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(enemyPokemon, "getMoveType"); - game.move.select(Moves.PLASMA_FISTS); + game.move.select(MoveId.PLASMA_FISTS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase", false); @@ -74,15 +74,15 @@ describe("Moves - Plasma Fists", () => { }); it("should affect moves that become Normal type due to Normalize", async () => { - game.override.battleStyle("single").enemyAbility(Abilities.NORMALIZE).enemyMoveset(Moves.WATER_GUN); + game.override.battleStyle("single").enemyAbility(AbilityId.NORMALIZE).enemyMoveset(MoveId.WATER_GUN); - await game.classicMode.startBattle([Species.DUSCLOPS]); + await game.classicMode.startBattle([SpeciesId.DUSCLOPS]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; vi.spyOn(enemyPokemon, "getMoveType"); - game.move.select(Moves.PLASMA_FISTS); + game.move.select(MoveId.PLASMA_FISTS); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/pledge_moves.test.ts b/test/moves/pledge_moves.test.ts index 6c66c4bbe2d..2500563d44e 100644 --- a/test/moves/pledge_moves.test.ts +++ b/test/moves/pledge_moves.test.ts @@ -7,9 +7,9 @@ import { PokemonType } from "#enums/pokemon-type"; import { ArenaTagType } from "#enums/arena-tag-type"; import { Stat } from "#enums/stat"; import { toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -33,24 +33,24 @@ describe("Moves - Pledge Moves", () => { game.override .battleStyle("double") .startingLevel(100) - .moveset([Moves.FIRE_PLEDGE, Moves.GRASS_PLEDGE, Moves.WATER_PLEDGE, Moves.SPLASH]) - .enemySpecies(Species.SNORLAX) + .moveset([MoveId.FIRE_PLEDGE, MoveId.GRASS_PLEDGE, MoveId.WATER_PLEDGE, MoveId.SPLASH]) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("Fire Pledge - should be an 80-power Fire-type attack outside of combination", async () => { - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); - const firePledge = allMoves[Moves.FIRE_PLEDGE]; + const firePledge = allMoves[MoveId.FIRE_PLEDGE]; vi.spyOn(firePledge, "calculateBattlePower"); const playerPokemon = game.scene.getPlayerField(); vi.spyOn(playerPokemon[0], "getMoveType"); - game.move.select(Moves.FIRE_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FIRE_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -60,9 +60,9 @@ describe("Moves - Pledge Moves", () => { }); it("Fire Pledge - should not combine with an ally using Fire Pledge", async () => { - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); - const firePledge = allMoves[Moves.FIRE_PLEDGE]; + const firePledge = allMoves[MoveId.FIRE_PLEDGE]; vi.spyOn(firePledge, "calculateBattlePower"); const playerPokemon = game.scene.getPlayerField(); @@ -70,8 +70,8 @@ describe("Moves - Pledge Moves", () => { const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.FIRE_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.FIRE_PLEDGE, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.FIRE_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.FIRE_PLEDGE, 0, BattlerIndex.ENEMY_2); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -87,14 +87,14 @@ describe("Moves - Pledge Moves", () => { }); it("Fire Pledge - should not combine with an enemy's Pledge move", async () => { - game.override.battleStyle("single").enemyMoveset(Moves.GRASS_PLEDGE); + game.override.battleStyle("single").enemyMoveset(MoveId.GRASS_PLEDGE); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.FIRE_PLEDGE); + game.move.select(MoveId.FIRE_PLEDGE); await game.toNextTurn(); @@ -106,9 +106,9 @@ describe("Moves - Pledge Moves", () => { }); it("Grass Pledge - should combine with Fire Pledge to form a 150-power Fire-type attack that creates a 'sea of fire'", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); - const grassPledge = allMoves[Moves.GRASS_PLEDGE]; + const grassPledge = allMoves[MoveId.GRASS_PLEDGE]; vi.spyOn(grassPledge, "calculateBattlePower"); const playerPokemon = game.scene.getPlayerField(); @@ -117,8 +117,8 @@ describe("Moves - Pledge Moves", () => { vi.spyOn(playerPokemon[1], "getMoveType"); const baseDmgMock = vi.spyOn(enemyPokemon[0], "getBaseDamage"); - game.move.select(Moves.FIRE_PLEDGE, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.GRASS_PLEDGE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.FIRE_PLEDGE, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.GRASS_PLEDGE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); // advance to the end of PLAYER_2's move this turn @@ -139,11 +139,11 @@ describe("Moves - Pledge Moves", () => { }); it("Fire Pledge - should combine with Water Pledge to form a 150-power Water-type attack that creates a 'rainbow'", async () => { - game.override.moveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE, Moves.FIERY_DANCE, Moves.SPLASH]); + game.override.moveset([MoveId.FIRE_PLEDGE, MoveId.WATER_PLEDGE, MoveId.FIERY_DANCE, MoveId.SPLASH]); - await game.classicMode.startBattle([Species.BLASTOISE, Species.VENUSAUR]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.VENUSAUR]); - const firePledge = allMoves[Moves.FIRE_PLEDGE]; + const firePledge = allMoves[MoveId.FIRE_PLEDGE]; vi.spyOn(firePledge, "calculateBattlePower"); const playerPokemon = game.scene.getPlayerField(); @@ -151,8 +151,8 @@ describe("Moves - Pledge Moves", () => { vi.spyOn(playerPokemon[1], "getMoveType"); - game.move.select(Moves.WATER_PLEDGE, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.FIRE_PLEDGE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.WATER_PLEDGE, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.FIRE_PLEDGE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); // advance to the end of PLAYER_2's move this turn @@ -166,8 +166,8 @@ describe("Moves - Pledge Moves", () => { await game.toNextTurn(); - game.move.select(Moves.FIERY_DANCE, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.FIERY_DANCE, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -176,9 +176,9 @@ describe("Moves - Pledge Moves", () => { }); it("Water Pledge - should combine with Grass Pledge to form a 150-power Grass-type attack that creates a 'swamp'", async () => { - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); - const waterPledge = allMoves[Moves.WATER_PLEDGE]; + const waterPledge = allMoves[MoveId.WATER_PLEDGE]; vi.spyOn(waterPledge, "calculateBattlePower"); const playerPokemon = game.scene.getPlayerField(); @@ -187,8 +187,8 @@ describe("Moves - Pledge Moves", () => { vi.spyOn(playerPokemon[1], "getMoveType"); - game.move.select(Moves.GRASS_PLEDGE, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.WATER_PLEDGE, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.GRASS_PLEDGE, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.WATER_PLEDGE, 1, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); // advance to the end of PLAYER_2's move this turn @@ -205,12 +205,12 @@ describe("Moves - Pledge Moves", () => { }); it("Pledge Moves - should alter turn order when used in combination", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.WATER_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.FIRE_PLEDGE, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.WATER_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.FIRE_PLEDGE, 1, BattlerIndex.ENEMY_2); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2]); // PLAYER_2 should act with a combined move immediately after PLAYER as the second move in the turn @@ -223,23 +223,23 @@ describe("Moves - Pledge Moves", () => { it("Pledge Moves - 'rainbow' effect should not stack with Serene Grace when applied to flinching moves", async () => { game.override - .ability(Abilities.SERENE_GRACE) - .moveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE, Moves.IRON_HEAD, Moves.SPLASH]); + .ability(AbilityId.SERENE_GRACE) + .moveset([MoveId.FIRE_PLEDGE, MoveId.WATER_PLEDGE, MoveId.IRON_HEAD, MoveId.SPLASH]); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); - const ironHeadFlinchAttr = allMoves[Moves.IRON_HEAD].getAttrs(FlinchAttr)[0]; + const ironHeadFlinchAttr = allMoves[MoveId.IRON_HEAD].getAttrs(FlinchAttr)[0]; vi.spyOn(ironHeadFlinchAttr, "getMoveChance"); - game.move.select(Moves.WATER_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.FIRE_PLEDGE, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.WATER_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.FIRE_PLEDGE, 1, BattlerIndex.ENEMY_2); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.getTagOnSide(ArenaTagType.WATER_FIRE_PLEDGE, ArenaTagSide.PLAYER)).toBeDefined(); - game.move.select(Moves.IRON_HEAD, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.IRON_HEAD, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase", false); @@ -247,17 +247,17 @@ describe("Moves - Pledge Moves", () => { }); it("Pledge Moves - should have no effect when the second ally's move is cancelled", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.SPORE]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.SPORE]); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.FIRE_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.GRASS_PLEDGE, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.FIRE_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.GRASS_PLEDGE, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.SPORE, BattlerIndex.PLAYER_2); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPORE, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2]); @@ -267,13 +267,13 @@ describe("Moves - Pledge Moves", () => { }); it("Pledge Moves - should ignore redirection from another Pokemon's Storm Drain", async () => { - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyField(); - vi.spyOn(enemyPokemon[1], "getAbility").mockReturnValue(allAbilities[Abilities.STORM_DRAIN]); + vi.spyOn(enemyPokemon[1], "getAbility").mockReturnValue(allAbilities[AbilityId.STORM_DRAIN]); - game.move.select(Moves.WATER_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.WATER_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -284,14 +284,14 @@ describe("Moves - Pledge Moves", () => { }); it("Pledge Moves - should not ignore redirection from another Pokemon's Follow Me", async () => { - game.override.enemyMoveset([Moves.FOLLOW_ME, Moves.SPLASH]); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + game.override.enemyMoveset([MoveId.FOLLOW_ME, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); - game.move.select(Moves.WATER_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.WATER_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.FOLLOW_ME); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.FOLLOW_ME); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/pollen_puff.test.ts b/test/moves/pollen_puff.test.ts index 31d5950b47d..d61303bcfcc 100644 --- a/test/moves/pollen_puff.test.ts +++ b/test/moves/pollen_puff.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,25 +23,25 @@ describe("Moves - Pollen Puff", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.POLLEN_PUFF]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.POLLEN_PUFF]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should not heal more than once when the user has a source of multi-hit", async () => { - game.override.battleStyle("double").moveset([Moves.POLLEN_PUFF, Moves.ENDURE]).ability(Abilities.PARENTAL_BOND); - await game.classicMode.startBattle([Species.BULBASAUR, Species.OMANYTE]); + game.override.battleStyle("double").moveset([MoveId.POLLEN_PUFF, MoveId.ENDURE]).ability(AbilityId.PARENTAL_BOND); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.OMANYTE]); const [_, rightPokemon] = game.scene.getPlayerField(); rightPokemon.damageAndUpdate(rightPokemon.hp - 1); - game.move.select(Moves.POLLEN_PUFF, 0, BattlerIndex.PLAYER_2); - game.move.select(Moves.ENDURE, 1); + game.move.select(MoveId.POLLEN_PUFF, 0, BattlerIndex.PLAYER_2); + game.move.select(MoveId.ENDURE, 1); await game.phaseInterceptor.to("BerryPhase"); @@ -50,12 +50,12 @@ describe("Moves - Pollen Puff", () => { }); it("should damage an enemy multiple times when the user has a source of multi-hit", async () => { - game.override.moveset([Moves.POLLEN_PUFF]).ability(Abilities.PARENTAL_BOND).enemyLevel(100); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.POLLEN_PUFF]).ability(AbilityId.PARENTAL_BOND).enemyLevel(100); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const target = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POLLEN_PUFF); + game.move.select(MoveId.POLLEN_PUFF); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/powder.test.ts b/test/moves/powder.test.ts index f076923d746..d335e29996e 100644 --- a/test/moves/powder.test.ts +++ b/test/moves/powder.test.ts @@ -2,10 +2,10 @@ import { BattlerIndex } from "#app/battle"; import { MoveResult, PokemonMove } from "#app/field/pokemon"; import { BerryPhase } from "#app/phases/berry-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { PokemonType } from "#enums/pokemon-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -30,23 +30,23 @@ describe("Moves - Powder", () => { game.override.battleStyle("single"); game.override - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyMoveset(Moves.EMBER) - .enemyAbility(Abilities.INSOMNIA) + .enemyMoveset(MoveId.EMBER) + .enemyAbility(AbilityId.INSOMNIA) .startingLevel(100) - .moveset([Moves.POWDER, Moves.SPLASH, Moves.FIERY_DANCE, Moves.ROAR]); + .moveset([MoveId.POWDER, MoveId.SPLASH, MoveId.FIERY_DANCE, MoveId.ROAR]); }); it("should cancel the target's Fire-type move, damage the target, and still consume the target's PP", async () => { // Cannot use enemy moveset override for this test, since it interferes with checking PP game.override.enemyMoveset([]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - enemyPokemon.moveset = [new PokemonMove(Moves.EMBER)]; + enemyPokemon.moveset = [new PokemonMove(MoveId.EMBER)]; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); @@ -55,7 +55,7 @@ describe("Moves - Powder", () => { await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); @@ -64,13 +64,13 @@ describe("Moves - Powder", () => { }); it("should have no effect against Grass-type Pokemon", async () => { - game.override.enemySpecies(Species.AMOONGUSS); + game.override.enemySpecies(SpeciesId.AMOONGUSS); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); @@ -78,13 +78,13 @@ describe("Moves - Powder", () => { }); it("should have no effect against Pokemon with Overcoat", async () => { - game.override.enemyAbility(Abilities.OVERCOAT); + game.override.enemyAbility(AbilityId.OVERCOAT); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); @@ -92,13 +92,13 @@ describe("Moves - Powder", () => { }); it("should not damage the target if the target has Magic Guard", async () => { - game.override.enemyAbility(Abilities.MAGIC_GUARD); + game.override.enemyAbility(AbilityId.MAGIC_GUARD); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); @@ -106,13 +106,13 @@ describe("Moves - Powder", () => { }); it("should not damage the target if Primordial Sea is active", async () => { - game.override.enemyAbility(Abilities.PRIMORDIAL_SEA); + game.override.enemyAbility(AbilityId.PRIMORDIAL_SEA); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); @@ -120,13 +120,13 @@ describe("Moves - Powder", () => { }); it("should not prevent the target from thawing out with Flame Wheel", async () => { - game.override.enemyMoveset(Moves.FLAME_WHEEL).enemyStatusEffect(StatusEffect.FREEZE); + game.override.enemyMoveset(MoveId.FLAME_WHEEL).enemyStatusEffect(StatusEffect.FREEZE); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.status?.effect).not.toBe(StatusEffect.FREEZE); @@ -135,13 +135,13 @@ describe("Moves - Powder", () => { }); it("should not allow a target with Protean to change to Fire type", async () => { - game.override.enemyAbility(Abilities.PROTEAN); + game.override.enemyAbility(AbilityId.PROTEAN); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); @@ -150,22 +150,22 @@ describe("Moves - Powder", () => { }); it("should cancel Fire-type moves generated by the target's Dancer ability", async () => { - game.override.battleStyle("double").enemySpecies(Species.BLASTOISE).enemyAbility(Abilities.DANCER); + game.override.battleStyle("double").enemySpecies(SpeciesId.BLASTOISE).enemyAbility(AbilityId.DANCER); - await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; // Turn 1: Roar away 1 opponent - game.move.select(Moves.ROAR, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.ROAR, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); // Turn 2: Enemy should activate Powder twice: From using Ember, and from copying Fiery Dance via Dancer playerPokemon.hp = playerPokemon.getMaxHp(); - game.move.select(Moves.FIERY_DANCE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.POWDER, 1, BattlerIndex.ENEMY); + game.move.select(MoveId.FIERY_DANCE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.POWDER, 1, BattlerIndex.ENEMY); await game.phaseInterceptor.to(MoveEffectPhase); const enemyStartingHp = enemyPokemon.hp; @@ -182,29 +182,29 @@ describe("Moves - Powder", () => { }); it("should cancel Fiery Dance, then prevent it from triggering Dancer", async () => { - game.override.ability(Abilities.DANCER).enemyMoveset(Moves.FIERY_DANCE); + game.override.ability(AbilityId.DANCER).enemyMoveset(MoveId.FIERY_DANCE); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); expect(enemyPokemon.hp).toBe(Math.ceil((3 * enemyPokemon.getMaxHp()) / 4)); - expect(playerPokemon.getLastXMoves()[0].move).toBe(Moves.POWDER); + expect(playerPokemon.getLastXMoves()[0].move).toBe(MoveId.POWDER); }); it("should cancel Revelation Dance if it becomes a Fire-type move", async () => { - game.override.enemySpecies(Species.CHARIZARD).enemyMoveset(Moves.REVELATION_DANCE); + game.override.enemySpecies(SpeciesId.CHARIZARD).enemyMoveset(MoveId.REVELATION_DANCE); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); @@ -212,13 +212,13 @@ describe("Moves - Powder", () => { }); it("should cancel Shell Trap and damage the target, even if the move would fail", async () => { - game.override.enemyMoveset(Moves.SHELL_TRAP); + game.override.enemyMoveset(MoveId.SHELL_TRAP); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER); + game.move.select(MoveId.POWDER); await game.phaseInterceptor.to(BerryPhase, false); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); @@ -226,15 +226,15 @@ describe("Moves - Powder", () => { }); it("should cancel Grass Pledge if used after ally's Fire Pledge", async () => { - game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.GRASS_PLEDGE]).battleStyle("double"); + game.override.enemyMoveset([MoveId.FIRE_PLEDGE, MoveId.GRASS_PLEDGE]).battleStyle("double"); - await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.GRASS_PLEDGE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.FIRE_PLEDGE, BattlerIndex.PLAYER); + game.move.select(MoveId.POWDER, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.GRASS_PLEDGE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.FIRE_PLEDGE, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(BerryPhase, false); @@ -243,15 +243,15 @@ describe("Moves - Powder", () => { }); it("should cancel Fire Pledge if used before ally's Water Pledge", async () => { - game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE]).battleStyle("double"); + game.override.enemyMoveset([MoveId.FIRE_PLEDGE, MoveId.WATER_PLEDGE]).battleStyle("double"); - await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.FIRE_PLEDGE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.WATER_PLEDGE, BattlerIndex.PLAYER); + game.move.select(MoveId.POWDER, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.FIRE_PLEDGE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.WATER_PLEDGE, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); await game.phaseInterceptor.to(BerryPhase, false); @@ -260,15 +260,15 @@ describe("Moves - Powder", () => { }); it("should NOT cancel Fire Pledge if used after ally's Water Pledge", async () => { - game.override.enemyMoveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE]).battleStyle("double"); + game.override.enemyMoveset([MoveId.FIRE_PLEDGE, MoveId.WATER_PLEDGE]).battleStyle("double"); - await game.classicMode.startBattle([Species.CHARIZARD, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.POWDER, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); - await game.move.selectEnemyMove(Moves.FIRE_PLEDGE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.WATER_PLEDGE, BattlerIndex.PLAYER); + game.move.select(MoveId.POWDER, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); + await game.move.selectEnemyMove(MoveId.FIRE_PLEDGE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.WATER_PLEDGE, BattlerIndex.PLAYER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/power_shift.test.ts b/test/moves/power_shift.test.ts index 0fee044f5ad..cd5252c3f2f 100644 --- a/test/moves/power_shift.test.ts +++ b/test/moves/power_shift.test.ts @@ -1,7 +1,7 @@ -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -22,22 +22,22 @@ describe("Moves - Power Shift", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.POWER_SHIFT, Moves.BULK_UP]) + .moveset([MoveId.POWER_SHIFT, MoveId.BULK_UP]) .battleStyle("single") - .ability(Abilities.BALL_FETCH) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .ability(AbilityId.BALL_FETCH) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("switches the user's raw Attack stat with its raw Defense stat", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; playerPokemon.setStat(Stat.ATK, 10, false); playerPokemon.setStat(Stat.DEF, 20, false); - game.move.select(Moves.BULK_UP); + game.move.select(MoveId.BULK_UP); await game.phaseInterceptor.to("TurnEndPhase"); @@ -47,7 +47,7 @@ describe("Moves - Power Shift", () => { await game.toNextTurn(); - game.move.select(Moves.POWER_SHIFT); + game.move.select(MoveId.POWER_SHIFT); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/moves/power_split.test.ts b/test/moves/power_split.test.ts index ca712f0a64e..6e0763fb87d 100644 --- a/test/moves/power_split.test.ts +++ b/test/moves/power_split.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; describe("Moves - Power Split", () => { let phaserGame: Phaser.Game; @@ -25,16 +25,16 @@ describe("Moves - Power Split", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.NONE) - .enemySpecies(Species.MEW) + .enemyAbility(AbilityId.NONE) + .enemySpecies(SpeciesId.MEW) .enemyLevel(200) - .moveset([Moves.POWER_SPLIT]) - .ability(Abilities.NONE); + .moveset([MoveId.POWER_SPLIT]) + .ability(AbilityId.NONE); }); it("should average the user's ATK and SPATK stats with those of the target", async () => { - game.override.enemyMoveset(Moves.SPLASH); - await game.classicMode.startBattle([Species.INDEEDEE]); + game.override.enemyMoveset(MoveId.SPLASH); + await game.classicMode.startBattle([SpeciesId.INDEEDEE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -42,7 +42,7 @@ describe("Moves - Power Split", () => { const avgAtk = Math.floor((player.getStat(Stat.ATK, false) + enemy.getStat(Stat.ATK, false)) / 2); const avgSpAtk = Math.floor((player.getStat(Stat.SPATK, false) + enemy.getStat(Stat.SPATK, false)) / 2); - game.move.select(Moves.POWER_SPLIT); + game.move.select(MoveId.POWER_SPLIT); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStat(Stat.ATK, false)).toBe(avgAtk); @@ -53,8 +53,8 @@ describe("Moves - Power Split", () => { }, 20000); it("should be idempotent", async () => { - game.override.enemyMoveset([Moves.POWER_SPLIT]); - await game.classicMode.startBattle([Species.INDEEDEE]); + game.override.enemyMoveset([MoveId.POWER_SPLIT]); + await game.classicMode.startBattle([SpeciesId.INDEEDEE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -62,10 +62,10 @@ describe("Moves - Power Split", () => { const avgAtk = Math.floor((player.getStat(Stat.ATK, false) + enemy.getStat(Stat.ATK, false)) / 2); const avgSpAtk = Math.floor((player.getStat(Stat.SPATK, false) + enemy.getStat(Stat.SPATK, false)) / 2); - game.move.select(Moves.POWER_SPLIT); + game.move.select(MoveId.POWER_SPLIT); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.POWER_SPLIT); + game.move.select(MoveId.POWER_SPLIT); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStat(Stat.ATK, false)).toBe(avgAtk); diff --git a/test/moves/power_swap.test.ts b/test/moves/power_swap.test.ts index 5f6aa022a51..82662850c77 100644 --- a/test/moves/power_swap.test.ts +++ b/test/moves/power_swap.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat, BATTLE_STATS } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { MoveEndPhase } from "#app/phases/move-end-phase"; describe("Moves - Power Swap", () => { @@ -25,23 +25,23 @@ describe("Moves - Power Swap", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.INDEEDEE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.INDEEDEE) .enemyLevel(200) - .moveset([Moves.POWER_SWAP]) - .ability(Abilities.NONE); + .moveset([MoveId.POWER_SWAP]) + .ability(AbilityId.NONE); }); it("should swap the user's ATK and SPATK stat stages with the target's", async () => { - await game.classicMode.startBattle([Species.INDEEDEE]); + await game.classicMode.startBattle([SpeciesId.INDEEDEE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(1)); - game.move.select(Moves.POWER_SWAP); + game.move.select(MoveId.POWER_SWAP); await game.phaseInterceptor.to(MoveEndPhase); diff --git a/test/moves/power_trick.test.ts b/test/moves/power_trick.test.ts index 181eeca81bc..af90525d263 100644 --- a/test/moves/power_trick.test.ts +++ b/test/moves/power_trick.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; describe("Moves - Power Trick", () => { @@ -26,22 +26,22 @@ describe("Moves - Power Trick", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.MEW) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.MEW) .enemyLevel(200) - .moveset([Moves.POWER_TRICK]) - .ability(Abilities.BALL_FETCH); + .moveset([MoveId.POWER_TRICK]) + .ability(AbilityId.BALL_FETCH); }); it("swaps the user's ATK and DEF stats", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const player = game.scene.getPlayerPokemon()!; const baseATK = player.getStat(Stat.ATK, false); const baseDEF = player.getStat(Stat.DEF, false); - game.move.select(Moves.POWER_TRICK); + game.move.select(MoveId.POWER_TRICK); await game.phaseInterceptor.to(TurnEndPhase); @@ -51,17 +51,17 @@ describe("Moves - Power Trick", () => { }); it("resets initial ATK and DEF stat swap when used consecutively", async () => { - await game.classicMode.startBattle([Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); const player = game.scene.getPlayerPokemon()!; const baseATK = player.getStat(Stat.ATK, false); const baseDEF = player.getStat(Stat.DEF, false); - game.move.select(Moves.POWER_TRICK); + game.move.select(MoveId.POWER_TRICK); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.POWER_TRICK); + game.move.select(MoveId.POWER_TRICK); await game.phaseInterceptor.to(TurnEndPhase); @@ -71,13 +71,13 @@ describe("Moves - Power Trick", () => { }); it("should pass effect when using BATON_PASS", async () => { - await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); - await game.override.moveset([Moves.POWER_TRICK, Moves.BATON_PASS]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.SHUCKLE]); + await game.override.moveset([MoveId.POWER_TRICK, MoveId.BATON_PASS]); const player = game.scene.getPlayerPokemon()!; player.addTag(BattlerTagType.POWER_TRICK); - game.move.select(Moves.BATON_PASS); + game.move.select(MoveId.BATON_PASS); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to(TurnEndPhase); @@ -92,13 +92,13 @@ describe("Moves - Power Trick", () => { }); it("should remove effect after using Transform", async () => { - await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); - await game.override.moveset([Moves.POWER_TRICK, Moves.TRANSFORM]); + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.SHUCKLE]); + await game.override.moveset([MoveId.POWER_TRICK, MoveId.TRANSFORM]); const player = game.scene.getPlayerPokemon()!; player.addTag(BattlerTagType.POWER_TRICK); - game.move.select(Moves.TRANSFORM); + game.move.select(MoveId.TRANSFORM); await game.phaseInterceptor.to(TurnEndPhase); diff --git a/test/moves/protect.test.ts b/test/moves/protect.test.ts index 14844019b31..519021023fa 100644 --- a/test/moves/protect.test.ts +++ b/test/moves/protect.test.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; import { allMoves } from "#app/data/data-lists"; import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; @@ -29,22 +29,22 @@ describe("Moves - Protect", () => { game.override.battleStyle("single"); - game.override.moveset([Moves.PROTECT]); - game.override.enemySpecies(Species.SNORLAX); + game.override.moveset([MoveId.PROTECT]); + game.override.enemySpecies(SpeciesId.SNORLAX); - game.override.enemyAbility(Abilities.INSOMNIA); - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyAbility(AbilityId.INSOMNIA); + game.override.enemyMoveset([MoveId.TACKLE]); game.override.startingLevel(100); game.override.enemyLevel(100); }); test("should protect the user from attacks", async () => { - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.phaseInterceptor.to("BerryPhase", false); @@ -52,14 +52,14 @@ describe("Moves - Protect", () => { }); test("should prevent secondary effects from the opponent's attack", async () => { - game.override.enemyMoveset([Moves.CEASELESS_EDGE]); - vi.spyOn(allMoves[Moves.CEASELESS_EDGE], "accuracy", "get").mockReturnValue(100); + game.override.enemyMoveset([MoveId.CEASELESS_EDGE]); + vi.spyOn(allMoves[MoveId.CEASELESS_EDGE], "accuracy", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.phaseInterceptor.to("BerryPhase", false); @@ -68,13 +68,13 @@ describe("Moves - Protect", () => { }); test("should protect the user from status moves", async () => { - game.override.enemyMoveset([Moves.CHARM]); + game.override.enemyMoveset([MoveId.CHARM]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.phaseInterceptor.to("BerryPhase", false); @@ -82,14 +82,14 @@ describe("Moves - Protect", () => { }); test("should stop subsequent hits of a multi-hit move", async () => { - game.override.enemyMoveset([Moves.TACHYON_CUTTER]); + game.override.enemyMoveset([MoveId.TACHYON_CUTTER]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.phaseInterceptor.to("BerryPhase", false); @@ -98,14 +98,14 @@ describe("Moves - Protect", () => { }); test("should fail if the user is the last to move in the turn", async () => { - game.override.enemyMoveset([Moves.PROTECT]); + game.override.enemyMoveset([MoveId.PROTECT]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.PROTECT); + game.move.select(MoveId.PROTECT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); diff --git a/test/moves/psycho_shift.test.ts b/test/moves/psycho_shift.test.ts index 678742906c7..f92eea5fd38 100644 --- a/test/moves/psycho_shift.test.ts +++ b/test/moves/psycho_shift.test.ts @@ -1,7 +1,7 @@ import { StatusEffect } from "#app/enums/status-effect"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,25 +23,25 @@ describe("Moves - Psycho Shift", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.PSYCHO_SHIFT]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.PSYCHO_SHIFT]) + .ability(AbilityId.BALL_FETCH) .statusEffect(StatusEffect.POISON) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .enemyLevel(20) - .enemyAbility(Abilities.SYNCHRONIZE) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.SYNCHRONIZE) + .enemyMoveset(MoveId.SPLASH); }); it("If Psycho Shift is used on a Pokémon with Synchronize, the user of Psycho Shift will already be afflicted with a status condition when Synchronize activates", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerPokemon(); const enemyPokemon = game.scene.getEnemyPokemon(); expect(enemyPokemon?.status).toBeUndefined(); - game.move.select(Moves.PSYCHO_SHIFT); + game.move.select(MoveId.PSYCHO_SHIFT); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon?.status).toBeNull(); expect(enemyPokemon?.status).toBeDefined(); diff --git a/test/moves/purify.test.ts b/test/moves/purify.test.ts index 0439ba39108..cab0a70818f 100644 --- a/test/moves/purify.test.ts +++ b/test/moves/purify.test.ts @@ -2,8 +2,8 @@ import { BattlerIndex } from "#app/battle"; import { Status } from "#app/data/status-effect"; import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import { MoveEndPhase } from "#app/phases/move-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -27,13 +27,13 @@ describe("Moves - Purify", () => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.starterSpecies(Species.PYUKUMUKU); + game.override.starterSpecies(SpeciesId.PYUKUMUKU); game.override.startingLevel(10); - game.override.moveset([Moves.PURIFY, Moves.SIZZLY_SLIDE]); + game.override.moveset([MoveId.PURIFY, MoveId.SIZZLY_SLIDE]); - game.override.enemySpecies(Species.MAGIKARP); + game.override.enemySpecies(SpeciesId.MAGIKARP); game.override.enemyLevel(10); - game.override.enemyMoveset([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.NONE, MoveId.NONE, MoveId.NONE]); }); test("Purify heals opponent status effect and restores user hp", async () => { @@ -45,7 +45,7 @@ describe("Moves - Purify", () => { playerPokemon.hp = playerPokemon.getMaxHp() - 1; enemyPokemon.status = new Status(StatusEffect.BURN); - game.move.select(Moves.PURIFY); + game.move.select(MoveId.PURIFY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEndPhase); @@ -61,7 +61,7 @@ describe("Moves - Purify", () => { playerPokemon.hp = playerPokemon.getMaxHp() - 1; const playerInitialHp = playerPokemon.hp; - game.move.select(Moves.PURIFY); + game.move.select(MoveId.PURIFY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEndPhase); diff --git a/test/moves/quash.test.ts b/test/moves/quash.test.ts index f242dafe365..88cb0aba31f 100644 --- a/test/moves/quash.test.ts +++ b/test/moves/quash.test.ts @@ -1,6 +1,6 @@ -import { Species } from "#enums/species"; -import { Moves } from "#enums/moves"; -import { Abilities } from "#app/enums/abilities"; +import { SpeciesId } from "#enums/species-id"; +import { MoveId } from "#enums/move-id"; +import { AbilityId } from "#enums/ability-id"; import { BattlerIndex } from "#app/battle"; import { WeatherType } from "#enums/weather-type"; import { MoveResult } from "#app/field/pokemon"; @@ -27,20 +27,20 @@ describe("Moves - Quash", () => { game.override .battleStyle("double") .enemyLevel(1) - .enemySpecies(Species.SLOWPOKE) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.RAIN_DANCE, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) - .moveset([Moves.QUASH, Moves.SUNNY_DAY, Moves.RAIN_DANCE, Moves.SPLASH]); + .enemySpecies(SpeciesId.SLOWPOKE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.RAIN_DANCE, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.QUASH, MoveId.SUNNY_DAY, MoveId.RAIN_DANCE, MoveId.SPLASH]); }); it("makes the target move last in a turn, ignoring priority", async () => { - await game.classicMode.startBattle([Species.ACCELGOR, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.ACCELGOR, SpeciesId.RATTATA]); - game.move.select(Moves.QUASH, 0, BattlerIndex.PLAYER_2); - game.move.select(Moves.SUNNY_DAY, 1); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.RAIN_DANCE); + game.move.select(MoveId.QUASH, 0, BattlerIndex.PLAYER_2); + game.move.select(MoveId.SUNNY_DAY, 1); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.RAIN_DANCE); await game.phaseInterceptor.to("TurnEndPhase", false); // will be sunny if player_2 moved last because of quash, rainy otherwise @@ -48,9 +48,9 @@ describe("Moves - Quash", () => { }); it("fails if the target has already moved", async () => { - await game.classicMode.startBattle([Species.ACCELGOR, Species.RATTATA]); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.QUASH, 1, BattlerIndex.PLAYER); + await game.classicMode.startBattle([SpeciesId.ACCELGOR, SpeciesId.RATTATA]); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.QUASH, 1, BattlerIndex.PLAYER); await game.phaseInterceptor.to("MoveEndPhase"); await game.phaseInterceptor.to("MoveEndPhase"); @@ -59,37 +59,37 @@ describe("Moves - Quash", () => { }); it("makes multiple quashed targets move in speed order at the end of the turn", async () => { - game.override.enemySpecies(Species.NINJASK).enemyLevel(100); + game.override.enemySpecies(SpeciesId.NINJASK).enemyLevel(100); - await game.classicMode.startBattle([Species.ACCELGOR, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.ACCELGOR, SpeciesId.RATTATA]); // both users are quashed - rattata is slower so sun should be up at end of turn - game.move.select(Moves.RAIN_DANCE, 0); - game.move.select(Moves.SUNNY_DAY, 1); + game.move.select(MoveId.RAIN_DANCE, 0); + game.move.select(MoveId.SUNNY_DAY, 1); - await game.move.selectEnemyMove(Moves.QUASH, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.QUASH, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.QUASH, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.QUASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("TurnEndPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.SUNNY); }); it("respects trick room", async () => { - game.override.enemyMoveset([Moves.RAIN_DANCE, Moves.SPLASH, Moves.TRICK_ROOM]); + game.override.enemyMoveset([MoveId.RAIN_DANCE, MoveId.SPLASH, MoveId.TRICK_ROOM]); - await game.classicMode.startBattle([Species.ACCELGOR, Species.RATTATA]); - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.SPLASH, 1); + await game.classicMode.startBattle([SpeciesId.ACCELGOR, SpeciesId.RATTATA]); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.SPLASH, 1); - await game.move.selectEnemyMove(Moves.TRICK_ROOM); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.TRICK_ROOM); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnInitPhase"); // both users are quashed - accelgor should move last w/ TR so rain should be up at end of turn - game.move.select(Moves.RAIN_DANCE, 0); - game.move.select(Moves.SUNNY_DAY, 1); + game.move.select(MoveId.RAIN_DANCE, 0); + game.move.select(MoveId.SUNNY_DAY, 1); - await game.move.selectEnemyMove(Moves.QUASH, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.QUASH, BattlerIndex.PLAYER_2); + await game.move.selectEnemyMove(MoveId.QUASH, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.QUASH, BattlerIndex.PLAYER_2); await game.phaseInterceptor.to("TurnEndPhase", false); expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.RAIN); diff --git a/test/moves/quick_guard.test.ts b/test/moves/quick_guard.test.ts index d9970ce64fa..0c0ab8d6ad0 100644 --- a/test/moves/quick_guard.test.ts +++ b/test/moves/quick_guard.test.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; @@ -27,23 +27,23 @@ describe("Moves - Quick Guard", () => { game.override.battleStyle("double"); - game.override.moveset([Moves.QUICK_GUARD, Moves.SPLASH, Moves.FOLLOW_ME]); + game.override.moveset([MoveId.QUICK_GUARD, MoveId.SPLASH, MoveId.FOLLOW_ME]); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyMoveset([Moves.QUICK_ATTACK]); - game.override.enemyAbility(Abilities.INSOMNIA); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyMoveset([MoveId.QUICK_ATTACK]); + game.override.enemyAbility(AbilityId.INSOMNIA); game.override.startingLevel(100); game.override.enemyLevel(100); }); test("should protect the user and allies from priority moves", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.QUICK_GUARD); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.QUICK_GUARD); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase", false); @@ -51,15 +51,15 @@ describe("Moves - Quick Guard", () => { }); test("should protect the user and allies from Prankster-boosted moves", async () => { - game.override.enemyAbility(Abilities.PRANKSTER); - game.override.enemyMoveset([Moves.GROWL]); + game.override.enemyAbility(AbilityId.PRANKSTER); + game.override.enemyMoveset([MoveId.GROWL]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); - game.move.select(Moves.QUICK_GUARD); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.QUICK_GUARD); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase", false); @@ -67,15 +67,15 @@ describe("Moves - Quick Guard", () => { }); test("should stop subsequent hits of a multi-hit priority move", async () => { - game.override.enemyMoveset([Moves.WATER_SHURIKEN]); + game.override.enemyMoveset([MoveId.WATER_SHURIKEN]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.QUICK_GUARD); - game.move.select(Moves.FOLLOW_ME, 1); + game.move.select(MoveId.QUICK_GUARD); + game.move.select(MoveId.FOLLOW_ME, 1); await game.phaseInterceptor.to("BerryPhase", false); @@ -85,14 +85,14 @@ describe("Moves - Quick Guard", () => { test("should fail if the user is the last to move in the turn", async () => { game.override.battleStyle("single"); - game.override.enemyMoveset([Moves.QUICK_GUARD]); + game.override.enemyMoveset([MoveId.QUICK_GUARD]); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.QUICK_GUARD); + game.move.select(MoveId.QUICK_GUARD); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); diff --git a/test/moves/rage_fist.test.ts b/test/moves/rage_fist.test.ts index 9e5810039a8..cd9147637a5 100644 --- a/test/moves/rage_fist.test.ts +++ b/test/moves/rage_fist.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { allMoves } from "#app/data/data-lists"; import type Move from "#app/data/moves/move"; import GameManager from "#test/testUtils/gameManager"; @@ -25,24 +25,24 @@ describe("Moves - Rage Fist", () => { }); beforeEach(() => { - move = allMoves[Moves.RAGE_FIST]; + move = allMoves[MoveId.RAGE_FIST]; game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.RAGE_FIST, Moves.SPLASH, Moves.SUBSTITUTE, Moves.TIDY_UP]) + .moveset([MoveId.RAGE_FIST, MoveId.SPLASH, MoveId.SUBSTITUTE, MoveId.TIDY_UP]) .startingLevel(100) .enemyLevel(1) - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.DOUBLE_KICK); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.DOUBLE_KICK); vi.spyOn(move, "calculateBattlePower"); }); it("should gain power per hit taken", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -50,17 +50,17 @@ describe("Moves - Rage Fist", () => { }); it("caps at 6 hits taken", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); // spam splash against magikarp hitting us 2 times per turn - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -70,12 +70,12 @@ describe("Moves - Rage Fist", () => { }); it("should not count substitute hits or confusion damage", async () => { - game.override.enemySpecies(Species.SHUCKLE).enemyMoveset([Moves.CONFUSE_RAY, Moves.DOUBLE_KICK]); + game.override.enemySpecies(SpeciesId.SHUCKLE).enemyMoveset([MoveId.CONFUSE_RAY, MoveId.DOUBLE_KICK]); - await game.classicMode.startBattle([Species.REGIROCK]); + await game.classicMode.startBattle([SpeciesId.REGIROCK]); - game.move.select(Moves.SUBSTITUTE); - await game.move.selectEnemyMove(Moves.DOUBLE_KICK); + game.move.select(MoveId.SUBSTITUTE); + await game.move.selectEnemyMove(MoveId.DOUBLE_KICK); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); @@ -83,13 +83,13 @@ describe("Moves - Rage Fist", () => { expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(0); // remove substitute and get confused - game.move.select(Moves.TIDY_UP); - await game.move.selectEnemyMove(Moves.CONFUSE_RAY); + game.move.select(MoveId.TIDY_UP); + await game.move.selectEnemyMove(MoveId.CONFUSE_RAY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); - game.move.select(Moves.RAGE_FIST); - await game.move.selectEnemyMove(Moves.CONFUSE_RAY); + game.move.select(MoveId.RAGE_FIST); + await game.move.selectEnemyMove(MoveId.CONFUSE_RAY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceConfusionActivation(true); await game.toNextTurn(); @@ -99,15 +99,15 @@ describe("Moves - Rage Fist", () => { }); it("should maintain hits recieved between wild waves", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextWave(); expect(game.scene.getPlayerPokemon()?.battleData.hitCount).toBe(2); - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -116,14 +116,14 @@ describe("Moves - Rage Fist", () => { }); it("should reset hits recieved before trainer battles", async () => { - await game.classicMode.startBattle([Species.IRON_HANDS]); + await game.classicMode.startBattle([SpeciesId.IRON_HANDS]); const ironHands = game.scene.getPlayerPokemon()!; expect(ironHands).toBeDefined(); // beat up a magikarp - game.move.select(Moves.RAGE_FIST); - await game.move.selectEnemyMove(Moves.DOUBLE_KICK); + game.move.select(MoveId.RAGE_FIST); + await game.move.selectEnemyMove(MoveId.DOUBLE_KICK); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); @@ -138,15 +138,15 @@ describe("Moves - Rage Fist", () => { }); it("should reset hits recieved before new biome", async () => { - game.override.enemySpecies(Species.MAGIKARP).startingWave(10); + game.override.enemySpecies(SpeciesId.MAGIKARP).startingWave(10); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase", false); @@ -154,7 +154,7 @@ describe("Moves - Rage Fist", () => { }); it("should not reset if switched out or on reload", async () => { - game.override.enemyMoveset(Moves.TACKLE); + game.override.enemyMoveset(MoveId.TACKLE); const getPartyHitCount = () => game.scene @@ -162,10 +162,10 @@ describe("Moves - Rage Fist", () => { .filter(p => !!p) .map(m => m.battleData.hitCount); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); // Charizard hit - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); expect(getPartyHitCount()).toEqual([1, 0]); @@ -181,12 +181,12 @@ describe("Moves - Rage Fist", () => { expect(getPartyHitCount()).toEqual([2, 1]); // Charizard rage fist - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.phaseInterceptor.to("MoveEndPhase"); const charizard = game.scene.getPlayerPokemon()!; expect(charizard).toBeDefined(); - expect(charizard.species.speciesId).toBe(Species.CHARIZARD); + expect(charizard.species.speciesId).toBe(SpeciesId.CHARIZARD); expect(move.calculateBattlePower).toHaveLastReturnedWith(150); // go to new wave, reload game and beat up another poor sap @@ -195,7 +195,7 @@ describe("Moves - Rage Fist", () => { await game.reload.reloadSession(); // outsped and oneshot means power rmains same as prior - game.move.select(Moves.RAGE_FIST); + game.move.select(MoveId.RAGE_FIST); await game.phaseInterceptor.to("MoveEndPhase"); expect(move.calculateBattlePower).toHaveLastReturnedWith(150); }); diff --git a/test/moves/rage_powder.test.ts b/test/moves/rage_powder.test.ts index 206fd590896..e3212e9876c 100644 --- a/test/moves/rage_powder.test.ts +++ b/test/moves/rage_powder.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; @@ -23,23 +23,23 @@ describe("Moves - Rage Powder", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.enemySpecies(Species.SNORLAX); + game.override.enemySpecies(SpeciesId.SNORLAX); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.moveset([Moves.FOLLOW_ME, Moves.RAGE_POWDER, Moves.SPOTLIGHT, Moves.QUICK_ATTACK]); - game.override.enemyMoveset([Moves.RAGE_POWDER, Moves.TACKLE, Moves.SPLASH]); + game.override.moveset([MoveId.FOLLOW_ME, MoveId.RAGE_POWDER, MoveId.SPOTLIGHT, MoveId.QUICK_ATTACK]); + game.override.enemyMoveset([MoveId.RAGE_POWDER, MoveId.TACKLE, MoveId.SPLASH]); }); test("move effect should be bypassed by Grass type", async () => { - await game.classicMode.startBattle([Species.AMOONGUSS, Species.VENUSAUR]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.VENUSAUR]); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.QUICK_ATTACK, 0, BattlerIndex.ENEMY); - game.move.select(Moves.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.QUICK_ATTACK, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.RAGE_POWDER); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.RAGE_POWDER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); @@ -49,20 +49,20 @@ describe("Moves - Rage Powder", () => { }); test("move effect should be bypassed by Overcoat", async () => { - game.override.ability(Abilities.OVERCOAT); + game.override.ability(AbilityId.OVERCOAT); // Test with two non-Grass type player Pokemon - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyField(); const enemyStartingHp = enemyPokemon.map(p => p.hp); - game.move.select(Moves.QUICK_ATTACK, 0, BattlerIndex.ENEMY); - game.move.select(Moves.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.QUICK_ATTACK, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.RAGE_POWDER); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.RAGE_POWDER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/reflect.test.ts b/test/moves/reflect.test.ts index 191a1a45a09..d13fb7a095c 100644 --- a/test/moves/reflect.test.ts +++ b/test/moves/reflect.test.ts @@ -3,13 +3,13 @@ import { ArenaTagSide } from "#app/data/arena-tag"; import type Move from "#app/data/moves/move"; import { CritOnlyAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import type Pokemon from "#app/field/pokemon"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { NumberHolder } from "#app/utils/common"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -37,17 +37,17 @@ describe("Moves - Reflect", () => { globalScene = game.scene; game.override .battleStyle("single") - .ability(Abilities.NONE) - .moveset([Moves.ABSORB, Moves.ROCK_SLIDE, Moves.TACKLE]) + .ability(AbilityId.NONE) + .moveset([MoveId.ABSORB, MoveId.ROCK_SLIDE, MoveId.TACKLE]) .enemyLevel(100) - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.REFLECT) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.REFLECT) .disableCrits(); }); it("reduces damage of physical attacks by half in a single battle", async () => { - const moveToUse = Moves.TACKLE; - await game.classicMode.startBattle([Species.SHUCKLE]); + const moveToUse = MoveId.TACKLE; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); @@ -64,8 +64,8 @@ describe("Moves - Reflect", () => { it("reduces damage of physical attacks by a third in a double battle", async () => { game.override.battleStyle("double"); - const moveToUse = Moves.ROCK_SLIDE; - await game.classicMode.startBattle([Species.SHUCKLE, Species.SHUCKLE]); + const moveToUse = MoveId.ROCK_SLIDE; + await game.classicMode.startBattle([SpeciesId.SHUCKLE, SpeciesId.SHUCKLE]); game.move.select(moveToUse); game.move.select(moveToUse, 1); @@ -81,8 +81,8 @@ describe("Moves - Reflect", () => { }); it("does not affect special attacks", async () => { - const moveToUse = Moves.ABSORB; - await game.classicMode.startBattle([Species.SHUCKLE]); + const moveToUse = MoveId.ABSORB; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); @@ -98,9 +98,9 @@ describe("Moves - Reflect", () => { }); it("does not affect critical hits", async () => { - game.override.moveset([Moves.WICKED_BLOW]); - const moveToUse = Moves.WICKED_BLOW; - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.WICKED_BLOW]); + const moveToUse = MoveId.WICKED_BLOW; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); await game.phaseInterceptor.to(TurnEndPhase); @@ -115,9 +115,9 @@ describe("Moves - Reflect", () => { }); it("does not affect critical hits", async () => { - game.override.moveset([Moves.WICKED_BLOW]); - const moveToUse = Moves.WICKED_BLOW; - await game.classicMode.startBattle([Species.SHUCKLE]); + game.override.moveset([MoveId.WICKED_BLOW]); + const moveToUse = MoveId.WICKED_BLOW; + await game.classicMode.startBattle([SpeciesId.SHUCKLE]); game.move.select(moveToUse); await game.phaseInterceptor.to(TurnEndPhase); @@ -132,7 +132,7 @@ describe("Moves - Reflect", () => { }); /** - * Calculates the damage of a move multiplied by screen's multiplier, Reflect in this case {@linkcode Moves.REFLECT}. + * Calculates the damage of a move multiplied by screen's multiplier, Reflect in this case {@linkcode MoveId.REFLECT}. * Please note this does not consider other damage calculations except the screen multiplier. * * @param defender - The defending Pokémon. diff --git a/test/moves/reflect_type.test.ts b/test/moves/reflect_type.test.ts index 63772aa746f..86c70ed62f1 100644 --- a/test/moves/reflect_type.test.ts +++ b/test/moves/reflect_type.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { PokemonType } from "#enums/pokemon-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -22,32 +22,32 @@ describe("Moves - Reflect Type", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.ability(Abilities.BALL_FETCH).battleStyle("single").disableCrits().enemyAbility(Abilities.BALL_FETCH); + game.override.ability(AbilityId.BALL_FETCH).battleStyle("single").disableCrits().enemyAbility(AbilityId.BALL_FETCH); }); it("will make the user Normal/Grass if targetting a typeless Pokemon affected by Forest's Curse", async () => { game.override - .moveset([Moves.FORESTS_CURSE, Moves.REFLECT_TYPE]) + .moveset([MoveId.FORESTS_CURSE, MoveId.REFLECT_TYPE]) .startingLevel(60) - .enemySpecies(Species.CHARMANDER) - .enemyMoveset([Moves.BURN_UP, Moves.SPLASH]); - await game.classicMode.startBattle([Species.FEEBAS]); + .enemySpecies(SpeciesId.CHARMANDER) + .enemyMoveset([MoveId.BURN_UP, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const playerPokemon = game.scene.getPlayerPokemon(); const enemyPokemon = game.scene.getEnemyPokemon(); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.BURN_UP); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.BURN_UP); await game.toNextTurn(); - game.move.select(Moves.FORESTS_CURSE); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.FORESTS_CURSE); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); expect(enemyPokemon?.getTypes().includes(PokemonType.UNKNOWN)).toBe(true); expect(enemyPokemon?.getTypes().includes(PokemonType.GRASS)).toBe(true); - game.move.select(Moves.REFLECT_TYPE); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.REFLECT_TYPE); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon?.getTypes()[0]).toBe(PokemonType.NORMAL); expect(playerPokemon?.getTypes().includes(PokemonType.GRASS)).toBe(true); diff --git a/test/moves/relic_song.test.ts b/test/moves/relic_song.test.ts index 86195e81a24..b3dd400a202 100644 --- a/test/moves/relic_song.test.ts +++ b/test/moves/relic_song.test.ts @@ -1,8 +1,8 @@ import { PokemonType } from "#enums/pokemon-type"; import { Challenges } from "#app/enums/challenges"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,25 +23,25 @@ describe("Moves - Relic Song", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.RELIC_SONG, Moves.SPLASH]) + .moveset([MoveId.RELIC_SONG, MoveId.SPLASH]) .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.MAGIKARP) .enemyLevel(100); }); it("swaps Meloetta's form between Aria and Pirouette", async () => { - await game.classicMode.startBattle([Species.MELOETTA]); + await game.classicMode.startBattle([SpeciesId.MELOETTA]); const meloetta = game.scene.getPlayerPokemon()!; - game.move.select(Moves.RELIC_SONG); + game.move.select(MoveId.RELIC_SONG); await game.toNextTurn(); expect(meloetta.formIndex).toBe(1); - game.move.select(Moves.RELIC_SONG); + game.move.select(MoveId.RELIC_SONG); await game.phaseInterceptor.to("BerryPhase"); expect(meloetta.formIndex).toBe(0); @@ -49,13 +49,13 @@ describe("Moves - Relic Song", () => { it("doesn't swap Meloetta's form during a mono-type challenge", async () => { game.challengeMode.addChallenge(Challenges.SINGLE_TYPE, PokemonType.PSYCHIC + 1, 0); - await game.challengeMode.startBattle([Species.MELOETTA]); + await game.challengeMode.startBattle([SpeciesId.MELOETTA]); const meloetta = game.scene.getPlayerPokemon()!; expect(meloetta.formIndex).toBe(0); - game.move.select(Moves.RELIC_SONG); + game.move.select(MoveId.RELIC_SONG); await game.phaseInterceptor.to("BerryPhase"); await game.toNextTurn(); @@ -63,12 +63,12 @@ describe("Moves - Relic Song", () => { }); it("doesn't swap Meloetta's form during biome change (arena reset)", async () => { - game.override.starterForms({ [Species.MELOETTA]: 1 }).startingWave(10); - await game.classicMode.startBattle([Species.MELOETTA]); + game.override.starterForms({ [SpeciesId.MELOETTA]: 1 }).startingWave(10); + await game.classicMode.startBattle([SpeciesId.MELOETTA]); const meloetta = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); diff --git a/test/moves/retaliate.test.ts b/test/moves/retaliate.test.ts index 24d0cd542cb..16261c71dc3 100644 --- a/test/moves/retaliate.test.ts +++ b/test/moves/retaliate.test.ts @@ -1,8 +1,8 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { MoveId } from "#enums/move-id"; import { allMoves } from "#app/data/data-lists"; import type Move from "#app/data/moves/move"; @@ -23,28 +23,28 @@ describe("Moves - Retaliate", () => { }); beforeEach(() => { - retaliate = allMoves[Moves.RETALIATE]; + retaliate = allMoves[MoveId.RETALIATE]; game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.SNORLAX) - .enemyMoveset(Moves.RETALIATE) + .enemySpecies(SpeciesId.SNORLAX) + .enemyMoveset(MoveId.RETALIATE) .enemyLevel(100) - .moveset([Moves.RETALIATE, Moves.SPLASH]) + .moveset([MoveId.RETALIATE, MoveId.SPLASH]) .startingLevel(80) .disableCrits(); }); it("increases power if ally died previous turn", async () => { vi.spyOn(retaliate, "calculateBattlePower"); - await game.classicMode.startBattle([Species.ABRA, Species.COBALION]); - game.move.select(Moves.RETALIATE); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.COBALION]); + game.move.select(MoveId.RETALIATE); await game.phaseInterceptor.to("TurnEndPhase"); expect(retaliate.calculateBattlePower).toHaveLastReturnedWith(70); game.doSelectPartyPokemon(1); await game.toNextTurn(); - game.move.select(Moves.RETALIATE); + game.move.select(MoveId.RETALIATE); await game.phaseInterceptor.to("MoveEffectPhase"); expect(retaliate.calculateBattlePower).toHaveReturnedWith(140); }); diff --git a/test/moves/revival_blessing.test.ts b/test/moves/revival_blessing.test.ts index ded18e3ffb8..07ebf657c66 100644 --- a/test/moves/revival_blessing.test.ts +++ b/test/moves/revival_blessing.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; import { toDmgValue } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,26 +25,26 @@ describe("Moves - Revival Blessing", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.REVIVAL_BLESSING, Moves.MEMENTO]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.REVIVAL_BLESSING, MoveId.MEMENTO]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should revive a selected fainted Pokemon when used by the player", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); - game.move.select(Moves.MEMENTO); + game.move.select(MoveId.MEMENTO); game.doSelectPartyPokemon(1, "SwitchPhase"); await game.toNextTurn(); const player = game.scene.getPlayerPokemon()!; - expect(player.species.speciesId).toBe(Species.MAGIKARP); - game.move.select(Moves.REVIVAL_BLESSING); + expect(player.species.speciesId).toBe(SpeciesId.MAGIKARP); + game.move.select(MoveId.REVIVAL_BLESSING); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); game.doSelectPartyPokemon(1, "RevivalBlessingPhase"); @@ -57,15 +57,15 @@ describe("Moves - Revival Blessing", () => { }); it("should revive a random fainted enemy when used by an enemy Trainer", async () => { - game.override.enemyMoveset(Moves.REVIVAL_BLESSING).startingWave(8); + game.override.enemyMoveset(MoveId.REVIVAL_BLESSING).startingWave(8); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -76,9 +76,9 @@ describe("Moves - Revival Blessing", () => { }); it("should fail when there are no fainted Pokemon to target", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MAGIKARP]); - game.move.select(Moves.REVIVAL_BLESSING); + game.move.select(MoveId.REVIVAL_BLESSING); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -89,17 +89,17 @@ describe("Moves - Revival Blessing", () => { it("should revive a player pokemon and immediately send it back out if used in the same turn it fainted in doubles", async () => { game.override .battleStyle("double") - .enemyMoveset([Moves.SPLASH, Moves.FISSURE]) - .enemyAbility(Abilities.NO_GUARD) + .enemyMoveset([MoveId.SPLASH, MoveId.FISSURE]) + .enemyAbility(AbilityId.NO_GUARD) .enemyLevel(100); - await game.classicMode.startBattle([Species.FEEBAS, Species.MILOTIC, Species.GYARADOS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MILOTIC, SpeciesId.GYARADOS]); const feebas = game.scene.getPlayerField()[0]; - game.move.select(Moves.SPLASH); - game.move.select(Moves.REVIVAL_BLESSING, 1); - await game.move.selectEnemyMove(Moves.FISSURE, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.REVIVAL_BLESSING, 1); + await game.move.selectEnemyMove(MoveId.FISSURE, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -116,13 +116,17 @@ describe("Moves - Revival Blessing", () => { }); it("should not summon multiple pokemon to the same slot when reviving the enemy ally in doubles", async () => { - game.override.battleStyle("double").enemyMoveset([Moves.REVIVAL_BLESSING]).moveset([Moves.SPLASH]).startingWave(25); // 2nd rival battle - must have 3+ pokemon - await game.classicMode.startBattle([Species.ARCEUS, Species.GIRATINA]); + game.override + .battleStyle("double") + .enemyMoveset([MoveId.REVIVAL_BLESSING]) + .moveset([MoveId.SPLASH]) + .startingWave(25); // 2nd rival battle - must have 3+ pokemon + await game.classicMode.startBattle([SpeciesId.ARCEUS, SpeciesId.GIRATINA]); const enemyFainting = game.scene.getEnemyField()[0]; - game.move.select(Moves.SPLASH, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 0); + game.move.select(MoveId.SPLASH, 1); await game.killPokemon(enemyFainting); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/role_play.test.ts b/test/moves/role_play.test.ts index d4893212003..3c3f0afb1a3 100644 --- a/test/moves/role_play.test.ts +++ b/test/moves/role_play.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,29 +23,29 @@ describe("Moves - Role Play", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.ROLE_PLAY]) - .ability(Abilities.ADAPTABILITY) + .moveset([MoveId.SPLASH, MoveId.ROLE_PLAY]) + .ability(AbilityId.ADAPTABILITY) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should set the user's ability to the target's ability", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.ROLE_PLAY); + game.move.select(MoveId.ROLE_PLAY); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(Abilities.BALL_FETCH); + expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(AbilityId.BALL_FETCH); }); it("should activate post-summon abilities", async () => { - game.override.enemyAbility(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.enemyAbility(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.ROLE_PLAY); + game.move.select(MoveId.ROLE_PLAY); await game.phaseInterceptor.to("BerryPhase"); expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); diff --git a/test/moves/rollout.test.ts b/test/moves/rollout.test.ts index dafa72dd5fa..de990a1a750 100644 --- a/test/moves/rollout.test.ts +++ b/test/moves/rollout.test.ts @@ -1,8 +1,8 @@ import { allMoves } from "#app/data/data-lists"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,18 +25,18 @@ describe("Moves - Rollout", () => { game = new GameManager(phaserGame); game.override.disableCrits(); game.override.battleStyle("single"); - game.override.starterSpecies(Species.RATTATA); - game.override.ability(Abilities.BALL_FETCH); - game.override.enemySpecies(Species.BIDOOF); - game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.starterSpecies(SpeciesId.RATTATA); + game.override.ability(AbilityId.BALL_FETCH); + game.override.enemySpecies(SpeciesId.BIDOOF); + game.override.enemyAbility(AbilityId.BALL_FETCH); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); }); it("should double it's dmg on sequential uses but reset after 5", async () => { - game.override.moveset([Moves.ROLLOUT]); - vi.spyOn(allMoves[Moves.ROLLOUT], "accuracy", "get").mockReturnValue(100); //always hit + game.override.moveset([MoveId.ROLLOUT]); + vi.spyOn(allMoves[MoveId.ROLLOUT], "accuracy", "get").mockReturnValue(100); //always hit const variance = 5; const turns = 6; @@ -55,7 +55,7 @@ describe("Moves - Rollout", () => { let previousHp = enemyPkm.hp; for (let i = 0; i < turns; i++) { - game.move.select(Moves.ROLLOUT); + game.move.select(MoveId.ROLLOUT); await game.phaseInterceptor.to(CommandPhase); dmgHistory.push(previousHp - enemyPkm.hp); diff --git a/test/moves/roost.test.ts b/test/moves/roost.test.ts index e55c76ca220..76aab1e572f 100644 --- a/test/moves/roost.test.ts +++ b/test/moves/roost.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; import { BattlerTagType } from "#app/enums/battler-tag-type"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import GameManager from "#test/testUtils/gameManager"; @@ -26,11 +26,11 @@ describe("Moves - Roost", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.RELICANTH); + game.override.enemySpecies(SpeciesId.RELICANTH); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.enemyMoveset(Moves.EARTHQUAKE); - game.override.moveset([Moves.ROOST, Moves.BURN_UP, Moves.DOUBLE_SHOCK]); + game.override.enemyMoveset(MoveId.EARTHQUAKE); + game.override.moveset([MoveId.ROOST, MoveId.BURN_UP, MoveId.DOUBLE_SHOCK]); }); /** @@ -47,10 +47,10 @@ describe("Moves - Roost", () => { */ test("Non flying type uses roost -> no type change, took damage", async () => { - await game.classicMode.startBattle([Species.DUNSPARCE]); + await game.classicMode.startBattle([SpeciesId.DUNSPARCE]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerPokemonStartingHP = playerPokemon.hp; - game.move.select(Moves.ROOST); + game.move.select(MoveId.ROOST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -71,10 +71,10 @@ describe("Moves - Roost", () => { }); test("Pure flying type -> becomes normal after roost and takes damage from ground moves -> regains flying", async () => { - await game.classicMode.startBattle([Species.TORNADUS]); + await game.classicMode.startBattle([SpeciesId.TORNADUS]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerPokemonStartingHP = playerPokemon.hp; - game.move.select(Moves.ROOST); + game.move.select(MoveId.ROOST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -95,10 +95,10 @@ describe("Moves - Roost", () => { }); test("Dual X/flying type -> becomes type X after roost and takes damage from ground moves -> regains flying", async () => { - await game.classicMode.startBattle([Species.HAWLUCHA]); + await game.classicMode.startBattle([SpeciesId.HAWLUCHA]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerPokemonStartingHP = playerPokemon.hp; - game.move.select(Moves.ROOST); + game.move.select(MoveId.ROOST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -119,11 +119,11 @@ describe("Moves - Roost", () => { }); test("Pokemon with levitate after using roost should lose flying type but still be unaffected by ground moves", async () => { - game.override.starterForms({ [Species.ROTOM]: 4 }); - await game.classicMode.startBattle([Species.ROTOM]); + game.override.starterForms({ [SpeciesId.ROTOM]: 4 }); + await game.classicMode.startBattle([SpeciesId.ROTOM]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerPokemonStartingHP = playerPokemon.hp; - game.move.select(Moves.ROOST); + game.move.select(MoveId.ROOST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -144,10 +144,10 @@ describe("Moves - Roost", () => { }); test("A fire/flying type that uses burn up, then roost should be typeless until end of turn", async () => { - await game.classicMode.startBattle([Species.MOLTRES]); + await game.classicMode.startBattle([SpeciesId.MOLTRES]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerPokemonStartingHP = playerPokemon.hp; - game.move.select(Moves.BURN_UP); + game.move.select(MoveId.BURN_UP); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -157,7 +157,7 @@ describe("Moves - Roost", () => { expect(playerPokemonTypes.length === 1).toBeTruthy(); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.ROOST); + game.move.select(MoveId.ROOST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -179,11 +179,11 @@ describe("Moves - Roost", () => { }); test("An electric/flying type that uses double shock, then roost should be typeless until end of turn", async () => { - game.override.enemySpecies(Species.ZEKROM); - await game.classicMode.startBattle([Species.ZAPDOS]); + game.override.enemySpecies(SpeciesId.ZEKROM); + await game.classicMode.startBattle([SpeciesId.ZAPDOS]); const playerPokemon = game.scene.getPlayerPokemon()!; const playerPokemonStartingHP = playerPokemon.hp; - game.move.select(Moves.DOUBLE_SHOCK); + game.move.select(MoveId.DOUBLE_SHOCK); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -193,7 +193,7 @@ describe("Moves - Roost", () => { expect(playerPokemonTypes.length === 1).toBeTruthy(); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.ROOST); + game.move.select(MoveId.ROOST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to(MoveEffectPhase); @@ -216,14 +216,14 @@ describe("Moves - Roost", () => { test("Dual Type Pokemon afflicted with Forests Curse/Trick or Treat and post roost will become dual type and then become 3 type at end of turn", async () => { game.override.enemyMoveset([ - Moves.TRICK_OR_TREAT, - Moves.TRICK_OR_TREAT, - Moves.TRICK_OR_TREAT, - Moves.TRICK_OR_TREAT, + MoveId.TRICK_OR_TREAT, + MoveId.TRICK_OR_TREAT, + MoveId.TRICK_OR_TREAT, + MoveId.TRICK_OR_TREAT, ]); - await game.classicMode.startBattle([Species.MOLTRES]); + await game.classicMode.startBattle([SpeciesId.MOLTRES]); const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.ROOST); + game.move.select(MoveId.ROOST); await game.phaseInterceptor.to(MoveEffectPhase); let playerPokemonTypes = playerPokemon.getTypes(); diff --git a/test/moves/round.test.ts b/test/moves/round.test.ts index ccdf4cbf089..c42734bdc41 100644 --- a/test/moves/round.test.ts +++ b/test/moves/round.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; import type { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,28 +25,28 @@ describe("Moves - Round", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.ROUND]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.ROUND]) + .ability(AbilityId.BALL_FETCH) .battleStyle("double") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH, Moves.ROUND]) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH, MoveId.ROUND]) .startingLevel(100) .enemyLevel(100); }); it("should cue other instances of Round together in Speed order", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); - const round = allMoves[Moves.ROUND]; + const round = allMoves[MoveId.ROUND]; const spy = vi.spyOn(round, "calculateBattlePower"); - game.move.select(Moves.ROUND, 0, BattlerIndex.ENEMY); - game.move.select(Moves.ROUND, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.ROUND, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.ROUND, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.ROUND, BattlerIndex.PLAYER); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.ROUND, BattlerIndex.PLAYER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY]); diff --git a/test/moves/safeguard.test.ts b/test/moves/safeguard.test.ts index 7804b63f5c5..fc8bef80d6d 100644 --- a/test/moves/safeguard.test.ts +++ b/test/moves/safeguard.test.ts @@ -1,11 +1,11 @@ import { BattlerIndex } from "#app/battle"; import { PostDefendContactApplyStatusEffectAbAttr } from "#app/data/abilities/ability"; import { allAbilities } from "#app/data/data-lists"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { StatusEffect } from "#app/enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -27,20 +27,20 @@ describe("Moves - Safeguard", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.DRATINI) - .enemyMoveset([Moves.SAFEGUARD]) - .enemyAbility(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.DRATINI) + .enemyMoveset([MoveId.SAFEGUARD]) + .enemyAbility(AbilityId.BALL_FETCH) .enemyLevel(5) - .starterSpecies(Species.DRATINI) - .moveset([Moves.NUZZLE, Moves.SPORE, Moves.YAWN, Moves.SPLASH]) - .ability(Abilities.UNNERVE); // Stop wild Pokemon from potentially eating Lum Berry + .starterSpecies(SpeciesId.DRATINI) + .moveset([MoveId.NUZZLE, MoveId.SPORE, MoveId.YAWN, MoveId.SPLASH]) + .ability(AbilityId.UNNERVE); // Stop wild Pokemon from potentially eating Lum Berry }); it("protects from damaging moves with additional effects", async () => { await game.classicMode.startBattle(); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.NUZZLE); + game.move.select(MoveId.NUZZLE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -51,7 +51,7 @@ describe("Moves - Safeguard", () => { await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPORE); + game.move.select(MoveId.SPORE); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -59,11 +59,11 @@ describe("Moves - Safeguard", () => { }); it("protects from confusion", async () => { - game.override.moveset([Moves.CONFUSE_RAY]); + game.override.moveset([MoveId.CONFUSE_RAY]); await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.CONFUSE_RAY); + game.move.select(MoveId.CONFUSE_RAY); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -75,8 +75,8 @@ describe("Moves - Safeguard", () => { await game.classicMode.startBattle(); - game.move.select(Moves.SPORE, 0, BattlerIndex.ENEMY_2); - game.move.select(Moves.NUZZLE, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPORE, 0, BattlerIndex.ENEMY_2); + game.move.select(MoveId.NUZZLE, 1, BattlerIndex.ENEMY_2); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY_2]); @@ -92,7 +92,7 @@ describe("Moves - Safeguard", () => { await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.YAWN); + game.move.select(MoveId.YAWN); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -103,11 +103,11 @@ describe("Moves - Safeguard", () => { await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.YAWN); + game.move.select(MoveId.YAWN); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(enemyPokemon.status?.effect).toEqual(StatusEffect.SLEEP); @@ -118,18 +118,18 @@ describe("Moves - Safeguard", () => { await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); enemyPokemon.damageAndUpdate(1); expect(enemyPokemon.status?.effect).toEqual(StatusEffect.BURN); - game.override.enemyMoveset([Moves.REST]); + game.override.enemyMoveset([MoveId.REST]); // Force the moveset to update mid-battle // TODO: Remove after enemy AI rework is in enemyPokemon.getMoveset(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); enemyPokemon.damageAndUpdate(1); await game.toNextTurn(); @@ -137,20 +137,20 @@ describe("Moves - Safeguard", () => { }); it("protects from ability-inflicted status", async () => { - game.override.ability(Abilities.STATIC); + game.override.ability(AbilityId.STATIC); vi.spyOn( - allAbilities[Abilities.STATIC].getAttrs(PostDefendContactApplyStatusEffectAbAttr)[0], + allAbilities[AbilityId.STATIC].getAttrs(PostDefendContactApplyStatusEffectAbAttr)[0], "chance", "get", ).mockReturnValue(100); await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); - game.override.enemyMoveset([Moves.TACKLE]); - game.move.select(Moves.SPLASH); + game.override.enemyMoveset([MoveId.TACKLE]); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(enemyPokemon.status).toBeUndefined(); diff --git a/test/moves/scale_shot.test.ts b/test/moves/scale_shot.test.ts index 49e68c75450..f61a9a1e276 100644 --- a/test/moves/scale_shot.test.ts +++ b/test/moves/scale_shot.test.ts @@ -4,9 +4,9 @@ import { DamageAnimPhase } from "#app/phases/damage-anim-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -29,21 +29,21 @@ describe("Moves - Scale Shot", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SCALE_SHOT]) + .moveset([MoveId.SCALE_SHOT]) .battleStyle("single") .disableCrits() - .ability(Abilities.NO_GUARD) - .passiveAbility(Abilities.SKILL_LINK) - .enemyMoveset(Moves.SPLASH) + .ability(AbilityId.NO_GUARD) + .passiveAbility(AbilityId.SKILL_LINK) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(3); }); it("applies stat changes after last hit", async () => { - game.override.enemySpecies(Species.FORRETRESS); + game.override.enemySpecies(SpeciesId.FORRETRESS); - await game.classicMode.startBattle([Species.MINCCINO]); + await game.classicMode.startBattle([SpeciesId.MINCCINO]); const minccino = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SCALE_SHOT); + game.move.select(MoveId.SCALE_SHOT); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); @@ -62,17 +62,17 @@ describe("Moves - Scale Shot", () => { }); it("unaffected by sheer force", async () => { - const moveToCheck = allMoves[Moves.SCALE_SHOT]; + const moveToCheck = allMoves[MoveId.SCALE_SHOT]; const basePower = moveToCheck.power; - game.override.enemySpecies(Species.WOBBUFFET); + game.override.enemySpecies(SpeciesId.WOBBUFFET); vi.spyOn(moveToCheck, "calculateBattlePower"); - await game.classicMode.startBattle([Species.MINCCINO]); + await game.classicMode.startBattle([SpeciesId.MINCCINO]); const minccino = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SCALE_SHOT); + game.move.select(MoveId.SCALE_SHOT); await game.phaseInterceptor.to(TurnEndPhase); //effect not nullified by sheer force diff --git a/test/moves/secret_power.test.ts b/test/moves/secret_power.test.ts index 99945002b8d..ac06f03698c 100644 --- a/test/moves/secret_power.test.ts +++ b/test/moves/secret_power.test.ts @@ -1,9 +1,9 @@ -import { Abilities } from "#enums/abilities"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; import { allMoves } from "#app/data/data-lists"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,48 +31,48 @@ describe("Moves - Secret Power", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SECRET_POWER]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SECRET_POWER]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .enemyLevel(60) - .enemyAbility(Abilities.BALL_FETCH); + .enemyAbility(AbilityId.BALL_FETCH); }); it("Secret Power checks for an active terrain first then looks at the biome for its secondary effect", async () => { - game.override.startingBiome(Biome.VOLCANO).enemyMoveset([Moves.SPLASH, Moves.MISTY_TERRAIN]); - vi.spyOn(allMoves[Moves.SECRET_POWER], "chance", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.startingBiome(BiomeId.VOLCANO).enemyMoveset([MoveId.SPLASH, MoveId.MISTY_TERRAIN]); + vi.spyOn(allMoves[MoveId.SECRET_POWER], "chance", "get").mockReturnValue(100); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemyPokemon = game.scene.getEnemyPokemon()!; - // No Terrain + Biome.VOLCANO --> Burn - game.move.select(Moves.SECRET_POWER); - await game.move.selectEnemyMove(Moves.SPLASH); + // No Terrain + BiomeId.VOLCANO --> Burn + game.move.select(MoveId.SECRET_POWER); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon.status?.effect).toBe(StatusEffect.BURN); // Misty Terrain --> SpAtk -1 - game.move.select(Moves.SECRET_POWER); - await game.move.selectEnemyMove(Moves.MISTY_TERRAIN); + game.move.select(MoveId.SECRET_POWER); + await game.move.selectEnemyMove(MoveId.MISTY_TERRAIN); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon.getStatStage(Stat.SPATK)).toBe(-1); }); it("Secret Power's effect chance is doubled by Serene Grace, but not by the 'rainbow' effect from Fire/Water Pledge", async () => { game.override - .moveset([Moves.FIRE_PLEDGE, Moves.WATER_PLEDGE, Moves.SECRET_POWER, Moves.SPLASH]) - .ability(Abilities.SERENE_GRACE) - .enemyMoveset([Moves.SPLASH]) + .moveset([MoveId.FIRE_PLEDGE, MoveId.WATER_PLEDGE, MoveId.SECRET_POWER, MoveId.SPLASH]) + .ability(AbilityId.SERENE_GRACE) + .enemyMoveset([MoveId.SPLASH]) .battleStyle("double"); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); - const sereneGraceAttr = allAbilities[Abilities.SERENE_GRACE].getAttrs(MoveEffectChanceMultiplierAbAttr)[0]; + const sereneGraceAttr = allAbilities[AbilityId.SERENE_GRACE].getAttrs(MoveEffectChanceMultiplierAbAttr)[0]; vi.spyOn(sereneGraceAttr, "canApply"); - game.move.select(Moves.WATER_PLEDGE, 0, BattlerIndex.ENEMY); - game.move.select(Moves.FIRE_PLEDGE, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.WATER_PLEDGE, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.FIRE_PLEDGE, 1, BattlerIndex.ENEMY_2); await game.phaseInterceptor.to("TurnEndPhase"); @@ -82,8 +82,8 @@ describe("Moves - Secret Power", () => { rainbowEffect = rainbowEffect!; vi.spyOn(rainbowEffect, "apply"); - game.move.select(Moves.SECRET_POWER, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SECRET_POWER, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/shed_tail.test.ts b/test/moves/shed_tail.test.ts index 845399f6c27..84a5d5ba914 100644 --- a/test/moves/shed_tail.test.ts +++ b/test/moves/shed_tail.test.ts @@ -1,8 +1,8 @@ import { SubstituteTag } from "#app/data/battler-tags"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -24,19 +24,19 @@ describe("Moves - Shed Tail", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SHED_TAIL]) + .moveset([MoveId.SHED_TAIL]) .battleStyle("single") - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("transfers a Substitute doll to the switched in Pokemon", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.FEEBAS]); const magikarp = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SHED_TAIL); + game.move.select(MoveId.SHED_TAIL); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase", false); @@ -53,12 +53,12 @@ describe("Moves - Shed Tail", () => { }); it("should fail if no ally is available to switch in", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const magikarp = game.scene.getPlayerPokemon()!; expect(game.scene.getPlayerParty().length).toBe(1); - game.move.select(Moves.SHED_TAIL); + game.move.select(MoveId.SHED_TAIL); await game.phaseInterceptor.to("TurnEndPhase", false); diff --git a/test/moves/shell_side_arm.test.ts b/test/moves/shell_side_arm.test.ts index 4d7ae7025a1..ad79091a5e3 100644 --- a/test/moves/shell_side_arm.test.ts +++ b/test/moves/shell_side_arm.test.ts @@ -2,9 +2,9 @@ import { BattlerIndex } from "#app/battle"; import { ShellSideArmCategoryAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; import type Move from "#app/data/moves/move"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -26,55 +26,55 @@ describe("Moves - Shell Side Arm", () => { }); beforeEach(() => { - shellSideArm = allMoves[Moves.SHELL_SIDE_ARM]; + shellSideArm = allMoves[MoveId.SHELL_SIDE_ARM]; shellSideArmAttr = shellSideArm.getAttrs(ShellSideArmCategoryAttr)[0]; game = new GameManager(phaserGame); game.override - .moveset([Moves.SHELL_SIDE_ARM, Moves.SPLASH]) + .moveset([MoveId.SHELL_SIDE_ARM, MoveId.SPLASH]) .battleStyle("single") .startingLevel(100) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("becomes a physical attack if forecasted to deal more damage as physical", async () => { - game.override.enemySpecies(Species.SNORLAX); + game.override.enemySpecies(SpeciesId.SNORLAX); - await game.classicMode.startBattle([Species.RAMPARDOS]); + await game.classicMode.startBattle([SpeciesId.RAMPARDOS]); vi.spyOn(shellSideArmAttr, "apply"); - game.move.select(Moves.SHELL_SIDE_ARM); + game.move.select(MoveId.SHELL_SIDE_ARM); await game.phaseInterceptor.to("MoveEffectPhase"); expect(shellSideArmAttr.apply).toHaveLastReturnedWith(true); }); it("remains a special attack if forecasted to deal more damage as special", async () => { - game.override.enemySpecies(Species.SLOWBRO); + game.override.enemySpecies(SpeciesId.SLOWBRO); - await game.classicMode.startBattle([Species.XURKITREE]); + await game.classicMode.startBattle([SpeciesId.XURKITREE]); vi.spyOn(shellSideArmAttr, "apply"); - game.move.select(Moves.SHELL_SIDE_ARM); + game.move.select(MoveId.SHELL_SIDE_ARM); await game.phaseInterceptor.to("MoveEffectPhase"); expect(shellSideArmAttr.apply).toHaveLastReturnedWith(false); }); it("respects stat stage changes when forecasting base damage", async () => { - game.override.enemySpecies(Species.SNORLAX).enemyMoveset(Moves.COTTON_GUARD); + game.override.enemySpecies(SpeciesId.SNORLAX).enemyMoveset(MoveId.COTTON_GUARD); - await game.classicMode.startBattle([Species.MANAPHY]); + await game.classicMode.startBattle([SpeciesId.MANAPHY]); vi.spyOn(shellSideArmAttr, "apply"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); - game.move.select(Moves.SHELL_SIDE_ARM); + game.move.select(MoveId.SHELL_SIDE_ARM); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/shell_trap.test.ts b/test/moves/shell_trap.test.ts index 2aa4712152d..4dfc0e72d0a 100644 --- a/test/moves/shell_trap.test.ts +++ b/test/moves/shell_trap.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveResult } from "#app/field/pokemon"; import { BerryPhase } from "#app/phases/berry-phase"; import { MoveEndPhase } from "#app/phases/move-end-phase"; @@ -28,23 +28,23 @@ describe("Moves - Shell Trap", () => { game = new GameManager(phaserGame); game.override .battleStyle("double") - .moveset([Moves.SHELL_TRAP, Moves.SPLASH, Moves.BULLDOZE]) - .enemySpecies(Species.SNORLAX) - .enemyMoveset([Moves.RAZOR_LEAF]) + .moveset([MoveId.SHELL_TRAP, MoveId.SPLASH, MoveId.BULLDOZE]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyMoveset([MoveId.RAZOR_LEAF]) .startingLevel(100) .enemyLevel(100); - vi.spyOn(allMoves[Moves.RAZOR_LEAF], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.RAZOR_LEAF], "accuracy", "get").mockReturnValue(100); }); it("should activate after the user is hit by a physical attack", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.TURTONATOR]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.TURTONATOR]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SHELL_TRAP, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SHELL_TRAP, 1); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2]); @@ -59,15 +59,15 @@ describe("Moves - Shell Trap", () => { }); it("should fail if the user is only hit by special attacks", async () => { - game.override.enemyMoveset([Moves.SWIFT]); + game.override.enemyMoveset([MoveId.SWIFT]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.TURTONATOR]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.TURTONATOR]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SHELL_TRAP, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SHELL_TRAP, 1); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2]); @@ -82,15 +82,15 @@ describe("Moves - Shell Trap", () => { }); it("should fail if the user isn't hit with any attack", async () => { - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.CHARIZARD, Species.TURTONATOR]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.TURTONATOR]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SHELL_TRAP, 1); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SHELL_TRAP, 1); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.ENEMY_2, BattlerIndex.PLAYER, BattlerIndex.PLAYER_2]); @@ -105,15 +105,15 @@ describe("Moves - Shell Trap", () => { }); it("should not activate from an ally's attack", async () => { - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SHELL_TRAP); - game.move.select(Moves.BULLDOZE, 1); + game.move.select(MoveId.SHELL_TRAP); + game.move.select(MoveId.BULLDOZE, 1); await game.phaseInterceptor.to(MoveEndPhase); @@ -129,14 +129,14 @@ describe("Moves - Shell Trap", () => { it("should not activate from a subsequent physical attack", async () => { game.override.battleStyle("single"); - vi.spyOn(allMoves[Moves.RAZOR_LEAF], "priority", "get").mockReturnValue(-4); + vi.spyOn(allMoves[MoveId.RAZOR_LEAF], "priority", "get").mockReturnValue(-4); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SHELL_TRAP); + game.move.select(MoveId.SHELL_TRAP); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/simple_beam.test.ts b/test/moves/simple_beam.test.ts index 225fda28083..94609c3c4ac 100644 --- a/test/moves/simple_beam.test.ts +++ b/test/moves/simple_beam.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -22,21 +22,21 @@ describe("Moves - Simple Beam", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.SIMPLE_BEAM]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.SIMPLE_BEAM]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("sets the target's ability to simple", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SIMPLE_BEAM); + game.move.select(MoveId.SIMPLE_BEAM); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(Abilities.SIMPLE); + expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(AbilityId.SIMPLE); }); }); diff --git a/test/moves/sketch.test.ts b/test/moves/sketch.test.ts index fc38d6a1147..23e7f4ef3ab 100644 --- a/test/moves/sketch.test.ts +++ b/test/moves/sketch.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveResult, PokemonMove } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -27,73 +27,75 @@ describe("Moves - Sketch", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .ability(Abilities.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("Sketch should not fail even if a previous Sketch failed to retrieve a valid move and ran out of PP", async () => { - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerPokemon()!; // can't use normal moveset override because we need to check moveset changes - playerPokemon.moveset = [new PokemonMove(Moves.SKETCH), new PokemonMove(Moves.SKETCH)]; + playerPokemon.moveset = [new PokemonMove(MoveId.SKETCH), new PokemonMove(MoveId.SKETCH)]; - game.move.select(Moves.SKETCH); + game.move.select(MoveId.SKETCH); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getLastXMoves()[0].result).toBe(MoveResult.FAIL); const moveSlot0 = playerPokemon.getMoveset()[0]!; - expect(moveSlot0.moveId).toBe(Moves.SKETCH); + expect(moveSlot0.moveId).toBe(MoveId.SKETCH); expect(moveSlot0.getPpRatio()).toBe(0); await game.toNextTurn(); - game.move.select(Moves.SKETCH); + game.move.select(MoveId.SKETCH); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); - expect(playerPokemon.moveset[0]?.moveId).toBe(Moves.SPLASH); - expect(playerPokemon.moveset[1]?.moveId).toBe(Moves.SKETCH); + expect(playerPokemon.moveset[0]?.moveId).toBe(MoveId.SPLASH); + expect(playerPokemon.moveset[1]?.moveId).toBe(MoveId.SKETCH); }); it("Sketch should retrieve the most recent valid move from its target history", async () => { game.override.enemyStatusEffect(StatusEffect.PARALYSIS); - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - playerPokemon.moveset = [new PokemonMove(Moves.SKETCH), new PokemonMove(Moves.GROWL)]; + playerPokemon.moveset = [new PokemonMove(MoveId.SKETCH), new PokemonMove(MoveId.GROWL)]; - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.move.forceStatusActivation(false); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); await game.toNextTurn(); - game.move.select(Moves.SKETCH); + game.move.select(MoveId.SKETCH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.move.forceStatusActivation(true); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); - expect(playerPokemon.moveset[0]?.moveId).toBe(Moves.SPLASH); - expect(playerPokemon.moveset[1]?.moveId).toBe(Moves.GROWL); + expect(playerPokemon.moveset[0]?.moveId).toBe(MoveId.SPLASH); + expect(playerPokemon.moveset[1]?.moveId).toBe(MoveId.GROWL); }); it("should sketch moves that call other moves", async () => { - const randomMoveAttr = allMoves[Moves.METRONOME].findAttr(attr => attr instanceof RandomMoveAttr) as RandomMoveAttr; - vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(Moves.FALSE_SWIPE); + const randomMoveAttr = allMoves[MoveId.METRONOME].findAttr( + attr => attr instanceof RandomMoveAttr, + ) as RandomMoveAttr; + vi.spyOn(randomMoveAttr, "getMoveOverride").mockReturnValue(MoveId.FALSE_SWIPE); - game.override.enemyMoveset([Moves.METRONOME]); - await game.classicMode.startBattle([Species.REGIELEKI]); + game.override.enemyMoveset([MoveId.METRONOME]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerPokemon()!; - playerPokemon.moveset = [new PokemonMove(Moves.SKETCH)]; + playerPokemon.moveset = [new PokemonMove(MoveId.SKETCH)]; // Opponent uses Metronome -> False Swipe, then player uses Sketch, which should sketch Metronome - game.move.select(Moves.SKETCH); + game.move.select(MoveId.SKETCH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); - expect(playerPokemon.moveset[0]?.moveId).toBe(Moves.METRONOME); + expect(playerPokemon.moveset[0]?.moveId).toBe(MoveId.METRONOME); expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp()); // Make sure opponent actually used False Swipe }); }); diff --git a/test/moves/skill_swap.test.ts b/test/moves/skill_swap.test.ts index 562e4bb56ed..c4fb6005e28 100644 --- a/test/moves/skill_swap.test.ts +++ b/test/moves/skill_swap.test.ts @@ -1,7 +1,7 @@ import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,31 +23,31 @@ describe("Moves - Skill Swap", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.SKILL_SWAP]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH, MoveId.SKILL_SWAP]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should swap the two abilities", async () => { - game.override.ability(Abilities.ADAPTABILITY); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.ability(AbilityId.ADAPTABILITY); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); - expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(Abilities.BALL_FETCH); - expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(Abilities.ADAPTABILITY); + expect(game.scene.getPlayerPokemon()?.getAbility().id).toBe(AbilityId.BALL_FETCH); + expect(game.scene.getEnemyPokemon()?.getAbility().id).toBe(AbilityId.ADAPTABILITY); }); it("should activate post-summon abilities", async () => { - game.override.ability(Abilities.INTIMIDATE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.ability(AbilityId.INTIMIDATE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SKILL_SWAP); + game.move.select(MoveId.SKILL_SWAP); await game.phaseInterceptor.to("BerryPhase"); // player atk should be -1 after opponent gains intimidate and it activates diff --git a/test/moves/sleep_talk.test.ts b/test/moves/sleep_talk.test.ts index cbe3b6d7d3a..820a5f9082a 100644 --- a/test/moves/sleep_talk.test.ts +++ b/test/moves/sleep_talk.test.ts @@ -1,9 +1,9 @@ import { Stat } from "#app/enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,49 +25,49 @@ describe("Moves - Sleep Talk", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH, Moves.SLEEP_TALK]) + .moveset([MoveId.SPLASH, MoveId.SLEEP_TALK]) .statusEffect(StatusEffect.SLEEP) - .ability(Abilities.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(100); }); it("should fail when the user is not asleep", async () => { game.override.statusEffect(StatusEffect.NONE); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SLEEP_TALK); + game.move.select(MoveId.SLEEP_TALK); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should fail if the user has no valid moves", async () => { - game.override.moveset([Moves.SLEEP_TALK, Moves.DIG, Moves.METRONOME, Moves.SOLAR_BEAM]); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.moveset([MoveId.SLEEP_TALK, MoveId.DIG, MoveId.METRONOME, MoveId.SOLAR_BEAM]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SLEEP_TALK); + game.move.select(MoveId.SLEEP_TALK); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should call a random valid move if the user is asleep", async () => { - game.override.moveset([Moves.SLEEP_TALK, Moves.DIG, Moves.FLY, Moves.SWORDS_DANCE]); // Dig and Fly are invalid moves, Swords Dance should always be called - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.moveset([MoveId.SLEEP_TALK, MoveId.DIG, MoveId.FLY, MoveId.SWORDS_DANCE]); // Dig and Fly are invalid moves, Swords Dance should always be called + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.SLEEP_TALK); + game.move.select(MoveId.SLEEP_TALK); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.getStatStage(Stat.ATK)); }); it("should apply secondary effects of a move", async () => { - game.override.moveset([Moves.SLEEP_TALK, Moves.DIG, Moves.FLY, Moves.WOOD_HAMMER]); // Dig and Fly are invalid moves, Wood Hammer should always be called + game.override.moveset([MoveId.SLEEP_TALK, MoveId.DIG, MoveId.FLY, MoveId.WOOD_HAMMER]); // Dig and Fly are invalid moves, Wood Hammer should always be called await game.classicMode.startBattle(); - game.move.select(Moves.SLEEP_TALK); + game.move.select(MoveId.SLEEP_TALK); await game.toNextTurn(); expect(game.scene.getPlayerPokemon()!.isFullHp()).toBeFalsy(); // Wood Hammer recoil effect should be applied diff --git a/test/moves/solar_beam.test.ts b/test/moves/solar_beam.test.ts index 8566859a4bc..7515843a13f 100644 --- a/test/moves/solar_beam.test.ts +++ b/test/moves/solar_beam.test.ts @@ -2,9 +2,9 @@ import { allMoves } from "#app/data/data-lists"; import { BattlerTagType } from "#enums/battler-tag-type"; import { WeatherType } from "#enums/weather-type"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -26,22 +26,22 @@ describe("Moves - Solar Beam", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.SOLAR_BEAM) + .moveset(MoveId.SOLAR_BEAM) .battleStyle("single") .startingLevel(100) - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(100) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should deal damage in two turns if no weather is active", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SOLAR_BEAM); + game.move.select(MoveId.SOLAR_BEAM); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.CHARGING)).toBeDefined(); @@ -54,7 +54,7 @@ describe("Moves - Solar Beam", () => { expect(playerPokemon.getMoveHistory()).toHaveLength(2); expect(playerPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); - const playerSolarBeam = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.SOLAR_BEAM); + const playerSolarBeam = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.SOLAR_BEAM); expect(playerSolarBeam?.ppUsed).toBe(1); }); @@ -64,12 +64,12 @@ describe("Moves - Solar Beam", () => { ])("should deal damage in one turn if $name is active", async ({ weatherType }) => { game.override.weather(weatherType); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SOLAR_BEAM); + game.move.select(MoveId.SOLAR_BEAM); await game.phaseInterceptor.to("TurnEndPhase"); expect(playerPokemon.getTag(BattlerTagType.CHARGING)).toBeUndefined(); @@ -77,7 +77,7 @@ describe("Moves - Solar Beam", () => { expect(playerPokemon.getMoveHistory()).toHaveLength(2); expect(playerPokemon.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); - const playerSolarBeam = playerPokemon.getMoveset().find(mv => mv && mv.moveId === Moves.SOLAR_BEAM); + const playerSolarBeam = playerPokemon.getMoveset().find(mv => mv && mv.moveId === MoveId.SOLAR_BEAM); expect(playerSolarBeam?.ppUsed).toBe(1); }); @@ -87,13 +87,13 @@ describe("Moves - Solar Beam", () => { ])("should have its power halved in $name", async ({ weatherType }) => { game.override.weather(weatherType); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - const solarBeam = allMoves[Moves.SOLAR_BEAM]; + const solarBeam = allMoves[MoveId.SOLAR_BEAM]; vi.spyOn(solarBeam, "calculateBattlePower"); - game.move.select(Moves.SOLAR_BEAM); + game.move.select(MoveId.SOLAR_BEAM); await game.phaseInterceptor.to("TurnEndPhase"); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/moves/sparkly_swirl.test.ts b/test/moves/sparkly_swirl.test.ts index 9eb018d4be7..d1cbdd70107 100644 --- a/test/moves/sparkly_swirl.test.ts +++ b/test/moves/sparkly_swirl.test.ts @@ -1,9 +1,9 @@ import { allMoves } from "#app/data/data-lists"; import { StatusEffect } from "#app/enums/status-effect"; import { CommandPhase } from "#app/phases/command-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -23,19 +23,19 @@ describe("Moves - Sparkly Swirl", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.SHUCKLE) + .enemySpecies(SpeciesId.SHUCKLE) .enemyLevel(100) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.SPARKLY_SWIRL, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH); + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.SPARKLY_SWIRL, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH); - vi.spyOn(allMoves[Moves.SPARKLY_SWIRL], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[MoveId.SPARKLY_SWIRL], "accuracy", "get").mockReturnValue(100); }); it("should cure status effect of the user, its ally, and all party pokemon", async () => { game.override.battleStyle("double").statusEffect(StatusEffect.BURN); - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftPlayer, rightPlayer, partyPokemon] = game.scene.getPlayerParty(); const leftOpp = game.scene.getEnemyPokemon()!; @@ -43,9 +43,9 @@ describe("Moves - Sparkly Swirl", () => { vi.spyOn(rightPlayer, "resetStatus"); vi.spyOn(partyPokemon, "resetStatus"); - game.move.select(Moves.SPARKLY_SWIRL, 0, leftOpp.getBattlerIndex()); + game.move.select(MoveId.SPARKLY_SWIRL, 0, leftOpp.getBattlerIndex()); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftPlayer.resetStatus).toHaveBeenCalledOnce(); @@ -59,15 +59,15 @@ describe("Moves - Sparkly Swirl", () => { it("should not cure status effect of the target/target's allies", async () => { game.override.battleStyle("double").enemyStatusEffect(StatusEffect.BURN); - await game.classicMode.startBattle([Species.RATTATA, Species.RATTATA]); + await game.classicMode.startBattle([SpeciesId.RATTATA, SpeciesId.RATTATA]); const [leftOpp, rightOpp] = game.scene.getEnemyField(); vi.spyOn(leftOpp, "resetStatus"); vi.spyOn(rightOpp, "resetStatus"); - game.move.select(Moves.SPARKLY_SWIRL, 0, leftOpp.getBattlerIndex()); + game.move.select(MoveId.SPARKLY_SWIRL, 0, leftOpp.getBattlerIndex()); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.toNextTurn(); expect(leftOpp.resetStatus).toHaveBeenCalledTimes(0); diff --git a/test/moves/spectral_thief.test.ts b/test/moves/spectral_thief.test.ts index 4c2e9f96274..df560169078 100644 --- a/test/moves/spectral_thief.test.ts +++ b/test/moves/spectral_thief.test.ts @@ -1,9 +1,9 @@ -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerIndex } from "#app/battle"; import { Stat } from "#enums/stat"; import { allMoves } from "#app/data/data-lists"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,12 +24,12 @@ describe("Moves - Spectral Thief", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .enemySpecies(Species.SHUCKLE) + .enemySpecies(SpeciesId.SHUCKLE) .enemyLevel(100) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .moveset([Moves.SPECTRAL_THIEF, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH).disableCrits; + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .moveset([MoveId.SPECTRAL_THIEF, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH).disableCrits; }); it("should steal max possible positive stat changes and ignore negative ones.", async () => { @@ -50,7 +50,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.SPDEF, 0); player.setStatStage(Stat.SPD, -2); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); /** @@ -65,26 +65,26 @@ describe("Moves - Spectral Thief", () => { }); it("should steal stat stages before dmg calculation", async () => { - game.override.enemySpecies(Species.MAGIKARP).enemyLevel(50); + game.override.enemySpecies(SpeciesId.MAGIKARP).enemyLevel(50); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - const moveToCheck = allMoves[Moves.SPECTRAL_THIEF]; + const moveToCheck = allMoves[MoveId.SPECTRAL_THIEF]; const dmgBefore = enemy.getAttackDamage({ source: player, move: moveToCheck }).damage; enemy.setStatStage(Stat.ATK, 6); player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); expect(dmgBefore).toBeLessThan(enemy.getAttackDamage({ source: player, move: moveToCheck }).damage); }); it("should steal stat stages as a negative value with Contrary.", async () => { - game.override.ability(Abilities.CONTRARY); + game.override.ability(AbilityId.CONTRARY); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -94,7 +94,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStatStage(Stat.ATK)).toEqual(-6); @@ -102,7 +102,7 @@ describe("Moves - Spectral Thief", () => { }); it("should steal double the stat stages with Simple.", async () => { - game.override.ability(Abilities.SIMPLE); + game.override.ability(AbilityId.SIMPLE); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -112,7 +112,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStatStage(Stat.ATK)).toEqual(6); @@ -120,7 +120,7 @@ describe("Moves - Spectral Thief", () => { }); it("should steal the stat stages through Clear Body.", async () => { - game.override.enemyAbility(Abilities.CLEAR_BODY); + game.override.enemyAbility(AbilityId.CLEAR_BODY); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -130,7 +130,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStatStage(Stat.ATK)).toEqual(3); @@ -138,7 +138,7 @@ describe("Moves - Spectral Thief", () => { }); it("should steal the stat stages through White Smoke.", async () => { - game.override.enemyAbility(Abilities.WHITE_SMOKE); + game.override.enemyAbility(AbilityId.WHITE_SMOKE); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -148,7 +148,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStatStage(Stat.ATK)).toEqual(3); @@ -156,7 +156,7 @@ describe("Moves - Spectral Thief", () => { }); it("should steal the stat stages through Hyper Cutter.", async () => { - game.override.enemyAbility(Abilities.HYPER_CUTTER); + game.override.enemyAbility(AbilityId.HYPER_CUTTER); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -166,7 +166,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStatStage(Stat.ATK)).toEqual(3); @@ -174,7 +174,7 @@ describe("Moves - Spectral Thief", () => { }); it("should bypass Substitute.", async () => { - game.override.enemyMoveset(Moves.SUBSTITUTE); + game.override.enemyMoveset(MoveId.SUBSTITUTE); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -184,7 +184,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to(TurnEndPhase); @@ -194,7 +194,7 @@ describe("Moves - Spectral Thief", () => { }); it("should get blocked by protect.", async () => { - game.override.enemyMoveset(Moves.PROTECT); + game.override.enemyMoveset(MoveId.PROTECT); await game.classicMode.startBattle(); const player = game.scene.getPlayerPokemon()!; @@ -204,7 +204,7 @@ describe("Moves - Spectral Thief", () => { player.setStatStage(Stat.ATK, 0); - game.move.select(Moves.SPECTRAL_THIEF); + game.move.select(MoveId.SPECTRAL_THIEF); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStatStage(Stat.ATK)).toEqual(0); diff --git a/test/moves/speed_swap.test.ts b/test/moves/speed_swap.test.ts index f2be761b64e..aef0d981e98 100644 --- a/test/moves/speed_swap.test.ts +++ b/test/moves/speed_swap.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; describe("Moves - Speed Swap", () => { let phaserGame: Phaser.Game; @@ -25,16 +25,16 @@ describe("Moves - Speed Swap", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.NONE) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.MEW) + .enemyAbility(AbilityId.NONE) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.MEW) .enemyLevel(200) - .moveset([Moves.SPEED_SWAP]) - .ability(Abilities.NONE); + .moveset([MoveId.SPEED_SWAP]) + .ability(AbilityId.NONE); }); it("should swap the user's SPD and the target's SPD stats", async () => { - await game.classicMode.startBattle([Species.INDEEDEE]); + await game.classicMode.startBattle([SpeciesId.INDEEDEE]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -42,7 +42,7 @@ describe("Moves - Speed Swap", () => { const playerSpd = player.getStat(Stat.SPD, false); const enemySpd = enemy.getStat(Stat.SPD, false); - game.move.select(Moves.SPEED_SWAP); + game.move.select(MoveId.SPEED_SWAP); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStat(Stat.SPD, false)).toBe(enemySpd); diff --git a/test/moves/spikes.test.ts b/test/moves/spikes.test.ts index f37b54a2904..278c4510239 100644 --- a/test/moves/spikes.test.ts +++ b/test/moves/spikes.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,20 +24,20 @@ describe("Moves - Spikes", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.SPIKES, Moves.SPLASH, Moves.ROAR]); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.SPIKES, MoveId.SPLASH, MoveId.ROAR]); }); it("should not damage the team that set them", async () => { - await game.classicMode.startBattle([Species.MIGHTYENA, Species.POOCHYENA]); + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); game.doSwitchPokemon(1); @@ -52,12 +52,12 @@ describe("Moves - Spikes", () => { it("should damage opposing pokemon that are forced to switch in", async () => { game.override.startingWave(5); - await game.classicMode.startBattle([Species.MIGHTYENA, Species.POOCHYENA]); + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.toNextTurn(); - game.move.select(Moves.ROAR); + game.move.select(MoveId.ROAR); await game.toNextTurn(); const enemy = game.scene.getEnemyParty()[0]; @@ -66,12 +66,12 @@ describe("Moves - Spikes", () => { it("should damage opposing pokemon that choose to switch in", async () => { game.override.startingWave(5); - await game.classicMode.startBattle([Species.MIGHTYENA, Species.POOCHYENA]); + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); game.forceEnemyToSwitch(); await game.toNextTurn(); @@ -80,13 +80,13 @@ describe("Moves - Spikes", () => { }, 20000); it("should work when all targets fainted", async () => { - game.override.enemySpecies(Species.DIGLETT); + game.override.enemySpecies(SpeciesId.DIGLETT); game.override.battleStyle("double"); game.override.startingLevel(50); - await game.classicMode.startBattle([Species.RAYQUAZA, Species.ROWLET]); + await game.classicMode.startBattle([SpeciesId.RAYQUAZA, SpeciesId.ROWLET]); - game.move.select(Moves.EARTHQUAKE); - game.move.select(Moves.SPIKES, 1); + game.move.select(MoveId.EARTHQUAKE); + game.move.select(MoveId.SPIKES, 1); await game.phaseInterceptor.to("TurnEndPhase"); expect(game.scene.arena.getTagOnSide(ArenaTrapTag, ArenaTagSide.ENEMY)).toBeDefined(); diff --git a/test/moves/spit_up.test.ts b/test/moves/spit_up.test.ts index b11d74da64a..2d576168f4c 100644 --- a/test/moves/spit_up.test.ts +++ b/test/moves/spit_up.test.ts @@ -5,10 +5,10 @@ import { BattlerTagType } from "#app/enums/battler-tag-type"; import type { TurnMove } from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import type Move from "#app/data/moves/move"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { MovePhase } from "#app/phases/move-phase"; @@ -29,18 +29,18 @@ describe("Moves - Spit Up", () => { }); beforeEach(() => { - spitUp = allMoves[Moves.SPIT_UP]; + spitUp = allMoves[MoveId.SPIT_UP]; game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.RATTATA); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemyAbility(Abilities.NONE); + game.override.enemySpecies(SpeciesId.RATTATA); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemyAbility(AbilityId.NONE); game.override.enemyLevel(2000); game.override.moveset(new Array(4).fill(spitUp.id)); - game.override.ability(Abilities.NONE); + game.override.ability(AbilityId.NONE); vi.spyOn(spitUp, "calculateBattlePower"); }); @@ -50,7 +50,7 @@ describe("Moves - Spit Up", () => { const stacksToSetup = 1; const expectedPower = 100; - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; pokemon.addTag(BattlerTagType.STOCKPILING); @@ -59,7 +59,7 @@ describe("Moves - Spit Up", () => { expect(stockpilingTag).toBeDefined(); expect(stockpilingTag.stockpiledCount).toBe(stacksToSetup); - game.move.select(Moves.SPIT_UP); + game.move.select(MoveId.SPIT_UP); await game.phaseInterceptor.to(TurnInitPhase); expect(spitUp.calculateBattlePower).toHaveBeenCalledOnce(); @@ -72,7 +72,7 @@ describe("Moves - Spit Up", () => { const stacksToSetup = 2; const expectedPower = 200; - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; pokemon.addTag(BattlerTagType.STOCKPILING); @@ -82,7 +82,7 @@ describe("Moves - Spit Up", () => { expect(stockpilingTag).toBeDefined(); expect(stockpilingTag.stockpiledCount).toBe(stacksToSetup); - game.move.select(Moves.SPIT_UP); + game.move.select(MoveId.SPIT_UP); await game.phaseInterceptor.to(TurnInitPhase); expect(spitUp.calculateBattlePower).toHaveBeenCalledOnce(); @@ -95,7 +95,7 @@ describe("Moves - Spit Up", () => { const stacksToSetup = 3; const expectedPower = 300; - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; pokemon.addTag(BattlerTagType.STOCKPILING); @@ -106,7 +106,7 @@ describe("Moves - Spit Up", () => { expect(stockpilingTag).toBeDefined(); expect(stockpilingTag.stockpiledCount).toBe(stacksToSetup); - game.move.select(Moves.SPIT_UP); + game.move.select(MoveId.SPIT_UP); await game.phaseInterceptor.to(TurnInitPhase); expect(spitUp.calculateBattlePower).toHaveBeenCalledOnce(); @@ -117,18 +117,18 @@ describe("Moves - Spit Up", () => { }); it("fails without stacks", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; const stockpilingTag = pokemon.getTag(StockpilingTag)!; expect(stockpilingTag).toBeUndefined(); - game.move.select(Moves.SPIT_UP); + game.move.select(MoveId.SPIT_UP); await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.getMoveHistory().at(-1)).toMatchObject({ - move: Moves.SPIT_UP, + move: MoveId.SPIT_UP, result: MoveResult.FAIL, targets: [game.scene.getEnemyPokemon()!.getBattlerIndex()], }); @@ -138,7 +138,7 @@ describe("Moves - Spit Up", () => { describe("restores stat boosts granted by stacks", () => { it("decreases stats based on stored values (both boosts equal)", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; pokemon.addTag(BattlerTagType.STOCKPILING); @@ -146,7 +146,7 @@ describe("Moves - Spit Up", () => { const stockpilingTag = pokemon.getTag(StockpilingTag)!; expect(stockpilingTag).toBeDefined(); - game.move.select(Moves.SPIT_UP); + game.move.select(MoveId.SPIT_UP); await game.phaseInterceptor.to(MovePhase); expect(pokemon.getStatStage(Stat.DEF)).toBe(1); @@ -155,7 +155,7 @@ describe("Moves - Spit Up", () => { await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.getMoveHistory().at(-1)).toMatchObject({ - move: Moves.SPIT_UP, + move: MoveId.SPIT_UP, result: MoveResult.SUCCESS, targets: [game.scene.getEnemyPokemon()!.getBattlerIndex()], }); @@ -169,7 +169,7 @@ describe("Moves - Spit Up", () => { }); it("decreases stats based on stored values (different boosts)", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; pokemon.addTag(BattlerTagType.STOCKPILING); @@ -183,11 +183,11 @@ describe("Moves - Spit Up", () => { [Stat.SPDEF]: 2, }; - game.move.select(Moves.SPIT_UP); + game.move.select(MoveId.SPIT_UP); await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.getMoveHistory().at(-1)).toMatchObject({ - move: Moves.SPIT_UP, + move: MoveId.SPIT_UP, result: MoveResult.SUCCESS, targets: [game.scene.getEnemyPokemon()!.getBattlerIndex()], }); diff --git a/test/moves/spotlight.test.ts b/test/moves/spotlight.test.ts index e617682bdd5..2798dfa282a 100644 --- a/test/moves/spotlight.test.ts +++ b/test/moves/spotlight.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; @@ -23,24 +23,24 @@ describe("Moves - Spotlight", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("double"); - game.override.starterSpecies(Species.AMOONGUSS); - game.override.enemySpecies(Species.SNORLAX); + game.override.starterSpecies(SpeciesId.AMOONGUSS); + game.override.enemySpecies(SpeciesId.SNORLAX); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.moveset([Moves.FOLLOW_ME, Moves.RAGE_POWDER, Moves.SPOTLIGHT, Moves.QUICK_ATTACK]); - game.override.enemyMoveset([Moves.FOLLOW_ME, Moves.SPLASH]); + game.override.moveset([MoveId.FOLLOW_ME, MoveId.RAGE_POWDER, MoveId.SPOTLIGHT, MoveId.QUICK_ATTACK]); + game.override.enemyMoveset([MoveId.FOLLOW_ME, MoveId.SPLASH]); }); test("move should redirect attacks to the target", async () => { - await game.classicMode.startBattle([Species.AMOONGUSS, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SPOTLIGHT, 0, BattlerIndex.ENEMY); - game.move.select(Moves.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPOTLIGHT, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase, false); @@ -49,15 +49,15 @@ describe("Moves - Spotlight", () => { }); test("move should cause other redirection moves to fail", async () => { - await game.classicMode.startBattle([Species.AMOONGUSS, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.AMOONGUSS, SpeciesId.CHARIZARD]); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.SPOTLIGHT, 0, BattlerIndex.ENEMY); - game.move.select(Moves.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); + game.move.select(MoveId.SPOTLIGHT, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.QUICK_ATTACK, 1, BattlerIndex.ENEMY_2); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.FOLLOW_ME); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.FOLLOW_ME); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/steamroller.test.ts b/test/moves/steamroller.test.ts index a77a30321e1..f4f8131ff7b 100644 --- a/test/moves/steamroller.test.ts +++ b/test/moves/steamroller.test.ts @@ -2,9 +2,9 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/data-lists"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import type { DamageCalculationResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,26 +25,26 @@ describe("Moves - Steamroller", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.moveset([Moves.STEAMROLLER]).battleStyle("single").enemyAbility(Abilities.BALL_FETCH); + game.override.moveset([MoveId.STEAMROLLER]).battleStyle("single").enemyAbility(AbilityId.BALL_FETCH); }); it("should always hit a minimzed target with double damage", async () => { - game.override.enemySpecies(Species.DITTO).enemyMoveset(Moves.MINIMIZE); - await game.classicMode.startBattle([Species.IRON_BOULDER]); + game.override.enemySpecies(SpeciesId.DITTO).enemyMoveset(MoveId.MINIMIZE); + await game.classicMode.startBattle([SpeciesId.IRON_BOULDER]); const ditto = game.scene.getEnemyPokemon()!; vi.spyOn(ditto, "getAttackDamage"); ditto.hp = 5000; - const steamroller = allMoves[Moves.STEAMROLLER]; + const steamroller = allMoves[MoveId.STEAMROLLER]; vi.spyOn(steamroller, "calculateBattleAccuracy"); const ironBoulder = game.scene.getPlayerPokemon()!; vi.spyOn(ironBoulder, "getAccuracyMultiplier"); // Turn 1 - game.move.select(Moves.STEAMROLLER); + game.move.select(MoveId.STEAMROLLER); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextTurn(); // Turn 2 - game.move.select(Moves.STEAMROLLER); + game.move.select(MoveId.STEAMROLLER); await game.toNextTurn(); const [dmgCalcTurn1, dmgCalcTurn2]: DamageCalculationResult[] = vi diff --git a/test/moves/stockpile.test.ts b/test/moves/stockpile.test.ts index 196a1d8ca9a..5bf2b74d4d9 100644 --- a/test/moves/stockpile.test.ts +++ b/test/moves/stockpile.test.ts @@ -4,9 +4,9 @@ import type { TurnMove } from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { CommandPhase } from "#app/phases/command-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -29,17 +29,17 @@ describe("Moves - Stockpile", () => { game.override.battleStyle("single"); - game.override.enemySpecies(Species.RATTATA); - game.override.enemyMoveset(Moves.SPLASH); - game.override.enemyAbility(Abilities.NONE); + game.override.enemySpecies(SpeciesId.RATTATA); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.enemyAbility(AbilityId.NONE); game.override.startingLevel(2000); - game.override.moveset([Moves.STOCKPILE, Moves.SPLASH]); - game.override.ability(Abilities.NONE); + game.override.moveset([MoveId.STOCKPILE, MoveId.SPLASH]); + game.override.ability(AbilityId.NONE); }); it("gains a stockpile stack and raises user's DEF and SPDEF stat stages by 1 on each use, fails at max stacks (3)", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const user = game.scene.getPlayerPokemon()!; @@ -56,7 +56,7 @@ describe("Moves - Stockpile", () => { await game.phaseInterceptor.to(CommandPhase); } - game.move.select(Moves.STOCKPILE); + game.move.select(MoveId.STOCKPILE); await game.phaseInterceptor.to(TurnInitPhase); const stockpilingTag = user.getTag(StockpilingTag)!; @@ -75,7 +75,7 @@ describe("Moves - Stockpile", () => { expect(stockpilingTag.stockpiledCount).toBe(3); expect(user.getMoveHistory().at(-1)).toMatchObject({ result: MoveResult.FAIL, - move: Moves.STOCKPILE, + move: MoveId.STOCKPILE, targets: [user.getBattlerIndex()], }); } @@ -83,7 +83,7 @@ describe("Moves - Stockpile", () => { }); it("gains a stockpile stack even if user's DEF and SPDEF stat stages are at +6", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const user = game.scene.getPlayerPokemon()!; @@ -94,7 +94,7 @@ describe("Moves - Stockpile", () => { expect(user.getStatStage(Stat.DEF)).toBe(6); expect(user.getStatStage(Stat.SPDEF)).toBe(6); - game.move.select(Moves.STOCKPILE); + game.move.select(MoveId.STOCKPILE); await game.phaseInterceptor.to(TurnInitPhase); const stockpilingTag = user.getTag(StockpilingTag)!; @@ -106,7 +106,7 @@ describe("Moves - Stockpile", () => { // do it again, just for good measure await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.STOCKPILE); + game.move.select(MoveId.STOCKPILE); await game.phaseInterceptor.to(TurnInitPhase); const stockpilingTagAgain = user.getTag(StockpilingTag)!; diff --git a/test/moves/struggle.test.ts b/test/moves/struggle.test.ts index 61c6cd23e10..cd3c65217ed 100644 --- a/test/moves/struggle.test.ts +++ b/test/moves/struggle.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -22,21 +22,21 @@ describe("Moves - Struggle", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should not have its power boosted by adaptability or stab", async () => { - game.override.moveset([Moves.STRUGGLE]).ability(Abilities.ADAPTABILITY); - await game.classicMode.startBattle([Species.RATTATA]); + game.override.moveset([MoveId.STRUGGLE]).ability(AbilityId.ADAPTABILITY); + await game.classicMode.startBattle([SpeciesId.RATTATA]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.STRUGGLE); + game.move.select(MoveId.STRUGGLE); const stabSpy = vi.spyOn(enemy, "calculateStabMultiplier"); @@ -48,11 +48,11 @@ describe("Moves - Struggle", () => { }); it("should ignore type effectiveness", async () => { - game.override.moveset([Moves.STRUGGLE]); - await game.classicMode.startBattle([Species.GASTLY]); + game.override.moveset([MoveId.STRUGGLE]); + await game.classicMode.startBattle([SpeciesId.GASTLY]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.STRUGGLE); + game.move.select(MoveId.STRUGGLE); const moveEffectivenessSpy = vi.spyOn(enemy, "getMoveEffectiveness"); diff --git a/test/moves/substitute.test.ts b/test/moves/substitute.test.ts index 6d0995d3a26..97296be7d8f 100644 --- a/test/moves/substitute.test.ts +++ b/test/moves/substitute.test.ts @@ -8,12 +8,12 @@ import type { CommandPhase } from "#app/phases/command-phase"; import GameManager from "#test/testUtils/gameManager"; import { Command } from "#app/ui/command-ui-handler"; import { UiMode } from "#enums/ui-mode"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type"; import { BerryType } from "#enums/berry-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import { StatusEffect } from "#enums/status-effect"; import Phaser from "phaser"; @@ -38,20 +38,20 @@ describe("Moves - Substitute", () => { game.override .battleStyle("single") - .moveset([Moves.SUBSTITUTE, Moves.SWORDS_DANCE, Moves.TACKLE, Moves.SPLASH]) - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.INSOMNIA) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.SUBSTITUTE, MoveId.SWORDS_DANCE, MoveId.TACKLE, MoveId.SPLASH]) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.INSOMNIA) + .enemyMoveset(MoveId.SPLASH) .startingLevel(100) .enemyLevel(100); }); it("should cause the user to take damage", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -59,13 +59,13 @@ describe("Moves - Substitute", () => { }); it("should redirect enemy attack damage to the Substitute doll", async () => { - game.override.enemyMoveset(Moves.TACKLE); + game.override.enemyMoveset(MoveId.TACKLE); - await game.classicMode.startBattle([Species.SKARMORY]); + await game.classicMode.startBattle([SpeciesId.SKARMORY]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -81,14 +81,14 @@ describe("Moves - Substitute", () => { it("should fade after redirecting more damage than its remaining HP", async () => { // Giga Impact OHKOs Magikarp if substitute isn't up - game.override.enemyMoveset(Moves.GIGA_IMPACT); - vi.spyOn(allMoves[Moves.GIGA_IMPACT], "accuracy", "get").mockReturnValue(100); + game.override.enemyMoveset(MoveId.GIGA_IMPACT); + vi.spyOn(allMoves[MoveId.GIGA_IMPACT], "accuracy", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -103,13 +103,13 @@ describe("Moves - Substitute", () => { }); it("should block stat changes from status moves", async () => { - game.override.enemyMoveset(Moves.CHARM); + game.override.enemyMoveset(MoveId.CHARM); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("BerryPhase", false); @@ -118,13 +118,13 @@ describe("Moves - Substitute", () => { }); it("should be bypassed by sound-based moves", async () => { - game.override.enemyMoveset(Moves.ECHOED_VOICE); + game.override.enemyMoveset(MoveId.ECHOED_VOICE); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("MoveEndPhase"); @@ -138,14 +138,14 @@ describe("Moves - Substitute", () => { }); it("should be bypassed by attackers with Infiltrator", async () => { - game.override.enemyMoveset(Moves.TACKLE); - game.override.enemyAbility(Abilities.INFILTRATOR); + game.override.enemyMoveset(MoveId.TACKLE); + game.override.enemyAbility(AbilityId.INFILTRATOR); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("MoveEndPhase"); @@ -159,16 +159,16 @@ describe("Moves - Substitute", () => { }); it("shouldn't block the user's own status moves", async () => { - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("MoveEndPhase"); await game.toNextTurn(); - game.move.select(Moves.SWORDS_DANCE); + game.move.select(MoveId.SWORDS_DANCE); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -176,16 +176,16 @@ describe("Moves - Substitute", () => { }); it("shouldn't block moves that target the user's side of the field", async () => { - game.override.moveset(Moves.LIGHT_SCREEN); + game.override.moveset(MoveId.LIGHT_SCREEN); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(leadPokemon, "getMoveEffectiveness"); - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.LIGHT_SCREEN); + game.move.select(MoveId.LIGHT_SCREEN); await game.toNextTurn(); @@ -194,14 +194,14 @@ describe("Moves - Substitute", () => { }); it("shouldn't block the opponent from setting hazards", async () => { - game.override.enemyMoveset(Moves.STEALTH_ROCK); + game.override.enemyMoveset(MoveId.STEALTH_ROCK); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; vi.spyOn(leadPokemon, "getMoveEffectiveness"); - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.toNextTurn(); @@ -210,17 +210,17 @@ describe("Moves - Substitute", () => { }); it("shouldn't block moves that target both sides of the field", async () => { - game.override.moveset(Moves.TRICK_ROOM).enemyMoveset(Moves.GRAVITY); + game.override.moveset(MoveId.TRICK_ROOM).enemyMoveset(MoveId.GRAVITY); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const pokemon = game.scene.getField(true); pokemon.forEach(p => { vi.spyOn(p, "getMoveEffectiveness"); - p.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, p.id); + p.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, p.id); }); - game.move.select(Moves.TRICK_ROOM); + game.move.select(MoveId.TRICK_ROOM); await game.toNextTurn(); @@ -230,17 +230,17 @@ describe("Moves - Substitute", () => { }); it("should protect the user from flinching", async () => { - game.override.enemyMoveset(Moves.FAKE_OUT); + game.override.enemyMoveset(MoveId.FAKE_OUT); game.override.startingLevel(1); // Ensures the Substitute will break - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("BerryPhase", false); @@ -248,16 +248,16 @@ describe("Moves - Substitute", () => { }); it("should protect the user from being trapped", async () => { - vi.spyOn(allMoves[Moves.SAND_TOMB], "accuracy", "get").mockReturnValue(100); - game.override.enemyMoveset(Moves.SAND_TOMB); + vi.spyOn(allMoves[MoveId.SAND_TOMB], "accuracy", "get").mockReturnValue(100); + game.override.enemyMoveset(MoveId.SAND_TOMB); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); @@ -265,16 +265,16 @@ describe("Moves - Substitute", () => { }); it("should prevent the user's stats from being lowered", async () => { - vi.spyOn(allMoves[Moves.LIQUIDATION], "chance", "get").mockReturnValue(100); - game.override.enemyMoveset(Moves.LIQUIDATION); + vi.spyOn(allMoves[MoveId.LIQUIDATION], "chance", "get").mockReturnValue(100); + game.override.enemyMoveset(MoveId.LIQUIDATION); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); @@ -282,15 +282,15 @@ describe("Moves - Substitute", () => { }); it("should protect the user from being afflicted with status effects", async () => { - game.override.enemyMoveset(Moves.NUZZLE); + game.override.enemyMoveset(MoveId.NUZZLE); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); @@ -298,17 +298,17 @@ describe("Moves - Substitute", () => { }); it("should prevent the user's items from being stolen", async () => { - game.override.enemyMoveset(Moves.THIEF); - vi.spyOn(allMoves[Moves.THIEF], "attrs", "get").mockReturnValue([new StealHeldItemChanceAttr(1.0)]); // give Thief 100% steal rate + game.override.enemyMoveset(MoveId.THIEF); + vi.spyOn(allMoves[MoveId.THIEF], "attrs", "get").mockReturnValue([new StealHeldItemChanceAttr(1.0)]); // give Thief 100% steal rate game.override.startingHeldItems([{ name: "BERRY", type: BerryType.SITRUS }]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("BerryPhase", false); @@ -316,17 +316,17 @@ describe("Moves - Substitute", () => { }); it("should prevent the user's items from being removed", async () => { - game.override.moveset([Moves.KNOCK_OFF]); + game.override.moveset([MoveId.KNOCK_OFF]); game.override.enemyHeldItems([{ name: "BERRY", type: BerryType.SITRUS }]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const enemyPokemon = game.scene.getEnemyPokemon()!; - enemyPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, enemyPokemon.id); + enemyPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, enemyPokemon.id); const enemyNumItems = enemyPokemon.getHeldItems().length; - game.move.select(Moves.KNOCK_OFF); + game.move.select(MoveId.KNOCK_OFF); await game.phaseInterceptor.to("MoveEndPhase", false); @@ -334,17 +334,17 @@ describe("Moves - Substitute", () => { }); it("move effect should prevent the user's berries from being stolen and eaten", async () => { - game.override.enemyMoveset(Moves.BUG_BITE); + game.override.enemyMoveset(MoveId.BUG_BITE); game.override.startingHeldItems([{ name: "BERRY", type: BerryType.SITRUS }]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.TACKLE); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("MoveEndPhase", false); const enemyPostAttackHp = enemyPokemon.hp; @@ -356,15 +356,15 @@ describe("Moves - Substitute", () => { }); it("should prevent the user's stats from being reset by Clear Smog", async () => { - game.override.enemyMoveset(Moves.CLEAR_SMOG); + game.override.enemyMoveset(MoveId.CLEAR_SMOG); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.SWORDS_DANCE); + game.move.select(MoveId.SWORDS_DANCE); await game.phaseInterceptor.to("BerryPhase", false); @@ -372,16 +372,16 @@ describe("Moves - Substitute", () => { }); it("should prevent the user from becoming confused", async () => { - game.override.enemyMoveset(Moves.MAGICAL_TORQUE); - vi.spyOn(allMoves[Moves.MAGICAL_TORQUE], "chance", "get").mockReturnValue(100); + game.override.enemyMoveset(MoveId.MAGICAL_TORQUE); + vi.spyOn(allMoves[MoveId.MAGICAL_TORQUE], "chance", "get").mockReturnValue(100); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); - game.move.select(Moves.SWORDS_DANCE); + game.move.select(MoveId.SWORDS_DANCE); await game.phaseInterceptor.to("BerryPhase", false); @@ -390,13 +390,13 @@ describe("Moves - Substitute", () => { }); it("should transfer to the switched in Pokemon when the source uses Baton Pass", async () => { - game.override.moveset([Moves.SUBSTITUTE, Moves.BATON_PASS]); + game.override.moveset([MoveId.SUBSTITUTE, MoveId.BATON_PASS]); - await game.classicMode.startBattle([Species.BLASTOISE, Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE, SpeciesId.CHARIZARD]); const leadPokemon = game.scene.getPlayerPokemon()!; - leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, leadPokemon.id); + leadPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, leadPokemon.id); // Simulate a Baton switch for the player this turn game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { @@ -412,14 +412,14 @@ describe("Moves - Substitute", () => { }); it("should prevent the source's Rough Skin from activating when hit", async () => { - game.override.enemyMoveset(Moves.TACKLE); - game.override.ability(Abilities.ROUGH_SKIN); + game.override.enemyMoveset(MoveId.TACKLE); + game.override.ability(AbilityId.ROUGH_SKIN); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to("BerryPhase", false); @@ -427,20 +427,20 @@ describe("Moves - Substitute", () => { }); it("should prevent the source's Focus Punch from failing when hit", async () => { - game.override.enemyMoveset(Moves.TACKLE); - game.override.moveset([Moves.FOCUS_PUNCH]); + game.override.enemyMoveset(MoveId.TACKLE); + game.override.moveset([MoveId.FOCUS_PUNCH]); // Make Focus Punch 40 power to avoid a KO - vi.spyOn(allMoves[Moves.FOCUS_PUNCH], "calculateBattlePower").mockReturnValue(40); + vi.spyOn(allMoves[MoveId.FOCUS_PUNCH], "calculateBattlePower").mockReturnValue(40); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, playerPokemon.id); + playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, playerPokemon.id); - game.move.select(Moves.FOCUS_PUNCH); + game.move.select(MoveId.FOCUS_PUNCH); await game.phaseInterceptor.to("BerryPhase", false); @@ -449,16 +449,16 @@ describe("Moves - Substitute", () => { }); it("should not allow Shell Trap to activate when attacked", async () => { - game.override.enemyMoveset(Moves.TACKLE); - game.override.moveset([Moves.SHELL_TRAP]); + game.override.enemyMoveset(MoveId.TACKLE); + game.override.moveset([MoveId.SHELL_TRAP]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerPokemon()!; - playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, playerPokemon.id); + playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, playerPokemon.id); - game.move.select(Moves.SHELL_TRAP); + game.move.select(MoveId.SHELL_TRAP); await game.phaseInterceptor.to("BerryPhase", false); @@ -466,17 +466,17 @@ describe("Moves - Substitute", () => { }); it("should not allow Beak Blast to burn opponents when hit", async () => { - game.override.enemyMoveset(Moves.TACKLE); - game.override.moveset([Moves.BEAK_BLAST]); + game.override.enemyMoveset(MoveId.TACKLE); + game.override.moveset([MoveId.BEAK_BLAST]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, playerPokemon.id); + playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, playerPokemon.id); - game.move.select(Moves.BEAK_BLAST); + game.move.select(MoveId.BEAK_BLAST); await game.phaseInterceptor.to("MoveEndPhase"); @@ -484,17 +484,17 @@ describe("Moves - Substitute", () => { }); it("should cause incoming attacks to not activate Counter", async () => { - game.override.enemyMoveset(Moves.TACKLE); - game.override.moveset([Moves.COUNTER]); + game.override.enemyMoveset(MoveId.TACKLE); + game.override.moveset([MoveId.COUNTER]); - await game.classicMode.startBattle([Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.BLASTOISE]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; - playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, playerPokemon.id); + playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, playerPokemon.id); - game.move.select(Moves.COUNTER); + game.move.select(MoveId.COUNTER); await game.phaseInterceptor.to("BerryPhase", false); @@ -503,15 +503,15 @@ describe("Moves - Substitute", () => { }); it("should prevent Sappy Seed from applying its Leech Seed effect to the user", async () => { - game.override.enemyMoveset(Moves.SAPPY_SEED); + game.override.enemyMoveset(MoveId.SAPPY_SEED); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); const playerPokemon = game.scene.getPlayerPokemon()!; - playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, Moves.NONE, playerPokemon.id); + playerPokemon.addTag(BattlerTagType.SUBSTITUTE, 0, MoveId.NONE, playerPokemon.id); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); // enemy uses Sappy Seed first await game.move.forceHit(); // forces Sappy Seed to hit diff --git a/test/moves/swallow.test.ts b/test/moves/swallow.test.ts index 6a2fa8840ea..4452636c3af 100644 --- a/test/moves/swallow.test.ts +++ b/test/moves/swallow.test.ts @@ -5,9 +5,9 @@ import type { TurnMove } from "#app/field/pokemon"; import { MoveResult } from "#app/field/pokemon"; import { MovePhase } from "#app/phases/move-phase"; import { TurnInitPhase } from "#app/phases/turn-init-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -29,12 +29,12 @@ describe("Moves - Swallow", () => { game.override .battleStyle("single") - .enemySpecies(Species.RATTATA) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.NONE) + .enemySpecies(SpeciesId.RATTATA) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.NONE) .enemyLevel(2000) - .moveset(Moves.SWALLOW) - .ability(Abilities.NONE); + .moveset(MoveId.SWALLOW) + .ability(AbilityId.NONE); }); describe("consumes all stockpile stacks to heal (scaling with stacks)", () => { @@ -42,7 +42,7 @@ describe("Moves - Swallow", () => { const stacksToSetup = 1; const expectedHeal = 25; - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; vi.spyOn(pokemon, "getMaxHp").mockReturnValue(100); @@ -56,7 +56,7 @@ describe("Moves - Swallow", () => { vi.spyOn(pokemon, "heal"); - game.move.select(Moves.SWALLOW); + game.move.select(MoveId.SWALLOW); await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.heal).toHaveBeenCalledOnce(); @@ -69,7 +69,7 @@ describe("Moves - Swallow", () => { const stacksToSetup = 2; const expectedHeal = 50; - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; vi.spyOn(pokemon, "getMaxHp").mockReturnValue(100); @@ -84,7 +84,7 @@ describe("Moves - Swallow", () => { vi.spyOn(pokemon, "heal"); - game.move.select(Moves.SWALLOW); + game.move.select(MoveId.SWALLOW); await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.heal).toHaveBeenCalledOnce(); @@ -97,7 +97,7 @@ describe("Moves - Swallow", () => { const stacksToSetup = 3; const expectedHeal = 100; - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; vi.spyOn(pokemon, "getMaxHp").mockReturnValue(100); @@ -113,7 +113,7 @@ describe("Moves - Swallow", () => { vi.spyOn(pokemon, "heal"); - game.move.select(Moves.SWALLOW); + game.move.select(MoveId.SWALLOW); await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.heal).toHaveBeenCalledOnce(); @@ -124,18 +124,18 @@ describe("Moves - Swallow", () => { }); it("fails without stacks", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; const stockpilingTag = pokemon.getTag(StockpilingTag)!; expect(stockpilingTag).toBeUndefined(); - game.move.select(Moves.SWALLOW); + game.move.select(MoveId.SWALLOW); await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.getMoveHistory().at(-1)).toMatchObject({ - move: Moves.SWALLOW, + move: MoveId.SWALLOW, result: MoveResult.FAIL, targets: [pokemon.getBattlerIndex()], }); @@ -143,7 +143,7 @@ describe("Moves - Swallow", () => { describe("restores stat stage boosts granted by stacks", () => { it("decreases stats based on stored values (both boosts equal)", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; pokemon.addTag(BattlerTagType.STOCKPILING); @@ -151,7 +151,7 @@ describe("Moves - Swallow", () => { const stockpilingTag = pokemon.getTag(StockpilingTag)!; expect(stockpilingTag).toBeDefined(); - game.move.select(Moves.SWALLOW); + game.move.select(MoveId.SWALLOW); await game.phaseInterceptor.to(MovePhase); expect(pokemon.getStatStage(Stat.DEF)).toBe(1); @@ -160,7 +160,7 @@ describe("Moves - Swallow", () => { await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.getMoveHistory().at(-1)).toMatchObject({ - move: Moves.SWALLOW, + move: MoveId.SWALLOW, result: MoveResult.SUCCESS, targets: [pokemon.getBattlerIndex()], }); @@ -172,7 +172,7 @@ describe("Moves - Swallow", () => { }); it("lower stat stages based on stored values (different boosts)", async () => { - await game.classicMode.startBattle([Species.ABOMASNOW]); + await game.classicMode.startBattle([SpeciesId.ABOMASNOW]); const pokemon = game.scene.getPlayerPokemon()!; pokemon.addTag(BattlerTagType.STOCKPILING); @@ -186,12 +186,12 @@ describe("Moves - Swallow", () => { [Stat.SPDEF]: 2, }; - game.move.select(Moves.SWALLOW); + game.move.select(MoveId.SWALLOW); await game.phaseInterceptor.to(TurnInitPhase); expect(pokemon.getMoveHistory().at(-1)).toMatchObject({ - move: Moves.SWALLOW, + move: MoveId.SWALLOW, result: MoveResult.SUCCESS, targets: [pokemon.getBattlerIndex()], }); diff --git a/test/moves/synchronoise.test.ts b/test/moves/synchronoise.test.ts index 0f59bce26b4..176137c8180 100644 --- a/test/moves/synchronoise.test.ts +++ b/test/moves/synchronoise.test.ts @@ -1,7 +1,7 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { PokemonType } from "#enums/pokemon-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,24 +23,24 @@ describe("Moves - Synchronoise", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SYNCHRONOISE]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SYNCHRONOISE]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should consider the user's tera type if it is terastallized", async () => { - await game.classicMode.startBattle([Species.BIDOOF]); + await game.classicMode.startBattle([SpeciesId.BIDOOF]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyPokemon = game.scene.getEnemyPokemon()!; // force the player to be terastallized playerPokemon.teraType = PokemonType.WATER; playerPokemon.isTerastallized = true; - game.move.select(Moves.SYNCHRONOISE); + game.move.select(MoveId.SYNCHRONOISE); await game.phaseInterceptor.to("BerryPhase"); expect(enemyPokemon.hp).toBeLessThan(enemyPokemon.getMaxHp()); }); diff --git a/test/moves/syrup_bomb.test.ts b/test/moves/syrup_bomb.test.ts index 8e9134497d0..76bc7e7bae0 100644 --- a/test/moves/syrup_bomb.test.ts +++ b/test/moves/syrup_bomb.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; @@ -26,48 +26,48 @@ describe("Moves - SYRUP BOMB", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.SNORLAX) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.BALL_FETCH) + .enemySpecies(SpeciesId.SNORLAX) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) .startingLevel(30) .enemyLevel(100) - .moveset([Moves.SYRUP_BOMB, Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH); + .moveset([MoveId.SYRUP_BOMB, MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH); }); //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/syrup_bomb_(move) it("decreases the target Pokemon's speed stat once per turn for 3 turns", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const targetPokemon = game.scene.getEnemyPokemon()!; expect(targetPokemon.getStatStage(Stat.SPD)).toBe(0); - game.move.select(Moves.SYRUP_BOMB); + game.move.select(MoveId.SYRUP_BOMB); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.toNextTurn(); expect(targetPokemon.getTag(BattlerTagType.SYRUP_BOMB)).toBeDefined(); expect(targetPokemon.getStatStage(Stat.SPD)).toBe(-1); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(targetPokemon.getTag(BattlerTagType.SYRUP_BOMB)).toBeDefined(); expect(targetPokemon.getStatStage(Stat.SPD)).toBe(-2); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(targetPokemon.getTag(BattlerTagType.SYRUP_BOMB)).toBeUndefined(); expect(targetPokemon.getStatStage(Stat.SPD)).toBe(-3); }); it("does not affect Pokemon with the ability Bulletproof", async () => { - game.override.enemyAbility(Abilities.BULLETPROOF); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.enemyAbility(AbilityId.BULLETPROOF); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const targetPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.SYRUP_BOMB); + game.move.select(MoveId.SYRUP_BOMB); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.toNextTurn(); @@ -77,9 +77,9 @@ describe("Moves - SYRUP BOMB", () => { }); it("stops lowering the target's speed if the user leaves the field", async () => { - await game.classicMode.startBattle([Species.FEEBAS, Species.MILOTIC]); + await game.classicMode.startBattle([SpeciesId.FEEBAS, SpeciesId.MILOTIC]); - game.move.select(Moves.SYRUP_BOMB); + game.move.select(MoveId.SYRUP_BOMB); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.toNextTurn(); diff --git a/test/moves/tackle.test.ts b/test/moves/tackle.test.ts index ecd8750d17f..83a267dc7e4 100644 --- a/test/moves/tackle.test.ts +++ b/test/moves/tackle.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import { EnemyCommandPhase } from "#app/phases/enemy-command-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -23,21 +23,21 @@ describe("Moves - Tackle", () => { beforeEach(() => { game = new GameManager(phaserGame); - const moveToUse = Moves.TACKLE; + const moveToUse = MoveId.TACKLE; game.override .battleStyle("single") - .enemySpecies(Species.MAGIKARP) + .enemySpecies(SpeciesId.MAGIKARP) .startingLevel(1) .startingWave(97) .moveset([moveToUse]) - .enemyMoveset(Moves.GROWTH) + .enemyMoveset(MoveId.GROWTH) .disableCrits(); }); it("TACKLE against ghost", async () => { - const moveToUse = Moves.TACKLE; - game.override.enemySpecies(Species.GENGAR); - await game.classicMode.startBattle([Species.MIGHTYENA]); + const moveToUse = MoveId.TACKLE; + game.override.enemySpecies(SpeciesId.GENGAR); + await game.classicMode.startBattle([SpeciesId.MIGHTYENA]); const hpOpponent = game.scene.currentBattle.enemyParty[0].hp; game.move.select(moveToUse); await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnEndPhase); @@ -46,8 +46,8 @@ describe("Moves - Tackle", () => { }, 20000); it("TACKLE against not resistant", async () => { - const moveToUse = Moves.TACKLE; - await game.classicMode.startBattle([Species.MIGHTYENA]); + const moveToUse = MoveId.TACKLE; + await game.classicMode.startBattle([SpeciesId.MIGHTYENA]); game.scene.currentBattle.enemyParty[0].stats[Stat.DEF] = 50; game.scene.getPlayerParty()[0].stats[Stat.ATK] = 50; diff --git a/test/moves/tail_whip.test.ts b/test/moves/tail_whip.test.ts index d15864dd671..5118897a7cb 100644 --- a/test/moves/tail_whip.test.ts +++ b/test/moves/tail_whip.test.ts @@ -1,8 +1,8 @@ import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { EnemyCommandPhase } from "#app/phases/enemy-command-phase"; @@ -24,19 +24,19 @@ describe("Moves - Tail whip", () => { beforeEach(() => { game = new GameManager(phaserGame); - const moveToUse = Moves.TAIL_WHIP; + const moveToUse = MoveId.TAIL_WHIP; game.override.battleStyle("single"); - game.override.enemySpecies(Species.RATTATA); - game.override.enemyAbility(Abilities.INSOMNIA); - game.override.ability(Abilities.INSOMNIA); + game.override.enemySpecies(SpeciesId.RATTATA); + game.override.enemyAbility(AbilityId.INSOMNIA); + game.override.ability(AbilityId.INSOMNIA); game.override.startingLevel(2000); game.override.moveset([moveToUse]); - game.override.enemyMoveset(Moves.SPLASH); + game.override.enemyMoveset(MoveId.SPLASH); }); it("should lower DEF stat stage by 1", async () => { - const moveToUse = Moves.TAIL_WHIP; - await game.classicMode.startBattle([Species.MIGHTYENA, Species.MIGHTYENA]); + const moveToUse = MoveId.TAIL_WHIP; + await game.classicMode.startBattle([SpeciesId.MIGHTYENA, SpeciesId.MIGHTYENA]); const enemyPokemon = game.scene.getEnemyPokemon()!; expect(enemyPokemon.getStatStage(Stat.DEF)).toBe(0); diff --git a/test/moves/tailwind.test.ts b/test/moves/tailwind.test.ts index 40bae67b514..83078d7bf58 100644 --- a/test/moves/tailwind.test.ts +++ b/test/moves/tailwind.test.ts @@ -1,8 +1,8 @@ import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagType } from "#app/enums/arena-tag-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -26,14 +26,14 @@ describe("Moves - Tailwind", () => { game = new GameManager(phaserGame); game.override .battleStyle("double") - .moveset([Moves.TAILWIND, Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.BALL_FETCH); + .moveset([MoveId.TAILWIND, MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.BALL_FETCH); }); it("doubles the Speed stat of the Pokemons on its side", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.MEOWTH]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MEOWTH]); const magikarp = game.scene.getPlayerField()[0]; const meowth = game.scene.getPlayerField()[1]; @@ -43,8 +43,8 @@ describe("Moves - Tailwind", () => { expect(magikarp.getEffectiveStat(Stat.SPD)).equal(magikarpSpd); expect(meowth.getEffectiveStat(Stat.SPD)).equal(meowthSpd); - game.move.select(Moves.TAILWIND); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TAILWIND); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -56,21 +56,21 @@ describe("Moves - Tailwind", () => { it("lasts for 4 turns", async () => { game.override.battleStyle("single"); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); - game.move.select(Moves.TAILWIND); + game.move.select(MoveId.TAILWIND); await game.toNextTurn(); expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeUndefined(); @@ -79,7 +79,7 @@ describe("Moves - Tailwind", () => { it("does not affect the opposing side", async () => { game.override.battleStyle("single"); - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const ally = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -92,7 +92,7 @@ describe("Moves - Tailwind", () => { expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeUndefined(); expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.ENEMY)).toBeUndefined(); - game.move.select(Moves.TAILWIND); + game.move.select(MoveId.TAILWIND); await game.phaseInterceptor.to("TurnEndPhase"); diff --git a/test/moves/tar_shot.test.ts b/test/moves/tar_shot.test.ts index 68f19e3ab51..21eace0ef1f 100644 --- a/test/moves/tar_shot.test.ts +++ b/test/moves/tar_shot.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,29 +25,29 @@ describe("Moves - Tar Shot", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.TANGELA) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.TANGELA) .enemyLevel(1000) - .moveset([Moves.TAR_SHOT, Moves.FIRE_PUNCH]) + .moveset([MoveId.TAR_SHOT, MoveId.FIRE_PUNCH]) .disableCrits(); }); it("lowers the target's Speed stat by one stage and doubles the effectiveness of Fire-type moves used on the target", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.TAR_SHOT); + game.move.select(MoveId.TAR_SHOT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.getStatStage(Stat.SPD)).toBe(-1); await game.toNextTurn(); - game.move.select(Moves.FIRE_PUNCH); + game.move.select(MoveId.FIRE_PUNCH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -55,27 +55,27 @@ describe("Moves - Tar Shot", () => { }); it("will not double the effectiveness of Fire-type moves used on a target that is already under the effect of Tar Shot (but may still lower its Speed)", async () => { - await game.classicMode.startBattle([Species.PIKACHU]); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.TAR_SHOT); + game.move.select(MoveId.TAR_SHOT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.getStatStage(Stat.SPD)).toBe(-1); await game.toNextTurn(); - game.move.select(Moves.TAR_SHOT); + game.move.select(MoveId.TAR_SHOT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.getStatStage(Stat.SPD)).toBe(-2); await game.toNextTurn(); - game.move.select(Moves.FIRE_PUNCH); + game.move.select(MoveId.FIRE_PUNCH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -83,8 +83,8 @@ describe("Moves - Tar Shot", () => { }); it("does not double the effectiveness of Fire-type moves against a Pokémon that is Terastallized", async () => { - game.override.enemySpecies(Species.SPRIGATITO); - await game.classicMode.startBattle([Species.PIKACHU]); + game.override.enemySpecies(SpeciesId.SPRIGATITO); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const enemy = game.scene.getEnemyPokemon()!; enemy.teraType = PokemonType.GRASS; @@ -92,14 +92,14 @@ describe("Moves - Tar Shot", () => { vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.TAR_SHOT); + game.move.select(MoveId.TAR_SHOT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.getStatStage(Stat.SPD)).toBe(-1); await game.toNextTurn(); - game.move.select(Moves.FIRE_PUNCH); + game.move.select(MoveId.FIRE_PUNCH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -107,14 +107,14 @@ describe("Moves - Tar Shot", () => { }); it("doubles the effectiveness of Fire-type moves against a Pokémon that is already under the effects of Tar Shot before it Terastallized", async () => { - game.override.enemySpecies(Species.SPRIGATITO); - await game.classicMode.startBattle([Species.PIKACHU]); + game.override.enemySpecies(SpeciesId.SPRIGATITO); + await game.classicMode.startBattle([SpeciesId.PIKACHU]); const enemy = game.scene.getEnemyPokemon()!; vi.spyOn(enemy, "getMoveEffectiveness"); - game.move.select(Moves.TAR_SHOT); + game.move.select(MoveId.TAR_SHOT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.getStatStage(Stat.SPD)).toBe(-1); @@ -124,7 +124,7 @@ describe("Moves - Tar Shot", () => { enemy.teraType = PokemonType.GRASS; enemy.isTerastallized = true; - game.move.select(Moves.FIRE_PUNCH); + game.move.select(MoveId.FIRE_PUNCH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); diff --git a/test/moves/taunt.test.ts b/test/moves/taunt.test.ts index bcb4789f888..e214bd77ef7 100644 --- a/test/moves/taunt.test.ts +++ b/test/moves/taunt.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,31 +24,31 @@ describe("Moves - Taunt", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.TAUNT, Moves.SPLASH]) - .enemySpecies(Species.SHUCKLE) - .moveset([Moves.GROWL]); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.TAUNT, MoveId.SPLASH]) + .enemySpecies(SpeciesId.SHUCKLE) + .moveset([MoveId.GROWL]); }); it("Pokemon should not be able to use Status Moves", async () => { - await game.classicMode.startBattle([Species.REGIELEKI]); + await game.classicMode.startBattle([SpeciesId.REGIELEKI]); const playerPokemon = game.scene.getPlayerPokemon()!; // First turn, Player Pokemon succeeds using Growl without Taunt - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.TAUNT); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.TAUNT); await game.toNextTurn(); const move1 = playerPokemon.getLastXMoves(1)[0]!; - expect(move1.move).toBe(Moves.GROWL); + expect(move1.move).toBe(MoveId.GROWL); expect(move1.result).toBe(MoveResult.SUCCESS); expect(playerPokemon?.getTag(BattlerTagType.TAUNT)).toBeDefined(); // Second turn, Taunt forces Struggle to occur - game.move.select(Moves.GROWL); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.GROWL); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const move2 = playerPokemon.getLastXMoves(1)[0]!; - expect(move2.move).toBe(Moves.STRUGGLE); + expect(move2.move).toBe(MoveId.STRUGGLE); }); }); diff --git a/test/moves/telekinesis.test.ts b/test/moves/telekinesis.test.ts index e5a21e915fa..18df17f1587 100644 --- a/test/moves/telekinesis.test.ts +++ b/test/moves/telekinesis.test.ts @@ -1,8 +1,8 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { MoveResult } from "#app/field/pokemon"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -26,95 +26,95 @@ describe("Moves - Telekinesis", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.TELEKINESIS, Moves.TACKLE, Moves.MUD_SHOT, Moves.SMACK_DOWN]) + .moveset([MoveId.TELEKINESIS, MoveId.TACKLE, MoveId.MUD_SHOT, MoveId.SMACK_DOWN]) .battleStyle("single") - .enemySpecies(Species.SNORLAX) + .enemySpecies(SpeciesId.SNORLAX) .enemyLevel(60) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH]); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH]); }); it("Telekinesis makes the affected vulnerable to most attacking moves regardless of accuracy", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyOpponent = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TELEKINESIS); + game.move.select(MoveId.TELEKINESIS); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.getTag(BattlerTagType.TELEKINESIS)).toBeDefined(); expect(enemyOpponent.getTag(BattlerTagType.FLOATING)).toBeDefined(); await game.toNextTurn(); - vi.spyOn(allMoves[Moves.TACKLE], "accuracy", "get").mockReturnValue(0); - game.move.select(Moves.TACKLE); + vi.spyOn(allMoves[MoveId.TACKLE], "accuracy", "get").mockReturnValue(0); + game.move.select(MoveId.TACKLE); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.isFullHp()).toBe(false); }); it("Telekinesis makes the affected airborne and immune to most Ground-moves", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyOpponent = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TELEKINESIS); + game.move.select(MoveId.TELEKINESIS); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.getTag(BattlerTagType.TELEKINESIS)).toBeDefined(); expect(enemyOpponent.getTag(BattlerTagType.FLOATING)).toBeDefined(); await game.toNextTurn(); - vi.spyOn(allMoves[Moves.MUD_SHOT], "accuracy", "get").mockReturnValue(100); - game.move.select(Moves.MUD_SHOT); + vi.spyOn(allMoves[MoveId.MUD_SHOT], "accuracy", "get").mockReturnValue(100); + game.move.select(MoveId.MUD_SHOT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.isFullHp()).toBe(true); }); it("Telekinesis can still affect Pokemon that have been transformed into invalid Pokemon", async () => { - game.override.enemyMoveset(Moves.TRANSFORM); - await game.classicMode.startBattle([Species.DIGLETT]); + game.override.enemyMoveset(MoveId.TRANSFORM); + await game.classicMode.startBattle([SpeciesId.DIGLETT]); const enemyOpponent = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TELEKINESIS); + game.move.select(MoveId.TELEKINESIS); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.getTag(BattlerTagType.TELEKINESIS)).toBeDefined(); expect(enemyOpponent.getTag(BattlerTagType.FLOATING)).toBeDefined(); - expect(enemyOpponent.summonData.speciesForm?.speciesId).toBe(Species.DIGLETT); + expect(enemyOpponent.summonData.speciesForm?.speciesId).toBe(SpeciesId.DIGLETT); }); it("Moves like Smack Down and 1000 Arrows remove all effects of Telekinesis from the target Pokemon", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemyOpponent = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TELEKINESIS); + game.move.select(MoveId.TELEKINESIS); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.getTag(BattlerTagType.TELEKINESIS)).toBeDefined(); expect(enemyOpponent.getTag(BattlerTagType.FLOATING)).toBeDefined(); await game.toNextTurn(); - game.move.select(Moves.SMACK_DOWN); + game.move.select(MoveId.SMACK_DOWN); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.getTag(BattlerTagType.TELEKINESIS)).toBeUndefined(); expect(enemyOpponent.getTag(BattlerTagType.FLOATING)).toBeUndefined(); }); it("Ingrain will remove the floating effect of Telekinesis, but not the 100% hit", async () => { - game.override.enemyMoveset([Moves.SPLASH, Moves.INGRAIN]); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.INGRAIN]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; const enemyOpponent = game.scene.getEnemyPokemon()!; - game.move.select(Moves.TELEKINESIS); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.TELEKINESIS); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.getTag(BattlerTagType.TELEKINESIS)).toBeDefined(); expect(enemyOpponent.getTag(BattlerTagType.FLOATING)).toBeDefined(); await game.toNextTurn(); - vi.spyOn(allMoves[Moves.MUD_SHOT], "accuracy", "get").mockReturnValue(0); - game.move.select(Moves.MUD_SHOT); - await game.move.selectEnemyMove(Moves.INGRAIN); + vi.spyOn(allMoves[MoveId.MUD_SHOT], "accuracy", "get").mockReturnValue(0); + game.move.select(MoveId.MUD_SHOT); + await game.move.selectEnemyMove(MoveId.INGRAIN); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyOpponent.getTag(BattlerTagType.TELEKINESIS)).toBeDefined(); expect(enemyOpponent.getTag(BattlerTagType.INGRAIN)).toBeDefined(); @@ -125,12 +125,12 @@ describe("Moves - Telekinesis", () => { it("should not be baton passed onto a mega gengar", async () => { game.override - .moveset([Moves.BATON_PASS]) - .enemyMoveset([Moves.TELEKINESIS]) - .starterForms({ [Species.GENGAR]: 1 }); + .moveset([MoveId.BATON_PASS]) + .enemyMoveset([MoveId.TELEKINESIS]) + .starterForms({ [SpeciesId.GENGAR]: 1 }); - await game.classicMode.startBattle([Species.MAGIKARP, Species.GENGAR]); - game.move.select(Moves.BATON_PASS); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.GENGAR]); + game.move.select(MoveId.BATON_PASS); game.doSelectPartyPokemon(1); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/tera_blast.test.ts b/test/moves/tera_blast.test.ts index c18c7f25498..4e3f9c6869b 100644 --- a/test/moves/tera_blast.test.ts +++ b/test/moves/tera_blast.test.ts @@ -4,9 +4,9 @@ import { TeraMoveCategoryAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; import type Move from "#app/data/moves/move"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#app/enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -22,7 +22,7 @@ describe("Moves - Tera Blast", () => { phaserGame = new Phaser.Game({ type: Phaser.HEADLESS, }); - moveToCheck = allMoves[Moves.TERA_BLAST]; + moveToCheck = allMoves[MoveId.TERA_BLAST]; teraBlastAttr = moveToCheck.getAttrs(TeraMoveCategoryAttr)[0]; }); @@ -36,19 +36,19 @@ describe("Moves - Tera Blast", () => { game.override .battleStyle("single") .disableCrits() - .starterSpecies(Species.FEEBAS) - .moveset([Moves.TERA_BLAST]) - .ability(Abilities.BALL_FETCH) - .enemySpecies(Species.MAGIKARP) - .enemyMoveset(Moves.SPLASH) - .enemyAbility(Abilities.STURDY) + .starterSpecies(SpeciesId.FEEBAS) + .moveset([MoveId.TERA_BLAST]) + .ability(AbilityId.BALL_FETCH) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH) + .enemyAbility(AbilityId.STURDY) .enemyLevel(50); vi.spyOn(moveToCheck, "calculateBattlePower"); }); it("changes type to match user's tera type", async () => { - game.override.enemySpecies(Species.FURRET); + game.override.enemySpecies(SpeciesId.FURRET); await game.classicMode.startBattle(); const enemyPokemon = game.scene.getEnemyPokemon()!; const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); @@ -57,7 +57,7 @@ describe("Moves - Tera Blast", () => { playerPokemon.teraType = PokemonType.FIGHTING; playerPokemon.isTerastallized = true; - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -71,7 +71,7 @@ describe("Moves - Tera Blast", () => { playerPokemon.teraType = PokemonType.STELLAR; playerPokemon.isTerastallized = true; - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -89,7 +89,7 @@ describe("Moves - Tera Blast", () => { const spy = vi.spyOn(enemyPokemon, "getMoveEffectiveness"); enemyPokemon.isTerastallized = true; - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEffectPhase"); @@ -106,7 +106,7 @@ describe("Moves - Tera Blast", () => { vi.spyOn(teraBlastAttr, "apply"); - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.toNextTurn(); expect(teraBlastAttr.apply).toHaveLastReturnedWith(true); }); @@ -120,13 +120,13 @@ describe("Moves - Tera Blast", () => { vi.spyOn(teraBlastAttr, "apply"); - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.toNextTurn(); expect(teraBlastAttr.apply).toHaveLastReturnedWith(false); }); it("should stay as a special move if ATK turns lower than SPATK mid-turn", async () => { - game.override.enemyMoveset([Moves.CHARM]); + game.override.enemyMoveset([MoveId.CHARM]); await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; @@ -135,7 +135,7 @@ describe("Moves - Tera Blast", () => { vi.spyOn(teraBlastAttr, "apply"); - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); expect(teraBlastAttr.apply).toHaveLastReturnedWith(false); @@ -144,7 +144,7 @@ describe("Moves - Tera Blast", () => { it("does not change its move category from stat changes due to held items", async () => { game.override .startingHeldItems([{ name: "SPECIES_STAT_BOOSTER", type: "THICK_CLUB" }]) - .starterSpecies(Species.CUBONE); + .starterSpecies(SpeciesId.CUBONE); await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; @@ -154,7 +154,7 @@ describe("Moves - Tera Blast", () => { vi.spyOn(teraBlastAttr, "apply"); - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); @@ -162,7 +162,7 @@ describe("Moves - Tera Blast", () => { }); it("does not change its move category from stat changes due to abilities", async () => { - game.override.ability(Abilities.HUGE_POWER); + game.override.ability(AbilityId.HUGE_POWER); await game.classicMode.startBattle(); const playerPokemon = game.scene.getPlayerPokemon()!; @@ -171,7 +171,7 @@ describe("Moves - Tera Blast", () => { vi.spyOn(teraBlastAttr, "apply"); - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.toNextTurn(); expect(teraBlastAttr.apply).toHaveLastReturnedWith(false); @@ -184,7 +184,7 @@ describe("Moves - Tera Blast", () => { playerPokemon.teraType = PokemonType.STELLAR; playerPokemon.isTerastallized = true; - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); @@ -193,29 +193,29 @@ describe("Moves - Tera Blast", () => { }); it.each([ - { ab: "galvanize", ty: "electric", ab_id: Abilities.GALVANIZE, ty_id: PokemonType.ELECTRIC }, - { ab: "refrigerate", ty: "ice", ab_id: Abilities.REFRIGERATE, ty_id: PokemonType.ICE }, - { ab: "pixilate", ty: "fairy", ab_id: Abilities.PIXILATE, ty_id: PokemonType.FAIRY }, - { ab: "aerilate", ty: "flying", ab_id: Abilities.AERILATE, ty_id: PokemonType.FLYING }, + { ab: "galvanize", ty: "electric", ab_id: AbilityId.GALVANIZE, ty_id: PokemonType.ELECTRIC }, + { ab: "refrigerate", ty: "ice", ab_id: AbilityId.REFRIGERATE, ty_id: PokemonType.ICE }, + { ab: "pixilate", ty: "fairy", ab_id: AbilityId.PIXILATE, ty_id: PokemonType.FAIRY }, + { ab: "aerilate", ty: "flying", ab_id: AbilityId.AERILATE, ty_id: PokemonType.FLYING }, ])("should be $ty type if the user has $ab", async ({ ab_id, ty_id }) => { - game.override.ability(ab_id).moveset([Moves.TERA_BLAST]).enemyAbility(Abilities.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.ability(ab_id).moveset([MoveId.TERA_BLAST]).enemyAbility(AbilityId.BALL_FETCH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; - expect(playerPokemon.getMoveType(allMoves[Moves.TERA_BLAST])).toBe(ty_id); + expect(playerPokemon.getMoveType(allMoves[MoveId.TERA_BLAST])).toBe(ty_id); }); it("should not be affected by normalize when the user is terastallized with tera normal", async () => { - game.override.moveset([Moves.TERA_BLAST]).ability(Abilities.NORMALIZE); - await game.classicMode.startBattle([Species.MAGIKARP]); + game.override.moveset([MoveId.TERA_BLAST]).ability(AbilityId.NORMALIZE); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const playerPokemon = game.scene.getPlayerPokemon()!; // override the tera state for the pokemon playerPokemon.isTerastallized = true; playerPokemon.teraType = PokemonType.NORMAL; - const move = allMoves[Moves.TERA_BLAST]; + const move = allMoves[MoveId.TERA_BLAST]; const powerSpy = vi.spyOn(move, "calculateBattlePower"); - game.move.select(Moves.TERA_BLAST); + game.move.select(MoveId.TERA_BLAST); await game.phaseInterceptor.to("BerryPhase"); expect(powerSpy).toHaveLastReturnedWith(move.power); }); diff --git a/test/moves/tera_starstorm.test.ts b/test/moves/tera_starstorm.test.ts index 5ae0c575599..bd1fa14398d 100644 --- a/test/moves/tera_starstorm.test.ts +++ b/test/moves/tera_starstorm.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { PokemonType } from "#enums/pokemon-type"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest"; @@ -24,37 +24,37 @@ describe("Moves - Tera Starstorm", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.TERA_STARSTORM, Moves.SPLASH]) + .moveset([MoveId.TERA_STARSTORM, MoveId.SPLASH]) .battleStyle("double") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(30) - .enemySpecies(Species.MAGIKARP); + .enemySpecies(SpeciesId.MAGIKARP); }); it("changes type to Stellar when used by Terapagos in its Stellar Form", async () => { game.override.battleStyle("single"); - await game.classicMode.startBattle([Species.TERAPAGOS]); + await game.classicMode.startBattle([SpeciesId.TERAPAGOS]); const terapagos = game.scene.getPlayerPokemon()!; terapagos.isTerastallized = true; vi.spyOn(terapagos, "getMoveType"); - game.move.select(Moves.TERA_STARSTORM); + game.move.select(MoveId.TERA_STARSTORM); await game.phaseInterceptor.to("TurnEndPhase"); expect(terapagos.getMoveType).toHaveReturnedWith(PokemonType.STELLAR); }); it("targets both opponents in a double battle when used by Terapagos in its Stellar Form", async () => { - await game.classicMode.startBattle([Species.MAGIKARP, Species.TERAPAGOS]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.TERAPAGOS]); const terapagos = game.scene.getPlayerParty()[1]; terapagos.isTerastallized = true; - game.move.select(Moves.TERA_STARSTORM, 0, BattlerIndex.ENEMY); - game.move.select(Moves.TERA_STARSTORM, 1); + game.move.select(MoveId.TERA_STARSTORM, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.TERA_STARSTORM, 1); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.PLAYER_2, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -70,12 +70,12 @@ describe("Moves - Tera Starstorm", () => { }); it("targets both opponents in a double battle when used by Terapagos immediately after terastallizing", async () => { - await game.classicMode.startBattle([Species.TERAPAGOS]); + await game.classicMode.startBattle([SpeciesId.TERAPAGOS]); const terapagos = game.scene.getPlayerParty()[0]; terapagos.isTerastallized = false; - game.move.selectWithTera(Moves.TERA_STARSTORM, 0); + game.move.selectWithTera(MoveId.TERA_STARSTORM, 0); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -87,12 +87,12 @@ describe("Moves - Tera Starstorm", () => { }); it("targets only one opponent in a double battle when used by Terapagos without terastallizing", async () => { - await game.classicMode.startBattle([Species.TERAPAGOS]); + await game.classicMode.startBattle([SpeciesId.TERAPAGOS]); const terapagos = game.scene.getPlayerParty()[0]; terapagos.isTerastallized = false; - game.move.select(Moves.TERA_STARSTORM, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.TERA_STARSTORM, 0, BattlerIndex.ENEMY); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY, BattlerIndex.ENEMY_2]); @@ -104,7 +104,7 @@ describe("Moves - Tera Starstorm", () => { }); it("applies the effects when Terapagos in Stellar Form is fused with another Pokemon", async () => { - await game.classicMode.startBattle([Species.TERAPAGOS, Species.CHARMANDER, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.TERAPAGOS, SpeciesId.CHARMANDER, SpeciesId.MAGIKARP]); const fusionedMon = game.scene.getPlayerParty()[0]; const magikarp = game.scene.getPlayerParty()[2]; @@ -122,8 +122,8 @@ describe("Moves - Tera Starstorm", () => { vi.spyOn(fusionedMon, "getMoveType"); - game.move.select(Moves.TERA_STARSTORM, 0); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.TERA_STARSTORM, 0); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to("TurnEndPhase"); // Fusion and terastallized diff --git a/test/moves/thousand_arrows.test.ts b/test/moves/thousand_arrows.test.ts index 39bc8617767..428e7c4fbe4 100644 --- a/test/moves/thousand_arrows.test.ts +++ b/test/moves/thousand_arrows.test.ts @@ -1,9 +1,9 @@ -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#app/enums/battler-tag-type"; import { BerryPhase } from "#app/phases/berry-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,19 +25,19 @@ describe("Moves - Thousand Arrows", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.TOGETIC); + game.override.enemySpecies(SpeciesId.TOGETIC); game.override.startingLevel(100); game.override.enemyLevel(100); - game.override.moveset([Moves.THOUSAND_ARROWS]); - game.override.enemyMoveset([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]); + game.override.moveset([MoveId.THOUSAND_ARROWS]); + game.override.enemyMoveset([MoveId.SPLASH, MoveId.SPLASH, MoveId.SPLASH, MoveId.SPLASH]); }); it("move should hit and ground Flying-type targets", async () => { - await game.classicMode.startBattle([Species.ILLUMISE]); + await game.classicMode.startBattle([SpeciesId.ILLUMISE]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THOUSAND_ARROWS); + game.move.select(MoveId.THOUSAND_ARROWS); await game.phaseInterceptor.to(MoveEffectPhase, false); // Enemy should not be grounded before move effect is applied @@ -50,14 +50,14 @@ describe("Moves - Thousand Arrows", () => { }); it("move should hit and ground targets with Levitate", async () => { - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyAbility(Abilities.LEVITATE); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyAbility(AbilityId.LEVITATE); - await game.classicMode.startBattle([Species.ILLUMISE]); + await game.classicMode.startBattle([SpeciesId.ILLUMISE]); const enemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THOUSAND_ARROWS); + game.move.select(MoveId.THOUSAND_ARROWS); await game.phaseInterceptor.to(MoveEffectPhase, false); // Enemy should not be grounded before move effect is applied @@ -70,15 +70,15 @@ describe("Moves - Thousand Arrows", () => { }); it("move should hit and ground targets under the effects of Magnet Rise", async () => { - game.override.enemySpecies(Species.SNORLAX); + game.override.enemySpecies(SpeciesId.SNORLAX); - await game.classicMode.startBattle([Species.ILLUMISE]); + await game.classicMode.startBattle([SpeciesId.ILLUMISE]); const enemyPokemon = game.scene.getEnemyPokemon()!; - enemyPokemon.addTag(BattlerTagType.FLOATING, undefined, Moves.MAGNET_RISE); + enemyPokemon.addTag(BattlerTagType.FLOATING, undefined, MoveId.MAGNET_RISE); - game.move.select(Moves.THOUSAND_ARROWS); + game.move.select(MoveId.THOUSAND_ARROWS); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/throat_chop.test.ts b/test/moves/throat_chop.test.ts index 8e504633707..c1c9c4e94ad 100644 --- a/test/moves/throat_chop.test.ts +++ b/test/moves/throat_chop.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { Stat } from "#app/enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -23,20 +23,20 @@ describe("Moves - Throat Chop", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.GROWL) + .moveset(MoveId.GROWL) .battleStyle("single") - .ability(Abilities.BALL_FETCH) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.THROAT_CHOP) - .enemySpecies(Species.MAGIKARP); + .ability(AbilityId.BALL_FETCH) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.THROAT_CHOP) + .enemySpecies(SpeciesId.MAGIKARP); }); it("prevents the target from using sound-based moves for two turns", async () => { - await game.classicMode.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); // First turn, move is interrupted @@ -46,7 +46,7 @@ describe("Moves - Throat Chop", () => { // Second turn, struggle if no valid moves await game.toNextTurn(); - game.move.select(Moves.GROWL); + game.move.select(MoveId.GROWL); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.phaseInterceptor.to("MoveEndPhase"); diff --git a/test/moves/thunder_wave.test.ts b/test/moves/thunder_wave.test.ts index 326d7ecbdc0..7d2692fdfa3 100644 --- a/test/moves/thunder_wave.test.ts +++ b/test/moves/thunder_wave.test.ts @@ -1,7 +1,7 @@ import type { EnemyPokemon } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -25,20 +25,20 @@ describe("Moves - Thunder Wave", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .starterSpecies(Species.PIKACHU) - .moveset([Moves.THUNDER_WAVE]) - .enemyMoveset(Moves.SPLASH); + .starterSpecies(SpeciesId.PIKACHU) + .moveset([MoveId.THUNDER_WAVE]) + .enemyMoveset(MoveId.SPLASH); }); // References: https://bulbapedia.bulbagarden.net/wiki/Thunder_Wave_(move) it("paralyzes non-statused Pokemon that are not Ground types", async () => { - game.override.enemySpecies(Species.MAGIKARP); + game.override.enemySpecies(SpeciesId.MAGIKARP); await game.classicMode.startBattle(); const enemyPokemon: EnemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase", false); @@ -46,12 +46,12 @@ describe("Moves - Thunder Wave", () => { }); it("does not paralyze if the Pokemon is a Ground-type", async () => { - game.override.enemySpecies(Species.DIGLETT); + game.override.enemySpecies(SpeciesId.DIGLETT); await game.classicMode.startBattle(); const enemyPokemon: EnemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase", false); @@ -59,12 +59,12 @@ describe("Moves - Thunder Wave", () => { }); it("does not paralyze if the Pokemon already has a status effect", async () => { - game.override.enemySpecies(Species.MAGIKARP).enemyStatusEffect(StatusEffect.BURN); + game.override.enemySpecies(SpeciesId.MAGIKARP).enemyStatusEffect(StatusEffect.BURN); await game.classicMode.startBattle(); const enemyPokemon: EnemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase", false); @@ -72,12 +72,12 @@ describe("Moves - Thunder Wave", () => { }); it("affects Ground types if the user has Normalize", async () => { - game.override.ability(Abilities.NORMALIZE).enemySpecies(Species.DIGLETT); + game.override.ability(AbilityId.NORMALIZE).enemySpecies(SpeciesId.DIGLETT); await game.classicMode.startBattle(); const enemyPokemon: EnemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase", false); @@ -85,12 +85,12 @@ describe("Moves - Thunder Wave", () => { }); it("does not affect Ghost types if the user has Normalize", async () => { - game.override.ability(Abilities.NORMALIZE).enemySpecies(Species.HAUNTER); + game.override.ability(AbilityId.NORMALIZE).enemySpecies(SpeciesId.HAUNTER); await game.classicMode.startBattle(); const enemyPokemon: EnemyPokemon = game.scene.getEnemyPokemon()!; - game.move.select(Moves.THUNDER_WAVE); + game.move.select(MoveId.THUNDER_WAVE); await game.move.forceHit(); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/tidy_up.test.ts b/test/moves/tidy_up.test.ts index 103b2d0a1c5..8e79b6b130a 100644 --- a/test/moves/tidy_up.test.ts +++ b/test/moves/tidy_up.test.ts @@ -2,9 +2,9 @@ import { Stat } from "#enums/stat"; import { ArenaTagType } from "#app/enums/arena-tag-type"; import { MoveEndPhase } from "#app/phases/move-end-phase"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -27,68 +27,68 @@ describe("Moves - Tidy Up", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override.battleStyle("single"); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyAbility(Abilities.BALL_FETCH); - game.override.enemyMoveset(Moves.SPLASH); - game.override.starterSpecies(Species.FEEBAS); - game.override.ability(Abilities.BALL_FETCH); - game.override.moveset([Moves.TIDY_UP]); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyAbility(AbilityId.BALL_FETCH); + game.override.enemyMoveset(MoveId.SPLASH); + game.override.starterSpecies(SpeciesId.FEEBAS); + game.override.ability(AbilityId.BALL_FETCH); + game.override.moveset([MoveId.TIDY_UP]); game.override.startingLevel(50); }); it("spikes are cleared", async () => { - game.override.moveset([Moves.SPIKES, Moves.TIDY_UP]).enemyMoveset(Moves.SPIKES); + game.override.moveset([MoveId.SPIKES, MoveId.TIDY_UP]).enemyMoveset(MoveId.SPIKES); await game.classicMode.startBattle(); - game.move.select(Moves.SPIKES); + game.move.select(MoveId.SPIKES); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.TIDY_UP); + game.move.select(MoveId.TIDY_UP); await game.phaseInterceptor.to(MoveEndPhase); expect(game.scene.arena.getTag(ArenaTagType.SPIKES)).toBeUndefined(); }, 20000); it("stealth rocks are cleared", async () => { - game.override.moveset([Moves.STEALTH_ROCK, Moves.TIDY_UP]).enemyMoveset(Moves.STEALTH_ROCK); + game.override.moveset([MoveId.STEALTH_ROCK, MoveId.TIDY_UP]).enemyMoveset(MoveId.STEALTH_ROCK); await game.classicMode.startBattle(); - game.move.select(Moves.STEALTH_ROCK); + game.move.select(MoveId.STEALTH_ROCK); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.TIDY_UP); + game.move.select(MoveId.TIDY_UP); await game.phaseInterceptor.to(MoveEndPhase); expect(game.scene.arena.getTag(ArenaTagType.STEALTH_ROCK)).toBeUndefined(); }, 20000); it("toxic spikes are cleared", async () => { - game.override.moveset([Moves.TOXIC_SPIKES, Moves.TIDY_UP]).enemyMoveset(Moves.TOXIC_SPIKES); + game.override.moveset([MoveId.TOXIC_SPIKES, MoveId.TIDY_UP]).enemyMoveset(MoveId.TOXIC_SPIKES); await game.classicMode.startBattle(); - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.TIDY_UP); + game.move.select(MoveId.TIDY_UP); await game.phaseInterceptor.to(MoveEndPhase); expect(game.scene.arena.getTag(ArenaTagType.TOXIC_SPIKES)).toBeUndefined(); }, 20000); it("sticky webs are cleared", async () => { - game.override.moveset([Moves.STICKY_WEB, Moves.TIDY_UP]).enemyMoveset(Moves.STICKY_WEB); + game.override.moveset([MoveId.STICKY_WEB, MoveId.TIDY_UP]).enemyMoveset(MoveId.STICKY_WEB); await game.classicMode.startBattle(); - game.move.select(Moves.STICKY_WEB); + game.move.select(MoveId.STICKY_WEB); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.TIDY_UP); + game.move.select(MoveId.TIDY_UP); await game.phaseInterceptor.to(MoveEndPhase); expect(game.scene.arena.getTag(ArenaTagType.STICKY_WEB)).toBeUndefined(); }, 20000); it("substitutes are cleared", async () => { - game.override.moveset([Moves.SUBSTITUTE, Moves.TIDY_UP]).enemyMoveset(Moves.SUBSTITUTE); + game.override.moveset([MoveId.SUBSTITUTE, MoveId.TIDY_UP]).enemyMoveset(MoveId.SUBSTITUTE); await game.classicMode.startBattle(); - game.move.select(Moves.SUBSTITUTE); + game.move.select(MoveId.SUBSTITUTE); await game.phaseInterceptor.to(TurnEndPhase); - game.move.select(Moves.TIDY_UP); + game.move.select(MoveId.TIDY_UP); await game.phaseInterceptor.to(MoveEndPhase); const pokemon = [game.scene.getPlayerPokemon()!, game.scene.getEnemyPokemon()!]; @@ -106,7 +106,7 @@ describe("Moves - Tidy Up", () => { expect(playerPokemon.getStatStage(Stat.ATK)).toBe(0); expect(playerPokemon.getStatStage(Stat.SPD)).toBe(0); - game.move.select(Moves.TIDY_UP); + game.move.select(MoveId.TIDY_UP); await game.phaseInterceptor.to(TurnEndPhase); expect(playerPokemon.getStatStage(Stat.ATK)).toBe(1); diff --git a/test/moves/torment.test.ts b/test/moves/torment.test.ts index d11de46bf10..b35b16249ef 100644 --- a/test/moves/torment.test.ts +++ b/test/moves/torment.test.ts @@ -1,6 +1,6 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,40 +25,40 @@ describe("Moves - Torment", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.TORMENT, Moves.SPLASH]) - .enemySpecies(Species.SHUCKLE) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.TORMENT, MoveId.SPLASH]) + .enemySpecies(SpeciesId.SHUCKLE) .enemyLevel(30) - .moveset([Moves.TACKLE]) - .ability(Abilities.BALL_FETCH); + .moveset([MoveId.TACKLE]) + .ability(AbilityId.BALL_FETCH); }); it("Pokemon should not be able to use the same move consecutively", async () => { - await game.classicMode.startBattle([Species.CHANSEY]); + await game.classicMode.startBattle([SpeciesId.CHANSEY]); const playerPokemon = game.scene.getPlayerPokemon()!; // First turn, Player Pokemon uses Tackle successfully - game.move.select(Moves.TACKLE); - await game.move.selectEnemyMove(Moves.TORMENT); + game.move.select(MoveId.TACKLE); + await game.move.selectEnemyMove(MoveId.TORMENT); await game.toNextTurn(); const move1 = playerPokemon.getLastXMoves(1)[0]!; - expect(move1.move).toBe(Moves.TACKLE); + expect(move1.move).toBe(MoveId.TACKLE); expect(move1.result).toBe(MoveResult.SUCCESS); expect(playerPokemon?.getTag(BattlerTagType.TORMENT)).toBeDefined(); // Second turn, Torment forces Struggle to occur - game.move.select(Moves.TACKLE); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.TACKLE); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); const move2 = playerPokemon.getLastXMoves(1)[0]!; - expect(move2.move).toBe(Moves.STRUGGLE); + expect(move2.move).toBe(MoveId.STRUGGLE); // Third turn, Tackle can be used. - game.move.select(Moves.TACKLE); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.TACKLE); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.phaseInterceptor.to(TurnEndPhase); const move3 = playerPokemon.getLastXMoves(1)[0]!; - expect(move3.move).toBe(Moves.TACKLE); + expect(move3.move).toBe(MoveId.TACKLE); }); }); diff --git a/test/moves/toxic.test.ts b/test/moves/toxic.test.ts index c773abb5bd3..5cdfe78d502 100644 --- a/test/moves/toxic.test.ts +++ b/test/moves/toxic.test.ts @@ -1,5 +1,5 @@ -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -23,35 +23,39 @@ describe("Moves - Toxic", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleStyle("single").moveset(Moves.TOXIC).enemySpecies(Species.MAGIKARP).enemyMoveset(Moves.SPLASH); + game.override + .battleStyle("single") + .moveset(MoveId.TOXIC) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyMoveset(MoveId.SPLASH); }); it("should be guaranteed to hit if user is Poison-type", async () => { - vi.spyOn(allMoves[Moves.TOXIC], "accuracy", "get").mockReturnValue(0); - await game.classicMode.startBattle([Species.TOXAPEX]); + vi.spyOn(allMoves[MoveId.TOXIC], "accuracy", "get").mockReturnValue(0); + await game.classicMode.startBattle([SpeciesId.TOXAPEX]); - game.move.select(Moves.TOXIC); + game.move.select(MoveId.TOXIC); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.getEnemyPokemon()!.status?.effect).toBe(StatusEffect.TOXIC); }); it("may miss if user is not Poison-type", async () => { - vi.spyOn(allMoves[Moves.TOXIC], "accuracy", "get").mockReturnValue(0); - await game.classicMode.startBattle([Species.UMBREON]); + vi.spyOn(allMoves[MoveId.TOXIC], "accuracy", "get").mockReturnValue(0); + await game.classicMode.startBattle([SpeciesId.UMBREON]); - game.move.select(Moves.TOXIC); + game.move.select(MoveId.TOXIC); await game.phaseInterceptor.to("BerryPhase", false); expect(game.scene.getEnemyPokemon()!.status).toBeUndefined(); }); it("should hit semi-invulnerable targets if user is Poison-type", async () => { - vi.spyOn(allMoves[Moves.TOXIC], "accuracy", "get").mockReturnValue(0); - game.override.enemyMoveset(Moves.FLY); - await game.classicMode.startBattle([Species.TOXAPEX]); + vi.spyOn(allMoves[MoveId.TOXIC], "accuracy", "get").mockReturnValue(0); + game.override.enemyMoveset(MoveId.FLY); + await game.classicMode.startBattle([SpeciesId.TOXAPEX]); - game.move.select(Moves.TOXIC); + game.move.select(MoveId.TOXIC); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase", false); @@ -59,11 +63,11 @@ describe("Moves - Toxic", () => { }); it("should miss semi-invulnerable targets if user is not Poison-type", async () => { - vi.spyOn(allMoves[Moves.TOXIC], "accuracy", "get").mockReturnValue(-1); - game.override.enemyMoveset(Moves.FLY); - await game.classicMode.startBattle([Species.UMBREON]); + vi.spyOn(allMoves[MoveId.TOXIC], "accuracy", "get").mockReturnValue(-1); + game.override.enemyMoveset(MoveId.FLY); + await game.classicMode.startBattle([SpeciesId.UMBREON]); - game.move.select(Moves.TOXIC); + game.move.select(MoveId.TOXIC); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase", false); @@ -71,11 +75,11 @@ describe("Moves - Toxic", () => { }); it("moves other than Toxic should not hit semi-invulnerable targets even if user is Poison-type", async () => { - game.override.moveset(Moves.SWIFT); - game.override.enemyMoveset(Moves.FLY); - await game.classicMode.startBattle([Species.TOXAPEX]); + game.override.moveset(MoveId.SWIFT); + game.override.enemyMoveset(MoveId.FLY); + await game.classicMode.startBattle([SpeciesId.TOXAPEX]); - game.move.select(Moves.SWIFT); + game.move.select(MoveId.SWIFT); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase", false); diff --git a/test/moves/toxic_spikes.test.ts b/test/moves/toxic_spikes.test.ts index b1fdc7f39c2..11ed7514633 100644 --- a/test/moves/toxic_spikes.test.ts +++ b/test/moves/toxic_spikes.test.ts @@ -2,10 +2,10 @@ import type { ArenaTrapTag } from "#app/data/arena-tag"; import { ArenaTagSide } from "#app/data/arena-tag"; import type { SessionSaveData } from "#app/system/game-data"; import { decrypt, encrypt, GameData } from "#app/system/game-data"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { ArenaTagType } from "#enums/arena-tag-type"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -30,21 +30,21 @@ describe("Moves - Toxic Spikes", () => { game.override .battleStyle("single") .startingWave(5) - .enemySpecies(Species.RATTATA) - .enemyAbility(Abilities.BALL_FETCH) - .ability(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.TOXIC_SPIKES, Moves.SPLASH, Moves.ROAR, Moves.COURT_CHANGE]); + .enemySpecies(SpeciesId.RATTATA) + .enemyAbility(AbilityId.BALL_FETCH) + .ability(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.TOXIC_SPIKES, MoveId.SPLASH, MoveId.ROAR, MoveId.COURT_CHANGE]); }); it("should not affect the opponent if they do not switch", async () => { - await game.classicMode.runToSummon([Species.MIGHTYENA, Species.POOCHYENA]); + await game.classicMode.runToSummon([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); const enemy = game.scene.getEnemyField()[0]; - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("TurnEndPhase"); game.doSwitchPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -54,11 +54,11 @@ describe("Moves - Toxic Spikes", () => { }); it("should poison the opponent if they switch into 1 layer", async () => { - await game.classicMode.runToSummon([Species.MIGHTYENA]); + await game.classicMode.runToSummon([SpeciesId.MIGHTYENA]); - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.ROAR); + game.move.select(MoveId.ROAR); await game.phaseInterceptor.to("TurnEndPhase"); const enemy = game.scene.getEnemyField()[0]; @@ -68,13 +68,13 @@ describe("Moves - Toxic Spikes", () => { }); it("should badly poison the opponent if they switch into 2 layers", async () => { - await game.classicMode.runToSummon([Species.MIGHTYENA]); + await game.classicMode.runToSummon([SpeciesId.MIGHTYENA]); - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.ROAR); + game.move.select(MoveId.ROAR); await game.phaseInterceptor.to("TurnEndPhase"); const enemy = game.scene.getEnemyField()[0]; @@ -83,21 +83,21 @@ describe("Moves - Toxic Spikes", () => { }); it("should be removed if a grounded poison pokemon switches in", async () => { - await game.classicMode.runToSummon([Species.MUK, Species.PIDGEY]); + await game.classicMode.runToSummon([SpeciesId.MUK, SpeciesId.PIDGEY]); const muk = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.toNextTurn(); // also make sure the toxic spikes are removed even if the pokemon // that set them up is the one switching in (https://github.com/pagefaultgames/pokerogue/issues/935) - game.move.select(Moves.COURT_CHANGE); + game.move.select(MoveId.COURT_CHANGE); await game.toNextTurn(); game.doSwitchPokemon(1); await game.toNextTurn(); game.doSwitchPokemon(1); await game.toNextTurn(); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(muk.isFullHp()).toBe(true); @@ -106,9 +106,9 @@ describe("Moves - Toxic Spikes", () => { }); it("shouldn't create multiple layers per use in doubles", async () => { - await game.classicMode.runToSummon([Species.MIGHTYENA, Species.POOCHYENA]); + await game.classicMode.runToSummon([SpeciesId.MIGHTYENA, SpeciesId.POOCHYENA]); - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.phaseInterceptor.to("TurnEndPhase"); const arenaTags = game.scene.arena.getTagOnSide(ArenaTagType.TOXIC_SPIKES, ArenaTagSide.ENEMY) as ArenaTrapTag; @@ -120,11 +120,11 @@ describe("Moves - Toxic Spikes", () => { game.override.startingWave(1); const gameData = new GameData(); - await game.classicMode.runToSummon([Species.MIGHTYENA]); + await game.classicMode.runToSummon([SpeciesId.MIGHTYENA]); - game.move.select(Moves.TOXIC_SPIKES); + game.move.select(MoveId.TOXIC_SPIKES); await game.phaseInterceptor.to("TurnEndPhase"); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to("BattleEndPhase"); await game.toNextWave(); diff --git a/test/moves/transform.test.ts b/test/moves/transform.test.ts index 8bfe7df688b..e8ed133b827 100644 --- a/test/moves/transform.test.ts +++ b/test/moves/transform.test.ts @@ -1,11 +1,11 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { TurnEndPhase } from "#app/phases/turn-end-phase"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Stat, EFFECTIVE_STATS } from "#enums/stat"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerIndex } from "#app/battle"; // TODO: Add more tests once Transform is fully implemented @@ -27,19 +27,19 @@ describe("Moves - Transform", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.MEW) + .enemySpecies(SpeciesId.MEW) .enemyLevel(200) - .enemyAbility(Abilities.BEAST_BOOST) - .enemyPassiveAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .ability(Abilities.INTIMIDATE) - .moveset([Moves.TRANSFORM]); + .enemyAbility(AbilityId.BEAST_BOOST) + .enemyPassiveAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .ability(AbilityId.INTIMIDATE) + .moveset([MoveId.TRANSFORM]); }); it("should copy species, ability, gender, all stats except HP, all stat stages, moveset, and types of target", async () => { - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); - game.move.select(Moves.TRANSFORM); + game.move.select(MoveId.TRANSFORM); await game.phaseInterceptor.to(TurnEndPhase); const player = game.scene.getPlayerPokemon()!; @@ -64,9 +64,9 @@ describe("Moves - Transform", () => { }); it("should copy in-battle overridden stats", async () => { - game.override.enemyMoveset([Moves.POWER_SPLIT]); + game.override.enemyMoveset([MoveId.POWER_SPLIT]); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -74,7 +74,7 @@ describe("Moves - Transform", () => { const avgAtk = Math.floor((player.getStat(Stat.ATK, false) + enemy.getStat(Stat.ATK, false)) / 2); const avgSpAtk = Math.floor((player.getStat(Stat.SPATK, false) + enemy.getStat(Stat.SPATK, false)) / 2); - game.move.select(Moves.TRANSFORM); + game.move.select(MoveId.TRANSFORM); await game.phaseInterceptor.to(TurnEndPhase); expect(player.getStat(Stat.ATK, false)).toBe(avgAtk); @@ -85,18 +85,18 @@ describe("Moves - Transform", () => { }); it("should set each move's pp to a maximum of 5", async () => { - game.override.enemyMoveset([Moves.SWORDS_DANCE, Moves.GROWL, Moves.SKETCH, Moves.RECOVER]); + game.override.enemyMoveset([MoveId.SWORDS_DANCE, MoveId.GROWL, MoveId.SKETCH, MoveId.RECOVER]); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const player = game.scene.getPlayerPokemon()!; - game.move.select(Moves.TRANSFORM); + game.move.select(MoveId.TRANSFORM); await game.phaseInterceptor.to(TurnEndPhase); player.getMoveset().forEach(move => { // Should set correct maximum PP without touching `ppUp` if (move) { - if (move.moveId === Moves.SKETCH) { + if (move.moveId === MoveId.SKETCH) { expect(move.getMovePp()).toBe(1); } else { expect(move.getMovePp()).toBe(5); @@ -107,10 +107,10 @@ describe("Moves - Transform", () => { }); it("should activate its ability if it copies one that activates on summon", async () => { - game.override.enemyAbility(Abilities.INTIMIDATE).ability(Abilities.BALL_FETCH); + game.override.enemyAbility(AbilityId.INTIMIDATE).ability(AbilityId.BALL_FETCH); - await game.classicMode.startBattle([Species.DITTO]); - game.move.select(Moves.TRANSFORM); + await game.classicMode.startBattle([SpeciesId.DITTO]); + game.move.select(MoveId.TRANSFORM); await game.phaseInterceptor.to("BerryPhase"); @@ -120,15 +120,15 @@ describe("Moves - Transform", () => { it("should persist transformed attributes across reloads", async () => { game.override.enemyMoveset([]).moveset([]); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; - game.move.changeMoveset(player, Moves.TRANSFORM); - game.move.changeMoveset(enemy, Moves.MEMENTO); + game.move.changeMoveset(player, MoveId.TRANSFORM); + game.move.changeMoveset(enemy, MoveId.MEMENTO); - game.move.select(Moves.TRANSFORM); + game.move.select(MoveId.TRANSFORM); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextWave(); @@ -150,14 +150,14 @@ describe("Moves - Transform", () => { } expect(playerMoveset.length).toEqual(1); - expect(playerMoveset[0]?.moveId).toEqual(Moves.MEMENTO); + expect(playerMoveset[0]?.moveId).toEqual(MoveId.MEMENTO); }); it("should stay transformed with the correct form after reload", async () => { game.override.enemyMoveset([]).moveset([]); - game.override.enemySpecies(Species.DARMANITAN); + game.override.enemySpecies(SpeciesId.DARMANITAN); - await game.classicMode.startBattle([Species.DITTO]); + await game.classicMode.startBattle([SpeciesId.DITTO]); const player = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -166,10 +166,10 @@ describe("Moves - Transform", () => { enemy.species.forms[1]; enemy.species.formIndex = 1; - game.move.changeMoveset(player, Moves.TRANSFORM); - game.move.changeMoveset(enemy, Moves.MEMENTO); + game.move.changeMoveset(player, MoveId.TRANSFORM); + game.move.changeMoveset(enemy, MoveId.MEMENTO); - game.move.select(Moves.TRANSFORM); + game.move.select(MoveId.TRANSFORM); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.toNextWave(); diff --git a/test/moves/trick_or_treat.test.ts b/test/moves/trick_or_treat.test.ts index 3b32e09f72d..366c6ee60fe 100644 --- a/test/moves/trick_or_treat.test.ts +++ b/test/moves/trick_or_treat.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { PokemonType } from "#enums/pokemon-type"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -23,24 +23,24 @@ describe("Moves - Trick Or Treat", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.FORESTS_CURSE, Moves.TRICK_OR_TREAT]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.FORESTS_CURSE, MoveId.TRICK_OR_TREAT]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("will replace added type from Forest's Curse", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemyPokemon = game.scene.getEnemyPokemon(); - game.move.select(Moves.FORESTS_CURSE); + game.move.select(MoveId.FORESTS_CURSE); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon!.summonData.addedType).toBe(PokemonType.GRASS); - game.move.select(Moves.TRICK_OR_TREAT); + game.move.select(MoveId.TRICK_OR_TREAT); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemyPokemon?.summonData.addedType).toBe(PokemonType.GHOST); }); diff --git a/test/moves/triple_arrows.test.ts b/test/moves/triple_arrows.test.ts index bd061f4059d..6a14a7642fa 100644 --- a/test/moves/triple_arrows.test.ts +++ b/test/moves/triple_arrows.test.ts @@ -1,9 +1,9 @@ import { FlinchAttr, StatStageChangeAttr } from "#app/data/moves/move"; import { allMoves } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import type Move from "#app/data/moves/move"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -19,7 +19,7 @@ describe("Moves - Triple Arrows", () => { phaserGame = new Phaser.Game({ type: Phaser.HEADLESS, }); - tripleArrows = allMoves[Moves.TRIPLE_ARROWS]; + tripleArrows = allMoves[MoveId.TRIPLE_ARROWS]; flinchAttr = tripleArrows.getAttrs(FlinchAttr)[0]; defDropAttr = tripleArrows.getAttrs(StatStageChangeAttr)[0]; }); @@ -31,21 +31,21 @@ describe("Moves - Triple Arrows", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .ability(Abilities.BALL_FETCH) - .moveset([Moves.TRIPLE_ARROWS]) + .ability(AbilityId.BALL_FETCH) + .moveset([MoveId.TRIPLE_ARROWS]) .battleStyle("single") - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.STURDY) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.STURDY) + .enemyMoveset(MoveId.SPLASH); vi.spyOn(flinchAttr, "getMoveChance"); vi.spyOn(defDropAttr, "getMoveChance"); }); it("has a 30% flinch chance and 50% defense drop chance", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.TRIPLE_ARROWS); + game.move.select(MoveId.TRIPLE_ARROWS); await game.phaseInterceptor.to("BerryPhase"); expect(flinchAttr.getMoveChance).toHaveReturnedWith(30); @@ -53,10 +53,10 @@ describe("Moves - Triple Arrows", () => { }); it("is affected normally by Serene Grace", async () => { - game.override.ability(Abilities.SERENE_GRACE); - await game.classicMode.startBattle([Species.FEEBAS]); + game.override.ability(AbilityId.SERENE_GRACE); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); - game.move.select(Moves.TRIPLE_ARROWS); + game.move.select(MoveId.TRIPLE_ARROWS); await game.phaseInterceptor.to("BerryPhase"); expect(flinchAttr.getMoveChance).toHaveReturnedWith(60); diff --git a/test/moves/u_turn.test.ts b/test/moves/u_turn.test.ts index 9dca29414a1..4212802298e 100644 --- a/test/moves/u_turn.test.ts +++ b/test/moves/u_turn.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,23 +24,23 @@ describe("Moves - U-turn", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .enemySpecies(Species.GENGAR) + .enemySpecies(SpeciesId.GENGAR) .startingLevel(90) .startingWave(97) - .moveset([Moves.U_TURN]) - .enemyMoveset(Moves.SPLASH) + .moveset([MoveId.U_TURN]) + .enemyMoveset(MoveId.SPLASH) .disableCrits(); }); it("triggers regenerator a single time when a regenerator user switches out with u-turn", async () => { // arrange const playerHp = 1; - game.override.ability(Abilities.REGENERATOR); - await game.classicMode.startBattle([Species.RAICHU, Species.SHUCKLE]); + game.override.ability(AbilityId.REGENERATOR); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.SHUCKLE]); game.scene.getPlayerPokemon()!.hp = playerHp; // act - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); @@ -49,16 +49,16 @@ describe("Moves - U-turn", () => { Math.floor(game.scene.getPlayerParty()[1].getMaxHp() * 0.33 + playerHp), ); expect(game.phaseInterceptor.log).toContain("SwitchSummonPhase"); - expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(Species.SHUCKLE); + expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(SpeciesId.SHUCKLE); }, 20000); it("triggers rough skin on the u-turn user before a new pokemon is switched in", async () => { // arrange - game.override.enemyAbility(Abilities.ROUGH_SKIN); - await game.classicMode.startBattle([Species.RAICHU, Species.SHUCKLE]); + game.override.enemyAbility(AbilityId.ROUGH_SKIN); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.SHUCKLE]); // act - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("SwitchPhase", false); @@ -66,41 +66,41 @@ describe("Moves - U-turn", () => { const playerPkm = game.scene.getPlayerPokemon()!; expect(playerPkm.hp).not.toEqual(playerPkm.getMaxHp()); expect(game.scene.getEnemyPokemon()!.waveData.abilityRevealed).toBe(true); // proxy for asserting ability activated - expect(playerPkm.species.speciesId).toEqual(Species.RAICHU); + expect(playerPkm.species.speciesId).toEqual(SpeciesId.RAICHU); expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); }, 20000); it("triggers contact abilities on the u-turn user (eg poison point) before a new pokemon is switched in", async () => { // arrange - game.override.enemyAbility(Abilities.POISON_POINT); - await game.classicMode.startBattle([Species.RAICHU, Species.SHUCKLE]); + game.override.enemyAbility(AbilityId.POISON_POINT); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.SHUCKLE]); vi.spyOn(game.scene.getEnemyPokemon()!, "randBattleSeedInt").mockReturnValue(0); // act - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); await game.phaseInterceptor.to("SwitchPhase", false); // assert const playerPkm = game.scene.getPlayerPokemon()!; expect(playerPkm.status?.effect).toEqual(StatusEffect.POISON); - expect(playerPkm.species.speciesId).toEqual(Species.RAICHU); + expect(playerPkm.species.speciesId).toEqual(SpeciesId.RAICHU); expect(game.scene.getEnemyPokemon()!.waveData.abilityRevealed).toBe(true); // proxy for asserting ability activated expect(game.phaseInterceptor.log).not.toContain("SwitchSummonPhase"); }, 20000); it("still forces a switch if u-turn KO's the opponent", async () => { game.override.startingLevel(1000); // Ensure that U-Turn KO's the opponent - await game.classicMode.startBattle([Species.RAICHU, Species.SHUCKLE]); + await game.classicMode.startBattle([SpeciesId.RAICHU, SpeciesId.SHUCKLE]); const enemy = game.scene.getEnemyPokemon()!; // KO the opponent with U-Turn - game.move.select(Moves.U_TURN); + game.move.select(MoveId.U_TURN); game.doSelectPartyPokemon(1); await game.phaseInterceptor.to("TurnEndPhase"); expect(enemy.isFainted()).toBe(true); // Check that U-Turn forced a switch expect(game.phaseInterceptor.log).toContain("SwitchSummonPhase"); - expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(Species.SHUCKLE); + expect(game.scene.getPlayerPokemon()!.species.speciesId).toBe(SpeciesId.SHUCKLE); }); }); diff --git a/test/moves/upper_hand.test.ts b/test/moves/upper_hand.test.ts index 66359a94ccb..741594c7e47 100644 --- a/test/moves/upper_hand.test.ts +++ b/test/moves/upper_hand.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,24 +24,24 @@ describe("Moves - Upper Hand", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset(Moves.UPPER_HAND) - .ability(Abilities.BALL_FETCH) + .moveset(MoveId.UPPER_HAND) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.QUICK_ATTACK) + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.QUICK_ATTACK) .startingLevel(100) .enemyLevel(100); }); it("should flinch the opponent before they use a priority attack", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const feebas = game.scene.getPlayerPokemon()!; const magikarp = game.scene.getEnemyPokemon()!; - game.move.select(Moves.UPPER_HAND); + game.move.select(MoveId.UPPER_HAND); await game.phaseInterceptor.to("BerryPhase"); expect(feebas.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); @@ -50,30 +50,30 @@ describe("Moves - Upper Hand", () => { }); it.each([ - { descriptor: "non-priority attack", move: Moves.TACKLE }, - { descriptor: "status move", move: Moves.BABY_DOLL_EYES }, + { descriptor: "non-priority attack", move: MoveId.TACKLE }, + { descriptor: "status move", move: MoveId.BABY_DOLL_EYES }, ])("should fail when the opponent selects a $descriptor", async ({ move }) => { game.override.enemyMoveset(move); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const feebas = game.scene.getPlayerPokemon()!; - game.move.select(Moves.UPPER_HAND); + game.move.select(MoveId.UPPER_HAND); await game.phaseInterceptor.to("BerryPhase"); expect(feebas.getLastXMoves()[0].result).toBe(MoveResult.FAIL); }); it("should flinch the opponent before they use an attack boosted by Gale Wings", async () => { - game.override.enemyAbility(Abilities.GALE_WINGS).enemyMoveset(Moves.GUST); + game.override.enemyAbility(AbilityId.GALE_WINGS).enemyMoveset(MoveId.GUST); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const feebas = game.scene.getPlayerPokemon()!; const magikarp = game.scene.getEnemyPokemon()!; - game.move.select(Moves.UPPER_HAND); + game.move.select(MoveId.UPPER_HAND); await game.phaseInterceptor.to("BerryPhase"); expect(feebas.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS); @@ -82,13 +82,13 @@ describe("Moves - Upper Hand", () => { }); it("should fail if the target has already moved", async () => { - game.override.enemyMoveset(Moves.FAKE_OUT).enemyAbility(Abilities.SHEER_FORCE); + game.override.enemyMoveset(MoveId.FAKE_OUT).enemyAbility(AbilityId.SHEER_FORCE); - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const feebas = game.scene.getPlayerPokemon()!; - game.move.select(Moves.UPPER_HAND); + game.move.select(MoveId.UPPER_HAND); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("BerryPhase"); diff --git a/test/moves/whirlwind.test.ts b/test/moves/whirlwind.test.ts index 3558f968c66..56c4017fbb5 100644 --- a/test/moves/whirlwind.test.ts +++ b/test/moves/whirlwind.test.ts @@ -2,9 +2,9 @@ import { BattlerTagType } from "#enums/battler-tag-type"; import { Challenges } from "#enums/challenges"; import { PokemonType } from "#enums/pokemon-type"; import { MoveResult } from "#app/field/pokemon"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -33,25 +33,25 @@ describe("Moves - Whirlwind", () => { game = new GameManager(phaserGame); game.override .battleStyle("single") - .moveset([Moves.SPLASH]) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset([Moves.SPLASH, Moves.WHIRLWIND]) - .enemySpecies(Species.PIDGEY); + .moveset([MoveId.SPLASH]) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset([MoveId.SPLASH, MoveId.WHIRLWIND]) + .enemySpecies(SpeciesId.PIDGEY); }); it.each([ - { move: Moves.FLY, name: "Fly" }, - { move: Moves.BOUNCE, name: "Bounce" }, - { move: Moves.SKY_DROP, name: "Sky Drop" }, + { move: MoveId.FLY, name: "Fly" }, + { move: MoveId.BOUNCE, name: "Bounce" }, + { move: MoveId.SKY_DROP, name: "Sky Drop" }, ])("should not hit a flying target: $name (=$move)", async ({ move }) => { game.override.moveset([move]); // Must have a pokemon in the back so that the move misses instead of fails. - await game.classicMode.startBattle([Species.STARAPTOR, Species.MAGIKARP]); + await game.classicMode.startBattle([SpeciesId.STARAPTOR, SpeciesId.MAGIKARP]); const staraptor = game.scene.getPlayerPokemon()!; game.move.select(move); - await game.move.selectEnemyMove(Moves.WHIRLWIND); + await game.move.selectEnemyMove(MoveId.WHIRLWIND); await game.phaseInterceptor.to("BerryPhase", false); @@ -60,7 +60,7 @@ describe("Moves - Whirlwind", () => { }); it("should force switches randomly", async () => { - await game.classicMode.startBattle([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR, SpeciesId.CHARMANDER, SpeciesId.SQUIRTLE]); const [bulbasaur, charmander, squirtle] = game.scene.getPlayerParty(); @@ -68,8 +68,8 @@ describe("Moves - Whirlwind", () => { vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.WHIRLWIND); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.WHIRLWIND); await game.toNextTurn(); expect(bulbasaur.isOnField()).toBe(false); @@ -80,8 +80,8 @@ describe("Moves - Whirlwind", () => { vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min + 1; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.WHIRLWIND); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.WHIRLWIND); await game.toNextTurn(); expect(bulbasaur.isOnField()).toBe(false); @@ -92,7 +92,7 @@ describe("Moves - Whirlwind", () => { it("should not force a switch to a challenge-ineligible Pokemon", async () => { // Mono-Water challenge, Eevee is ineligible game.challengeMode.addChallenge(Challenges.SINGLE_TYPE, PokemonType.WATER + 1, 0); - await game.challengeMode.startBattle([Species.LAPRAS, Species.EEVEE, Species.TOXAPEX, Species.PRIMARINA]); + await game.challengeMode.startBattle([SpeciesId.LAPRAS, SpeciesId.EEVEE, SpeciesId.TOXAPEX, SpeciesId.PRIMARINA]); const [lapras, eevee, toxapex, primarina] = game.scene.getPlayerParty(); @@ -100,8 +100,8 @@ describe("Moves - Whirlwind", () => { vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.WHIRLWIND); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.WHIRLWIND); await game.toNextTurn(); expect(lapras.isOnField()).toBe(false); @@ -111,7 +111,7 @@ describe("Moves - Whirlwind", () => { }); it("should not force a switch to a fainted Pokemon", async () => { - await game.classicMode.startBattle([Species.LAPRAS, Species.EEVEE, Species.TOXAPEX, Species.PRIMARINA]); + await game.classicMode.startBattle([SpeciesId.LAPRAS, SpeciesId.EEVEE, SpeciesId.TOXAPEX, SpeciesId.PRIMARINA]); const [lapras, eevee, toxapex, primarina] = game.scene.getPlayerParty(); @@ -119,16 +119,16 @@ describe("Moves - Whirlwind", () => { eevee.hp = 0; eevee.status = new Status(StatusEffect.FAINT); expect(eevee.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Turn 2: Mock an RNG call that would normally call for switching to Eevee, but it is fainted vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.WHIRLWIND); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.WHIRLWIND); await game.toNextTurn(); expect(lapras.isOnField()).toBe(false); @@ -138,7 +138,7 @@ describe("Moves - Whirlwind", () => { }); it("should not force a switch if there are no available Pokemon to switch into", async () => { - await game.classicMode.startBattle([Species.LAPRAS, Species.EEVEE]); + await game.classicMode.startBattle([SpeciesId.LAPRAS, SpeciesId.EEVEE]); const [lapras, eevee] = game.scene.getPlayerParty(); @@ -146,16 +146,16 @@ describe("Moves - Whirlwind", () => { eevee.hp = 0; eevee.status = new Status(StatusEffect.FAINT); expect(eevee.isFainted()).toBe(true); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Turn 2: Mock an RNG call that would normally call for switching to Eevee, but it is fainted vi.spyOn(game.scene, "randBattleSeedInt").mockImplementation((_range, min = 0) => { return min; }); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.WHIRLWIND); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.WHIRLWIND); await game.toNextTurn(); expect(lapras.isOnField()).toBe(true); @@ -164,7 +164,7 @@ describe("Moves - Whirlwind", () => { it("should fail when player uses Whirlwind against an opponent with only one available Pokémon", async () => { // Set up the battle scenario with the player knowing Whirlwind - game.override.startingWave(5).enemySpecies(Species.PIDGEY).moveset([Moves.WHIRLWIND]); + game.override.startingWave(5).enemySpecies(SpeciesId.PIDGEY).moveset([MoveId.WHIRLWIND]); await game.classicMode.startBattle(); const enemyParty = game.scene.getEnemyParty(); @@ -183,8 +183,8 @@ describe("Moves - Whirlwind", () => { const queueSpy = vi.spyOn(globalScene, "queueMessage"); // Player uses Whirlwind; opponent uses Splash - game.move.select(Moves.WHIRLWIND); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.WHIRLWIND); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Verify that the failure message is displayed for Whirlwind @@ -201,9 +201,9 @@ describe("Moves - Whirlwind", () => { trainerType: TrainerType.BREEDER, alwaysDouble: true, }) - .enemyMoveset([Moves.SPLASH, Moves.LUNAR_DANCE]) - .moveset([Moves.WHIRLWIND, Moves.SPLASH]); - await game.classicMode.startBattle([Species.MAGIKARP, Species.TOTODILE]); + .enemyMoveset([MoveId.SPLASH, MoveId.LUNAR_DANCE]) + .moveset([MoveId.WHIRLWIND, MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.TOTODILE]); // expect the enemy to have at least 4 pokemon, necessary for this check to even work expect(game.scene.getEnemyParty().length, "enemy must have exactly 4 pokemon").toBe(4); @@ -212,21 +212,21 @@ describe("Moves - Whirlwind", () => { console.log(user.getMoveset(false)); - game.move.select(Moves.SPLASH); - game.move.select(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.MEMENTO); - await game.move.selectEnemyMove(Moves.SPLASH); + game.move.select(MoveId.SPLASH); + game.move.select(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.MEMENTO); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); // Get the enemy pokemon id so we can check if is the same after switch. const enemy_id = game.scene.getEnemyPokemon()!.id; // Hit the enemy that fainted with whirlwind. - game.move.select(Moves.WHIRLWIND, 0, BattlerIndex.ENEMY); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.WHIRLWIND, 0, BattlerIndex.ENEMY); + game.move.select(MoveId.SPLASH, 1); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.SPLASH); await game.toNextTurn(); @@ -237,14 +237,14 @@ describe("Moves - Whirlwind", () => { it("should force a wild pokemon to flee", async () => { game.override .battleType(BattleType.WILD) - .moveset([Moves.WHIRLWIND, Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH) - .ability(Abilities.BALL_FETCH); - await game.classicMode.startBattle([Species.MAGIKARP]); + .moveset([MoveId.WHIRLWIND, MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH) + .ability(AbilityId.BALL_FETCH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP]); const user = game.scene.getPlayerPokemon()!; - game.move.select(Moves.WHIRLWIND); + game.move.select(MoveId.WHIRLWIND); await game.phaseInterceptor.to("BerryPhase"); expect(user.getLastXMoves(1)[0].result).toBe(MoveResult.SUCCESS); diff --git a/test/moves/wide_guard.test.ts b/test/moves/wide_guard.test.ts index 08357476e5e..65c3a0a805f 100644 --- a/test/moves/wide_guard.test.ts +++ b/test/moves/wide_guard.test.ts @@ -1,9 +1,9 @@ import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import { Stat } from "#enums/stat"; import { BerryPhase } from "#app/phases/berry-phase"; import { CommandPhase } from "#app/phases/command-phase"; @@ -27,26 +27,26 @@ describe("Moves - Wide Guard", () => { game.override.battleStyle("double"); - game.override.moveset([Moves.WIDE_GUARD, Moves.SPLASH, Moves.SURF]); + game.override.moveset([MoveId.WIDE_GUARD, MoveId.SPLASH, MoveId.SURF]); - game.override.enemySpecies(Species.SNORLAX); - game.override.enemyMoveset([Moves.SWIFT]); - game.override.enemyAbility(Abilities.INSOMNIA); + game.override.enemySpecies(SpeciesId.SNORLAX); + game.override.enemyMoveset([MoveId.SWIFT]); + game.override.enemyAbility(AbilityId.INSOMNIA); game.override.startingLevel(100); game.override.enemyLevel(100); }); test("should protect the user and allies from multi-target attack moves", async () => { - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.WIDE_GUARD); + game.move.select(MoveId.WIDE_GUARD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -54,17 +54,17 @@ describe("Moves - Wide Guard", () => { }); test("should protect the user and allies from multi-target status moves", async () => { - game.override.enemyMoveset([Moves.GROWL]); + game.override.enemyMoveset([MoveId.GROWL]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.WIDE_GUARD); + game.move.select(MoveId.WIDE_GUARD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -72,17 +72,17 @@ describe("Moves - Wide Guard", () => { }); test("should not protect the user and allies from single-target moves", async () => { - game.override.enemyMoveset([Moves.TACKLE]); + game.override.enemyMoveset([MoveId.TACKLE]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); - game.move.select(Moves.WIDE_GUARD); + game.move.select(MoveId.WIDE_GUARD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SPLASH, 1); + game.move.select(MoveId.SPLASH, 1); await game.phaseInterceptor.to(BerryPhase, false); @@ -90,18 +90,18 @@ describe("Moves - Wide Guard", () => { }); test("should protect the user from its ally's multi-target move", async () => { - game.override.enemyMoveset([Moves.SPLASH]); + game.override.enemyMoveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.CHARIZARD, Species.BLASTOISE]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD, SpeciesId.BLASTOISE]); const leadPokemon = game.scene.getPlayerField(); const enemyPokemon = game.scene.getEnemyField(); - game.move.select(Moves.WIDE_GUARD); + game.move.select(MoveId.WIDE_GUARD); await game.phaseInterceptor.to(CommandPhase); - game.move.select(Moves.SURF, 1); + game.move.select(MoveId.SURF, 1); await game.phaseInterceptor.to(BerryPhase, false); diff --git a/test/moves/will_o_wisp.test.ts b/test/moves/will_o_wisp.test.ts index b4e4975896b..ce747dbad0b 100644 --- a/test/moves/will_o_wisp.test.ts +++ b/test/moves/will_o_wisp.test.ts @@ -1,7 +1,7 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; @@ -24,28 +24,28 @@ describe("Moves - Will-O-Wisp", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.WILL_O_WISP, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.WILL_O_WISP, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("should burn the opponent", async () => { - await game.classicMode.startBattle([Species.FEEBAS]); + await game.classicMode.startBattle([SpeciesId.FEEBAS]); const enemy = game.scene.getEnemyPokemon()!; - game.move.select(Moves.WILL_O_WISP); + game.move.select(MoveId.WILL_O_WISP); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceHit(); await game.toNextTurn(); expect(enemy.status?.effect).toBe(StatusEffect.BURN); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); expect(enemy.status?.effect).toBe(StatusEffect.BURN); diff --git a/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts b/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts index a4c043ad13f..3c6305a77dc 100644 --- a/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts +++ b/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts @@ -1,8 +1,8 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { HUMAN_TRANSITABLE_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -22,8 +22,8 @@ import { PartyHealPhase } from "#app/phases/party-heal-phase"; import i18next from "i18next"; const namespace = "mysteryEncounters/aTrainersTest"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("A Trainer's Test - Mystery Encounter", () => { @@ -43,8 +43,8 @@ describe("A Trainer's Test - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([ - [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]); HUMAN_TRANSITABLE_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.A_TRAINERS_TEST]); diff --git a/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts b/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts index 36a284880c1..f13f6e0b072 100644 --- a/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts +++ b/test/mystery-encounter/encounters/absolute-avarice-encounter.test.ts @@ -1,6 +1,6 @@ -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -15,15 +15,15 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encount import { BerryModifier, PokemonHeldItemModifier } from "#app/modifier/modifier"; import { BerryType } from "#enums/berry-type"; import { AbsoluteAvariceEncounter } from "#app/data/mystery-encounters/encounters/absolute-avarice-encounter"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { CommandPhase } from "#app/phases/command-phase"; import { MovePhase } from "#app/phases/move-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import i18next from "i18next"; const namespace = "mysteryEncounters/absoluteAvarice"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.TALL_GRASS; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.TALL_GRASS; const defaultWave = 45; describe("Absolute Avarice - Mystery Encounter", () => { @@ -44,9 +44,9 @@ describe("Absolute Avarice - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([ - [Biome.TALL_GRASS, [MysteryEncounterType.ABSOLUTE_AVARICE]], - [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + new Map([ + [BiomeId.TALL_GRASS, [MysteryEncounterType.ABSOLUTE_AVARICE]], + [BiomeId.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]), ); }); @@ -72,7 +72,7 @@ describe("Absolute Avarice - Mystery Encounter", () => { it("should not spawn outside of proper biomes", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(game.scene.currentBattle.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.ABSOLUTE_AVARICE); @@ -137,14 +137,14 @@ describe("Absolute Avarice - Mystery Encounter", () => { const enemyField = scene.getEnemyField(); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyField.length).toBe(1); - expect(enemyField[0].species.speciesId).toBe(Species.GREEDENT); + expect(enemyField[0].species.speciesId).toBe(SpeciesId.GREEDENT); const moveset = enemyField[0].moveset.map(m => m.moveId); expect(moveset?.length).toBe(4); - expect(moveset).toEqual([Moves.THRASH, Moves.CRUNCH, Moves.BODY_PRESS, Moves.SLACK_OFF]); + expect(moveset).toEqual([MoveId.THRASH, MoveId.CRUNCH, MoveId.BODY_PRESS, MoveId.SLACK_OFF]); const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(1); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.STUFF_CHEEKS).length).toBe(1); // Stuff Cheeks used before battle + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.STUFF_CHEEKS).length).toBe(1); // Stuff Cheeks used before battle }); it("should give reviver seed to each pokemon after battle", async () => { @@ -260,10 +260,10 @@ describe("Absolute Avarice - Mystery Encounter", () => { expect(partyCountBefore + 1).toBe(partyCountAfter); const greedent = scene.getPlayerParty()[scene.getPlayerParty().length - 1]; - expect(greedent.species.speciesId).toBe(Species.GREEDENT); + expect(greedent.species.speciesId).toBe(SpeciesId.GREEDENT); const moveset = greedent.moveset.map(m => m.moveId); expect(moveset?.length).toBe(4); - expect(moveset).toEqual([Moves.THRASH, Moves.BODY_PRESS, Moves.STUFF_CHEEKS, Moves.SLACK_OFF]); + expect(moveset).toEqual([MoveId.THRASH, MoveId.BODY_PRESS, MoveId.STUFF_CHEEKS, MoveId.SLACK_OFF]); }); it("should leave encounter without battle", async () => { diff --git a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts index 3c7bda8febd..f39ce753b10 100644 --- a/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts +++ b/test/mystery-encounter/encounters/an-offer-you-cant-refuse-encounter.test.ts @@ -1,8 +1,8 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { HUMAN_TRANSITABLE_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -14,16 +14,16 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { ShinyRateBoosterModifier } from "#app/modifier/modifier"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import i18next from "i18next"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; const namespace = "mysteryEncounters/anOfferYouCantRefuse"; /** Gyarados for Indimidate */ -const defaultParty = [Species.GYARADOS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.GYARADOS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("An Offer You Can't Refuse - Mystery Encounter", () => { @@ -43,10 +43,10 @@ describe("An Offer You Can't Refuse - Mystery Encounter", () => { .startingWave(defaultWave) .startingBiome(defaultBiome) .disableTrainerWaves() - .ability(Abilities.INTIMIDATE); // Extortion ability + .ability(AbilityId.INTIMIDATE); // Extortion ability - const biomeMap = new Map([ - [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]); HUMAN_TRANSITABLE_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.AN_OFFER_YOU_CANT_REFUSE]); @@ -80,7 +80,7 @@ describe("An Offer You Can't Refuse - Mystery Encounter", () => { it("should not spawn outside of HUMAN_TRANSITABLE_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe( @@ -196,29 +196,31 @@ describe("An Offer You Can't Refuse - Mystery Encounter", () => { it("should award EXP to a pokemon with an ability in EXTORTION_ABILITIES", async () => { await game.runToMysteryEncounter(MysteryEncounterType.AN_OFFER_YOU_CANT_REFUSE, defaultParty); const party = scene.getPlayerParty(); - const gyarados = party.find(pkm => pkm.species.speciesId === Species.GYARADOS)!; + const gyarados = party.find(pkm => pkm.species.speciesId === SpeciesId.GYARADOS)!; const expBefore = gyarados.exp; await runMysteryEncounterToEnd(game, 2); await game.phaseInterceptor.to(SelectModifierPhase, false); expect(gyarados.exp).toBe( - expBefore + Math.floor((getPokemonSpecies(Species.LIEPARD).baseExp * defaultWave) / 5 + 1), + expBefore + Math.floor((getPokemonSpecies(SpeciesId.LIEPARD).baseExp * defaultWave) / 5 + 1), ); }); it("should award EXP to a pokemon with a move in EXTORTION_MOVES", async () => { - game.override.ability(Abilities.SYNCHRONIZE); // Not an extortion ability, so we can test extortion move - await game.runToMysteryEncounter(MysteryEncounterType.AN_OFFER_YOU_CANT_REFUSE, [Species.ABRA]); + game.override.ability(AbilityId.SYNCHRONIZE); // Not an extortion ability, so we can test extortion move + await game.runToMysteryEncounter(MysteryEncounterType.AN_OFFER_YOU_CANT_REFUSE, [SpeciesId.ABRA]); const party = scene.getPlayerParty(); - const abra = party.find(pkm => pkm.species.speciesId === Species.ABRA)!; - abra.moveset = [new PokemonMove(Moves.BEAT_UP)]; + const abra = party.find(pkm => pkm.species.speciesId === SpeciesId.ABRA)!; + abra.moveset = [new PokemonMove(MoveId.BEAT_UP)]; const expBefore = abra.exp; await runMysteryEncounterToEnd(game, 2); await game.phaseInterceptor.to(SelectModifierPhase, false); - expect(abra.exp).toBe(expBefore + Math.floor((getPokemonSpecies(Species.LIEPARD).baseExp * defaultWave) / 5 + 1)); + expect(abra.exp).toBe( + expBefore + Math.floor((getPokemonSpecies(SpeciesId.LIEPARD).baseExp * defaultWave) / 5 + 1), + ); }); it("Should update the player's money properly", async () => { diff --git a/test/mystery-encounter/encounters/berries-abound-encounter.test.ts b/test/mystery-encounter/encounters/berries-abound-encounter.test.ts index 3f85b0b89d9..c3af2d9fe13 100644 --- a/test/mystery-encounter/encounters/berries-abound-encounter.test.ts +++ b/test/mystery-encounter/encounters/berries-abound-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { @@ -20,11 +20,11 @@ import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encount import * as EncounterDialogueUtils from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import { CommandPhase } from "#app/phases/command-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; const namespace = "mysteryEncounters/berriesAbound"; -const defaultParty = [Species.PYUKUMUKU, Species.MAGIKARP, Species.PIKACHU]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.PYUKUMUKU, SpeciesId.MAGIKARP, SpeciesId.PIKACHU]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Berries Abound - Mystery Encounter", () => { @@ -47,11 +47,11 @@ describe("Berries Abound - Mystery Encounter", () => { .disableTrainerWaves() .startingModifier([]) .startingHeldItems([]) - .enemyAbility(Abilities.BALL_FETCH) - .enemyPassiveAbility(Abilities.BALL_FETCH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyPassiveAbility(AbilityId.BALL_FETCH); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.BERRIES_ABOUND]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.BERRIES_ABOUND]]]), ); }); diff --git a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts index 455a5d28194..0cc990a405a 100644 --- a/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts +++ b/test/mystery-encounter/encounters/bug-type-superfan-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { @@ -9,7 +9,7 @@ import { runSelectMysteryEncounterOption, skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type BattleScene from "#app/battle-scene"; import { PokemonMove } from "#app/field/pokemon"; import { UiMode } from "#enums/ui-mode"; @@ -26,127 +26,121 @@ import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; const namespace = "mysteryEncounters/bugTypeSuperfan"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.WEEDLE]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.WEEDLE]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 24; const POOL_1_POKEMON = [ - Species.PARASECT, - Species.VENOMOTH, - Species.LEDIAN, - Species.ARIADOS, - Species.YANMA, - Species.BEAUTIFLY, - Species.DUSTOX, - Species.MASQUERAIN, - Species.NINJASK, - Species.VOLBEAT, - Species.ILLUMISE, - Species.ANORITH, - Species.KRICKETUNE, - Species.WORMADAM, - Species.MOTHIM, - Species.SKORUPI, - Species.JOLTIK, - Species.LARVESTA, - Species.VIVILLON, - Species.CHARJABUG, - Species.RIBOMBEE, - Species.SPIDOPS, - Species.LOKIX, + SpeciesId.PARASECT, + SpeciesId.VENOMOTH, + SpeciesId.LEDIAN, + SpeciesId.ARIADOS, + SpeciesId.YANMA, + SpeciesId.BEAUTIFLY, + SpeciesId.DUSTOX, + SpeciesId.MASQUERAIN, + SpeciesId.NINJASK, + SpeciesId.VOLBEAT, + SpeciesId.ILLUMISE, + SpeciesId.ANORITH, + SpeciesId.KRICKETUNE, + SpeciesId.WORMADAM, + SpeciesId.MOTHIM, + SpeciesId.SKORUPI, + SpeciesId.JOLTIK, + SpeciesId.LARVESTA, + SpeciesId.VIVILLON, + SpeciesId.CHARJABUG, + SpeciesId.RIBOMBEE, + SpeciesId.SPIDOPS, + SpeciesId.LOKIX, ]; const POOL_2_POKEMON = [ - Species.SCYTHER, - Species.PINSIR, - Species.HERACROSS, - Species.FORRETRESS, - Species.SCIZOR, - Species.SHUCKLE, - Species.SHEDINJA, - Species.ARMALDO, - Species.VESPIQUEN, - Species.DRAPION, - Species.YANMEGA, - Species.LEAVANNY, - Species.SCOLIPEDE, - Species.CRUSTLE, - Species.ESCAVALIER, - Species.ACCELGOR, - Species.GALVANTULA, - Species.VIKAVOLT, - Species.ARAQUANID, - Species.ORBEETLE, - Species.CENTISKORCH, - Species.FROSMOTH, - Species.KLEAVOR, + SpeciesId.SCYTHER, + SpeciesId.PINSIR, + SpeciesId.HERACROSS, + SpeciesId.FORRETRESS, + SpeciesId.SCIZOR, + SpeciesId.SHUCKLE, + SpeciesId.SHEDINJA, + SpeciesId.ARMALDO, + SpeciesId.VESPIQUEN, + SpeciesId.DRAPION, + SpeciesId.YANMEGA, + SpeciesId.LEAVANNY, + SpeciesId.SCOLIPEDE, + SpeciesId.CRUSTLE, + SpeciesId.ESCAVALIER, + SpeciesId.ACCELGOR, + SpeciesId.GALVANTULA, + SpeciesId.VIKAVOLT, + SpeciesId.ARAQUANID, + SpeciesId.ORBEETLE, + SpeciesId.CENTISKORCH, + SpeciesId.FROSMOTH, + SpeciesId.KLEAVOR, ]; -const POOL_3_POKEMON: { species: Species; formIndex?: number }[] = [ +const POOL_3_POKEMON: { species: SpeciesId; formIndex?: number }[] = [ { - species: Species.PINSIR, + species: SpeciesId.PINSIR, formIndex: 1, }, { - species: Species.SCIZOR, + species: SpeciesId.SCIZOR, formIndex: 1, }, { - species: Species.HERACROSS, + species: SpeciesId.HERACROSS, formIndex: 1, }, { - species: Species.ORBEETLE, + species: SpeciesId.ORBEETLE, formIndex: 1, }, { - species: Species.CENTISKORCH, + species: SpeciesId.CENTISKORCH, formIndex: 1, }, { - species: Species.DURANT, + species: SpeciesId.DURANT, }, { - species: Species.VOLCARONA, + species: SpeciesId.VOLCARONA, }, { - species: Species.GOLISOPOD, + species: SpeciesId.GOLISOPOD, }, ]; -const POOL_4_POKEMON = [Species.GENESECT, Species.SLITHER_WING, Species.BUZZWOLE, Species.PHEROMOSA]; +const POOL_4_POKEMON = [SpeciesId.GENESECT, SpeciesId.SLITHER_WING, SpeciesId.BUZZWOLE, SpeciesId.PHEROMOSA]; const PHYSICAL_TUTOR_MOVES = [ - Moves.MEGAHORN, - Moves.ATTACK_ORDER, - Moves.BUG_BITE, - Moves.FIRST_IMPRESSION, - Moves.LUNGE + MoveId.MEGAHORN, + MoveId.ATTACK_ORDER, + MoveId.BUG_BITE, + MoveId.FIRST_IMPRESSION, + MoveId.LUNGE, ]; const SPECIAL_TUTOR_MOVES = [ - Moves.SILVER_WIND, - Moves.SIGNAL_BEAM, - Moves.BUG_BUZZ, - Moves.POLLEN_PUFF, - Moves.STRUGGLE_BUG + MoveId.SILVER_WIND, + MoveId.SIGNAL_BEAM, + MoveId.BUG_BUZZ, + MoveId.POLLEN_PUFF, + MoveId.STRUGGLE_BUG, ]; const STATUS_TUTOR_MOVES = [ - Moves.STRING_SHOT, - Moves.DEFEND_ORDER, - Moves.RAGE_POWDER, - Moves.STICKY_WEB, - Moves.SILK_TRAP + MoveId.STRING_SHOT, + MoveId.DEFEND_ORDER, + MoveId.RAGE_POWDER, + MoveId.STICKY_WEB, + MoveId.SILK_TRAP, ]; -const MISC_TUTOR_MOVES = [ - Moves.LEECH_LIFE, - Moves.U_TURN, - Moves.HEAL_ORDER, - Moves.QUIVER_DANCE, - Moves.INFESTATION, -]; +const MISC_TUTOR_MOVES = [MoveId.LEECH_LIFE, MoveId.U_TURN, MoveId.HEAL_ORDER, MoveId.QUIVER_DANCE, MoveId.INFESTATION]; describe("Bug-Type Superfan - Mystery Encounter", () => { let phaserGame: Phaser.Game; @@ -166,7 +160,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.BUG_TYPE_SUPERFAN]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.BUG_TYPE_SUPERFAN]]]), ); }); @@ -241,8 +235,8 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(2); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); }); it("should start battle against the Bug-Type Superfan with wave 50 party template", async () => { @@ -254,8 +248,8 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(3); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); expect(POOL_1_POKEMON.includes(enemyParty[2].species.speciesId)).toBe(true); }); @@ -268,8 +262,8 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(4); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); expect(POOL_1_POKEMON.includes(enemyParty[2].species.speciesId)).toBe(true); expect(POOL_2_POKEMON.includes(enemyParty[3].species.speciesId)).toBe(true); }); @@ -283,8 +277,8 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(5); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); expect(POOL_1_POKEMON.includes(enemyParty[2].species.speciesId)).toBe(true); expect(POOL_2_POKEMON.includes(enemyParty[3].species.speciesId)).toBe(true); expect(POOL_2_POKEMON.includes(enemyParty[4].species.speciesId)).toBe(true); @@ -299,9 +293,9 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(5); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); expect(enemyParty[0].formIndex).toBe(1); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); expect(enemyParty[1].formIndex).toBe(1); expect(POOL_2_POKEMON.includes(enemyParty[2].species.speciesId)).toBe(true); expect(POOL_2_POKEMON.includes(enemyParty[3].species.speciesId)).toBe(true); @@ -317,9 +311,9 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(5); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); expect(enemyParty[0].formIndex).toBe(1); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); expect(enemyParty[1].formIndex).toBe(1); expect(POOL_2_POKEMON.includes(enemyParty[2].species.speciesId)).toBe(true); expect(POOL_3_POKEMON.some(config => enemyParty[3].species.speciesId === config.species)).toBe(true); @@ -335,9 +329,9 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(5); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); expect(enemyParty[0].formIndex).toBe(1); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); expect(enemyParty[1].formIndex).toBe(1); expect(POOL_2_POKEMON.includes(enemyParty[2].species.speciesId)).toBe(true); expect(POOL_3_POKEMON.some(config => enemyParty[3].species.speciesId === config.species)).toBe(true); @@ -353,11 +347,11 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyParty.length).toBe(5); expect(scene.currentBattle.trainer?.config.trainerType).toBe(TrainerType.BUG_TYPE_SUPERFAN); - expect(enemyParty[0].species.speciesId).toBe(Species.BEEDRILL); + expect(enemyParty[0].species.speciesId).toBe(SpeciesId.BEEDRILL); expect(enemyParty[0].formIndex).toBe(1); expect(enemyParty[0].isBoss()).toBe(true); expect(enemyParty[0].bossSegments).toBe(2); - expect(enemyParty[1].species.speciesId).toBe(Species.BUTTERFREE); + expect(enemyParty[1].species.speciesId).toBe(SpeciesId.BUTTERFREE); expect(enemyParty[1].formIndex).toBe(1); expect(enemyParty[1].isBoss()).toBe(true); expect(enemyParty[1].bossSegments).toBe(2); @@ -401,7 +395,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { }); it("should NOT be selectable if the player doesn't have any Bug types", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [Species.ABRA]); + await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [SpeciesId.ABRA]); await game.phaseInterceptor.to(MysteryEncounterPhase, false); const encounterPhase = scene.getCurrentPhase(); @@ -436,7 +430,10 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { }); it("should proceed to rewards screen with 2-3 Bug Types reward options", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [Species.BUTTERFREE, Species.BEEDRILL]); + await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [ + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + ]); await runMysteryEncounterToEnd(game, 2); expect(scene.getCurrentPhase()?.constructor.name).toBe(SelectModifierPhase.name); @@ -454,10 +451,10 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { it("should proceed to rewards screen with 4-5 Bug Types reward options", async () => { await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [ - Species.BUTTERFREE, - Species.BEEDRILL, - Species.GALVANTULA, - Species.VOLCARONA, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.GALVANTULA, + SpeciesId.VOLCARONA, ]); await runMysteryEncounterToEnd(game, 2); @@ -476,12 +473,12 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { it("should proceed to rewards screen with 6 Bug Types reward options (including form change item)", async () => { await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [ - Species.BUTTERFREE, - Species.BEEDRILL, - Species.GALVANTULA, - Species.VOLCARONA, - Species.ANORITH, - Species.GENESECT, + SpeciesId.BUTTERFREE, + SpeciesId.BEEDRILL, + SpeciesId.GALVANTULA, + SpeciesId.VOLCARONA, + SpeciesId.ANORITH, + SpeciesId.GENESECT, ]); await runMysteryEncounterToEnd(game, 2); @@ -554,7 +551,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { it("should remove the gifted item and proceed to rewards screen", async () => { game.override.startingHeldItems([{ name: "GRIP_CLAW", count: 1 }]); - await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [Species.BUTTERFREE]); + await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [SpeciesId.BUTTERFREE]); const gripClawCountBefore = scene.findModifier(m => m instanceof ContactHeldItemTransferChanceModifier)?.stackCount ?? 0; @@ -581,7 +578,7 @@ describe("Bug-Type Superfan - Mystery Encounter", () => { game.override.startingHeldItems([{ name: "GRIP_CLAW", count: 1 }]); const leaveEncounterWithoutBattleSpy = vi.spyOn(encounterPhaseUtils, "leaveEncounterWithoutBattle"); - await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [Species.BUTTERFREE]); + await game.runToMysteryEncounter(MysteryEncounterType.BUG_TYPE_SUPERFAN, [SpeciesId.BUTTERFREE]); await runMysteryEncounterToEnd(game, 3, { pokemonNo: 1, optionNo: 1 }); expect(leaveEncounterWithoutBattleSpy).toBeCalled(); diff --git a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts index afc4a83e9bf..d83f8d0642c 100644 --- a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts +++ b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { getPokemonSpecies } from "#app/data/pokemon-species"; @@ -12,7 +12,7 @@ import { runMysteryEncounterToEnd, skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type BattleScene from "#app/battle-scene"; import type Pokemon from "#app/field/pokemon"; import { PokemonMove } from "#app/field/pokemon"; @@ -23,7 +23,7 @@ import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils import { ModifierTier } from "#app/modifier/modifier-tier"; import { ClowningAroundEncounter } from "#app/data/mystery-encounters/encounters/clowning-around-encounter"; import { TrainerType } from "#enums/trainer-type"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { PostMysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { Button } from "#enums/buttons"; import type PartyUiHandler from "#app/ui/party-ui-handler"; @@ -39,8 +39,8 @@ import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { NewBattlePhase } from "#app/phases/new-battle-phase"; const namespace = "mysteryEncounters/clowningAround"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Clowning Around - Mystery Encounter", () => { @@ -61,7 +61,7 @@ describe("Clowning Around - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.CLOWNING_AROUND]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.CLOWNING_AROUND]]]), ); }); @@ -115,33 +115,33 @@ describe("Clowning Around - Mystery Encounter", () => { expect(config.doubleBattle).toBe(true); expect(config.trainerConfig?.trainerType).toBe(TrainerType.HARLEQUIN); expect(config.pokemonConfigs?.[0]).toEqual({ - species: getPokemonSpecies(Species.MR_MIME), + species: getPokemonSpecies(SpeciesId.MR_MIME), isBoss: true, - moveSet: [Moves.TEETER_DANCE, Moves.ALLY_SWITCH, Moves.DAZZLING_GLEAM, Moves.PSYCHIC], + moveSet: [MoveId.TEETER_DANCE, MoveId.ALLY_SWITCH, MoveId.DAZZLING_GLEAM, MoveId.PSYCHIC], }); expect(config.pokemonConfigs?.[1]).toEqual({ - species: getPokemonSpecies(Species.BLACEPHALON), + species: getPokemonSpecies(SpeciesId.BLACEPHALON), customPokemonData: expect.anything(), isBoss: true, - moveSet: [Moves.TRICK, Moves.HYPNOSIS, Moves.SHADOW_BALL, Moves.MIND_BLOWN], + moveSet: [MoveId.TRICK, MoveId.HYPNOSIS, MoveId.SHADOW_BALL, MoveId.MIND_BLOWN], }); expect(config.pokemonConfigs?.[1].customPokemonData?.types.length).toBe(2); expect([ - Abilities.STURDY, - Abilities.PICKUP, - Abilities.INTIMIDATE, - Abilities.GUTS, - Abilities.DROUGHT, - Abilities.DRIZZLE, - Abilities.SNOW_WARNING, - Abilities.SAND_STREAM, - Abilities.ELECTRIC_SURGE, - Abilities.PSYCHIC_SURGE, - Abilities.GRASSY_SURGE, - Abilities.MISTY_SURGE, - Abilities.MAGICIAN, - Abilities.SHEER_FORCE, - Abilities.PRANKSTER, + AbilityId.STURDY, + AbilityId.PICKUP, + AbilityId.INTIMIDATE, + AbilityId.GUTS, + AbilityId.DROUGHT, + AbilityId.DRIZZLE, + AbilityId.SNOW_WARNING, + AbilityId.SAND_STREAM, + AbilityId.ELECTRIC_SURGE, + AbilityId.PSYCHIC_SURGE, + AbilityId.GRASSY_SURGE, + AbilityId.MISTY_SURGE, + AbilityId.MAGICIAN, + AbilityId.SHEER_FORCE, + AbilityId.PRANKSTER, ]).toContain(config.pokemonConfigs?.[1].customPokemonData?.ability); expect(ClowningAroundEncounter.misc.ability).toBe(config.pokemonConfigs?.[1].customPokemonData?.ability); await vi.waitFor(() => expect(moveInitSpy).toHaveBeenCalled()); @@ -175,26 +175,26 @@ describe("Clowning Around - Mystery Encounter", () => { const enemyField = scene.getEnemyField(); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyField.length).toBe(2); - expect(enemyField[0].species.speciesId).toBe(Species.MR_MIME); + expect(enemyField[0].species.speciesId).toBe(SpeciesId.MR_MIME); expect(enemyField[0].moveset).toEqual([ - new PokemonMove(Moves.TEETER_DANCE), - new PokemonMove(Moves.ALLY_SWITCH), - new PokemonMove(Moves.DAZZLING_GLEAM), - new PokemonMove(Moves.PSYCHIC), + new PokemonMove(MoveId.TEETER_DANCE), + new PokemonMove(MoveId.ALLY_SWITCH), + new PokemonMove(MoveId.DAZZLING_GLEAM), + new PokemonMove(MoveId.PSYCHIC), ]); - expect(enemyField[1].species.speciesId).toBe(Species.BLACEPHALON); + expect(enemyField[1].species.speciesId).toBe(SpeciesId.BLACEPHALON); expect(enemyField[1].moveset).toEqual([ - new PokemonMove(Moves.TRICK), - new PokemonMove(Moves.HYPNOSIS), - new PokemonMove(Moves.SHADOW_BALL), - new PokemonMove(Moves.MIND_BLOWN), + new PokemonMove(MoveId.TRICK), + new PokemonMove(MoveId.HYPNOSIS), + new PokemonMove(MoveId.SHADOW_BALL), + new PokemonMove(MoveId.MIND_BLOWN), ]); // Should have used moves pre-battle const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(3); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.ROLE_PLAY).length).toBe(1); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.TAUNT).length).toBe(2); + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.ROLE_PLAY).length).toBe(1); + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.TAUNT).length).toBe(2); }); it("should let the player gain the ability after battle completion", async () => { @@ -264,7 +264,7 @@ describe("Clowning Around - Mystery Encounter", () => { await game.runToMysteryEncounter(MysteryEncounterType.CLOWNING_AROUND, defaultParty); // Set some moves on party for attack type booster generation - scene.getPlayerParty()[0].moveset = [new PokemonMove(Moves.TACKLE), new PokemonMove(Moves.THIEF)]; + scene.getPlayerParty()[0].moveset = [new PokemonMove(MoveId.TACKLE), new PokemonMove(MoveId.THIEF)]; // 2 Sitrus Berries on lead scene.modifiers = []; @@ -349,9 +349,9 @@ describe("Clowning Around - Mystery Encounter", () => { await game.runToMysteryEncounter(MysteryEncounterType.CLOWNING_AROUND, defaultParty); // Same type moves on lead - scene.getPlayerParty()[0].moveset = [new PokemonMove(Moves.ICE_BEAM), new PokemonMove(Moves.SURF)]; + scene.getPlayerParty()[0].moveset = [new PokemonMove(MoveId.ICE_BEAM), new PokemonMove(MoveId.SURF)]; // Different type moves on second - scene.getPlayerParty()[1].moveset = [new PokemonMove(Moves.GRASS_KNOT), new PokemonMove(Moves.ELECTRO_BALL)]; + scene.getPlayerParty()[1].moveset = [new PokemonMove(MoveId.GRASS_KNOT), new PokemonMove(MoveId.ELECTRO_BALL)]; // No moves on third scene.getPlayerParty()[2].moveset = []; await runMysteryEncounterToEnd(game, 3); diff --git a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts index 873bed2f213..501ff0c45e8 100644 --- a/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts +++ b/test/mystery-encounter/encounters/dancing-lessons-encounter.test.ts @@ -1,6 +1,6 @@ -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -13,7 +13,7 @@ import type BattleScene from "#app/battle-scene"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { DancingLessonsEncounter } from "#app/data/mystery-encounters/encounters/dancing-lessons-encounter"; import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; @@ -25,8 +25,8 @@ import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; const namespace = "mysteryEncounters/dancingLessons"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.PLAINS; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.PLAINS; const defaultWave = 45; describe("Dancing Lessons - Mystery Encounter", () => { @@ -47,9 +47,9 @@ describe("Dancing Lessons - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([ - [Biome.PLAINS, [MysteryEncounterType.DANCING_LESSONS]], - [Biome.SPACE, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + new Map([ + [BiomeId.PLAINS, [MysteryEncounterType.DANCING_LESSONS]], + [BiomeId.SPACE, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]), ); }); @@ -75,7 +75,7 @@ describe("Dancing Lessons - Mystery Encounter", () => { it("should not spawn outside of proper biomes", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.SPACE); + game.override.startingBiome(BiomeId.SPACE); await game.runToMysteryEncounter(); expect(game.scene.currentBattle.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.DANCING_LESSONS); @@ -110,14 +110,14 @@ describe("Dancing Lessons - Mystery Encounter", () => { const enemyField = scene.getEnemyField(); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyField.length).toBe(1); - expect(enemyField[0].species.speciesId).toBe(Species.ORICORIO); + expect(enemyField[0].species.speciesId).toBe(SpeciesId.ORICORIO); expect(enemyField[0].summonData.statStages).toEqual([1, 1, 1, 1, 0, 0, 0]); const moveset = enemyField[0].moveset.map(m => m.moveId); - expect(moveset.some(m => m === Moves.REVELATION_DANCE)).toBeTruthy(); + expect(moveset.some(m => m === MoveId.REVELATION_DANCE)).toBeTruthy(); const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(1); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.REVELATION_DANCE).length).toBe(1); // Revelation Dance used before battle + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.REVELATION_DANCE).length).toBe(1); // Revelation Dance used before battle }); it("should have a Baton in the rewards after battle", async () => { @@ -166,7 +166,7 @@ describe("Dancing Lessons - Mystery Encounter", () => { const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof LearnMovePhase).map(p => p[0]); expect(movePhases.length).toBe(1); - expect(movePhases.filter(p => (p as LearnMovePhase)["moveId"] === Moves.REVELATION_DANCE).length).toBe(1); // Revelation Dance taught to pokemon + expect(movePhases.filter(p => (p as LearnMovePhase)["moveId"] === MoveId.REVELATION_DANCE).length).toBe(1); // Revelation Dance taught to pokemon }); it("should leave encounter without battle", async () => { @@ -201,16 +201,16 @@ describe("Dancing Lessons - Mystery Encounter", () => { it("should add Oricorio to the party", async () => { await game.runToMysteryEncounter(MysteryEncounterType.DANCING_LESSONS, defaultParty); const partyCountBefore = scene.getPlayerParty().length; - scene.getPlayerParty()[0].moveset = [new PokemonMove(Moves.DRAGON_DANCE)]; + scene.getPlayerParty()[0].moveset = [new PokemonMove(MoveId.DRAGON_DANCE)]; await runMysteryEncounterToEnd(game, 3, { pokemonNo: 1, optionNo: 1 }); const partyCountAfter = scene.getPlayerParty().length; expect(partyCountBefore + 1).toBe(partyCountAfter); const oricorio = scene.getPlayerParty()[scene.getPlayerParty().length - 1]; - expect(oricorio.species.speciesId).toBe(Species.ORICORIO); + expect(oricorio.species.speciesId).toBe(SpeciesId.ORICORIO); const moveset = oricorio.moveset.map(m => m.moveId); - expect(moveset?.some(m => m === Moves.REVELATION_DANCE)).toBeTruthy(); - expect(moveset?.some(m => m === Moves.DRAGON_DANCE)).toBeTruthy(); + expect(moveset?.some(m => m === MoveId.REVELATION_DANCE)).toBeTruthy(); + expect(moveset?.some(m => m === MoveId.DRAGON_DANCE)).toBeTruthy(); }); it("should NOT be selectable if the player doesn't have a Dance type move", async () => { @@ -240,7 +240,7 @@ describe("Dancing Lessons - Mystery Encounter", () => { const leaveEncounterWithoutBattleSpy = vi.spyOn(EncounterPhaseUtils, "leaveEncounterWithoutBattle"); await game.runToMysteryEncounter(MysteryEncounterType.DANCING_LESSONS, defaultParty); - scene.getPlayerParty()[0].moveset = [new PokemonMove(Moves.DRAGON_DANCE)]; + scene.getPlayerParty()[0].moveset = [new PokemonMove(MoveId.DRAGON_DANCE)]; await runMysteryEncounterToEnd(game, 3, { pokemonNo: 1, optionNo: 1 }); expect(leaveEncounterWithoutBattleSpy).toBeCalled(); diff --git a/test/mystery-encounter/encounters/delibirdy-encounter.test.ts b/test/mystery-encounter/encounters/delibirdy-encounter.test.ts index 94faf070a39..58496e957c0 100644 --- a/test/mystery-encounter/encounters/delibirdy-encounter.test.ts +++ b/test/mystery-encounter/encounters/delibirdy-encounter.test.ts @@ -1,6 +1,6 @@ -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -30,8 +30,8 @@ import { modifierTypes } from "#app/modifier/modifier-type"; import { BerryType } from "#enums/berry-type"; const namespace = "mysteryEncounters/delibirdy"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Delibird-y - Mystery Encounter", () => { @@ -52,7 +52,7 @@ describe("Delibird-y - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.DELIBIRDY]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.DELIBIRDY]]]), ); }); diff --git a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts index 2488d12dad1..c2974def16e 100644 --- a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts +++ b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -16,8 +16,8 @@ import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; const namespace = "mysteryEncounters/departmentStoreSale"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.PLAINS; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.PLAINS; const defaultWave = 37; describe("Department Store Sale - Mystery Encounter", () => { @@ -37,8 +37,8 @@ describe("Department Store Sale - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([ - [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]); CIVILIZATION_ENCOUNTER_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.DEPARTMENT_STORE_SALE]); @@ -75,7 +75,7 @@ describe("Department Store Sale - Mystery Encounter", () => { it("should not spawn outside of CIVILIZATION_ENCOUNTER_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.DEPARTMENT_STORE_SALE); diff --git a/test/mystery-encounter/encounters/field-trip-encounter.test.ts b/test/mystery-encounter/encounters/field-trip-encounter.test.ts index 75a6fe77492..f93de7dc955 100644 --- a/test/mystery-encounter/encounters/field-trip-encounter.test.ts +++ b/test/mystery-encounter/encounters/field-trip-encounter.test.ts @@ -1,6 +1,6 @@ -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -10,15 +10,15 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { FieldTripEncounter } from "#app/data/mystery-encounters/encounters/field-trip-encounter"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import i18next from "i18next"; const namespace = "mysteryEncounters/fieldTrip"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Field Trip - Mystery Encounter", () => { @@ -37,10 +37,10 @@ describe("Field Trip - Mystery Encounter", () => { game.override.startingWave(defaultWave); game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - game.override.moveset([Moves.TACKLE, Moves.UPROAR, Moves.SWORDS_DANCE]); + game.override.moveset([MoveId.TACKLE, MoveId.UPROAR, MoveId.SWORDS_DANCE]); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.FIELD_TRIP]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.FIELD_TRIP]]]), ); }); diff --git a/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts b/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts index 3d311134d4e..ba9ea4126da 100644 --- a/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts +++ b/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { FieryFalloutEncounter } from "#app/data/mystery-encounters/encounters/fiery-fallout-encounter"; @@ -14,7 +14,7 @@ import { runSelectMysteryEncounterOption, skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type BattleScene from "#app/battle-scene"; import { AttackTypeBoosterModifier, PokemonHeldItemModifier } from "#app/modifier/modifier"; import { PokemonType } from "#enums/pokemon-type"; @@ -27,14 +27,14 @@ import { CommandPhase } from "#app/phases/command-phase"; import { MovePhase } from "#app/phases/move-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { BattlerTagType } from "#enums/battler-tag-type"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import i18next from "i18next"; import { StatusEffect } from "#enums/status-effect"; const namespace = "mysteryEncounters/fieryFallout"; /** Arcanine and Ninetails for 2 Fire types. Lapras, Gengar, Abra for burnable mon. */ -const defaultParty = [Species.ARCANINE, Species.NINETALES, Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.VOLCANO; +const defaultParty = [SpeciesId.ARCANINE, SpeciesId.NINETALES, SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.VOLCANO; const defaultWave = 56; describe("Fiery Fallout - Mystery Encounter", () => { @@ -54,12 +54,12 @@ describe("Fiery Fallout - Mystery Encounter", () => { .startingWave(defaultWave) .startingBiome(defaultBiome) .disableTrainerWaves() - .moveset([Moves.PAYBACK, Moves.THUNDERBOLT]); // Required for attack type booster item generation + .moveset([MoveId.PAYBACK, MoveId.THUNDERBOLT]); // Required for attack type booster item generation vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([ - [Biome.VOLCANO, [MysteryEncounterType.FIERY_FALLOUT]], - [Biome.MOUNTAIN, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.FIERY_FALLOUT]], + [BiomeId.MOUNTAIN, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]), ); }); @@ -84,7 +84,7 @@ describe("Fiery Fallout - Mystery Encounter", () => { }); it("should not spawn outside of volcano biome", async () => { - game.override.startingBiome(Biome.MOUNTAIN); + game.override.startingBiome(BiomeId.MOUNTAIN); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.FIERY_FALLOUT); @@ -116,14 +116,14 @@ describe("Fiery Fallout - Mystery Encounter", () => { { pokemonConfigs: [ { - species: getPokemonSpecies(Species.VOLCARONA), + species: getPokemonSpecies(SpeciesId.VOLCARONA), isBoss: false, gender: Gender.MALE, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: expect.any(Function), }, { - species: getPokemonSpecies(Species.VOLCARONA), + species: getPokemonSpecies(SpeciesId.VOLCARONA), isBoss: false, gender: Gender.FEMALE, tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], @@ -165,13 +165,13 @@ describe("Fiery Fallout - Mystery Encounter", () => { const enemyField = scene.getEnemyField(); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyField.length).toBe(2); - expect(enemyField[0].species.speciesId).toBe(Species.VOLCARONA); - expect(enemyField[1].species.speciesId).toBe(Species.VOLCARONA); + expect(enemyField[0].species.speciesId).toBe(SpeciesId.VOLCARONA); + expect(enemyField[1].species.speciesId).toBe(SpeciesId.VOLCARONA); expect(enemyField[0].gender).not.toEqual(enemyField[1].gender); // Should be opposite gender const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(2); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.FIRE_SPIN).length).toBe(2); // Fire spin used twice before battle + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.FIRE_SPIN).length).toBe(2); // Fire spin used twice before battle }); it("should give attack type boosting item to lead pokemon", async () => { @@ -211,9 +211,9 @@ describe("Fiery Fallout - Mystery Encounter", () => { await game.runToMysteryEncounter(MysteryEncounterType.FIERY_FALLOUT, defaultParty); const party = scene.getPlayerParty(); - const lapras = party.find(pkm => pkm.species.speciesId === Species.LAPRAS)!; + const lapras = party.find(pkm => pkm.species.speciesId === SpeciesId.LAPRAS)!; lapras.status = new Status(StatusEffect.POISON); - const abra = party.find(pkm => pkm.species.speciesId === Species.ABRA)!; + const abra = party.find(pkm => pkm.species.speciesId === SpeciesId.ABRA)!; vi.spyOn(abra, "isAllowedInBattle").mockReturnValue(false); await runMysteryEncounterToEnd(game, 2); @@ -231,7 +231,7 @@ describe("Fiery Fallout - Mystery Encounter", () => { ); }); expect(burnablePokemon.some(pkm => pkm.status?.effect === StatusEffect.BURN)).toBeTruthy(); - expect(burnablePokemon.some(pkm => pkm.customPokemonData.ability === Abilities.HEATPROOF)); + expect(burnablePokemon.some(pkm => pkm.customPokemonData.ability === AbilityId.HEATPROOF)); notBurnablePokemon.forEach(pkm => expect(pkm.hp, `${pkm.name} should be full hp: ${pkm.hp} / ${pkm.getMaxHp()} HP`).toBe(pkm.getMaxHp()), ); @@ -285,7 +285,7 @@ describe("Fiery Fallout - Mystery Encounter", () => { }); it("should be disabled if not enough FIRE types are in party", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.FIERY_FALLOUT, [Species.MAGIKARP]); + await game.runToMysteryEncounter(MysteryEncounterType.FIERY_FALLOUT, [SpeciesId.MAGIKARP]); await game.phaseInterceptor.to(MysteryEncounterPhase, false); const encounterPhase = scene.getCurrentPhase(); diff --git a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts index d47266268ee..1b5bd9fc649 100644 --- a/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts +++ b/test/mystery-encounter/encounters/fight-or-flight-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { @@ -9,7 +9,7 @@ import { runSelectMysteryEncounterOption, skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type BattleScene from "#app/battle-scene"; import { PokemonMove } from "#app/field/pokemon"; import { UiMode } from "#enums/ui-mode"; @@ -24,8 +24,8 @@ import { CommandPhase } from "#app/phases/command-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; const namespace = "mysteryEncounters/fightOrFlight"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Fight or Flight - Mystery Encounter", () => { @@ -46,7 +46,7 @@ describe("Fight or Flight - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.FIGHT_OR_FLIGHT]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.FIGHT_OR_FLIGHT]]]), ); }); @@ -179,7 +179,7 @@ describe("Fight or Flight - Mystery Encounter", () => { await game.runToMysteryEncounter(MysteryEncounterType.FIGHT_OR_FLIGHT, defaultParty); // Mock moveset - scene.getPlayerParty()[0].moveset = [new PokemonMove(Moves.KNOCK_OFF)]; + scene.getPlayerParty()[0].moveset = [new PokemonMove(MoveId.KNOCK_OFF)]; const item = game.scene.currentBattle.mysteryEncounter!.misc; await runMysteryEncounterToEnd(game, 2); diff --git a/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts b/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts index f8375c1aa78..fcc2eda28f7 100644 --- a/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts +++ b/test/mystery-encounter/encounters/fun-and-games-encounter.test.ts @@ -1,8 +1,8 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { HUMAN_TRANSITABLE_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { @@ -21,13 +21,13 @@ import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { CommandPhase } from "#app/phases/command-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { FunAndGamesEncounter } from "#app/data/mystery-encounters/encounters/fun-and-games-encounter"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { Command } from "#app/ui/command-ui-handler"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; const namespace = "mysteryEncounters/funAndGames"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Fun And Games! - Mystery Encounter", () => { @@ -47,7 +47,9 @@ describe("Fun And Games! - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([[Biome.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]]]); + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]], + ]); HUMAN_TRANSITABLE_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.FUN_AND_GAMES]); }); @@ -80,7 +82,7 @@ describe("Fun And Games! - Mystery Encounter", () => { it("should not spawn outside of CIVILIZATIONN biomes", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.FUN_AND_GAMES); @@ -138,12 +140,12 @@ describe("Fun And Games! - Mystery Encounter", () => { it("should get 3 turns to attack the Wobbuffet for a reward", async () => { scene.money = 20000; - game.override.moveset([Moves.TACKLE]); + game.override.moveset([MoveId.TACKLE]); await game.runToMysteryEncounter(MysteryEncounterType.FUN_AND_GAMES, defaultParty); await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); - expect(scene.getEnemyPokemon()?.species.speciesId).toBe(Species.WOBBUFFET); + expect(scene.getEnemyPokemon()?.species.speciesId).toBe(SpeciesId.WOBBUFFET); expect(scene.getEnemyPokemon()?.ivs).toEqual([0, 0, 0, 0, 0, 0]); expect(scene.getEnemyPokemon()?.nature).toBe(Nature.MILD); @@ -195,7 +197,7 @@ describe("Fun And Games! - Mystery Encounter", () => { it("should have Wide Lens item in rewards if Wubboffet is at 15-33% HP remaining", async () => { scene.money = 20000; - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); await game.runToMysteryEncounter(MysteryEncounterType.FUN_AND_GAMES, defaultParty); await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); @@ -225,7 +227,7 @@ describe("Fun And Games! - Mystery Encounter", () => { it("should have Scope Lens item in rewards if Wubboffet is at 3-15% HP remaining", async () => { scene.money = 20000; - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); await game.runToMysteryEncounter(MysteryEncounterType.FUN_AND_GAMES, defaultParty); await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); @@ -255,7 +257,7 @@ describe("Fun And Games! - Mystery Encounter", () => { it("should have Multi Lens item in rewards if Wubboffet is at <3% HP remaining", async () => { scene.money = 20000; - game.override.moveset([Moves.SPLASH]); + game.override.moveset([MoveId.SPLASH]); await game.runToMysteryEncounter(MysteryEncounterType.FUN_AND_GAMES, defaultParty); await runMysteryEncounterToEnd(game, 1, { pokemonNo: 1 }, true); diff --git a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts index 576e99c4e18..73bf3cc4eba 100644 --- a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts +++ b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts @@ -1,6 +1,6 @@ -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -21,8 +21,8 @@ import { ModifierTier } from "#app/modifier/modifier-tier"; import * as Utils from "#app/utils/common"; const namespace = "mysteryEncounters/globalTradeSystem"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Global Trade System - Mystery Encounter", () => { @@ -42,8 +42,8 @@ describe("Global Trade System - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([ - [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]); CIVILIZATION_ENCOUNTER_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.GLOBAL_TRADE_SYSTEM]); @@ -71,7 +71,7 @@ describe("Global Trade System - Mystery Encounter", () => { }); it("should not loop infinitely when generating trade options for extreme BST non-legendaries", async () => { - const extremeBstTeam = [Species.SLAKING, Species.WISHIWASHI, Species.SUNKERN]; + const extremeBstTeam = [SpeciesId.SLAKING, SpeciesId.WISHIWASHI, SpeciesId.SUNKERN]; await game.runToMysteryEncounter(MysteryEncounterType.GLOBAL_TRADE_SYSTEM, extremeBstTeam); expect(GlobalTradeSystemEncounter.encounterType).toBe(MysteryEncounterType.GLOBAL_TRADE_SYSTEM); @@ -86,7 +86,7 @@ describe("Global Trade System - Mystery Encounter", () => { it("should not spawn outside of CIVILIZATION_ENCOUNTER_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.GLOBAL_TRADE_SYSTEM); diff --git a/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts b/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts index f23bc8738f2..10b96d84667 100644 --- a/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts +++ b/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts @@ -2,9 +2,9 @@ import { LostAtSeaEncounter } from "#app/data/mystery-encounters/encounters/lost import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { runMysteryEncounterToEnd, runSelectMysteryEncounterOption } from "../encounter-test-utils"; @@ -18,8 +18,8 @@ import i18next from "i18next"; const namespace = "mysteryEncounters/lostAtSea"; /** Blastoise for surf. Pidgeot for fly. Abra for none. */ -const defaultParty = [Species.BLASTOISE, Species.PIDGEOT, Species.ABRA]; -const defaultBiome = Biome.SEA; +const defaultParty = [SpeciesId.BLASTOISE, SpeciesId.PIDGEOT, SpeciesId.ABRA]; +const defaultBiome = BiomeId.SEA; const defaultWave = 33; describe("Lost at Sea - Mystery Encounter", () => { @@ -40,9 +40,9 @@ describe("Lost at Sea - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([ - [Biome.SEA, [MysteryEncounterType.LOST_AT_SEA]], - [Biome.MOUNTAIN, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + new Map([ + [BiomeId.SEA, [MysteryEncounterType.LOST_AT_SEA]], + [BiomeId.MOUNTAIN, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]), ); }); @@ -68,7 +68,7 @@ describe("Lost at Sea - Mystery Encounter", () => { it("should not spawn outside of sea biome", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON); - game.override.startingBiome(Biome.MOUNTAIN); + game.override.startingBiome(BiomeId.MOUNTAIN); await game.runToMysteryEncounter(); expect(game.scene.currentBattle.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.LOST_AT_SEA); @@ -110,11 +110,11 @@ describe("Lost at Sea - Mystery Encounter", () => { }); it("should award exp to surfable PKM (Blastoise)", async () => { - const laprasSpecies = getPokemonSpecies(Species.LAPRAS); + const laprasSpecies = getPokemonSpecies(SpeciesId.LAPRAS); await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, defaultParty); const party = game.scene.getPlayerParty(); - const blastoise = party.find(pkm => pkm.species.speciesId === Species.BLASTOISE); + const blastoise = party.find(pkm => pkm.species.speciesId === SpeciesId.BLASTOISE); const expBefore = blastoise!.exp; await runMysteryEncounterToEnd(game, 1); @@ -134,7 +134,7 @@ describe("Lost at Sea - Mystery Encounter", () => { }); it("should be disabled if no surfable PKM is in party", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, [Species.ARCANINE]); + await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, [SpeciesId.ARCANINE]); await game.phaseInterceptor.to(MysteryEncounterPhase, false); const encounterPhase = scene.getCurrentPhase(); @@ -179,7 +179,7 @@ describe("Lost at Sea - Mystery Encounter", () => { await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, defaultParty); const party = game.scene.getPlayerParty(); - const pidgeot = party.find(pkm => pkm.species.speciesId === Species.PIDGEOT); + const pidgeot = party.find(pkm => pkm.species.speciesId === SpeciesId.PIDGEOT); const expBefore = pidgeot!.exp; await runMysteryEncounterToEnd(game, 2); @@ -199,7 +199,7 @@ describe("Lost at Sea - Mystery Encounter", () => { }); it("should be disabled if no flyable PKM is in party", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, [Species.ARCANINE]); + await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, [SpeciesId.ARCANINE]); await game.phaseInterceptor.to(MysteryEncounterPhase, false); const encounterPhase = scene.getCurrentPhase(); @@ -241,7 +241,7 @@ describe("Lost at Sea - Mystery Encounter", () => { await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, defaultParty); const party = game.scene.getPlayerParty(); - const abra = party.find(pkm => pkm.species.speciesId === Species.ABRA)!; + const abra = party.find(pkm => pkm.species.speciesId === SpeciesId.ABRA)!; vi.spyOn(abra, "isAllowedInBattle").mockReturnValue(false); await runMysteryEncounterToEnd(game, 3); diff --git a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts index 2c61d03b29d..b93fbeb2673 100644 --- a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts +++ b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts @@ -1,8 +1,8 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { HUMAN_TRANSITABLE_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { @@ -27,8 +27,8 @@ import { CommandPhase } from "#app/phases/command-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; const namespace = "mysteryEncounters/mysteriousChallengers"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Mysterious Challengers - Mystery Encounter", () => { @@ -48,7 +48,9 @@ describe("Mysterious Challengers - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([[Biome.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]]]); + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]], + ]); HUMAN_TRANSITABLE_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]); }); @@ -78,7 +80,7 @@ describe("Mysterious Challengers - Mystery Encounter", () => { it("should not spawn outside of HUMAN_TRANSITABLE_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.MYSTERIOUS_CHALLENGERS); diff --git a/test/mystery-encounter/encounters/part-timer-encounter.test.ts b/test/mystery-encounter/encounters/part-timer-encounter.test.ts index 639a2e140ff..1b9d24b5ce6 100644 --- a/test/mystery-encounter/encounters/part-timer-encounter.test.ts +++ b/test/mystery-encounter/encounters/part-timer-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -15,13 +15,13 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { PartTimerEncounter } from "#app/data/mystery-encounters/encounters/part-timer-encounter"; import { PokemonMove } from "#app/field/pokemon"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; const namespace = "mysteryEncounters/partTimer"; // Pyukumuku for lowest speed, Regieleki for highest speed, Feebas for lowest "bulk", Melmetal for highest "bulk" -const defaultParty = [Species.PYUKUMUKU, Species.REGIELEKI, Species.FEEBAS, Species.MELMETAL]; -const defaultBiome = Biome.PLAINS; +const defaultParty = [SpeciesId.PYUKUMUKU, SpeciesId.REGIELEKI, SpeciesId.FEEBAS, SpeciesId.MELMETAL]; +const defaultBiome = BiomeId.PLAINS; const defaultWave = 37; describe("Part-Timer - Mystery Encounter", () => { @@ -41,8 +41,8 @@ describe("Part-Timer - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([ - [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]); CIVILIZATION_ENCOUNTER_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.PART_TIMER]); @@ -77,7 +77,7 @@ describe("Part-Timer - Mystery Encounter", () => { it("should not spawn outside of CIVILIZATION_ENCOUNTER_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.PART_TIMER); @@ -259,7 +259,7 @@ describe("Part-Timer - Mystery Encounter", () => { await game.runToMysteryEncounter(MysteryEncounterType.PART_TIMER, defaultParty); // Mock moveset - scene.getPlayerParty()[0].moveset = [new PokemonMove(Moves.ATTRACT)]; + scene.getPlayerParty()[0].moveset = [new PokemonMove(MoveId.ATTRACT)]; await runMysteryEncounterToEnd(game, 3); expect(EncounterPhaseUtils.updatePlayerMoney).toHaveBeenCalledWith(scene.getWaveMoneyAmount(2.5), true, false); diff --git a/test/mystery-encounter/encounters/safari-zone.test.ts b/test/mystery-encounter/encounters/safari-zone.test.ts index 3506020aae4..c6bde3a7e7a 100644 --- a/test/mystery-encounter/encounters/safari-zone.test.ts +++ b/test/mystery-encounter/encounters/safari-zone.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { @@ -22,8 +22,8 @@ import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encount import { NON_LEGEND_PARADOX_POKEMON } from "#app/data/balance/special-species-groups"; const namespace = "mysteryEncounters/safariZone"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.SWAMP; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.SWAMP; const defaultWave = 45; describe("Safari Zone - Mystery Encounter", () => { @@ -43,11 +43,11 @@ describe("Safari Zone - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([ - [Biome.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]], - [Biome.FOREST, [MysteryEncounterType.SAFARI_ZONE]], - [Biome.SWAMP, [MysteryEncounterType.SAFARI_ZONE]], - [Biome.JUNGLE, [MysteryEncounterType.SAFARI_ZONE]], + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]], + [BiomeId.FOREST, [MysteryEncounterType.SAFARI_ZONE]], + [BiomeId.SWAMP, [MysteryEncounterType.SAFARI_ZONE]], + [BiomeId.JUNGLE, [MysteryEncounterType.SAFARI_ZONE]], ]); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue(biomeMap); }); @@ -73,7 +73,7 @@ describe("Safari Zone - Mystery Encounter", () => { it("should not spawn outside of the forest, swamp, or jungle biomes", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.SAFARI_ZONE); diff --git a/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts b/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts index 4ff94c5a9bd..039b1dacf31 100644 --- a/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts +++ b/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts @@ -1,10 +1,10 @@ import type BattleScene from "#app/battle-scene"; import { TeleportingHijinksEncounter } from "#app/data/mystery-encounters/encounters/teleporting-hijinks-encounter"; import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Abilities } from "#enums/abilities"; -import { Biome } from "#enums/biome"; +import { AbilityId } from "#enums/ability-id"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { CommandPhase } from "#app/phases/command-phase"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; @@ -23,11 +23,18 @@ import i18next from "i18next"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; const namespace = "mysteryEncounters/teleportingHijinks"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; -const TRANSPORT_BIOMES = [Biome.SPACE, Biome.ISLAND, Biome.LABORATORY, Biome.FAIRY_CAVE, Biome.WASTELAND, Biome.DOJO]; +const TRANSPORT_BIOMES = [ + BiomeId.SPACE, + BiomeId.ISLAND, + BiomeId.LABORATORY, + BiomeId.FAIRY_CAVE, + BiomeId.WASTELAND, + BiomeId.DOJO, +]; describe("Teleporting Hijinks - Mystery Encounter", () => { let phaserGame: Phaser.Game; @@ -47,11 +54,11 @@ describe("Teleporting Hijinks - Mystery Encounter", () => { .startingWave(defaultWave) .startingBiome(defaultBiome) .disableTrainerWaves() - .enemyAbility(Abilities.BALL_FETCH) - .enemyPassiveAbility(Abilities.BALL_FETCH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyPassiveAbility(AbilityId.BALL_FETCH); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.TELEPORTING_HIJINKS]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.TELEPORTING_HIJINKS]]]), ); }); @@ -215,7 +222,7 @@ describe("Teleporting Hijinks - Mystery Encounter", () => { }); it("should NOT be selectable if the player doesn't the right type pokemon", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [Species.BLASTOISE]); + await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [SpeciesId.BLASTOISE]); await game.phaseInterceptor.to(MysteryEncounterPhase, false); const encounterPhase = scene.getCurrentPhase(); @@ -234,14 +241,14 @@ describe("Teleporting Hijinks - Mystery Encounter", () => { }); it("should be selectable if the player has the right type pokemon", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [Species.METAGROSS]); + await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [SpeciesId.METAGROSS]); await runMysteryEncounterToEnd(game, 2, undefined, true); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); }); it("should transport to a new area", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [Species.PIKACHU]); + await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [SpeciesId.PIKACHU]); const previousBiome = scene.arena.biomeType; @@ -252,7 +259,7 @@ describe("Teleporting Hijinks - Mystery Encounter", () => { }); it("should start a battle against an enraged boss below wave 50", async () => { - await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [Species.PIKACHU]); + await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [SpeciesId.PIKACHU]); await runMysteryEncounterToEnd(game, 2, undefined, true); const enemyField = scene.getEnemyField(); expect(enemyField[0].summonData.statStages).toEqual([0, 1, 0, 1, 1, 0, 0]); @@ -261,7 +268,7 @@ describe("Teleporting Hijinks - Mystery Encounter", () => { it("should start a battle against an extra enraged boss above wave 50", { retry: 5 }, async () => { game.override.startingWave(56); - await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [Species.PIKACHU]); + await game.runToMysteryEncounter(MysteryEncounterType.TELEPORTING_HIJINKS, [SpeciesId.PIKACHU]); await runMysteryEncounterToEnd(game, 2, undefined, true); const enemyField = scene.getEnemyField(); expect(enemyField[0].summonData.statStages).toEqual([1, 1, 1, 1, 1, 0, 0]); diff --git a/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts b/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts index 9160126ffc3..14c9287f5f3 100644 --- a/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-expert-breeder-encounter.test.ts @@ -1,8 +1,8 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { HUMAN_TRANSITABLE_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { @@ -24,8 +24,8 @@ import { PostMysteryEncounterPhase } from "#app/phases/mystery-encounter-phases" import { FRIENDSHIP_GAIN_FROM_BATTLE } from "#app/data/balance/starters"; const namespace = "mysteryEncounters/theExpertPokemonBreeder"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("The Expert Pokémon Breeder - Mystery Encounter", () => { @@ -45,7 +45,9 @@ describe("The Expert Pokémon Breeder - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([[Biome.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]]]); + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]], + ]); HUMAN_TRANSITABLE_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER]); }); @@ -83,7 +85,7 @@ describe("The Expert Pokémon Breeder - Mystery Encounter", () => { it("should not spawn outside of HUMAN_TRANSITABLE_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe( diff --git a/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts b/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts index 4adb8c6b076..15fc3ffb00b 100644 --- a/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-pokemon-salesman-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -23,8 +23,8 @@ import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { NON_LEGEND_PARADOX_POKEMON } from "#app/data/balance/special-species-groups"; const namespace = "mysteryEncounters/thePokemonSalesman"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("The Pokemon Salesman - Mystery Encounter", () => { @@ -44,8 +44,8 @@ describe("The Pokemon Salesman - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([ - [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]); HUMAN_TRANSITABLE_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.THE_POKEMON_SALESMAN]); @@ -80,7 +80,7 @@ describe("The Pokemon Salesman - Mystery Encounter", () => { it("should not spawn outside of HUMAN_TRANSITABLE_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.ULTRA); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.THE_POKEMON_SALESMAN); diff --git a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts index e3440aee9e0..2187bad5775 100644 --- a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { getPokemonSpecies } from "#app/data/pokemon-species"; @@ -11,7 +11,7 @@ import { runMysteryEncounterToEnd, skipBattleRunMysteryEncounterRewardsPhase, } from "#test/mystery-encounter/encounter-test-utils"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type BattleScene from "#app/battle-scene"; import { TheStrongStuffEncounter } from "#app/data/mystery-encounters/encounters/the-strong-stuff-encounter"; import { Nature } from "#enums/nature"; @@ -28,11 +28,11 @@ import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import { CommandPhase } from "#app/phases/command-phase"; import { MovePhase } from "#app/phases/move-phase"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; const namespace = "mysteryEncounters/theStrongStuff"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("The Strong Stuff - Mystery Encounter", () => { @@ -52,13 +52,13 @@ describe("The Strong Stuff - Mystery Encounter", () => { .startingWave(defaultWave) .startingBiome(defaultBiome) .disableTrainerWaves() - .enemyAbility(Abilities.BALL_FETCH) - .enemyPassiveAbility(Abilities.BALL_FETCH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyPassiveAbility(AbilityId.BALL_FETCH); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([ - [Biome.CAVE, [MysteryEncounterType.THE_STRONG_STUFF]], - [Biome.MOUNTAIN, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], + new Map([ + [BiomeId.CAVE, [MysteryEncounterType.THE_STRONG_STUFF]], + [BiomeId.MOUNTAIN, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], ]), ); }); @@ -84,7 +84,7 @@ describe("The Strong Stuff - Mystery Encounter", () => { it("should not spawn outside of CAVE biome", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON); - game.override.startingBiome(Biome.MOUNTAIN); + game.override.startingBiome(BiomeId.MOUNTAIN); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.THE_STRONG_STUFF); @@ -109,13 +109,13 @@ describe("The Strong Stuff - Mystery Encounter", () => { disableSwitch: true, pokemonConfigs: [ { - species: getPokemonSpecies(Species.SHUCKLE), + species: getPokemonSpecies(SpeciesId.SHUCKLE), isBoss: true, bossSegments: 5, shiny: false, customPokemonData: new CustomPokemonData({ spriteScale: 1.25 }), nature: Nature.HARDY, - moveSet: [Moves.INFESTATION, Moves.SALT_CURE, Moves.GASTRO_ACID, Moves.HEAL_ORDER], + moveSet: [MoveId.INFESTATION, MoveId.SALT_CURE, MoveId.GASTRO_ACID, MoveId.HEAL_ORDER], modifierConfigs: expect.any(Array), tags: [BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON], mysteryEncounterBattleEffects: expect.any(Function), @@ -197,7 +197,7 @@ describe("The Strong Stuff - Mystery Encounter", () => { const enemyField = scene.getEnemyField(); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyField.length).toBe(1); - expect(enemyField[0].species.speciesId).toBe(Species.SHUCKLE); + expect(enemyField[0].species.speciesId).toBe(SpeciesId.SHUCKLE); expect(enemyField[0].summonData.statStages).toEqual([0, 1, 0, 1, 0, 0, 0]); const shuckleItems = enemyField[0].getHeldItems(); expect(shuckleItems.length).toBe(5); @@ -215,17 +215,17 @@ describe("The Strong Stuff - Mystery Encounter", () => { ); expect(shuckleItems.find(m => m instanceof BerryModifier && m.berryType === BerryType.LUM)?.stackCount).toBe(2); expect(enemyField[0].moveset).toEqual([ - new PokemonMove(Moves.INFESTATION), - new PokemonMove(Moves.SALT_CURE), - new PokemonMove(Moves.GASTRO_ACID), - new PokemonMove(Moves.HEAL_ORDER), + new PokemonMove(MoveId.INFESTATION), + new PokemonMove(MoveId.SALT_CURE), + new PokemonMove(MoveId.GASTRO_ACID), + new PokemonMove(MoveId.HEAL_ORDER), ]); // Should have used moves pre-battle const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(2); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.GASTRO_ACID).length).toBe(1); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.STEALTH_ROCK).length).toBe(1); + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.GASTRO_ACID).length).toBe(1); + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.STEALTH_ROCK).length).toBe(1); }); it("should have Soul Dew in rewards", async () => { diff --git a/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts b/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts index 4cb712ce779..57b6e881683 100644 --- a/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-winstrate-challenge-encounter.test.ts @@ -1,8 +1,8 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; import { HUMAN_TRANSITABLE_BIOMES } from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { runMysteryEncounterToEnd } from "#test/mystery-encounter/encounter-test-utils"; @@ -16,7 +16,7 @@ import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { TrainerType } from "#enums/trainer-type"; import { Nature } from "#enums/nature"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { getPokemonSpecies } from "#app/data/pokemon-species"; import { TheWinstrateChallengeEncounter } from "#app/data/mystery-encounters/encounters/the-winstrate-challenge-encounter"; import { Status } from "#app/data/status-effect"; @@ -28,8 +28,8 @@ import { VictoryPhase } from "#app/phases/victory-phase"; import { StatusEffect } from "#enums/status-effect"; const namespace = "mysteryEncounters/theWinstrateChallenge"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("The Winstrate Challenge - Mystery Encounter", () => { @@ -49,7 +49,9 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { game.override.startingBiome(defaultBiome); game.override.disableTrainerWaves(); - const biomeMap = new Map([[Biome.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]]]); + const biomeMap = new Map([ + [BiomeId.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]], + ]); HUMAN_TRANSITABLE_BIOMES.forEach(biome => { biomeMap.set(biome, [MysteryEncounterType.THE_WINSTRATE_CHALLENGE]); }); @@ -85,7 +87,7 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { it("should not spawn outside of HUMAN_TRANSITABLE_BIOMES", async () => { game.override.mysteryEncounterTier(MysteryEncounterTier.GREAT); - game.override.startingBiome(Biome.VOLCANO); + game.override.startingBiome(BiomeId.VOLCANO); await game.runToMysteryEncounter(); expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.THE_WINSTRATE_CHALLENGE); @@ -111,43 +113,43 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { trainerType: TrainerType.VITO, pokemonConfigs: [ { - species: getPokemonSpecies(Species.HISUI_ELECTRODE), + species: getPokemonSpecies(SpeciesId.HISUI_ELECTRODE), isBoss: false, abilityIndex: 0, // Soundproof nature: Nature.MODEST, - moveSet: [Moves.THUNDERBOLT, Moves.GIGA_DRAIN, Moves.FOUL_PLAY, Moves.THUNDER_WAVE], + moveSet: [MoveId.THUNDERBOLT, MoveId.GIGA_DRAIN, MoveId.FOUL_PLAY, MoveId.THUNDER_WAVE], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.SWALOT), + species: getPokemonSpecies(SpeciesId.SWALOT), isBoss: false, abilityIndex: 2, // Gluttony nature: Nature.QUIET, - moveSet: [Moves.SLUDGE_BOMB, Moves.GIGA_DRAIN, Moves.ICE_BEAM, Moves.EARTHQUAKE], + moveSet: [MoveId.SLUDGE_BOMB, MoveId.GIGA_DRAIN, MoveId.ICE_BEAM, MoveId.EARTHQUAKE], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.DODRIO), + species: getPokemonSpecies(SpeciesId.DODRIO), isBoss: false, abilityIndex: 2, // Tangled Feet nature: Nature.JOLLY, - moveSet: [Moves.DRILL_PECK, Moves.QUICK_ATTACK, Moves.THRASH, Moves.KNOCK_OFF], + moveSet: [MoveId.DRILL_PECK, MoveId.QUICK_ATTACK, MoveId.THRASH, MoveId.KNOCK_OFF], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.ALAKAZAM), + species: getPokemonSpecies(SpeciesId.ALAKAZAM), isBoss: false, formIndex: 1, nature: Nature.BOLD, - moveSet: [Moves.PSYCHIC, Moves.SHADOW_BALL, Moves.FOCUS_BLAST, Moves.THUNDERBOLT], + moveSet: [MoveId.PSYCHIC, MoveId.SHADOW_BALL, MoveId.FOCUS_BLAST, MoveId.THUNDERBOLT], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.DARMANITAN), + species: getPokemonSpecies(SpeciesId.DARMANITAN), isBoss: false, abilityIndex: 0, // Sheer Force nature: Nature.IMPISH, - moveSet: [Moves.EARTHQUAKE, Moves.U_TURN, Moves.FLARE_BLITZ, Moves.ROCK_SLIDE], + moveSet: [MoveId.EARTHQUAKE, MoveId.U_TURN, MoveId.FLARE_BLITZ, MoveId.ROCK_SLIDE], modifierConfigs: expect.any(Array), }, ], @@ -156,11 +158,11 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { trainerType: TrainerType.VICKY, pokemonConfigs: [ { - species: getPokemonSpecies(Species.MEDICHAM), + species: getPokemonSpecies(SpeciesId.MEDICHAM), isBoss: false, formIndex: 1, nature: Nature.IMPISH, - moveSet: [Moves.AXE_KICK, Moves.ICE_PUNCH, Moves.ZEN_HEADBUTT, Moves.BULLET_PUNCH], + moveSet: [MoveId.AXE_KICK, MoveId.ICE_PUNCH, MoveId.ZEN_HEADBUTT, MoveId.BULLET_PUNCH], modifierConfigs: expect.any(Array), }, ], @@ -169,27 +171,27 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { trainerType: TrainerType.VIVI, pokemonConfigs: [ { - species: getPokemonSpecies(Species.SEAKING), + species: getPokemonSpecies(SpeciesId.SEAKING), isBoss: false, abilityIndex: 3, // Lightning Rod nature: Nature.ADAMANT, - moveSet: [Moves.WATERFALL, Moves.MEGAHORN, Moves.KNOCK_OFF, Moves.REST], + moveSet: [MoveId.WATERFALL, MoveId.MEGAHORN, MoveId.KNOCK_OFF, MoveId.REST], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.BRELOOM), + species: getPokemonSpecies(SpeciesId.BRELOOM), isBoss: false, abilityIndex: 1, // Poison Heal nature: Nature.JOLLY, - moveSet: [Moves.SPORE, Moves.SWORDS_DANCE, Moves.SEED_BOMB, Moves.DRAIN_PUNCH], + moveSet: [MoveId.SPORE, MoveId.SWORDS_DANCE, MoveId.SEED_BOMB, MoveId.DRAIN_PUNCH], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.CAMERUPT), + species: getPokemonSpecies(SpeciesId.CAMERUPT), isBoss: false, formIndex: 1, nature: Nature.CALM, - moveSet: [Moves.EARTH_POWER, Moves.FIRE_BLAST, Moves.YAWN, Moves.PROTECT], + moveSet: [MoveId.EARTH_POWER, MoveId.FIRE_BLAST, MoveId.YAWN, MoveId.PROTECT], modifierConfigs: expect.any(Array), }, ], @@ -198,19 +200,19 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { trainerType: TrainerType.VICTORIA, pokemonConfigs: [ { - species: getPokemonSpecies(Species.ROSERADE), + species: getPokemonSpecies(SpeciesId.ROSERADE), isBoss: false, abilityIndex: 0, // Natural Cure nature: Nature.CALM, - moveSet: [Moves.SYNTHESIS, Moves.SLUDGE_BOMB, Moves.GIGA_DRAIN, Moves.SLEEP_POWDER], + moveSet: [MoveId.SYNTHESIS, MoveId.SLUDGE_BOMB, MoveId.GIGA_DRAIN, MoveId.SLEEP_POWDER], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.GARDEVOIR), + species: getPokemonSpecies(SpeciesId.GARDEVOIR), isBoss: false, formIndex: 1, nature: Nature.TIMID, - moveSet: [Moves.PSYSHOCK, Moves.MOONBLAST, Moves.SHADOW_BALL, Moves.WILL_O_WISP], + moveSet: [MoveId.PSYSHOCK, MoveId.MOONBLAST, MoveId.SHADOW_BALL, MoveId.WILL_O_WISP], modifierConfigs: expect.any(Array), }, ], @@ -219,19 +221,19 @@ describe("The Winstrate Challenge - Mystery Encounter", () => { trainerType: TrainerType.VICTOR, pokemonConfigs: [ { - species: getPokemonSpecies(Species.SWELLOW), + species: getPokemonSpecies(SpeciesId.SWELLOW), isBoss: false, abilityIndex: 0, // Guts nature: Nature.ADAMANT, - moveSet: [Moves.FACADE, Moves.BRAVE_BIRD, Moves.PROTECT, Moves.QUICK_ATTACK], + moveSet: [MoveId.FACADE, MoveId.BRAVE_BIRD, MoveId.PROTECT, MoveId.QUICK_ATTACK], modifierConfigs: expect.any(Array), }, { - species: getPokemonSpecies(Species.OBSTAGOON), + species: getPokemonSpecies(SpeciesId.OBSTAGOON), isBoss: false, abilityIndex: 1, // Guts nature: Nature.ADAMANT, - moveSet: [Moves.FACADE, Moves.OBSTRUCT, Moves.NIGHT_SLASH, Moves.FIRE_PUNCH], + moveSet: [MoveId.FACADE, MoveId.OBSTRUCT, MoveId.NIGHT_SLASH, MoveId.FIRE_PUNCH], modifierConfigs: expect.any(Array), }, ], diff --git a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts index 2f910a9250f..94011b4b01d 100644 --- a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts +++ b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts @@ -9,9 +9,9 @@ import { generateModifierType, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { getPokemonSpecies } from "#app/data/pokemon-species"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import { PokemonMove } from "#app/field/pokemon"; import { HealShopCostModifier, HitHealModifier, TurnHealModifier } from "#app/modifier/modifier"; import { ModifierTier } from "#app/modifier/modifier-tier"; @@ -22,7 +22,7 @@ import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { UiMode } from "#enums/ui-mode"; import * as Utils from "#app/utils/common"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { @@ -34,8 +34,8 @@ import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; const namespace = "mysteryEncounters/trashToTreasure"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Trash to Treasure - Mystery Encounter", () => { @@ -56,7 +56,7 @@ describe("Trash to Treasure - Mystery Encounter", () => { game.override.disableTrainerWaves(); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.TRASH_TO_TREASURE]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.TRASH_TO_TREASURE]]]), ); }); @@ -93,14 +93,14 @@ describe("Trash to Treasure - Mystery Encounter", () => { TrashToTreasureEncounter.populateDialogueTokensFromRequirements(); const onInitResult = onInit!(); - const bossSpecies = getPokemonSpecies(Species.GARBODOR); + const bossSpecies = getPokemonSpecies(SpeciesId.GARBODOR); const pokemonConfig: EnemyPokemonConfig = { species: bossSpecies, isBoss: true, shiny: false, // Shiny lock because of custom intro sprite formIndex: 1, // Gmax bossSegmentModifier: 1, // +1 Segment from normal - moveSet: [Moves.GUNK_SHOT, Moves.STOMPING_TANTRUM, Moves.HAMMER_ARM, Moves.PAYBACK], + moveSet: [MoveId.GUNK_SHOT, MoveId.STOMPING_TANTRUM, MoveId.HAMMER_ARM, MoveId.PAYBACK], modifierConfigs: [ { modifier: generateModifierType(modifierTypes.BERRY) as PokemonHeldItemModifierType, @@ -223,19 +223,19 @@ describe("Trash to Treasure - Mystery Encounter", () => { const enemyField = scene.getEnemyField(); expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name); expect(enemyField.length).toBe(1); - expect(enemyField[0].species.speciesId).toBe(Species.GARBODOR); + expect(enemyField[0].species.speciesId).toBe(SpeciesId.GARBODOR); expect(enemyField[0].moveset).toEqual([ - new PokemonMove(Moves.GUNK_SHOT), - new PokemonMove(Moves.STOMPING_TANTRUM), - new PokemonMove(Moves.HAMMER_ARM), - new PokemonMove(Moves.PAYBACK), + new PokemonMove(MoveId.GUNK_SHOT), + new PokemonMove(MoveId.STOMPING_TANTRUM), + new PokemonMove(MoveId.HAMMER_ARM), + new PokemonMove(MoveId.PAYBACK), ]); // Should have used moves pre-battle const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(2); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.TOXIC).length).toBe(1); - expect(movePhases.filter(p => (p as MovePhase).move.moveId === Moves.STOCKPILE).length).toBe(1); + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.TOXIC).length).toBe(1); + expect(movePhases.filter(p => (p as MovePhase).move.moveId === MoveId.STOCKPILE).length).toBe(1); }); it("should have 2 Rogue, 1 Ultra, 1 Great in rewards", async () => { diff --git a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts index 452dfcf3784..4fb0a231853 100644 --- a/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts +++ b/test/mystery-encounter/encounters/uncommon-breed-encounter.test.ts @@ -1,14 +1,14 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { runMysteryEncounterToEnd, runSelectMysteryEncounterOption, } from "#test/mystery-encounter/encounter-test-utils"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import type BattleScene from "#app/battle-scene"; import { PokemonMove } from "#app/field/pokemon"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; @@ -27,11 +27,11 @@ import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase"; import { Stat } from "#enums/stat"; import type { BerryModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; const namespace = "mysteryEncounters/uncommonBreed"; -const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.LAPRAS, SpeciesId.GENGAR, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Uncommon Breed - Mystery Encounter", () => { @@ -52,11 +52,11 @@ describe("Uncommon Breed - Mystery Encounter", () => { .startingWave(defaultWave) .startingBiome(defaultBiome) .disableTrainerWaves() - .enemyAbility(Abilities.BALL_FETCH) - .enemyPassiveAbility(Abilities.BALL_FETCH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyPassiveAbility(AbilityId.BALL_FETCH); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.UNCOMMON_BREED]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.UNCOMMON_BREED]]]), ); }); @@ -133,7 +133,7 @@ describe("Uncommon Breed - Mystery Encounter", () => { // Should have used its egg move pre-battle const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(1); - const eggMoves: Moves[] = speciesEggMoves[getPokemonSpecies(speciesToSpawn).getRootSpeciesId()]; + const eggMoves: MoveId[] = speciesEggMoves[getPokemonSpecies(speciesToSpawn).getRootSpeciesId()]; const usedMove = (movePhases[0] as MovePhase).move.moveId; expect(eggMoves.includes(usedMove)).toBe(true); }); @@ -160,7 +160,7 @@ describe("Uncommon Breed - Mystery Encounter", () => { // Should have used its egg move pre-battle const movePhases = phaseSpy.mock.calls.filter(p => p[0] instanceof MovePhase).map(p => p[0]); expect(movePhases.length).toBe(1); - const eggMoves: Moves[] = speciesEggMoves[getPokemonSpecies(speciesToSpawn).getRootSpeciesId()]; + const eggMoves: MoveId[] = speciesEggMoves[getPokemonSpecies(speciesToSpawn).getRootSpeciesId()]; const usedMove = (movePhases[0] as MovePhase).move.moveId; expect(eggMoves.includes(usedMove)).toBe(true); }); @@ -272,7 +272,7 @@ describe("Uncommon Breed - Mystery Encounter", () => { const leaveEncounterWithoutBattleSpy = vi.spyOn(EncounterPhaseUtils, "leaveEncounterWithoutBattle"); await game.runToMysteryEncounter(MysteryEncounterType.UNCOMMON_BREED, defaultParty); // Mock moveset - scene.getPlayerParty()[0].moveset = [new PokemonMove(Moves.CHARM)]; + scene.getPlayerParty()[0].moveset = [new PokemonMove(MoveId.CHARM)]; await runMysteryEncounterToEnd(game, 3); expect(leaveEncounterWithoutBattleSpy).toBeCalled(); diff --git a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts index f51ab45e4d4..163a15a715f 100644 --- a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts +++ b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts @@ -1,7 +1,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encounters"; -import { Biome } from "#app/enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; @@ -22,8 +22,8 @@ import { CommandPhase } from "#app/phases/command-phase"; import { ModifierTier } from "#app/modifier/modifier-tier"; const namespace = "mysteryEncounters/weirdDream"; -const defaultParty = [Species.MAGBY, Species.HAUNTER, Species.ABRA]; -const defaultBiome = Biome.CAVE; +const defaultParty = [SpeciesId.MAGBY, SpeciesId.HAUNTER, SpeciesId.ABRA]; +const defaultBiome = BiomeId.CAVE; const defaultWave = 45; describe("Weird Dream - Mystery Encounter", () => { @@ -47,7 +47,7 @@ describe("Weird Dream - Mystery Encounter", () => { ); vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue( - new Map([[Biome.CAVE, [MysteryEncounterType.WEIRD_DREAM]]]), + new Map([[BiomeId.CAVE, [MysteryEncounterType.WEIRD_DREAM]]]), ); }); diff --git a/test/mystery-encounter/mystery-encounter-utils.test.ts b/test/mystery-encounter/mystery-encounter-utils.test.ts index 1c4a2cf89bd..cd29a203e62 100644 --- a/test/mystery-encounter/mystery-encounter-utils.test.ts +++ b/test/mystery-encounter/mystery-encounter-utils.test.ts @@ -18,7 +18,7 @@ import { getPokemonSpecies } from "#app/data/pokemon-species"; import { PokemonType } from "#enums/pokemon-type"; import { MessagePhase } from "#app/phases/message-phase"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; import Phaser from "phaser"; @@ -42,7 +42,7 @@ describe("Mystery Encounter Utils", () => { beforeEach(() => { game = new GameManager(phaserGame); scene = game.scene; - initSceneWithoutEncounterPhase(game.scene, [Species.ARCEUS, Species.MANAPHY]); + initSceneWithoutEncounterPhase(game.scene, [SpeciesId.ARCEUS, SpeciesId.MANAPHY]); }); describe("getRandomPlayerPokemon", () => { @@ -51,12 +51,12 @@ describe("Mystery Encounter Utils", () => { game.override.seed("random"); let result = getRandomPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); game.override.seed("random2"); result = getRandomPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); }); it("gets a fainted pokemon from player party if isAllowedInBattle is false", async () => { @@ -71,12 +71,12 @@ describe("Mystery Encounter Utils", () => { game.override.seed("random"); let result = getRandomPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); game.override.seed("random2"); result = getRandomPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); }); it("gets an unfainted legal pokemon from player party if isAllowed is true and isFainted is false", async () => { @@ -90,12 +90,12 @@ describe("Mystery Encounter Utils", () => { game.override.seed("random"); let result = getRandomPlayerPokemon(true); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); game.override.seed("random2"); result = getRandomPlayerPokemon(true); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); }); it("returns last unfainted pokemon if doNotReturnLastAbleMon is false", async () => { @@ -109,12 +109,12 @@ describe("Mystery Encounter Utils", () => { game.override.seed("random"); let result = getRandomPlayerPokemon(true, false); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); game.override.seed("random2"); result = getRandomPlayerPokemon(true, false); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); }); it("never returns last unfainted pokemon if doNotReturnLastAbleMon is true", async () => { @@ -128,12 +128,12 @@ describe("Mystery Encounter Utils", () => { game.override.seed("random"); let result = getRandomPlayerPokemon(true, false, true); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); game.override.seed("random2"); result = getRandomPlayerPokemon(true, false, true); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); }); }); @@ -143,7 +143,7 @@ describe("Mystery Encounter Utils", () => { party[0].level = 100; const result = getHighestLevelPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); }); it("gets highest level pokemon at different index", () => { @@ -151,7 +151,7 @@ describe("Mystery Encounter Utils", () => { party[1].level = 100; const result = getHighestLevelPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); }); it("breaks ties by getting returning lower index", () => { @@ -160,7 +160,7 @@ describe("Mystery Encounter Utils", () => { party[1].level = 100; const result = getHighestLevelPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); }); it("returns highest level unfainted if unfainted is true", async () => { @@ -172,7 +172,7 @@ describe("Mystery Encounter Utils", () => { party[1].level = 10; const result = getHighestLevelPlayerPokemon(true); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); }); }); @@ -182,7 +182,7 @@ describe("Mystery Encounter Utils", () => { party[0].level = 100; const result = getLowestLevelPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); }); it("gets lowest level pokemon at different index", () => { @@ -190,7 +190,7 @@ describe("Mystery Encounter Utils", () => { party[1].level = 100; const result = getLowestLevelPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); }); it("breaks ties by getting returning lower index", () => { @@ -199,7 +199,7 @@ describe("Mystery Encounter Utils", () => { party[1].level = 100; const result = getLowestLevelPlayerPokemon(); - expect(result.species.speciesId).toBe(Species.ARCEUS); + expect(result.species.speciesId).toBe(SpeciesId.ARCEUS); }); it("returns lowest level unfainted if unfainted is true", async () => { @@ -211,7 +211,7 @@ describe("Mystery Encounter Utils", () => { party[1].level = 100; const result = getLowestLevelPlayerPokemon(true); - expect(result.species.speciesId).toBe(Species.MANAPHY); + expect(result.species.speciesId).toBe(SpeciesId.MANAPHY); }); }); @@ -236,23 +236,23 @@ describe("Mystery Encounter Utils", () => { it("excludes species from search", () => { // Only 9 tiers are: Kyogre, Groudon, Rayquaza, Arceus, Zacian, Koraidon, Miraidon, Terapagos const result = getRandomSpeciesByStarterCost(9, [ - Species.KYOGRE, - Species.GROUDON, - Species.RAYQUAZA, - Species.ARCEUS, - Species.KORAIDON, - Species.MIRAIDON, - Species.TERAPAGOS, + SpeciesId.KYOGRE, + SpeciesId.GROUDON, + SpeciesId.RAYQUAZA, + SpeciesId.ARCEUS, + SpeciesId.KORAIDON, + SpeciesId.MIRAIDON, + SpeciesId.TERAPAGOS, ]); const pokeSpecies = getPokemonSpecies(result); - expect(pokeSpecies.speciesId).toBe(Species.ZACIAN); + expect(pokeSpecies.speciesId).toBe(SpeciesId.ZACIAN); }); it("gets species of specified types", () => { // Only 9 tiers are: Kyogre, Groudon, Rayquaza, Arceus, Zacian, Koraidon, Miraidon, Terapagos const result = getRandomSpeciesByStarterCost(9, undefined, [PokemonType.GROUND]); const pokeSpecies = getPokemonSpecies(result); - expect(pokeSpecies.speciesId).toBe(Species.GROUDON); + expect(pokeSpecies.speciesId).toBe(SpeciesId.GROUDON); }); }); diff --git a/test/mystery-encounter/mystery-encounter.test.ts b/test/mystery-encounter/mystery-encounter.test.ts index c9d31f28717..19dd17d5381 100644 --- a/test/mystery-encounter/mystery-encounter.test.ts +++ b/test/mystery-encounter/mystery-encounter.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeAll, beforeEach, expect, describe, it } from "vitest"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import type BattleScene from "#app/battle-scene"; @@ -30,8 +30,8 @@ describe("Mystery Encounters", () => { it("Spawns a mystery encounter", async () => { await game.runToMysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS, [ - Species.CHARIZARD, - Species.VOLCARONA, + SpeciesId.CHARIZARD, + SpeciesId.VOLCARONA, ]); await game.phaseInterceptor.to(MysteryEncounterPhase, false); diff --git a/test/phases/form-change-phase.test.ts b/test/phases/form-change-phase.test.ts index 974c64d9e5a..8531375a48b 100644 --- a/test/phases/form-change-phase.test.ts +++ b/test/phases/form-change-phase.test.ts @@ -1,6 +1,6 @@ -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -25,17 +25,17 @@ describe("Form Change Phase", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemySpecies(Species.MAGIKARP) - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemySpecies(SpeciesId.MAGIKARP) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); it("Zacian should successfully change into Crowned form", async () => { - await game.classicMode.startBattle([Species.ZACIAN]); + await game.classicMode.startBattle([SpeciesId.ZACIAN]); // Before the form change: Should be Hero form const zacian = game.scene.getPlayerParty()[0]; @@ -48,7 +48,7 @@ describe("Form Change Phase", () => { const rustedSword = rustedSwordType.newModifier(zacian); await game.scene.addModifier(rustedSword); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.toNextTurn(); // After the form change: Should be Crowned form diff --git a/test/phases/frenzy-move-reset.test.ts b/test/phases/frenzy-move-reset.test.ts index 6d3ec767722..1879a14d301 100644 --- a/test/phases/frenzy-move-reset.test.ts +++ b/test/phases/frenzy-move-reset.test.ts @@ -1,9 +1,9 @@ import { BattlerIndex } from "#app/battle"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { BattlerTagType } from "#enums/battler-tag-type"; import { StatusEffect } from "#enums/status-effect"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, it, expect } from "vitest"; @@ -27,13 +27,13 @@ describe("Frenzy Move Reset", () => { game.override .battleStyle("single") .disableCrits() - .starterSpecies(Species.MAGIKARP) - .moveset(Moves.THRASH) + .starterSpecies(SpeciesId.MAGIKARP) + .moveset(MoveId.THRASH) .statusEffect(StatusEffect.PARALYSIS) - .enemyMoveset(Moves.SPLASH) + .enemyMoveset(MoveId.SPLASH) .enemyLevel(100) - .enemySpecies(Species.SHUCKLE) - .enemyAbility(Abilities.BALL_FETCH); + .enemySpecies(SpeciesId.SHUCKLE) + .enemyAbility(AbilityId.BALL_FETCH); }); /* @@ -54,7 +54,7 @@ describe("Frenzy Move Reset", () => { const playerPokemon = game.scene.getPlayerPokemon()!; - game.move.select(Moves.THRASH); + game.move.select(MoveId.THRASH); await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); await game.move.forceStatusActivation(false); await game.toNextTurn(); diff --git a/test/phases/game-over-phase.test.ts b/test/phases/game-over-phase.test.ts index 40473a022cb..c430223b774 100644 --- a/test/phases/game-over-phase.test.ts +++ b/test/phases/game-over-phase.test.ts @@ -1,7 +1,7 @@ -import { Biome } from "#enums/biome"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { BiomeId } from "#enums/biome-id"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -25,28 +25,28 @@ describe("Game Over Phase", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.MEMENTO, Moves.ICE_BEAM, Moves.SPLASH]) - .ability(Abilities.BALL_FETCH) + .moveset([MoveId.MEMENTO, MoveId.ICE_BEAM, MoveId.SPLASH]) + .ability(AbilityId.BALL_FETCH) .battleStyle("single") .disableCrits() - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) .startingWave(200) - .startingBiome(Biome.END) + .startingBiome(BiomeId.END) .startingLevel(10000); }); it("winning a run should give rewards", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); vi.spyOn(game.scene, "validateAchv"); // Note: `game.doKillOpponents()` does not properly handle final boss // Final boss phase 1 - game.move.select(Moves.ICE_BEAM); + game.move.select(MoveId.ICE_BEAM); await game.toNextTurn(); // Final boss phase 2 - game.move.select(Moves.ICE_BEAM); + game.move.select(MoveId.ICE_BEAM); await game.phaseInterceptor.to("PostGameOverPhase", false); // The game refused to actually give the vouchers during tests, @@ -60,10 +60,10 @@ describe("Game Over Phase", () => { }); it("losing a run should not give rewards", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); vi.spyOn(game.scene, "validateAchv"); - game.move.select(Moves.MEMENTO); + game.move.select(MoveId.MEMENTO); await game.phaseInterceptor.to("PostGameOverPhase", false); expect(game.phaseInterceptor.log.includes("GameOverPhase")).toBe(true); diff --git a/test/phases/learn-move-phase.test.ts b/test/phases/learn-move-phase.test.ts index b8b718a9669..88b8187069b 100644 --- a/test/phases/learn-move-phase.test.ts +++ b/test/phases/learn-move-phase.test.ts @@ -1,8 +1,8 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; import GameManager from "#test/testUtils/gameManager"; -import { Species } from "#enums/species"; -import { Moves } from "#enums/moves"; +import { SpeciesId } from "#enums/species-id"; +import { MoveId } from "#enums/move-id"; import { LearnMovePhase } from "#app/phases/learn-move-phase"; import { UiMode } from "#enums/ui-mode"; import { Button } from "#app/enums/buttons"; @@ -27,11 +27,11 @@ describe("Learn Move Phase", () => { }); it("If Pokemon has less than 4 moves, its newest move will be added to the lowest empty index", async () => { - game.override.moveset([Moves.SPLASH]); - await game.classicMode.startBattle([Species.BULBASAUR]); + game.override.moveset([MoveId.SPLASH]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const pokemon = game.scene.getPlayerPokemon()!; const newMovePos = pokemon?.getMoveset().length; - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to(LearnMovePhase); const levelMove = pokemon.getLevelMoves(5)[0]; @@ -42,13 +42,13 @@ describe("Learn Move Phase", () => { }); it("If a pokemon has 4 move slots filled, the chosen move will be deleted and replaced", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const bulbasaur = game.scene.getPlayerPokemon()!; - const prevMoveset = [Moves.SPLASH, Moves.ABSORB, Moves.ACID, Moves.VINE_WHIP]; + const prevMoveset = [MoveId.SPLASH, MoveId.ABSORB, MoveId.ACID, MoveId.VINE_WHIP]; const moveSlotNum = 3; game.move.changeMoveset(bulbasaur, prevMoveset); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); // queue up inputs to confirm dialog boxes @@ -67,18 +67,18 @@ describe("Learn Move Phase", () => { expect(bulbasaur.level).toBeGreaterThanOrEqual(levelReq); // Check each of mr mime's moveslots to make sure the changed move (and ONLY the changed move) is different bulbasaur.getMoveset().forEach((move, index) => { - const expectedMove: Moves = index === moveSlotNum ? levelMoveId : prevMoveset[index]; + const expectedMove: MoveId = index === moveSlotNum ? levelMoveId : prevMoveset[index]; expect(move?.moveId).toBe(expectedMove); }); }); it("selecting the newly deleted move will reject it and keep old moveset", async () => { - await game.classicMode.startBattle([Species.BULBASAUR]); + await game.classicMode.startBattle([SpeciesId.BULBASAUR]); const bulbasaur = game.scene.getPlayerPokemon()!; - const prevMoveset = [Moves.SPLASH, Moves.ABSORB, Moves.ACID, Moves.VINE_WHIP]; + const prevMoveset = [MoveId.SPLASH, MoveId.ABSORB, MoveId.ACID, MoveId.VINE_WHIP]; - game.move.changeMoveset(bulbasaur, [Moves.SPLASH, Moves.ABSORB, Moves.ACID, Moves.VINE_WHIP]); - game.move.select(Moves.SPLASH); + game.move.changeMoveset(bulbasaur, [MoveId.SPLASH, MoveId.ABSORB, MoveId.ACID, MoveId.VINE_WHIP]); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); // queue up inputs to confirm dialog boxes diff --git a/test/phases/mystery-encounter-phase.test.ts b/test/phases/mystery-encounter-phase.test.ts index 34078b65039..ece5a221e00 100644 --- a/test/phases/mystery-encounter-phase.test.ts +++ b/test/phases/mystery-encounter-phase.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeAll, beforeEach, expect, describe, it, vi } from "vitest"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { MysteryEncounterOptionSelectedPhase, MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { UiMode } from "#enums/ui-mode"; import { Button } from "#enums/buttons"; @@ -36,8 +36,8 @@ describe("Mystery Encounter Phases", () => { describe("MysteryEncounterPhase", () => { it("Runs to MysteryEncounterPhase", async () => { await game.runToMysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS, [ - Species.CHARIZARD, - Species.VOLCARONA, + SpeciesId.CHARIZARD, + SpeciesId.VOLCARONA, ]); await game.phaseInterceptor.to(MysteryEncounterPhase, false); @@ -46,8 +46,8 @@ describe("Mystery Encounter Phases", () => { it("Runs MysteryEncounterPhase", async () => { await game.runToMysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS, [ - Species.CHARIZARD, - Species.VOLCARONA, + SpeciesId.CHARIZARD, + SpeciesId.VOLCARONA, ]); game.onNextPrompt("MysteryEncounterPhase", UiMode.MYSTERY_ENCOUNTER, () => { @@ -69,8 +69,8 @@ describe("Mystery Encounter Phases", () => { vi.spyOn(ui, "showDialogue"); vi.spyOn(ui, "showText"); await game.runToMysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS, [ - Species.CHARIZARD, - Species.VOLCARONA, + SpeciesId.CHARIZARD, + SpeciesId.VOLCARONA, ]); game.onNextPrompt("MysteryEncounterPhase", UiMode.MESSAGE, () => { diff --git a/test/phases/select-modifier-phase.test.ts b/test/phases/select-modifier-phase.test.ts index 85f8b472c4a..72496d5f17b 100644 --- a/test/phases/select-modifier-phase.test.ts +++ b/test/phases/select-modifier-phase.test.ts @@ -8,10 +8,10 @@ import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import { UiMode } from "#enums/ui-mode"; import { shiftCharCodes } from "#app/utils/common"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Button } from "#enums/buttons"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; import Phaser from "phaser"; @@ -33,10 +33,10 @@ describe("SelectModifierPhase", () => { scene = game.scene; game.override - .moveset([Moves.FISSURE, Moves.SPLASH]) - .ability(Abilities.NO_GUARD) + .moveset([MoveId.FISSURE, MoveId.SPLASH]) + .ability(AbilityId.NO_GUARD) .startingLevel(200) - .enemySpecies(Species.MAGIKARP); + .enemySpecies(SpeciesId.MAGIKARP); }); afterEach(() => { @@ -46,7 +46,7 @@ describe("SelectModifierPhase", () => { }); it("should start a select modifier phase", async () => { - initSceneWithoutEncounterPhase(scene, [Species.ABRA, Species.VOLCARONA]); + initSceneWithoutEncounterPhase(scene, [SpeciesId.ABRA, SpeciesId.VOLCARONA]); const selectModifierPhase = new SelectModifierPhase(); scene.unshiftPhase(selectModifierPhase); await game.phaseInterceptor.to(SelectModifierPhase); @@ -55,8 +55,8 @@ describe("SelectModifierPhase", () => { }); it("should generate random modifiers", async () => { - await game.classicMode.startBattle([Species.ABRA, Species.VOLCARONA]); - game.move.select(Moves.FISSURE); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.VOLCARONA]); + game.move.select(MoveId.FISSURE); await game.phaseInterceptor.to("SelectModifierPhase"); expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); @@ -67,7 +67,7 @@ describe("SelectModifierPhase", () => { }); it("should modify reroll cost", async () => { - initSceneWithoutEncounterPhase(scene, [Species.ABRA, Species.VOLCARONA]); + initSceneWithoutEncounterPhase(scene, [SpeciesId.ABRA, SpeciesId.VOLCARONA]); const options = [ new ModifierTypeOption(modifierTypes.POTION(), 0, 100), new ModifierTypeOption(modifierTypes.ETHER(), 0, 400), @@ -88,11 +88,11 @@ describe("SelectModifierPhase", () => { }); it.todo("should generate random modifiers from reroll", async () => { - await game.classicMode.startBattle([Species.ABRA, Species.VOLCARONA]); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.VOLCARONA]); scene.money = 1000000; scene.shopCursorTarget = 0; - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); await game.phaseInterceptor.to("SelectModifierPhase"); // TODO: nagivate the ui to reroll somehow @@ -112,7 +112,7 @@ describe("SelectModifierPhase", () => { it.todo("should generate random modifiers of same tier for reroll with reroll lock", async () => { game.override.startingModifier([{ name: "LOCK_CAPSULE" }]); - await game.classicMode.startBattle([Species.ABRA, Species.VOLCARONA]); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.VOLCARONA]); scene.money = 1000000; // Just use fully random seed for this test vi.spyOn(scene, "resetSeed").mockImplementation(() => { @@ -122,7 +122,7 @@ describe("SelectModifierPhase", () => { scene.rngCounter = 0; }); - game.move.select(Moves.FISSURE); + game.move.select(MoveId.FISSURE); await game.phaseInterceptor.to("SelectModifierPhase"); expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); @@ -152,7 +152,7 @@ describe("SelectModifierPhase", () => { }); it("should generate custom modifiers", async () => { - await game.classicMode.startBattle([Species.ABRA, Species.VOLCARONA]); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.VOLCARONA]); scene.money = 1000000; const customModifiers: CustomModifierSettings = { guaranteedModifierTypeFuncs: [ @@ -165,7 +165,7 @@ describe("SelectModifierPhase", () => { }; const selectModifierPhase = new SelectModifierPhase(0, undefined, customModifiers); scene.unshiftPhase(selectModifierPhase); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("SelectModifierPhase"); expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); @@ -181,7 +181,7 @@ describe("SelectModifierPhase", () => { }); it("should generate custom modifier tiers that can upgrade from luck", async () => { - await game.classicMode.startBattle([Species.ABRA, Species.VOLCARONA]); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.VOLCARONA]); scene.money = 1000000; const customModifiers: CustomModifierSettings = { guaranteedModifierTiers: [ @@ -192,7 +192,7 @@ describe("SelectModifierPhase", () => { ModifierTier.MASTER, ], }; - const pokemon = new PlayerPokemon(getPokemonSpecies(Species.BULBASAUR), 10, undefined, 0, undefined, true, 2); + const pokemon = new PlayerPokemon(getPokemonSpecies(SpeciesId.BULBASAUR), 10, undefined, 0, undefined, true, 2); // Fill party with max shinies while (scene.getPlayerParty().length > 0) { @@ -202,7 +202,7 @@ describe("SelectModifierPhase", () => { const selectModifierPhase = new SelectModifierPhase(0, undefined, customModifiers); scene.unshiftPhase(selectModifierPhase); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.to("SelectModifierPhase"); expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); @@ -233,7 +233,7 @@ describe("SelectModifierPhase", () => { }); it("should generate custom modifiers and modifier tiers together", async () => { - await game.classicMode.startBattle([Species.ABRA, Species.VOLCARONA]); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.VOLCARONA]); scene.money = 1000000; const customModifiers: CustomModifierSettings = { guaranteedModifierTypeFuncs: [modifierTypes.MEMORY_MUSHROOM, modifierTypes.TM_COMMON], @@ -241,7 +241,7 @@ describe("SelectModifierPhase", () => { }; const selectModifierPhase = new SelectModifierPhase(0, undefined, customModifiers); scene.unshiftPhase(selectModifierPhase); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.run(SelectModifierPhase); expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); @@ -256,7 +256,7 @@ describe("SelectModifierPhase", () => { }); it("should fill remaining modifiers if fillRemaining is true with custom modifiers", async () => { - await game.classicMode.startBattle([Species.ABRA, Species.VOLCARONA]); + await game.classicMode.startBattle([SpeciesId.ABRA, SpeciesId.VOLCARONA]); scene.money = 1000000; const customModifiers: CustomModifierSettings = { guaranteedModifierTypeFuncs: [modifierTypes.MEMORY_MUSHROOM], @@ -265,7 +265,7 @@ describe("SelectModifierPhase", () => { }; const selectModifierPhase = new SelectModifierPhase(0, undefined, customModifiers); scene.unshiftPhase(selectModifierPhase); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.phaseInterceptor.run(SelectModifierPhase); expect(scene.ui.getMode()).to.equal(UiMode.MODIFIER_SELECT); diff --git a/test/reload.test.ts b/test/reload.test.ts index 93823e06cce..6c535ca4722 100644 --- a/test/reload.test.ts +++ b/test/reload.test.ts @@ -2,10 +2,10 @@ import { GameModes } from "#app/game-mode"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import type OptionSelectUiHandler from "#app/ui/settings/option-select-ui-handler"; import { UiMode } from "#enums/ui-mode"; -import { Biome } from "#enums/biome"; +import { BiomeId } from "#enums/biome-id"; import { Button } from "#enums/buttons"; -import { Moves } from "#enums/moves"; -import { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import type { MockClock } from "#test/testUtils/mocks/mockClock"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -51,12 +51,12 @@ describe("Reload", () => { .battleStyle("single") .startingLevel(100) // Avoid levelling up .disableTrainerWaves() - .moveset([Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH); + .moveset([MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH); await game.dailyMode.startBattle(); // Transition from Wave 10 to Wave 11 in order to trigger biome switch - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); game.onNextPrompt("SelectBiomePhase", UiMode.OPTION_SELECT, () => { (game.scene.time as MockClock).overrideDelay = null; @@ -80,16 +80,16 @@ describe("Reload", () => { it("should not have weather inconsistencies after a biome switch", async () => { game.override .startingWave(10) - .startingBiome(Biome.ICE_CAVE) // Will lead to Snowy Forest with randomly generated weather + .startingBiome(BiomeId.ICE_CAVE) // Will lead to Snowy Forest with randomly generated weather .battleStyle("single") .startingLevel(100) // Avoid levelling up .disableTrainerWaves() - .moveset([Moves.SPLASH]) - .enemyMoveset(Moves.SPLASH); + .moveset([MoveId.SPLASH]) + .enemyMoveset(MoveId.SPLASH); await game.classicMode.startBattle(); // Apparently daily mode would override the biome // Transition from Wave 10 to Wave 11 in order to trigger biome switch - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.toNextWave(); expect(game.phaseInterceptor.log).toContain("NewBiomeEncounterPhase"); @@ -156,7 +156,7 @@ describe("Reload", () => { it("should not have RNG inconsistencies at a Daily run wave 50 Boss fight", async () => { game.override.battleStyle("single").startingWave(50); - await game.runToFinalBossEncounter([Species.BULBASAUR], GameModes.DAILY); + await game.runToFinalBossEncounter([SpeciesId.BULBASAUR], GameModes.DAILY); const preReloadRngState = Phaser.Math.RND.state(); diff --git a/test/system/game_data.test.ts b/test/system/game_data.test.ts index 900fb672320..b9011cd934f 100644 --- a/test/system/game_data.test.ts +++ b/test/system/game_data.test.ts @@ -1,8 +1,8 @@ import * as bypassLoginModule from "#app/global-vars/bypass-login"; import { pokerogueApi } from "#app/plugins/api/pokerogue-api"; import type { SessionSaveData } from "#app/system/game-data"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -21,10 +21,10 @@ describe("System - Game Data", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.SPLASH]) + .moveset([MoveId.SPLASH]) .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH); }); afterEach(() => { diff --git a/test/testUtils/gameManager.ts b/test/testUtils/gameManager.ts index 39b6000e308..68d218b3988 100644 --- a/test/testUtils/gameManager.ts +++ b/test/testUtils/gameManager.ts @@ -34,7 +34,7 @@ import { ExpGainsSpeed } from "#enums/exp-gains-speed"; import { ExpNotification } from "#enums/exp-notification"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PlayerGender } from "#enums/player-gender"; -import type { Species } from "#enums/species"; +import type { SpeciesId } from "#enums/species-id"; import { UiMode } from "#enums/ui-mode"; import ErrorInterceptor from "#test/testUtils/errorInterceptor"; import { generateStarter, waitUntil } from "#test/testUtils/gameManagerUtils"; @@ -203,7 +203,7 @@ export default class GameManager { * @param species * @param mode */ - async runToFinalBossEncounter(species: Species[], mode: GameModes) { + async runToFinalBossEncounter(species: SpeciesId[], mode: GameModes) { console.log("===to final boss encounter==="); await this.runToTitle(); @@ -232,7 +232,7 @@ export default class GameManager { * @param species Optional array of species for party. * @returns A promise that resolves when the EncounterPhase ends. */ - async runToMysteryEncounter(encounterType?: MysteryEncounterType, species?: Species[]) { + async runToMysteryEncounter(encounterType?: MysteryEncounterType, species?: SpeciesId[]) { if (!isNullOrUndefined(encounterType)) { this.override.disableTrainerWaves(); this.override.mysteryEncounter(encounterType); diff --git a/test/testUtils/gameManagerUtils.ts b/test/testUtils/gameManagerUtils.ts index 9e9c8f15f96..18dd83995a3 100644 --- a/test/testUtils/gameManagerUtils.ts +++ b/test/testUtils/gameManagerUtils.ts @@ -8,8 +8,8 @@ import { PlayerPokemon } from "#app/field/pokemon"; import { GameModes, getGameMode } from "#app/game-mode"; import type { StarterMoveset } from "#app/system/game-data"; import type { Starter } from "#app/ui/starter-select-ui-handler"; -import { Moves } from "#enums/moves"; -import type { Species } from "#enums/species"; +import { MoveId } from "#enums/move-id"; +import type { SpeciesId } from "#enums/species-id"; /** Function to convert Blob to string */ export function blobToString(blob) { @@ -32,7 +32,7 @@ export function holdOn(ms: number) { return new Promise(resolve => setTimeout(resolve, ms)); } -export function generateStarter(scene: BattleScene, species?: Species[]): Starter[] { +export function generateStarter(scene: BattleScene, species?: SpeciesId[]): Starter[] { const seed = "test"; const starters = getTestRunStarters(seed, species); const startingLevel = scene.gameMode.getStartingLevel(); @@ -52,7 +52,7 @@ export function generateStarter(scene: BattleScene, species?: Species[]): Starte undefined, starter.nature, ); - const moveset: Moves[] = []; + const moveset: MoveId[] = []; starterPokemon.moveset.forEach(move => { moveset.push(move!.getMove().id); }); @@ -61,7 +61,7 @@ export function generateStarter(scene: BattleScene, species?: Species[]): Starte return starters; } -function getTestRunStarters(seed: string, species?: Species[]): Starter[] { +function getTestRunStarters(seed: string, species?: SpeciesId[]): Starter[] { if (!species) { return getDailyRunStarters(seed); } @@ -97,18 +97,18 @@ export function waitUntil(truth): Promise { } /** Get the index of `move` from the moveset of the pokemon on the player's field at location `pokemonIndex` */ -export function getMovePosition(scene: BattleScene, pokemonIndex: 0 | 1, move: Moves): number { +export function getMovePosition(scene: BattleScene, pokemonIndex: 0 | 1, move: MoveId): number { const playerPokemon = scene.getPlayerField()[pokemonIndex]; const moveSet = playerPokemon.getMoveset(); const index = moveSet.findIndex(m => m.moveId === move && m.ppUsed < m.getMovePp()); - console.log(`Move position for ${Moves[move]} (=${move}):`, index); + console.log(`Move position for ${MoveId[move]} (=${move}):`, index); return index; } /** * Useful for populating party, wave index, etc. without having to spin up and run through an entire EncounterPhase */ -export function initSceneWithoutEncounterPhase(scene: BattleScene, species?: Species[]): void { +export function initSceneWithoutEncounterPhase(scene: BattleScene, species?: SpeciesId[]): void { const starters = generateStarter(scene, species); starters.forEach(starter => { const starterProps = scene.gameData.getSpeciesDexAttrProps(starter.species, starter.dexAttr); diff --git a/test/testUtils/helpers/challengeModeHelper.ts b/test/testUtils/helpers/challengeModeHelper.ts index 3a4f2adcd09..d0533d3b5ba 100644 --- a/test/testUtils/helpers/challengeModeHelper.ts +++ b/test/testUtils/helpers/challengeModeHelper.ts @@ -1,5 +1,5 @@ import { BattleStyle } from "#app/enums/battle-style"; -import type { Species } from "#app/enums/species"; +import type { SpeciesId } from "#enums/species-id"; import overrides from "#app/overrides"; import { EncounterPhase } from "#app/phases/encounter-phase"; import { SelectStarterPhase } from "#app/phases/select-starter-phase"; @@ -34,7 +34,7 @@ export class ChallengeModeHelper extends GameManagerHelper { * @param gameMode - Optional game mode to set. * @returns A promise that resolves when the summon phase is reached. */ - async runToSummon(species?: Species[]) { + async runToSummon(species?: SpeciesId[]) { await this.game.runToTitle(); if (this.game.override.disableShinies) { @@ -60,7 +60,7 @@ export class ChallengeModeHelper extends GameManagerHelper { * @param species - Optional array of species to start the battle with. * @returns A promise that resolves when the battle is started. */ - async startBattle(species?: Species[]) { + async startBattle(species?: SpeciesId[]) { await this.runToSummon(species); if (this.game.scene.battleStyle === BattleStyle.SWITCH) { diff --git a/test/testUtils/helpers/classicModeHelper.ts b/test/testUtils/helpers/classicModeHelper.ts index 8e1ac95c733..d5f0ceb4072 100644 --- a/test/testUtils/helpers/classicModeHelper.ts +++ b/test/testUtils/helpers/classicModeHelper.ts @@ -1,5 +1,5 @@ import { BattleStyle } from "#app/enums/battle-style"; -import type { Species } from "#app/enums/species"; +import type { SpeciesId } from "#enums/species-id"; import { GameModes, getGameMode } from "#app/game-mode"; import overrides from "#app/overrides"; import { CommandPhase } from "#app/phases/command-phase"; @@ -19,7 +19,7 @@ export class ClassicModeHelper extends GameManagerHelper { * @param species - Optional array of species to summon. * @returns A promise that resolves when the summon phase is reached. */ - async runToSummon(species?: Species[]): Promise { + async runToSummon(species?: SpeciesId[]): Promise { await this.game.runToTitle(); if (this.game.override.disableShinies) { @@ -45,7 +45,7 @@ export class ClassicModeHelper extends GameManagerHelper { * @param species - Optional array of species to start the battle with. * @returns A promise that resolves when the battle is started. */ - async startBattle(species?: Species[]): Promise { + async startBattle(species?: SpeciesId[]): Promise { await this.runToSummon(species); if (this.game.scene.battleStyle === BattleStyle.SWITCH) { diff --git a/test/testUtils/helpers/field-helper.ts b/test/testUtils/helpers/field-helper.ts index 6d762853cad..08b7a210e68 100644 --- a/test/testUtils/helpers/field-helper.ts +++ b/test/testUtils/helpers/field-helper.ts @@ -8,7 +8,7 @@ import type { Ability } from "#app/data/abilities/ability-class"; import { allAbilities } from "#app/data/data-lists"; import type Pokemon from "#app/field/pokemon"; import type { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; -import type { Abilities } from "#enums/abilities"; +import type { AbilityId } from "#enums/ability-id"; import type { PokemonType } from "#enums/pokemon-type"; import { Stat } from "#enums/stat"; import { GameManagerHelper } from "#test/testUtils/helpers/gameManagerHelper"; @@ -67,7 +67,7 @@ export class FieldHelper extends GameManagerHelper { * @see {@linkcode vi.spyOn} * @see https://vitest.dev/api/mock#mockreturnvalue */ - public mockAbility(pokemon: Pokemon, ability: Abilities): MockInstance<(baseOnly?: boolean) => Ability> { + public mockAbility(pokemon: Pokemon, ability: AbilityId): MockInstance<(baseOnly?: boolean) => Ability> { return vi.spyOn(pokemon, "getAbility").mockReturnValue(allAbilities[ability]); } diff --git a/test/testUtils/helpers/moveHelper.ts b/test/testUtils/helpers/moveHelper.ts index b3cdffeb636..02b1efd837f 100644 --- a/test/testUtils/helpers/moveHelper.ts +++ b/test/testUtils/helpers/moveHelper.ts @@ -7,7 +7,7 @@ import type { CommandPhase } from "#app/phases/command-phase"; import type { EnemyCommandPhase } from "#app/phases/enemy-command-phase"; import { MoveEffectPhase } from "#app/phases/move-effect-phase"; import { Command } from "#app/ui/command-ui-handler"; -import { Moves } from "#enums/moves"; +import { MoveId } from "#enums/move-id"; import { UiMode } from "#enums/ui-mode"; import { getMovePosition } from "#test/testUtils/gameManagerUtils"; import { GameManagerHelper } from "#test/testUtils/helpers/gameManagerHelper"; @@ -50,7 +50,7 @@ export class MoveHelper extends GameManagerHelper { * @param pkmIndex - the pokemon index. Relevant for double-battles only (defaults to 0) * @param targetIndex - The {@linkcode BattlerIndex} of the Pokemon to target for single-target moves, or `null` if a manual call to `selectTarget()` is required */ - public select(move: Moves, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null) { + public select(move: MoveId, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null) { const movePosition = getMovePosition(this.game.scene, pkmIndex, move); this.game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { @@ -72,7 +72,7 @@ export class MoveHelper extends GameManagerHelper { * @param pkmIndex - the pokemon index. Relevant for double-battles only (defaults to 0) * @param targetIndex - The {@linkcode BattlerIndex} of the Pokemon to target for single-target moves, or `null` if a manual call to `selectTarget()` is required */ - public selectWithTera(move: Moves, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null) { + public selectWithTera(move: MoveId, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null) { const movePosition = getMovePosition(this.game.scene, pkmIndex, move); this.game.scene.getPlayerParty()[pkmIndex].isTerastallized = false; @@ -105,7 +105,7 @@ export class MoveHelper extends GameManagerHelper { * @param targetIndex - (optional) The {@linkcode BattlerIndex} of the Pokemon to target for single-target moves, or `null` if a manual call to `selectTarget()` is required * @param useTera - If `true`, the Pokemon also chooses to Terastallize. This does not require a Tera Orb. Default: `false`. */ - public use(moveId: Moves, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null, useTera = false): void { + public use(moveId: MoveId, pkmIndex: 0 | 1 = 0, targetIndex?: BattlerIndex | null, useTera = false): void { if ([Overrides.MOVESET_OVERRIDE].flat().length > 0) { vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([]); console.warn("Warning: `use` overwrites the Pokemon's moveset and disables the player moveset override!"); @@ -147,9 +147,9 @@ export class MoveHelper extends GameManagerHelper { * Changes a pokemon's moveset to the given move(s). * Used when the normal moveset override can't be used (such as when it's necessary to check or update properties of the moveset). * @param pokemon - The {@linkcode Pokemon} being modified - * @param moveset - The {@linkcode Moves} (single or array) to change the Pokemon's moveset to + * @param moveset - The {@linkcode MoveId} (single or array) to change the Pokemon's moveset to */ - public changeMoveset(pokemon: Pokemon, moveset: Moves | Moves[]): void { + public changeMoveset(pokemon: Pokemon, moveset: MoveId | MoveId[]): void { if (!Array.isArray(moveset)) { moveset = [moveset]; } @@ -157,7 +157,7 @@ export class MoveHelper extends GameManagerHelper { moveset.forEach(move => { pokemon.moveset.push(new PokemonMove(move)); }); - const movesetStr = moveset.map(moveId => Moves[moveId]).join(", "); + const movesetStr = moveset.map(moveId => MoveId[moveId]).join(", "); console.log(`Pokemon ${pokemon.species.name}'s moveset manually set to ${movesetStr} (=[${moveset.join(", ")}])!`); } @@ -167,7 +167,7 @@ export class MoveHelper extends GameManagerHelper { * @param moveId The {@linkcode MoveId | move} the enemy will use * @param target (Optional) the {@linkcode BattlerIndex | target} which the enemy will use the given move against */ - public async selectEnemyMove(moveId: Moves, target?: BattlerIndex) { + public async selectEnemyMove(moveId: MoveId, target?: BattlerIndex) { // Wait for the next EnemyCommandPhase to start await this.game.phaseInterceptor.to("EnemyCommandPhase", false); const enemy = @@ -200,7 +200,7 @@ export class MoveHelper extends GameManagerHelper { * @param moveId The {@linkcode MoveId | move} the enemy will use * @param target (Optional) the {@linkcode BattlerIndex | target} which the enemy will use the given move against */ - public async forceEnemyMove(moveId: Moves, target?: BattlerIndex) { + public async forceEnemyMove(moveId: MoveId, target?: BattlerIndex) { // Wait for the next EnemyCommandPhase to start await this.game.phaseInterceptor.to("EnemyCommandPhase", false); diff --git a/test/testUtils/helpers/overridesHelper.ts b/test/testUtils/helpers/overridesHelper.ts index acc2e4d5cd0..32219fa833c 100644 --- a/test/testUtils/helpers/overridesHelper.ts +++ b/test/testUtils/helpers/overridesHelper.ts @@ -1,15 +1,15 @@ import type { Variant } from "#app/sprites/variant"; import { Weather } from "#app/data/weather"; -import { Abilities } from "#app/enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import type { ModifierOverride } from "#app/modifier/modifier-type"; import type { BattleStyle } from "#app/overrides"; import Overrides, { defaultOverrides } from "#app/overrides"; import type { Unlockables } from "#app/system/unlockables"; -import { Biome } from "#enums/biome"; -import { Moves } from "#enums/moves"; +import { BiomeId } from "#enums/biome-id"; +import { MoveId } from "#enums/move-id"; import type { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import { StatusEffect } from "#enums/status-effect"; import type { WeatherType } from "#enums/weather-type"; import { expect, vi } from "vitest"; @@ -32,9 +32,9 @@ export class OverridesHelper extends GameManagerHelper { * @warning Any event listeners that are attached to [NewArenaEvent](events\battle-scene.ts) may need to be handled down the line * @param biome - The biome to set */ - public startingBiome(biome: Biome): this { + public startingBiome(biome: BiomeId): this { this.game.scene.newArena(biome); - this.log(`Starting biome set to ${Biome[biome]} (=${biome})!`); + this.log(`Starting biome set to ${BiomeId[biome]} (=${biome})!`); return this; } @@ -54,7 +54,7 @@ export class OverridesHelper extends GameManagerHelper { * @param level - The level to set * @returns `this` */ - public startingLevel(level: Species | number): this { + public startingLevel(level: SpeciesId | number): this { vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(level); this.log(`Player Pokemon starting level set to ${level}!`); return this; @@ -103,13 +103,13 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player pokemon's {@linkcode Species | species} - * @param species - The {@linkcode Species | species} to set + * Override the player pokemon's {@linkcode SpeciesId | species} + * @param species - The {@linkcode SpeciesId | species} to set * @returns `this` */ - public starterSpecies(species: Species | number): this { + public starterSpecies(species: SpeciesId | number): this { vi.spyOn(Overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(species); - this.log(`Player Pokemon species set to ${Species[species]} (=${species})!`); + this.log(`Player Pokemon species set to ${SpeciesId[species]} (=${species})!`); return this; } @@ -128,9 +128,9 @@ export class OverridesHelper extends GameManagerHelper { * @param species - The fusion species to set * @returns `this` */ - public starterFusionSpecies(species: Species | number): this { + public starterFusionSpecies(species: SpeciesId | number): this { vi.spyOn(Overrides, "STARTER_FUSION_SPECIES_OVERRIDE", "get").mockReturnValue(species); - this.log(`Player Pokemon fusion species set to ${Species[species]} (=${species})!`); + this.log(`Player Pokemon fusion species set to ${SpeciesId[species]} (=${species})!`); return this; } @@ -139,10 +139,10 @@ export class OverridesHelper extends GameManagerHelper { * @param forms - The forms to set * @returns `this` */ - public starterForms(forms: Partial>): this { + public starterForms(forms: Partial>): this { vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue(forms); const formsStr = Object.entries(forms) - .map(([speciesId, formIndex]) => `${Species[speciesId]}=${formIndex}`) + .map(([speciesId, formIndex]) => `${SpeciesId[speciesId]}=${formIndex}`) .join(", "); this.log(`Player Pokemon form set to: ${formsStr}!`); return this; @@ -160,29 +160,29 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the player pokemon's {@linkcode Abilities | ability}. - * @param ability - The {@linkcode Abilities | ability} to set + * Override the player pokemon's {@linkcode AbilityId | ability}. + * @param ability - The {@linkcode AbilityId | ability} to set * @returns `this` */ - public ability(ability: Abilities): this { + public ability(ability: AbilityId): this { vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(ability); - this.log(`Player Pokemon ability set to ${Abilities[ability]} (=${ability})!`); + this.log(`Player Pokemon ability set to ${AbilityId[ability]} (=${ability})!`); return this; } /** - * Override the player pokemon's **passive** {@linkcode Abilities | ability} - * @param passiveAbility - The **passive** {@linkcode Abilities | ability} to set + * Override the player pokemon's **passive** {@linkcode AbilityId | ability} + * @param passiveAbility - The **passive** {@linkcode AbilityId | ability} to set * @returns `this` */ - public passiveAbility(passiveAbility: Abilities): this { + public passiveAbility(passiveAbility: AbilityId): this { vi.spyOn(Overrides, "PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(passiveAbility); - this.log(`Player Pokemon PASSIVE ability set to ${Abilities[passiveAbility]} (=${passiveAbility})!`); + this.log(`Player Pokemon PASSIVE ability set to ${AbilityId[passiveAbility]} (=${passiveAbility})!`); return this; } /** - * Forces the status of the player pokemon **passive** {@linkcode Abilities | ability} + * Forces the status of the player pokemon **passive** {@linkcode AbilityId | ability} * @param hasPassiveAbility - Forces the passive to be active if `true`, inactive if `false` * @returns `this` */ @@ -196,16 +196,16 @@ export class OverridesHelper extends GameManagerHelper { return this; } /** - * Override the player pokemon's {@linkcode Moves | moves}set - * @param moveset - The {@linkcode Moves | moves}set to set + * Override the player pokemon's {@linkcode MoveId | moves}set + * @param moveset - The {@linkcode MoveId | moves}set to set * @returns `this` */ - public moveset(moveset: Moves | Moves[]): this { + public moveset(moveset: MoveId | MoveId[]): this { vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue(moveset); if (!Array.isArray(moveset)) { moveset = [moveset]; } - const movesetStr = moveset.map(moveId => Moves[moveId]).join(", "); + const movesetStr = moveset.map(moveId => MoveId[moveId]).join(", "); this.log(`Player Pokemon moveset set to ${movesetStr} (=[${moveset.join(", ")}])!`); return this; } @@ -307,13 +307,13 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the {@linkcode Species | species} of enemy pokemon - * @param species - The {@linkcode Species | species} to set + * Override the {@linkcode SpeciesId | species} of enemy pokemon + * @param species - The {@linkcode SpeciesId | species} to set * @returns `this` */ - public enemySpecies(species: Species | number): this { + public enemySpecies(species: SpeciesId | number): this { vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(species); - this.log(`Enemy Pokemon species set to ${Species[species]} (=${species})!`); + this.log(`Enemy Pokemon species set to ${SpeciesId[species]} (=${species})!`); return this; } @@ -332,36 +332,36 @@ export class OverridesHelper extends GameManagerHelper { * @param species - The fusion species to set * @returns `this` */ - public enemyFusionSpecies(species: Species | number): this { + public enemyFusionSpecies(species: SpeciesId | number): this { vi.spyOn(Overrides, "OPP_FUSION_SPECIES_OVERRIDE", "get").mockReturnValue(species); - this.log(`Enemy Pokemon fusion species set to ${Species[species]} (=${species})!`); + this.log(`Enemy Pokemon fusion species set to ${SpeciesId[species]} (=${species})!`); return this; } /** - * Override the {@linkcode Abilities | ability} of enemy pokemon - * @param ability - The {@linkcode Abilities | ability} to set + * Override the {@linkcode AbilityId | ability} of enemy pokemon + * @param ability - The {@linkcode AbilityId | ability} to set * @returns `this` */ - public enemyAbility(ability: Abilities): this { + public enemyAbility(ability: AbilityId): this { vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(ability); - this.log(`Enemy Pokemon ability set to ${Abilities[ability]} (=${ability})!`); + this.log(`Enemy Pokemon ability set to ${AbilityId[ability]} (=${ability})!`); return this; } /** - * Override the **passive** {@linkcode Abilities | ability} of enemy pokemon - * @param passiveAbility - The **passive** {@linkcode Abilities | ability} to set + * Override the **passive** {@linkcode AbilityId | ability} of enemy pokemon + * @param passiveAbility - The **passive** {@linkcode AbilityId | ability} to set * @returns `this` */ - public enemyPassiveAbility(passiveAbility: Abilities): this { + public enemyPassiveAbility(passiveAbility: AbilityId): this { vi.spyOn(Overrides, "OPP_PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(passiveAbility); - this.log(`Enemy Pokemon PASSIVE ability set to ${Abilities[passiveAbility]} (=${passiveAbility})!`); + this.log(`Enemy Pokemon PASSIVE ability set to ${AbilityId[passiveAbility]} (=${passiveAbility})!`); return this; } /** - * Forces the status of the enemy pokemon **passive** {@linkcode Abilities | ability} + * Forces the status of the enemy pokemon **passive** {@linkcode AbilityId | ability} * @param hasPassiveAbility - Forces the passive to be active if `true`, inactive if `false` * @returns `this` */ @@ -376,16 +376,16 @@ export class OverridesHelper extends GameManagerHelper { } /** - * Override the {@linkcode Moves | move}set of enemy pokemon - * @param moveset - The {@linkcode Moves | move}set to set + * Override the {@linkcode MoveId | move}set of enemy pokemon + * @param moveset - The {@linkcode MoveId | move}set to set * @returns `this` */ - public enemyMoveset(moveset: Moves | Moves[]): this { + public enemyMoveset(moveset: MoveId | MoveId[]): this { vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue(moveset); if (!Array.isArray(moveset)) { moveset = [moveset]; } - const movesetStr = moveset.map(moveId => Moves[moveId]).join(", "); + const movesetStr = moveset.map(moveId => MoveId[moveId]).join(", "); this.log(`Enemy Pokemon moveset set to ${movesetStr} (=[${moveset.join(", ")}])!`); return this; } diff --git a/test/ui/battle_info.test.ts b/test/ui/battle_info.test.ts index c4548adc49c..3049424e3d2 100644 --- a/test/ui/battle_info.test.ts +++ b/test/ui/battle_info.test.ts @@ -1,8 +1,8 @@ import { ExpGainsSpeed } from "#app/enums/exp-gains-speed"; -import { Species } from "#app/enums/species"; +import { SpeciesId } from "#enums/species-id"; import { ExpPhase } from "#app/phases/exp-phase"; -import { Abilities } from "#enums/abilities"; -import { Moves } from "#enums/moves"; +import { AbilityId } from "#enums/ability-id"; +import { MoveId } from "#enums/move-id"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; @@ -31,11 +31,11 @@ describe("UI - Battle Info", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.GUILLOTINE, Moves.SPLASH]) + .moveset([MoveId.GUILLOTINE, MoveId.SPLASH]) .battleStyle("single") - .enemyAbility(Abilities.BALL_FETCH) - .enemyMoveset(Moves.SPLASH) - .enemySpecies(Species.CATERPIE); + .enemyAbility(AbilityId.BALL_FETCH) + .enemyMoveset(MoveId.SPLASH) + .enemySpecies(SpeciesId.CATERPIE); }); it.each([ExpGainsSpeed.FAST, ExpGainsSpeed.FASTER, ExpGainsSpeed.SKIP])( @@ -44,9 +44,9 @@ describe("UI - Battle Info", () => { game.settings.expGainsSpeed(expGainsSpeed); vi.spyOn(Math, "pow"); - await game.classicMode.startBattle([Species.CHARIZARD]); + await game.classicMode.startBattle([SpeciesId.CHARIZARD]); - game.move.select(Moves.SPLASH); + game.move.select(MoveId.SPLASH); await game.doKillOpponents(); await game.phaseInterceptor.to(ExpPhase, true); diff --git a/test/ui/pokedex.test.ts b/test/ui/pokedex.test.ts index 007fc43c3b9..573ce3fef89 100644 --- a/test/ui/pokedex.test.ts +++ b/test/ui/pokedex.test.ts @@ -4,8 +4,8 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, type MockInstan import PokedexUiHandler from "#app/ui/pokedex-ui-handler"; import { FilterTextRow } from "#app/ui/filter-text"; import { allAbilities } from "#app/data/data-lists"; -import { Abilities } from "#enums/abilities"; -import { Species } from "#enums/species"; +import { AbilityId } from "#enums/ability-id"; +import { SpeciesId } from "#enums/species-id"; import { allSpecies, getPokemonSpecies, type PokemonForm } from "#app/data/pokemon-species"; import { Button } from "#enums/buttons"; import { DropDownColumn } from "#enums/drop-down-column"; @@ -106,8 +106,8 @@ describe("UI - Pokedex", () => { * Compute a set of pokemon that have a specific ability in allAbilities * @param ability - The ability to filter for */ - function getSpeciesWithAbility(ability: Abilities): Set { - const speciesSet = new Set(); + function getSpeciesWithAbility(ability: AbilityId): Set { + const speciesSet = new Set(); for (const pkmn of allSpecies) { if ( [pkmn.ability1, pkmn.ability2, pkmn.getPassiveAbility(), pkmn.abilityHidden].includes(ability) || @@ -127,8 +127,8 @@ describe("UI - Pokedex", () => { * Includes all forms of the pokemon * @param types - The types to filter for */ - function getSpeciesWithType(...types: PokemonType[]): Set { - const speciesSet = new Set(); + function getSpeciesWithType(...types: PokemonType[]): Set { + const speciesSet = new Set(); const tySet = new Set(types); // get the pokemon and its forms @@ -164,18 +164,18 @@ describe("UI - Pokedex", () => { * @param setForms - Whether to also overwrite the abilities for each of the species' forms (defaults to `true`) */ function createAbilityMocks( - species: Species, + species: SpeciesId, { - ability = Abilities.NONE, - ability2 = Abilities.NONE, - hidden = Abilities.NONE, - passive = Abilities.NONE, + ability = AbilityId.NONE, + ability2 = AbilityId.NONE, + hidden = AbilityId.NONE, + passive = AbilityId.NONE, setForms = true, }: { - ability?: Abilities; - ability2?: Abilities; - hidden?: Abilities; - passive?: Abilities; + ability?: AbilityId; + ability2?: AbilityId; + hidden?: AbilityId; + passive?: AbilityId; setForms?: boolean; }, ) { @@ -201,13 +201,13 @@ describe("UI - Pokedex", () => { const pokedexHandler = await runToOpenPokedex(); // Get name of overgrow - const overgrow = allAbilities[Abilities.OVERGROW].name; + const overgrow = allAbilities[AbilityId.OVERGROW].name; // @ts-expect-error `filterText` is private pokedexHandler.filterText.setValue(FilterTextRow.ABILITY_1, overgrow); // filter all species to be the pokemon that have overgrow - const overgrowSpecies = getSpeciesWithAbility(Abilities.OVERGROW); + const overgrowSpecies = getSpeciesWithAbility(AbilityId.OVERGROW); // @ts-expect-error - `filteredPokemonData` is private const filteredSpecies = new Set(pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId)); @@ -216,34 +216,34 @@ describe("UI - Pokedex", () => { it("should filter to show only pokemon with ability and passive when filtering by 2 abilities", async () => { // Setup mocks for the ability and passive combinations - const whitelist: Species[] = []; - const blacklist: Species[] = []; + const whitelist: SpeciesId[] = []; + const blacklist: SpeciesId[] = []; - const filter_ab1 = Abilities.OVERGROW; - const filter_ab2 = Abilities.ADAPTABILITY; + const filter_ab1 = AbilityId.OVERGROW; + const filter_ab2 = AbilityId.ADAPTABILITY; const ab1_instance = allAbilities[filter_ab1]; const ab2_instance = allAbilities[filter_ab2]; // Create a species with passive set and each "ability" field const baseObj = { - ability: Abilities.BALL_FETCH, - ability2: Abilities.NONE, - hidden: Abilities.BLAZE, - passive: Abilities.TORRENT, + ability: AbilityId.BALL_FETCH, + ability2: AbilityId.NONE, + hidden: AbilityId.BLAZE, + passive: AbilityId.TORRENT, }; // Mock pokemon to have the exhaustive combination of the two selected abilities const attrs: (keyof typeof baseObj)[] = ["ability", "ability2", "hidden", "passive"]; for (const [idx, value] of permutations(attrs, 2).entries()) { - createAbilityMocks(Species.BULBASAUR + idx, { + createAbilityMocks(SpeciesId.BULBASAUR + idx, { ...baseObj, [value[0]]: filter_ab1, [value[1]]: filter_ab2, }); if (value.includes("passive")) { - whitelist.push(Species.BULBASAUR + idx); + whitelist.push(SpeciesId.BULBASAUR + idx); } else { - blacklist.push(Species.BULBASAUR + idx); + blacklist.push(SpeciesId.BULBASAUR + idx); } } @@ -318,12 +318,12 @@ describe("UI - Pokedex", () => { } const expectedPokemon = new Set([ - Species.CHIKORITA, - Species.CYNDAQUIL, - Species.TORCHIC, - Species.TURTWIG, - Species.EKANS, - Species.MUDKIP, + SpeciesId.CHIKORITA, + SpeciesId.CYNDAQUIL, + SpeciesId.TORCHIC, + SpeciesId.TURTWIG, + SpeciesId.EKANS, + SpeciesId.MUDKIP, ]); expect( // @ts-expect-error - `filteredPokemonData` is private @@ -345,7 +345,7 @@ describe("UI - Pokedex", () => { expect( // @ts-expect-error - `filteredPokemonData` is private pokedexHandler.filteredPokemonData.every( - pokemon => pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId) === Species.MUDKIP, + pokemon => pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId) === SpeciesId.MUDKIP, ), ).toBe(true); }); @@ -359,11 +359,11 @@ describe("UI - Pokedex", () => { // Cycling 4 times to get to the "can unlock" for passive const expectedPokemon = new Set([ - Species.EKANS, - Species.CHIKORITA, - Species.CYNDAQUIL, - Species.TORCHIC, - Species.TURTWIG, + SpeciesId.EKANS, + SpeciesId.CHIKORITA, + SpeciesId.CYNDAQUIL, + SpeciesId.TORCHIC, + SpeciesId.TURTWIG, ]); // cycling twice to get to the "can unlock" for passive @@ -382,7 +382,7 @@ describe("UI - Pokedex", () => { await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); const pokedexHandler = await runToOpenPokedex(); - const expectedPokemon = new Set([Species.TREECKO, Species.CYNDAQUIL, Species.TOTODILE]); + const expectedPokemon = new Set([SpeciesId.TREECKO, SpeciesId.CYNDAQUIL, SpeciesId.TOTODILE]); // @ts-expect-error - `filterBar` is private const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); @@ -401,7 +401,7 @@ describe("UI - Pokedex", () => { await game.importData("./test/testUtils/saves/data_pokedex_tests.prsv"); const pokedexHandler = await runToOpenPokedex(); - const expectedPokemon = new Set([Species.CYNDAQUIL, Species.TOTODILE]); + const expectedPokemon = new Set([SpeciesId.CYNDAQUIL, SpeciesId.TOTODILE]); // @ts-expect-error - `filterBar` is private const filter = pokedexHandler.filterBar.getFilter(DropDownColumn.UNLOCKS); @@ -431,7 +431,7 @@ describe("UI - Pokedex", () => { expect( // @ts-expect-error - `filteredPokemonData` is private pokedexHandler.filteredPokemonData.every( - pokemon => pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId) === Species.TREECKO, + pokemon => pokedexHandler.getStarterSpeciesId(pokemon.species.speciesId) === SpeciesId.TREECKO, ), ).toBe(true); }); @@ -448,7 +448,7 @@ describe("UI - Pokedex", () => { // Red shiny expect(filteredPokemon.length).toBe(1); - expect(filteredPokemon[0], "tier 1 shiny").toBe(Species.CATERPIE); + expect(filteredPokemon[0], "tier 1 shiny").toBe(SpeciesId.CATERPIE); // tier 2 shiny filter.toggleOptionState(3); @@ -457,14 +457,14 @@ describe("UI - Pokedex", () => { // @ts-expect-error - `filteredPokemonData` is private filteredPokemon = pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId); expect(filteredPokemon.length).toBe(1); - expect(filteredPokemon[0], "tier 2 shiny").toBe(Species.RATTATA); + expect(filteredPokemon[0], "tier 2 shiny").toBe(SpeciesId.RATTATA); filter.toggleOptionState(2); filter.toggleOptionState(1); // @ts-expect-error - `filteredPokemonData` is private filteredPokemon = pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId); expect(filteredPokemon.length).toBe(1); - expect(filteredPokemon[0], "tier 3 shiny").toBe(Species.EKANS); + expect(filteredPokemon[0], "tier 3 shiny").toBe(SpeciesId.EKANS); // filter by no shiny filter.toggleOptionState(1); @@ -473,9 +473,9 @@ describe("UI - Pokedex", () => { // @ts-expect-error - `filteredPokemonData` is private filteredPokemon = pokedexHandler.filteredPokemonData.map(pokemon => pokemon.species.speciesId); expect(filteredPokemon.length).toBe(27); - expect(filteredPokemon, "not shiny").not.toContain(Species.CATERPIE); - expect(filteredPokemon, "not shiny").not.toContain(Species.RATTATA); - expect(filteredPokemon, "not shiny").not.toContain(Species.EKANS); + expect(filteredPokemon, "not shiny").not.toContain(SpeciesId.CATERPIE); + expect(filteredPokemon, "not shiny").not.toContain(SpeciesId.RATTATA); + expect(filteredPokemon, "not shiny").not.toContain(SpeciesId.EKANS); }); /**************************** @@ -518,10 +518,10 @@ describe("UI - Pokedex", () => { it("should show caught battle form as caught", async () => { await game.importData("./test/testUtils/saves/data_pokedex_tests_v2.prsv"); - const pageHandler = await runToPokedexPage(getPokemonSpecies(Species.VENUSAUR), { form: 1 }); + const pageHandler = await runToPokedexPage(getPokemonSpecies(SpeciesId.VENUSAUR), { form: 1 }); // @ts-expect-error - `species` is private - expect(pageHandler.species.speciesId).toEqual(Species.VENUSAUR); + expect(pageHandler.species.speciesId).toEqual(SpeciesId.VENUSAUR); // @ts-expect-error - `formIndex` is private expect(pageHandler.formIndex).toEqual(1); @@ -533,10 +533,10 @@ describe("UI - Pokedex", () => { //TODO: check tint of the sprite it("should show uncaught battle form as seen", async () => { await game.importData("./test/testUtils/saves/data_pokedex_tests_v2.prsv"); - const pageHandler = await runToPokedexPage(getPokemonSpecies(Species.VENUSAUR), { form: 2 }); + const pageHandler = await runToPokedexPage(getPokemonSpecies(SpeciesId.VENUSAUR), { form: 2 }); // @ts-expect-error - `species` is private - expect(pageHandler.species.speciesId).toEqual(Species.VENUSAUR); + expect(pageHandler.species.speciesId).toEqual(SpeciesId.VENUSAUR); // @ts-expect-error - `formIndex` is private expect(pageHandler.formIndex).toEqual(2); diff --git a/test/ui/starter-select.test.ts b/test/ui/starter-select.test.ts index b402e02e2d7..10a804b805d 100644 --- a/test/ui/starter-select.test.ts +++ b/test/ui/starter-select.test.ts @@ -10,9 +10,9 @@ import type SaveSlotSelectUiHandler from "#app/ui/save-slot-select-ui-handler"; import type OptionSelectUiHandler from "#app/ui/settings/option-select-ui-handler"; import type StarterSelectUiHandler from "#app/ui/starter-select-ui-handler"; import { UiMode } from "#enums/ui-mode"; -import { Abilities } from "#enums/abilities"; +import { AbilityId } from "#enums/ability-id"; import { Button } from "#enums/buttons"; -import { Species } from "#enums/species"; +import { SpeciesId } from "#enums/species-id"; import GameManager from "#test/testUtils/gameManager"; import i18next from "i18next"; import Phaser from "phaser"; @@ -90,7 +90,7 @@ describe("UI - Starter select", () => { }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.BULBASAUR); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.BULBASAUR); expect(game.scene.getPlayerParty()[0].shiny).toBe(true); expect(game.scene.getPlayerParty()[0].variant).toBe(2); expect(game.scene.getPlayerParty()[0].gender).toBe(Gender.MALE); @@ -151,11 +151,11 @@ describe("UI - Starter select", () => { }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.BULBASAUR); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.BULBASAUR); expect(game.scene.getPlayerParty()[0].shiny).toBe(true); expect(game.scene.getPlayerParty()[0].variant).toBe(2); expect(game.scene.getPlayerParty()[0].nature).toBe(Nature.HARDY); - expect(game.scene.getPlayerParty()[0].getAbility().id).toBe(Abilities.OVERGROW); + expect(game.scene.getPlayerParty()[0].getAbility().id).toBe(AbilityId.OVERGROW); }, 20000); it("Bulbasaur - shiny - variant 2 female lonely chlorophyl", async () => { @@ -215,12 +215,12 @@ describe("UI - Starter select", () => { }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.BULBASAUR); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.BULBASAUR); expect(game.scene.getPlayerParty()[0].shiny).toBe(true); expect(game.scene.getPlayerParty()[0].variant).toBe(2); expect(game.scene.getPlayerParty()[0].gender).toBe(Gender.FEMALE); expect(game.scene.getPlayerParty()[0].nature).toBe(Nature.LONELY); - expect(game.scene.getPlayerParty()[0].getAbility().id).toBe(Abilities.CHLOROPHYLL); + expect(game.scene.getPlayerParty()[0].getAbility().id).toBe(AbilityId.CHLOROPHYLL); }, 20000); it("Bulbasaur - shiny - variant 2 female", async () => { @@ -278,7 +278,7 @@ describe("UI - Starter select", () => { }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.BULBASAUR); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.BULBASAUR); expect(game.scene.getPlayerParty()[0].shiny).toBe(true); expect(game.scene.getPlayerParty()[0].variant).toBe(2); expect(game.scene.getPlayerParty()[0].gender).toBe(Gender.FEMALE); @@ -339,7 +339,7 @@ describe("UI - Starter select", () => { }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.BULBASAUR); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.BULBASAUR); expect(game.scene.getPlayerParty()[0].shiny).toBe(false); expect(game.scene.getPlayerParty()[0].variant).toBe(0); }, 20000); @@ -401,7 +401,7 @@ describe("UI - Starter select", () => { }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.BULBASAUR); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.BULBASAUR); expect(game.scene.getPlayerParty()[0].shiny).toBe(true); expect(game.scene.getPlayerParty()[0].variant).toBe(1); }, 20000); @@ -462,7 +462,7 @@ describe("UI - Starter select", () => { }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.BULBASAUR); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.BULBASAUR); expect(game.scene.getPlayerParty()[0].shiny).toBe(true); expect(game.scene.getPlayerParty()[0].variant).toBe(0); }, 20000); @@ -528,7 +528,7 @@ describe("UI - Starter select", () => { saveSlotSelectUiHandler.processInput(Button.ACTION); }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.CATERPIE); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.CATERPIE); }, 20000); it("Check if first pokemon in party is nidoran_m from gen 1 and 2nd row, 4th column (cursor (9+4)-1)", async () => { @@ -594,6 +594,6 @@ describe("UI - Starter select", () => { saveSlotSelectUiHandler.processInput(Button.ACTION); }); await game.phaseInterceptor.whenAboutToRun(EncounterPhase); - expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(Species.NIDORAN_M); + expect(game.scene.getPlayerParty()[0].species.speciesId).toBe(SpeciesId.NIDORAN_M); }, 20000); }); diff --git a/test/ui/transfer-item.test.ts b/test/ui/transfer-item.test.ts index f0ea8f84005..b08c9823dcd 100644 --- a/test/ui/transfer-item.test.ts +++ b/test/ui/transfer-item.test.ts @@ -1,7 +1,7 @@ import { BerryType } from "#app/enums/berry-type"; import { Button } from "#app/enums/buttons"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler"; import { UiMode } from "#enums/ui-mode"; @@ -34,13 +34,13 @@ describe("UI - Transfer Items", () => { { name: "BERRY", count: 2, type: BerryType.APICOT }, { name: "BERRY", count: 2, type: BerryType.LUM }, ]); - game.override.moveset([Moves.DRAGON_CLAW]); - game.override.enemySpecies(Species.MAGIKARP); - game.override.enemyMoveset([Moves.SPLASH]); + game.override.moveset([MoveId.DRAGON_CLAW]); + game.override.enemySpecies(SpeciesId.MAGIKARP); + game.override.enemyMoveset([MoveId.SPLASH]); - await game.classicMode.startBattle([Species.RAYQUAZA, Species.RAYQUAZA, Species.RAYQUAZA]); + await game.classicMode.startBattle([SpeciesId.RAYQUAZA, SpeciesId.RAYQUAZA, SpeciesId.RAYQUAZA]); - game.move.select(Moves.DRAGON_CLAW); + game.move.select(MoveId.DRAGON_CLAW); game.onNextPrompt("SelectModifierPhase", UiMode.MODIFIER_SELECT, () => { expect(game.scene.ui.getHandler()).toBeInstanceOf(ModifierSelectUiHandler); diff --git a/test/ui/type-hints.test.ts b/test/ui/type-hints.test.ts index b32f5ed9b88..6b0bc6e5ea5 100644 --- a/test/ui/type-hints.test.ts +++ b/test/ui/type-hints.test.ts @@ -1,6 +1,6 @@ import { Button } from "#app/enums/buttons"; -import { Moves } from "#app/enums/moves"; -import { Species } from "#app/enums/species"; +import { MoveId } from "#enums/move-id"; +import { SpeciesId } from "#enums/species-id"; import { CommandPhase } from "#app/phases/command-phase"; import FightUiHandler from "#app/ui/fight-ui-handler"; import { UiMode } from "#enums/ui-mode"; @@ -27,7 +27,7 @@ describe("UI - Type Hints", () => { beforeEach(async () => { game = new GameManager(phaserGame); game.settings.typeHints(true); //activate type hints - game.override.battleStyle("single").startingLevel(100).startingWave(1).enemyMoveset(Moves.SPLASH); + game.override.battleStyle("single").startingLevel(100).startingWave(1).enemyMoveset(MoveId.SPLASH); }); it("check immunity color", async () => { @@ -35,12 +35,12 @@ describe("UI - Type Hints", () => { .battleStyle("single") .startingLevel(100) .startingWave(1) - .enemySpecies(Species.FLORGES) - .enemyMoveset(Moves.SPLASH) - .moveset([Moves.DRAGON_CLAW]); + .enemySpecies(SpeciesId.FLORGES) + .enemyMoveset(MoveId.SPLASH) + .moveset([MoveId.DRAGON_CLAW]); game.settings.typeHints(true); //activate type hints - await game.classicMode.startBattle([Species.RAYQUAZA]); + await game.classicMode.startBattle([SpeciesId.RAYQUAZA]); game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { const { ui } = game.scene; @@ -63,9 +63,9 @@ describe("UI - Type Hints", () => { }); it("check status move color", async () => { - game.override.enemySpecies(Species.FLORGES).moveset([Moves.GROWL]); + game.override.enemySpecies(SpeciesId.FLORGES).moveset([MoveId.GROWL]); - await game.classicMode.startBattle([Species.RAYQUAZA]); + await game.classicMode.startBattle([SpeciesId.RAYQUAZA]); game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => { const { ui } = game.scene; @@ -89,18 +89,18 @@ describe("UI - Type Hints", () => { it("should show the proper hint for a move in doubles after one of the enemy pokemon flees", async () => { game.override - .enemySpecies(Species.ABRA) - .moveset([Moves.SPLASH, Moves.SHADOW_BALL, Moves.SOAK]) - .enemyMoveset([Moves.SPLASH, Moves.TELEPORT]) + .enemySpecies(SpeciesId.ABRA) + .moveset([MoveId.SPLASH, MoveId.SHADOW_BALL, MoveId.SOAK]) + .enemyMoveset([MoveId.SPLASH, MoveId.TELEPORT]) .battleStyle("double"); - await game.classicMode.startBattle([Species.MAGIKARP, Species.MAGIKARP]); - game.move.select(Moves.SPLASH); + await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.MAGIKARP]); + game.move.select(MoveId.SPLASH); // Use soak to change type of remaining abra to water - game.move.select(Moves.SOAK, 1); + game.move.select(MoveId.SOAK, 1); - await game.move.selectEnemyMove(Moves.SPLASH); - await game.move.selectEnemyMove(Moves.TELEPORT); + await game.move.selectEnemyMove(MoveId.SPLASH); + await game.move.selectEnemyMove(MoveId.TELEPORT); await game.toNextTurn(); game.onNextPrompt("CommandPhase", UiMode.COMMAND, () => {